| author | Stephen Paul Weber
<singpolyma@singpolyma.net> 2026-01-14 04:17:17 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2026-01-14 04:17:17 UTC |
| parent | f6a7022a2fc68d3c550ecea72f4e40aa570f7f4d |
| .gitmodules | +3 | -0 |
| Package.swift | +30 | -9 |
| Sources/Borogove/Borogove.swift | +3307 | -0 |
| Sources/Snikket/Snikket.swift | +0 | -2379 |
| Sources/c-ares/c-ares | +1 | -0 |
| Sources/c-ares/include/ares.h | +1 | -0 |
| Sources/c-ares/include/ares_build.h | +55 | -0 |
| Sources/c-ares/include/ares_config.h | +446 | -0 |
| Sources/c-ares/include/ares_dns.h | +1 | -0 |
| Sources/c-ares/include/ares_dns_record.h | +1 | -0 |
| Sources/c-ares/include/ares_nameser.h | +1 | -0 |
| Sources/c-ares/include/ares_version.h | +1 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/Array.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/Date.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/Dynamic.h | +0 | -1 |
| Sources/{c_snikket => c_borogove}/iinclude/EReg.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/Enum.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/HaxeCBridge.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/Lambda.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/Reflect.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/Std.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/StringBuf.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/StringTools.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/Sys.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/Type.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/ValueType.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/Xml.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/_HaxeCBridge/Internal.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/_UnicodeString/UnicodeString_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/_Xml/XmlType_Impl_.h | +0 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/AttachmentSource.h | +9 | -9 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Autolink.h | +10 | -10 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/AvailableChat.h | +14 | -14 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Builder.h | +11 | -11 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Caps.h | +25 | -21 |
| Sources/c_borogove/iinclude/borogove/Channel.h | +168 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Chat.h | +112 | -64 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/ChatAttachment.h | +11 | -11 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/ChatMessage.h | +34 | -28 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/ChatMessageBuilder.h | +41 | -27 |
| Sources/c_borogove/iinclude/borogove/Client.h | +314 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Color.h | +16 | -10 |
| Sources/c_borogove/iinclude/borogove/Command.h | +68 | -0 |
| Sources/c_borogove/iinclude/borogove/CommandSession.h | +79 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Config.h | +10 | -10 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/CustomEmojiReaction.h | +19 | -15 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Date.h | +10 | -10 |
| Sources/c_borogove/iinclude/borogove/DirectChat.h | +99 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Emoji.h | +17 | -17 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/EmojiUtil.h | +33 | -33 |
| Sources/c_borogove/iinclude/borogove/EncryptionInfo.h | +84 | -0 |
| Sources/c_borogove/iinclude/borogove/EncryptionPolicy.h | +70 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/EventEmitter.h | +17 | -14 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/EventHandler.h | +12 | -12 |
| Sources/c_borogove/iinclude/borogove/EventResult.h | +39 | -0 |
| Sources/c_borogove/iinclude/borogove/Form.h | +79 | -0 |
| Sources/c_borogove/iinclude/borogove/FormField.h | +100 | -0 |
| Sources/c_borogove/iinclude/borogove/FormItem.h | +74 | -0 |
| Sources/c_borogove/iinclude/borogove/FormLayoutSection.h | +65 | -0 |
| Sources/c_borogove/iinclude/borogove/FormOption.h | +97 | -0 |
| Sources/c_borogove/iinclude/borogove/FormSection.h | +32 | -0 |
| Sources/c_borogove/iinclude/borogove/FormSubmitBuilder.h | +60 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/GenericStream.h | +22 | -22 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Hash.h | +13 | -13 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/ID.h | +10 | -10 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Identicon.h | +10 | -10 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Identity.h | +19 | -15 |
| Sources/c_borogove/iinclude/borogove/IqRequestType.h | +35 | -0 |
| Sources/c_borogove/iinclude/borogove/IqResult.h | +38 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/JID.h | +13 | -13 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/JsonPrinter.h | +9 | -9 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Message.h | +20 | -19 |
| Sources/c_borogove/iinclude/borogove/MessageStanza.h | +47 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/MessageSync.h | +19 | -20 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/ModerationAction.h | +17 | -17 |
| Sources/c_borogove/iinclude/borogove/NS.h | +60 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Node.h | +10 | -11 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Notification.h | +28 | -29 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Other.h | +17 | -17 |
| Sources/c_borogove/iinclude/borogove/Outbox.h | +65 | -0 |
| Sources/c_borogove/iinclude/borogove/OutboxItem.h | +60 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Participant.h | +22 | -32 |
| Sources/c_borogove/iinclude/borogove/Persistence.h | +129 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Presence.h | +18 | -17 |
| Sources/c_borogove/iinclude/borogove/Profile.h | +58 | -0 |
| Sources/c_borogove/iinclude/borogove/ProfileBuilder.h | +73 | -0 |
| Sources/c_borogove/iinclude/borogove/ProfileItem.h | +103 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/PubsubEvent.h | +11 | -12 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Push.h | +13 | -13 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Reaction.h | +14 | -16 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/ReactionUpdate.h | +13 | -14 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/SerializedChat.h | +21 | -20 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Stanza.h | +41 | -41 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/StanzaError.h | +15 | -15 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/StringUtil.h | +10 | -10 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/Symbol.h | +9 | -9 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/TextNodeClass.h | +14 | -14 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/UnicodeBlocks.h | +12 | -12 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/UnicodeList.h | +12 | -12 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/UnicodeRange.h | +12 | -12 |
| Sources/c_borogove/iinclude/borogove/UnicodeSet.h | +27 | -0 |
| Sources/c_borogove/iinclude/borogove/Util.h | +66 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/XEP0393.h | +18 | -16 |
| Sources/c_borogove/iinclude/borogove/_DataForm/DataForm_Impl_.h | +63 | -0 |
| Sources/c_borogove/iinclude/borogove/_DataForm/Field_Impl_.h | +72 | -0 |
| Sources/c_borogove/iinclude/borogove/_Profile/Profile_Fields_.h | +64 | -0 |
| Sources/c_borogove/iinclude/borogove/_Stanza/NodeInterface.h | +34 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/_Util/Util_Fields_.h | +16 | -12 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/Attribute.h | +17 | -17 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/AudioFormat.h | +18 | -18 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/DTMFSender.h | +16 | -16 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/Group.h | +15 | -16 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/IceCandidate.h | +17 | -18 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/IncomingProposedSession.h | +37 | -33 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/InitiatedSession.h | +45 | -41 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/Media.h | +18 | -19 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/MediaStream.h | +14 | -14 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/MediaStreamTrack.h | +14 | -15 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/OutgoingProposedSession.h | +39 | -35 |
| Sources/c_borogove/iinclude/borogove/calls/OutgoingSession.h | +64 | -0 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/PeerConnection.h | +14 | -14 |
| Sources/c_borogove/iinclude/borogove/calls/Session.h | +91 | -0 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/SessionDescription.h | +19 | -20 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/TransportInfo.h | +18 | -19 |
| Sources/{c_snikket/iinclude/snikket/jingle => c_borogove/iinclude/borogove/calls}/_Session/Session_Fields_.h | +16 | -17 |
| Sources/c_borogove/iinclude/borogove/persistence/Dummy.h | +135 | -0 |
| Sources/c_borogove/iinclude/borogove/persistence/KeyValueStore.h | +34 | -0 |
| Sources/c_borogove/iinclude/borogove/persistence/MediaStore.h | +43 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/persistence/MediaStoreFS.h | +17 | -17 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/persistence/Sqlite.h | +49 | -47 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/persistence/SqliteDriver.h | +9 | -11 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/BlocklistGet.h | +17 | -18 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/BoB.h | +19 | -20 |
| Sources/c_borogove/iinclude/borogove/queries/CommandExecute.h | +74 | -0 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/DiscoInfoGet.h | +20 | -21 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/DiscoItemsGet.h | +17 | -18 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/ExtDiscoGet.h | +17 | -18 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/GenericQuery.h | +13 | -14 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/HttpUploadSlot.h | +18 | -19 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/JabberIqGatewayGet.h | +17 | -18 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/MAMQuery.h | +17 | -18 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/PubsubGet.h | +17 | -18 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/Push2Disable.h | +17 | -18 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/Push2Enable.h | +17 | -18 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/RosterGet.h | +17 | -18 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/queries/VcardTempGet.h | +21 | -22 |
| Sources/{c_snikket/iinclude/snikket => c_borogove/iinclude/borogove}/streams/XmppStropheStream.h | +28 | -26 |
| Sources/{c_snikket => c_borogove}/iinclude/cpp/CppInt32__.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/cpp/FastIterator.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/cpp/Int64.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/cpp/Int64Map.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/cpp/Lib.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/cpp/Pointer.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/cpp/Variant.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/cpp/VirtualArray.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/cpp/_NativeString/NativeString_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/datetime/_DateTime/DateTime_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/datetime/_DateTimeInterval/DateTimeInterval_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/datetime/cores/DateTimeIntervalCore.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/datetime/utils/DateTimeIntervalUtils.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/datetime/utils/DateTimeMonthUtils.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/datetime/utils/DateTimeUtils.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/EntryPoint.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/Exception.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/IMap.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/Log.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/MainEvent.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/MainLoop.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/NativeStackTrace.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/StackItem.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/Timer.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/ValueException.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/_CallStack/CallStack_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/crypto/Base64.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/crypto/BaseCode.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/crypto/Sha1.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/crypto/Sha256.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/ds/BalancedTree.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/ds/Either.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/ds/EnumValueMap.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/ds/IntMap.h | +3 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/ds/List.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/ds/ObjectMap.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/ds/Option.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/ds/StringMap.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/ds/TreeNode.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/ds/_List/ListNode.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/exceptions/NotImplementedException.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/exceptions/PosException.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/format/JsonParser.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/format/JsonPrinter.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/http/HttpBase.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/io/Bytes.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/io/BytesBuffer.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/io/BytesInput.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/io/BytesOutput.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/io/Encoding.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/io/Eof.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/io/Error.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/io/Input.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/io/Output.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/io/Path.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/iterators/ArrayIterator.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/iterators/MapKeyValueIterator.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/haxe/xml/Printer.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hsluv/Hsluv.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/htmlparser/HtmlAttribute.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/htmlparser/HtmlNode.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/htmlparser/HtmlNodeElement.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/htmlparser/HtmlNodeText.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/htmlparser/HtmlParser.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/htmlparser/HtmlParserException.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/htmlparser/HtmlTools.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/httpstatus/_HttpStatusMessage/HttpStatusMessage_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Anon.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Boot.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/CFFI.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/CFFIAPI.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/CFFIJsPrime.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/CFFILoader.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/CFFINekoLoader.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/CFFIPrime.h | +64 | -69 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Class.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Debug.h | +0 | -11 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/DynamicImpl.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/DynamicImpl.tpl | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/ErrorCodes.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/FieldRef.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Functions.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/GC.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/GcTypeInference.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/GenMacro.hx | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/HeaderVersion.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/HxcppMain.h | +7 | -16 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/IndexRef.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Interface.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/LessThanEq.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Macros.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Macros.tpl | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/MacrosFixed.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/MacrosJumbo.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/MacrosJumbo.tpl | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Memory.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Native.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/NekoFunc.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/OS.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/ObjcHelpers.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Object.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Operators.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/QuickVec.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Scriptable.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/StackContext.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/StdLibs.h | +1 | -2 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/StdString.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/StringAlloc.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Telemetry.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/TelemetryTracy.h | +3 | -3 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Thread.h | +20 | -21 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Tls.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Undefine.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/Unordered.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/strings/RandomStrings.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/strings/StringBuilder.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/strings/Strings.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hx/strings/internal/_Either2/_Either2.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hxMath.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hxString.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/hxcpp.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/null.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sha/Hash.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sha/SHA256.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sha/_SHA256/SHA256_Fields_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sqlite3.h | +488 | -235 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/FileSystem.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/Http.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/db/Connection.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/db/ResultSet.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/db/Sqlite.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/db/_Sqlite/SqliteConnection.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/db/_Sqlite/SqliteResultSet.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/io/File.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/io/FileInput.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/io/FileOutput.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/io/Process.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/io/_Process/Stdin.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/io/_Process/Stdout.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/net/Host.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/net/Socket.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/net/_Socket/SocketInput.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/net/_Socket/SocketOutput.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/ssl/Certificate.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/ssl/Key.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/ssl/Socket.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/ssl/_Socket/SocketInput.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/ssl/_Socket/SocketOutput.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/Deque.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/ElasticThreadPool.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/EventLoop.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/FixedThreadPool.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/IThreadPool.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/Lock.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/Mutex.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/NoEventLoopException.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/ThreadPoolException.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/_ElasticThreadPool/Worker.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/_EventLoop/RegularEvent.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/_FixedThreadPool/ShutdownException.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/_FixedThreadPool/Worker.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/_Thread/HaxeThread.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/sys/thread/_Thread/Thread_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/thenshim/PromiseFactory.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/thenshim/PromiseTools.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/thenshim/Thenable.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/thenshim/_Promise/Promise_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/thenshim/fallback/FallbackPromise.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/thenshim/fallback/FallbackPromiseFactory.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/thenshim/fallback/HandlerSession.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/thenshim/fallback/PromiseState.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/thenshim/fallback/TaskScheduler.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/_Chunk/Chunk_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/_Chunk/EmptyChunk.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/_Url/Url_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/chunk/ByteChunk.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/chunk/ChunkBase.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/chunk/ChunkCursor.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/chunk/ChunkObject.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/chunk/CompoundChunk.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/CallbackLinkRef.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/CallbackList.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/Disposable.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/FutureStatus.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/LinkObject.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/MPair.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/NamedWith.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/Outcome.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/OwnedDisposable.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/SimpleDisposable.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/TypedError.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/_Callback/Callback_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/_Callback/LinkPair.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/_Callback/ListCell.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/_Future/FutureObject.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/_Future/Future_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/_Future/SuspendableFuture.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/_Future/SyncFuture.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/_Lazy/Computable.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/_Lazy/LazyConst.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/_Lazy/LazyFunc.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/_Lazy/LazyObject.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/_Lazy/Lazy_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/core/_Promise/Promise_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/BodyPart.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/ClientObject.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/ClientType.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/Container.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/Fetch.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/HandlerObject.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/Header.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/HeaderField.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/HeaderParser.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/IncomingRequest.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/IncomingRequestBody.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/IncomingRequestHeader.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/IncomingResponse.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/Message.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/OutgoingRequest.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/OutgoingRequestHeader.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/RequestHeader.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/ResponseHeaderBase.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/_Client/CustomClient.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/_Fetch/FetchResponse_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/_Header/HeaderValue_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/_Response/OutgoingResponseData.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/clients/CurlClient.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/clients/Helpers.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/clients/LocalContainerClient.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/clients/SocketClient.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/clients/StdClient.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/http/containers/LocalContainer.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/BytewiseParser.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/IdealSourceTools.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/ParseResult.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/ParseStep.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/PipeResult.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/PipeResultTools.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/RealSourceTools.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/SinkBase.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/SinkObject.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/StreamParserObject.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/WorkerObject.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/_Sink/SinkYielding_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/_Source/Source_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/_StreamParser/StreamParser_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/_Worker/EagerWorker.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/_Worker/Worker_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/std/InputSource.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/io/std/OutputSink.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/Conclusion.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/Empty.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/FutureStream.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/Generator.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/Handled.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/IdealStreamBase.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/IdealizeStream.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/Reduction.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/ReductionStep.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/RegroupResult.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/RegroupStatus.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/Single.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/Step.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/StreamBase.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/StreamObject.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/_Stream/CompoundStream.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/_Stream/ErrorStream.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/_Stream/Handler_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/_Stream/Reducer_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/_Stream/RegroupStream.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/_Stream/Regrouper_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/streams/_Stream/Stream_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/url/_Host/Host_Impl_.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/iinclude/tink/url/_Path/Path_Impl_.h | +0 | -0 |
| Sources/c_borogove/include/borogove.h | +1555 | -0 |
| Sources/{c_snikket => c_borogove}/src/Array.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/Date.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/Dynamic.cpp | +0 | -4 |
| Sources/{c_snikket => c_borogove}/src/EReg.cpp | +12 | -14 |
| Sources/{c_snikket => c_borogove}/src/Enum.cpp | +0 | -0 |
| Sources/c_borogove/src/HaxeCBridge.cpp | +374 | -0 |
| Sources/{c_snikket => c_borogove}/src/Lambda.cpp | +4 | -8 |
| Sources/{c_snikket => c_borogove}/src/Math.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/Reflect.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/Std.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/String.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/StringBuf.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/StringTools.cpp | +15 | -19 |
| Sources/{c_snikket => c_borogove}/src/Sys.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/Type.cpp | +3 | -4 |
| Sources/{c_snikket => c_borogove}/src/ValueType.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/Xml.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/_HaxeCBridge/Internal.cpp | +9 | -9 |
| Sources/{c_snikket => c_borogove}/src/_UnicodeString/UnicodeString_Impl_.cpp | +5 | -9 |
| Sources/{c_snikket => c_borogove}/src/_Xml/XmlType_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/__HaxeCBridgeBindings__.cpp | +3883 | -1379 |
| Sources/{c_snikket => c_borogove}/src/__boot__.cpp | +493 | -416 |
| Sources/{c_snikket => c_borogove}/src/__files__.cpp | +237 | -209 |
| Sources/{c_snikket => c_borogove}/src/__lib__.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/__resources__.cpp | +0 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/AttachmentSource.cpp | +28 | -31 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/Autolink.cpp | +143 | -123 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/AvailableChat.cpp | +36 | -36 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/Builder.cpp | +63 | -63 |
| Sources/c_borogove/src/borogove/Caps.cpp | +689 | -0 |
| Sources/c_borogove/src/borogove/Channel.cpp | +2237 | -0 |
| Sources/c_borogove/src/borogove/Chat.cpp | +2853 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/ChatAttachment.cpp | +103 | -105 |
| Sources/c_borogove/src/borogove/ChatMessage.cpp | +2016 | -0 |
| Sources/c_borogove/src/borogove/ChatMessageBuilder.cpp | +1404 | -0 |
| Sources/c_borogove/src/borogove/Client.cpp | +5998 | -0 |
| Sources/c_borogove/src/borogove/Color.cpp | +205 | -0 |
| Sources/c_borogove/src/borogove/Command.cpp | +285 | -0 |
| Sources/c_borogove/src/borogove/CommandSession.cpp | +532 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/Config.cpp | +21 | -21 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/CustomEmojiReaction.cpp | +64 | -41 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/Date.cpp | +8 | -8 |
| Sources/c_borogove/src/borogove/DirectChat.cpp | +1008 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/Emoji.cpp | +14 | -14 |
| Sources/c_borogove/src/borogove/EmojiUtil.cpp | +576 | -0 |
| Sources/c_borogove/src/borogove/EncryptionInfo.cpp | +400 | -0 |
| Sources/c_borogove/src/borogove/EncryptionPolicy.cpp | +113 | -0 |
| Sources/c_borogove/src/borogove/EventEmitter.cpp | +261 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/EventHandler.cpp | +19 | -19 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/EventResult.cpp | +9 | -9 |
| Sources/c_borogove/src/borogove/Form.cpp | +583 | -0 |
| Sources/c_borogove/src/borogove/FormField.cpp | +599 | -0 |
| Sources/c_borogove/src/borogove/FormItem.cpp | +319 | -0 |
| Sources/c_borogove/src/borogove/FormLayoutSection.cpp | +373 | -0 |
| Sources/c_borogove/src/borogove/FormOption.cpp | +199 | -0 |
| Sources/c_borogove/src/borogove/FormSection.cpp | +31 | -0 |
| Sources/c_borogove/src/borogove/FormSubmitBuilder.cpp | +292 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/GenericStream.cpp | +73 | -68 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/Hash.cpp | +93 | -93 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/ID.cpp | +15 | -15 |
| Sources/c_borogove/src/borogove/Identicon.cpp | +171 | -0 |
| Sources/c_borogove/src/borogove/Identity.cpp | +261 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/IqRequestType.cpp | +7 | -7 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/IqResult.cpp | +10 | -13 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/JID.cpp | +32 | -32 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/JsonPrinter.cpp | +72 | -84 |
| Sources/c_borogove/src/borogove/Message.cpp | +1229 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/MessageStanza.cpp | +35 | -26 |
| Sources/c_borogove/src/borogove/MessageSync.cpp | +594 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/ModerationAction.cpp | +8 | -8 |
| Sources/c_borogove/src/borogove/NS.cpp | +114 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/Node.cpp | +9 | -12 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/Notification.cpp | +93 | -96 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/Other.cpp | +14 | -14 |
| Sources/c_borogove/src/borogove/Outbox.cpp | +197 | -0 |
| Sources/c_borogove/src/borogove/OutboxItem.cpp | +165 | -0 |
| Sources/c_borogove/src/borogove/Participant.cpp | +377 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/Persistence.cpp | +19 | -19 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/Presence.cpp | +39 | -27 |
| Sources/c_borogove/src/borogove/Profile.cpp | +251 | -0 |
| Sources/c_borogove/src/borogove/ProfileBuilder.cpp | +349 | -0 |
| Sources/c_borogove/src/borogove/ProfileItem.cpp | +864 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/PubsubEvent.cpp | +23 | -26 |
| Sources/c_borogove/src/borogove/Push.cpp | +144 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/Reaction.cpp | +57 | -65 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/ReactionUpdate.cpp | +45 | -51 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/SerializedChat.cpp | +129 | -125 |
| Sources/c_borogove/src/borogove/Stanza.cpp | +993 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/StanzaError.cpp | +11 | -11 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/StringUtil.cpp | +11 | -12 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/Symbol.cpp | +8 | -8 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/TextNodeClass.cpp | +25 | -25 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/UnicodeBlocks.cpp | +17 | -17 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/UnicodeList.cpp | +16 | -16 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/UnicodeRange.cpp | +16 | -16 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/UnicodeSet.cpp | +6 | -6 |
| Sources/c_borogove/src/borogove/Util.cpp | +162 | -0 |
| Sources/c_borogove/src/borogove/XEP0393.cpp | +791 | -0 |
| Sources/c_borogove/src/borogove/_DataForm/DataForm_Impl_.cpp | +119 | -0 |
| Sources/c_borogove/src/borogove/_DataForm/Field_Impl_.cpp | +186 | -0 |
| Sources/c_borogove/src/borogove/_Profile/Profile_Fields_.cpp | +162 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/_Stanza/NodeInterface.cpp | +8 | -8 |
| Sources/c_borogove/src/borogove/_Util/Util_Fields_.cpp | +253 | -0 |
| Sources/{c_snikket/src/snikket/jingle => c_borogove/src/borogove/calls}/Attribute.cpp | +17 | -17 |
| Sources/{c_snikket/src/snikket/jingle => c_borogove/src/borogove/calls}/AudioFormat.cpp | +23 | -23 |
| Sources/c_borogove/src/borogove/calls/DTMFSender.cpp | +365 | -0 |
| Sources/{c_snikket/src/snikket/jingle => c_borogove/src/borogove/calls}/Group.cpp | +28 | -31 |
| Sources/{c_snikket/src/snikket/jingle => c_borogove/src/borogove/calls}/IceCandidate.cpp | +56 | -71 |
| Sources/c_borogove/src/borogove/calls/IncomingProposedSession.cpp | +574 | -0 |
| Sources/c_borogove/src/borogove/calls/InitiatedSession.cpp | +1769 | -0 |
| Sources/{c_snikket/src/snikket/jingle => c_borogove/src/borogove/calls}/Media.cpp | +263 | -292 |
| Sources/{c_snikket/src/snikket/jingle => c_borogove/src/borogove/calls}/MediaStream.cpp | +71 | -71 |
| Sources/{c_snikket/src/snikket/jingle => c_borogove/src/borogove/calls}/MediaStreamTrack.cpp | +423 | -420 |
| Sources/c_borogove/src/borogove/calls/OutgoingProposedSession.cpp | +618 | -0 |
| Sources/c_borogove/src/borogove/calls/OutgoingSession.cpp | +185 | -0 |
| Sources/{c_snikket/src/snikket/jingle => c_borogove/src/borogove/calls}/PeerConnection.cpp | +320 | -302 |
| Sources/{c_snikket/src/snikket/jingle => c_borogove/src/borogove/calls}/Session.cpp | +19 | -21 |
| Sources/{c_snikket/src/snikket/jingle => c_borogove/src/borogove/calls}/SessionDescription.cpp | +115 | -120 |
| Sources/{c_snikket/src/snikket/jingle => c_borogove/src/borogove/calls}/TransportInfo.cpp | +28 | -31 |
| Sources/{c_snikket/src/snikket/jingle => c_borogove/src/borogove/calls}/_Session/Session_Fields_.cpp | +39 | -42 |
| Sources/c_borogove/src/borogove/persistence/.Sqlite.cpp.swp | +0 | -0 |
| Sources/c_borogove/src/borogove/persistence/Dummy.cpp | +509 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/persistence/KeyValueStore.cpp | +9 | -6 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/persistence/MediaStore.cpp | +11 | -8 |
| Sources/c_borogove/src/borogove/persistence/MediaStoreFS.cpp | +415 | -0 |
| Sources/c_borogove/src/borogove/persistence/Sqlite.cpp | +3311 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/persistence/SqliteDriver.cpp | +120 | -165 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/BlocklistGet.cpp | +30 | -33 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/BoB.cpp | +39 | -42 |
| Sources/c_borogove/src/borogove/queries/CommandExecute.cpp | +540 | -0 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/DiscoInfoGet.cpp | +78 | -81 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/DiscoItemsGet.cpp | +33 | -36 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/ExtDiscoGet.cpp | +29 | -32 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/GenericQuery.cpp | +21 | -24 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/HttpUploadSlot.cpp | +40 | -43 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/JabberIqGatewayGet.cpp | +35 | -38 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/MAMQuery.cpp | +37 | -40 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/PubsubGet.cpp | +54 | -60 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/Push2Disable.cpp | +26 | -29 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/Push2Enable.cpp | +37 | -44 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/RosterGet.cpp | +30 | -33 |
| Sources/{c_snikket/src/snikket => c_borogove/src/borogove}/queries/VcardTempGet.cpp | +38 | -41 |
| Sources/c_borogove/src/borogove/streams/XmppStropheStream.cpp | +770 | -0 |
| Sources/{c_snikket => c_borogove}/src/cpp/Int64Map.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/cpp/Lib.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/cpp/_NativeString/NativeString_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/datetime/_DateTime/DateTime_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/datetime/_DateTimeInterval/DateTimeInterval_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/datetime/cores/DateTimeIntervalCore.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/datetime/utils/DateTimeIntervalUtils.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/datetime/utils/DateTimeMonthUtils.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/datetime/utils/DateTimeUtils.cpp | +3 | -4 |
| Sources/{c_snikket => c_borogove}/src/haxe/EntryPoint.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/Exception.cpp | +1 | -2 |
| Sources/{c_snikket => c_borogove}/src/haxe/IMap.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/Log.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/MainEvent.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/MainLoop.cpp | +0 | -1 |
| Sources/{c_snikket => c_borogove}/src/haxe/NativeStackTrace.cpp | +2 | -3 |
| Sources/{c_snikket => c_borogove}/src/haxe/StackItem.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/Timer.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/ValueException.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/_CallStack/CallStack_Impl_.cpp | +26 | -26 |
| Sources/{c_snikket => c_borogove}/src/haxe/crypto/Base64.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/crypto/BaseCode.cpp | +3 | -5 |
| Sources/{c_snikket => c_borogove}/src/haxe/crypto/Sha1.cpp | +28 | -95 |
| Sources/{c_snikket => c_borogove}/src/haxe/crypto/Sha256.cpp | +27 | -51 |
| Sources/{c_snikket => c_borogove}/src/haxe/ds/BalancedTree.cpp | +14 | -23 |
| Sources/{c_snikket => c_borogove}/src/haxe/ds/Either.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/ds/EnumValueMap.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/ds/IntMap.cpp | +14 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/ds/List.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/ds/ObjectMap.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/ds/Option.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/ds/StringMap.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/ds/TreeNode.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/ds/_List/ListNode.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/exceptions/NotImplementedException.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/exceptions/PosException.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/format/JsonParser.cpp | +23 | -29 |
| Sources/c_borogove/src/haxe/format/JsonPrinter.cpp | +949 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/http/HttpBase.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/io/Bytes.cpp | +3 | -6 |
| Sources/{c_snikket => c_borogove}/src/haxe/io/BytesBuffer.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/io/BytesInput.cpp | +2 | -4 |
| Sources/{c_snikket => c_borogove}/src/haxe/io/BytesOutput.cpp | +1 | -3 |
| Sources/{c_snikket => c_borogove}/src/haxe/io/Encoding.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/io/Eof.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/io/Error.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/io/Input.cpp | +5 | -8 |
| Sources/{c_snikket => c_borogove}/src/haxe/io/Output.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/io/Path.cpp | +71 | -84 |
| Sources/{c_snikket => c_borogove}/src/haxe/iterators/ArrayIterator.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/iterators/MapKeyValueIterator.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/haxe/xml/Printer.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hsluv/Hsluv.cpp | +9 | -18 |
| Sources/{c_snikket => c_borogove}/src/htmlparser/HtmlAttribute.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/htmlparser/HtmlNode.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/htmlparser/HtmlNodeElement.cpp | +4 | -4 |
| Sources/{c_snikket => c_borogove}/src/htmlparser/HtmlNodeText.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/htmlparser/HtmlParser.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/htmlparser/HtmlParserException.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/htmlparser/HtmlTools.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/httpstatus/_HttpStatusMessage/HttpStatusMessage_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/Anon.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/Boot.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/CFFI.cpp | +1 | -4 |
| Sources/{c_snikket => c_borogove}/src/hx/Class.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/Date.cpp | +1 | -2 |
| Sources/{c_snikket => c_borogove}/src/hx/Debug.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/Hash.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/Hash.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/Lib.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/Object.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/StdLibs.cpp | +30 | -4 |
| Sources/{c_snikket => c_borogove}/src/hx/Thread.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/Unicase.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/gc/GcCommon.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/gc/GcRegCapture.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/gc/GcRegCapture.h | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/gc/Immix.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/libs/regexp/Build.xml | +3 | -3 |
| Sources/{c_snikket => c_borogove}/src/hx/libs/regexp/RegExp.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/libs/regexp/pcre2_sources.xml | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/libs/sqlite/Build.xml | +2 | -2 |
| Sources/{c_snikket => c_borogove}/src/hx/libs/sqlite/Sqlite.cpp | +20 | -5 |
| Sources/{c_snikket => c_borogove}/src/hx/libs/ssl/SSL.cpp | +0 | -47 |
| Sources/{c_snikket => c_borogove}/src/hx/libs/std/Build.xml | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/libs/std/File.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/libs/std/Process.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/libs/std/Random.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/libs/std/Socket.cpp | +1 | -25 |
| Sources/{c_snikket => c_borogove}/src/hx/libs/std/Sys.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/hx/strings/RandomStrings.cpp | +3 | -7 |
| Sources/{c_snikket => c_borogove}/src/hx/strings/StringBuilder.cpp | +4 | -5 |
| Sources/{c_snikket => c_borogove}/src/hx/strings/Strings.cpp | +1 | -2 |
| Sources/{c_snikket => c_borogove}/src/hx/strings/internal/_Either2/_Either2.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sha/Hash.cpp | +1 | -2 |
| Sources/{c_snikket => c_borogove}/src/sha/SHA256.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sha/_SHA256/SHA256_Fields_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sqlite3.c | +7250 | -2752 |
| Sources/{c_snikket => c_borogove}/src/sys/FileSystem.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/Http.cpp | +33 | -52 |
| Sources/{c_snikket => c_borogove}/src/sys/db/Connection.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/db/ResultSet.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/db/Sqlite.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/db/_Sqlite/SqliteConnection.cpp | +1 | -2 |
| Sources/{c_snikket => c_borogove}/src/sys/db/_Sqlite/SqliteResultSet.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/io/File.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/io/FileInput.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/io/FileOutput.cpp | +2 | -4 |
| Sources/{c_snikket => c_borogove}/src/sys/io/Process.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/io/_Process/Stdin.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/io/_Process/Stdout.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/net/Host.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/net/Socket.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/net/_Socket/SocketInput.cpp | +4 | -6 |
| Sources/{c_snikket => c_borogove}/src/sys/net/_Socket/SocketOutput.cpp | +5 | -7 |
| Sources/{c_snikket => c_borogove}/src/sys/ssl/Certificate.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/ssl/Key.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/ssl/Socket.cpp | +3 | -5 |
| Sources/{c_snikket => c_borogove}/src/sys/ssl/_Socket/SocketInput.cpp | +4 | -6 |
| Sources/{c_snikket => c_borogove}/src/sys/ssl/_Socket/SocketOutput.cpp | +4 | -6 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/Deque.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/ElasticThreadPool.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/EventLoop.cpp | +31 | -46 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/FixedThreadPool.cpp | +1 | -3 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/IThreadPool.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/Lock.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/Mutex.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/NoEventLoopException.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/ThreadPoolException.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/_ElasticThreadPool/Worker.cpp | +16 | -18 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/_EventLoop/RegularEvent.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/_FixedThreadPool/ShutdownException.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/_FixedThreadPool/Worker.cpp | +6 | -5 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/_Thread/HaxeThread.cpp | +11 | -12 |
| Sources/{c_snikket => c_borogove}/src/sys/thread/_Thread/Thread_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/thenshim/PromiseFactory.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/thenshim/PromiseTools.cpp | +2 | -4 |
| Sources/{c_snikket => c_borogove}/src/thenshim/Thenable.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/thenshim/_Promise/Promise_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/thenshim/fallback/FallbackPromise.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/thenshim/fallback/FallbackPromiseFactory.cpp | +3 | -6 |
| Sources/{c_snikket => c_borogove}/src/thenshim/fallback/HandlerSession.cpp | +6 | -13 |
| Sources/{c_snikket => c_borogove}/src/thenshim/fallback/PromiseState.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/thenshim/fallback/TaskScheduler.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/_Chunk/Chunk_Impl_.cpp | +4 | -7 |
| Sources/{c_snikket => c_borogove}/src/tink/_Chunk/EmptyChunk.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/_Url/Url_Impl_.cpp | +104 | -114 |
| Sources/{c_snikket => c_borogove}/src/tink/chunk/ByteChunk.cpp | +1 | -2 |
| Sources/{c_snikket => c_borogove}/src/tink/chunk/ChunkBase.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/chunk/ChunkCursor.cpp | +16 | -24 |
| Sources/{c_snikket => c_borogove}/src/tink/chunk/ChunkObject.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/chunk/CompoundChunk.cpp | +13 | -22 |
| Sources/{c_snikket => c_borogove}/src/tink/core/CallbackLinkRef.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/CallbackList.cpp | +11 | -21 |
| Sources/{c_snikket => c_borogove}/src/tink/core/Disposable.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/FutureStatus.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/LinkObject.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/MPair.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/NamedWith.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/Outcome.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/OwnedDisposable.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/SimpleDisposable.cpp | +10 | -13 |
| Sources/{c_snikket => c_borogove}/src/tink/core/TypedError.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/_Callback/Callback_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/_Callback/LinkPair.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/_Callback/ListCell.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/_Future/FutureObject.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/_Future/Future_Impl_.cpp | +1 | -2 |
| Sources/{c_snikket => c_borogove}/src/tink/core/_Future/SuspendableFuture.cpp | +2 | -7 |
| Sources/{c_snikket => c_borogove}/src/tink/core/_Future/SyncFuture.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/_Lazy/Computable.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/_Lazy/LazyConst.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/_Lazy/LazyFunc.cpp | +30 | -33 |
| Sources/{c_snikket => c_borogove}/src/tink/core/_Lazy/LazyObject.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/_Lazy/Lazy_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/core/_Promise/Promise_Impl_.cpp | +2 | -4 |
| Sources/{c_snikket => c_borogove}/src/tink/http/BodyPart.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/ClientObject.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/ClientType.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/Container.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/Fetch.cpp | +16 | -35 |
| Sources/{c_snikket => c_borogove}/src/tink/http/HandlerObject.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/Header.cpp | +4 | -9 |
| Sources/{c_snikket => c_borogove}/src/tink/http/HeaderField.cpp | +2 | -3 |
| Sources/{c_snikket => c_borogove}/src/tink/http/HeaderParser.cpp | +13 | -18 |
| Sources/{c_snikket => c_borogove}/src/tink/http/IncomingRequest.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/IncomingRequestBody.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/IncomingRequestHeader.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/IncomingResponse.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/Message.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/OutgoingRequest.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/OutgoingRequestHeader.cpp | +7 | -8 |
| Sources/{c_snikket => c_borogove}/src/tink/http/RequestHeader.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/ResponseHeaderBase.cpp | +5 | -5 |
| Sources/{c_snikket => c_borogove}/src/tink/http/_Client/CustomClient.cpp | +5 | -8 |
| Sources/{c_snikket => c_borogove}/src/tink/http/_Fetch/FetchResponse_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/_Header/HeaderValue_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/_Response/OutgoingResponseData.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/clients/CurlClient.cpp | +11 | -17 |
| Sources/{c_snikket => c_borogove}/src/tink/http/clients/Helpers.cpp | +1 | -2 |
| Sources/{c_snikket => c_borogove}/src/tink/http/clients/LocalContainerClient.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/http/clients/SocketClient.cpp | +141 | -167 |
| Sources/{c_snikket => c_borogove}/src/tink/http/clients/StdClient.cpp | +13 | -18 |
| Sources/{c_snikket => c_borogove}/src/tink/http/containers/LocalContainer.cpp | +1 | -2 |
| Sources/{c_snikket => c_borogove}/src/tink/io/BytewiseParser.cpp | +4 | -8 |
| Sources/{c_snikket => c_borogove}/src/tink/io/IdealSourceTools.cpp | +3 | -3 |
| Sources/{c_snikket => c_borogove}/src/tink/io/ParseResult.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/io/ParseStep.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/io/PipeResult.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/io/PipeResultTools.cpp | +4 | -9 |
| Sources/{c_snikket => c_borogove}/src/tink/io/RealSourceTools.cpp | +5 | -12 |
| Sources/{c_snikket => c_borogove}/src/tink/io/SinkBase.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/io/SinkObject.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/io/StreamParserObject.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/io/WorkerObject.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/io/_Sink/SinkYielding_Impl_.cpp | +1 | -2 |
| Sources/{c_snikket => c_borogove}/src/tink/io/_Source/Source_Impl_.cpp | +1 | -2 |
| Sources/{c_snikket => c_borogove}/src/tink/io/_StreamParser/StreamParser_Impl_.cpp | +11 | -23 |
| Sources/{c_snikket => c_borogove}/src/tink/io/_Worker/EagerWorker.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/io/_Worker/Worker_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/io/std/InputSource.cpp | +5 | -9 |
| Sources/{c_snikket => c_borogove}/src/tink/io/std/OutputSink.cpp | +10 | -17 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/Conclusion.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/Empty.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/FutureStream.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/Generator.cpp | +4 | -7 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/Handled.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/IdealStreamBase.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/IdealizeStream.cpp | +4 | -10 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/Reduction.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/ReductionStep.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/RegroupResult.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/RegroupStatus.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/Single.cpp | +1 | -2 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/Step.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/StreamBase.cpp | +6 | -13 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/StreamObject.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/_Stream/CompoundStream.cpp | +8 | -15 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/_Stream/ErrorStream.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/_Stream/Handler_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/_Stream/Reducer_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/_Stream/RegroupStream.cpp | +16 | -30 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/_Stream/Regrouper_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/streams/_Stream/Stream_Impl_.cpp | +0 | -0 |
| Sources/{c_snikket => c_borogove}/src/tink/url/_Host/Host_Impl_.cpp | +7 | -15 |
| Sources/{c_snikket => c_borogove}/src/tink/url/_Path/Path_Impl_.cpp | +2 | -5 |
| Sources/c_snikket/iinclude/_HaxeCBridge/Int64Map_Impl_.h | +0 | -62 |
| Sources/c_snikket/iinclude/haxe/ds/_List/ListIterator.h | +0 | -62 |
| Sources/c_snikket/iinclude/haxe/xml/Parser.h | +0 | -71 |
| Sources/c_snikket/iinclude/haxe/xml/XmlParserException.h | +0 | -60 |
| Sources/c_snikket/iinclude/snikket/Channel.h | +0 | -146 |
| Sources/c_snikket/iinclude/snikket/Client.h | +0 | -305 |
| Sources/c_snikket/iinclude/snikket/DirectChat.h | +0 | -96 |
| Sources/c_snikket/iinclude/snikket/EventResult.h | +0 | -39 |
| Sources/c_snikket/iinclude/snikket/IqRequestType.h | +0 | -35 |
| Sources/c_snikket/iinclude/snikket/IqResult.h | +0 | -39 |
| Sources/c_snikket/iinclude/snikket/MessageStanza.h | +0 | -46 |
| Sources/c_snikket/iinclude/snikket/Persistence.h | +0 | -129 |
| Sources/c_snikket/iinclude/snikket/TextNode.h | +0 | -67 |
| Sources/c_snikket/iinclude/snikket/UnicodeSet.h | +0 | -27 |
| Sources/c_snikket/iinclude/snikket/_Push/Push_Fields_.h | +0 | -64 |
| Sources/c_snikket/iinclude/snikket/_Stanza/NodeInterface.h | +0 | -34 |
| Sources/c_snikket/iinclude/snikket/jingle/OutgoingSession.h | +0 | -63 |
| Sources/c_snikket/iinclude/snikket/jingle/Session.h | +0 | -88 |
| Sources/c_snikket/iinclude/snikket/persistence/Dummy.h | +0 | -138 |
| Sources/c_snikket/iinclude/snikket/persistence/KeyValueStore.h | +0 | -33 |
| Sources/c_snikket/iinclude/snikket/persistence/MediaStore.h | +0 | -42 |
| Sources/c_snikket/iinclude/sys/thread/NextEventTime.h | +0 | -41 |
| Sources/c_snikket/include/snikket.h | +0 | -1113 |
| Sources/c_snikket/src/HaxeCBridge.cpp | +0 | -389 |
| Sources/c_snikket/src/_HaxeCBridge/Int64Map_Impl_.cpp | +0 | -91 |
| Sources/c_snikket/src/haxe/ds/_List/ListIterator.cpp | +0 | -155 |
| Sources/c_snikket/src/haxe/format/JsonPrinter.cpp | +0 | -822 |
| Sources/c_snikket/src/haxe/xml/XmlParserException.cpp | +0 | -205 |
| Sources/c_snikket/src/snikket/Caps.cpp | +0 | -449 |
| Sources/c_snikket/src/snikket/Channel.cpp | +0 | -1797 |
| Sources/c_snikket/src/snikket/Chat.cpp | +0 | -2226 |
| Sources/c_snikket/src/snikket/ChatMessage.cpp | +0 | -1938 |
| Sources/c_snikket/src/snikket/ChatMessageBuilder.cpp | +0 | -1346 |
| Sources/c_snikket/src/snikket/Client.cpp | +0 | -5481 |
| Sources/c_snikket/src/snikket/Color.cpp | +0 | -135 |
| Sources/c_snikket/src/snikket/DirectChat.cpp | +0 | -919 |
| Sources/c_snikket/src/snikket/EmojiUtil.cpp | +0 | -578 |
| Sources/c_snikket/src/snikket/EventEmitter.cpp | +0 | -230 |
| Sources/c_snikket/src/snikket/Identicon.cpp | +0 | -233 |
| Sources/c_snikket/src/snikket/Identity.cpp | +0 | -177 |
| Sources/c_snikket/src/snikket/Message.cpp | +0 | -1151 |
| Sources/c_snikket/src/snikket/MessageSync.cpp | +0 | -514 |
| Sources/c_snikket/src/snikket/Participant.cpp | +0 | -215 |
| Sources/c_snikket/src/snikket/Push.cpp | +0 | -151 |
| Sources/c_snikket/src/snikket/Stanza.cpp | +0 | -1150 |
| Sources/c_snikket/src/snikket/TextNode.cpp | +0 | -190 |
| Sources/c_snikket/src/snikket/XEP0393.cpp | +0 | -751 |
| Sources/c_snikket/src/snikket/_Push/Push_Fields_.cpp | +0 | -145 |
| Sources/c_snikket/src/snikket/_Util/Util_Fields_.cpp | +0 | -118 |
| Sources/c_snikket/src/snikket/jingle/DTMFSender.cpp | +0 | -365 |
| Sources/c_snikket/src/snikket/jingle/IncomingProposedSession.cpp | +0 | -540 |
| Sources/c_snikket/src/snikket/jingle/InitiatedSession.cpp | +0 | -1650 |
| Sources/c_snikket/src/snikket/jingle/OutgoingProposedSession.cpp | +0 | -588 |
| Sources/c_snikket/src/snikket/jingle/OutgoingSession.cpp | +0 | -164 |
| Sources/c_snikket/src/snikket/persistence/Dummy.cpp | +0 | -512 |
| Sources/c_snikket/src/snikket/persistence/MediaStoreFS.cpp | +0 | -430 |
| Sources/c_snikket/src/snikket/persistence/Sqlite.cpp | +0 | -3314 |
| Sources/c_snikket/src/snikket/streams/XmppStropheStream.cpp | +0 | -752 |
| Sources/c_snikket/src/sys/thread/NextEventTime.cpp | +0 | -102 |
| Sources/strophe/libstrophe | +1 | -1 |
diff --git a/.gitmodules b/.gitmodules
index 83a4b7b..04851ff 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -13,3 +13,6 @@
[submodule "Sources/libdatachannel/libdatachannel"]
path = Sources/libdatachannel/libdatachannel
url = https://github.com/paullouisageneau/libdatachannel
+[submodule "Sources/c-ares/c-ares"]
+ path = Sources/c-ares/c-ares
+ url = https://github.com/c-ares/c-ares
diff --git a/Package.swift b/Package.swift
index 478dbe9..884feb6 100644
--- a/Package.swift
+++ b/Package.swift
@@ -4,7 +4,7 @@
import PackageDescription
let package = Package(
- name: "Snikket",
+ name: "Borogove",
platforms: [
.iOS(.v13),
.macOS(.v10_15),
@@ -12,8 +12,8 @@ let package = Package(
],
products: [
.library(
- name: "Snikket",
- targets: ["Snikket"]),
+ name: "Borogove",
+ targets: ["Borogove"]),
],
dependencies: [
.package(url: "https://github.com/apple/swift-docc-plugin", branch: "main"),
@@ -21,11 +21,29 @@ let package = Package(
.package(url: "https://github.com/alta/swift-opus", branch: "main"),
],
targets: [
- // Targets are the basic building blocks of a package, defining a module or a test suite.
- // Targets can depend on other targets in this package and products from dependencies.
+ .target(
+ name: "c-ares",
+ dependencies: [],
+ exclude: [
+ "c-ares/src/lib/cares.rc",
+ "c-ares/src/lib/CMakeLists.txt",
+ "c-ares/src/lib/ares_config.h.cmake",
+ "c-ares/src/lib/Makefile.am",
+ "c-ares/src/lib/Makefile.inc",
+ "c-ares/src/lib/windows_port.c",
+ "c-ares/src/lib/include/README.md",
+ "c-ares/src/lib/thirdparty/apple/README.md"
+ ],
+ sources: ["c-ares/src/lib"],
+ cSettings: [
+ .headerSearchPath("c-ares/src/lib"),
+ .headerSearchPath("c-ares/src/lib/include"),
+ .define("HAVE_CONFIG_H", to: "1"),
+ ]
+ ),
.target(
name: "strophe",
- dependencies: [.product(name: "OpenSSL", package: "OpenSSL-Package")],
+ dependencies: [.product(name: "OpenSSL", package: "OpenSSL-Package"), "c-ares"],
exclude: [
"libstrophe/src/compression_dummy.c",
"libstrophe/src/parser_expat.c",
@@ -34,6 +52,10 @@ let package = Package(
"libstrophe/src/tls_dummy.c"
],
sources: ["libstrophe/src"],
+ cSettings: [
+ .define("HAVE_CARES"),
+ .define("CONNECT_TIMEOUT=15000"),
+ ],
linkerSettings: [
.linkedLibrary("resolv")
]
@@ -175,7 +197,7 @@ let package = Package(
]
),
.target(
- name: "c_snikket",
+ name: "c_borogove",
dependencies: ["strophe", "libdatachannel", "libpcre2-8", "libpcre2-16", .product(name: "Copus", package: "swift-opus")],
cSettings: [
CSetting.headerSearchPath("iinclude"),
@@ -183,7 +205,6 @@ let package = Package(
CSetting.define("HXCPP_M64"),
CSetting.define("HXCPP_VISIT_ALLOCS"),
CSetting.define("HXCPP_API_LEVEL=430"),
- CSetting.define("HXCPP_ALIGN_ALLOC=1"),
CSetting.define("SQLITE_NOHAVE_SYSTEM", .when(platforms: [.iOS, .tvOS, .watchOS])),
CSetting.define("IPHONE", .when(platforms: [.iOS])),
CSetting.define("APPLETV", .when(platforms: [.tvOS])),
@@ -191,7 +212,7 @@ let package = Package(
CSetting.define("HX_MACOS", .when(platforms: [.macOS])),
]
),
- .target(name: "Snikket", dependencies: ["c_snikket"]),
+ .target(name: "Borogove", dependencies: ["c_borogove"]),
],
cLanguageStandard: CLanguageStandard.c17,
cxxLanguageStandard: CXXLanguageStandard.cxx17
diff --git a/Sources/Borogove/Borogove.swift b/Sources/Borogove/Borogove.swift
new file mode 100644
index 0000000..3af94cf
--- /dev/null
+++ b/Sources/Borogove/Borogove.swift
@@ -0,0 +1,3307 @@
+import c_borogove
+
+public func setup(_ handler: @convention(c) @escaping (UnsafePointer<CChar>?)->Void) {
+ c_borogove.borogove_setup(handler)
+}
+
+public func stop(_ wait: Bool) {
+ c_borogove.borogove_stop(wait)
+}
+
+public protocol SDKObject {
+ var o: UnsafeMutableRawPointer {get}
+}
+
+internal func useString(_ mptr: UnsafePointer<CChar>?) -> String? {
+ if let ptr = mptr {
+ let r = String(cString: ptr)
+ c_borogove.borogove_release(ptr)
+ return r
+ } else {
+ return nil
+ }
+}
+
+internal func useString(_ mptr: UnsafeMutableRawPointer?) -> String? {
+ return useString(UnsafePointer(mptr?.assumingMemoryBound(to: CChar.self)))
+}
+
+// From https://github.com/swiftlang/swift/blob/dfc3933a05264c0c19f7cd43ea0dca351f53ed48/stdlib/private/SwiftPrivate/SwiftPrivate.swift
+public func scan<
+ S : Sequence, U
+>(_ seq: S, _ initial: U, _ combine: (U, S.Iterator.Element) -> U) -> [U] {
+ var result: [U] = []
+ result.reserveCapacity(seq.underestimatedCount)
+ var runningResult = initial
+ for element in seq {
+ runningResult = combine(runningResult, element)
+ result.append(runningResult)
+ }
+ return result
+}
+
+// From https://github.com/swiftlang/swift/blob/dfc3933a05264c0c19f7cd43ea0dca351f53ed48/stdlib/private/SwiftPrivate/SwiftPrivate.swift
+internal func withArrayOfCStrings<R>(
+ _ args: [String], _ body: ([UnsafePointer<CChar>?]) -> R
+) -> R {
+ let argsCounts = Array(args.map { $0.utf8.count + 1 })
+ let argsOffsets = [ 0 ] + scan(argsCounts, 0, +)
+ let argsBufferSize = argsOffsets.last!
+
+ var argsBuffer: [UInt8] = []
+ argsBuffer.reserveCapacity(argsBufferSize)
+ for arg in args {
+ argsBuffer.append(contentsOf: arg.utf8)
+ argsBuffer.append(0)
+ }
+
+ return argsBuffer.withUnsafeMutableBufferPointer {
+ (argsBuffer) in
+ let ptr = UnsafeRawPointer(argsBuffer.baseAddress!).bindMemory(
+ to: CChar.self, capacity: argsBuffer.count)
+ var cStrings: [UnsafePointer<CChar>?] = argsOffsets.dropLast().map { ptr + $0 }
+ return body(cStrings)
+ }
+}
+
+internal func withOptionalArrayOfCStrings<R>(
+ _ args: [String]?, _ body: ([UnsafePointer<CChar>?]?) -> R
+) -> R {
+ if let args = args {
+ return withArrayOfCStrings(args, body)
+ } else {
+ return body(nil)
+ }
+}
+
+public protocol MediaStore: SDKObject {
+}
+
+public class AnyMediaStore: MediaStore {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+
+}
+
+public class MediaStoreFS: SDKObject, MediaStore, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ Store media on the filesystem
+
+ @param path where on filesystem to store media
+ */
+ public init(path: String) {
+ o = (c_borogove.borogove_persistence_media_store_fs_new(path))
+ }
+
+ /**
+ Get absolute path on filesystem to a particular piece of media
+
+ @param uri The URI to the media (ni:// or similar)
+ @returns Promise resolving to the path or null
+ */
+ public func getMediaPath(uri: String) async -> String? {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ return c_borogove.borogove_persistence_media_store_fs_get_media_path(
+ self.o,
+ uri,
+ { (a, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<String?, Never>
+ cont.resume(returning: useString(a))
+ },
+ __cont_ptr
+ )
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public protocol KeyValueStore: SDKObject {
+}
+
+public class AnyKeyValueStore: KeyValueStore {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+
+}
+
+public protocol Persistence: SDKObject {
+}
+
+public class AnyPersistence: Persistence {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+
+}
+
+public class Hash: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ Create a new Hash from a hex string
+
+ @param algorithm name per https://xmpp.org/extensions/xep-0300.html
+ @param hash in hex format
+ @returns Hash or null on error
+ */
+ public static func fromHex(algorithm: String, hash: String) -> Hash? {
+ (c_borogove.borogove_hash_from_hex(
+ algorithm,
+ hash
+ )).map({ Hash($0) })
+ }
+
+ /**
+ Create a new Hash from a ni:, cid: or similar URI
+
+ @param uri The URI
+ @returns Hash or null on error
+ */
+ public static func fromUri(uri: String) -> Hash? {
+ (c_borogove.borogove_hash_from_uri(
+ uri
+ )).map({ Hash($0) })
+ }
+
+ /**
+ Hash algorithm name
+ */
+ public var algorithm: String {
+ get {
+ useString(c_borogove.borogove_hash_algorithm(o))!
+ }
+ }
+
+ /**
+ Represent this Hash as a URI
+
+ @returns URI as a string
+ */
+ public func toUri() -> String {
+ return useString(c_borogove.borogove_hash_to_uri(
+ self.o
+ ))!
+ }
+
+ /**
+ Represent this Hash as a hex string
+
+ @returns hex string
+ */
+ public func toHex() -> String {
+ return useString(c_borogove.borogove_hash_to_hex(
+ self.o
+ ))!
+ }
+
+ /**
+ Represent this Hash as a Base64 string
+
+ @returns Base64-encoded string
+ */
+ public func toBase64() -> String {
+ return useString(c_borogove.borogove_hash_to_base_64(
+ self.o
+ ))!
+ }
+
+ /**
+ Represent this Hash as a Base64url string
+
+ @returns Base64url-encoded string
+ */
+ public func toBase64Url() -> String {
+ return useString(c_borogove.borogove_hash_to_base_64_url(
+ self.o
+ ))!
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class ChatAttachment: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ Create a new attachment for adding to a ChatMessage
+
+ @param name Optional filename
+ @param mime MIME type
+ @param size Size in bytes
+ @param uri URI to attachment
+ */
+ public static func create(name: String?, mime: String, size: Int32, uri: String) -> ChatAttachment {
+ ChatAttachment(c_borogove.borogove_chat_attachment_create(
+ name,
+ mime,
+ size,
+ uri
+ )!)
+ }
+
+ /**
+ Filename
+ */
+ public var name: String? {
+ get {
+ useString(c_borogove.borogove_chat_attachment_name(o))
+ }
+ }
+
+ /**
+ MIME Type
+ */
+ public var mime: String {
+ get {
+ useString(c_borogove.borogove_chat_attachment_mime(o))!
+ }
+ }
+
+ /**
+ Size in bytes
+ */
+ public var size: Int32? {
+ get {
+ c_borogove.borogove_chat_attachment_size(o)
+ }
+ }
+
+ /**
+ URIs to data
+ */
+ public var uris: Array<String> {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafePointer<CChar>?>? = nil;let __ret_length = c_borogove.borogove_chat_attachment_uris(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: __ret, count: __ret_length).map({useString($0)!});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ }
+
+ /**
+ Hashes of data
+ */
+ public var hashes: Array<Hash> {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_chat_attachment_hashes(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({Hash($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class Reaction: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ Create a new Unicode reaction to send
+
+ @param unicode emoji of the reaction
+ @returns Reaction
+ */
+ public static func unicode(unicode: String) -> Reaction {
+ Reaction(c_borogove.borogove_reaction_unicode(
+ unicode
+ )!)
+ }
+
+ /**
+ ID of who sent this Reaction
+ */
+ public var senderId: String {
+ get {
+ useString(c_borogove.borogove_reaction_sender_id(o))!
+ }
+ }
+
+ /**
+ Date and time when this Reaction was sent,
+ in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
+ */
+ public var timestamp: String {
+ get {
+ useString(c_borogove.borogove_reaction_timestamp(o))!
+ }
+ }
+
+ /**
+ Key for grouping reactions
+ */
+ public var key: String {
+ get {
+ useString(c_borogove.borogove_reaction_key(o))!
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class EncryptionInfo: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public var status: EncryptionStatus {
+ get {
+ c_borogove.borogove_encryption_info_status(o)
+ }
+ }
+
+ public var method: String {
+ get {
+ useString(c_borogove.borogove_encryption_info_method(o))!
+ }
+ }
+
+ public var methodName: String? {
+ get {
+ useString(c_borogove.borogove_encryption_info_method_name(o))
+ }
+ }
+
+ public var reason: String? {
+ get {
+ useString(c_borogove.borogove_encryption_info_reason(o))
+ }
+ }
+
+ public var reasonText: String? {
+ get {
+ useString(c_borogove.borogove_encryption_info_reason_text(o))
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class ChatMessage: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ The ID as set by the creator of this message
+ */
+ public var localId: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_local_id(o))
+ }
+ }
+
+ /**
+ The ID as set by the authoritative server
+ */
+ public var serverId: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_server_id(o))
+ }
+ }
+
+ /**
+ The ID of the server which set the serverId
+ */
+ public var serverIdBy: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_server_id_by(o))
+ }
+ }
+
+ /**
+ The type of this message (Chat, Call, etc)
+ */
+ public var type: MessageType {
+ get {
+ c_borogove.borogove_chat_message_type(o)
+ }
+ }
+
+ /**
+ The timestamp of this message, in format YYYY-MM-DDThh:mm:ss[.sss]Z
+ */
+ public var timestamp: String {
+ get {
+ useString(c_borogove.borogove_chat_message_timestamp(o))!
+ }
+ }
+
+ /**
+ The ID of the sender of this message
+ */
+ public var senderId: String {
+ get {
+ useString(c_borogove.borogove_chat_message_sender_id(o))!
+ }
+ }
+
+ /**
+ Message this one is in reply to, or NULL
+ */
+ public var replyToMessage: ChatMessage? {
+ get {
+ (c_borogove.borogove_chat_message_reply_to_message(o)).map({ ChatMessage($0) })
+ }
+ }
+
+ /**
+ ID of the thread this message is in, or NULL
+ */
+ public var threadId: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_thread_id(o))
+ }
+ }
+
+ /**
+ Array of attachments to this message
+ */
+ public var attachments: Array<ChatAttachment> {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_chat_message_attachments(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({ChatAttachment($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ }
+
+ /**
+ List of reactions to this message
+ */
+ public var reactionKeys: Array<String> {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafePointer<CChar>?>? = nil;let __ret_length = c_borogove.borogove_chat_message_reaction_keys(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: __ret, count: __ret_length).map({useString($0)!});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ }
+
+ /**
+ Details of a set of reaction to this message
+ */
+ public func reactionDetails(reactionKey: String) -> Array<Reaction> {
+ return {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_chat_message_reaction_details(
+ self.o,
+ reactionKey
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({Reaction($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ /**
+ Body text of this message or NULL
+ */
+ public var text: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_text(o))
+ }
+ }
+
+ /**
+ Language code for the body text
+ */
+ public var lang: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_lang(o))
+ }
+ }
+
+ /**
+ Direction of this message
+ */
+ public var direction: MessageDirection {
+ get {
+ c_borogove.borogove_chat_message_direction(o)
+ }
+ }
+
+ /**
+ Status of this message
+ */
+ public var status: MessageStatus {
+ get {
+ c_borogove.borogove_chat_message_status(o)
+ }
+ }
+
+ /**
+ Message to go along with the message status
+ */
+ public var statusText: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_status_text(o))
+ }
+ }
+
+ /**
+ Array of past versions of this message, if it has been edited
+ */
+ public var versions: Array<ChatMessage> {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_chat_message_versions(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({ChatMessage($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ }
+
+ /**
+ Information about the encryption used by the sender of
+ this message.
+ */
+ public var encryption: EncryptionInfo? {
+ get {
+ (c_borogove.borogove_chat_message_encryption(o)).map({ EncryptionInfo($0) })
+ }
+ }
+
+ /**
+ Create a new ChatMessage in reply to this one
+ */
+ public func reply() -> ChatMessageBuilder {
+ return ChatMessageBuilder(c_borogove.borogove_chat_message_reply(
+ self.o
+ )!)
+ }
+
+ /**
+ Get HTML version of the message body
+
+ WARNING: this is possibly untrusted HTML. You must parse or sanitize appropriately!
+
+ @param sender optionally specify the full details of the sender
+ */
+ public func html(sender: Participant? = nil) -> String {
+ return useString(c_borogove.borogove_chat_message_html(
+ self.o,
+ sender?.o
+ ))!
+ }
+
+ /**
+ The ID of the Chat this message is associated with
+ */
+ public func chatId() -> String {
+ return useString(c_borogove.borogove_chat_message_chat_id(
+ self.o
+ ))!
+ }
+
+ /**
+ The ID of the account associated with this message
+ */
+ public func account() -> String {
+ return useString(c_borogove.borogove_chat_message_account(
+ self.o
+ ))!
+ }
+
+ /**
+ Is this an incoming message?
+ */
+ public func isIncoming() -> Bool {
+ return c_borogove.borogove_chat_message_is_incoming(
+ self.o
+ )
+ }
+
+ /**
+ The URI of an icon for the thread associated with this message, or NULL
+ */
+ public func threadIcon() -> String?? {
+ return useString(c_borogove.borogove_chat_message_thread_icon(
+ self.o
+ ))
+ }
+
+ /**
+ The last status of the call if this message is related to a call
+ */
+ public func callStatus() -> String? {
+ return useString(c_borogove.borogove_chat_message_call_status(
+ self.o
+ ))
+ }
+
+ /**
+ The session id of the call if this message is related to a call
+ */
+ public func callSid() -> String? {
+ return useString(c_borogove.borogove_chat_message_call_sid(
+ self.o
+ ))
+ }
+
+ /**
+ The duration of the call if this message is related to a call
+ */
+ public func callDuration() -> String? {
+ return useString(c_borogove.borogove_chat_message_call_duration(
+ self.o
+ ))
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class Sqlite: SDKObject, KeyValueStore, Persistence, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ Create a basic persistence layer based on sqlite
+
+ @param dbfile path to sqlite database
+ @params media a MediaStore to use for media
+ @returns new persistence layer
+ */
+ public init(dbfile: String, media: MediaStore) {
+ o = (c_borogove.borogove_persistence_sqlite_new(dbfile, media.o))
+ }
+
+ /**
+ Get a single message
+
+ @param accountId the account the message was sent or received on
+ @param chatId the chat the message was sent or received on
+ @param serverId the serverId of the message (optional if localId is specified)
+ @param localId the localId of the message (optional if serverId is specified)
+ @returns Promise resolving to the message or null
+ */
+ public func getMessage(accountId: String, chatId: String, serverId: String?, localId: String?) async -> ChatMessage? {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ return c_borogove.borogove_persistence_sqlite_get_message(
+ self.o,
+ accountId,
+ chatId,
+ serverId,
+ localId,
+ { (a, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<ChatMessage?, Never>
+ cont.resume(returning: (a).map({ ChatMessage($0) }))
+ },
+ __cont_ptr
+ )
+ }
+ }
+
+ /**
+ Remove an account from storage
+
+ @param accountId the account to remove
+ @param completely if message history, etc should be removed also
+ */
+ public func removeAccount(accountId: String, completely: Bool) -> Void {
+ return c_borogove.borogove_persistence_sqlite_remove_account(
+ self.o,
+ accountId,
+ completely
+ )
+ }
+
+ /**
+ List all known accounts
+
+ @returns Promise resolving to array of account IDs
+ */
+ public func listAccounts() async -> Array<String> {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ return c_borogove.borogove_persistence_sqlite_list_accounts(
+ self.o,
+ { (a, a_length, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<Array<String>, Never>
+ cont.resume(returning: {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: a, count: a_length).map({useString($0)!});c_borogove.borogove_release(a);return __r;}())
+ },
+ __cont_ptr
+ )
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class ChatMessageBuilder: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ @returns a new blank ChatMessageBuilder
+ */
+ public init() {
+ o = (c_borogove.borogove_chat_message_builder_new())
+ }
+
+ /**
+ The ID as set by the creator of this message
+ */
+ public var localId: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_builder_local_id(o))
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_local_id(o, newValue)
+ }
+ }
+
+ /**
+ The ID as set by the authoritative server
+ */
+ public var serverId: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_builder_server_id(o))
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_server_id(o, newValue)
+ }
+ }
+
+ /**
+ The ID of the server which set the serverId
+ */
+ public var serverIdBy: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_builder_server_id_by(o))
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_server_id_by(o, newValue)
+ }
+ }
+
+ /**
+ The type of this message (Chat, Call, etc)
+ */
+ public var type: MessageType {
+ get {
+ c_borogove.borogove_chat_message_builder_type(o)
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_type(o, newValue)
+ }
+ }
+
+ /**
+ The timestamp of this message, in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
+ */
+ public var timestamp: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_builder_timestamp(o))
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_timestamp(o, newValue)
+ }
+ }
+
+ /**
+ The ID of the message sender
+ */
+ public var senderId: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_builder_sender_id(o))
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_sender_id(o, newValue)
+ }
+ }
+
+ /**
+ Message this one is in reply to, or NULL
+ */
+ public var replyToMessage: ChatMessage? {
+ get {
+ (c_borogove.borogove_chat_message_builder_reply_to_message(o)).map({ ChatMessage($0) })
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_reply_to_message(o, newValue?.o)
+ }
+ }
+
+ /**
+ ID of the thread this message is in, or NULL
+ */
+ public var threadId: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_builder_thread_id(o))
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_thread_id(o, newValue)
+ }
+ }
+
+ /**
+ Array of attachments to this message
+ */
+ public var attachments: Array<ChatAttachment> {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_chat_message_builder_attachments(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({ChatAttachment($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ }
+
+ /**
+ Body text of this message or NULL
+ */
+ public var text: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_builder_text(o))
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_text(o, newValue)
+ }
+ }
+
+ /**
+ Language code for the body text
+ */
+ public var lang: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_builder_lang(o))
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_lang(o, newValue)
+ }
+ }
+
+ /**
+ Direction of this message
+ */
+ public var direction: MessageDirection {
+ get {
+ c_borogove.borogove_chat_message_builder_direction(o)
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_direction(o, newValue)
+ }
+ }
+
+ /**
+ Status of this message
+ */
+ public var status: MessageStatus {
+ get {
+ c_borogove.borogove_chat_message_builder_status(o)
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_status(o, newValue)
+ }
+ }
+
+ /**
+ Human readable text to go with the status
+ */
+ public var statusText: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_builder_status_text(o))
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_status_text(o, newValue)
+ }
+ }
+
+ /**
+ Array of past versions of this message, if it has been edited
+ */
+ public var versions: Array<ChatMessage> {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_chat_message_builder_versions(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({ChatMessage($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_versions(o, newValue.map { $0.o }, newValue.count)
+ }
+ }
+
+ /**
+ Information about the encryption used by the sender of
+ this message.
+ */
+ public var encryption: EncryptionInfo? {
+ get {
+ (c_borogove.borogove_chat_message_builder_encryption(o)).map({ EncryptionInfo($0) })
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_encryption(o, newValue?.o)
+ }
+ }
+
+ /**
+ Add an attachment to this message
+
+ @param attachment The ChatAttachment to add
+ */
+ public func addAttachment(attachment: ChatAttachment) -> Void {
+ return c_borogove.borogove_chat_message_builder_add_attachment(
+ self.o,
+ attachment.o
+ )
+ }
+
+ /**
+ Set rich text using an HTML string
+ Also sets the plain text body appropriately
+ */
+ public func setHtml(html: String) -> Void {
+ return c_borogove.borogove_chat_message_builder_set_html(
+ self.o,
+ html
+ )
+ }
+
+ /**
+ The ID of the Chat this message is associated with
+ */
+ public func chatId() -> String {
+ return useString(c_borogove.borogove_chat_message_builder_chat_id(
+ self.o
+ ))!
+ }
+
+ /**
+ The ID of the sender of this message
+ */
+ public func get_senderId() -> String {
+ return useString(c_borogove.borogove_chat_message_builder_get_sender_id(
+ self.o
+ ))!
+ }
+
+ /**
+ Build this builder into an immutable ChatMessage
+
+ @returns the ChatMessage
+ */
+ public func build() -> ChatMessage {
+ return ChatMessage(c_borogove.borogove_chat_message_builder_build(
+ self.o
+ )!)
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class ProfileItem: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public var id: String {
+ get {
+ useString(c_borogove.borogove_profile_item_id(o))!
+ }
+ }
+
+ public var key: String {
+ get {
+ useString(c_borogove.borogove_profile_item_key(o))!
+ }
+ }
+
+ public func parameters() -> Array<ProfileItem> {
+ return {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_profile_item_parameters(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({ProfileItem($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ public func text() -> Array<String> {
+ return {var __ret: UnsafeMutablePointer<UnsafePointer<CChar>?>? = nil;let __ret_length = c_borogove.borogove_profile_item_text(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: __ret, count: __ret_length).map({useString($0)!});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ public func uri() -> Array<String> {
+ return {var __ret: UnsafeMutablePointer<UnsafePointer<CChar>?>? = nil;let __ret_length = c_borogove.borogove_profile_item_uri(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: __ret, count: __ret_length).map({useString($0)!});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ public func date() -> Array<String> {
+ return {var __ret: UnsafeMutablePointer<UnsafePointer<CChar>?>? = nil;let __ret_length = c_borogove.borogove_profile_item_date(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: __ret, count: __ret_length).map({useString($0)!});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ public func time() -> Array<String> {
+ return {var __ret: UnsafeMutablePointer<UnsafePointer<CChar>?>? = nil;let __ret_length = c_borogove.borogove_profile_item_time(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: __ret, count: __ret_length).map({useString($0)!});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ public func datetime() -> Array<String> {
+ return {var __ret: UnsafeMutablePointer<UnsafePointer<CChar>?>? = nil;let __ret_length = c_borogove.borogove_profile_item_datetime(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: __ret, count: __ret_length).map({useString($0)!});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ public func languageTag() -> Array<String> {
+ return {var __ret: UnsafeMutablePointer<UnsafePointer<CChar>?>? = nil;let __ret_length = c_borogove.borogove_profile_item_language_tag(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: __ret, count: __ret_length).map({useString($0)!});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class Profile: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ All items in the profile
+ */
+ public var items: Array<ProfileItem> {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_profile_items(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({ProfileItem($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class Participant: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public var displayName: String {
+ get {
+ useString(c_borogove.borogove_participant_display_name(o))!
+ }
+ }
+
+ public var photoUri: String? {
+ get {
+ useString(c_borogove.borogove_participant_photo_uri(o))
+ }
+ }
+
+ public var placeholderUri: String {
+ get {
+ useString(c_borogove.borogove_participant_placeholder_uri(o))!
+ }
+ }
+
+ public var isSelf: Bool {
+ get {
+ c_borogove.borogove_participant_is_self(o)
+ }
+ }
+
+ public func profile(client: Client) async -> Profile {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ return c_borogove.borogove_participant_profile(
+ self.o,
+ client.o,
+ { (a, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<Profile, Never>
+ cont.resume(returning: Profile(a!))
+ },
+ __cont_ptr
+ )
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class Dummy: SDKObject, Persistence, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ Create a basic persistence layer that persists nothing
+
+ @returns new persistence layer
+ */
+ public init() {
+ o = (c_borogove.borogove_persistence_dummy_new())
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class Push: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ Receive a new push notification from some external system
+
+ @param data the raw data from the push
+ @param persistence the persistence layer to write into
+ @returns a Notification representing the push data
+ */
+ public static func receive(data: String, persistence: Persistence) -> Notification? {
+ (c_borogove.borogove_push_receive(
+ data,
+ persistence.o
+ )).map({ Notification($0) })
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class Notification: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ The title
+ */
+ public var title: String {
+ get {
+ useString(c_borogove.borogove_notification_title(o))!
+ }
+ }
+
+ /**
+ The body text
+ */
+ public var body: String {
+ get {
+ useString(c_borogove.borogove_notification_body(o))!
+ }
+ }
+
+ /**
+ The ID of the associated account
+ */
+ public var accountId: String {
+ get {
+ useString(c_borogove.borogove_notification_account_id(o))!
+ }
+ }
+
+ /**
+ The ID of the associated chat
+ */
+ public var chatId: String {
+ get {
+ useString(c_borogove.borogove_notification_chat_id(o))!
+ }
+ }
+
+ /**
+ The ID of the message sender
+ */
+ public var senderId: String {
+ get {
+ useString(c_borogove.borogove_notification_sender_id(o))!
+ }
+ }
+
+ /**
+ The serverId of the message
+ */
+ public var messageId: String {
+ get {
+ useString(c_borogove.borogove_notification_message_id(o))!
+ }
+ }
+
+ /**
+ The type of the message
+ */
+ public var type: MessageType {
+ get {
+ c_borogove.borogove_notification_type(o)
+ }
+ }
+
+ /**
+ If this is a call notification, the call status
+ */
+ public var callStatus: String? {
+ get {
+ useString(c_borogove.borogove_notification_call_status(o))
+ }
+ }
+
+ /**
+ If this is a call notification, the call session ID
+ */
+ public var callSid: String? {
+ get {
+ useString(c_borogove.borogove_notification_call_sid(o))
+ }
+ }
+
+ /**
+ Optional image URI
+ */
+ public var imageUri: String? {
+ get {
+ useString(c_borogove.borogove_notification_image_uri(o))
+ }
+ }
+
+ /**
+ Optional language code
+ */
+ public var lang: String? {
+ get {
+ useString(c_borogove.borogove_notification_lang(o))
+ }
+ }
+
+ /**
+ Optional date and time of the event
+ */
+ public var timestamp: String? {
+ get {
+ useString(c_borogove.borogove_notification_timestamp(o))
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class EventEmitter: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ Remove an event listener of any type, no matter how it was added
+ or what event it is for.
+
+ @param token the token that was returned when the listener was added
+ */
+ public func removeEventListener(token: Int32) -> Void {
+ return c_borogove.borogove_event_emitter_remove_event_listener(
+ self.o,
+ token
+ )
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class AudioFormat: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public init(format: String, payloadType: UInt8, clockRate: Int32, channels: Int32) {
+ o = (c_borogove.borogove_calls_audio_format_new(format, payloadType, clockRate, channels))
+ }
+
+ public var clockRate: Int32 {
+ get {
+ c_borogove.borogove_calls_audio_format_clock_rate(o)
+ }
+ }
+
+ public var channels: Int32 {
+ get {
+ c_borogove.borogove_calls_audio_format_channels(o)
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class MediaStreamTrack: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public var id: String {
+ get {
+ useString(c_borogove.borogove_calls_media_stream_track_id(o))!
+ }
+ }
+
+ public var muted: Bool {
+ get {
+ c_borogove.borogove_calls_media_stream_track_muted(o)
+ }
+ }
+
+ public var kind: String {
+ get {
+ useString(c_borogove.borogove_calls_media_stream_track_kind(o))!
+ }
+ }
+
+ public var supportedAudioFormats: Array<AudioFormat> {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_calls_media_stream_track_supported_audio_formats(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({AudioFormat($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ }
+
+ /**
+ Event fired for new inbound audio frame
+
+ @param callback takes three arguments, the Signed 16-bit PCM data, the clock rate, and the number of channels
+ */
+ public func addPCMListener(callback: @Sendable @escaping (Array<Int16>, Int32, Int32)->Void) -> Void {
+ let __callback_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(callback as AnyObject).toOpaque())
+ return c_borogove.borogove_calls_media_stream_track_add_pcm_listener(
+ self.o,
+ { (a0, a0_length, a1, a2, ctx) in
+ let callback = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable (Array<Int16>, Int32, Int32)->Void
+ return callback({let __r = UnsafeMutableBufferPointer<Int16>(start: a0, count: a0_length).map({$0});c_borogove.borogove_release(a0);return __r;}(), a1, a2)
+ },
+ __callback_ptr
+ )
+ }
+
+ /**
+ Event fired when ready for next outbound audio frame
+
+ @param callback
+ */
+ public func addReadyForPCMListener(callback: @Sendable @escaping ()->Void) -> Void {
+ let __callback_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(callback as AnyObject).toOpaque())
+ return c_borogove.borogove_calls_media_stream_track_add_ready_for_pcm_listener(
+ self.o,
+ { (ctx) in
+ let callback = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable ()->Void
+ return callback()
+ },
+ __callback_ptr
+ )
+ }
+
+ /**
+ Send new audio to this track
+
+ @param pcm 16-bit signed linear PCM data (interleaved)
+ @param clockRate the sampling rate of the data
+ @param channels the number of audio channels
+ */
+ public func writePCM(pcm: Array<Int16>, clockRate: Int32, channels: Int32) -> Void {
+ return c_borogove.borogove_calls_media_stream_track_write_pcm(
+ self.o,
+ pcm, pcm.count,
+ clockRate,
+ channels
+ )
+ }
+
+ public func stop() -> Void {
+ return c_borogove.borogove_calls_media_stream_track_stop(
+ self.o
+ )
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class FormOption: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public var label: String {
+ get {
+ useString(c_borogove.borogove_form_option_label(o))!
+ }
+ }
+
+ public var value: String {
+ get {
+ useString(c_borogove.borogove_form_option_value(o))!
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public protocol FormSection: SDKObject {
+}
+
+public class AnyFormSection: FormSection {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+
+}
+
+public class FormField: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public var name: String {
+ get {
+ useString(c_borogove.borogove_form_field_name(o))!
+ }
+ }
+
+ public var label: String? {
+ get {
+ useString(c_borogove.borogove_form_field_label(o))
+ }
+ }
+
+ public var desc: String? {
+ get {
+ useString(c_borogove.borogove_form_field_desc(o))
+ }
+ }
+
+ public var value: Array<String> {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafePointer<CChar>?>? = nil;let __ret_length = c_borogove.borogove_form_field_value(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: __ret, count: __ret_length).map({useString($0)!});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ }
+
+ public var required: Bool {
+ get {
+ c_borogove.borogove_form_field_required(o)
+ }
+ }
+
+ public var type: String {
+ get {
+ useString(c_borogove.borogove_form_field_type(o))!
+ }
+ }
+
+ public var datatype: String {
+ get {
+ useString(c_borogove.borogove_form_field_datatype(o))!
+ }
+ }
+
+ public var options: Array<FormOption> {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_form_field_options(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({FormOption($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ }
+
+ public var open: Bool {
+ get {
+ c_borogove.borogove_form_field_open(o)
+ }
+ }
+
+ public var rangeMin: String? {
+ get {
+ useString(c_borogove.borogove_form_field_range_min(o))
+ }
+ }
+
+ public var rangeMax: String? {
+ get {
+ useString(c_borogove.borogove_form_field_range_max(o))
+ }
+ }
+
+ public var regex: String? {
+ get {
+ useString(c_borogove.borogove_form_field_regex(o))
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class FormItem: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public var text: String? {
+ get {
+ useString(c_borogove.borogove_form_item_text(o))
+ }
+ }
+
+ public var field: FormField? {
+ get {
+ (c_borogove.borogove_form_item_field(o)).map({ FormField($0) })
+ }
+ }
+
+ public var section: FormSection? {
+ get {
+ (c_borogove.borogove_form_item_section(o)).map({ AnyFormSection($0) })
+ }
+ }
+
+ public var status: String? {
+ get {
+ useString(c_borogove.borogove_form_item_status(o))
+ }
+ }
+
+ public var tableHeader: Array<FormField>? {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_form_item_table_header(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({FormField($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class Form: SDKObject, FormSection, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ Is this form entirely results / read-only?
+ */
+ public func isResult() -> Bool {
+ return c_borogove.borogove_form_is_result(
+ self.o
+ )
+ }
+
+ /**
+ Title of this form
+ */
+ public func title() -> String? {
+ return useString(c_borogove.borogove_form_title(
+ self.o
+ ))
+ }
+
+ /**
+ URL to use instead of this form
+ */
+ public func url() -> String? {
+ return useString(c_borogove.borogove_form_url(
+ self.o
+ ))
+ }
+
+ /**
+ Items to render inside this form
+ */
+ public func items() -> Array<FormItem> {
+ return {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_form_items(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({FormItem($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class CommandSession: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public var name: String {
+ get {
+ useString(c_borogove.borogove_command_session_name(o))!
+ }
+ }
+
+ public var status: String {
+ get {
+ useString(c_borogove.borogove_command_session_status(o))!
+ }
+ }
+
+ public var actions: Array<FormOption> {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_command_session_actions(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({FormOption($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ }
+
+ public var forms: Array<Form> {
+ get {
+ {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_command_session_forms(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({Form($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+ }
+
+ public func execute(action: String? = nil, data: FormSubmitBuilder? = nil, formIdx: Int32 = 0) async -> CommandSession {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ return c_borogove.borogove_command_session_execute(
+ self.o,
+ action,
+ data?.o,
+ formIdx,
+ { (a, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<CommandSession, Never>
+ cont.resume(returning: CommandSession(a!))
+ },
+ __cont_ptr
+ )
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class Command: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public var name: String {
+ get {
+ useString(c_borogove.borogove_command_name(o))!
+ }
+ }
+
+ /**
+ Start a new session for this command. May have side effects!
+ */
+ public func execute() async -> CommandSession {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ return c_borogove.borogove_command_execute(
+ self.o,
+ { (a, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<CommandSession, Never>
+ cont.resume(returning: CommandSession(a!))
+ },
+ __cont_ptr
+ )
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class Chat: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ ID of this Chat
+ */
+ public var chatId: String {
+ get {
+ useString(c_borogove.borogove_chat_chat_id(o))!
+ }
+ }
+
+ /**
+ Current state of this chat
+ */
+ public var uiState: UiState {
+ get {
+ c_borogove.borogove_chat_ui_state(o)
+ }
+ }
+
+ /**
+ Is this chat blocked?
+ */
+ public var isBlocked: Bool {
+ get {
+ c_borogove.borogove_chat_is_blocked(o)
+ }
+ }
+
+ /**
+ The most recent message in this chat
+ */
+ public var lastMessage: ChatMessage? {
+ get {
+ (c_borogove.borogove_chat_last_message(o)).map({ ChatMessage($0) })
+ }
+ }
+
+ /**
+ Has this chat ever been bookmarked?
+ */
+ public var isBookmarked: Bool {
+ get {
+ c_borogove.borogove_chat_is_bookmarked(o)
+ }
+ }
+
+ /**
+ Fetch a page of messages before some point
+
+ @param beforeId id of the message to look before
+ @param beforeTime timestamp of the message to look before,
+ String in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
+ @returns Promise resolving to an array of ChatMessage that are found
+ */
+ public func getMessagesBefore(beforeId: String?, beforeTime: String?) async -> Array<ChatMessage> {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ return c_borogove.borogove_chat_get_messages_before(
+ self.o,
+ beforeId,
+ beforeTime,
+ { (a, a_length, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<Array<ChatMessage>, Never>
+ cont.resume(returning: {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a, count: a_length).map({ChatMessage($0!)});c_borogove.borogove_release(a);return __r;}())
+ },
+ __cont_ptr
+ )
+ }
+ }
+
+ /**
+ Fetch a page of messages after some point
+
+ @param afterId id of the message to look after
+ @param afterTime timestamp of the message to look after,
+ String in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
+ @returns Promise resolving to an array of ChatMessage that are found
+ */
+ public func getMessagesAfter(afterId: String?, afterTime: String?) async -> Array<ChatMessage> {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ return c_borogove.borogove_chat_get_messages_after(
+ self.o,
+ afterId,
+ afterTime,
+ { (a, a_length, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<Array<ChatMessage>, Never>
+ cont.resume(returning: {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a, count: a_length).map({ChatMessage($0!)});c_borogove.borogove_release(a);return __r;}())
+ },
+ __cont_ptr
+ )
+ }
+ }
+
+ /**
+ Fetch a page of messages around (before, including, and after) some point
+
+ @param aroundId id of the message to look around
+ @param aroundTime timestamp of the message to look around,
+ String in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
+ @returns Promise resolving to an array of ChatMessage that are found
+ */
+ public func getMessagesAround(aroundId: String?, aroundTime: String?) async -> Array<ChatMessage> {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ return c_borogove.borogove_chat_get_messages_around(
+ self.o,
+ aroundId,
+ aroundTime,
+ { (a, a_length, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<Array<ChatMessage>, Never>
+ cont.resume(returning: {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a, count: a_length).map({ChatMessage($0!)});c_borogove.borogove_release(a);return __r;}())
+ },
+ __cont_ptr
+ )
+ }
+ }
+
+ /**
+ Send a message to this Chat
+
+ @param message the ChatMessageBuilder to send
+ */
+ public func sendMessage(message: ChatMessageBuilder) -> Void {
+ return c_borogove.borogove_chat_send_message(
+ self.o,
+ message.o
+ )
+ }
+
+ /**
+ Signals that all messages up to and including this one have probably
+ been displayed to the user
+
+ @param message the ChatMessage most recently displayed
+ */
+ public func markReadUpTo(message: ChatMessage) -> Void {
+ return c_borogove.borogove_chat_mark_read_up_to(
+ self.o,
+ message.o
+ )
+ }
+
+ /**
+ Save this Chat on the server
+ */
+ public func bookmark() -> Void {
+ return c_borogove.borogove_chat_bookmark(
+ self.o
+ )
+ }
+
+ /**
+ Get the list of IDs of participants in this Chat
+
+ @returns array of IDs
+ */
+ public func getParticipants() -> Array<String> {
+ return {var __ret: UnsafeMutablePointer<UnsafePointer<CChar>?>? = nil;let __ret_length = c_borogove.borogove_chat_get_participants(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: __ret, count: __ret_length).map({useString($0)!});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ /**
+ Get the details for one participant in this Chat
+
+ @param participantId the ID of the participant to look up
+ */
+ public func getParticipantDetails(participantId: String) -> Participant {
+ return Participant(c_borogove.borogove_chat_get_participant_details(
+ self.o,
+ participantId
+ )!)
+ }
+
+ /**
+ Correct an already-send message by replacing it with a new one
+
+ @param localId the localId of the message to correct
+ must be the localId of the first version ever sent, not a subsequent correction
+ @param message the new ChatMessage to replace it with
+ */
+ public func correctMessage(localId: String, message: ChatMessageBuilder) -> Void {
+ return c_borogove.borogove_chat_correct_message(
+ self.o,
+ localId,
+ message.o
+ )
+ }
+
+ /**
+ Add new reaction to a message in this Chat
+
+ @param m ChatMessage to react to
+ @param reaction emoji of the reaction
+ */
+ public func addReaction(m: ChatMessage, reaction: Reaction) -> Void {
+ return c_borogove.borogove_chat_add_reaction(
+ self.o,
+ m.o,
+ reaction.o
+ )
+ }
+
+ /**
+ Remove an already-sent reaction from a message
+
+ @param m ChatMessage to remove the reaction from
+ @param reaction the emoji to remove
+ */
+ public func removeReaction(m: ChatMessage, reaction: Reaction) -> Void {
+ return c_borogove.borogove_chat_remove_reaction(
+ self.o,
+ m.o,
+ reaction.o
+ )
+ }
+
+ /**
+ Call this whenever the user is typing, can call on every keystroke
+
+ @param threadId optional, what thread the user has selected if any
+ @param content optional, what the user has typed so far
+ */
+ public func typing(threadId: String?, content: String?) -> Void {
+ return c_borogove.borogove_chat_typing(
+ self.o,
+ threadId,
+ content
+ )
+ }
+
+ /**
+ Call this whenever the user makes a chat or thread "active" in your UX
+ If you call this with true you MUST later call it will false
+
+ @param active true if the chat is "active", false otherwise
+ @param threadId optional, what thread the user has selected if any
+ */
+ public func setActive(active: Bool, threadId: String?) -> Void {
+ return c_borogove.borogove_chat_set_active(
+ self.o,
+ active,
+ threadId
+ )
+ }
+
+ /**
+ Archive this chat
+ */
+ public func close() -> Void {
+ return c_borogove.borogove_chat_close(
+ self.o
+ )
+ }
+
+ /**
+ Pin or unpin this chat
+ */
+ public func togglePinned() -> Void {
+ return c_borogove.borogove_chat_toggle_pinned(
+ self.o
+ )
+ }
+
+ /**
+ Block this chat so it will not re-open
+ */
+ public func block(reportSpam: Bool = false, spamMessage: ChatMessage? = nil, onServer: Bool = true) -> Void {
+ return c_borogove.borogove_chat_block(
+ self.o,
+ reportSpam,
+ spamMessage?.o,
+ onServer
+ )
+ }
+
+ /**
+ Unblock this chat so it will open again
+ */
+ public func unblock(onServer: Bool = true) -> Void {
+ return c_borogove.borogove_chat_unblock(
+ self.o,
+ onServer
+ )
+ }
+
+ /**
+ Update notification preferences
+ */
+ public func setNotifications(filtered: Bool, mention: Bool, reply: Bool) -> Void {
+ return c_borogove.borogove_chat_set_notifications(
+ self.o,
+ filtered,
+ mention,
+ reply
+ )
+ }
+
+ /**
+ Should notifications be filtered?
+ */
+ public func notificationsFiltered() -> Bool {
+ return c_borogove.borogove_chat_notifications_filtered(
+ self.o
+ )
+ }
+
+ /**
+ Should a mention produce a notification?
+ */
+ public func notifyMention() -> Bool {
+ return c_borogove.borogove_chat_notify_mention(
+ self.o
+ )
+ }
+
+ /**
+ Should a reply produce a notification?
+ */
+ public func notifyReply() -> Bool {
+ return c_borogove.borogove_chat_notify_reply(
+ self.o
+ )
+ }
+
+ /**
+ An ID of the most recent message in this chat
+ */
+ public func lastMessageId() -> String? {
+ return useString(c_borogove.borogove_chat_last_message_id(
+ self.o
+ ))
+ }
+
+ /**
+ Get the URI image to represent this Chat, or null
+ */
+ public func getPhoto() -> String? {
+ return useString(c_borogove.borogove_chat_get_photo(
+ self.o
+ ))
+ }
+
+ /**
+ Get the URI to a placeholder image to represent this Chat
+ */
+ public func getPlaceholder() -> String {
+ return useString(c_borogove.borogove_chat_get_placeholder(
+ self.o
+ ))!
+ }
+
+ /**
+ An ID of the last message displayed to the user
+ */
+ public func readUpTo() -> String? {
+ return useString(c_borogove.borogove_chat_read_up_to(
+ self.o
+ ))
+ }
+
+ /**
+ The number of message that have not yet been displayed to the user
+ */
+ public func unreadCount() -> Int32 {
+ return c_borogove.borogove_chat_unread_count(
+ self.o
+ )
+ }
+
+ /**
+ A preview of the chat, such as the most recent message body
+ */
+ public func preview() -> String {
+ return useString(c_borogove.borogove_chat_preview(
+ self.o
+ ))!
+ }
+
+ /**
+ Set the display name to use for this chat
+
+ @param displayName String to use as display name
+ */
+ public func setDisplayName(displayName: String) -> Void {
+ return c_borogove.borogove_chat_set_display_name(
+ self.o,
+ displayName
+ )
+ }
+
+ /**
+ The display name of this Chat
+ */
+ public func getDisplayName() -> String {
+ return useString(c_borogove.borogove_chat_get_display_name(
+ self.o
+ ))!
+ }
+
+ /**
+ Set if this chat is to be trusted with our presence, etc
+
+ @param trusted Bool if trusted or not
+ */
+ public func setTrusted(trusted: Bool) -> Void {
+ return c_borogove.borogove_chat_set_trusted(
+ self.o,
+ trusted
+ )
+ }
+
+ /**
+ Is this a chat with an entity we trust to see our online status?
+ */
+ public func isTrusted() -> Bool {
+ return c_borogove.borogove_chat_is_trusted(
+ self.o
+ )
+ }
+
+ /**
+ @returns if this chat is currently syncing with the server
+ */
+ public func syncing() -> Bool {
+ return c_borogove.borogove_chat_syncing(
+ self.o
+ )
+ }
+
+ /**
+ Can audio calls be started in this Chat?
+ */
+ public func canAudioCall() -> Bool {
+ return c_borogove.borogove_chat_can_audio_call(
+ self.o
+ )
+ }
+
+ /**
+ Can video calls be started in this Chat?
+ */
+ public func canVideoCall() -> Bool {
+ return c_borogove.borogove_chat_can_video_call(
+ self.o
+ )
+ }
+
+ /**
+ Start a new call in this Chat
+
+ @param audio do we want audio in this call
+ @param video do we want video in this call
+ */
+ public func startCall(audio: Bool, video: Bool) -> Session {
+ return AnySession(c_borogove.borogove_chat_start_call(
+ self.o,
+ audio,
+ video
+ )!)
+ }
+
+ /**
+ Accept any incoming calls in this Chat
+ */
+ public func acceptCall() -> Void {
+ return c_borogove.borogove_chat_accept_call(
+ self.o
+ )
+ }
+
+ /**
+ Hangup or reject any calls in this chat
+ */
+ public func hangup() -> Void {
+ return c_borogove.borogove_chat_hangup(
+ self.o
+ )
+ }
+
+ /**
+ The current status of a call in this chat
+ */
+ public func callStatus() -> CallStatus {
+ return c_borogove.borogove_chat_call_status(
+ self.o
+ )
+ }
+
+ /**
+ A DTMFSender for a call in this chat, or NULL
+ */
+ public func dtmf() -> DTMFSender? {
+ return (c_borogove.borogove_chat_dtmf(
+ self.o
+ )).map({ DTMFSender($0) })
+ }
+
+ /**
+ All video tracks in all active calls in this chat
+ */
+ public func videoTracks() -> Array<MediaStreamTrack> {
+ return {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_chat_video_tracks(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({MediaStreamTrack($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ /**
+ Get encryption mode for this chat
+ */
+ public func encryptionMode() -> String {
+ return useString(c_borogove.borogove_chat_encryption_mode(
+ self.o
+ ))!
+ }
+
+ /**
+ Can the user send messages to this chat?
+ */
+ public func canSend() -> Bool {
+ return c_borogove.borogove_chat_can_send(
+ self.o
+ )
+ }
+
+ /**
+ Invite another chat's participants to participate in this one
+ */
+ public func invite(other: Chat, threadId: String? = nil) -> Void {
+ return c_borogove.borogove_chat_invite(
+ self.o,
+ other.o,
+ threadId
+ )
+ }
+
+ /**
+ Can the user invite others to this chat?
+ */
+ public func canInvite() -> Bool {
+ return c_borogove.borogove_chat_can_invite(
+ self.o
+ )
+ }
+
+ /**
+ This chat's primary mode of interaction is via commands
+ */
+ public func isApp() -> Bool {
+ return c_borogove.borogove_chat_is_app(
+ self.o
+ )
+ }
+
+ /**
+ Does this chat provide a menu of commands?
+ */
+ public func hasCommands() -> Bool {
+ return c_borogove.borogove_chat_has_commands(
+ self.o
+ )
+ }
+
+ public func commands() async -> Array<Command> {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ return c_borogove.borogove_chat_commands(
+ self.o,
+ { (a, a_length, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<Array<Command>, Never>
+ cont.resume(returning: {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a, count: a_length).map({Command($0!)});c_borogove.borogove_release(a);return __r;}())
+ },
+ __cont_ptr
+ )
+ }
+ }
+
+ /**
+ The Participant that originally invited us to this Chat, if we were invited
+ */
+ public func invitedBy() -> Participant? {
+ return (c_borogove.borogove_chat_invited_by(
+ self.o
+ )).map({ Participant($0) })
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class AvailableChat: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ The ID of the Chat this search result represents
+ */
+ public var chatId: String {
+ get {
+ useString(c_borogove.borogove_available_chat_chat_id(o))!
+ }
+ }
+
+ /**
+ The display name of this search result
+ */
+ public var displayName: String? {
+ get {
+ useString(c_borogove.borogove_available_chat_display_name(o))
+ }
+ }
+
+ /**
+ A human-readable note associated with this search result
+ */
+ public var note: String {
+ get {
+ useString(c_borogove.borogove_available_chat_note(o))!
+ }
+ }
+
+ /**
+ Is this search result a channel?
+ */
+ public func isChannel() -> Bool {
+ return c_borogove.borogove_available_chat_is_channel(
+ self.o
+ )
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public protocol Session: SDKObject {
+}
+
+public class AnySession: Session {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+
+}
+
+public class MediaStream: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public init() {
+ o = (c_borogove.borogove_calls_media_stream_new())
+ }
+
+ /**
+ Create default bidirectional audio track
+ */
+ public static func makeAudio() -> MediaStream {
+ MediaStream(c_borogove.borogove_calls_media_stream_make_audio(
+ )!)
+ }
+
+ public func addTrack(track: MediaStreamTrack) -> Void {
+ return c_borogove.borogove_calls_media_stream_add_track(
+ self.o,
+ track.o
+ )
+ }
+
+ public func getTracks() -> Array<MediaStreamTrack> {
+ return {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_calls_media_stream_get_tracks(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({MediaStreamTrack($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class InitiatedSession: SDKObject, Session, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public var sid: String {
+ get {
+ useString(c_borogove.borogove_calls_initiated_session_sid(o))!
+ }
+ }
+
+ public var chatId: String {
+ get {
+ useString(c_borogove.borogove_calls_initiated_session_chat_id(o))!
+ }
+ }
+
+ public func accept() -> Void {
+ return c_borogove.borogove_calls_initiated_session_accept(
+ self.o
+ )
+ }
+
+ public func hangup() -> Void {
+ return c_borogove.borogove_calls_initiated_session_hangup(
+ self.o
+ )
+ }
+
+ public func addMedia(streams: Array<MediaStream>) -> Void {
+ return c_borogove.borogove_calls_initiated_session_add_media(
+ self.o,
+ streams.map { $0.o }, streams.count
+ )
+ }
+
+ public func callStatus() -> CallStatus {
+ return c_borogove.borogove_calls_initiated_session_call_status(
+ self.o
+ )
+ }
+
+ public func audioTracks() -> Array<MediaStreamTrack> {
+ return {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_calls_initiated_session_audio_tracks(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({MediaStreamTrack($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ public func videoTracks() -> Array<MediaStreamTrack> {
+ return {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_calls_initiated_session_video_tracks(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({MediaStreamTrack($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ public func dtmf() -> DTMFSender? {
+ return (c_borogove.borogove_calls_initiated_session_dtmf(
+ self.o
+ )).map({ DTMFSender($0) })
+ }
+
+ public func supplyMedia(streams: Array<MediaStream>) -> Void {
+ return c_borogove.borogove_calls_initiated_session_supply_media(
+ self.o,
+ streams.map { $0.o }, streams.count
+ )
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class Client: EventEmitter, @unchecked Sendable {
+ internal override init(_ ptr: UnsafeMutableRawPointer) {
+ super.init(ptr)
+ }
+
+ /**
+ Create a new Client to connect to a particular account
+
+ @param accountId the account to connect to
+ @param persistence the persistence layer to use for storage
+ */
+ public init(accountId: String, persistence: Persistence) {
+ super.init(c_borogove.borogove_client_new(accountId, persistence.o))
+ }
+
+ /**
+ Start this client running and trying to connect to the server
+ */
+ public func start() -> Void {
+ return c_borogove.borogove_client_start(
+ self.o
+ )
+ }
+
+ /**
+ Gets the client ready to use but does not connect to the server
+
+ @returns Promise resolving to true once the Client is ready
+ */
+ public func startOffline() async -> Bool {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ return c_borogove.borogove_client_start_offline(
+ self.o,
+ { (a, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<Bool, Never>
+ cont.resume(returning: a)
+ },
+ __cont_ptr
+ )
+ }
+ }
+
+ /**
+ Destroy local data for this account
+
+ @param completely if true chats, messages, etc will be deleted as well
+ */
+ public func logout(completely: Bool) -> Void {
+ return c_borogove.borogove_client_logout(
+ self.o,
+ completely
+ )
+ }
+
+ /**
+ Sets the password to be used in response to the password needed event
+
+ @param password
+ */
+ public func usePassword(password: String) -> Void {
+ return c_borogove.borogove_client_use_password(
+ self.o,
+ password
+ )
+ }
+
+ /**
+ Get the account ID for this Client
+
+ @returns account id
+ */
+ public func accountId() -> String {
+ return useString(c_borogove.borogove_client_account_id(
+ self.o
+ ))!
+ }
+
+ /**
+ Get the current display name for this account
+
+ @returns display name
+ */
+ public func displayName() -> String {
+ return useString(c_borogove.borogove_client_display_name(
+ self.o
+ ))!
+ }
+
+ /**
+ Set the current profile for this account on the server
+
+ @param profile to set
+ @param publicAccess set the access for the profile to public
+ */
+ public func setProfile(profile: ProfileBuilder, publicAccess: Bool) -> Void {
+ return c_borogove.borogove_client_set_profile(
+ self.o,
+ profile.o,
+ publicAccess
+ )
+ }
+
+ /**
+ 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
+ */
+ public func prepareAttachment(source: AttachmentSource) async -> ChatAttachment? {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ return c_borogove.borogove_client_prepare_attachment(
+ self.o,
+ source.o,
+ { (a, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<ChatAttachment?, Never>
+ cont.resume(returning: (a).map({ let x = ChatAttachment($0); print(x.name); return x }))
+ },
+ __cont_ptr
+ )
+ }
+ }
+
+ /**
+ @returns array of open chats, sorted by last activity
+ */
+ public func getChats() -> Array<Chat> {
+ return {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_client_get_chats(
+ self.o
+ , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({Chat($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
+ /**
+ Search for chats the user can start or join
+
+ @param q the search query to use
+ @param callback takes two arguments, the query that was used and the array of results, and returns true if we should stop searching
+ */
+ public func findAvailableChats(q: String, callback: @Sendable @escaping (String, Array<AvailableChat>)->Bool) -> Void {
+ let __callback_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(callback as AnyObject).toOpaque())
+ return c_borogove.borogove_client_find_available_chats(
+ self.o,
+ q,
+ { (a0, a1, a1_length, ctx) in
+ let callback = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable (String, Array<AvailableChat>)->Bool
+ return callback(useString(a0)!, {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a1, count: a1_length).map({AvailableChat($0!)});c_borogove.borogove_release(a1);return __r;}())
+ },
+ __callback_ptr
+ )
+ }
+
+ /**
+ Start or join a chat from the search results
+
+ @returns the chat that was started
+ */
+ public func startChat(availableChat: AvailableChat) -> Chat {
+ return Chat(c_borogove.borogove_client_start_chat(
+ self.o,
+ availableChat.o
+ )!)
+ }
+
+ /**
+ Find a chat by id
+
+ @returns the chat if known, or NULL
+ */
+ public func getChat(chatId: String) -> Chat? {
+ return (c_borogove.borogove_client_get_chat(
+ self.o,
+ chatId
+ )).map({ Chat($0) })
+ }
+
+ /**
+ Enable push notifications
+
+ @param push_service the address of a push proxy
+ @param vapid_private_pkcs8 the private key for signing JWT of the push service
+ @param endpoint the final target for the push proxy to forward to
+ @param p256dh A P-256 uncompressed point in ANSI X9.62 format
+ @param auth Random 16 octed value
+ @param grace Grace period during which not to generate push if another app is active for same account, in seconds (negative for none)
+ @param claims Optional additional JWT claims as key then value
+ */
+ public func enablePush(push_service: String, endpoint: String, p256dh: Array<UInt8>, auth: Array<UInt8>, grace: Int32, vapid_private_pkcs8: Array<UInt8>? = nil, claims: Array<String>? = nil) -> Void {
+ withOptionalArrayOfCStrings(claims) { __claims in return c_borogove.borogove_client_enable_push(
+ self.o,
+ push_service,
+ endpoint,
+ p256dh, p256dh.count,
+ auth, auth.count,
+ grace,
+ vapid_private_pkcs8, vapid_private_pkcs8?.count ?? 0,
+ __claims, claims?.count ?? 0
+ )}
+ }
+
+ /**
+ Event fired when client needs a password for authentication
+
+ @param handler takes one argument, the Client that needs a password
+ @returns token for use with removeEventListener
+ */
+ public func addPasswordNeededListener(handler: @Sendable @escaping (Client)->Void) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_password_needed_listener(
+ self.o,
+ { (a0, ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable (Client)->Void
+ return handler(Client(a0!))
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Event fired when client is connected and fully synchronized
+
+ @param handler takes no arguments
+ @returns token for use with removeEventListener
+ */
+ public func addStatusOnlineListener(handler: @Sendable @escaping ()->Void) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_status_online_listener(
+ self.o,
+ { (ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable ()->Void
+ return handler()
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Event fired when client is disconnected
+
+ @param handler takes no arguments
+ @returns token for use with removeEventListener
+ */
+ public func addStatusOfflineListener(handler: @Sendable @escaping ()->Void) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_status_offline_listener(
+ self.o,
+ { (ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable ()->Void
+ return handler()
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Event fired when connection fails with a fatal error and will not be retried
+
+ @param handler takes no arguments
+ @returns token for use with removeEventListener
+ */
+ public func addConnectionFailedListener(handler: @Sendable @escaping ()->Void) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_connection_failed_listener(
+ self.o,
+ { (ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable ()->Void
+ return handler()
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Event fired when TLS checks fail, to give client the chance to override
+
+ @param handler takes two arguments, the PEM of the cert and an array of DNS names, and must return true to accept or false to reject
+ @returns token for use with removeEventListener
+ */
+ public func addTlsCheckListener(handler: @Sendable @escaping (String, Array<String>)->Bool) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_tls_check_listener(
+ self.o,
+ { (a0, a1, a1_length, ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable (String, Array<String>)->Bool
+ return handler(useString(a0)!, {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: a1, count: a1_length).map({useString($0)!});c_borogove.borogove_release(a1);return __r;}())
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Event fired when a new ChatMessage comes in on any Chat
+ Also fires when status of a ChatMessage changes,
+ when a ChatMessage is edited, or when a reaction is added
+
+ @param handler takes two arguments, the ChatMessage and ChatMessageEvent enum describing what happened
+ @returns token for use with removeEventListener
+ */
+ public func addChatMessageListener(handler: @Sendable @escaping (ChatMessage, Int32)->Void) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_chat_message_listener(
+ self.o,
+ { (a0, a1, ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable (ChatMessage, Int32)->Void
+ return handler(ChatMessage(a0!), a1)
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Event fired when syncing a new ChatMessage that was send when offline.
+ Normally you don't want this, but it may be useful if you want to notify on app start.
+
+ @param handler takes one argument, the ChatMessage
+ @returns token for use with removeEventListener
+ */
+ public func addSyncMessageListener(handler: @Sendable @escaping (ChatMessage)->Void) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_sync_message_listener(
+ self.o,
+ { (a0, ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable (ChatMessage)->Void
+ return handler(ChatMessage(a0!))
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Event fired when a Chat's metadata is updated, or when a new Chat is added
+
+ @param handler takes one argument, an array of Chats that were updated
+ @returns token for use with removeEventListener
+ */
+ public func addChatsUpdatedListener(handler: @Sendable @escaping (Array<Chat>)->Void) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_chats_updated_listener(
+ self.o,
+ { (a0, a0_length, ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable (Array<Chat>)->Void
+ return handler({let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a0, count: a0_length).map({Chat($0!)});c_borogove.borogove_release(a0);return __r;}())
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Event fired when a new call comes in
+
+ @param handler takes one argument, the call Session
+ @returns token for use with removeEventListener
+ */
+ public func addCallRingListener(handler: @Sendable @escaping (Session)->Void) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_call_ring_listener(
+ self.o,
+ { (a0, ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable (Session)->Void
+ return handler(AnySession(a0!))
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Event fired when a call is retracted or hung up
+
+ @param handler takes two arguments, the associated Chat ID and Session ID
+ @returns token for use with removeEventListener
+ */
+ public func addCallRetractListener(handler: @Sendable @escaping (String, String)->Void) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_call_retract_listener(
+ self.o,
+ { (a0, a1, ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable (String, String)->Void
+ return handler(useString(a0)!, useString(a1)!)
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Event fired when an outgoing call starts ringing
+
+ @param handler takes one argument, the associated Session
+ @returns token for use with removeEventListener
+ */
+ public func addCallRingingListener(handler: @Sendable @escaping (Session)->Void) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_call_ringing_listener(
+ self.o,
+ { (a0, ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable (Session)->Void
+ return handler(AnySession(a0!))
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Event fired when an existing call changes status (connecting, failed, etc)
+
+ @param handler takes one argument, the associated Session
+ @returns token for use with removeEventListener
+ */
+ public func addCallUpdateStatusListener(handler: @Sendable @escaping (InitiatedSession)->Void) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_call_update_status_listener(
+ self.o,
+ { (a0, ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable (InitiatedSession)->Void
+ return handler(InitiatedSession(a0!))
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Event fired when a call is asking for media to send
+
+ @param handler takes three arguments, the call Session,
+ a boolean indicating if audio is desired,
+ and a boolean indicating if video is desired
+ @returns token for use with removeEventListener
+ */
+ public func addCallMediaListener(handler: @Sendable @escaping (InitiatedSession, Bool, Bool)->Void) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_call_media_listener(
+ self.o,
+ { (a0, a1, a2, ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable (InitiatedSession, Bool, Bool)->Void
+ return handler(InitiatedSession(a0!), a1, a2)
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Event fired when call has a new MediaStreamTrack to play
+
+ @param handler takes three arguments, the associated Chat ID,
+ the new MediaStreamTrack, and an array of any associated MediaStreams
+ @returns token for use with removeEventListener
+ */
+ public func addCallTrackListener(handler: @Sendable @escaping (InitiatedSession, MediaStreamTrack, Array<MediaStream>)->Void) -> Int32 {
+ let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
+ return c_borogove.borogove_client_add_call_track_listener(
+ self.o,
+ { (a0, a1, a2, a2_length, ctx) in
+ let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! @Sendable (InitiatedSession, MediaStreamTrack, Array<MediaStream>)->Void
+ return handler(InitiatedSession(a0!), MediaStreamTrack(a1!), {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a2, count: a2_length).map({MediaStream($0!)});c_borogove.borogove_release(a2);return __r;}())
+ },
+ __handler_ptr
+ )
+ }
+
+ /**
+ Let the SDK know the UI is in the foreground
+ */
+ public func setInForeground() -> Void {
+ return c_borogove.borogove_client_set_in_foreground(
+ self.o
+ )
+ }
+
+ /**
+ Let the SDK know the UI is in the foreground
+ */
+ public func setNotInForeground() -> Void {
+ return c_borogove.borogove_client_set_not_in_foreground(
+ self.o
+ )
+ }
+
+}
+
+public class FormSubmitBuilder: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public init() {
+ o = (c_borogove.borogove_form_submit_builder_new())
+ }
+
+ public func add(k: String, v: String) -> Void {
+ return c_borogove.borogove_form_submit_builder_add(
+ self.o,
+ k,
+ v
+ )
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class AttachmentSource: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public init(path: String, mime: String) {
+ o = (c_borogove.borogove_attachment_source_new(path, mime))
+ }
+
+ public var path: String {
+ get {
+ useString(c_borogove.borogove_attachment_source_path(o))!
+ }
+ }
+
+ public var type: String {
+ get {
+ useString(c_borogove.borogove_attachment_source_type(o))!
+ }
+ }
+
+ public var name: String {
+ get {
+ useString(c_borogove.borogove_attachment_source_name(o))!
+ }
+ }
+
+ public var size: Int32 {
+ get {
+ c_borogove.borogove_attachment_source_size(o)
+ }
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class ProfileBuilder: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public init(profile: Profile) {
+ o = (c_borogove.borogove_profile_builder_new(profile.o))
+ }
+
+ /**
+ Add a new field to this profile
+ */
+ public func add(k: String, v: String) -> Void {
+ return c_borogove.borogove_profile_builder_add(
+ self.o,
+ k,
+ v
+ )
+ }
+
+ /**
+ Set the value of an existing field on this profile
+ */
+ public func set(id: String, v: String) -> Void {
+ return c_borogove.borogove_profile_builder_set(
+ self.o,
+ id,
+ v
+ )
+ }
+
+ /**
+ Move a profile item
+
+ @param id the item to move
+ @param moveTo the item currently in the position where it should move to
+ */
+ public func move(id: String, moveTo: String) -> Void {
+ return c_borogove.borogove_profile_builder_move(
+ self.o,
+ id,
+ moveTo
+ )
+ }
+
+ /**
+ Remove a field from this profile
+ */
+ public func remove(id: String) -> Void {
+ return c_borogove.borogove_profile_builder_remove(
+ self.o,
+ id
+ )
+ }
+
+ public func build() -> Profile {
+ return Profile(c_borogove.borogove_profile_builder_build(
+ self.o
+ )!)
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class Channel: Chat, @unchecked Sendable {
+ internal override init(_ ptr: UnsafeMutableRawPointer) {
+ super.init(ptr)
+ }
+
+ public func description() -> String {
+ return useString(c_borogove.borogove_channel_description(
+ self.o
+ ))!
+ }
+
+ public func isPrivate() -> Bool {
+ return c_borogove.borogove_channel_is_private(
+ self.o
+ )
+ }
+
+}
+
+public class DirectChat: Chat, @unchecked Sendable {
+ internal override init(_ ptr: UnsafeMutableRawPointer) {
+ super.init(ptr)
+ }
+
+}
+
+public class DTMFSender: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ Schedule DTMF events to be sent
+
+ @param tones can be any number of 0123456789#*ABCD,
+ */
+ public func insertDTMF(tones: String) -> Void {
+ return c_borogove.borogove_calls_dtmf_sender_insert_dtmf(
+ self.o,
+ tones
+ )
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class CustomEmojiReaction: Reaction, @unchecked Sendable {
+ internal override init(_ ptr: UnsafeMutableRawPointer) {
+ super.init(ptr)
+ }
+
+ /**
+ Create a new custom emoji reaction to send
+
+ @param text name of custom emoji
+ @param uri URI for media of custom emoji
+ @returns Reaction
+ */
+ public static func custom(text: String, uri: String) -> CustomEmojiReaction {
+ CustomEmojiReaction(c_borogove.borogove_custom_emoji_reaction_custom(
+ text,
+ uri
+ )!)
+ }
+
+ public var uri: String {
+ get {
+ useString(c_borogove.borogove_custom_emoji_reaction_uri(o))!
+ }
+ }
+
+}
+
+public class Identicon: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ public static func svg(source: String) -> String {
+ useString(c_borogove.borogove_identicon_svg(
+ source
+ ))!
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public class Config: SDKObject, @unchecked Sendable {
+ public let o: UnsafeMutableRawPointer
+
+ internal init(_ ptr: UnsafeMutableRawPointer) {
+ o = ptr
+ }
+
+ /**
+ Produce /.well-known/ni/ paths instead of ni:/// URIs
+ for referencing media by hash.
+
+ This can be useful eg for intercepting with a Service Worker.
+ */
+ public var relativeHashUri: Bool {
+ get {
+ c_borogove.borogove_config_relative_hash_uri()
+ }
+ set {
+ c_borogove.borogove_config_set_relative_hash_uri(newValue)
+ }
+ }
+
+ /**
+ Trades off some performance for lower / more consistent memory usage
+ */
+ public static func enableConstrainedMemoryMode() -> Void {
+ c_borogove.borogove_config_enable_constrained_memory_mode(
+ )
+ }
+
+ deinit {
+ c_borogove.borogove_release(o)
+ }
+}
+
+public typealias UiState = borogove_ui_state
+
+public typealias MessageType = borogove_message_type
+
+public typealias MessageStatus = borogove_message_status
+
+public typealias MessageDirection = borogove_message_direction
+
+public typealias EncryptionStatus = borogove_encryption_status
+
+public typealias CallStatus = borogove_calls_call_status
diff --git a/Sources/Snikket/Snikket.swift b/Sources/Snikket/Snikket.swift
deleted file mode 100644
index e29e7de..0000000
--- a/Sources/Snikket/Snikket.swift
+++ /dev/null
@@ -1,2379 +0,0 @@
-import c_snikket
-
-public func setup(_ handler: @convention(c) @escaping (UnsafePointer<CChar>?)->Void) {
- c_snikket.snikket_setup(handler)
-}
-
-public func stop(_ wait: Bool) {
- c_snikket.snikket_stop(wait)
-}
-
-public protocol SDKObject {
- var o: UnsafeMutableRawPointer {get}
-}
-
-internal func useString(_ mptr: UnsafePointer<CChar>?) -> String? {
- if let ptr = mptr {
- let r = String(cString: ptr)
- c_snikket.snikket_release(ptr)
- return r
- } else {
- return nil
- }
-}
-
-internal func useString(_ mptr: UnsafeMutableRawPointer?) -> String? {
- return useString(UnsafePointer(mptr?.assumingMemoryBound(to: CChar.self)))
-}
-
-// From https://github.com/swiftlang/swift/blob/dfc3933a05264c0c19f7cd43ea0dca351f53ed48/stdlib/private/SwiftPrivate/SwiftPrivate.swift
-public func scan<
- S : Sequence, U
->(_ seq: S, _ initial: U, _ combine: (U, S.Iterator.Element) -> U) -> [U] {
- var result: [U] = []
- result.reserveCapacity(seq.underestimatedCount)
- var runningResult = initial
- for element in seq {
- runningResult = combine(runningResult, element)
- result.append(runningResult)
- }
- return result
-}
-
-// From https://github.com/swiftlang/swift/blob/dfc3933a05264c0c19f7cd43ea0dca351f53ed48/stdlib/private/SwiftPrivate/SwiftPrivate.swift
-internal func withArrayOfCStrings<R>(
- _ args: [String], _ body: ([UnsafePointer<CChar>?]) -> R
-) -> R {
- let argsCounts = Array(args.map { $0.utf8.count + 1 })
- let argsOffsets = [ 0 ] + scan(argsCounts, 0, +)
- let argsBufferSize = argsOffsets.last!
-
- var argsBuffer: [UInt8] = []
- argsBuffer.reserveCapacity(argsBufferSize)
- for arg in args {
- argsBuffer.append(contentsOf: arg.utf8)
- argsBuffer.append(0)
- }
-
- return argsBuffer.withUnsafeMutableBufferPointer {
- (argsBuffer) in
- let ptr = UnsafeRawPointer(argsBuffer.baseAddress!).bindMemory(
- to: CChar.self, capacity: argsBuffer.count)
- var cStrings: [UnsafePointer<CChar>?] = argsOffsets.dropLast().map { ptr + $0 }
- return body(cStrings)
- }
-}
-
-internal func withOptionalArrayOfCStrings<R>(
- _ args: [String]?, _ body: ([UnsafePointer<CChar>?]?) -> R
-) -> R {
- if let args = args {
- return withArrayOfCStrings(args, body)
- } else {
- return body(nil)
- }
-}
-
-public protocol MediaStore: SDKObject {
-}
-
-public class AnyMediaStore: MediaStore {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-
-}
-
-public class MediaStoreFS: SDKObject, MediaStore, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- public init(path: String) {
- o = c_snikket.snikket_persistence_media_store_f_s_new(path)
- }
-
- public func getMediaPath(uri: String, callback: @escaping (String?)->Void) -> Void {
- let __callback_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(callback as AnyObject).toOpaque())
- c_snikket.snikket_persistence_media_store_f_s_get_media_path(
- self.o,
- uri,
- { (a0, ctx) in
- let callback = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (String?)->Void
- return callback(useString(a0))
- },
- __callback_ptr
- )
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public protocol KeyValueStore: SDKObject {
-}
-
-public class AnyKeyValueStore: KeyValueStore {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-
-}
-
-public protocol Persistence: SDKObject {
-}
-
-public class AnyPersistence: Persistence {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-
-}
-
-public class Hash: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- public static func fromHex(algorithm: String, hash: String) -> Hash? {
- (c_snikket.snikket_hash_from_hex(
- algorithm,
- hash
- )).map({ Hash($0) })
- }
-
- public static func fromUri(uri: String) -> Hash? {
- (c_snikket.snikket_hash_from_uri(
- uri
- )).map({ Hash($0) })
- }
-
- public var algorithm: String {
- get {
- useString(c_snikket.snikket_hash_algorithm(o))!
- }
- }
-
- public func toUri() -> String {
- useString(c_snikket.snikket_hash_to_uri(
- self.o
- ))!
- }
-
- public func toHex() -> String {
- useString(c_snikket.snikket_hash_to_hex(
- self.o
- ))!
- }
-
- public func toBase64() -> String {
- useString(c_snikket.snikket_hash_to_base_64(
- self.o
- ))!
- }
-
- public func toBase64Url() -> String {
- useString(c_snikket.snikket_hash_to_base_64_url(
- self.o
- ))!
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class ChatAttachment: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- public static func create(name: String?, mime: String, size: Int32, uri: String) -> ChatAttachment {
- ChatAttachment(c_snikket.snikket_chat_attachment_create(
- name,
- mime,
- size,
- uri
- )!)
- }
-
- public var name: String? {
- get {
- useString(c_snikket.snikket_chat_attachment_name(o))
- }
- }
-
- public var mime: String {
- get {
- useString(c_snikket.snikket_chat_attachment_mime(o))!
- }
- }
-
- public var size: Int32? {
- get {
- c_snikket.snikket_chat_attachment_size(o)
- }
- }
-
- public var uris: Array<String> {
- get {
- {var __ret: UnsafeMutablePointer<UnsafePointer<CChar>?>? = nil;let __ret_length = c_snikket.snikket_chat_attachment_uris(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: __ret, count: __ret_length).map({useString($0)!});c_snikket.snikket_release(__ret);return __r;}();}()
- }
- }
-
- public var hashes: Array<Hash> {
- get {
- {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_snikket.snikket_chat_attachment_hashes(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({Hash($0!)});c_snikket.snikket_release(__ret);return __r;}();}()
- }
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class Reaction: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- public var senderId: String {
- get {
- useString(c_snikket.snikket_reaction_sender_id(o))!
- }
- }
-
- public var timestamp: String {
- get {
- useString(c_snikket.snikket_reaction_timestamp(o))!
- }
- }
-
- public var text: String {
- get {
- useString(c_snikket.snikket_reaction_text(o))!
- }
- }
-
- public var key: String {
- get {
- useString(c_snikket.snikket_reaction_key(o))!
- }
- }
-
- public var envelopeId: String? {
- get {
- useString(c_snikket.snikket_reaction_envelope_id(o))
- }
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class ChatMessage: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- /**
- The ID as set by the creator of this message
- */
- public var localId: String? {
- get {
- useString(c_snikket.snikket_chat_message_local_id(o))
- }
- }
-
- /**
- The ID as set by the authoritative server
- */
- public var serverId: String? {
- get {
- useString(c_snikket.snikket_chat_message_server_id(o))
- }
- }
-
- /**
- The ID of the server which set the serverId
- */
- public var serverIdBy: String? {
- get {
- useString(c_snikket.snikket_chat_message_server_id_by(o))
- }
- }
-
- /**
- The type of this message (Chat, Call, etc)
- */
- public var type: MessageType {
- get {
- c_snikket.snikket_chat_message_type(o)
- }
- }
-
- /**
- The timestamp of this message, in format YYYY-MM-DDThh:mm:ss[.sss]Z
- */
- public var timestamp: String {
- get {
- useString(c_snikket.snikket_chat_message_timestamp(o))!
- }
- }
-
- /**
- The ID of the sender of this message
- */
- public var senderId: String {
- get {
- useString(c_snikket.snikket_chat_message_sender_id(o))!
- }
- }
-
- /**
- Message this one is in reply to, or NULL
- */
- public var replyToMessage: ChatMessage? {
- get {
- (c_snikket.snikket_chat_message_reply_to_message(o)).map({ ChatMessage($0) })
- }
- }
-
- /**
- ID of the thread this message is in, or NULL
- */
- public var threadId: String? {
- get {
- useString(c_snikket.snikket_chat_message_thread_id(o))
- }
- }
-
- /**
- Array of attachments to this message
- */
- public var attachments: Array<ChatAttachment> {
- get {
- {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_snikket.snikket_chat_message_attachments(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({ChatAttachment($0!)});c_snikket.snikket_release(__ret);return __r;}();}()
- }
- }
-
- /**
- List of reactions to this message
- */
- public var reactionKeys: Array<String> {
- get {
- {var __ret: UnsafeMutablePointer<UnsafePointer<CChar>?>? = nil;let __ret_length = c_snikket.snikket_chat_message_reaction_keys(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: __ret, count: __ret_length).map({useString($0)!});c_snikket.snikket_release(__ret);return __r;}();}()
- }
- }
-
- /**
- Details of a set of reaction to this message
- */
- public func reactionDetails(reactionKey: String) -> Array<Reaction> {
- {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_snikket.snikket_chat_message_reaction_details(
- self.o,
- reactionKey
- , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({Reaction($0!)});c_snikket.snikket_release(__ret);return __r;}();}()
- }
-
- /**
- Body text of this message or NULL
- */
- public var text: String? {
- get {
- useString(c_snikket.snikket_chat_message_text(o))
- }
- }
-
- /**
- Language code for the body text
- */
- public var lang: String? {
- get {
- useString(c_snikket.snikket_chat_message_lang(o))
- }
- }
-
- /**
- Direction of this message
- */
- public var direction: MessageDirection {
- get {
- c_snikket.snikket_chat_message_direction(o)
- }
- }
-
- /**
- Status of this message
- */
- public var status: MessageStatus {
- get {
- c_snikket.snikket_chat_message_status(o)
- }
- set {
- c_snikket.snikket_chat_message_set_status(o, newValue)
- }
- }
-
- /**
- Array of past versions of this message, if it has been edited
- */
- public var versions: Array<ChatMessage> {
- get {
- {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_snikket.snikket_chat_message_versions(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({ChatMessage($0!)});c_snikket.snikket_release(__ret);return __r;}();}()
- }
- }
-
- /**
- Create a new ChatMessage in reply to this one
- */
- public func reply() -> ChatMessageBuilder {
- ChatMessageBuilder(c_snikket.snikket_chat_message_reply(
- self.o
- )!)
- }
-
- public func getReplyId() -> String? {
- useString(c_snikket.snikket_chat_message_get_reply_id(
- self.o
- ))
- }
-
- /**
- Get HTML version of the message body
-
- WARNING: this is possibly untrusted HTML. You must parse or sanitize appropriately!
- */
- public func html() -> String {
- useString(c_snikket.snikket_chat_message_html(
- self.o
- ))!
- }
-
- /**
- The ID of the Chat this message is associated with
- */
- public func chatId() -> String {
- useString(c_snikket.snikket_chat_message_chat_id(
- self.o
- ))!
- }
-
- /**
- The ID of the account associated with this message
- */
- public func account() -> String {
- useString(c_snikket.snikket_chat_message_account(
- self.o
- ))!
- }
-
- /**
- Is this an incoming message?
- */
- public func isIncoming() -> Bool {
- c_snikket.snikket_chat_message_is_incoming(
- self.o
- )
- }
-
- /**
- The URI of an icon for the thread associated with this message, or NULL
- */
- public func threadIcon() -> String? {
- useString(c_snikket.snikket_chat_message_thread_icon(
- self.o
- ))
- }
-
- /**
- The last status of the call if this message is related to a call
- */
- public func callStatus() -> String? {
- useString(c_snikket.snikket_chat_message_call_status(
- self.o
- ))
- }
-
- /**
- The session id of the call if this message is related to a call
- */
- public func callSid() -> String? {
- useString(c_snikket.snikket_chat_message_call_sid(
- self.o
- ))
- }
-
- /**
- The duration of the call if this message is related to a call
- */
- public func callDuration() -> String? {
- useString(c_snikket.snikket_chat_message_call_duration(
- self.o
- ))
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class Sqlite: SDKObject, KeyValueStore, Persistence, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- /**
- Create a basic persistence layer based on sqlite
-
- @param dbfile path to sqlite database
- @params media a MediaStore to use for media
- @returns new persistence layer
- */
- public init(dbfile: String, media: MediaStore) {
- o = c_snikket.snikket_persistence_sqlite_new(dbfile, media.o)
- }
-
- public func getMessage(accountId: String, chatId: String, serverId: String?, localId: String?, callback: @escaping (ChatMessage?)->Void) -> Void {
- let __callback_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(callback as AnyObject).toOpaque())
- c_snikket.snikket_persistence_sqlite_get_message(
- self.o,
- accountId,
- chatId,
- serverId,
- localId,
- { (a0, ctx) in
- let callback = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (ChatMessage?)->Void
- return callback((a0).map({ ChatMessage($0) }))
- },
- __callback_ptr
- )
- }
-
- public func removeAccount(accountId: String, completely: Bool) -> Void {
- c_snikket.snikket_persistence_sqlite_remove_account(
- self.o,
- accountId,
- completely
- )
- }
-
- public func listAccounts(callback: @escaping (Array<String>)->Void) -> Void {
- let __callback_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(callback as AnyObject).toOpaque())
- c_snikket.snikket_persistence_sqlite_list_accounts(
- self.o,
- { (a0, a0_length, ctx) in
- let callback = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (Array<String>)->Void
- return callback({let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: a0, count: a0_length).map({useString($0)!});c_snikket.snikket_release(a0);return __r;}())
- },
- __callback_ptr
- )
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class ChatMessageBuilder: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- /**
- @returns a new blank ChatMessageBuilder
- */
- public init() {
- o = c_snikket.snikket_chat_message_builder_new()
- }
-
- /**
- The ID as set by the creator of this message
- */
- public var localId: String? {
- get {
- useString(c_snikket.snikket_chat_message_builder_local_id(o))
- }
- set {
- c_snikket.snikket_chat_message_builder_set_local_id(o, newValue)
- }
- }
-
- /**
- The ID as set by the authoritative server
- */
- public var serverId: String? {
- get {
- useString(c_snikket.snikket_chat_message_builder_server_id(o))
- }
- set {
- c_snikket.snikket_chat_message_builder_set_server_id(o, newValue)
- }
- }
-
- /**
- The ID of the server which set the serverId
- */
- public var serverIdBy: String? {
- get {
- useString(c_snikket.snikket_chat_message_builder_server_id_by(o))
- }
- set {
- c_snikket.snikket_chat_message_builder_set_server_id_by(o, newValue)
- }
- }
-
- /**
- The type of this message (Chat, Call, etc)
- */
- public var type: MessageType {
- get {
- c_snikket.snikket_chat_message_builder_type(o)
- }
- set {
- c_snikket.snikket_chat_message_builder_set_type(o, newValue)
- }
- }
-
- /**
- The timestamp of this message, in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
- */
- public var timestamp: String? {
- get {
- useString(c_snikket.snikket_chat_message_builder_timestamp(o))
- }
- set {
- c_snikket.snikket_chat_message_builder_set_timestamp(o, newValue)
- }
- }
-
- public var senderId: String? {
- get {
- useString(c_snikket.snikket_chat_message_builder_sender_id(o))
- }
- set {
- c_snikket.snikket_chat_message_builder_set_sender_id(o, newValue)
- }
- }
-
- /**
- Message this one is in reply to, or NULL
- */
- public var replyToMessage: ChatMessage? {
- get {
- (c_snikket.snikket_chat_message_builder_reply_to_message(o)).map({ ChatMessage($0) })
- }
- set {
- c_snikket.snikket_chat_message_builder_set_reply_to_message(o, newValue?.o)
- }
- }
-
- /**
- ID of the thread this message is in, or NULL
- */
- public var threadId: String? {
- get {
- useString(c_snikket.snikket_chat_message_builder_thread_id(o))
- }
- set {
- c_snikket.snikket_chat_message_builder_set_thread_id(o, newValue)
- }
- }
-
- /**
- Array of attachments to this message
- */
- public var attachments: Array<ChatAttachment> {
- get {
- {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_snikket.snikket_chat_message_builder_attachments(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({ChatAttachment($0!)});c_snikket.snikket_release(__ret);return __r;}();}()
- }
- }
-
- /**
- Body text of this message or NULL
- */
- public var text: String? {
- get {
- useString(c_snikket.snikket_chat_message_builder_text(o))
- }
- set {
- c_snikket.snikket_chat_message_builder_set_text(o, newValue)
- }
- }
-
- /**
- Language code for the body text
- */
- public var lang: String? {
- get {
- useString(c_snikket.snikket_chat_message_builder_lang(o))
- }
- set {
- c_snikket.snikket_chat_message_builder_set_lang(o, newValue)
- }
- }
-
- /**
- Direction of this message
- */
- public var direction: MessageDirection {
- get {
- c_snikket.snikket_chat_message_builder_direction(o)
- }
- set {
- c_snikket.snikket_chat_message_builder_set_direction(o, newValue)
- }
- }
-
- /**
- Status of this message
- */
- public var status: MessageStatus {
- get {
- c_snikket.snikket_chat_message_builder_status(o)
- }
- set {
- c_snikket.snikket_chat_message_builder_set_status(o, newValue)
- }
- }
-
- /**
- Array of past versions of this message, if it has been edited
- */
- public var versions: Array<ChatMessage> {
- get {
- {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_snikket.snikket_chat_message_builder_versions(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({ChatMessage($0!)});c_snikket.snikket_release(__ret);return __r;}();}()
- }
- set {
- c_snikket.snikket_chat_message_builder_set_versions(o, newValue.map { $0.o }, newValue.count)
- }
- }
-
- public func addAttachment(attachment: ChatAttachment) -> Void {
- c_snikket.snikket_chat_message_builder_add_attachment(
- self.o,
- attachment.o
- )
- }
-
- /**
- Set rich text using an HTML string
- Also sets the plain text body appropriately
- */
- public func setHtml(html: String) -> Void {
- c_snikket.snikket_chat_message_builder_set_html(
- self.o,
- html
- )
- }
-
- /**
- The ID of the Chat this message is associated with
- */
- public func chatId() -> String {
- useString(c_snikket.snikket_chat_message_builder_chat_id(
- self.o
- ))!
- }
-
- /**
- The ID of the sender of this message
- */
- public func get_senderId() -> String {
- useString(c_snikket.snikket_chat_message_builder_get_sender_id(
- self.o
- ))!
- }
-
- public func isIncoming() -> Bool {
- c_snikket.snikket_chat_message_builder_is_incoming(
- self.o
- )
- }
-
- public func build() -> ChatMessage {
- ChatMessage(c_snikket.snikket_chat_message_builder_build(
- self.o
- )!)
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class Dummy: SDKObject, Persistence, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- /**
- Create a basic persistence layer that persists nothing
-
- @returns new persistence layer
- */
- public init() {
- o = c_snikket.snikket_persistence_dummy_new()
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class Push: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- public static func receive(data: String, persistence: Persistence) -> Notification? {
- (c_snikket.snikket_push_receive(
- data,
- persistence.o
- )).map({ Notification($0) })
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class Notification: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- public var title: String {
- get {
- useString(c_snikket.snikket_notification_title(o))!
- }
- }
-
- public var body: String {
- get {
- useString(c_snikket.snikket_notification_body(o))!
- }
- }
-
- public var accountId: String {
- get {
- useString(c_snikket.snikket_notification_account_id(o))!
- }
- }
-
- public var chatId: String {
- get {
- useString(c_snikket.snikket_notification_chat_id(o))!
- }
- }
-
- public var senderId: String {
- get {
- useString(c_snikket.snikket_notification_sender_id(o))!
- }
- }
-
- public var messageId: String {
- get {
- useString(c_snikket.snikket_notification_message_id(o))!
- }
- }
-
- public var type: MessageType {
- get {
- c_snikket.snikket_notification_type(o)
- }
- }
-
- public var callStatus: String? {
- get {
- useString(c_snikket.snikket_notification_call_status(o))
- }
- }
-
- public var callSid: String? {
- get {
- useString(c_snikket.snikket_notification_call_sid(o))
- }
- }
-
- public var imageUri: String? {
- get {
- useString(c_snikket.snikket_notification_image_uri(o))
- }
- }
-
- public var lang: String? {
- get {
- useString(c_snikket.snikket_notification_lang(o))
- }
- }
-
- public var timestamp: String? {
- get {
- useString(c_snikket.snikket_notification_timestamp(o))
- }
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class AudioFormat: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- public init(format: String, payloadType: UInt8, clockRate: Int32, channels: Int32) {
- o = c_snikket.snikket_jingle_audio_format_new(format, payloadType, clockRate, channels)
- }
-
- public var clockRate: Int32 {
- get {
- c_snikket.snikket_jingle_audio_format_clock_rate(o)
- }
- }
-
- public var channels: Int32 {
- get {
- c_snikket.snikket_jingle_audio_format_channels(o)
- }
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class MediaStreamTrack: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- public var id: String {
- get {
- useString(c_snikket.snikket_jingle_media_stream_track_id(o))!
- }
- }
-
- public var muted: Bool {
- get {
- c_snikket.snikket_jingle_media_stream_track_muted(o)
- }
- }
-
- public var kind: String {
- get {
- useString(c_snikket.snikket_jingle_media_stream_track_kind(o))!
- }
- }
-
- public var supportedAudioFormats: Array<AudioFormat> {
- get {
- {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_snikket.snikket_jingle_media_stream_track_supported_audio_formats(o, &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({AudioFormat($0!)});c_snikket.snikket_release(__ret);return __r;}();}()
- }
- }
-
- /**
- Event fired for new inbound audio frame
-
- @param callback takes three arguments, the Signed 16-bit PCM data, the clock rate, and the number of channels
- */
- public func addPCMListener(callback: @escaping (Array<Int16>, Int32, Int32)->Void) -> Void {
- let __callback_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(callback as AnyObject).toOpaque())
- c_snikket.snikket_jingle_media_stream_track_add_pcm_listener(
- self.o,
- { (a0, a0_length, a1, a2, ctx) in
- let callback = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (Array<Int16>, Int32, Int32)->Void
- return callback({let __r = UnsafeMutableBufferPointer<Int16>(start: a0, count: a0_length).map({$0});c_snikket.snikket_release(a0);return __r;}(), a1, a2)
- },
- __callback_ptr
- )
- }
-
- /**
- Event fired when ready for next outbound audio frame
-
- @param callback
- */
- public func addReadyForPCMListener(callback: @escaping ()->Void) -> Void {
- let __callback_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(callback as AnyObject).toOpaque())
- c_snikket.snikket_jingle_media_stream_track_add_ready_for_pcm_listener(
- self.o,
- { (ctx) in
- let callback = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! ()->Void
- return callback()
- },
- __callback_ptr
- )
- }
-
- /**
- Send new audio to this track
-
- @param pcm 16-bit signed linear PCM data (interleaved)
- @param clockRate the sampling rate of the data
- @param channels the number of audio channels
- */
- public func writePCM(pcm: Array<Int16>, clockRate: Int32, channels: Int32) -> Void {
- c_snikket.snikket_jingle_media_stream_track_write_pcm(
- self.o,
- pcm, pcm.count,
- clockRate,
- channels
- )
- }
-
- public func stop() -> Void {
- c_snikket.snikket_jingle_media_stream_track_stop(
- self.o
- )
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class Chat: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- /**
- ID of this Chat
- */
- public var chatId: String {
- get {
- useString(c_snikket.snikket_chat_chat_id(o))!
- }
- }
-
- /**
- Current state of this chat
- */
- public var uiState: UiState {
- get {
- c_snikket.snikket_chat_ui_state(o)
- }
- }
-
- public var isBlocked: Bool {
- get {
- c_snikket.snikket_chat_is_blocked(o)
- }
- }
-
- /**
- Fetch a page of messages before some point
-
- @param beforeId id of the message to look before
- @param beforeTime timestamp of the message to look before,
- String in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
- @param handler takes one argument, an array of ChatMessage that are found
- */
- public func getMessagesBefore(beforeId: String?, beforeTime: String?, handler: @escaping (Array<ChatMessage>)->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_chat_get_messages_before(
- self.o,
- beforeId,
- beforeTime,
- { (a0, a0_length, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (Array<ChatMessage>)->Void
- return handler({let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a0, count: a0_length).map({ChatMessage($0!)});c_snikket.snikket_release(a0);return __r;}())
- },
- __handler_ptr
- )
- }
-
- /**
- Fetch a page of messages after some point
-
- @param afterId id of the message to look after
- @param afterTime timestamp of the message to look after,
- String in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
- @param handler takes one argument, an array of ChatMessage that are found
- */
- public func getMessagesAfter(afterId: String?, afterTime: String?, handler: @escaping (Array<ChatMessage>)->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_chat_get_messages_after(
- self.o,
- afterId,
- afterTime,
- { (a0, a0_length, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (Array<ChatMessage>)->Void
- return handler({let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a0, count: a0_length).map({ChatMessage($0!)});c_snikket.snikket_release(a0);return __r;}())
- },
- __handler_ptr
- )
- }
-
- /**
- Fetch a page of messages around (before, including, and after) some point
-
- @param aroundId id of the message to look around
- @param aroundTime timestamp of the message to look around,
- String in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
- @param handler takes one argument, an array of ChatMessage that are found
- */
- public func getMessagesAround(aroundId: String?, aroundTime: String?, handler: @escaping (Array<ChatMessage>)->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_chat_get_messages_around(
- self.o,
- aroundId,
- aroundTime,
- { (a0, a0_length, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (Array<ChatMessage>)->Void
- return handler({let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a0, count: a0_length).map({ChatMessage($0!)});c_snikket.snikket_release(a0);return __r;}())
- },
- __handler_ptr
- )
- }
-
- /**
- Send a ChatMessage to this Chat
-
- @param message the ChatMessage to send
- */
- public func sendMessage(message: ChatMessageBuilder) -> Void {
- c_snikket.snikket_chat_send_message(
- self.o,
- message.o
- )
- }
-
- /**
- Signals that all messages up to and including this one have probably
- been displayed to the user
-
- @param message the ChatMessage most recently displayed
- */
- public func markReadUpTo(message: ChatMessage) -> Void {
- c_snikket.snikket_chat_mark_read_up_to(
- self.o,
- message.o
- )
- }
-
- /**
- Save this Chat on the server
- */
- public func bookmark() -> Void {
- c_snikket.snikket_chat_bookmark(
- self.o
- )
- }
-
- /**
- Get the list of IDs of participants in this Chat
-
- @returns array of IDs
- */
- public func getParticipants() -> Array<String> {
- {var __ret: UnsafeMutablePointer<UnsafePointer<CChar>?>? = nil;let __ret_length = c_snikket.snikket_chat_get_participants(
- self.o
- , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: __ret, count: __ret_length).map({useString($0)!});c_snikket.snikket_release(__ret);return __r;}();}()
- }
-
- /**
- Get the details for one participant in this Chat
-
- @param participantId the ID of the participant to look up
- */
- public func getParticipantDetails(participantId: String) -> Participant {
- Participant(c_snikket.snikket_chat_get_participant_details(
- self.o,
- participantId
- )!)
- }
-
- /**
- Correct an already-send message by replacing it with a new one
-
- @param localId the localId of the message to correct
- must be the localId of the first version ever sent, not a subsequent correction
- @param message the new ChatMessage to replace it with
- */
- public func correctMessage(localId: String, message: ChatMessageBuilder) -> Void {
- c_snikket.snikket_chat_correct_message(
- self.o,
- localId,
- message.o
- )
- }
-
- /**
- Add new reaction to a message in this Chat
-
- @param m ChatMessage to react to
- @param reaction emoji of the reaction
- */
- public func addReaction(m: ChatMessage, reaction: Reaction) -> Void {
- c_snikket.snikket_chat_add_reaction(
- self.o,
- m.o,
- reaction.o
- )
- }
-
- /**
- Remove an already-sent reaction from a message
-
- @param m ChatMessage to remove the reaction from
- @param reaction the emoji to remove
- */
- public func removeReaction(m: ChatMessage, reaction: Reaction) -> Void {
- c_snikket.snikket_chat_remove_reaction(
- self.o,
- m.o,
- reaction.o
- )
- }
-
- /**
- Call this whenever the user is typing, can call on every keystroke
-
- @param threadId optional, what thread the user has selected if any
- @param content optional, what the user has typed so far
- */
- public func typing(threadId: String?, content: String?) -> Void {
- c_snikket.snikket_chat_typing(
- self.o,
- threadId,
- content
- )
- }
-
- /**
- Call this whenever the user makes a chat or thread "active" in your UX
- If you call this with true you MUST later call it will false
-
- @param active true if the chat is "active", false otherwise
- @param threadId optional, what thread the user has selected if any
- */
- public func setActive(active: Bool, threadId: String?) -> Void {
- c_snikket.snikket_chat_set_active(
- self.o,
- active,
- threadId
- )
- }
-
- /**
- Archive this chat
- */
- public func close() -> Void {
- c_snikket.snikket_chat_close(
- self.o
- )
- }
-
- /**
- Pin or unpin this chat
- */
- public func togglePinned() -> Void {
- c_snikket.snikket_chat_toggle_pinned(
- self.o
- )
- }
-
- /**
- Block this chat so it will not re-open
- */
- public func block(reportSpam: ChatMessage? = nil, onServer: Bool = true) -> Void {
- c_snikket.snikket_chat_block(
- self.o,
- reportSpam?.o,
- onServer
- )
- }
-
- /**
- Unblock this chat so it will open again
- */
- public func unblock(onServer: Bool) -> Void {
- c_snikket.snikket_chat_unblock(
- self.o,
- onServer
- )
- }
-
- /**
- Update notification preferences
- */
- public func setNotifications(filtered: Bool, mention: Bool, reply: Bool) -> Void {
- c_snikket.snikket_chat_set_notifications(
- self.o,
- filtered,
- mention,
- reply
- )
- }
-
- /**
- Should notifications be filtered?
- */
- public func notificationsFiltered() -> Bool {
- c_snikket.snikket_chat_notifications_filtered(
- self.o
- )
- }
-
- /**
- Should a mention produce a notification?
- */
- public func notifyMention() -> Bool {
- c_snikket.snikket_chat_notify_mention(
- self.o
- )
- }
-
- /**
- Should a reply produce a notification?
- */
- public func notifyReply() -> Bool {
- c_snikket.snikket_chat_notify_reply(
- self.o
- )
- }
-
- /**
- An ID of the most recent message in this chat
- */
- public func lastMessageId() -> String? {
- useString(c_snikket.snikket_chat_last_message_id(
- self.o
- ))
- }
-
- /**
- The timestamp of the most recent message in this chat
- */
- public func lastMessageTimestamp() -> String? {
- useString(c_snikket.snikket_chat_last_message_timestamp(
- self.o
- ))
- }
-
- /**
- Get the URI image to represent this Chat, or null
- */
- public func getPhoto() -> String? {
- useString(c_snikket.snikket_chat_get_photo(
- self.o
- ))
- }
-
- /**
- Get the URI to a placeholder image to represent this Chat
- */
- public func getPlaceholder() -> String {
- useString(c_snikket.snikket_chat_get_placeholder(
- self.o
- ))!
- }
-
- /**
- An ID of the last message displayed to the user
- */
- public func readUpTo() -> String? {
- useString(c_snikket.snikket_chat_read_up_to(
- self.o
- ))
- }
-
- /**
- The number of message that have not yet been displayed to the user
- */
- public func unreadCount() -> Int32 {
- c_snikket.snikket_chat_unread_count(
- self.o
- )
- }
-
- /**
- A preview of the chat, such as the most recent message body
- */
- public func preview() -> String {
- useString(c_snikket.snikket_chat_preview(
- self.o
- ))!
- }
-
- public func setDisplayName(fn: String) -> Void {
- c_snikket.snikket_chat_set_display_name(
- self.o,
- fn
- )
- }
-
- /**
- The display name of this Chat
- */
- public func getDisplayName() -> String {
- useString(c_snikket.snikket_chat_get_display_name(
- self.o
- ))!
- }
-
- public func setTrusted(trusted: Bool) -> Void {
- c_snikket.snikket_chat_set_trusted(
- self.o,
- trusted
- )
- }
-
- /**
- Is this a chat with an entity we trust to see our online status?
- */
- public func isTrusted() -> Bool {
- c_snikket.snikket_chat_is_trusted(
- self.o
- )
- }
-
- public func syncing() -> Bool {
- c_snikket.snikket_chat_syncing(
- self.o
- )
- }
-
- /**
- Can audio calls be started in this Chat?
- */
- public func canAudioCall() -> Bool {
- c_snikket.snikket_chat_can_audio_call(
- self.o
- )
- }
-
- /**
- Can video calls be started in this Chat?
- */
- public func canVideoCall() -> Bool {
- c_snikket.snikket_chat_can_video_call(
- self.o
- )
- }
-
- /**
- Start a new call in this Chat
-
- @param audio do we want audio in this call
- @param video do we want video in this call
- */
- public func startCall(audio: Bool, video: Bool) -> Void {
- c_snikket.snikket_chat_start_call(
- self.o,
- audio,
- video
- )
- }
-
- /**
- Accept any incoming calls in this Chat
- */
- public func acceptCall() -> Void {
- c_snikket.snikket_chat_accept_call(
- self.o
- )
- }
-
- /**
- Hangup or reject any calls in this chat
- */
- public func hangup() -> Void {
- c_snikket.snikket_chat_hangup(
- self.o
- )
- }
-
- /**
- The current status of a call in this chat
- */
- public func callStatus() -> CallStatus {
- c_snikket.snikket_chat_call_status(
- self.o
- )
- }
-
- /**
- A DTMFSender for a call in this chat, or NULL
- */
- public func dtmf() -> DTMFSender? {
- (c_snikket.snikket_chat_dtmf(
- self.o
- )).map({ DTMFSender($0) })
- }
-
- /**
- All video tracks in all active calls in this chat
- */
- public func videoTracks() -> Array<MediaStreamTrack> {
- {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_snikket.snikket_chat_video_tracks(
- self.o
- , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({MediaStreamTrack($0!)});c_snikket.snikket_release(__ret);return __r;}();}()
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class AvailableChat: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- /**
- The ID of the Chat this search result represents
- */
- public var chatId: String {
- get {
- useString(c_snikket.snikket_available_chat_chat_id(o))!
- }
- }
-
- /**
- The display name of this search result
- */
- public var displayName: String? {
- get {
- useString(c_snikket.snikket_available_chat_display_name(o))
- }
- }
-
- /**
- A human-readable note associated with this search result
- */
- public var note: String {
- get {
- useString(c_snikket.snikket_available_chat_note(o))!
- }
- }
-
- /**
- Is this search result a channel?
- */
- public func isChannel() -> Bool {
- c_snikket.snikket_available_chat_is_channel(
- self.o
- )
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public protocol Session: SDKObject {
-}
-
-public class AnySession: Session {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-
-}
-
-public class MediaStream: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- public init() {
- o = c_snikket.snikket_jingle_media_stream_new()
- }
-
- /**
- Create default bidirectional audio track
- */
- public static func makeAudio() -> MediaStream {
- MediaStream(c_snikket.snikket_jingle_media_stream_make_audio(
- )!)
- }
-
- public func addTrack(track: MediaStreamTrack) -> Void {
- c_snikket.snikket_jingle_media_stream_add_track(
- self.o,
- track.o
- )
- }
-
- public func getTracks() -> Array<MediaStreamTrack> {
- {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_snikket.snikket_jingle_media_stream_get_tracks(
- self.o
- , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({MediaStreamTrack($0!)});c_snikket.snikket_release(__ret);return __r;}();}()
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class InitiatedSession: SDKObject, Session, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- public var sid: String {
- get {
- useString(c_snikket.snikket_jingle_initiated_session_sid(o))!
- }
- }
-
- public var chatId: String {
- get {
- useString(c_snikket.snikket_jingle_initiated_session_chat_id(o))!
- }
- }
-
- public func accept() -> Void {
- c_snikket.snikket_jingle_initiated_session_accept(
- self.o
- )
- }
-
- public func hangup() -> Void {
- c_snikket.snikket_jingle_initiated_session_hangup(
- self.o
- )
- }
-
- public func addMedia(streams: Array<MediaStream>) -> Void {
- c_snikket.snikket_jingle_initiated_session_add_media(
- self.o,
- streams.map { $0.o }, streams.count
- )
- }
-
- public func callStatus() -> CallStatus {
- c_snikket.snikket_jingle_initiated_session_call_status(
- self.o
- )
- }
-
- public func videoTracks() -> Array<MediaStreamTrack> {
- {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_snikket.snikket_jingle_initiated_session_video_tracks(
- self.o
- , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({MediaStreamTrack($0!)});c_snikket.snikket_release(__ret);return __r;}();}()
- }
-
- public func dtmf() -> DTMFSender? {
- (c_snikket.snikket_jingle_initiated_session_dtmf(
- self.o
- )).map({ DTMFSender($0) })
- }
-
- public func supplyMedia(streams: Array<MediaStream>) -> Void {
- c_snikket.snikket_jingle_initiated_session_supply_media(
- self.o,
- streams.map { $0.o }, streams.count
- )
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class Client: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- /**
- Create a new Client to connect to a particular account
-
- @param address the account to connect to
- @param persistence the persistence layer to use for storage
- */
- public init(address: String, persistence: Persistence) {
- o = c_snikket.snikket_client_new(address, persistence.o)
- }
-
- /**
- Start this client running and trying to connect to the server
- */
- public func start() -> Void {
- c_snikket.snikket_client_start(
- self.o
- )
- }
-
- /**
- Gets the client ready to use but does not connect to the server
- */
- public func startOffline(ready: @escaping ()->Void) -> Void {
- let __ready_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(ready as AnyObject).toOpaque())
- c_snikket.snikket_client_start_offline(
- self.o,
- { (ctx) in
- let ready = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! ()->Void
- return ready()
- },
- __ready_ptr
- )
- }
-
- /**
- Destroy local data for this account
-
- @param completely if true chats, messages, etc will be deleted as well
- */
- public func logout(completely: Bool) -> Void {
- c_snikket.snikket_client_logout(
- self.o,
- completely
- )
- }
-
- /**
- Sets the password to be used in response to the password needed event
-
- @param password
- */
- public func usePassword(password: String) -> Void {
- c_snikket.snikket_client_use_password(
- self.o,
- password
- )
- }
-
- /**
- Get the account ID for this Client
-
- @returns account id
- */
- public func accountId() -> String {
- useString(c_snikket.snikket_client_account_id(
- self.o
- ))!
- }
-
- /**
- Get the current display name for this account
-
- @returns display name
- */
- public func displayName() -> String {
- useString(c_snikket.snikket_client_display_name(
- self.o
- ))!
- }
-
- /**
- Set the current display name for this account on the server
-
- @param display name to set (ignored if empty or NULL)
- */
- public func setDisplayName(displayName: String) -> Void {
- c_snikket.snikket_client_set_display_name(
- self.o,
- displayName
- )
- }
-
- /**
- Turn a file into a ChatAttachment for attaching to a ChatMessage
- */
- public func prepareAttachment(source: AttachmentSource, callback: @escaping (ChatAttachment?)->Void) -> Void {
- let __callback_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(callback as AnyObject).toOpaque())
- c_snikket.snikket_client_prepare_attachment(
- self.o,
- source.o,
- { (a0, ctx) in
- let callback = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (ChatAttachment?)->Void
- return callback((a0).map({ ChatAttachment($0) }))
- },
- __callback_ptr
- )
- }
-
- /**
- @returns array of open chats, sorted by last activity
- */
- public func getChats() -> Array<Chat> {
- {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_snikket.snikket_client_get_chats(
- self.o
- , &__ret);return {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({Chat($0!)});c_snikket.snikket_release(__ret);return __r;}();}()
- }
-
- /**
- Search for chats the user can start or join
-
- @param q the search query to use
- @param callback takes two arguments, the query that was used and the array of results
- */
- public func findAvailableChats(q: String, callback: @escaping (String, Array<AvailableChat>)->Void) -> Void {
- let __callback_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(callback as AnyObject).toOpaque())
- c_snikket.snikket_client_find_available_chats(
- self.o,
- q,
- { (a0, a1, a1_length, ctx) in
- let callback = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (String, Array<AvailableChat>)->Void
- return callback(useString(a0)!, {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a1, count: a1_length).map({AvailableChat($0!)});c_snikket.snikket_release(a1);return __r;}())
- },
- __callback_ptr
- )
- }
-
- /**
- Start or join a chat from the search results
-
- @returns the chat that was started
- */
- public func startChat(availableChat: AvailableChat) -> Chat {
- Chat(c_snikket.snikket_client_start_chat(
- self.o,
- availableChat.o
- )!)
- }
-
- /**
- Find a chat by id
-
- @returns the chat if known, or NULL
- */
- public func getChat(chatId: String) -> Chat? {
- (c_snikket.snikket_client_get_chat(
- self.o,
- chatId
- )).map({ Chat($0) })
- }
-
- /**
- Enable push notifications
-
- @param push_service the address of a push proxy
- @param vapid_private_pkcs8 the private key for signing JWT of the push service
- @param endpoint the final target for the push proxy to forward to
- @param p256dh A P-256 uncompressed point in ANSI X9.62 format
- @param auth Random 16 octed value
- @param grace Grace period during which not to generate push if another app is active for same account, in seconds (negative for none)
- @param claims Optional additional JWT claims as key then value
- */
- public func enablePush(push_service: String, endpoint: String, p256dh: Array<UInt8>, auth: Array<UInt8>, grace: Int32, vapid_private_pkcs8: Array<UInt8>? = nil, claims: Array<String>? = nil) -> Void {
- withOptionalArrayOfCStrings(claims) { __claims in c_snikket.snikket_client_enable_push(
- self.o,
- push_service,
- endpoint,
- p256dh, p256dh.count,
- auth, auth.count,
- grace,
- vapid_private_pkcs8, vapid_private_pkcs8?.count ?? 0,
- __claims, claims?.count ?? 0
- )}
- }
-
- /**
- Event fired when client needs a password for authentication
-
- @param handler takes one argument, the Client that needs a password
- */
- public func addPasswordNeededListener(handler: @escaping (Client)->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_password_needed_listener(
- self.o,
- { (a0, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (Client)->Void
- return handler(Client(a0!))
- },
- __handler_ptr
- )
- }
-
- /**
- Event fired when client is connected and fully synchronized
-
- @param handler takes no arguments
- */
- public func addStatusOnlineListener(handler: @escaping ()->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_status_online_listener(
- self.o,
- { (ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! ()->Void
- return handler()
- },
- __handler_ptr
- )
- }
-
- /**
- Event fired when client is disconnected
-
- @param handler takes no arguments
- */
- public func addStatusOfflineListener(handler: @escaping ()->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_status_offline_listener(
- self.o,
- { (ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! ()->Void
- return handler()
- },
- __handler_ptr
- )
- }
-
- /**
- Event fired when connection fails with a fatal error and will not be retried
-
- @param handler takes no arguments
- */
- public func addConnectionFailedListener(handler: @escaping ()->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_connection_failed_listener(
- self.o,
- { (ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! ()->Void
- return handler()
- },
- __handler_ptr
- )
- }
-
- /**
- Event fired when TLS checks fail, to give client the chance to override
-
- @param handler takes two arguments, the PEM of the cert and an array of DNS names, and must return true to accept or false to reject
- */
- public func addTlsCheckListener(handler: @escaping (String, Array<String>)->Bool) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_tls_check_listener(
- self.o,
- { (a0, a1, a1_length, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (String, Array<String>)->Bool
- return handler(useString(a0)!, {let __r = UnsafeMutableBufferPointer<UnsafePointer<CChar>?>(start: a1, count: a1_length).map({useString($0)!});c_snikket.snikket_release(a1);return __r;}())
- },
- __handler_ptr
- )
- }
-
- /**
- Event fired when a new ChatMessage comes in on any Chat
- Also fires when status of a ChatMessage changes,
- when a ChatMessage is edited, or when a reaction is added
-
- @param handler takes two arguments, the ChatMessage and ChatMessageEvent enum describing what happened
- */
- public func addChatMessageListener(handler: @escaping (ChatMessage, Int32)->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_chat_message_listener(
- self.o,
- { (a0, a1, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (ChatMessage, Int32)->Void
- return handler(ChatMessage(a0!), a1)
- },
- __handler_ptr
- )
- }
-
- /**
- Event fired when syncing a new ChatMessage that was send when offline.
- Normally you don't want this, but it may be useful if you want to notify on app start.
-
- @param handler takes one argument, the ChatMessage
- */
- public func addSyncMessageListener(handler: @escaping (ChatMessage)->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_sync_message_listener(
- self.o,
- { (a0, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (ChatMessage)->Void
- return handler(ChatMessage(a0!))
- },
- __handler_ptr
- )
- }
-
- /**
- Event fired when a Chat's metadata is updated, or when a new Chat is added
-
- @param handler takes one argument, an array of Chats that were updated
- */
- public func addChatsUpdatedListener(handler: @escaping (Array<Chat>)->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_chats_updated_listener(
- self.o,
- { (a0, a0_length, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (Array<Chat>)->Void
- return handler({let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a0, count: a0_length).map({Chat($0!)});c_snikket.snikket_release(a0);return __r;}())
- },
- __handler_ptr
- )
- }
-
- /**
- Event fired when a new call comes in
-
- @param handler takes one argument, the call Session
- */
- public func addCallRingListener(handler: @escaping (Session)->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_call_ring_listener(
- self.o,
- { (a0, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (Session)->Void
- return handler(AnySession(a0!))
- },
- __handler_ptr
- )
- }
-
- /**
- Event fired when a call is retracted or hung up
-
- @param handler takes two arguments, the associated Chat ID and Session ID
- */
- public func addCallRetractListener(handler: @escaping (String, String)->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_call_retract_listener(
- self.o,
- { (a0, a1, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (String, String)->Void
- return handler(useString(a0)!, useString(a1)!)
- },
- __handler_ptr
- )
- }
-
- /**
- Event fired when an outgoing call starts ringing
-
- @param handler takes two arguments, the associated Chat ID and Session ID
- */
- public func addCallRingingListener(handler: @escaping (String, String)->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_call_ringing_listener(
- self.o,
- { (a0, a1, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (String, String)->Void
- return handler(useString(a0)!, useString(a1)!)
- },
- __handler_ptr
- )
- }
-
- /**
- Event fired when an existing call changes status (connecting, failed, etc)
-
- @param handler takes one argument, the associated Session
- */
- public func addCallUpdateStatusListener(handler: @escaping (InitiatedSession)->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_call_update_status_listener(
- self.o,
- { (a0, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (InitiatedSession)->Void
- return handler(InitiatedSession(a0!))
- },
- __handler_ptr
- )
- }
-
- /**
- Event fired when a call is asking for media to send
-
- @param handler takes three arguments, the call Session,
- a boolean indicating if audio is desired,
- and a boolean indicating if video is desired
- */
- public func addCallMediaListener(handler: @escaping (InitiatedSession, Bool, Bool)->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_call_media_listener(
- self.o,
- { (a0, a1, a2, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (InitiatedSession, Bool, Bool)->Void
- return handler(InitiatedSession(a0!), a1, a2)
- },
- __handler_ptr
- )
- }
-
- /**
- Event fired when call has a new MediaStreamTrack to play
-
- @param handler takes three arguments, the associated Chat ID,
- the new MediaStreamTrack, and an array of any associated MediaStreams
- */
- public func addCallTrackListener(handler: @escaping (String, MediaStreamTrack, Array<MediaStream>)->Void) -> Void {
- let __handler_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(handler as AnyObject).toOpaque())
- c_snikket.snikket_client_add_call_track_listener(
- self.o,
- { (a0, a1, a2, a2_length, ctx) in
- let handler = Unmanaged<AnyObject>.fromOpaque(ctx!).takeUnretainedValue() as! (String, MediaStreamTrack, Array<MediaStream>)->Void
- return handler(useString(a0)!, MediaStreamTrack(a1!), {let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a2, count: a2_length).map({MediaStream($0!)});c_snikket.snikket_release(a2);return __r;}())
- },
- __handler_ptr
- )
- }
-
- /**
- Let the SDK know the UI is in the foreground
- */
- public func setInForeground() -> Void {
- c_snikket.snikket_client_set_in_foreground(
- self.o
- )
- }
-
- /**
- Let the SDK know the UI is in the foreground
- */
- public func setNotInForeground() -> Void {
- c_snikket.snikket_client_set_not_in_foreground(
- self.o
- )
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class Participant: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- public var displayName: String {
- get {
- useString(c_snikket.snikket_participant_display_name(o))!
- }
- }
-
- public var photoUri: String? {
- get {
- useString(c_snikket.snikket_participant_photo_uri(o))
- }
- }
-
- public var placeholderUri: String {
- get {
- useString(c_snikket.snikket_participant_placeholder_uri(o))!
- }
- }
-
- public var isSelf: Bool {
- get {
- c_snikket.snikket_participant_is_self(o)
- }
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class AttachmentSource: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- public init(path: String, mime: String) {
- o = c_snikket.snikket_attachment_source_new(path, mime)
- }
-
- public var path: String {
- get {
- useString(c_snikket.snikket_attachment_source_path(o))!
- }
- }
-
- public var type: String {
- get {
- useString(c_snikket.snikket_attachment_source_type(o))!
- }
- }
-
- public var name: String {
- get {
- useString(c_snikket.snikket_attachment_source_name(o))!
- }
- }
-
- public var size: Int32 {
- get {
- c_snikket.snikket_attachment_source_size(o)
- }
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class Channel: Chat, @unchecked Sendable {
- public func isPrivate() -> Bool {
- c_snikket.snikket_channel_is_private(
- self.o
- )
- }
-
-}
-
-public class DirectChat: Chat, @unchecked Sendable {
-}
-
-public class CustomEmojiReaction: Reaction, @unchecked Sendable {
- public var uri: String {
- get {
- useString(c_snikket.snikket_custom_emoji_reaction_uri(o))!
- }
- }
-
-}
-
-public class Identicon: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- public static func svg(source: String) -> String {
- useString(c_snikket.snikket_identicon_svg(
- source
- ))!
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class Config: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- /**
- Produce /.well-known/ni/ paths instead of ni:/// URIs
- for referencing media by hash.
-
- This can be useful eg for intercepting with a Service Worker.
- */
- public var relativeHashUri: Bool {
- get {
- c_snikket.snikket_config_relative_hash_uri()
- }
- set {
- c_snikket.snikket_config_set_relative_hash_uri(newValue)
- }
- }
-
- /**
- Trades off some performance for lower / more consistent memory usage
- */
- public static func enableConstrainedMemoryMode() -> Void {
- c_snikket.snikket_config_enable_constrained_memory_mode(
- )
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public class DTMFSender: SDKObject, @unchecked Sendable {
- public let o: UnsafeMutableRawPointer
-
- internal init(_ ptr: UnsafeMutableRawPointer) {
- o = ptr
- }
-
- /**
- Schedule DTMF events to be sent
-
- @param tones can be any number of 0123456789#*ABCD,
- */
- public func insertDTMF(tones: String) -> Void {
- c_snikket.snikket_jingle_dtmf_sender_insert_dtmf(
- self.o,
- tones
- )
- }
-
- deinit {
- c_snikket.snikket_release(o)
- }
-}
-
-public typealias UiState = snikket_ui_state
-
-public typealias MessageType = snikket_message_type
-
-public typealias MessageStatus = snikket_message_status
-
-public typealias MessageDirection = snikket_message_direction
-
-public typealias CallStatus = snikket_jingle_call_status
diff --git a/Sources/c-ares/c-ares b/Sources/c-ares/c-ares
new file mode 160000
index 0000000..189a9d2
--- /dev/null
+++ b/Sources/c-ares/c-ares
@@ -0,0 +1 @@
+Subproject commit 189a9d2661946824816d5800f6d20ed909291509
diff --git a/Sources/c-ares/include/ares.h b/Sources/c-ares/include/ares.h
new file mode 120000
index 0000000..ca818c5
--- /dev/null
+++ b/Sources/c-ares/include/ares.h
@@ -0,0 +1 @@
+../c-ares/include/ares.h
\ No newline at end of file
diff --git a/Sources/c-ares/include/ares_build.h b/Sources/c-ares/include/ares_build.h
new file mode 100644
index 0000000..5306830
--- /dev/null
+++ b/Sources/c-ares/include/ares_build.h
@@ -0,0 +1,55 @@
+//===----------------------------------------------------------------------===//
+//
+// This source file is part of the SwiftAsyncDNSResolver open source project
+//
+// Copyright (c) 2020 Apple Inc. and the SwiftAsyncDNSResolver project authors
+// Licensed under Apache License v2.0
+//
+// See LICENSE.txt for license information
+// See CONTRIBUTORS.txt for the list of SwiftAsyncDNSResolver project authors
+//
+// SPDX-License-Identifier: Apache-2.0
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef __CARES_BUILD_H
+#define __CARES_BUILD_H
+
+#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t
+#define CARES_TYPEOF_ARES_SSIZE_T ssize_t
+
+/* Prefix names with CARES_ to make sure they don't conflict with other config.h
+ * files. We need to include some dependent headers that may be system specific
+ * for C-Ares */
+#define CARES_HAVE_SYS_TYPES_H
+#define CARES_HAVE_SYS_SOCKET_H
+/* #undef CARES_HAVE_WINDOWS_H */
+/* #undef CARES_HAVE_WS2TCPIP_H */
+/* #undef CARES_HAVE_WINSOCK2_H */
+/* #undef CARES_HAVE_WINDOWS_H */
+
+#ifdef CARES_HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+
+#ifdef CARES_HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#endif
+
+#ifdef CARES_HAVE_WINSOCK2_H
+# include <winsock2.h>
+#endif
+
+#ifdef CARES_HAVE_WS2TCPIP_H
+# include <ws2tcpip.h>
+#endif
+
+#ifdef CARES_HAVE_WINDOWS_H
+# include <windows.h>
+#endif
+
+
+typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t;
+typedef CARES_TYPEOF_ARES_SSIZE_T ares_ssize_t;
+
+#endif /* __CARES_BUILD_H */
diff --git a/Sources/c-ares/include/ares_config.h b/Sources/c-ares/include/ares_config.h
new file mode 100644
index 0000000..55157a9
--- /dev/null
+++ b/Sources/c-ares/include/ares_config.h
@@ -0,0 +1,446 @@
+//===----------------------------------------------------------------------===//
+//
+// This source file is part of the SwiftAsyncDNSResolver open source project
+//
+// Copyright (c) 2020 Apple Inc. and the SwiftAsyncDNSResolver project authors
+// Licensed under Apache License v2.0
+//
+// See LICENSE.txt for license information
+// See CONTRIBUTORS.txt for the list of SwiftAsyncDNSResolver project authors
+//
+// SPDX-License-Identifier: Apache-2.0
+//
+//===----------------------------------------------------------------------===//
+
+/* Generated from ares_config.h.cmake*/
+
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
+/* define this if ares is built for a big endian system */
+#undef ARES_BIG_ENDIAN
+
+/* when building as static part of libcurl */
+#undef BUILDING_LIBCURL
+
+/* Defined for build that exposes internal static functions for testing. */
+#undef CARES_EXPOSE_STATICS
+
+/* Defined for build with symbol hiding. */
+#undef CARES_SYMBOL_HIDING
+
+/* Definition to make a library symbol externally visible. */
+#undef CARES_SYMBOL_SCOPE_EXTERN
+
+/* Use resolver library to configure cares */
+#undef CARES_USE_LIBRESOLV
+
+/* if a /etc/inet dir is being used */
+#undef ETC_INET
+
+/* Define to the type of arg 2 for gethostname. */
+#define GETHOSTNAME_TYPE_ARG2 size_t
+
+/* Define to the type qualifier of arg 1 for getnameinfo. */
+#define GETNAMEINFO_QUAL_ARG1
+
+/* Define to the type of arg 1 for getnameinfo. */
+#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
+
+/* Define to the type of arg 2 for getnameinfo. */
+#define GETNAMEINFO_TYPE_ARG2 socklen_t
+
+/* Define to the type of args 4 and 6 for getnameinfo. */
+#define GETNAMEINFO_TYPE_ARG46 socklen_t
+
+/* Define to the type of arg 7 for getnameinfo. */
+#define GETNAMEINFO_TYPE_ARG7 int
+
+/* Specifies the number of arguments to getservbyport_r */
+#define GETSERVBYPORT_R_ARGS
+
+/* Specifies the number of arguments to getservbyname_r */
+#define GETSERVBYNAME_R_ARGS
+
+/* Define to 1 if you have AF_INET6. */
+#define HAVE_AF_INET6
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#define HAVE_ARPA_INET_H
+
+/* Define to 1 if you have the <arpa/nameser_compat.h> header file. */
+#define HAVE_ARPA_NAMESER_COMPAT_H
+
+/* Define to 1 if you have the <arpa/nameser.h> header file. */
+#define HAVE_ARPA_NAMESER_H
+
+/* Define to 1 if you have the <assert.h> header file. */
+#define HAVE_ASSERT_H
+
+/* Define to 1 if you have the `bitncmp' function. */
+/* #undef HAVE_BITNCMP */
+
+/* Define to 1 if bool is an available type. */
+#define HAVE_BOOL_T
+
+/* Define to 1 if you have the clock_gettime function and monotonic timer. */
+#define HAVE_CLOCK_GETTIME_MONOTONIC
+
+/* Define to 1 if you have the closesocket function. */
+/* #undef HAVE_CLOSESOCKET */
+
+/* Define to 1 if you have the CloseSocket camel case function. */
+/* #undef HAVE_CLOSESOCKET_CAMEL */
+
+/* Define to 1 if you have the connect function. */
+#define HAVE_CONNECT
+
+/* define if the compiler supports basic C++11 syntax */
+/* #undef HAVE_CXX11 */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H
+
+/* Define to 1 if you have the <errno.h> header file. */
+#define HAVE_ERRNO_H
+
+/* Define to 1 if you have the fcntl function. */
+#define HAVE_FCNTL
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H
+
+/* Define to 1 if you have a working fcntl O_NONBLOCK function. */
+#define HAVE_FCNTL_O_NONBLOCK
+
+/* Define to 1 if you have the freeaddrinfo function. */
+#define HAVE_FREEADDRINFO
+
+/* Define to 1 if you have a working getaddrinfo function. */
+#define HAVE_GETADDRINFO
+
+/* Define to 1 if the getaddrinfo function is threadsafe. */
+#define HAVE_GETADDRINFO_THREADSAFE
+
+/* Define to 1 if you have the getenv function. */
+#define HAVE_GETENV
+
+/* Define to 1 if you have the gethostbyaddr function. */
+#define HAVE_GETHOSTBYADDR
+
+/* Define to 1 if you have the gethostbyname function. */
+#define HAVE_GETHOSTBYNAME
+
+/* Define to 1 if you have the gethostname function. */
+#define HAVE_GETHOSTNAME
+
+/* Define to 1 if you have the getnameinfo function. */
+#define HAVE_GETNAMEINFO
+
+/* Define to 1 if you have the getservbyport_r function. */
+/* #undef HAVE_GETSERVBYPORT_R */
+
+/* Define to 1 if you have the getservbyname_r function. */
+/* #undef HAVE_GETSERVBYNAME_R */
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY
+
+/* Define to 1 if you have the `if_indextoname' function. */
+#define HAVE_IF_INDEXTONAME
+
+/* Define to 1 if you have a IPv6 capable working inet_net_pton function. */
+/* #undef HAVE_INET_NET_PTON */
+
+/* Define to 1 if you have a IPv6 capable working inet_ntop function. */
+#define HAVE_INET_NTOP
+
+/* Define to 1 if you have a IPv6 capable working inet_pton function. */
+#define HAVE_INET_PTON
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H
+
+/* Define to 1 if you have the ioctl function. */
+#define HAVE_IOCTL
+
+/* Define to 1 if you have the ioctlsocket function. */
+/* #undef HAVE_IOCTLSOCKET */
+
+/* Define to 1 if you have the IoctlSocket camel case function. */
+/* #undef HAVE_IOCTLSOCKET_CAMEL */
+
+/* Define to 1 if you have a working IoctlSocket camel case FIONBIO function.
+ */
+/* #undef HAVE_IOCTLSOCKET_CAMEL_FIONBIO */
+
+/* Define to 1 if you have a working ioctlsocket FIONBIO function. */
+/* #undef HAVE_IOCTLSOCKET_FIONBIO */
+
+/* Define to 1 if you have a working ioctl FIONBIO function. */
+#define HAVE_IOCTL_FIONBIO
+
+/* Define to 1 if you have a working ioctl SIOCGIFADDR function. */
+#define HAVE_IOCTL_SIOCGIFADDR
+
+/* Define to 1 if you have the `resolve' library (-lresolve). */
+#undef HAVE_LIBRESOLV
+
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H
+
+/* if your compiler supports LL */
+#define HAVE_LL
+
+/* Define to 1 if the compiler supports the 'long long' data type. */
+#define HAVE_LONGLONG
+
+/* Define to 1 if you have the malloc.h header file. */
+/* #undef HAVE_MALLOC_H */
+
+/* Define to 1 if you have the memory.h header file. */
+#define HAVE_MEMORY_H
+
+/* Define to 1 if you have the MSG_NOSIGNAL flag. */
+/* #undef HAVE_MSG_NOSIGNAL */
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#define HAVE_NETDB_H
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#define HAVE_NETINET_IN_H
+
+/* Define to 1 if you have the <netinet/tcp.h> header file. */
+#define HAVE_NETINET_TCP_H
+
+/* Define to 1 if you have the <net/if.h> header file. */
+#define HAVE_NET_IF_H
+
+/* Define to 1 if you have PF_INET6. */
+#define HAVE_PF_INET6
+
+/* Define to 1 if you have the recv function. */
+#define HAVE_RECV
+
+/* Define to 1 if you have the recvfrom function. */
+#define HAVE_RECVFROM
+
+/* Define to 1 if you have the send function. */
+#define HAVE_SEND
+
+/* Define to 1 if you have the setsockopt function. */
+#define HAVE_SETSOCKOPT
+
+/* Define to 1 if you have a working setsockopt SO_NONBLOCK function. */
+/* #undef HAVE_SETSOCKOPT_SO_NONBLOCK */
+
+/* Define to 1 if you have the <signal.h> header file. */
+#define HAVE_SIGNAL_H
+
+/* Define to 1 if sig_atomic_t is an available typedef. */
+#define HAVE_SIG_ATOMIC_T
+
+/* Define to 1 if sig_atomic_t is already defined as volatile. */
+/* #undef HAVE_SIG_ATOMIC_T_VOLATILE */
+
+/* Define to 1 if your struct sockaddr_in6 has sin6_scope_id. */
+#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
+
+/* Define to 1 if you have the socket function. */
+#define HAVE_SOCKET
+
+/* Define to 1 if you have the <socket.h> header file. */
+/* #undef HAVE_SOCKET_H */
+
+/* Define to 1 if you have the <stdbool.h> header file. */
+#define HAVE_STDBOOL_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H
+
+/* Define to 1 if you have the strcasecmp function. */
+#define HAVE_STRCASECMP
+
+/* Define to 1 if you have the strcmpi function. */
+/* #undef HAVE_STRCMPI */
+
+/* Define to 1 if you have the strdup function. */
+#define HAVE_STRDUP
+
+/* Define to 1 if you have the stricmp function. */
+/* #undef HAVE_STRICMP */
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H
+
+/* Define to 1 if you have the strncasecmp function. */
+#define HAVE_STRNCASECMP
+
+/* Define to 1 if you have the strncmpi function. */
+/* #undef HAVE_STRNCMPI */
+
+/* Define to 1 if you have the strnicmp function. */
+/* #undef HAVE_STRNICMP */
+
+/* Define to 1 if you have the <stropts.h> header file. */
+/* #undef HAVE_STROPTS_H */
+
+/* Define to 1 if you have struct addrinfo. */
+#define HAVE_STRUCT_ADDRINFO
+
+/* Define to 1 if you have struct in6_addr. */
+#define HAVE_STRUCT_IN6_ADDR
+
+/* Define to 1 if you have struct sockaddr_in6. */
+#define HAVE_STRUCT_SOCKADDR_IN6
+
+/* if struct sockaddr_storage is defined */
+#define HAVE_STRUCT_SOCKADDR_STORAGE
+
+/* Define to 1 if you have the timeval struct. */
+#define HAVE_STRUCT_TIMEVAL
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#define HAVE_SYS_SELECT_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#define HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <sys/uio.h> header file. */
+#define HAVE_SYS_UIO_H
+
+/* Define to 1 if you have the <time.h> header file. */
+#define HAVE_TIME_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H
+
+/* Define to 1 if you have the windows.h header file. */
+/* #undef HAVE_WINDOWS_H */
+
+/* Define to 1 if you have the winsock2.h header file. */
+/* #undef HAVE_WINSOCK2_H */
+
+/* Define to 1 if you have the winsock.h header file. */
+/* #undef HAVE_WINSOCK_H */
+
+/* Define to 1 if you have the writev function. */
+#define HAVE_WRITEV
+
+/* Define to 1 if you have the ws2tcpip.h header file. */
+/* #undef HAVE_WS2TCPIP_H */
+
+/* Define to 1 if you have the __system_property_get function */
+/* #undef HAVE___SYSTEM_PROPERTY_GET */
+
+/* Define to 1 if you need the malloc.h header file even with stdlib.h */
+/* #undef NEED_MALLOC_H */
+
+/* Define to 1 if you need the memory.h header file even with stdlib.h */
+/* #undef NEED_MEMORY_H */
+
+/* a suitable file/device to read random data from */
+/* #undef RANDOM_FILE */
+
+/* Define to the type qualifier pointed by arg 5 for recvfrom. */
+#define RECVFROM_QUAL_ARG5
+
+/* Define to the type of arg 1 for recvfrom. */
+#define RECVFROM_TYPE_ARG1 int
+
+/* Define to the type pointed by arg 2 for recvfrom. */
+#define RECVFROM_TYPE_ARG2 void *
+
+/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */
+#define RECVFROM_TYPE_ARG2_IS_VOID 0
+
+/* Define to the type of arg 3 for recvfrom. */
+#define RECVFROM_TYPE_ARG3 size_t
+
+/* Define to the type of arg 4 for recvfrom. */
+#define RECVFROM_TYPE_ARG4 int
+
+/* Define to the type pointed by arg 5 for recvfrom. */
+#define RECVFROM_TYPE_ARG5 struct sockaddr *
+
+/* Define to 1 if the type pointed by arg 5 for recvfrom is void. */
+#define RECVFROM_TYPE_ARG5_IS_VOID 0
+
+/* Define to the type pointed by arg 6 for recvfrom. */
+#define RECVFROM_TYPE_ARG6 socklen_t *
+
+/* Define to 1 if the type pointed by arg 6 for recvfrom is void. */
+#define RECVFROM_TYPE_ARG6_IS_VOID 0
+
+/* Define to the function return type for recvfrom. */
+#define RECVFROM_TYPE_RETV ssize_t
+
+/* Define to the type of arg 1 for recv. */
+#define RECV_TYPE_ARG1 int
+
+/* Define to the type of arg 2 for recv. */
+#define RECV_TYPE_ARG2 void *
+
+/* Define to the type of arg 3 for recv. */
+#define RECV_TYPE_ARG3 size_t
+
+/* Define to the type of arg 4 for recv. */
+#define RECV_TYPE_ARG4 int
+
+/* Define to the function return type for recv. */
+#define RECV_TYPE_RETV ssize_t
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#define RETSIGTYPE
+
+/* Define to the type qualifier of arg 2 for send. */
+#define SEND_QUAL_ARG2
+
+/* Define to the type of arg 1 for send. */
+#define SEND_TYPE_ARG1 int
+
+/* Define to the type of arg 2 for send. */
+#define SEND_TYPE_ARG2 void *
+
+/* Define to the type of arg 3 for send. */
+#define SEND_TYPE_ARG3 size_t
+
+/* Define to the type of arg 4 for send. */
+#define SEND_TYPE_ARG4 int
+
+/* Define to the function return type for send. */
+#define SEND_TYPE_RETV ssize_t
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#define TIME_WITH_SYS_TIME
+
+/* Define to disable non-blocking sockets. */
+#undef USE_BLOCKING_SOCKETS
+
+/* Define to avoid automatic inclusion of winsock.h */
+#undef WIN32_LEAN_AND_MEAN
+
+/* Type to use in place of in_addr_t when system does not provide it. */
+#undef in_addr_t
+
diff --git a/Sources/c-ares/include/ares_dns.h b/Sources/c-ares/include/ares_dns.h
new file mode 120000
index 0000000..6b16ce3
--- /dev/null
+++ b/Sources/c-ares/include/ares_dns.h
@@ -0,0 +1 @@
+../c-ares/include/ares_dns.h
\ No newline at end of file
diff --git a/Sources/c-ares/include/ares_dns_record.h b/Sources/c-ares/include/ares_dns_record.h
new file mode 120000
index 0000000..61976c8
--- /dev/null
+++ b/Sources/c-ares/include/ares_dns_record.h
@@ -0,0 +1 @@
+../c-ares/include/ares_dns_record.h
\ No newline at end of file
diff --git a/Sources/c-ares/include/ares_nameser.h b/Sources/c-ares/include/ares_nameser.h
new file mode 120000
index 0000000..bc51421
--- /dev/null
+++ b/Sources/c-ares/include/ares_nameser.h
@@ -0,0 +1 @@
+../c-ares/include/ares_nameser.h
\ No newline at end of file
diff --git a/Sources/c-ares/include/ares_version.h b/Sources/c-ares/include/ares_version.h
new file mode 120000
index 0000000..c9c18b3
--- /dev/null
+++ b/Sources/c-ares/include/ares_version.h
@@ -0,0 +1 @@
+../c-ares/include/ares_version.h
\ No newline at end of file
diff --git a/Sources/c_snikket/iinclude/Array.h b/Sources/c_borogove/iinclude/Array.h
similarity index 100%
rename from Sources/c_snikket/iinclude/Array.h
rename to Sources/c_borogove/iinclude/Array.h
diff --git a/Sources/c_snikket/iinclude/Date.h b/Sources/c_borogove/iinclude/Date.h
similarity index 100%
rename from Sources/c_snikket/iinclude/Date.h
rename to Sources/c_borogove/iinclude/Date.h
diff --git a/Sources/c_snikket/iinclude/Dynamic.h b/Sources/c_borogove/iinclude/Dynamic.h
similarity index 97%
rename from Sources/c_snikket/iinclude/Dynamic.h
rename to Sources/c_borogove/iinclude/Dynamic.h
index 391b949..b586516 100644
--- a/Sources/c_snikket/iinclude/Dynamic.h
+++ b/Sources/c_borogove/iinclude/Dynamic.h
@@ -41,7 +41,6 @@ public:
Dynamic(const hx::Native<T *> &inInterface):super(inInterface.ptr ? inInterface->__GetRealObject() : (hx::Object *)0 ) { }
#if !defined(__GNUC__) || defined(__MINGW32__) || (defined(__WORDSIZE) && (__WORDSIZE != 64))
Dynamic(long inVal);
- Dynamic(unsigned long inVal);
#endif
#ifdef __OBJC__
#ifdef HXCPP_OBJC
diff --git a/Sources/c_snikket/iinclude/EReg.h b/Sources/c_borogove/iinclude/EReg.h
similarity index 100%
rename from Sources/c_snikket/iinclude/EReg.h
rename to Sources/c_borogove/iinclude/EReg.h
diff --git a/Sources/c_snikket/iinclude/Enum.h b/Sources/c_borogove/iinclude/Enum.h
similarity index 100%
rename from Sources/c_snikket/iinclude/Enum.h
rename to Sources/c_borogove/iinclude/Enum.h
diff --git a/Sources/c_snikket/iinclude/HaxeCBridge.h b/Sources/c_borogove/iinclude/HaxeCBridge.h
similarity index 100%
rename from Sources/c_snikket/iinclude/HaxeCBridge.h
rename to Sources/c_borogove/iinclude/HaxeCBridge.h
diff --git a/Sources/c_snikket/iinclude/Lambda.h b/Sources/c_borogove/iinclude/Lambda.h
similarity index 100%
rename from Sources/c_snikket/iinclude/Lambda.h
rename to Sources/c_borogove/iinclude/Lambda.h
diff --git a/Sources/c_snikket/iinclude/Reflect.h b/Sources/c_borogove/iinclude/Reflect.h
similarity index 100%
rename from Sources/c_snikket/iinclude/Reflect.h
rename to Sources/c_borogove/iinclude/Reflect.h
diff --git a/Sources/c_snikket/iinclude/Std.h b/Sources/c_borogove/iinclude/Std.h
similarity index 100%
rename from Sources/c_snikket/iinclude/Std.h
rename to Sources/c_borogove/iinclude/Std.h
diff --git a/Sources/c_snikket/iinclude/StringBuf.h b/Sources/c_borogove/iinclude/StringBuf.h
similarity index 100%
rename from Sources/c_snikket/iinclude/StringBuf.h
rename to Sources/c_borogove/iinclude/StringBuf.h
diff --git a/Sources/c_snikket/iinclude/StringTools.h b/Sources/c_borogove/iinclude/StringTools.h
similarity index 100%
rename from Sources/c_snikket/iinclude/StringTools.h
rename to Sources/c_borogove/iinclude/StringTools.h
diff --git a/Sources/c_snikket/iinclude/Sys.h b/Sources/c_borogove/iinclude/Sys.h
similarity index 100%
rename from Sources/c_snikket/iinclude/Sys.h
rename to Sources/c_borogove/iinclude/Sys.h
diff --git a/Sources/c_snikket/iinclude/Type.h b/Sources/c_borogove/iinclude/Type.h
similarity index 100%
rename from Sources/c_snikket/iinclude/Type.h
rename to Sources/c_borogove/iinclude/Type.h
diff --git a/Sources/c_snikket/iinclude/ValueType.h b/Sources/c_borogove/iinclude/ValueType.h
similarity index 100%
rename from Sources/c_snikket/iinclude/ValueType.h
rename to Sources/c_borogove/iinclude/ValueType.h
diff --git a/Sources/c_snikket/iinclude/Xml.h b/Sources/c_borogove/iinclude/Xml.h
similarity index 100%
rename from Sources/c_snikket/iinclude/Xml.h
rename to Sources/c_borogove/iinclude/Xml.h
diff --git a/Sources/c_snikket/iinclude/_HaxeCBridge/Internal.h b/Sources/c_borogove/iinclude/_HaxeCBridge/Internal.h
similarity index 100%
rename from Sources/c_snikket/iinclude/_HaxeCBridge/Internal.h
rename to Sources/c_borogove/iinclude/_HaxeCBridge/Internal.h
diff --git a/Sources/c_snikket/iinclude/_UnicodeString/UnicodeString_Impl_.h b/Sources/c_borogove/iinclude/_UnicodeString/UnicodeString_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/_UnicodeString/UnicodeString_Impl_.h
rename to Sources/c_borogove/iinclude/_UnicodeString/UnicodeString_Impl_.h
diff --git a/Sources/c_snikket/iinclude/_Xml/XmlType_Impl_.h b/Sources/c_borogove/iinclude/_Xml/XmlType_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/_Xml/XmlType_Impl_.h
rename to Sources/c_borogove/iinclude/_Xml/XmlType_Impl_.h
diff --git a/Sources/c_snikket/iinclude/snikket/AttachmentSource.h b/Sources/c_borogove/iinclude/borogove/AttachmentSource.h
similarity index 81%
rename from Sources/c_snikket/iinclude/snikket/AttachmentSource.h
rename to Sources/c_borogove/iinclude/borogove/AttachmentSource.h
index 35e0bb9..96c46a4 100644
--- a/Sources/c_snikket/iinclude/snikket/AttachmentSource.h
+++ b/Sources/c_borogove/iinclude/borogove/AttachmentSource.h
@@ -1,15 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_AttachmentSource
-#define INCLUDED_snikket_AttachmentSource
+#ifndef INCLUDED_borogove_AttachmentSource
+#define INCLUDED_borogove_AttachmentSource
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,AttachmentSource)
+HX_DECLARE_CLASS1(borogove,AttachmentSource)
HX_DECLARE_CLASS2(tink,streams,StreamObject)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES AttachmentSource_obj : public ::hx::Object
@@ -20,13 +20,13 @@ class HXCPP_CLASS_ATTRIBUTES AttachmentSource_obj : public ::hx::Object
AttachmentSource_obj();
public:
- enum { _hx_ClassId = 0x3b403b17 };
+ enum { _hx_ClassId = 0x0882961f };
void __construct(::String path,::String mime);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.AttachmentSource")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.AttachmentSource")
{ 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,"snikket.AttachmentSource"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.AttachmentSource"); }
static ::hx::ObjectPtr< AttachmentSource_obj > __new(::String path,::String mime);
static ::hx::ObjectPtr< AttachmentSource_obj > __alloc(::hx::Ctx *_hx_ctx,::String path,::String mime);
static void * _hx_vtable;
@@ -67,6 +67,6 @@ class HXCPP_CLASS_ATTRIBUTES AttachmentSource_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_AttachmentSource */
+#endif /* INCLUDED_borogove_AttachmentSource */
diff --git a/Sources/c_snikket/iinclude/snikket/Autolink.h b/Sources/c_borogove/iinclude/borogove/Autolink.h
similarity index 85%
rename from Sources/c_snikket/iinclude/snikket/Autolink.h
rename to Sources/c_borogove/iinclude/borogove/Autolink.h
index 720a5f0..550a81a 100644
--- a/Sources/c_snikket/iinclude/snikket/Autolink.h
+++ b/Sources/c_borogove/iinclude/borogove/Autolink.h
@@ -1,15 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Autolink
-#define INCLUDED_snikket_Autolink
+#ifndef INCLUDED_borogove_Autolink
+#define INCLUDED_borogove_Autolink
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
HX_DECLARE_CLASS0(EReg)
-HX_DECLARE_CLASS1(snikket,Autolink)
+HX_DECLARE_CLASS1(borogove,Autolink)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Autolink_obj : public ::hx::Object
@@ -20,13 +20,13 @@ class HXCPP_CLASS_ATTRIBUTES Autolink_obj : public ::hx::Object
Autolink_obj();
public:
- enum { _hx_ClassId = 0x257fedc6 };
+ enum { _hx_ClassId = 0x0ab0594e };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket.Autolink")
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.Autolink")
{ 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,"snikket.Autolink"); }
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove.Autolink"); }
inline static ::hx::ObjectPtr< Autolink_obj > __new() {
::hx::ObjectPtr< Autolink_obj > __this = new Autolink_obj();
@@ -35,7 +35,7 @@ class HXCPP_CLASS_ATTRIBUTES Autolink_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< Autolink_obj > __alloc(::hx::Ctx *_hx_ctx) {
- Autolink_obj *__this = (Autolink_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Autolink_obj), false, "snikket.Autolink"));
+ Autolink_obj *__this = (Autolink_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Autolink_obj), false, "borogove.Autolink"));
*(void **)__this = Autolink_obj::_hx_vtable;
return __this;
}
@@ -86,6 +86,6 @@ class HXCPP_CLASS_ATTRIBUTES Autolink_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Autolink */
+#endif /* INCLUDED_borogove_Autolink */
diff --git a/Sources/c_snikket/iinclude/snikket/AvailableChat.h b/Sources/c_borogove/iinclude/borogove/AvailableChat.h
similarity index 71%
rename from Sources/c_snikket/iinclude/snikket/AvailableChat.h
rename to Sources/c_borogove/iinclude/borogove/AvailableChat.h
index 80ae01e..85b1a82 100644
--- a/Sources/c_snikket/iinclude/snikket/AvailableChat.h
+++ b/Sources/c_borogove/iinclude/borogove/AvailableChat.h
@@ -1,15 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_AvailableChat
-#define INCLUDED_snikket_AvailableChat
+#ifndef INCLUDED_borogove_AvailableChat
+#define INCLUDED_borogove_AvailableChat
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,AvailableChat)
-HX_DECLARE_CLASS1(snikket,Caps)
+HX_DECLARE_CLASS1(borogove,AvailableChat)
+HX_DECLARE_CLASS1(borogove,Caps)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES AvailableChat_obj : public ::hx::Object
@@ -20,15 +20,15 @@ class HXCPP_CLASS_ATTRIBUTES AvailableChat_obj : public ::hx::Object
AvailableChat_obj();
public:
- enum { _hx_ClassId = 0x7aa46944 };
+ enum { _hx_ClassId = 0x579930bc };
- void __construct(::String chatId,::String displayName,::String note, ::snikket::Caps caps);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.AvailableChat")
+ void __construct(::String chatId,::String displayName,::String note, ::borogove::Caps caps);
+ 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,"snikket.AvailableChat"); }
- static ::hx::ObjectPtr< AvailableChat_obj > __new(::String chatId,::String displayName,::String note, ::snikket::Caps caps);
- static ::hx::ObjectPtr< AvailableChat_obj > __alloc(::hx::Ctx *_hx_ctx,::String chatId,::String displayName,::String note, ::snikket::Caps caps);
+ { 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 void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -58,12 +58,12 @@ class HXCPP_CLASS_ATTRIBUTES AvailableChat_obj : public ::hx::Object
::String note__fromC();
::Dynamic note__fromC_dyn();
- ::snikket::Caps caps;
+ ::borogove::Caps caps;
bool isChannel();
::Dynamic isChannel_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_AvailableChat */
+#endif /* INCLUDED_borogove_AvailableChat */
diff --git a/Sources/c_snikket/iinclude/snikket/Builder.h b/Sources/c_borogove/iinclude/borogove/Builder.h
similarity index 77%
rename from Sources/c_snikket/iinclude/snikket/Builder.h
rename to Sources/c_borogove/iinclude/borogove/Builder.h
index 2b371f1..4a8e2d7 100644
--- a/Sources/c_snikket/iinclude/snikket/Builder.h
+++ b/Sources/c_borogove/iinclude/borogove/Builder.h
@@ -1,15 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Builder
-#define INCLUDED_snikket_Builder
+#ifndef INCLUDED_borogove_Builder
+#define INCLUDED_borogove_Builder
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Builder)
-HX_DECLARE_CLASS1(snikket,Symbol)
+HX_DECLARE_CLASS1(borogove,Builder)
+HX_DECLARE_CLASS1(borogove,Symbol)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Builder_obj : public ::hx::Object
@@ -20,13 +20,13 @@ class HXCPP_CLASS_ATTRIBUTES Builder_obj : public ::hx::Object
Builder_obj();
public:
- enum { _hx_ClassId = 0x7b0e9a2a };
+ enum { _hx_ClassId = 0x638ca23a };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Builder")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Builder")
{ 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,"snikket.Builder"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Builder"); }
static ::hx::ObjectPtr< Builder_obj > __new();
static ::hx::ObjectPtr< Builder_obj > __alloc(::hx::Ctx *_hx_ctx);
static void * _hx_vtable;
@@ -52,11 +52,11 @@ class HXCPP_CLASS_ATTRIBUTES Builder_obj : public ::hx::Object
bool offer(int codepoint);
::Dynamic offer_dyn();
- ::snikket::Symbol build();
+ ::borogove::Symbol build();
::Dynamic build_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Builder */
+#endif /* INCLUDED_borogove_Builder */
diff --git a/Sources/c_snikket/iinclude/snikket/Caps.h b/Sources/c_borogove/iinclude/borogove/Caps.h
similarity index 65%
rename from Sources/c_snikket/iinclude/snikket/Caps.h
rename to Sources/c_borogove/iinclude/borogove/Caps.h
index 0153f95..6e247e6 100644
--- a/Sources/c_snikket/iinclude/snikket/Caps.h
+++ b/Sources/c_borogove/iinclude/borogove/Caps.h
@@ -1,18 +1,18 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Caps
-#define INCLUDED_snikket_Caps
+#ifndef INCLUDED_borogove_Caps
+#define INCLUDED_borogove_Caps
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Caps)
-HX_DECLARE_CLASS1(snikket,Hash)
-HX_DECLARE_CLASS1(snikket,Identity)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
+HX_DECLARE_CLASS1(borogove,Caps)
+HX_DECLARE_CLASS1(borogove,Hash)
+HX_DECLARE_CLASS1(borogove,Identity)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Caps_obj : public ::hx::Object
@@ -23,15 +23,15 @@ class HXCPP_CLASS_ATTRIBUTES Caps_obj : public ::hx::Object
Caps_obj();
public:
- enum { _hx_ClassId = 0x02663c7e };
+ enum { _hx_ClassId = 0x2aca3ba2 };
- void __construct(::String node,::Array< ::Dynamic> identities,::Array< ::String > features,::Array< unsigned char > ver);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Caps")
+ void __construct(::String node,::Array< ::Dynamic> identities,::Array< ::String > features,::Array< ::Dynamic> data,::Array< unsigned char > ver);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Caps")
{ 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,"snikket.Caps"); }
- static ::hx::ObjectPtr< Caps_obj > __new(::String node,::Array< ::Dynamic> identities,::Array< ::String > features,::Array< unsigned char > ver);
- static ::hx::ObjectPtr< Caps_obj > __alloc(::hx::Ctx *_hx_ctx,::String node,::Array< ::Dynamic> identities,::Array< ::String > features,::Array< unsigned char > ver);
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Caps"); }
+ static ::hx::ObjectPtr< Caps_obj > __new(::String node,::Array< ::Dynamic> identities,::Array< ::String > features,::Array< ::Dynamic> data,::Array< unsigned char > ver);
+ static ::hx::ObjectPtr< Caps_obj > __alloc(::hx::Ctx *_hx_ctx,::String node,::Array< ::Dynamic> identities,::Array< ::String > features,::Array< ::Dynamic> data,::Array< unsigned char > ver);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -57,20 +57,24 @@ class HXCPP_CLASS_ATTRIBUTES Caps_obj : public ::hx::Object
::String node;
::Array< ::Dynamic> identities;
::Array< ::String > features;
- ::snikket::Hash _ver;
+ ::Array< ::Dynamic> data;
+ ::borogove::Hash _ver;
bool isChannel(::String chatId);
::Dynamic isChannel_dyn();
- ::snikket::Stanza discoReply();
+ ::borogove::Stanza discoReply();
::Dynamic discoReply_dyn();
- ::snikket::Stanza addC( ::snikket::Stanza stanza);
+ ::borogove::Stanza addC( ::borogove::Stanza stanza);
::Dynamic addC_dyn();
- ::snikket::Hash computeVer();
+ ::haxe::io::Bytes hashInput();
+ ::Dynamic hashInput_dyn();
+
+ ::borogove::Hash computeVer();
::Dynamic computeVer_dyn();
- ::snikket::Hash verRaw();
+ ::borogove::Hash verRaw();
::Dynamic verRaw_dyn();
::String ver();
@@ -78,6 +82,6 @@ class HXCPP_CLASS_ATTRIBUTES Caps_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Caps */
+#endif /* INCLUDED_borogove_Caps */
diff --git a/Sources/c_borogove/iinclude/borogove/Channel.h b/Sources/c_borogove/iinclude/borogove/Channel.h
new file mode 100644
index 0000000..4daec49
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/Channel.h
@@ -0,0 +1,168 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_Channel
+#define INCLUDED_borogove_Channel
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#ifndef INCLUDED_borogove_Chat
+#include <borogove/Chat.h>
+#endif
+HX_DECLARE_CLASS1(borogove,Caps)
+HX_DECLARE_CLASS1(borogove,Channel)
+HX_DECLARE_CLASS1(borogove,Chat)
+HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,ChatMessageBuilder)
+HX_DECLARE_CLASS1(borogove,Client)
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,GenericStream)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,MessageSync)
+HX_DECLARE_CLASS1(borogove,OutboxItem)
+HX_DECLARE_CLASS1(borogove,Participant)
+HX_DECLARE_CLASS1(borogove,Persistence)
+HX_DECLARE_CLASS1(borogove,Presence)
+HX_DECLARE_CLASS1(borogove,Reaction)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS1(thenshim,Thenable)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES Channel_obj : public ::borogove::Chat_obj
+{
+ public:
+ typedef ::borogove::Chat_obj super;
+ typedef Channel_obj OBJ_;
+ Channel_obj();
+
+ public:
+ enum { _hx_ClassId = 0x7f70c446 };
+
+ void __construct( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy, ::borogove::Caps disco);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Channel")
+ { 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.Channel"); }
+ static ::hx::ObjectPtr< Channel_obj > __new( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy, ::borogove::Caps disco);
+ static ::hx::ObjectPtr< Channel_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy, ::borogove::Caps disco);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Channel_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_("Channel",a3,28,23,9a); }
+
+ static void __boot();
+ static ::Dynamic __meta__;
+ ::borogove::Caps disco;
+ bool inSync;
+ ::borogove::MessageSync sync;
+ bool forceLive;
+ ::String _nickInUse;
+ void selfPing(bool refresh);
+ ::Dynamic selfPing_dyn();
+
+ void join();
+ ::Dynamic join_dyn();
+
+ void selfPingSuccess();
+ ::Dynamic selfPingSuccess_dyn();
+
+ ::String getDisplayName();
+
+ ::String description();
+ ::Dynamic description_dyn();
+
+ ::borogove::Stanza info();
+ ::Dynamic info_dyn();
+
+ void invite( ::borogove::Chat chat,::String threadId);
+
+ bool canInvite();
+
+ bool canSend();
+
+ ::Dynamic getCaps();
+
+ void setPresence(::String resource, ::borogove::Presence presence);
+
+ void doSync(::String lastId);
+ ::Dynamic doSync_dyn();
+
+ void setTrusted(bool trusted);
+
+ bool isTrusted();
+
+ bool isPrivate();
+ ::Dynamic isPrivate_dyn();
+
+ void setupNotifications();
+ ::Dynamic setupNotifications_dyn();
+
+ void refreshDisco( ::Dynamic callback);
+ ::Dynamic refreshDisco_dyn();
+
+ ::String preview();
+
+ bool livePresence();
+
+ bool syncing();
+
+ bool canAudioCall();
+
+ bool canVideoCall();
+
+ ::String nickInUse();
+ ::Dynamic nickInUse_dyn();
+
+ ::borogove::JID getFullJid();
+ ::Dynamic getFullJid_dyn();
+
+ ::Array< ::String > getParticipants();
+
+ ::borogove::Participant getParticipantDetails(::String participantId);
+
+ ::Dynamic getMessagesBefore(::String beforeId,::String beforeTime);
+
+ ::Dynamic getMessagesAfter(::String afterId,::String afterTime);
+
+ ::Dynamic getMessagesAround(::String aroundId,::String aroundTime);
+
+ ::borogove::ChatMessageBuilder prepareIncomingMessage( ::borogove::ChatMessageBuilder message, ::borogove::Stanza stanza);
+
+ ::borogove::ChatMessageBuilder prepareOutgoingMessage( ::borogove::ChatMessageBuilder message);
+ ::Dynamic prepareOutgoingMessage_dyn();
+
+ void correctMessage(::String localId, ::borogove::ChatMessageBuilder message);
+
+ void sendMessage( ::borogove::ChatMessageBuilder message);
+
+ void removeReaction( ::borogove::ChatMessage m, ::borogove::Reaction reaction);
+
+ void sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem);
+
+ ::String lastMessageId();
+
+ void markReadUpTo( ::borogove::ChatMessage message);
+
+ void bookmark();
+
+ void sendChatState(::String state,::String threadId);
+
+ void close();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_Channel */
diff --git a/Sources/c_snikket/iinclude/snikket/Chat.h b/Sources/c_borogove/iinclude/borogove/Chat.h
similarity index 54%
rename from Sources/c_snikket/iinclude/snikket/Chat.h
rename to Sources/c_borogove/iinclude/borogove/Chat.h
index 5f58f4c..8b6b35d 100644
--- a/Sources/c_snikket/iinclude/snikket/Chat.h
+++ b/Sources/c_borogove/iinclude/borogove/Chat.h
@@ -1,33 +1,37 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Chat
-#define INCLUDED_snikket_Chat
+#ifndef INCLUDED_borogove_Chat
+#define INCLUDED_borogove_Chat
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
+HX_DECLARE_CLASS1(borogove,Caps)
+HX_DECLARE_CLASS1(borogove,Chat)
+HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,ChatMessageBuilder)
+HX_DECLARE_CLASS1(borogove,Client)
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,GenericStream)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,MessageSync)
+HX_DECLARE_CLASS1(borogove,Outbox)
+HX_DECLARE_CLASS1(borogove,OutboxItem)
+HX_DECLARE_CLASS1(borogove,Participant)
+HX_DECLARE_CLASS1(borogove,Persistence)
+HX_DECLARE_CLASS1(borogove,Presence)
+HX_DECLARE_CLASS1(borogove,Reaction)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,calls,DTMFSender)
+HX_DECLARE_CLASS2(borogove,calls,MediaStream)
+HX_DECLARE_CLASS2(borogove,calls,MediaStreamTrack)
+HX_DECLARE_CLASS2(borogove,calls,Session)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS1(haxe,Timer)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
-HX_DECLARE_CLASS1(snikket,Caps)
-HX_DECLARE_CLASS1(snikket,Chat)
-HX_DECLARE_CLASS1(snikket,ChatMessage)
-HX_DECLARE_CLASS1(snikket,ChatMessageBuilder)
-HX_DECLARE_CLASS1(snikket,Client)
-HX_DECLARE_CLASS1(snikket,EventEmitter)
-HX_DECLARE_CLASS1(snikket,GenericStream)
-HX_DECLARE_CLASS1(snikket,MessageSync)
-HX_DECLARE_CLASS1(snikket,Participant)
-HX_DECLARE_CLASS1(snikket,Persistence)
-HX_DECLARE_CLASS1(snikket,Presence)
-HX_DECLARE_CLASS1(snikket,Reaction)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,jingle,DTMFSender)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStream)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStreamTrack)
-
-namespace snikket{
+HX_DECLARE_CLASS1(thenshim,Thenable)
+
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
@@ -38,13 +42,13 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
Chat_obj();
public:
- enum { _hx_ClassId = 0x026b7f35 };
+ enum { _hx_ClassId = 0x2acf7e59 };
- void __construct( ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Chat")
+ void __construct( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy,::Array< int > omemoContactDeviceIDs);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Chat")
{ 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,"snikket.Chat"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Chat"); }
//~Chat_obj();
@@ -60,8 +64,8 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
static void __boot();
static ::Dynamic __meta__;
- ::snikket::Client client;
- ::snikket::GenericStream stream;
+ ::borogove::Client client;
+ ::borogove::GenericStream stream;
::Dynamic persistence;
::Array< unsigned char > avatarSha1;
::haxe::ds::StringMap presence;
@@ -80,9 +84,16 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
bool isBlocked__fromC();
::Dynamic isBlocked__fromC_dyn();
- ::snikket::Stanza extensions;
+ ::borogove::ChatMessage lastMessage;
+ ::borogove::ChatMessage lastMessage__fromC();
+ ::Dynamic lastMessage__fromC_dyn();
+
+ bool isBookmarked;
+ bool isBookmarked__fromC();
+ ::Dynamic isBookmarked__fromC_dyn();
+
+ ::borogove::Stanza extensions;
int _unreadCount;
- ::snikket::ChatMessage lastMessage;
::String readUpToId;
::String readUpToBy;
bool isTyping;
@@ -91,31 +102,36 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
::Dynamic isActive;
::String activeThread;
::Dynamic notificationSettings;
- virtual ::snikket::ChatMessageBuilder prepareIncomingMessage( ::snikket::ChatMessageBuilder message, ::snikket::Stanza stanza) { return 0; }
+ ::borogove::Outbox outbox;
+ int _encryptionMode;
+ ::Array< int > omemoContactDeviceIDs;
+ virtual ::borogove::ChatMessageBuilder prepareIncomingMessage( ::borogove::ChatMessageBuilder message, ::borogove::Stanza stanza) { return 0; }
::Dynamic prepareIncomingMessage_dyn();
- virtual void getMessagesBefore(::String beforeId,::String beforeTime, ::Dynamic handler) {}
+ virtual ::Dynamic getMessagesBefore(::String beforeId,::String beforeTime) { return 0; }
::Dynamic getMessagesBefore_dyn();
void getMessagesBefore__fromC(::String beforeId,::String beforeTime,::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context);
- virtual void getMessagesAfter(::String afterId,::String afterTime, ::Dynamic handler) {}
+ virtual ::Dynamic getMessagesAfter(::String afterId,::String afterTime) { return 0; }
::Dynamic getMessagesAfter_dyn();
void getMessagesAfter__fromC(::String afterId,::String afterTime,::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context);
- virtual void getMessagesAround(::String aroundId,::String aroundTime, ::Dynamic handler) {}
+ virtual ::Dynamic getMessagesAround(::String aroundId,::String aroundTime) { return 0; }
::Dynamic getMessagesAround_dyn();
void getMessagesAround__fromC(::String aroundId,::String aroundTime,::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context);
- void fetchFromSync( ::snikket::MessageSync sync, ::Dynamic callback);
+ ::Dynamic fetchFromSync( ::borogove::MessageSync sync);
::Dynamic fetchFromSync_dyn();
- virtual void sendMessage( ::snikket::ChatMessageBuilder message) {}
+ virtual void sendMessage( ::borogove::ChatMessageBuilder message) {}
::Dynamic sendMessage_dyn();
- void sendMessage__fromC( ::snikket::ChatMessageBuilder message);
+ void sendMessage__fromC( ::borogove::ChatMessageBuilder message);
::Dynamic sendMessage__fromC_dyn();
- virtual void markReadUpTo( ::snikket::ChatMessage message) {}
+ virtual void sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem) {}
+ ::Dynamic sendMessageStanza_dyn();
+ virtual void markReadUpTo( ::borogove::ChatMessage message) {}
::Dynamic markReadUpTo_dyn();
- void markReadUpTo__fromC( ::snikket::ChatMessage message);
+ void markReadUpTo__fromC( ::borogove::ChatMessage message);
::Dynamic markReadUpTo__fromC_dyn();
virtual void bookmark() {}
@@ -127,22 +143,22 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
::Dynamic getParticipants_dyn();
size_t getParticipants__fromC(const char*** outPtr);
- virtual ::snikket::Participant getParticipantDetails(::String participantId) { return 0; }
+ virtual ::borogove::Participant getParticipantDetails(::String participantId) { return 0; }
::Dynamic getParticipantDetails_dyn();
- ::snikket::Participant getParticipantDetails__fromC(::String participantId);
+ ::borogove::Participant getParticipantDetails__fromC(::String participantId);
::Dynamic getParticipantDetails__fromC_dyn();
- virtual void correctMessage(::String localId, ::snikket::ChatMessageBuilder message) {}
+ virtual void correctMessage(::String localId, ::borogove::ChatMessageBuilder message) {}
::Dynamic correctMessage_dyn();
- void correctMessage__fromC(::String localId, ::snikket::ChatMessageBuilder message);
+ void correctMessage__fromC(::String localId, ::borogove::ChatMessageBuilder message);
::Dynamic correctMessage__fromC_dyn();
- void addReaction( ::snikket::ChatMessage m, ::snikket::Reaction reaction);
+ void addReaction( ::borogove::ChatMessage m, ::borogove::Reaction reaction);
::Dynamic addReaction_dyn();
- virtual void removeReaction( ::snikket::ChatMessage m, ::snikket::Reaction reaction) {}
+ virtual void removeReaction( ::borogove::ChatMessage m, ::borogove::Reaction reaction) {}
::Dynamic removeReaction_dyn();
- void removeReaction__fromC( ::snikket::ChatMessage m, ::snikket::Reaction reaction);
+ void removeReaction__fromC( ::borogove::ChatMessage m, ::borogove::Reaction reaction);
::Dynamic removeReaction__fromC_dyn();
virtual void sendChatState(::String state,::String threadId) {}
@@ -161,10 +177,10 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
void togglePinned();
::Dynamic togglePinned_dyn();
- void block( ::snikket::ChatMessage reportSpam,::hx::Null< bool > onServer);
+ void block(::hx::Null< bool > reportSpam, ::borogove::ChatMessage spamMessage,::hx::Null< bool > onServer);
::Dynamic block_dyn();
- void unblock(bool onServer);
+ void unblock(::hx::Null< bool > onServer);
::Dynamic unblock_dyn();
void setNotificationsInternal(bool filtered,bool mention,bool reply);
@@ -187,10 +203,7 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
::String lastMessageId__fromC();
::Dynamic lastMessageId__fromC_dyn();
- ::String lastMessageTimestamp();
- ::Dynamic lastMessageTimestamp_dyn();
-
- void updateFromBookmark( ::snikket::Stanza item);
+ void updateFromBookmark( ::borogove::Stanza item);
::Dynamic updateFromBookmark_dyn();
void updateFromRoster( ::Dynamic item);
@@ -214,19 +227,19 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
virtual ::String preview();
::Dynamic preview_dyn();
- void setLastMessage( ::snikket::ChatMessage message);
+ void setLastMessage( ::borogove::ChatMessage message);
::Dynamic setLastMessage_dyn();
- void setDisplayName(::String fn);
+ void setDisplayName(::String displayName);
::Dynamic setDisplayName_dyn();
- ::String getDisplayName();
+ virtual ::String getDisplayName();
::Dynamic getDisplayName_dyn();
- virtual void setPresence(::String resource, ::snikket::Presence presence);
+ virtual void setPresence(::String resource, ::borogove::Presence presence);
::Dynamic setPresence_dyn();
- void setCaps(::String resource, ::snikket::Caps caps);
+ void setCaps(::String resource, ::borogove::Caps caps);
::Dynamic setCaps_dyn();
void removePresence(::String resource);
@@ -235,13 +248,13 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
virtual ::Dynamic getCaps();
::Dynamic getCaps_dyn();
- ::snikket::Caps getResourceCaps(::String resource);
+ ::borogove::Caps getResourceCaps(::String resource);
::Dynamic getResourceCaps_dyn();
void setAvatarSha1(::Array< unsigned char > sha1);
::Dynamic setAvatarSha1_dyn();
- void setTrusted(bool trusted);
+ virtual void setTrusted(bool trusted);
::Dynamic setTrusted_dyn();
virtual bool isTrusted();
@@ -259,7 +272,7 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
virtual bool canVideoCall();
::Dynamic canVideoCall_dyn();
- void startCall(bool audio,bool video);
+ ::Dynamic startCall(bool audio,bool video);
::Dynamic startCall_dyn();
void addMedia(::Array< ::Dynamic> streams);
@@ -274,7 +287,7 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
int callStatus();
::Dynamic callStatus_dyn();
- ::snikket::jingle::DTMFSender dtmf();
+ ::borogove::calls::DTMFSender dtmf();
::Dynamic dtmf_dyn();
::Array< ::Dynamic> videoTracks();
@@ -282,10 +295,45 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
size_t videoTracks__fromC(void*** outPtr);
- void markReadUpToId(::String upTo,::String upToBy, ::Dynamic callback);
+ ::String encryptionMode();
+ ::Dynamic encryptionMode_dyn();
+
+ virtual bool canSend();
+ ::Dynamic canSend_dyn();
+
+ virtual void invite( ::borogove::Chat other,::String threadId);
+ ::Dynamic invite_dyn();
+
+ virtual bool canInvite();
+ ::Dynamic canInvite_dyn();
+
+ bool isApp();
+ ::Dynamic isApp_dyn();
+
+ bool hasCommands();
+ ::Dynamic hasCommands_dyn();
+
+ ::Dynamic commands();
+ ::Dynamic commands_dyn();
+
+ void commands__fromC(::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context);
+
+ ::Array< ::Dynamic> commandJids();
+ ::Dynamic commandJids_dyn();
+
+ ::borogove::Participant invitedBy();
+ ::Dynamic invitedBy_dyn();
+
+ ::Array< ::Dynamic> invites();
+ ::Dynamic invites_dyn();
+
+ ::Dynamic recomputeUnread();
+ ::Dynamic recomputeUnread_dyn();
+
+ ::Dynamic markReadUpToId(::String upTo,::String upToBy);
::Dynamic markReadUpToId_dyn();
- void markReadUpToMessage( ::snikket::ChatMessage message, ::Dynamic callback);
+ ::Dynamic markReadUpToMessage( ::borogove::ChatMessage message);
::Dynamic markReadUpToMessage_dyn();
void publishMds();
@@ -293,6 +341,6 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Chat */
+#endif /* INCLUDED_borogove_Chat */
diff --git a/Sources/c_snikket/iinclude/snikket/ChatAttachment.h b/Sources/c_borogove/iinclude/borogove/ChatAttachment.h
similarity index 79%
rename from Sources/c_snikket/iinclude/snikket/ChatAttachment.h
rename to Sources/c_borogove/iinclude/borogove/ChatAttachment.h
index a22273b..5fc568e 100644
--- a/Sources/c_snikket/iinclude/snikket/ChatAttachment.h
+++ b/Sources/c_borogove/iinclude/borogove/ChatAttachment.h
@@ -1,15 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_ChatAttachment
-#define INCLUDED_snikket_ChatAttachment
+#ifndef INCLUDED_borogove_ChatAttachment
+#define INCLUDED_borogove_ChatAttachment
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,ChatAttachment)
-HX_DECLARE_CLASS1(snikket,Hash)
+HX_DECLARE_CLASS1(borogove,ChatAttachment)
+HX_DECLARE_CLASS1(borogove,Hash)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES ChatAttachment_obj : public ::hx::Object
@@ -20,13 +20,13 @@ class HXCPP_CLASS_ATTRIBUTES ChatAttachment_obj : public ::hx::Object
ChatAttachment_obj();
public:
- enum { _hx_ClassId = 0x2f907f78 };
+ enum { _hx_ClassId = 0x7dd0539c };
void __construct(::String name,::String mime, ::Dynamic size,::Array< ::String > uris,::Array< ::Dynamic> hashes);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.ChatAttachment")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.ChatAttachment")
{ 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,"snikket.ChatAttachment"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.ChatAttachment"); }
static ::hx::ObjectPtr< ChatAttachment_obj > __new(::String name,::String mime, ::Dynamic size,::Array< ::String > uris,::Array< ::Dynamic> hashes);
static ::hx::ObjectPtr< ChatAttachment_obj > __alloc(::hx::Ctx *_hx_ctx,::String name,::String mime, ::Dynamic size,::Array< ::String > uris,::Array< ::Dynamic> hashes);
static void * _hx_vtable;
@@ -47,7 +47,7 @@ class HXCPP_CLASS_ATTRIBUTES ChatAttachment_obj : public ::hx::Object
static void __boot();
static ::Dynamic __meta__;
- static ::snikket::ChatAttachment create(::String name,::String mime,int size,::String uri);
+ static ::borogove::ChatAttachment create(::String name,::String mime,int size,::String uri);
static ::Dynamic create_dyn();
::String name;
@@ -70,6 +70,6 @@ class HXCPP_CLASS_ATTRIBUTES ChatAttachment_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_ChatAttachment */
+#endif /* INCLUDED_borogove_ChatAttachment */
diff --git a/Sources/c_snikket/iinclude/snikket/ChatMessage.h b/Sources/c_borogove/iinclude/borogove/ChatMessage.h
similarity index 73%
rename from Sources/c_snikket/iinclude/snikket/ChatMessage.h
rename to Sources/c_borogove/iinclude/borogove/ChatMessage.h
index 0b50178..40263f4 100644
--- a/Sources/c_snikket/iinclude/snikket/ChatMessage.h
+++ b/Sources/c_borogove/iinclude/borogove/ChatMessage.h
@@ -1,23 +1,24 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_ChatMessage
-#define INCLUDED_snikket_ChatMessage
+#ifndef INCLUDED_borogove_ChatMessage
+#define INCLUDED_borogove_ChatMessage
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
+HX_DECLARE_CLASS1(borogove,ChatAttachment)
+HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,ChatMessageBuilder)
+HX_DECLARE_CLASS1(borogove,EncryptionInfo)
+HX_DECLARE_CLASS1(borogove,Hash)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,Participant)
+HX_DECLARE_CLASS1(borogove,Reaction)
+HX_DECLARE_CLASS1(borogove,Stanza)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
-HX_DECLARE_CLASS1(snikket,ChatAttachment)
-HX_DECLARE_CLASS1(snikket,ChatMessage)
-HX_DECLARE_CLASS1(snikket,ChatMessageBuilder)
-HX_DECLARE_CLASS1(snikket,Hash)
-HX_DECLARE_CLASS1(snikket,JID)
-HX_DECLARE_CLASS1(snikket,Reaction)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES ChatMessage_obj : public ::hx::Object
@@ -28,13 +29,13 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessage_obj : public ::hx::Object
ChatMessage_obj();
public:
- enum { _hx_ClassId = 0x36665f12 };
+ enum { _hx_ClassId = 0x7b284c6e };
void __construct( ::Dynamic params);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.ChatMessage")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.ChatMessage")
{ 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,"snikket.ChatMessage"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.ChatMessage"); }
static ::hx::ObjectPtr< ChatMessage_obj > __new( ::Dynamic params);
static ::hx::ObjectPtr< ChatMessage_obj > __alloc(::hx::Ctx *_hx_ctx, ::Dynamic params);
static void * _hx_vtable;
@@ -55,7 +56,7 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessage_obj : public ::hx::Object
static void __boot();
static ::Dynamic __meta__;
- static ::snikket::ChatMessage fromStanza( ::snikket::Stanza stanza, ::snikket::JID localJid, ::Dynamic addContext);
+ static ::borogove::ChatMessage fromStanza( ::borogove::Stanza stanza, ::borogove::JID localJid, ::Dynamic addContext);
static ::Dynamic fromStanza_dyn();
::String localId;
@@ -80,16 +81,16 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessage_obj : public ::hx::Object
::String timestamp__fromC();
::Dynamic timestamp__fromC_dyn();
- ::snikket::JID to;
- ::snikket::JID from;
+ ::borogove::JID to;
+ ::borogove::JID from;
::Array< ::Dynamic> recipients;
::Array< ::Dynamic> replyTo;
::String senderId;
::String senderId__fromC();
::Dynamic senderId__fromC_dyn();
- ::snikket::ChatMessage replyToMessage;
- ::snikket::ChatMessage replyToMessage__fromC();
+ ::borogove::ChatMessage replyToMessage;
+ ::borogove::ChatMessage replyToMessage__fromC();
::Dynamic replyToMessage__fromC_dyn();
::String threadId;
@@ -126,21 +127,26 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessage_obj : public ::hx::Object
int status__fromC();
::Dynamic status__fromC_dyn();
- void set_status__fromC(int value);
- ::Dynamic set_status__fromC_dyn();
+ ::String statusText;
+ ::String statusText__fromC();
+ ::Dynamic statusText__fromC_dyn();
::Array< ::Dynamic> versions;
size_t versions__fromC(void*** outPtr);
::Array< ::Dynamic> payloads;
- ::snikket::Stanza stanza;
- ::snikket::ChatMessageBuilder reply();
+ ::borogove::EncryptionInfo encryption;
+ ::borogove::EncryptionInfo encryption__fromC();
+ ::Dynamic encryption__fromC_dyn();
+
+ ::borogove::Stanza stanza;
+ ::borogove::ChatMessageBuilder reply();
::Dynamic reply_dyn();
::String getReplyId();
::Dynamic getReplyId_dyn();
- ::snikket::ChatMessage set_replyToMessage( ::snikket::ChatMessage m);
+ ::borogove::ChatMessage set_replyToMessage( ::borogove::ChatMessage m);
::Dynamic set_replyToMessage_dyn();
::haxe::ds::StringMap set_reactions( ::haxe::ds::StringMap r);
@@ -149,7 +155,7 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessage_obj : public ::hx::Object
::Array< ::Dynamic> inlineHashReferences();
::Dynamic inlineHashReferences_dyn();
- ::String html();
+ ::String html( ::borogove::Participant sender);
::Dynamic html_dyn();
::String chatId();
@@ -173,11 +179,11 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessage_obj : public ::hx::Object
::String callDuration();
::Dynamic callDuration_dyn();
- ::snikket::Stanza asStanza();
+ ::borogove::Stanza asStanza();
::Dynamic asStanza_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_ChatMessage */
+#endif /* INCLUDED_borogove_ChatMessage */
diff --git a/Sources/c_snikket/iinclude/snikket/ChatMessageBuilder.h b/Sources/c_borogove/iinclude/borogove/ChatMessageBuilder.h
similarity index 71%
rename from Sources/c_snikket/iinclude/snikket/ChatMessageBuilder.h
rename to Sources/c_borogove/iinclude/borogove/ChatMessageBuilder.h
index 98acef8..ca0169e 100644
--- a/Sources/c_snikket/iinclude/snikket/ChatMessageBuilder.h
+++ b/Sources/c_borogove/iinclude/borogove/ChatMessageBuilder.h
@@ -1,23 +1,23 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#define INCLUDED_snikket_ChatMessageBuilder
+#ifndef INCLUDED_borogove_ChatMessageBuilder
+#define INCLUDED_borogove_ChatMessageBuilder
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
+HX_DECLARE_CLASS1(borogove,ChatAttachment)
+HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,ChatMessageBuilder)
+HX_DECLARE_CLASS1(borogove,EncryptionInfo)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,Node)
+HX_DECLARE_CLASS1(borogove,Stanza)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
HX_DECLARE_CLASS1(htmlparser,HtmlNode)
-HX_DECLARE_CLASS1(snikket,ChatAttachment)
-HX_DECLARE_CLASS1(snikket,ChatMessage)
-HX_DECLARE_CLASS1(snikket,ChatMessageBuilder)
-HX_DECLARE_CLASS1(snikket,JID)
-HX_DECLARE_CLASS1(snikket,Node)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES ChatMessageBuilder_obj : public ::hx::Object
@@ -28,13 +28,13 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessageBuilder_obj : public ::hx::Object
ChatMessageBuilder_obj();
public:
- enum { _hx_ClassId = 0x1d9d1345 };
+ enum { _hx_ClassId = 0x208bfddd };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.ChatMessageBuilder")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.ChatMessageBuilder")
{ 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,"snikket.ChatMessageBuilder"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.ChatMessageBuilder"); }
static ::hx::ObjectPtr< ChatMessageBuilder_obj > __new();
static ::hx::ObjectPtr< ChatMessageBuilder_obj > __alloc(::hx::Ctx *_hx_ctx);
static void * _hx_vtable;
@@ -55,7 +55,7 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessageBuilder_obj : public ::hx::Object
static void __boot();
static ::Dynamic __meta__;
- static ::snikket::ChatMessage makeModerated( ::snikket::ChatMessage m,::String timestamp,::String moderatorId,::String reason);
+ static ::borogove::ChatMessage makeModerated( ::borogove::ChatMessage m,::String timestamp,::String moderatorId,::String reason);
static ::Dynamic makeModerated_dyn();
::String localId;
@@ -95,9 +95,9 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessageBuilder_obj : public ::hx::Object
void set_timestamp__fromC(::String value);
::Dynamic set_timestamp__fromC_dyn();
- ::snikket::JID to;
- ::snikket::JID from;
- ::snikket::JID sender;
+ ::borogove::JID to;
+ ::borogove::JID from;
+ ::borogove::JID sender;
::Array< ::Dynamic> recipients;
::Array< ::Dynamic> replyTo;
::String senderId;
@@ -107,11 +107,11 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessageBuilder_obj : public ::hx::Object
void set_senderId__fromC(::String value);
::Dynamic set_senderId__fromC_dyn();
- ::snikket::ChatMessage replyToMessage;
- ::snikket::ChatMessage replyToMessage__fromC();
+ ::borogove::ChatMessage replyToMessage;
+ ::borogove::ChatMessage replyToMessage__fromC();
::Dynamic replyToMessage__fromC_dyn();
- void set_replyToMessage__fromC( ::snikket::ChatMessage value);
+ void set_replyToMessage__fromC( ::borogove::ChatMessage value);
::Dynamic set_replyToMessage__fromC_dyn();
::String threadId;
@@ -153,6 +153,13 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessageBuilder_obj : public ::hx::Object
void set_status__fromC(int value);
::Dynamic set_status__fromC_dyn();
+ ::String statusText;
+ ::String statusText__fromC();
+ ::Dynamic statusText__fromC_dyn();
+
+ void set_statusText__fromC(::String value);
+ ::Dynamic set_statusText__fromC_dyn();
+
::Array< ::Dynamic> versions;
void set_versions__fromC(::cpp::Pointer< void* > inPtr,size_t count);
::Dynamic set_versions__fromC_dyn();
@@ -160,17 +167,24 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessageBuilder_obj : public ::hx::Object
size_t versions__fromC(void*** outPtr);
::Array< ::Dynamic> payloads;
- ::snikket::Stanza stanza;
- void attachSims( ::snikket::Stanza sims);
+ ::borogove::EncryptionInfo encryption__fromC();
+ ::Dynamic encryption__fromC_dyn();
+
+ void set_encryption__fromC( ::borogove::EncryptionInfo value);
+ ::Dynamic set_encryption__fromC_dyn();
+
+ ::borogove::EncryptionInfo encryption;
+ ::borogove::Stanza stanza;
+ void attachSims( ::borogove::Stanza sims);
::Dynamic attachSims_dyn();
- void addAttachment( ::snikket::ChatAttachment attachment);
+ void addAttachment( ::borogove::ChatAttachment attachment);
::Dynamic addAttachment_dyn();
void setHtml(::String html);
::Dynamic setHtml_dyn();
- ::snikket::Node htmlToNode( ::htmlparser::HtmlNode node);
+ ::borogove::Node htmlToNode( ::htmlparser::HtmlNode node);
::Dynamic htmlToNode_dyn();
::String chatId();
@@ -182,11 +196,11 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessageBuilder_obj : public ::hx::Object
bool isIncoming();
::Dynamic isIncoming_dyn();
- ::snikket::ChatMessage build();
+ ::borogove::ChatMessage build();
::Dynamic build_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_ChatMessageBuilder */
+#endif /* INCLUDED_borogove_ChatMessageBuilder */
diff --git a/Sources/c_borogove/iinclude/borogove/Client.h b/Sources/c_borogove/iinclude/borogove/Client.h
new file mode 100644
index 0000000..e10a512
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/Client.h
@@ -0,0 +1,314 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_Client
+#define INCLUDED_borogove_Client
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+HX_DECLARE_CLASS1(borogove,AttachmentSource)
+HX_DECLARE_CLASS1(borogove,AvailableChat)
+HX_DECLARE_CLASS1(borogove,Caps)
+HX_DECLARE_CLASS1(borogove,Chat)
+HX_DECLARE_CLASS1(borogove,ChatAttachment)
+HX_DECLARE_CLASS1(borogove,ChatMessage)
+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)
+HX_DECLARE_CLASS1(borogove,Hash)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,ModerationAction)
+HX_DECLARE_CLASS1(borogove,Persistence)
+HX_DECLARE_CLASS1(borogove,ProfileBuilder)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,calls,InitiatedSession)
+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,IMap)
+HX_DECLARE_CLASS2(haxe,ds,StringMap)
+HX_DECLARE_CLASS1(thenshim,Thenable)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES Client_obj : public ::borogove::EventEmitter_obj
+{
+ public:
+ typedef ::borogove::EventEmitter_obj super;
+ typedef Client_obj OBJ_;
+ Client_obj();
+
+ public:
+ enum { _hx_ClassId = 0x6f478c0c };
+
+ void __construct(::String accountId,::Dynamic persistence);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Client")
+ { 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.Client"); }
+ static ::hx::ObjectPtr< Client_obj > __new(::String accountId,::Dynamic persistence);
+ static ::hx::ObjectPtr< Client_obj > __alloc(::hx::Ctx *_hx_ctx,::String accountId,::Dynamic persistence);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Client_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_("Client",6b,3e,e4,3e); }
+
+ static void __boot();
+ static ::Dynamic __meta__;
+ bool sendAvailable;
+ void set_sendAvailable__fromC(bool value);
+ ::Dynamic set_sendAvailable__fromC_dyn();
+
+ ::borogove::GenericStream stream;
+ ::borogove::JID jid;
+ ::Array< ::Dynamic> chats;
+ ::Dynamic persistence;
+ ::borogove::Caps caps;
+ ::String _displayName;
+ ::String fastMechanism;
+ ::String token;
+ ::Dynamic fastCount;
+ ::haxe::ds::StringMap pendingCaps;
+ ::borogove::EncryptionPolicy encryptionPolicy;
+ bool inSync;
+ void processLiveMessage( ::borogove::Stanza stanza, ::borogove::Stanza fwd, ::borogove::EncryptionInfo encryptionInfo);
+ ::Dynamic processLiveMessage_dyn();
+
+ void start();
+ ::Dynamic start_dyn();
+
+ ::Dynamic startOffline();
+ ::Dynamic startOffline_dyn();
+
+ void startOffline__fromC(::cpp::Function< void (bool,void*) > handler,void* handler__context);
+
+ void logout(bool completely);
+ ::Dynamic logout_dyn();
+
+ void usePassword(::String password);
+ ::Dynamic usePassword_dyn();
+
+ ::String accountId();
+ ::Dynamic accountId_dyn();
+
+ ::String displayName();
+ ::Dynamic displayName_dyn();
+
+ void setProfile( ::borogove::ProfileBuilder profile,bool publicAccess);
+ ::Dynamic setProfile_dyn();
+
+ bool updateDisplayName(::String fn);
+ ::Dynamic updateDisplayName_dyn();
+
+ ::borogove::EventResult onConnected( ::Dynamic data);
+ ::Dynamic onConnected_dyn();
+
+ ::Dynamic prepareAttachment( ::borogove::AttachmentSource source);
+ ::Dynamic prepareAttachment_dyn();
+
+ void prepareAttachment__fromC( ::borogove::AttachmentSource source,::cpp::Function< void (void*,void*) > handler,void* handler__context);
+
+ void prepareAttachmentFor( ::borogove::AttachmentSource source,::Array< ::Dynamic> services,::Array< ::Dynamic> hashes, ::Dynamic callback);
+ ::Dynamic prepareAttachmentFor_dyn();
+
+ ::Array< ::Dynamic> getChats();
+ ::Dynamic getChats_dyn();
+
+ size_t getChats__fromC(void*** outPtr);
+
+ void findAvailableChats(::String q, ::Dynamic callback);
+ ::Dynamic findAvailableChats_dyn();
+
+ void findAvailableChats__fromC(::String q,::cpp::Function< bool (const char*,void**,size_t,void*) > callback,void* callback__context);
+
+ ::borogove::Chat startChat( ::borogove::AvailableChat availableChat);
+ ::Dynamic startChat_dyn();
+
+ ::borogove::Chat getChat(::String chatId);
+ ::Dynamic getChat_dyn();
+
+ ::Dynamic moderateMessage( ::borogove::ModerationAction action);
+ ::Dynamic moderateMessage_dyn();
+
+ ::borogove::DirectChat getDirectChat(::String chatId,::hx::Null< bool > triggerIfNew);
+ ::Dynamic getDirectChat_dyn();
+
+ ::Dynamic enabledPushData;
+ void 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);
+ ::Dynamic enablePush_dyn();
+
+ void enablePush__fromC(::String push_service,::String endpoint,::cpp::Pointer< unsigned char > p256dh,size_t p256dh__len,::cpp::Pointer< unsigned char > auth,size_t auth__len,int grace,::cpp::Pointer< unsigned char > vapid_private_pkcs8,size_t vapid_private_pkcs8__len,::cpp::Pointer< const char* > claims,size_t claims__len);
+ ::Dynamic enablePush__fromC_dyn();
+
+ void updatePushIfEnabled();
+ ::Dynamic updatePushIfEnabled_dyn();
+
+ int addPasswordNeededListener( ::Dynamic handler);
+ ::Dynamic addPasswordNeededListener_dyn();
+
+ int addPasswordNeededListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
+
+ int addStatusOnlineListener( ::Dynamic handler);
+ ::Dynamic addStatusOnlineListener_dyn();
+
+ int addStatusOnlineListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context);
+
+ int addStatusOfflineListener( ::Dynamic handler);
+ ::Dynamic addStatusOfflineListener_dyn();
+
+ int addStatusOfflineListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context);
+
+ int addConnectionFailedListener( ::Dynamic handler);
+ ::Dynamic addConnectionFailedListener_dyn();
+
+ int addConnectionFailedListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context);
+
+ int addTlsCheckListener( ::Dynamic handler);
+ ::Dynamic addTlsCheckListener_dyn();
+
+ int addTlsCheckListener__fromC(::cpp::Function< bool (const char*,const char**,size_t,void*) > handler,void* handler__context);
+
+ int addChatMessageListener( ::Dynamic handler);
+ ::Dynamic addChatMessageListener_dyn();
+
+ int addChatMessageListener__fromC(::cpp::Function< void (void*,int,void*) > handler,void* handler__context);
+
+ int addSyncMessageListener( ::Dynamic handler);
+ ::Dynamic addSyncMessageListener_dyn();
+
+ int addSyncMessageListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
+
+ int addChatsUpdatedListener( ::Dynamic handler);
+ ::Dynamic addChatsUpdatedListener_dyn();
+
+ int addChatsUpdatedListener__fromC(::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context);
+
+ int addCallRingListener( ::Dynamic handler);
+ ::Dynamic addCallRingListener_dyn();
+
+ int addCallRingListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
+
+ int addCallRetractListener( ::Dynamic handler);
+ ::Dynamic addCallRetractListener_dyn();
+
+ int addCallRetractListener__fromC(::cpp::Function< void (const char*,const char*,void*) > handler,void* handler__context);
+
+ int addCallRingingListener( ::Dynamic handler);
+ ::Dynamic addCallRingingListener_dyn();
+
+ int addCallRingingListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
+
+ int addCallUpdateStatusListener( ::Dynamic handler);
+ ::Dynamic addCallUpdateStatusListener_dyn();
+
+ int addCallUpdateStatusListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
+
+ int addCallMediaListener( ::Dynamic handler);
+ ::Dynamic addCallMediaListener_dyn();
+
+ int addCallMediaListener__fromC(::cpp::Function< void (void*,bool,bool,void*) > handler,void* handler__context);
+
+ int addCallTrackListener( ::Dynamic handler);
+ ::Dynamic addCallTrackListener_dyn();
+
+ int addCallTrackListener__fromC(::cpp::Function< void (void*,void*,void**,size_t,void*) > handler,void* handler__context);
+
+ void setInForeground();
+ ::Dynamic setInForeground_dyn();
+
+ void setNotInForeground();
+ ::Dynamic setNotInForeground_dyn();
+
+ ::Dynamic fetchMediaByHash(::Array< ::Dynamic> hashes,::Array< ::Dynamic> counterparts);
+ ::Dynamic fetchMediaByHash_dyn();
+
+ ::Dynamic fetchMediaByHashOneCounterpart(::Array< ::Dynamic> hashes, ::borogove::JID counterpart);
+ ::Dynamic fetchMediaByHashOneCounterpart_dyn();
+
+ void chatActivity( ::borogove::Chat chat,::hx::Null< bool > trigger);
+ ::Dynamic chatActivity_dyn();
+
+ void sortChats();
+ ::Dynamic sortChats_dyn();
+
+ ::Dynamic storeMessages(::Array< ::Dynamic> messages);
+ ::Dynamic storeMessages_dyn();
+
+ void sendQuery( ::borogove::queries::GenericQuery query);
+ ::Dynamic sendQuery_dyn();
+
+ void publishWithOptions( ::borogove::Stanza stanza, ::borogove::Stanza options);
+ ::Dynamic publishWithOptions_dyn();
+
+ void sendStanza( ::borogove::Stanza stanza);
+ ::Dynamic sendStanza_dyn();
+
+ void sendPresence(::String to, ::Dynamic augment);
+ ::Dynamic sendPresence_dyn();
+
+ void getIceServers( ::Dynamic callback);
+ ::Dynamic getIceServers_dyn();
+
+ void discoverServices( ::borogove::JID target,::String node, ::Dynamic callback);
+ ::Dynamic discoverServices_dyn();
+
+ void notifyMessageHandlers( ::borogove::ChatMessage message,int event);
+ ::Dynamic notifyMessageHandlers_dyn();
+
+ void notifySyncMessageHandlers( ::borogove::ChatMessage message);
+ ::Dynamic notifySyncMessageHandlers_dyn();
+
+ void rosterGet();
+ ::Dynamic rosterGet_dyn();
+
+ void startChatWith(::String jid, ::Dynamic handleCaps, ::Dynamic handleChat);
+ ::Dynamic startChatWith_dyn();
+
+ void mucInvite(::String chatId, ::borogove::Chat chat,::String senderId,::String threadId,::String serverId,::String serverIdBy,::String reason,::String password);
+ ::Dynamic mucInvite_dyn();
+
+ void serverBlocked(::String blocked);
+ ::Dynamic serverBlocked_dyn();
+
+ void bookmarksGet( ::Dynamic callback);
+ ::Dynamic bookmarksGet_dyn();
+
+ void sync( ::Dynamic callback);
+ ::Dynamic sync_dyn();
+
+ void onMAMJMI(::String sid, ::borogove::Stanza stanza);
+ ::Dynamic onMAMJMI_dyn();
+
+ void doSync( ::Dynamic callback,::String lastId);
+ ::Dynamic doSync_dyn();
+
+ void pingAllChannels(bool refresh);
+ ::Dynamic pingAllChannels_dyn();
+
+ void joinAllChannels();
+ ::Dynamic joinAllChannels_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_Client */
diff --git a/Sources/c_snikket/iinclude/snikket/Color.h b/Sources/c_borogove/iinclude/borogove/Color.h
similarity index 68%
rename from Sources/c_snikket/iinclude/snikket/Color.h
rename to Sources/c_borogove/iinclude/borogove/Color.h
index 074383f..95ad542 100644
--- a/Sources/c_snikket/iinclude/snikket/Color.h
+++ b/Sources/c_borogove/iinclude/borogove/Color.h
@@ -1,14 +1,16 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Color
-#define INCLUDED_snikket_Color
+#ifndef INCLUDED_borogove_Color
+#define INCLUDED_borogove_Color
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Color)
+HX_DECLARE_CLASS1(borogove,Color)
+HX_DECLARE_CLASS1(haxe,IMap)
+HX_DECLARE_CLASS2(haxe,ds,StringMap)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Color_obj : public ::hx::Object
@@ -19,13 +21,13 @@ class HXCPP_CLASS_ATTRIBUTES Color_obj : public ::hx::Object
Color_obj();
public:
- enum { _hx_ClassId = 0x204ca266 };
+ enum { _hx_ClassId = 0x4f67e2c2 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket.Color")
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.Color")
{ 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,"snikket.Color"); }
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove.Color"); }
inline static ::hx::ObjectPtr< Color_obj > __new() {
::hx::ObjectPtr< Color_obj > __this = new Color_obj();
@@ -34,7 +36,7 @@ class HXCPP_CLASS_ATTRIBUTES Color_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< Color_obj > __alloc(::hx::Ctx *_hx_ctx) {
- Color_obj *__this = (Color_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Color_obj), false, "snikket.Color"));
+ Color_obj *__this = (Color_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Color_obj), false, "borogove.Color"));
*(void **)__this = Color_obj::_hx_vtable;
return __this;
}
@@ -46,10 +48,14 @@ class HXCPP_CLASS_ATTRIBUTES Color_obj : public ::hx::Object
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_("Color",43,e1,89,dd); }
+ static void __boot();
+ static ::haxe::ds::StringMap cache;
+ static int cacheSize;
static ::String forString(::String s);
static ::Dynamic forString_dyn();
@@ -58,6 +64,6 @@ class HXCPP_CLASS_ATTRIBUTES Color_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Color */
+#endif /* INCLUDED_borogove_Color */
diff --git a/Sources/c_borogove/iinclude/borogove/Command.h b/Sources/c_borogove/iinclude/borogove/Command.h
new file mode 100644
index 0000000..5b85cb6
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/Command.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_Command
+#define INCLUDED_borogove_Command
+
+#ifndef HXCPP_H
+#include <hxcpp.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(thenshim,Thenable)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES Command_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Command_obj OBJ_;
+ Command_obj();
+
+ public:
+ enum { _hx_ClassId = 0x753f386a };
+
+ void __construct( ::borogove::Client client, ::Dynamic params);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Command")
+ { 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.Command"); }
+ static ::hx::ObjectPtr< Command_obj > __new( ::borogove::Client client, ::Dynamic params);
+ static ::hx::ObjectPtr< Command_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::Dynamic params);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Command_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_("Command",2b,99,be,4e); }
+
+ static void __boot();
+ static ::Dynamic __meta__;
+ ::String name;
+ ::String name__fromC();
+ ::Dynamic name__fromC_dyn();
+
+ ::borogove::JID jid;
+ ::String node;
+ ::borogove::Client client;
+ ::Dynamic execute();
+ ::Dynamic execute_dyn();
+
+ void execute__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_Command */
diff --git a/Sources/c_borogove/iinclude/borogove/CommandSession.h b/Sources/c_borogove/iinclude/borogove/CommandSession.h
new file mode 100644
index 0000000..d11c9d2
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/CommandSession.h
@@ -0,0 +1,79 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_CommandSession
+#define INCLUDED_borogove_CommandSession
+
+#ifndef HXCPP_H
+#include <hxcpp.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(thenshim,Thenable)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES CommandSession_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef CommandSession_obj OBJ_;
+ CommandSession_obj();
+
+ public:
+ enum { _hx_ClassId = 0x5964480c };
+
+ 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.CommandSession")
+ { 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.CommandSession"); }
+ static ::hx::ObjectPtr< CommandSession_obj > __new(::String status,::String sessionid,::Array< ::Dynamic> actions,::Array< ::Dynamic> forms, ::borogove::Command command);
+ static ::hx::ObjectPtr< CommandSession_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);
+ //~CommandSession_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_("CommandSession",6b,f1,98,47); }
+
+ static void __boot();
+ static ::Dynamic __meta__;
+ ::String name;
+ ::String name__fromC();
+ ::Dynamic name__fromC_dyn();
+
+ ::String status;
+ ::String status__fromC();
+ ::Dynamic status__fromC_dyn();
+
+ ::Array< ::Dynamic> actions;
+ size_t actions__fromC(void*** outPtr);
+
+ ::Array< ::Dynamic> forms;
+ size_t forms__fromC(void*** outPtr);
+
+ ::String sessionid;
+ ::borogove::Command command;
+ ::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);
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_CommandSession */
diff --git a/Sources/c_snikket/iinclude/snikket/Config.h b/Sources/c_borogove/iinclude/borogove/Config.h
similarity index 81%
rename from Sources/c_snikket/iinclude/snikket/Config.h
rename to Sources/c_borogove/iinclude/borogove/Config.h
index 72304bb..96a2466 100644
--- a/Sources/c_snikket/iinclude/snikket/Config.h
+++ b/Sources/c_borogove/iinclude/borogove/Config.h
@@ -1,14 +1,14 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Config
-#define INCLUDED_snikket_Config
+#ifndef INCLUDED_borogove_Config
+#define INCLUDED_borogove_Config
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Config)
+HX_DECLARE_CLASS1(borogove,Config)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Config_obj : public ::hx::Object
@@ -19,13 +19,13 @@ class HXCPP_CLASS_ATTRIBUTES Config_obj : public ::hx::Object
Config_obj();
public:
- enum { _hx_ClassId = 0x240d085f };
+ enum { _hx_ClassId = 0x2cca1883 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket.Config")
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.Config")
{ 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,"snikket.Config"); }
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove.Config"); }
inline static ::hx::ObjectPtr< Config_obj > __new() {
::hx::ObjectPtr< Config_obj > __this = new Config_obj();
@@ -34,7 +34,7 @@ class HXCPP_CLASS_ATTRIBUTES Config_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< Config_obj > __alloc(::hx::Ctx *_hx_ctx) {
- Config_obj *__this = (Config_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Config_obj), false, "snikket.Config"));
+ Config_obj *__this = (Config_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Config_obj), false, "borogove.Config"));
*(void **)__this = Config_obj::_hx_vtable;
return __this;
}
@@ -66,6 +66,6 @@ class HXCPP_CLASS_ATTRIBUTES Config_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Config */
+#endif /* INCLUDED_borogove_Config */
diff --git a/Sources/c_snikket/iinclude/snikket/CustomEmojiReaction.h b/Sources/c_borogove/iinclude/borogove/CustomEmojiReaction.h
similarity index 64%
rename from Sources/c_snikket/iinclude/snikket/CustomEmojiReaction.h
rename to Sources/c_borogove/iinclude/borogove/CustomEmojiReaction.h
index 304c858..efd0052 100644
--- a/Sources/c_snikket/iinclude/snikket/CustomEmojiReaction.h
+++ b/Sources/c_borogove/iinclude/borogove/CustomEmojiReaction.h
@@ -1,35 +1,35 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_CustomEmojiReaction
-#define INCLUDED_snikket_CustomEmojiReaction
+#ifndef INCLUDED_borogove_CustomEmojiReaction
+#define INCLUDED_borogove_CustomEmojiReaction
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_Reaction
-#include <snikket/Reaction.h>
+#ifndef INCLUDED_borogove_Reaction
+#include <borogove/Reaction.h>
#endif
-HX_DECLARE_CLASS1(snikket,CustomEmojiReaction)
-HX_DECLARE_CLASS1(snikket,Reaction)
+HX_DECLARE_CLASS1(borogove,CustomEmojiReaction)
+HX_DECLARE_CLASS1(borogove,Reaction)
-namespace snikket{
+namespace borogove{
-class HXCPP_CLASS_ATTRIBUTES CustomEmojiReaction_obj : public ::snikket::Reaction_obj
+class HXCPP_CLASS_ATTRIBUTES CustomEmojiReaction_obj : public ::borogove::Reaction_obj
{
public:
- typedef ::snikket::Reaction_obj super;
+ typedef ::borogove::Reaction_obj super;
typedef CustomEmojiReaction_obj OBJ_;
CustomEmojiReaction_obj();
public:
- enum { _hx_ClassId = 0x1e93c5e9 };
+ enum { _hx_ClassId = 0x7eb2d979 };
void __construct(::String senderId,::String timestamp,::String text,::String uri,::String envelopeId);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.CustomEmojiReaction")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.CustomEmojiReaction")
{ 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,"snikket.CustomEmojiReaction"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.CustomEmojiReaction"); }
static ::hx::ObjectPtr< CustomEmojiReaction_obj > __new(::String senderId,::String timestamp,::String text,::String uri,::String envelopeId);
static ::hx::ObjectPtr< CustomEmojiReaction_obj > __alloc(::hx::Ctx *_hx_ctx,::String senderId,::String timestamp,::String text,::String uri,::String envelopeId);
static void * _hx_vtable;
@@ -39,6 +39,7 @@ class HXCPP_CLASS_ATTRIBUTES CustomEmojiReaction_obj : public ::snikket::Reacti
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();
@@ -49,14 +50,17 @@ class HXCPP_CLASS_ATTRIBUTES CustomEmojiReaction_obj : public ::snikket::Reacti
static void __boot();
static ::Dynamic __meta__;
+ static ::borogove::CustomEmojiReaction custom(::String text,::String uri);
+ static ::Dynamic custom_dyn();
+
::String uri;
::String uri__fromC();
::Dynamic uri__fromC_dyn();
- ::Dynamic render( ::Dynamic forText, ::Dynamic forImage);
+ ::String render( ::Dynamic forText, ::Dynamic forImage);
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_CustomEmojiReaction */
+#endif /* INCLUDED_borogove_CustomEmojiReaction */
diff --git a/Sources/c_snikket/iinclude/snikket/Date.h b/Sources/c_borogove/iinclude/borogove/Date.h
similarity index 77%
rename from Sources/c_snikket/iinclude/snikket/Date.h
rename to Sources/c_borogove/iinclude/borogove/Date.h
index 19af500..96f6370 100644
--- a/Sources/c_snikket/iinclude/snikket/Date.h
+++ b/Sources/c_borogove/iinclude/borogove/Date.h
@@ -1,15 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Date
-#define INCLUDED_snikket_Date
+#ifndef INCLUDED_borogove_Date
+#define INCLUDED_borogove_Date
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
HX_DECLARE_CLASS0(Date)
-HX_DECLARE_CLASS1(snikket,Date)
+HX_DECLARE_CLASS1(borogove,Date)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Date_obj : public ::hx::Object
@@ -20,13 +20,13 @@ class HXCPP_CLASS_ATTRIBUTES Date_obj : public ::hx::Object
Date_obj();
public:
- enum { _hx_ClassId = 0x030f768b };
+ enum { _hx_ClassId = 0x2b7375af };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket.Date")
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.Date")
{ 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,"snikket.Date"); }
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove.Date"); }
inline static ::hx::ObjectPtr< Date_obj > __new() {
::hx::ObjectPtr< Date_obj > __this = new Date_obj();
@@ -35,7 +35,7 @@ class HXCPP_CLASS_ATTRIBUTES Date_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< Date_obj > __alloc(::hx::Ctx *_hx_ctx) {
- Date_obj *__this = (Date_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Date_obj), false, "snikket.Date"));
+ Date_obj *__this = (Date_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Date_obj), false, "borogove.Date"));
*(void **)__this = Date_obj::_hx_vtable;
return __this;
}
@@ -56,6 +56,6 @@ class HXCPP_CLASS_ATTRIBUTES Date_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Date */
+#endif /* INCLUDED_borogove_Date */
diff --git a/Sources/c_borogove/iinclude/borogove/DirectChat.h b/Sources/c_borogove/iinclude/borogove/DirectChat.h
new file mode 100644
index 0000000..ebf6136
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/DirectChat.h
@@ -0,0 +1,99 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_DirectChat
+#define INCLUDED_borogove_DirectChat
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#ifndef INCLUDED_borogove_Chat
+#include <borogove/Chat.h>
+#endif
+HX_DECLARE_CLASS1(borogove,Chat)
+HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,ChatMessageBuilder)
+HX_DECLARE_CLASS1(borogove,Client)
+HX_DECLARE_CLASS1(borogove,DirectChat)
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,GenericStream)
+HX_DECLARE_CLASS1(borogove,OutboxItem)
+HX_DECLARE_CLASS1(borogove,Participant)
+HX_DECLARE_CLASS1(borogove,Persistence)
+HX_DECLARE_CLASS1(borogove,Reaction)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS1(thenshim,Thenable)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES DirectChat_obj : public ::borogove::Chat_obj
+{
+ public:
+ typedef ::borogove::Chat_obj super;
+ typedef DirectChat_obj OBJ_;
+ DirectChat_obj();
+
+ public:
+ enum { _hx_ClassId = 0x31b454e2 };
+
+ void __construct( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy,::Array< int > omemoContactDeviceIDs);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.DirectChat")
+ { 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.DirectChat"); }
+ static ::hx::ObjectPtr< DirectChat_obj > __new( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy,::Array< int > omemoContactDeviceIDs);
+ static ::hx::ObjectPtr< DirectChat_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy,::Array< int > omemoContactDeviceIDs);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~DirectChat_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_("DirectChat",c1,22,a3,05); }
+
+ static void __boot();
+ static ::Dynamic __meta__;
+ ::Array< ::String > getParticipants();
+
+ ::Array< ::String > counterparts();
+ ::Dynamic counterparts_dyn();
+
+ ::borogove::Participant getParticipantDetails(::String participantId);
+
+ ::Dynamic getMessagesBefore(::String beforeId,::String beforeTime);
+
+ ::Dynamic getMessagesAfter(::String afterId,::String afterTime);
+
+ ::Dynamic getMessagesAround(::String aroundId,::String aroundTime);
+
+ ::borogove::ChatMessageBuilder prepareIncomingMessage( ::borogove::ChatMessageBuilder message, ::borogove::Stanza stanza);
+
+ ::borogove::ChatMessageBuilder prepareOutgoingMessage( ::borogove::ChatMessageBuilder message);
+ ::Dynamic prepareOutgoingMessage_dyn();
+
+ void correctMessage(::String localId, ::borogove::ChatMessageBuilder message);
+
+ void sendMessage( ::borogove::ChatMessageBuilder message);
+
+ void removeReaction( ::borogove::ChatMessage m, ::borogove::Reaction reaction);
+
+ void sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem);
+
+ ::String lastMessageId();
+
+ void markReadUpTo( ::borogove::ChatMessage message);
+
+ void bookmark();
+
+ void sendChatState(::String state,::String threadId);
+
+ void close();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_DirectChat */
diff --git a/Sources/c_snikket/iinclude/snikket/Emoji.h b/Sources/c_borogove/iinclude/borogove/Emoji.h
similarity index 64%
rename from Sources/c_snikket/iinclude/snikket/Emoji.h
rename to Sources/c_borogove/iinclude/borogove/Emoji.h
index 685d92e..869ae78 100644
--- a/Sources/c_snikket/iinclude/snikket/Emoji.h
+++ b/Sources/c_borogove/iinclude/borogove/Emoji.h
@@ -1,36 +1,36 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Emoji
-#define INCLUDED_snikket_Emoji
+#ifndef INCLUDED_borogove_Emoji
+#define INCLUDED_borogove_Emoji
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_Symbol
-#include <snikket/Symbol.h>
+#ifndef INCLUDED_borogove_Symbol
+#include <borogove/Symbol.h>
#endif
-HX_DECLARE_STACK_FRAME(_hx_pos_dd1b4f8973e1f9df_136_new)
-HX_DECLARE_CLASS1(snikket,Emoji)
-HX_DECLARE_CLASS1(snikket,Symbol)
+HX_DECLARE_STACK_FRAME(_hx_pos_22aff44d6d78c3e4_136_new)
+HX_DECLARE_CLASS1(borogove,Emoji)
+HX_DECLARE_CLASS1(borogove,Symbol)
-namespace snikket{
+namespace borogove{
-class HXCPP_CLASS_ATTRIBUTES Emoji_obj : public ::snikket::Symbol_obj
+class HXCPP_CLASS_ATTRIBUTES Emoji_obj : public ::borogove::Symbol_obj
{
public:
- typedef ::snikket::Symbol_obj super;
+ typedef ::borogove::Symbol_obj super;
typedef Emoji_obj OBJ_;
Emoji_obj();
public:
- enum { _hx_ClassId = 0x45c9a089 };
+ enum { _hx_ClassId = 0x74e4e0e5 };
void __construct(::Array< int > codepoints);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Emoji")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Emoji")
{ 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,"snikket.Emoji"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Emoji"); }
inline static ::hx::ObjectPtr< Emoji_obj > __new(::Array< int > codepoints) {
::hx::ObjectPtr< Emoji_obj > __this = new Emoji_obj();
@@ -39,10 +39,10 @@ class HXCPP_CLASS_ATTRIBUTES Emoji_obj : public ::snikket::Symbol_obj
}
inline static ::hx::ObjectPtr< Emoji_obj > __alloc(::hx::Ctx *_hx_ctx,::Array< int > codepoints) {
- Emoji_obj *__this = (Emoji_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Emoji_obj), true, "snikket.Emoji"));
+ Emoji_obj *__this = (Emoji_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Emoji_obj), true, "borogove.Emoji"));
*(void **)__this = Emoji_obj::_hx_vtable;
{
- HX_STACKFRAME(&_hx_pos_dd1b4f8973e1f9df_136_new)
+ HX_STACKFRAME(&_hx_pos_22aff44d6d78c3e4_136_new)
HXDLIN( 136) __this->super::__construct(codepoints);
}
@@ -64,6 +64,6 @@ HXDLIN( 136) __this->super::__construct(codepoints);
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Emoji */
+#endif /* INCLUDED_borogove_Emoji */
diff --git a/Sources/c_snikket/iinclude/snikket/EmojiUtil.h b/Sources/c_borogove/iinclude/borogove/EmojiUtil.h
similarity index 52%
rename from Sources/c_snikket/iinclude/snikket/EmojiUtil.h
rename to Sources/c_borogove/iinclude/borogove/EmojiUtil.h
index f45f679..784b8c9 100644
--- a/Sources/c_snikket/iinclude/snikket/EmojiUtil.h
+++ b/Sources/c_borogove/iinclude/borogove/EmojiUtil.h
@@ -1,19 +1,19 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_EmojiUtil
-#define INCLUDED_snikket_EmojiUtil
+#ifndef INCLUDED_borogove_EmojiUtil
+#define INCLUDED_borogove_EmojiUtil
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,EmojiUtil)
-HX_DECLARE_CLASS1(snikket,Symbol)
-HX_DECLARE_CLASS1(snikket,UnicodeBlocks)
-HX_DECLARE_CLASS1(snikket,UnicodeList)
-HX_DECLARE_CLASS1(snikket,UnicodeRange)
-HX_DECLARE_CLASS1(snikket,UnicodeSet)
+HX_DECLARE_CLASS1(borogove,EmojiUtil)
+HX_DECLARE_CLASS1(borogove,Symbol)
+HX_DECLARE_CLASS1(borogove,UnicodeBlocks)
+HX_DECLARE_CLASS1(borogove,UnicodeList)
+HX_DECLARE_CLASS1(borogove,UnicodeRange)
+HX_DECLARE_CLASS1(borogove,UnicodeSet)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES EmojiUtil_obj : public ::hx::Object
@@ -24,13 +24,13 @@ class HXCPP_CLASS_ATTRIBUTES EmojiUtil_obj : public ::hx::Object
EmojiUtil_obj();
public:
- enum { _hx_ClassId = 0x636eb1f3 };
+ enum { _hx_ClassId = 0x3ab448a3 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket.EmojiUtil")
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.EmojiUtil")
{ 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,"snikket.EmojiUtil"); }
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove.EmojiUtil"); }
inline static ::hx::ObjectPtr< EmojiUtil_obj > __new() {
::hx::ObjectPtr< EmojiUtil_obj > __this = new EmojiUtil_obj();
@@ -39,7 +39,7 @@ class HXCPP_CLASS_ATTRIBUTES EmojiUtil_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< EmojiUtil_obj > __alloc(::hx::Ctx *_hx_ctx) {
- EmojiUtil_obj *__this = (EmojiUtil_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(EmojiUtil_obj), false, "snikket.EmojiUtil"));
+ EmojiUtil_obj *__this = (EmojiUtil_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(EmojiUtil_obj), false, "borogove.EmojiUtil"));
*(void **)__this = EmojiUtil_obj::_hx_vtable;
return __this;
}
@@ -57,28 +57,28 @@ class HXCPP_CLASS_ATTRIBUTES EmojiUtil_obj : public ::hx::Object
::String __ToString() const { return HX_("EmojiUtil",88,0e,c9,4c); }
static void __boot();
- static ::snikket::UnicodeRange MISC_SYMBOLS_AND_PICTOGRAPHS;
- static ::snikket::UnicodeRange SUPPLEMENTAL_SYMBOLS;
- static ::snikket::UnicodeRange EMOTICONS;
- static ::snikket::UnicodeRange MISC_SYMBOLS;
- static ::snikket::UnicodeRange DINGBATS;
- static ::snikket::UnicodeRange ENCLOSED_ALPHANUMERIC_SUPPLEMENT;
- static ::snikket::UnicodeRange ENCLOSED_IDEOGRAPHIC_SUPPLEMENT;
- static ::snikket::UnicodeRange REGIONAL_INDICATORS;
- static ::snikket::UnicodeRange GEOMETRIC_SHAPES;
- static ::snikket::UnicodeRange LATIN_SUPPLEMENT;
- static ::snikket::UnicodeRange MISC_TECHNICAL;
- static ::snikket::UnicodeRange TAGS;
- static ::snikket::UnicodeList CYK_SYMBOLS_AND_PUNCTUATION;
- static ::snikket::UnicodeList LETTERLIKE_SYMBOLS;
- static ::snikket::UnicodeBlocks KEYCAP_COMBINEABLE;
- static ::snikket::UnicodeBlocks SYMBOLIZE;
- static ::snikket::UnicodeBlocks EMOJIS;
+ static ::borogove::UnicodeRange MISC_SYMBOLS_AND_PICTOGRAPHS;
+ static ::borogove::UnicodeRange SUPPLEMENTAL_SYMBOLS;
+ static ::borogove::UnicodeRange EMOTICONS;
+ static ::borogove::UnicodeRange MISC_SYMBOLS;
+ static ::borogove::UnicodeRange DINGBATS;
+ static ::borogove::UnicodeRange ENCLOSED_ALPHANUMERIC_SUPPLEMENT;
+ static ::borogove::UnicodeRange ENCLOSED_IDEOGRAPHIC_SUPPLEMENT;
+ static ::borogove::UnicodeRange REGIONAL_INDICATORS;
+ static ::borogove::UnicodeRange GEOMETRIC_SHAPES;
+ static ::borogove::UnicodeRange LATIN_SUPPLEMENT;
+ static ::borogove::UnicodeRange MISC_TECHNICAL;
+ static ::borogove::UnicodeRange TAGS;
+ static ::borogove::UnicodeList CYK_SYMBOLS_AND_PUNCTUATION;
+ static ::borogove::UnicodeList LETTERLIKE_SYMBOLS;
+ static ::borogove::UnicodeBlocks KEYCAP_COMBINEABLE;
+ static ::borogove::UnicodeBlocks SYMBOLIZE;
+ static ::borogove::UnicodeBlocks EMOJIS;
static int ZWJ;
static int VARIATION_16;
static int COMBINING_ENCLOSING_KEYCAP;
static int BLACK_FLAG;
- static ::snikket::UnicodeRange FITZPATRICK;
+ static ::borogove::UnicodeRange FITZPATRICK;
static ::Array< ::Dynamic> parse(::String str);
static ::Dynamic parse_dyn();
@@ -90,6 +90,6 @@ class HXCPP_CLASS_ATTRIBUTES EmojiUtil_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_EmojiUtil */
+#endif /* INCLUDED_borogove_EmojiUtil */
diff --git a/Sources/c_borogove/iinclude/borogove/EncryptionInfo.h b/Sources/c_borogove/iinclude/borogove/EncryptionInfo.h
new file mode 100644
index 0000000..f8e17f1
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/EncryptionInfo.h
@@ -0,0 +1,84 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_EncryptionInfo
+#define INCLUDED_borogove_EncryptionInfo
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,EncryptionInfo)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS1(haxe,IMap)
+HX_DECLARE_CLASS2(haxe,ds,StringMap)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES EncryptionInfo_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef EncryptionInfo_obj OBJ_;
+ EncryptionInfo_obj();
+
+ public:
+ enum { _hx_ClassId = 0x618b2952 };
+
+ void __construct(int status,::String method,::String methodName,::String reason,::String reasonText);
+ 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 void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~EncryptionInfo_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_("EncryptionInfo",b1,d2,bf,4f); }
+
+ static void __boot();
+ static ::Dynamic __meta__;
+ static ::haxe::ds::StringMap knownEncryptionSchemes;
+ static ::borogove::EncryptionInfo fromStanza( ::borogove::Stanza stanza);
+ static ::Dynamic fromStanza_dyn();
+
+ int status;
+ int status__fromC();
+ ::Dynamic status__fromC_dyn();
+
+ ::String method;
+ ::String method__fromC();
+ ::Dynamic method__fromC_dyn();
+
+ ::String methodName;
+ ::String methodName__fromC();
+ ::Dynamic methodName__fromC_dyn();
+
+ ::String reason;
+ ::String reason__fromC();
+ ::Dynamic reason__fromC_dyn();
+
+ ::String reasonText;
+ ::String reasonText__fromC();
+ ::Dynamic reasonText__fromC_dyn();
+
+ ::borogove::Stanza toXml();
+ ::Dynamic toXml_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_EncryptionInfo */
diff --git a/Sources/c_borogove/iinclude/borogove/EncryptionPolicy.h b/Sources/c_borogove/iinclude/borogove/EncryptionPolicy.h
new file mode 100644
index 0000000..e8b9f53
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/EncryptionPolicy.h
@@ -0,0 +1,70 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_EncryptionPolicy
+#define INCLUDED_borogove_EncryptionPolicy
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_STACK_FRAME(_hx_pos_463b5e117b71e43d_4_new)
+HX_DECLARE_CLASS1(borogove,EncryptionPolicy)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES EncryptionPolicy_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef EncryptionPolicy_obj OBJ_;
+ EncryptionPolicy_obj();
+
+ public:
+ enum { _hx_ClassId = 0x3c34ea9e };
+
+ void __construct(bool allowUnencryptedIncoming,bool allowUnencryptedOutgoing,bool preferEncryptedOutgoing);
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.EncryptionPolicy")
+ { 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.EncryptionPolicy"); }
+
+ inline static ::hx::ObjectPtr< EncryptionPolicy_obj > __new(bool allowUnencryptedIncoming,bool allowUnencryptedOutgoing,bool preferEncryptedOutgoing) {
+ ::hx::ObjectPtr< EncryptionPolicy_obj > __this = new EncryptionPolicy_obj();
+ __this->__construct(allowUnencryptedIncoming,allowUnencryptedOutgoing,preferEncryptedOutgoing);
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< EncryptionPolicy_obj > __alloc(::hx::Ctx *_hx_ctx,bool allowUnencryptedIncoming,bool allowUnencryptedOutgoing,bool preferEncryptedOutgoing) {
+ EncryptionPolicy_obj *__this = (EncryptionPolicy_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(EncryptionPolicy_obj), false, "borogove.EncryptionPolicy"));
+ *(void **)__this = EncryptionPolicy_obj::_hx_vtable;
+{
+ HX_STACKFRAME(&_hx_pos_463b5e117b71e43d_4_new)
+HXDLIN( 4) ( ( ::borogove::EncryptionPolicy)(__this) )->allowUnencryptedIncoming = allowUnencryptedIncoming;
+HXDLIN( 4) ( ( ::borogove::EncryptionPolicy)(__this) )->allowUnencryptedOutgoing = allowUnencryptedOutgoing;
+HXDLIN( 4) ( ( ::borogove::EncryptionPolicy)(__this) )->preferEncryptedOutgoing = preferEncryptedOutgoing;
+ }
+
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~EncryptionPolicy_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();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("EncryptionPolicy",f5,cc,37,01); }
+
+ bool allowUnencryptedIncoming;
+ bool allowUnencryptedOutgoing;
+ bool preferEncryptedOutgoing;
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_EncryptionPolicy */
diff --git a/Sources/c_snikket/iinclude/snikket/EventEmitter.h b/Sources/c_borogove/iinclude/borogove/EventEmitter.h
similarity index 66%
rename from Sources/c_snikket/iinclude/snikket/EventEmitter.h
rename to Sources/c_borogove/iinclude/borogove/EventEmitter.h
index 7b9ee4d..66ac808 100644
--- a/Sources/c_snikket/iinclude/snikket/EventEmitter.h
+++ b/Sources/c_borogove/iinclude/borogove/EventEmitter.h
@@ -1,18 +1,17 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_EventEmitter
-#define INCLUDED_snikket_EventEmitter
+#ifndef INCLUDED_borogove_EventEmitter
+#define INCLUDED_borogove_EventEmitter
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,EventResult)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
-HX_DECLARE_CLASS1(snikket,EventEmitter)
-HX_DECLARE_CLASS1(snikket,EventHandler)
-HX_DECLARE_CLASS1(snikket,EventResult)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES EventEmitter_obj : public ::hx::Object
@@ -23,13 +22,13 @@ class HXCPP_CLASS_ATTRIBUTES EventEmitter_obj : public ::hx::Object
EventEmitter_obj();
public:
- enum { _hx_ClassId = 0x6aca71d1 };
+ enum { _hx_ClassId = 0x4fb834f5 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.EventEmitter")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.EventEmitter")
{ 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,"snikket.EventEmitter"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.EventEmitter"); }
static ::hx::ObjectPtr< EventEmitter_obj > __new();
static ::hx::ObjectPtr< EventEmitter_obj > __alloc(::hx::Ctx *_hx_ctx);
static void * _hx_vtable;
@@ -47,18 +46,22 @@ class HXCPP_CLASS_ATTRIBUTES EventEmitter_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("EventEmitter",94,78,5d,17); }
+ int nextEventHandlerToken;
::haxe::ds::StringMap eventHandlers;
- ::snikket::EventHandler on(::String eventName, ::Dynamic callback);
+ int on(::String eventName, ::Dynamic callback);
::Dynamic on_dyn();
- ::snikket::EventHandler once(::String eventName, ::Dynamic callback);
+ void once(::String eventName, ::Dynamic callback);
::Dynamic once_dyn();
- ::snikket::EventResult trigger(::String eventName, ::Dynamic eventData);
+ ::borogove::EventResult trigger(::String eventName, ::Dynamic eventData);
::Dynamic trigger_dyn();
+ void removeEventListener(int token);
+ ::Dynamic removeEventListener_dyn();
+
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_EventEmitter */
+#endif /* INCLUDED_borogove_EventEmitter */
diff --git a/Sources/c_snikket/iinclude/snikket/EventHandler.h b/Sources/c_borogove/iinclude/borogove/EventHandler.h
similarity index 76%
rename from Sources/c_snikket/iinclude/snikket/EventHandler.h
rename to Sources/c_borogove/iinclude/borogove/EventHandler.h
index c25353d..12889d7 100644
--- a/Sources/c_snikket/iinclude/snikket/EventHandler.h
+++ b/Sources/c_borogove/iinclude/borogove/EventHandler.h
@@ -1,15 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_EventHandler
-#define INCLUDED_snikket_EventHandler
+#ifndef INCLUDED_borogove_EventHandler
+#define INCLUDED_borogove_EventHandler
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,EventHandler)
-HX_DECLARE_CLASS1(snikket,EventResult)
+HX_DECLARE_CLASS1(borogove,EventHandler)
+HX_DECLARE_CLASS1(borogove,EventResult)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES EventHandler_obj : public ::hx::Object
@@ -20,13 +20,13 @@ class HXCPP_CLASS_ATTRIBUTES EventHandler_obj : public ::hx::Object
EventHandler_obj();
public:
- enum { _hx_ClassId = 0x39717849 };
+ enum { _hx_ClassId = 0x5d6abbb5 };
void __construct(::Array< ::Dynamic> handlers, ::Dynamic callback, ::Dynamic onlyOnce);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.EventHandler")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.EventHandler")
{ 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,"snikket.EventHandler"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.EventHandler"); }
static ::hx::ObjectPtr< EventHandler_obj > __new(::Array< ::Dynamic> handlers, ::Dynamic callback, ::Dynamic onlyOnce);
static ::hx::ObjectPtr< EventHandler_obj > __alloc(::hx::Ctx *_hx_ctx,::Array< ::Dynamic> handlers, ::Dynamic callback, ::Dynamic onlyOnce);
static void * _hx_vtable;
@@ -48,10 +48,10 @@ class HXCPP_CLASS_ATTRIBUTES EventHandler_obj : public ::hx::Object
::Dynamic callback;
Dynamic callback_dyn() { return callback;}
bool onlyOnce;
- ::snikket::EventResult call( ::Dynamic data);
+ ::borogove::EventResult call( ::Dynamic data);
::Dynamic call_dyn();
- ::snikket::EventHandler once();
+ ::borogove::EventHandler once();
::Dynamic once_dyn();
void unsubscribe();
@@ -59,6 +59,6 @@ class HXCPP_CLASS_ATTRIBUTES EventHandler_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_EventHandler */
+#endif /* INCLUDED_borogove_EventHandler */
diff --git a/Sources/c_borogove/iinclude/borogove/EventResult.h b/Sources/c_borogove/iinclude/borogove/EventResult.h
new file mode 100644
index 0000000..66c895a
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/EventResult.h
@@ -0,0 +1,39 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_EventResult
+#define INCLUDED_borogove_EventResult
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,EventResult)
+namespace borogove{
+
+
+class EventResult_obj : public ::hx::EnumBase_obj
+{
+ typedef ::hx::EnumBase_obj super;
+ typedef EventResult_obj OBJ_;
+
+ public:
+ EventResult_obj() {};
+ HX_DO_ENUM_RTTI;
+ static void __boot();
+ static void __register();
+ static bool __GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ ::String GetEnumName( ) const { return HX_("borogove.EventResult",aa,fb,25,6a); }
+ ::String __ToString() const { return HX_("EventResult.",d7,9b,be,c3) + _hx_tag; }
+
+ static ::borogove::EventResult EventHandled;
+ static inline ::borogove::EventResult EventHandled_dyn() { return EventHandled; }
+ static ::borogove::EventResult EventStop;
+ static inline ::borogove::EventResult EventStop_dyn() { return EventStop; }
+ static ::borogove::EventResult EventUnhandled;
+ static inline ::borogove::EventResult EventUnhandled_dyn() { return EventUnhandled; }
+ static ::borogove::EventResult EventValue( ::Dynamic result);
+ static ::Dynamic EventValue_dyn();
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_EventResult */
diff --git a/Sources/c_borogove/iinclude/borogove/Form.h b/Sources/c_borogove/iinclude/borogove/Form.h
new file mode 100644
index 0000000..9f3339c
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/Form.h
@@ -0,0 +1,79 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_Form
+#define INCLUDED_borogove_Form
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#ifndef INCLUDED_borogove_FormSection
+#include <borogove/FormSection.h>
+#endif
+HX_DECLARE_CLASS1(borogove,Form)
+HX_DECLARE_CLASS1(borogove,FormItem)
+HX_DECLARE_CLASS1(borogove,FormSection)
+HX_DECLARE_CLASS1(borogove,FormSubmitBuilder)
+HX_DECLARE_CLASS1(borogove,Stanza)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES Form_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Form_obj OBJ_;
+ Form_obj();
+
+ public:
+ enum { _hx_ClassId = 0x2cd080c5 };
+
+ void __construct( ::borogove::Stanza form, ::borogove::Stanza oob);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Form")
+ { 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.Form"); }
+ static ::hx::ObjectPtr< Form_obj > __new( ::borogove::Stanza form, ::borogove::Stanza oob);
+ static ::hx::ObjectPtr< Form_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Stanza form, ::borogove::Stanza oob);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Form_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);
+ void *_hx_getInterface(int inHash);
+ ::String __ToString() const { return HX_("Form",64,8d,99,2e); }
+
+ static void __boot();
+ static ::Dynamic __meta__;
+ ::borogove::Stanza form;
+ ::borogove::Stanza oob;
+ bool isResult();
+ ::Dynamic isResult_dyn();
+
+ ::String title();
+ ::Dynamic title_dyn();
+
+ ::String url();
+ ::Dynamic url_dyn();
+
+ ::Array< ::Dynamic> items();
+ ::Dynamic items_dyn();
+
+ size_t items__fromC(void*** outPtr);
+
+ ::borogove::Stanza submit( ::borogove::FormSubmitBuilder data);
+ ::Dynamic submit_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_Form */
diff --git a/Sources/c_borogove/iinclude/borogove/FormField.h b/Sources/c_borogove/iinclude/borogove/FormField.h
new file mode 100644
index 0000000..e6b0e1b
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/FormField.h
@@ -0,0 +1,100 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_FormField
+#define INCLUDED_borogove_FormField
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,FormField)
+HX_DECLARE_CLASS1(borogove,FormOption)
+HX_DECLARE_CLASS1(borogove,Stanza)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES FormField_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef FormField_obj OBJ_;
+ FormField_obj();
+
+ public:
+ enum { _hx_ClassId = 0x676e99b5 };
+
+ void __construct( ::borogove::Stanza field);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.FormField")
+ { 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.FormField"); }
+ static ::hx::ObjectPtr< FormField_obj > __new( ::borogove::Stanza field);
+ static ::hx::ObjectPtr< FormField_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Stanza field);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~FormField_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_("FormField",b6,6c,18,28); }
+
+ static void __boot();
+ static ::Dynamic __meta__;
+ ::String name;
+ ::String name__fromC();
+ ::Dynamic name__fromC_dyn();
+
+ ::String label;
+ ::String label__fromC();
+ ::Dynamic label__fromC_dyn();
+
+ ::String desc;
+ ::String desc__fromC();
+ ::Dynamic desc__fromC_dyn();
+
+ ::Array< ::String > value;
+ size_t value__fromC(const char*** outPtr);
+
+ bool required;
+ bool required__fromC();
+ ::Dynamic required__fromC_dyn();
+
+ ::String type;
+ ::String type__fromC();
+ ::Dynamic type__fromC_dyn();
+
+ ::String datatype;
+ ::String datatype__fromC();
+ ::Dynamic datatype__fromC_dyn();
+
+ ::Array< ::Dynamic> options;
+ size_t options__fromC(void*** outPtr);
+
+ bool open;
+ bool open__fromC();
+ ::Dynamic open__fromC_dyn();
+
+ ::String rangeMin;
+ ::String rangeMin__fromC();
+ ::Dynamic rangeMin__fromC_dyn();
+
+ ::String rangeMax;
+ ::String rangeMax__fromC();
+ ::Dynamic rangeMax__fromC_dyn();
+
+ ::String regex;
+ ::String regex__fromC();
+ ::Dynamic regex__fromC_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_FormField */
diff --git a/Sources/c_borogove/iinclude/borogove/FormItem.h b/Sources/c_borogove/iinclude/borogove/FormItem.h
new file mode 100644
index 0000000..9afc092
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/FormItem.h
@@ -0,0 +1,74 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_FormItem
+#define INCLUDED_borogove_FormItem
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,FormField)
+HX_DECLARE_CLASS1(borogove,FormItem)
+HX_DECLARE_CLASS1(borogove,FormSection)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES FormItem_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef FormItem_obj OBJ_;
+ FormItem_obj();
+
+ public:
+ enum { _hx_ClassId = 0x248dc2dc };
+
+ void __construct(::String text, ::borogove::FormField field,::Dynamic section,::Array< ::Dynamic> tableHeader,::Array< ::Dynamic> tableRows,::String status);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.FormItem")
+ { 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.FormItem"); }
+ static ::hx::ObjectPtr< FormItem_obj > __new(::String text, ::borogove::FormField field,::Dynamic section,::Array< ::Dynamic> tableHeader,::Array< ::Dynamic> tableRows,::String status);
+ static ::hx::ObjectPtr< FormItem_obj > __alloc(::hx::Ctx *_hx_ctx,::String text, ::borogove::FormField field,::Dynamic section,::Array< ::Dynamic> tableHeader,::Array< ::Dynamic> tableRows,::String status);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~FormItem_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_("FormItem",97,00,8f,33); }
+
+ static void __boot();
+ static ::Dynamic __meta__;
+ ::String text;
+ ::String text__fromC();
+ ::Dynamic text__fromC_dyn();
+
+ ::borogove::FormField field;
+ ::borogove::FormField field__fromC();
+ ::Dynamic field__fromC_dyn();
+
+ ::Dynamic section;
+ ::Dynamic section__fromC();
+ ::Dynamic section__fromC_dyn();
+
+ ::String status;
+ ::String status__fromC();
+ ::Dynamic status__fromC_dyn();
+
+ ::Array< ::Dynamic> tableHeader;
+ size_t tableHeader__fromC(void*** outPtr);
+
+ ::Array< ::Dynamic> tableRows;
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_FormItem */
diff --git a/Sources/c_borogove/iinclude/borogove/FormLayoutSection.h b/Sources/c_borogove/iinclude/borogove/FormLayoutSection.h
new file mode 100644
index 0000000..246dda9
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/FormLayoutSection.h
@@ -0,0 +1,65 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_FormLayoutSection
+#define INCLUDED_borogove_FormLayoutSection
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#ifndef INCLUDED_borogove_FormSection
+#include <borogove/FormSection.h>
+#endif
+HX_DECLARE_CLASS1(borogove,FormItem)
+HX_DECLARE_CLASS1(borogove,FormLayoutSection)
+HX_DECLARE_CLASS1(borogove,FormSection)
+HX_DECLARE_CLASS1(borogove,Stanza)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES FormLayoutSection_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef FormLayoutSection_obj OBJ_;
+ FormLayoutSection_obj();
+
+ public:
+ enum { _hx_ClassId = 0x11048972 };
+
+ void __construct( ::borogove::Stanza form, ::borogove::Stanza section);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.FormLayoutSection")
+ { 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.FormLayoutSection"); }
+ static ::hx::ObjectPtr< FormLayoutSection_obj > __new( ::borogove::Stanza form, ::borogove::Stanza section);
+ static ::hx::ObjectPtr< FormLayoutSection_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Stanza form, ::borogove::Stanza section);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~FormLayoutSection_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);
+ void *_hx_getInterface(int inHash);
+ ::String __ToString() const { return HX_("FormLayoutSection",57,3c,d9,ce); }
+
+ ::borogove::Stanza form;
+ ::borogove::Stanza section;
+ ::String title();
+ ::Dynamic title_dyn();
+
+ ::Array< ::Dynamic> items();
+ ::Dynamic items_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_FormLayoutSection */
diff --git a/Sources/c_borogove/iinclude/borogove/FormOption.h b/Sources/c_borogove/iinclude/borogove/FormOption.h
new file mode 100644
index 0000000..7d0436d
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/FormOption.h
@@ -0,0 +1,97 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_FormOption
+#define INCLUDED_borogove_FormOption
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_STACK_FRAME(_hx_pos_a7d595b8126d2317_218_new)
+HX_DECLARE_CLASS1(borogove,FormOption)
+HX_DECLARE_CLASS1(borogove,Stanza)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES FormOption_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef FormOption_obj OBJ_;
+ FormOption_obj();
+
+ public:
+ enum { _hx_ClassId = 0x139dd7aa };
+
+ void __construct(::String label,::String value);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.FormOption")
+ { 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.FormOption"); }
+
+ inline static ::hx::ObjectPtr< FormOption_obj > __new(::String label,::String value) {
+ ::hx::ObjectPtr< FormOption_obj > __this = new FormOption_obj();
+ __this->__construct(label,value);
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< FormOption_obj > __alloc(::hx::Ctx *_hx_ctx,::String label,::String value) {
+ 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_218_new)
+HXLINE( 219) ::String _hx_tmp;
+HXDLIN( 219) if (::hx::IsNotNull( label )) {
+HXLINE( 219) _hx_tmp = label;
+ }
+ else {
+HXLINE( 219) _hx_tmp = value;
+ }
+HXDLIN( 219) ( ( ::borogove::FormOption)(__this) )->label = _hx_tmp;
+HXLINE( 220) ::String _hx_tmp1;
+HXDLIN( 220) if (::hx::IsNotNull( value )) {
+HXLINE( 220) _hx_tmp1 = value;
+ }
+ else {
+HXLINE( 220) _hx_tmp1 = HX_("",00,00,00,00);
+ }
+HXDLIN( 220) ( ( ::borogove::FormOption)(__this) )->value = _hx_tmp1;
+ }
+
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~FormOption_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_("FormOption",f9,f7,32,98); }
+
+ static void __boot();
+ static ::Dynamic __meta__;
+ static ::borogove::FormOption fromOption( ::borogove::Stanza option);
+ static ::Dynamic fromOption_dyn();
+
+ ::String label;
+ ::String label__fromC();
+ ::Dynamic label__fromC_dyn();
+
+ ::String value;
+ ::String value__fromC();
+ ::Dynamic value__fromC_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_FormOption */
diff --git a/Sources/c_borogove/iinclude/borogove/FormSection.h b/Sources/c_borogove/iinclude/borogove/FormSection.h
new file mode 100644
index 0000000..5b9bf0c
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/FormSection.h
@@ -0,0 +1,32 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_FormSection
+#define INCLUDED_borogove_FormSection
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,FormItem)
+HX_DECLARE_CLASS1(borogove,FormSection)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES FormSection_obj {
+ public:
+ typedef ::hx::Object super;
+ HX_DO_INTERFACE_RTTI;
+
+ ::String (::hx::Object :: *_hx_title)();
+ static inline ::String title( ::Dynamic _hx_) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::FormSection_obj *>(_hx_.mPtr->_hx_getInterface(0xeffc2a60)))->_hx_title)();
+ }
+ ::Array< ::Dynamic> (::hx::Object :: *_hx_items)();
+ static inline ::Array< ::Dynamic> items( ::Dynamic _hx_) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::FormSection_obj *>(_hx_.mPtr->_hx_getInterface(0xeffc2a60)))->_hx_items)();
+ }
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_FormSection */
diff --git a/Sources/c_borogove/iinclude/borogove/FormSubmitBuilder.h b/Sources/c_borogove/iinclude/borogove/FormSubmitBuilder.h
new file mode 100644
index 0000000..d3c39ad
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/FormSubmitBuilder.h
@@ -0,0 +1,60 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_FormSubmitBuilder
+#define INCLUDED_borogove_FormSubmitBuilder
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,FormSubmitBuilder)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS1(haxe,IMap)
+HX_DECLARE_CLASS2(haxe,ds,StringMap)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES FormSubmitBuilder_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef FormSubmitBuilder_obj OBJ_;
+ FormSubmitBuilder_obj();
+
+ public:
+ enum { _hx_ClassId = 0x15ec55de };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.FormSubmitBuilder")
+ { 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.FormSubmitBuilder"); }
+ static ::hx::ObjectPtr< FormSubmitBuilder_obj > __new();
+ static ::hx::ObjectPtr< FormSubmitBuilder_obj > __alloc(::hx::Ctx *_hx_ctx);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~FormSubmitBuilder_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_("FormSubmitBuilder",df,91,12,f4); }
+
+ ::haxe::ds::StringMap data;
+ void add(::String k,::String v);
+ ::Dynamic add_dyn();
+
+ ::borogove::Stanza submit( ::borogove::Stanza form);
+ ::Dynamic submit_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_FormSubmitBuilder */
diff --git a/Sources/c_snikket/iinclude/snikket/GenericStream.h b/Sources/c_borogove/iinclude/borogove/GenericStream.h
similarity index 54%
rename from Sources/c_snikket/iinclude/snikket/GenericStream.h
rename to Sources/c_borogove/iinclude/borogove/GenericStream.h
index 50fc0bd..2682888 100644
--- a/Sources/c_snikket/iinclude/snikket/GenericStream.h
+++ b/Sources/c_borogove/iinclude/borogove/GenericStream.h
@@ -1,39 +1,38 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_GenericStream
-#define INCLUDED_snikket_GenericStream
+#ifndef INCLUDED_borogove_GenericStream
+#define INCLUDED_borogove_GenericStream
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
#endif
-HX_DECLARE_CLASS1(snikket,EventEmitter)
-HX_DECLARE_CLASS1(snikket,GenericStream)
-HX_DECLARE_CLASS1(snikket,IqRequestType)
-HX_DECLARE_CLASS1(snikket,IqResult)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,GenericStream)
+HX_DECLARE_CLASS1(borogove,IqRequestType)
+HX_DECLARE_CLASS1(borogove,IqResult)
+HX_DECLARE_CLASS1(borogove,Stanza)
-namespace snikket{
+namespace borogove{
-class HXCPP_CLASS_ATTRIBUTES GenericStream_obj : public ::snikket::EventEmitter_obj
+class HXCPP_CLASS_ATTRIBUTES GenericStream_obj : public ::borogove::EventEmitter_obj
{
public:
- typedef ::snikket::EventEmitter_obj super;
+ typedef ::borogove::EventEmitter_obj super;
typedef GenericStream_obj OBJ_;
GenericStream_obj();
public:
- enum { _hx_ClassId = 0x785c9e5e };
+ enum { _hx_ClassId = 0x5ca68e56 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.GenericStream")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.GenericStream")
{ 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,"snikket.GenericStream"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.GenericStream"); }
//~GenericStream_obj();
@@ -49,24 +48,25 @@ class HXCPP_CLASS_ATTRIBUTES GenericStream_obj : public ::snikket::EventEmitter
::String clientId;
bool csi;
+ bool emitSMupdates;
virtual void connect(::String jid,::Array< unsigned char > sm) {}
::Dynamic connect_dyn();
virtual void disconnect() {}
::Dynamic disconnect_dyn();
- virtual void sendStanza( ::snikket::Stanza stanza) {}
+ virtual void sendStanza( ::borogove::Stanza stanza) {}
::Dynamic sendStanza_dyn();
virtual ::String newId() { return 0; }
::Dynamic newId_dyn();
- virtual void onIq( ::snikket::IqRequestType type,::String tag,::String xmlns, ::Dynamic handler) {}
+ virtual void onIq( ::borogove::IqRequestType type,::String tag,::String xmlns, ::Dynamic handler) {}
::Dynamic onIq_dyn();
- void sendIq( ::snikket::Stanza stanza, ::Dynamic callback);
+ void sendIq( ::borogove::Stanza stanza, ::Dynamic callback);
::Dynamic sendIq_dyn();
- void onStanza( ::snikket::Stanza stanza);
+ void onStanza( ::borogove::Stanza stanza);
::Dynamic onStanza_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_GenericStream */
+#endif /* INCLUDED_borogove_GenericStream */
diff --git a/Sources/c_snikket/iinclude/snikket/Hash.h b/Sources/c_borogove/iinclude/borogove/Hash.h
similarity index 78%
rename from Sources/c_snikket/iinclude/snikket/Hash.h
rename to Sources/c_borogove/iinclude/borogove/Hash.h
index 8be664d..8fd88c4 100644
--- a/Sources/c_snikket/iinclude/snikket/Hash.h
+++ b/Sources/c_borogove/iinclude/borogove/Hash.h
@@ -1,15 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Hash
-#define INCLUDED_snikket_Hash
+#ifndef INCLUDED_borogove_Hash
+#define INCLUDED_borogove_Hash
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
+HX_DECLARE_CLASS1(borogove,Hash)
HX_DECLARE_CLASS2(haxe,io,Bytes)
-HX_DECLARE_CLASS1(snikket,Hash)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Hash_obj : public ::hx::Object
@@ -20,13 +20,13 @@ class HXCPP_CLASS_ATTRIBUTES Hash_obj : public ::hx::Object
Hash_obj();
public:
- enum { _hx_ClassId = 0x05b4502b };
+ enum { _hx_ClassId = 0x2e184f4f };
void __construct(::String algorithm,::Array< unsigned char > hash);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Hash")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Hash")
{ 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,"snikket.Hash"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Hash"); }
static ::hx::ObjectPtr< Hash_obj > __new(::String algorithm,::Array< unsigned char > hash);
static ::hx::ObjectPtr< Hash_obj > __alloc(::hx::Ctx *_hx_ctx,::String algorithm,::Array< unsigned char > hash);
static void * _hx_vtable;
@@ -47,16 +47,16 @@ class HXCPP_CLASS_ATTRIBUTES Hash_obj : public ::hx::Object
static void __boot();
static ::Dynamic __meta__;
- static ::snikket::Hash fromHex(::String algorithm,::String hash);
+ static ::borogove::Hash fromHex(::String algorithm,::String hash);
static ::Dynamic fromHex_dyn();
- static ::snikket::Hash fromUri(::String uri);
+ static ::borogove::Hash fromUri(::String uri);
static ::Dynamic fromUri_dyn();
- static ::snikket::Hash sha1( ::haxe::io::Bytes bytes);
+ static ::borogove::Hash sha1( ::haxe::io::Bytes bytes);
static ::Dynamic sha1_dyn();
- static ::snikket::Hash sha256( ::haxe::io::Bytes bytes);
+ static ::borogove::Hash sha256( ::haxe::io::Bytes bytes);
static ::Dynamic sha256_dyn();
::String algorithm;
@@ -84,6 +84,6 @@ class HXCPP_CLASS_ATTRIBUTES Hash_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Hash */
+#endif /* INCLUDED_borogove_Hash */
diff --git a/Sources/c_snikket/iinclude/snikket/ID.h b/Sources/c_borogove/iinclude/borogove/ID.h
similarity index 80%
rename from Sources/c_snikket/iinclude/snikket/ID.h
rename to Sources/c_borogove/iinclude/borogove/ID.h
index 6d5d8c6..e2393e1 100644
--- a/Sources/c_snikket/iinclude/snikket/ID.h
+++ b/Sources/c_borogove/iinclude/borogove/ID.h
@@ -1,14 +1,14 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_ID
-#define INCLUDED_snikket_ID
+#ifndef INCLUDED_borogove_ID
+#define INCLUDED_borogove_ID
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,ID)
+HX_DECLARE_CLASS1(borogove,ID)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES ID_obj : public ::hx::Object
@@ -19,13 +19,13 @@ class HXCPP_CLASS_ATTRIBUTES ID_obj : public ::hx::Object
ID_obj();
public:
- enum { _hx_ClassId = 0x5880bad8 };
+ enum { _hx_ClassId = 0x2a811f28 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket.ID")
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.ID")
{ 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,"snikket.ID"); }
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove.ID"); }
inline static ::hx::ObjectPtr< ID_obj > __new() {
::hx::ObjectPtr< ID_obj > __this = new ID_obj();
@@ -34,7 +34,7 @@ class HXCPP_CLASS_ATTRIBUTES ID_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< ID_obj > __alloc(::hx::Ctx *_hx_ctx) {
- ID_obj *__this = (ID_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ID_obj), false, "snikket.ID"));
+ ID_obj *__this = (ID_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ID_obj), false, "borogove.ID"));
*(void **)__this = ID_obj::_hx_vtable;
return __this;
}
@@ -64,6 +64,6 @@ class HXCPP_CLASS_ATTRIBUTES ID_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_ID */
+#endif /* INCLUDED_borogove_ID */
diff --git a/Sources/c_snikket/iinclude/snikket/Identicon.h b/Sources/c_borogove/iinclude/borogove/Identicon.h
similarity index 75%
rename from Sources/c_snikket/iinclude/snikket/Identicon.h
rename to Sources/c_borogove/iinclude/borogove/Identicon.h
index f440dab..671f829 100644
--- a/Sources/c_snikket/iinclude/snikket/Identicon.h
+++ b/Sources/c_borogove/iinclude/borogove/Identicon.h
@@ -1,14 +1,14 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Identicon
-#define INCLUDED_snikket_Identicon
+#ifndef INCLUDED_borogove_Identicon
+#define INCLUDED_borogove_Identicon
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Identicon)
+HX_DECLARE_CLASS1(borogove,Identicon)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Identicon_obj : public ::hx::Object
@@ -19,13 +19,13 @@ class HXCPP_CLASS_ATTRIBUTES Identicon_obj : public ::hx::Object
Identicon_obj();
public:
- enum { _hx_ClassId = 0x3ab0d0ec };
+ enum { _hx_ClassId = 0x31496f48 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket.Identicon")
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.Identicon")
{ 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,"snikket.Identicon"); }
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove.Identicon"); }
inline static ::hx::ObjectPtr< Identicon_obj > __new() {
::hx::ObjectPtr< Identicon_obj > __this = new Identicon_obj();
@@ -34,7 +34,7 @@ class HXCPP_CLASS_ATTRIBUTES Identicon_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< Identicon_obj > __alloc(::hx::Ctx *_hx_ctx) {
- Identicon_obj *__this = (Identicon_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Identicon_obj), false, "snikket.Identicon"));
+ Identicon_obj *__this = (Identicon_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Identicon_obj), false, "borogove.Identicon"));
*(void **)__this = Identicon_obj::_hx_vtable;
return __this;
}
@@ -55,6 +55,6 @@ class HXCPP_CLASS_ATTRIBUTES Identicon_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Identicon */
+#endif /* INCLUDED_borogove_Identicon */
diff --git a/Sources/c_snikket/iinclude/snikket/Identity.h b/Sources/c_borogove/iinclude/borogove/Identity.h
similarity index 66%
rename from Sources/c_snikket/iinclude/snikket/Identity.h
rename to Sources/c_borogove/iinclude/borogove/Identity.h
index 28c9c85..96ab3f6 100644
--- a/Sources/c_snikket/iinclude/snikket/Identity.h
+++ b/Sources/c_borogove/iinclude/borogove/Identity.h
@@ -1,16 +1,16 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Identity
-#define INCLUDED_snikket_Identity
+#ifndef INCLUDED_borogove_Identity
+#define INCLUDED_borogove_Identity
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Identity)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
+HX_DECLARE_CLASS1(borogove,Identity)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(haxe,io,Output)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Identity_obj : public ::hx::Object
@@ -21,15 +21,15 @@ class HXCPP_CLASS_ATTRIBUTES Identity_obj : public ::hx::Object
Identity_obj();
public:
- enum { _hx_ClassId = 0x7fcd1307 };
+ enum { _hx_ClassId = 0x1cebb93f };
- void __construct(::String category,::String type,::String name);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Identity")
+ void __construct(::String category,::String type,::String name,::String lang);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Identity")
{ 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,"snikket.Identity"); }
- static ::hx::ObjectPtr< Identity_obj > __new(::String category,::String type,::String name);
- static ::hx::ObjectPtr< Identity_obj > __alloc(::hx::Ctx *_hx_ctx,::String category,::String type,::String name);
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Identity"); }
+ static ::hx::ObjectPtr< Identity_obj > __new(::String category,::String type,::String name,::String lang);
+ static ::hx::ObjectPtr< Identity_obj > __alloc(::hx::Ctx *_hx_ctx,::String category,::String type,::String name,::String lang);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -48,14 +48,18 @@ class HXCPP_CLASS_ATTRIBUTES Identity_obj : public ::hx::Object
::String category;
::String type;
::String name;
- void addToDisco( ::snikket::Stanza stanza);
+ ::String lang;
+ void addToDisco( ::borogove::Stanza stanza);
::Dynamic addToDisco_dyn();
::String ver();
::Dynamic ver_dyn();
+ void writeTo( ::haxe::io::Output out);
+ ::Dynamic writeTo_dyn();
+
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Identity */
+#endif /* INCLUDED_borogove_Identity */
diff --git a/Sources/c_borogove/iinclude/borogove/IqRequestType.h b/Sources/c_borogove/iinclude/borogove/IqRequestType.h
new file mode 100644
index 0000000..e8d9f75
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/IqRequestType.h
@@ -0,0 +1,35 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_IqRequestType
+#define INCLUDED_borogove_IqRequestType
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,IqRequestType)
+namespace borogove{
+
+
+class IqRequestType_obj : public ::hx::EnumBase_obj
+{
+ typedef ::hx::EnumBase_obj super;
+ typedef IqRequestType_obj OBJ_;
+
+ public:
+ IqRequestType_obj() {};
+ HX_DO_ENUM_RTTI;
+ static void __boot();
+ static void __register();
+ static bool __GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ ::String GetEnumName( ) const { return HX_("borogove.IqRequestType",74,38,52,ed); }
+ ::String __ToString() const { return HX_("IqRequestType.",8d,9a,13,cc) + _hx_tag; }
+
+ static ::borogove::IqRequestType Get;
+ static inline ::borogove::IqRequestType Get_dyn() { return Get; }
+ static ::borogove::IqRequestType Set;
+ static inline ::borogove::IqRequestType Set_dyn() { return Set; }
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_IqRequestType */
diff --git a/Sources/c_borogove/iinclude/borogove/IqResult.h b/Sources/c_borogove/iinclude/borogove/IqResult.h
new file mode 100644
index 0000000..dd8a0ef
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/IqResult.h
@@ -0,0 +1,38 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_IqResult
+#define INCLUDED_borogove_IqResult
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,IqResult)
+HX_DECLARE_CLASS1(borogove,Stanza)
+namespace borogove{
+
+
+class IqResult_obj : public ::hx::EnumBase_obj
+{
+ typedef ::hx::EnumBase_obj super;
+ typedef IqResult_obj OBJ_;
+
+ public:
+ IqResult_obj() {};
+ HX_DO_ENUM_RTTI;
+ static void __boot();
+ static void __register();
+ static bool __GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ ::String GetEnumName( ) const { return HX_("borogove.IqResult",f2,f5,9b,e5); }
+ ::String __ToString() const { return HX_("IqResult.",89,d1,c3,9e) + _hx_tag; }
+
+ static ::borogove::IqResult IqNoResult;
+ static inline ::borogove::IqResult IqNoResult_dyn() { return IqNoResult; }
+ static ::borogove::IqResult IqResult;
+ static inline ::borogove::IqResult IqResult_dyn() { return IqResult; }
+ static ::borogove::IqResult IqResultElement( ::borogove::Stanza element);
+ static ::Dynamic IqResultElement_dyn();
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_IqResult */
diff --git a/Sources/c_snikket/iinclude/snikket/JID.h b/Sources/c_borogove/iinclude/borogove/JID.h
similarity index 78%
rename from Sources/c_snikket/iinclude/snikket/JID.h
rename to Sources/c_borogove/iinclude/borogove/JID.h
index de929aa..2e7c50e 100644
--- a/Sources/c_snikket/iinclude/snikket/JID.h
+++ b/Sources/c_borogove/iinclude/borogove/JID.h
@@ -1,14 +1,14 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_JID
-#define INCLUDED_snikket_JID
+#ifndef INCLUDED_borogove_JID
+#define INCLUDED_borogove_JID
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,JID)
+HX_DECLARE_CLASS1(borogove,JID)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES JID_obj : public ::hx::Object
@@ -19,13 +19,13 @@ class HXCPP_CLASS_ATTRIBUTES JID_obj : public ::hx::Object
JID_obj();
public:
- enum { _hx_ClassId = 0x18238908 };
+ enum { _hx_ClassId = 0x68daca80 };
void __construct(::String node,::String domain,::String resource, ::Dynamic __o_raw);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.JID")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.JID")
{ 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,"snikket.JID"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.JID"); }
static ::hx::ObjectPtr< JID_obj > __new(::String node,::String domain,::String resource, ::Dynamic __o_raw);
static ::hx::ObjectPtr< JID_obj > __alloc(::hx::Ctx *_hx_ctx,::String node,::String domain,::String resource, ::Dynamic __o_raw);
static void * _hx_vtable;
@@ -44,16 +44,16 @@ class HXCPP_CLASS_ATTRIBUTES JID_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("JID",a5,66,38,00); }
- static ::snikket::JID parse(::String jid);
+ static ::borogove::JID parse(::String jid);
static ::Dynamic parse_dyn();
::String node;
::String domain;
::String resource;
- ::snikket::JID asBare();
+ ::borogove::JID asBare();
::Dynamic asBare_dyn();
- ::snikket::JID withResource(::String resource);
+ ::borogove::JID withResource(::String resource);
::Dynamic withResource_dyn();
bool isValid();
@@ -65,7 +65,7 @@ class HXCPP_CLASS_ATTRIBUTES JID_obj : public ::hx::Object
bool isBare();
::Dynamic isBare_dyn();
- bool equals( ::snikket::JID rhs);
+ bool equals( ::borogove::JID rhs);
::Dynamic equals_dyn();
::String asString();
@@ -73,6 +73,6 @@ class HXCPP_CLASS_ATTRIBUTES JID_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_JID */
+#endif /* INCLUDED_borogove_JID */
diff --git a/Sources/c_snikket/iinclude/snikket/JsonPrinter.h b/Sources/c_borogove/iinclude/borogove/JsonPrinter.h
similarity index 83%
rename from Sources/c_snikket/iinclude/snikket/JsonPrinter.h
rename to Sources/c_borogove/iinclude/borogove/JsonPrinter.h
index 1d179f2..ae6a61a 100644
--- a/Sources/c_snikket/iinclude/snikket/JsonPrinter.h
+++ b/Sources/c_borogove/iinclude/borogove/JsonPrinter.h
@@ -1,15 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_JsonPrinter
-#define INCLUDED_snikket_JsonPrinter
+#ifndef INCLUDED_borogove_JsonPrinter
+#define INCLUDED_borogove_JsonPrinter
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
HX_DECLARE_CLASS0(StringBuf)
-HX_DECLARE_CLASS1(snikket,JsonPrinter)
+HX_DECLARE_CLASS1(borogove,JsonPrinter)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES JsonPrinter_obj : public ::hx::Object
@@ -20,13 +20,13 @@ class HXCPP_CLASS_ATTRIBUTES JsonPrinter_obj : public ::hx::Object
JsonPrinter_obj();
public:
- enum { _hx_ClassId = 0x1bd625d5 };
+ enum { _hx_ClassId = 0x60981331 };
void __construct( ::Dynamic replacer,::String space);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.JsonPrinter")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.JsonPrinter")
{ 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,"snikket.JsonPrinter"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.JsonPrinter"); }
static ::hx::ObjectPtr< JsonPrinter_obj > __new( ::Dynamic replacer,::String space);
static ::hx::ObjectPtr< JsonPrinter_obj > __alloc(::hx::Ctx *_hx_ctx, ::Dynamic replacer,::String space);
static void * _hx_vtable;
@@ -68,6 +68,6 @@ class HXCPP_CLASS_ATTRIBUTES JsonPrinter_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_JsonPrinter */
+#endif /* INCLUDED_borogove_JsonPrinter */
diff --git a/Sources/c_snikket/iinclude/snikket/Message.h b/Sources/c_borogove/iinclude/borogove/Message.h
similarity index 56%
rename from Sources/c_snikket/iinclude/snikket/Message.h
rename to Sources/c_borogove/iinclude/borogove/Message.h
index 931dcc6..8859eb9 100644
--- a/Sources/c_snikket/iinclude/snikket/Message.h
+++ b/Sources/c_borogove/iinclude/borogove/Message.h
@@ -1,19 +1,19 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Message
-#define INCLUDED_snikket_Message
+#ifndef INCLUDED_borogove_Message
+#define INCLUDED_borogove_Message
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,ChatMessageBuilder)
-HX_DECLARE_CLASS1(snikket,JID)
-HX_DECLARE_CLASS1(snikket,Message)
-HX_DECLARE_CLASS1(snikket,MessageStanza)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
+HX_DECLARE_CLASS1(borogove,ChatMessageBuilder)
+HX_DECLARE_CLASS1(borogove,EncryptionInfo)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,Message)
+HX_DECLARE_CLASS1(borogove,MessageStanza)
+HX_DECLARE_CLASS1(borogove,Stanza)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Message_obj : public ::hx::Object
@@ -24,15 +24,15 @@ class HXCPP_CLASS_ATTRIBUTES Message_obj : public ::hx::Object
Message_obj();
public:
- enum { _hx_ClassId = 0x7c0c6d2e };
+ enum { _hx_ClassId = 0x7f796532 };
- void __construct(::String chatId,::String senderId,::String threadId, ::snikket::MessageStanza parsed);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Message")
+ void __construct(::String chatId,::String senderId,::String threadId, ::borogove::MessageStanza parsed, ::borogove::EncryptionInfo encryption);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Message")
{ 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,"snikket.Message"); }
- static ::hx::ObjectPtr< Message_obj > __new(::String chatId,::String senderId,::String threadId, ::snikket::MessageStanza parsed);
- static ::hx::ObjectPtr< Message_obj > __alloc(::hx::Ctx *_hx_ctx,::String chatId,::String senderId,::String threadId, ::snikket::MessageStanza parsed);
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Message"); }
+ static ::hx::ObjectPtr< Message_obj > __new(::String chatId,::String senderId,::String threadId, ::borogove::MessageStanza parsed, ::borogove::EncryptionInfo encryption);
+ static ::hx::ObjectPtr< Message_obj > __alloc(::hx::Ctx *_hx_ctx,::String chatId,::String senderId,::String threadId, ::borogove::MessageStanza parsed, ::borogove::EncryptionInfo encryption);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -49,15 +49,16 @@ class HXCPP_CLASS_ATTRIBUTES Message_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("Message",a7,5d,62,67); }
- static ::snikket::Message fromStanza( ::snikket::Stanza stanza, ::snikket::JID localJid, ::Dynamic addContext);
+ static ::borogove::Message fromStanza( ::borogove::Stanza stanza, ::borogove::JID localJid, ::Dynamic addContext, ::borogove::EncryptionInfo encryptionInfo);
static ::Dynamic fromStanza_dyn();
::String chatId;
::String senderId;
::String threadId;
- ::snikket::MessageStanza parsed;
+ ::borogove::EncryptionInfo encryption;
+ ::borogove::MessageStanza parsed;
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Message */
+#endif /* INCLUDED_borogove_Message */
diff --git a/Sources/c_borogove/iinclude/borogove/MessageStanza.h b/Sources/c_borogove/iinclude/borogove/MessageStanza.h
new file mode 100644
index 0000000..19e0983
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/MessageStanza.h
@@ -0,0 +1,47 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_MessageStanza
+#define INCLUDED_borogove_MessageStanza
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,MessageStanza)
+HX_DECLARE_CLASS1(borogove,ModerationAction)
+HX_DECLARE_CLASS1(borogove,ReactionUpdate)
+HX_DECLARE_CLASS1(borogove,Stanza)
+namespace borogove{
+
+
+class MessageStanza_obj : public ::hx::EnumBase_obj
+{
+ typedef ::hx::EnumBase_obj super;
+ typedef MessageStanza_obj OBJ_;
+
+ public:
+ MessageStanza_obj() {};
+ HX_DO_ENUM_RTTI;
+ static void __boot();
+ static void __register();
+ static bool __GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ ::String GetEnumName( ) const { return HX_("borogove.MessageStanza",ef,88,64,fd); }
+ ::String __ToString() const { return HX_("MessageStanza.",b2,b5,07,cc) + _hx_tag; }
+
+ static ::borogove::MessageStanza ChatMessageStanza( ::borogove::ChatMessage message);
+ static ::Dynamic ChatMessageStanza_dyn();
+ static ::borogove::MessageStanza ErrorMessageStanza(::String localId, ::borogove::Stanza stanza);
+ static ::Dynamic ErrorMessageStanza_dyn();
+ static ::borogove::MessageStanza ModerateMessageStanza( ::borogove::ModerationAction action);
+ static ::Dynamic ModerateMessageStanza_dyn();
+ static ::borogove::MessageStanza MucInviteStanza(::String serverId,::String serverIdBy,::String reason,::String password);
+ static ::Dynamic MucInviteStanza_dyn();
+ static ::borogove::MessageStanza ReactionUpdateStanza( ::borogove::ReactionUpdate update);
+ static ::Dynamic ReactionUpdateStanza_dyn();
+ static ::borogove::MessageStanza UnknownMessageStanza( ::borogove::Stanza stanza);
+ static ::Dynamic UnknownMessageStanza_dyn();
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_MessageStanza */
diff --git a/Sources/c_snikket/iinclude/snikket/MessageSync.h b/Sources/c_borogove/iinclude/borogove/MessageSync.h
similarity index 64%
rename from Sources/c_snikket/iinclude/snikket/MessageSync.h
rename to Sources/c_borogove/iinclude/borogove/MessageSync.h
index 7469276..dba3a6d 100644
--- a/Sources/c_snikket/iinclude/snikket/MessageSync.h
+++ b/Sources/c_borogove/iinclude/borogove/MessageSync.h
@@ -1,22 +1,21 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_MessageSync
-#define INCLUDED_snikket_MessageSync
+#ifndef INCLUDED_borogove_MessageSync
+#define INCLUDED_borogove_MessageSync
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
+HX_DECLARE_CLASS1(borogove,ChatMessageBuilder)
+HX_DECLARE_CLASS1(borogove,Client)
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,GenericStream)
+HX_DECLARE_CLASS1(borogove,MessageSync)
+HX_DECLARE_CLASS1(borogove,Stanza)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
-HX_DECLARE_CLASS1(snikket,ChatMessageBuilder)
-HX_DECLARE_CLASS1(snikket,Client)
-HX_DECLARE_CLASS1(snikket,EventEmitter)
-HX_DECLARE_CLASS1(snikket,GenericStream)
-HX_DECLARE_CLASS1(snikket,MessageSync)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES MessageSync_obj : public ::hx::Object
@@ -27,15 +26,15 @@ class HXCPP_CLASS_ATTRIBUTES MessageSync_obj : public ::hx::Object
MessageSync_obj();
public:
- enum { _hx_ClassId = 0x0c8e50c1 };
+ enum { _hx_ClassId = 0x0e3ada7d };
- void __construct( ::snikket::Client client, ::snikket::GenericStream stream, ::Dynamic filter,::String serviceJID);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.MessageSync")
+ void __construct( ::borogove::Client client, ::borogove::GenericStream stream, ::Dynamic filter,::String serviceJID);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.MessageSync")
{ 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,"snikket.MessageSync"); }
- static ::hx::ObjectPtr< MessageSync_obj > __new( ::snikket::Client client, ::snikket::GenericStream stream, ::Dynamic filter,::String serviceJID);
- static ::hx::ObjectPtr< MessageSync_obj > __alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::GenericStream stream, ::Dynamic filter,::String serviceJID);
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.MessageSync"); }
+ static ::hx::ObjectPtr< MessageSync_obj > __new( ::borogove::Client client, ::borogove::GenericStream stream, ::Dynamic filter,::String serviceJID);
+ static ::hx::ObjectPtr< MessageSync_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::GenericStream stream, ::Dynamic filter,::String serviceJID);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -51,8 +50,8 @@ class HXCPP_CLASS_ATTRIBUTES MessageSync_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("MessageSync",a2,a3,78,63); }
- ::snikket::Client client;
- ::snikket::GenericStream stream;
+ ::borogove::Client client;
+ ::borogove::GenericStream stream;
::Dynamic filter;
::String serviceJID;
::Dynamic handler;
@@ -86,6 +85,6 @@ class HXCPP_CLASS_ATTRIBUTES MessageSync_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_MessageSync */
+#endif /* INCLUDED_borogove_MessageSync */
diff --git a/Sources/c_snikket/iinclude/snikket/ModerationAction.h b/Sources/c_borogove/iinclude/borogove/ModerationAction.h
similarity index 66%
rename from Sources/c_snikket/iinclude/snikket/ModerationAction.h
rename to Sources/c_borogove/iinclude/borogove/ModerationAction.h
index 16f7e22..67625f5 100644
--- a/Sources/c_snikket/iinclude/snikket/ModerationAction.h
+++ b/Sources/c_borogove/iinclude/borogove/ModerationAction.h
@@ -1,15 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_ModerationAction
-#define INCLUDED_snikket_ModerationAction
+#ifndef INCLUDED_borogove_ModerationAction
+#define INCLUDED_borogove_ModerationAction
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_STACK_FRAME(_hx_pos_cab007b58fe42bf8_10_new)
-HX_DECLARE_CLASS1(snikket,ModerationAction)
+HX_DECLARE_STACK_FRAME(_hx_pos_1331bd461281db0a_10_new)
+HX_DECLARE_CLASS1(borogove,ModerationAction)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES ModerationAction_obj : public ::hx::Object
@@ -20,13 +20,13 @@ class HXCPP_CLASS_ATTRIBUTES ModerationAction_obj : public ::hx::Object
ModerationAction_obj();
public:
- enum { _hx_ClassId = 0x2ac69cd9 };
+ enum { _hx_ClassId = 0x67bec1fd };
void __construct(::String chatId,::String moderateServerId,::String timestamp,::String moderatorId,::String reason);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.ModerationAction")
+ 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,"snikket.ModerationAction"); }
+ { 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) {
::hx::ObjectPtr< ModerationAction_obj > __this = new ModerationAction_obj();
@@ -35,15 +35,15 @@ class HXCPP_CLASS_ATTRIBUTES ModerationAction_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< ModerationAction_obj > __alloc(::hx::Ctx *_hx_ctx,::String chatId,::String moderateServerId,::String timestamp,::String moderatorId,::String reason) {
- ModerationAction_obj *__this = (ModerationAction_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ModerationAction_obj), true, "snikket.ModerationAction"));
+ 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_cab007b58fe42bf8_10_new)
-HXLINE( 11) ( ( ::snikket::ModerationAction)(__this) )->chatId = chatId;
-HXLINE( 12) ( ( ::snikket::ModerationAction)(__this) )->moderateServerId = moderateServerId;
-HXLINE( 13) ( ( ::snikket::ModerationAction)(__this) )->timestamp = timestamp;
-HXLINE( 14) ( ( ::snikket::ModerationAction)(__this) )->moderatorId = moderatorId;
-HXLINE( 15) ( ( ::snikket::ModerationAction)(__this) )->reason = reason;
+ 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;
}
return __this;
@@ -71,6 +71,6 @@ HXLINE( 15) ( ( ::snikket::ModerationAction)(__this) )->reason = reason;
::String reason;
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_ModerationAction */
+#endif /* INCLUDED_borogove_ModerationAction */
diff --git a/Sources/c_borogove/iinclude/borogove/NS.h b/Sources/c_borogove/iinclude/borogove/NS.h
new file mode 100644
index 0000000..7db4e5c
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/NS.h
@@ -0,0 +1,60 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_NS
+#define INCLUDED_borogove_NS
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,NS)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES NS_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef NS_obj OBJ_;
+ NS_obj();
+
+ public:
+ enum { _hx_ClassId = 0x2a812392 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.NS")
+ { 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.NS"); }
+
+ inline static ::hx::ObjectPtr< NS_obj > __new() {
+ ::hx::ObjectPtr< NS_obj > __this = new NS_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< NS_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ NS_obj *__this = (NS_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(NS_obj), false, "borogove.NS"));
+ *(void **)__this = NS_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~NS_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_("NS",45,44,00,00); }
+
+ static void __boot();
+ static ::String OMEMO;
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_NS */
diff --git a/Sources/c_snikket/iinclude/snikket/Node.h b/Sources/c_borogove/iinclude/borogove/Node.h
similarity index 54%
rename from Sources/c_snikket/iinclude/snikket/Node.h
rename to Sources/c_borogove/iinclude/borogove/Node.h
index 9f8b7ab..9c555c3 100644
--- a/Sources/c_snikket/iinclude/snikket/Node.h
+++ b/Sources/c_borogove/iinclude/borogove/Node.h
@@ -1,15 +1,14 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Node
-#define INCLUDED_snikket_Node
+#ifndef INCLUDED_borogove_Node
+#define INCLUDED_borogove_Node
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Node)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-namespace snikket{
+HX_DECLARE_CLASS1(borogove,Node)
+HX_DECLARE_CLASS1(borogove,Stanza)
+namespace borogove{
class Node_obj : public ::hx::EnumBase_obj
@@ -23,15 +22,15 @@ class Node_obj : public ::hx::EnumBase_obj
static void __boot();
static void __register();
static bool __GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
- ::String GetEnumName( ) const { return HX_("snikket.Node",b3,af,c7,53); }
+ ::String GetEnumName( ) const { return HX_("borogove.Node",8f,1e,49,e2); }
::String __ToString() const { return HX_("Node.",cc,27,ec,32) + _hx_tag; }
- static ::snikket::Node CData(::String textNode);
+ static ::borogove::Node CData(::String textNode);
static ::Dynamic CData_dyn();
- static ::snikket::Node Element( ::snikket::Stanza stanza);
+ static ::borogove::Node Element( ::borogove::Stanza stanza);
static ::Dynamic Element_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Node */
+#endif /* INCLUDED_borogove_Node */
diff --git a/Sources/c_snikket/iinclude/snikket/Notification.h b/Sources/c_borogove/iinclude/borogove/Notification.h
similarity index 66%
rename from Sources/c_snikket/iinclude/snikket/Notification.h
rename to Sources/c_borogove/iinclude/borogove/Notification.h
index e27d01e..bbbbd6e 100644
--- a/Sources/c_snikket/iinclude/snikket/Notification.h
+++ b/Sources/c_borogove/iinclude/borogove/Notification.h
@@ -1,18 +1,17 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Notification
-#define INCLUDED_snikket_Notification
+#ifndef INCLUDED_borogove_Notification
+#define INCLUDED_borogove_Notification
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_STACK_FRAME(_hx_pos_b0a79cae3ba17812_31_new)
-HX_DECLARE_CLASS1(snikket,ChatMessage)
-HX_DECLARE_CLASS1(snikket,Notification)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
+HX_DECLARE_STACK_FRAME(_hx_pos_44a57d84c61de0e9_67_new)
+HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,Notification)
+HX_DECLARE_CLASS1(borogove,Stanza)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Notification_obj : public ::hx::Object
@@ -23,13 +22,13 @@ class HXCPP_CLASS_ATTRIBUTES Notification_obj : public ::hx::Object
Notification_obj();
public:
- enum { _hx_ClassId = 0x778a3c48 };
+ enum { _hx_ClassId = 0x5c77ff6c };
void __construct(::String title,::String body,::String accountId,::String chatId,::String senderId,::String messageId,int type,::String callStatus,::String callSid,::String imageUri,::String lang,::String timestamp);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Notification")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Notification")
{ 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,"snikket.Notification"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Notification"); }
inline static ::hx::ObjectPtr< Notification_obj > __new(::String title,::String body,::String accountId,::String chatId,::String senderId,::String messageId,int type,::String callStatus,::String callSid,::String imageUri,::String lang,::String timestamp) {
::hx::ObjectPtr< Notification_obj > __this = new Notification_obj();
@@ -38,22 +37,22 @@ class HXCPP_CLASS_ATTRIBUTES Notification_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< Notification_obj > __alloc(::hx::Ctx *_hx_ctx,::String title,::String body,::String accountId,::String chatId,::String senderId,::String messageId,int type,::String callStatus,::String callSid,::String imageUri,::String lang,::String timestamp) {
- Notification_obj *__this = (Notification_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Notification_obj), true, "snikket.Notification"));
+ Notification_obj *__this = (Notification_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Notification_obj), true, "borogove.Notification"));
*(void **)__this = Notification_obj::_hx_vtable;
{
- HX_STACKFRAME(&_hx_pos_b0a79cae3ba17812_31_new)
-HXLINE( 32) ( ( ::snikket::Notification)(__this) )->title = title;
-HXLINE( 33) ( ( ::snikket::Notification)(__this) )->body = body;
-HXLINE( 34) ( ( ::snikket::Notification)(__this) )->accountId = accountId;
-HXLINE( 35) ( ( ::snikket::Notification)(__this) )->chatId = chatId;
-HXLINE( 36) ( ( ::snikket::Notification)(__this) )->senderId = senderId;
-HXLINE( 37) ( ( ::snikket::Notification)(__this) )->messageId = messageId;
-HXLINE( 38) ( ( ::snikket::Notification)(__this) )->type = type;
-HXLINE( 39) ( ( ::snikket::Notification)(__this) )->callStatus = callStatus;
-HXLINE( 40) ( ( ::snikket::Notification)(__this) )->callSid = callSid;
-HXLINE( 41) ( ( ::snikket::Notification)(__this) )->imageUri = imageUri;
-HXLINE( 42) ( ( ::snikket::Notification)(__this) )->lang = lang;
-HXLINE( 43) ( ( ::snikket::Notification)(__this) )->timestamp = timestamp;
+ HX_STACKFRAME(&_hx_pos_44a57d84c61de0e9_67_new)
+HXLINE( 68) ( ( ::borogove::Notification)(__this) )->title = title;
+HXLINE( 69) ( ( ::borogove::Notification)(__this) )->body = body;
+HXLINE( 70) ( ( ::borogove::Notification)(__this) )->accountId = accountId;
+HXLINE( 71) ( ( ::borogove::Notification)(__this) )->chatId = chatId;
+HXLINE( 72) ( ( ::borogove::Notification)(__this) )->senderId = senderId;
+HXLINE( 73) ( ( ::borogove::Notification)(__this) )->messageId = messageId;
+HXLINE( 74) ( ( ::borogove::Notification)(__this) )->type = type;
+HXLINE( 75) ( ( ::borogove::Notification)(__this) )->callStatus = callStatus;
+HXLINE( 76) ( ( ::borogove::Notification)(__this) )->callSid = callSid;
+HXLINE( 77) ( ( ::borogove::Notification)(__this) )->imageUri = imageUri;
+HXLINE( 78) ( ( ::borogove::Notification)(__this) )->lang = lang;
+HXLINE( 79) ( ( ::borogove::Notification)(__this) )->timestamp = timestamp;
}
return __this;
@@ -77,10 +76,10 @@ HXLINE( 43) ( ( ::snikket::Notification)(__this) )->timestamp = timestamp;
static void __boot();
static ::Dynamic __meta__;
- static ::snikket::Notification fromChatMessage( ::snikket::ChatMessage m);
+ static ::borogove::Notification fromChatMessage( ::borogove::ChatMessage m);
static ::Dynamic fromChatMessage_dyn();
- static ::snikket::Notification fromThinStanza( ::snikket::Stanza stanza);
+ static ::borogove::Notification fromThinStanza( ::borogove::Stanza stanza);
static ::Dynamic fromThinStanza_dyn();
::String title;
@@ -133,6 +132,6 @@ HXLINE( 43) ( ( ::snikket::Notification)(__this) )->timestamp = timestamp;
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Notification */
+#endif /* INCLUDED_borogove_Notification */
diff --git a/Sources/c_snikket/iinclude/snikket/Other.h b/Sources/c_borogove/iinclude/borogove/Other.h
similarity index 64%
rename from Sources/c_snikket/iinclude/snikket/Other.h
rename to Sources/c_borogove/iinclude/borogove/Other.h
index 500f13e..d584a34 100644
--- a/Sources/c_snikket/iinclude/snikket/Other.h
+++ b/Sources/c_borogove/iinclude/borogove/Other.h
@@ -1,36 +1,36 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Other
-#define INCLUDED_snikket_Other
+#ifndef INCLUDED_borogove_Other
+#define INCLUDED_borogove_Other
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_Symbol
-#include <snikket/Symbol.h>
+#ifndef INCLUDED_borogove_Symbol
+#include <borogove/Symbol.h>
#endif
-HX_DECLARE_STACK_FRAME(_hx_pos_aac171f877c525f9_146_new)
-HX_DECLARE_CLASS1(snikket,Other)
-HX_DECLARE_CLASS1(snikket,Symbol)
+HX_DECLARE_STACK_FRAME(_hx_pos_c8cb9fdf9d715eea_146_new)
+HX_DECLARE_CLASS1(borogove,Other)
+HX_DECLARE_CLASS1(borogove,Symbol)
-namespace snikket{
+namespace borogove{
-class HXCPP_CLASS_ATTRIBUTES Other_obj : public ::snikket::Symbol_obj
+class HXCPP_CLASS_ATTRIBUTES Other_obj : public ::borogove::Symbol_obj
{
public:
- typedef ::snikket::Symbol_obj super;
+ typedef ::borogove::Symbol_obj super;
typedef Other_obj OBJ_;
Other_obj();
public:
- enum { _hx_ClassId = 0x0c6697d3 };
+ enum { _hx_ClassId = 0x3b81d82f };
void __construct(::Array< int > codepoints);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Other")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Other")
{ 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,"snikket.Other"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Other"); }
inline static ::hx::ObjectPtr< Other_obj > __new(::Array< int > codepoints) {
::hx::ObjectPtr< Other_obj > __this = new Other_obj();
@@ -39,10 +39,10 @@ class HXCPP_CLASS_ATTRIBUTES Other_obj : public ::snikket::Symbol_obj
}
inline static ::hx::ObjectPtr< Other_obj > __alloc(::hx::Ctx *_hx_ctx,::Array< int > codepoints) {
- Other_obj *__this = (Other_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Other_obj), true, "snikket.Other"));
+ Other_obj *__this = (Other_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Other_obj), true, "borogove.Other"));
*(void **)__this = Other_obj::_hx_vtable;
{
- HX_STACKFRAME(&_hx_pos_aac171f877c525f9_146_new)
+ HX_STACKFRAME(&_hx_pos_c8cb9fdf9d715eea_146_new)
HXDLIN( 146) __this->super::__construct(codepoints);
}
@@ -64,6 +64,6 @@ HXDLIN( 146) __this->super::__construct(codepoints);
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Other */
+#endif /* INCLUDED_borogove_Other */
diff --git a/Sources/c_borogove/iinclude/borogove/Outbox.h b/Sources/c_borogove/iinclude/borogove/Outbox.h
new file mode 100644
index 0000000..f83de99
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/Outbox.h
@@ -0,0 +1,65 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_Outbox
+#define INCLUDED_borogove_Outbox
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,Outbox)
+HX_DECLARE_CLASS1(borogove,OutboxItem)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES Outbox_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Outbox_obj OBJ_;
+ Outbox_obj();
+
+ public:
+ enum { _hx_ClassId = 0x716e2bfe };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Outbox")
+ { 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.Outbox"); }
+ static ::hx::ObjectPtr< Outbox_obj > __new();
+ static ::hx::ObjectPtr< Outbox_obj > __alloc(::hx::Ctx *_hx_ctx);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Outbox_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_("Outbox",5d,de,0a,41); }
+
+ ::Array< ::Dynamic> items;
+ bool paused;
+ ::borogove::OutboxItem newItem();
+ ::Dynamic newItem_dyn();
+
+ void next();
+ ::Dynamic next_dyn();
+
+ void pause();
+ ::Dynamic pause_dyn();
+
+ void start();
+ ::Dynamic start_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_Outbox */
diff --git a/Sources/c_borogove/iinclude/borogove/OutboxItem.h b/Sources/c_borogove/iinclude/borogove/OutboxItem.h
new file mode 100644
index 0000000..6e58521
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/OutboxItem.h
@@ -0,0 +1,60 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_OutboxItem
+#define INCLUDED_borogove_OutboxItem
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,Outbox)
+HX_DECLARE_CLASS1(borogove,OutboxItem)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES OutboxItem_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef OutboxItem_obj OBJ_;
+ OutboxItem_obj();
+
+ public:
+ enum { _hx_ClassId = 0x6bbff431 };
+
+ void __construct( ::borogove::Outbox outbox);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.OutboxItem")
+ { 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.OutboxItem"); }
+ static ::hx::ObjectPtr< OutboxItem_obj > __new( ::borogove::Outbox outbox);
+ static ::hx::ObjectPtr< OutboxItem_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Outbox outbox);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~OutboxItem_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_("OutboxItem",10,c2,ae,3f); }
+
+ ::borogove::Outbox outbox;
+ ::Dynamic _handle;
+ Dynamic _handle_dyn() { return _handle;}
+ void handle( ::Dynamic f);
+ ::Dynamic handle_dyn();
+
+ bool run();
+ ::Dynamic run_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_OutboxItem */
diff --git a/Sources/c_snikket/iinclude/snikket/Participant.h b/Sources/c_borogove/iinclude/borogove/Participant.h
similarity index 50%
rename from Sources/c_snikket/iinclude/snikket/Participant.h
rename to Sources/c_borogove/iinclude/borogove/Participant.h
index 5317907..ea18b4b 100644
--- a/Sources/c_snikket/iinclude/snikket/Participant.h
+++ b/Sources/c_borogove/iinclude/borogove/Participant.h
@@ -1,15 +1,18 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Participant
-#define INCLUDED_snikket_Participant
+#ifndef INCLUDED_borogove_Participant
+#define INCLUDED_borogove_Participant
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_STACK_FRAME(_hx_pos_33195ab9b813f4c6_20_new)
-HX_DECLARE_CLASS1(snikket,Participant)
+HX_DECLARE_CLASS1(borogove,Client)
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,Participant)
+HX_DECLARE_CLASS1(thenshim,Thenable)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Participant_obj : public ::hx::Object
@@ -20,34 +23,15 @@ class HXCPP_CLASS_ATTRIBUTES Participant_obj : public ::hx::Object
Participant_obj();
public:
- enum { _hx_ClassId = 0x7d555cf6 };
+ enum { _hx_ClassId = 0x09ded66e };
- void __construct(::String displayName,::String photoUri,::String placeholderUri,bool isSelf);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Participant")
+ void __construct(::String displayName,::String photoUri,::String placeholderUri,bool isSelf, ::borogove::JID jid);
+ 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,"snikket.Participant"); }
-
- inline static ::hx::ObjectPtr< Participant_obj > __new(::String displayName,::String photoUri,::String placeholderUri,bool isSelf) {
- ::hx::ObjectPtr< Participant_obj > __this = new Participant_obj();
- __this->__construct(displayName,photoUri,placeholderUri,isSelf);
- return __this;
- }
-
- inline static ::hx::ObjectPtr< Participant_obj > __alloc(::hx::Ctx *_hx_ctx,::String displayName,::String photoUri,::String placeholderUri,bool isSelf) {
- Participant_obj *__this = (Participant_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Participant_obj), true, "snikket.Participant"));
- *(void **)__this = Participant_obj::_hx_vtable;
-{
- HX_STACKFRAME(&_hx_pos_33195ab9b813f4c6_20_new)
-HXLINE( 21) ( ( ::snikket::Participant)(__this) )->displayName = displayName;
-HXLINE( 22) ( ( ::snikket::Participant)(__this) )->photoUri = photoUri;
-HXLINE( 23) ( ( ::snikket::Participant)(__this) )->placeholderUri = placeholderUri;
-HXLINE( 24) ( ( ::snikket::Participant)(__this) )->isSelf = isSelf;
- }
-
- return __this;
- }
-
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Participant"); }
+ static ::hx::ObjectPtr< Participant_obj > __new(::String displayName,::String photoUri,::String placeholderUri,bool isSelf, ::borogove::JID jid);
+ static ::hx::ObjectPtr< Participant_obj > __alloc(::hx::Ctx *_hx_ctx,::String displayName,::String photoUri,::String placeholderUri,bool isSelf, ::borogove::JID jid);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -81,8 +65,14 @@ HXLINE( 24) ( ( ::snikket::Participant)(__this) )->isSelf = isSelf;
bool isSelf__fromC();
::Dynamic isSelf__fromC_dyn();
+ ::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);
+
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Participant */
+#endif /* INCLUDED_borogove_Participant */
diff --git a/Sources/c_borogove/iinclude/borogove/Persistence.h b/Sources/c_borogove/iinclude/borogove/Persistence.h
new file mode 100644
index 0000000..4431dcb
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/Persistence.h
@@ -0,0 +1,129 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_Persistence
+#define INCLUDED_borogove_Persistence
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,Caps)
+HX_DECLARE_CLASS1(borogove,Chat)
+HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,Persistence)
+HX_DECLARE_CLASS1(borogove,ReactionUpdate)
+HX_DECLARE_CLASS1(thenshim,Thenable)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES Persistence_obj {
+ public:
+ typedef ::hx::Object super;
+ HX_DO_INTERFACE_RTTI;
+
+ static void __boot();
+ ::Dynamic (::hx::Object :: *_hx_lastId)(::String accountId,::String chatId);
+ static inline ::Dynamic lastId( ::Dynamic _hx_,::String accountId,::String chatId) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_lastId)(accountId,chatId);
+ }
+ void (::hx::Object :: *_hx_storeChats)(::String accountId,::Array< ::Dynamic> chats);
+ static inline void storeChats( ::Dynamic _hx_,::String accountId,::Array< ::Dynamic> chats) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_storeChats)(accountId,chats);
+ }
+ ::Dynamic (::hx::Object :: *_hx_getChats)(::String accountId);
+ static inline ::Dynamic getChats( ::Dynamic _hx_,::String accountId) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_getChats)(accountId);
+ }
+ ::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);
+ }
+ ::Dynamic (::hx::Object :: *_hx_storeReaction)(::String accountId, ::borogove::ReactionUpdate update);
+ static inline ::Dynamic storeReaction( ::Dynamic _hx_,::String accountId, ::borogove::ReactionUpdate update) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_storeReaction)(accountId,update);
+ }
+ ::Dynamic (::hx::Object :: *_hx_storeMessages)(::String accountId,::Array< ::Dynamic> message);
+ static inline ::Dynamic storeMessages( ::Dynamic _hx_,::String accountId,::Array< ::Dynamic> message) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_storeMessages)(accountId,message);
+ }
+ void (::hx::Object :: *_hx_updateMessage)(::String accountId, ::borogove::ChatMessage message);
+ static inline void updateMessage( ::Dynamic _hx_,::String accountId, ::borogove::ChatMessage message) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_updateMessage)(accountId,message);
+ }
+ ::Dynamic (::hx::Object :: *_hx_updateMessageStatus)(::String accountId,::String localId,int status,::String statusText);
+ static inline ::Dynamic updateMessageStatus( ::Dynamic _hx_,::String accountId,::String localId,int status,::String statusText) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_updateMessageStatus)(accountId,localId,status,statusText);
+ }
+ ::Dynamic (::hx::Object :: *_hx_getMessage)(::String accountId,::String chatId,::String serverId,::String localId);
+ static inline ::Dynamic getMessage( ::Dynamic _hx_,::String accountId,::String chatId,::String serverId,::String localId) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_getMessage)(accountId,chatId,serverId,localId);
+ }
+ ::Dynamic (::hx::Object :: *_hx_getMessagesBefore)(::String accountId,::String chatId,::String beforeId,::String beforeTime);
+ static inline ::Dynamic getMessagesBefore( ::Dynamic _hx_,::String accountId,::String chatId,::String beforeId,::String beforeTime) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_getMessagesBefore)(accountId,chatId,beforeId,beforeTime);
+ }
+ ::Dynamic (::hx::Object :: *_hx_getMessagesAfter)(::String accountId,::String chatId,::String afterId,::String afterTime);
+ static inline ::Dynamic getMessagesAfter( ::Dynamic _hx_,::String accountId,::String chatId,::String afterId,::String afterTime) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_getMessagesAfter)(accountId,chatId,afterId,afterTime);
+ }
+ ::Dynamic (::hx::Object :: *_hx_getMessagesAround)(::String accountId,::String chatId,::String aroundId,::String aroundTime);
+ static inline ::Dynamic getMessagesAround( ::Dynamic _hx_,::String accountId,::String chatId,::String aroundId,::String aroundTime) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_getMessagesAround)(accountId,chatId,aroundId,aroundTime);
+ }
+ ::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_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);
+ }
+ void (::hx::Object :: *_hx_removeMedia)(::String hashAlgorithm,::Array< unsigned char > hash);
+ static inline void removeMedia( ::Dynamic _hx_,::String hashAlgorithm,::Array< unsigned char > hash) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_removeMedia)(hashAlgorithm,hash);
+ }
+ void (::hx::Object :: *_hx_storeCaps)( ::borogove::Caps caps);
+ static inline void storeCaps( ::Dynamic _hx_, ::borogove::Caps caps) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_storeCaps)(caps);
+ }
+ ::Dynamic (::hx::Object :: *_hx_getCaps)(::String ver);
+ 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);
+ }
+ void (::hx::Object :: *_hx_storeLogin)(::String login,::String clientId,::String displayName,::String token);
+ static inline void storeLogin( ::Dynamic _hx_,::String login,::String clientId,::String displayName,::String token) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_storeLogin)(login,clientId,displayName,token);
+ }
+ ::Dynamic (::hx::Object :: *_hx_getLogin)(::String login);
+ static inline ::Dynamic getLogin( ::Dynamic _hx_,::String login) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_getLogin)(login);
+ }
+ void (::hx::Object :: *_hx_removeAccount)(::String accountId,bool completely);
+ static inline void removeAccount( ::Dynamic _hx_,::String accountId,bool completely) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_removeAccount)(accountId,completely);
+ }
+ ::Dynamic (::hx::Object :: *_hx_listAccounts)();
+ static inline ::Dynamic listAccounts( ::Dynamic _hx_) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_listAccounts)();
+ }
+ void (::hx::Object :: *_hx_storeStreamManagement)(::String accountId,::Array< unsigned char > data);
+ static inline void storeStreamManagement( ::Dynamic _hx_,::String accountId,::Array< unsigned char > data) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_storeStreamManagement)(accountId,data);
+ }
+ ::Dynamic (::hx::Object :: *_hx_getStreamManagement)(::String accountId);
+ static inline ::Dynamic getStreamManagement( ::Dynamic _hx_,::String accountId) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_getStreamManagement)(accountId);
+ }
+ void (::hx::Object :: *_hx_storeService)(::String accountId,::String serviceId,::String name,::String node, ::borogove::Caps caps);
+ static inline void storeService( ::Dynamic _hx_,::String accountId,::String serviceId,::String name,::String node, ::borogove::Caps caps) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_storeService)(accountId,serviceId,name,node,caps);
+ }
+ ::Dynamic (::hx::Object :: *_hx_findServicesWithFeature)(::String accountId,::String feature);
+ static inline ::Dynamic findServicesWithFeature( ::Dynamic _hx_,::String accountId,::String feature) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_findServicesWithFeature)(accountId,feature);
+ }
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_Persistence */
diff --git a/Sources/c_snikket/iinclude/snikket/Presence.h b/Sources/c_borogove/iinclude/borogove/Presence.h
similarity index 55%
rename from Sources/c_snikket/iinclude/snikket/Presence.h
rename to Sources/c_borogove/iinclude/borogove/Presence.h
index ac48ae8..8a6e862 100644
--- a/Sources/c_snikket/iinclude/snikket/Presence.h
+++ b/Sources/c_borogove/iinclude/borogove/Presence.h
@@ -1,17 +1,17 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Presence
-#define INCLUDED_snikket_Presence
+#ifndef INCLUDED_borogove_Presence
+#define INCLUDED_borogove_Presence
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Caps)
-HX_DECLARE_CLASS1(snikket,Presence)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
+HX_DECLARE_CLASS1(borogove,Caps)
+HX_DECLARE_CLASS1(borogove,Hash)
+HX_DECLARE_CLASS1(borogove,Presence)
+HX_DECLARE_CLASS1(borogove,Stanza)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Presence_obj : public ::hx::Object
@@ -22,15 +22,15 @@ class HXCPP_CLASS_ATTRIBUTES Presence_obj : public ::hx::Object
Presence_obj();
public:
- enum { _hx_ClassId = 0x4c576518 };
+ enum { _hx_ClassId = 0x3187d0a0 };
- void __construct( ::snikket::Caps caps, ::snikket::Stanza mucUser);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Presence")
+ void __construct( ::borogove::Caps caps, ::borogove::Stanza mucUser, ::borogove::Hash avatarHash);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Presence")
{ 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,"snikket.Presence"); }
- static ::hx::ObjectPtr< Presence_obj > __new( ::snikket::Caps caps, ::snikket::Stanza mucUser);
- static ::hx::ObjectPtr< Presence_obj > __alloc(::hx::Ctx *_hx_ctx, ::snikket::Caps caps, ::snikket::Stanza mucUser);
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Presence"); }
+ static ::hx::ObjectPtr< Presence_obj > __new( ::borogove::Caps caps, ::borogove::Stanza mucUser, ::borogove::Hash avatarHash);
+ static ::hx::ObjectPtr< Presence_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Caps caps, ::borogove::Stanza mucUser, ::borogove::Hash avatarHash);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -46,10 +46,11 @@ class HXCPP_CLASS_ATTRIBUTES Presence_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("Presence",5b,0e,89,40); }
- ::snikket::Caps caps;
- ::snikket::Stanza mucUser;
+ ::borogove::Caps caps;
+ ::borogove::Stanza mucUser;
+ ::borogove::Hash avatarHash;
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Presence */
+#endif /* INCLUDED_borogove_Presence */
diff --git a/Sources/c_borogove/iinclude/borogove/Profile.h b/Sources/c_borogove/iinclude/borogove/Profile.h
new file mode 100644
index 0000000..42b4f17
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/Profile.h
@@ -0,0 +1,58 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_Profile
+#define INCLUDED_borogove_Profile
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,Profile)
+HX_DECLARE_CLASS1(borogove,ProfileItem)
+HX_DECLARE_CLASS1(borogove,Stanza)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES Profile_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Profile_obj OBJ_;
+ Profile_obj();
+
+ public:
+ enum { _hx_ClassId = 0x7f7922cc };
+
+ void __construct( ::borogove::Stanza vcard,::Array< ::Dynamic> items);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Profile")
+ { 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.Profile"); }
+ static ::hx::ObjectPtr< Profile_obj > __new( ::borogove::Stanza vcard,::Array< ::Dynamic> items);
+ static ::hx::ObjectPtr< Profile_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Stanza vcard,::Array< ::Dynamic> items);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Profile_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_("Profile",09,71,9a,c0); }
+
+ static void __boot();
+ static ::Dynamic __meta__;
+ ::borogove::Stanza vcard;
+ ::Array< ::Dynamic> items;
+ size_t items__fromC(void*** outPtr);
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_Profile */
diff --git a/Sources/c_borogove/iinclude/borogove/ProfileBuilder.h b/Sources/c_borogove/iinclude/borogove/ProfileBuilder.h
new file mode 100644
index 0000000..25bbdf0
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/ProfileBuilder.h
@@ -0,0 +1,73 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_ProfileBuilder
+#define INCLUDED_borogove_ProfileBuilder
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,Profile)
+HX_DECLARE_CLASS1(borogove,ProfileBuilder)
+HX_DECLARE_CLASS1(borogove,ProfileItem)
+HX_DECLARE_CLASS1(borogove,Stanza)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES ProfileBuilder_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef ProfileBuilder_obj OBJ_;
+ ProfileBuilder_obj();
+
+ public:
+ enum { _hx_ClassId = 0x7ca30bb3 };
+
+ void __construct( ::borogove::Profile profile);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.ProfileBuilder")
+ { 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.ProfileBuilder"); }
+ static ::hx::ObjectPtr< ProfileBuilder_obj > __new( ::borogove::Profile profile);
+ static ::hx::ObjectPtr< ProfileBuilder_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Profile profile);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~ProfileBuilder_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_("ProfileBuilder",12,b5,d7,6a); }
+
+ ::borogove::Stanza vcard;
+ ::Array< ::Dynamic> items;
+ void add(::String k,::String v);
+ ::Dynamic add_dyn();
+
+ void set(::String id,::String v);
+ ::Dynamic set_dyn();
+
+ void move(::String id,::String moveTo);
+ ::Dynamic move_dyn();
+
+ void remove(::String id);
+ ::Dynamic remove_dyn();
+
+ ::borogove::Profile build();
+ ::Dynamic build_dyn();
+
+ ::borogove::Stanza buildStanza();
+ ::Dynamic buildStanza_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_ProfileBuilder */
diff --git a/Sources/c_borogove/iinclude/borogove/ProfileItem.h b/Sources/c_borogove/iinclude/borogove/ProfileItem.h
new file mode 100644
index 0000000..5eb3437
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/ProfileItem.h
@@ -0,0 +1,103 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_ProfileItem
+#define INCLUDED_borogove_ProfileItem
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,ProfileItem)
+HX_DECLARE_CLASS1(borogove,Stanza)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES ProfileItem_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef ProfileItem_obj OBJ_;
+ ProfileItem_obj();
+
+ public:
+ enum { _hx_ClassId = 0x1f55c57b };
+
+ void __construct( ::borogove::Stanza item,::String id);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.ProfileItem")
+ { 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.ProfileItem"); }
+ static ::hx::ObjectPtr< ProfileItem_obj > __new( ::borogove::Stanza item,::String id);
+ static ::hx::ObjectPtr< ProfileItem_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Stanza item,::String id);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~ProfileItem_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_("ProfileItem",bc,1a,5b,bc); }
+
+ static void __boot();
+ static ::Dynamic __meta__;
+ ::String id;
+ ::String id__fromC();
+ ::Dynamic id__fromC_dyn();
+
+ ::String key;
+ ::String key__fromC();
+ ::Dynamic key__fromC_dyn();
+
+ ::borogove::Stanza item;
+ ::Array< ::Dynamic> parameters();
+ ::Dynamic parameters_dyn();
+
+ size_t parameters__fromC(void*** outPtr);
+
+ ::Array< ::String > text();
+ ::Dynamic text_dyn();
+
+ size_t text__fromC(const char*** outPtr);
+
+ ::Array< ::String > uri();
+ ::Dynamic uri_dyn();
+
+ size_t uri__fromC(const char*** outPtr);
+
+ ::Array< ::String > date();
+ ::Dynamic date_dyn();
+
+ size_t date__fromC(const char*** outPtr);
+
+ ::Array< ::String > time();
+ ::Dynamic time_dyn();
+
+ size_t time__fromC(const char*** outPtr);
+
+ ::Array< ::String > datetime();
+ ::Dynamic datetime_dyn();
+
+ size_t datetime__fromC(const char*** outPtr);
+
+ ::Array< bool > boolean();
+ ::Dynamic boolean_dyn();
+
+ ::Array< int > integer();
+ ::Dynamic integer_dyn();
+
+ ::Array< ::String > languageTag();
+ ::Dynamic languageTag_dyn();
+
+ size_t languageTag__fromC(const char*** outPtr);
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_ProfileItem */
diff --git a/Sources/c_snikket/iinclude/snikket/PubsubEvent.h b/Sources/c_borogove/iinclude/borogove/PubsubEvent.h
similarity index 77%
rename from Sources/c_snikket/iinclude/snikket/PubsubEvent.h
rename to Sources/c_borogove/iinclude/borogove/PubsubEvent.h
index 555e1cd..4f4b358 100644
--- a/Sources/c_snikket/iinclude/snikket/PubsubEvent.h
+++ b/Sources/c_borogove/iinclude/borogove/PubsubEvent.h
@@ -1,16 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_PubsubEvent
-#define INCLUDED_snikket_PubsubEvent
+#ifndef INCLUDED_borogove_PubsubEvent
+#define INCLUDED_borogove_PubsubEvent
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,PubsubEvent)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
+HX_DECLARE_CLASS1(borogove,PubsubEvent)
+HX_DECLARE_CLASS1(borogove,Stanza)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES PubsubEvent_obj : public ::hx::Object
@@ -21,13 +20,13 @@ class HXCPP_CLASS_ATTRIBUTES PubsubEvent_obj : public ::hx::Object
PubsubEvent_obj();
public:
- enum { _hx_ClassId = 0x04e7c6de };
+ enum { _hx_ClassId = 0x35d348d6 };
void __construct(::String from,::String to,::String node,::Array< ::Dynamic> items);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.PubsubEvent")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.PubsubEvent")
{ 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,"snikket.PubsubEvent"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.PubsubEvent"); }
static ::hx::ObjectPtr< PubsubEvent_obj > __new(::String from,::String to,::String node,::Array< ::Dynamic> items);
static ::hx::ObjectPtr< PubsubEvent_obj > __alloc(::hx::Ctx *_hx_ctx,::String from,::String to,::String node,::Array< ::Dynamic> items);
static void * _hx_vtable;
@@ -46,7 +45,7 @@ class HXCPP_CLASS_ATTRIBUTES PubsubEvent_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("PubsubEvent",17,9e,d8,d2); }
- static ::snikket::PubsubEvent fromStanza( ::snikket::Stanza stanza);
+ static ::borogove::PubsubEvent fromStanza( ::borogove::Stanza stanza);
static ::Dynamic fromStanza_dyn();
::String from;
@@ -64,6 +63,6 @@ class HXCPP_CLASS_ATTRIBUTES PubsubEvent_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_PubsubEvent */
+#endif /* INCLUDED_borogove_PubsubEvent */
diff --git a/Sources/c_snikket/iinclude/snikket/Push.h b/Sources/c_borogove/iinclude/borogove/Push.h
similarity index 69%
rename from Sources/c_snikket/iinclude/snikket/Push.h
rename to Sources/c_borogove/iinclude/borogove/Push.h
index 8b5616a..82e0604 100644
--- a/Sources/c_snikket/iinclude/snikket/Push.h
+++ b/Sources/c_borogove/iinclude/borogove/Push.h
@@ -1,16 +1,16 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Push
-#define INCLUDED_snikket_Push
+#ifndef INCLUDED_borogove_Push
+#define INCLUDED_borogove_Push
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Notification)
-HX_DECLARE_CLASS1(snikket,Persistence)
-HX_DECLARE_CLASS1(snikket,Push)
+HX_DECLARE_CLASS1(borogove,Notification)
+HX_DECLARE_CLASS1(borogove,Persistence)
+HX_DECLARE_CLASS1(borogove,Push)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Push_obj : public ::hx::Object
@@ -21,13 +21,13 @@ class HXCPP_CLASS_ATTRIBUTES Push_obj : public ::hx::Object
Push_obj();
public:
- enum { _hx_ClassId = 0x0b0d3237 };
+ enum { _hx_ClassId = 0x3371315b };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket.Push")
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.Push")
{ 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,"snikket.Push"); }
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove.Push"); }
inline static ::hx::ObjectPtr< Push_obj > __new() {
::hx::ObjectPtr< Push_obj > __this = new Push_obj();
@@ -36,7 +36,7 @@ class HXCPP_CLASS_ATTRIBUTES Push_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< Push_obj > __alloc(::hx::Ctx *_hx_ctx) {
- Push_obj *__this = (Push_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Push_obj), false, "snikket.Push"));
+ Push_obj *__this = (Push_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Push_obj), false, "borogove.Push"));
*(void **)__this = Push_obj::_hx_vtable;
return __this;
}
@@ -52,11 +52,11 @@ class HXCPP_CLASS_ATTRIBUTES Push_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("Push",fa,3d,3a,35); }
- static ::snikket::Notification receive(::String data,::Dynamic persistence);
+ static ::borogove::Notification receive(::String data,::Dynamic persistence);
static ::Dynamic receive_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Push */
+#endif /* INCLUDED_borogove_Push */
diff --git a/Sources/c_snikket/iinclude/snikket/Reaction.h b/Sources/c_borogove/iinclude/borogove/Reaction.h
similarity index 74%
rename from Sources/c_snikket/iinclude/snikket/Reaction.h
rename to Sources/c_borogove/iinclude/borogove/Reaction.h
index 5c77199..23accf0 100644
--- a/Sources/c_snikket/iinclude/snikket/Reaction.h
+++ b/Sources/c_borogove/iinclude/borogove/Reaction.h
@@ -1,14 +1,14 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Reaction
-#define INCLUDED_snikket_Reaction
+#ifndef INCLUDED_borogove_Reaction
+#define INCLUDED_borogove_Reaction
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Reaction)
+HX_DECLARE_CLASS1(borogove,Reaction)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Reaction_obj : public ::hx::Object
@@ -19,13 +19,13 @@ class HXCPP_CLASS_ATTRIBUTES Reaction_obj : public ::hx::Object
Reaction_obj();
public:
- enum { _hx_ClassId = 0x7f8e2b4a };
+ enum { _hx_ClassId = 0x5a715baa };
void __construct(::String senderId,::String timestamp,::String text,::String envelopeId,::String key);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Reaction")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Reaction")
{ 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,"snikket.Reaction"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Reaction"); }
static ::hx::ObjectPtr< Reaction_obj > __new(::String senderId,::String timestamp,::String text,::String envelopeId,::String key);
static ::hx::ObjectPtr< Reaction_obj > __alloc(::hx::Ctx *_hx_ctx,::String senderId,::String timestamp,::String text,::String envelopeId,::String key);
static void * _hx_vtable;
@@ -35,6 +35,7 @@ class HXCPP_CLASS_ATTRIBUTES Reaction_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);
void __GetFields(Array< ::String> &outFields);
static void __register();
@@ -45,6 +46,9 @@ class HXCPP_CLASS_ATTRIBUTES Reaction_obj : public ::hx::Object
static void __boot();
static ::Dynamic __meta__;
+ static ::borogove::Reaction unicode(::String unicode);
+ static ::Dynamic unicode_dyn();
+
::String senderId;
::String senderId__fromC();
::Dynamic senderId__fromC_dyn();
@@ -54,22 +58,16 @@ class HXCPP_CLASS_ATTRIBUTES Reaction_obj : public ::hx::Object
::Dynamic timestamp__fromC_dyn();
::String text;
- ::String text__fromC();
- ::Dynamic text__fromC_dyn();
-
::String key;
::String key__fromC();
::Dynamic key__fromC_dyn();
::String envelopeId;
- ::String envelopeId__fromC();
- ::Dynamic envelopeId__fromC_dyn();
-
- virtual ::Dynamic render( ::Dynamic forText, ::Dynamic forImage);
+ virtual ::String render( ::Dynamic forText, ::Dynamic forImage);
::Dynamic render_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Reaction */
+#endif /* INCLUDED_borogove_Reaction */
diff --git a/Sources/c_snikket/iinclude/snikket/ReactionUpdate.h b/Sources/c_borogove/iinclude/borogove/ReactionUpdate.h
similarity index 78%
rename from Sources/c_snikket/iinclude/snikket/ReactionUpdate.h
rename to Sources/c_borogove/iinclude/borogove/ReactionUpdate.h
index 79c5a2a..cb3caf1 100644
--- a/Sources/c_snikket/iinclude/snikket/ReactionUpdate.h
+++ b/Sources/c_borogove/iinclude/borogove/ReactionUpdate.h
@@ -1,18 +1,17 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_ReactionUpdate
-#define INCLUDED_snikket_ReactionUpdate
+#ifndef INCLUDED_borogove_ReactionUpdate
+#define INCLUDED_borogove_ReactionUpdate
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Hash)
-HX_DECLARE_CLASS1(snikket,Reaction)
-HX_DECLARE_CLASS1(snikket,ReactionUpdate)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
+HX_DECLARE_CLASS1(borogove,Hash)
+HX_DECLARE_CLASS1(borogove,Reaction)
+HX_DECLARE_CLASS1(borogove,ReactionUpdate)
+HX_DECLARE_CLASS1(borogove,Stanza)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES ReactionUpdate_obj : public ::hx::Object
@@ -23,13 +22,13 @@ class HXCPP_CLASS_ATTRIBUTES ReactionUpdate_obj : public ::hx::Object
ReactionUpdate_obj();
public:
- enum { _hx_ClassId = 0x71029d2f };
+ enum { _hx_ClassId = 0x15364c1b };
void __construct(::String updateId,::String serverId,::String serverIdBy,::String localId,::String chatId,::String senderId,::String timestamp,::Array< ::Dynamic> reactions,int kind);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.ReactionUpdate")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.ReactionUpdate")
{ 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,"snikket.ReactionUpdate"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.ReactionUpdate"); }
static ::hx::ObjectPtr< ReactionUpdate_obj > __new(::String updateId,::String serverId,::String serverIdBy,::String localId,::String chatId,::String senderId,::String timestamp,::Array< ::Dynamic> reactions,int kind);
static ::hx::ObjectPtr< ReactionUpdate_obj > __alloc(::hx::Ctx *_hx_ctx,::String updateId,::String serverId,::String serverIdBy,::String localId,::String chatId,::String senderId,::String timestamp,::Array< ::Dynamic> reactions,int kind);
static void * _hx_vtable;
@@ -62,11 +61,11 @@ class HXCPP_CLASS_ATTRIBUTES ReactionUpdate_obj : public ::hx::Object
::Array< ::Dynamic> inlineHashReferences();
::Dynamic inlineHashReferences_dyn();
- ::snikket::Stanza asStanza();
+ ::borogove::Stanza asStanza();
::Dynamic asStanza_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_ReactionUpdate */
+#endif /* INCLUDED_borogove_ReactionUpdate */
diff --git a/Sources/c_snikket/iinclude/snikket/SerializedChat.h b/Sources/c_borogove/iinclude/borogove/SerializedChat.h
similarity index 67%
rename from Sources/c_snikket/iinclude/snikket/SerializedChat.h
rename to Sources/c_borogove/iinclude/borogove/SerializedChat.h
index 80ed386..c90be2e 100644
--- a/Sources/c_snikket/iinclude/snikket/SerializedChat.h
+++ b/Sources/c_borogove/iinclude/borogove/SerializedChat.h
@@ -1,22 +1,22 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_SerializedChat
-#define INCLUDED_snikket_SerializedChat
+#ifndef INCLUDED_borogove_SerializedChat
+#define INCLUDED_borogove_SerializedChat
#ifndef HXCPP_H
#include <hxcpp.h>
#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(haxe,IMap)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
-HX_DECLARE_CLASS1(snikket,Caps)
-HX_DECLARE_CLASS1(snikket,Chat)
-HX_DECLARE_CLASS1(snikket,Client)
-HX_DECLARE_CLASS1(snikket,EventEmitter)
-HX_DECLARE_CLASS1(snikket,GenericStream)
-HX_DECLARE_CLASS1(snikket,Persistence)
-HX_DECLARE_CLASS1(snikket,SerializedChat)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES SerializedChat_obj : public ::hx::Object
@@ -27,15 +27,15 @@ class HXCPP_CLASS_ATTRIBUTES SerializedChat_obj : public ::hx::Object
SerializedChat_obj();
public:
- enum { _hx_ClassId = 0x3eb0c535 };
+ enum { _hx_ClassId = 0x1b18ce3d };
- void __construct(::String chatId,bool trusted,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::snikket::Caps disco,::String klass);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.SerializedChat")
+ void __construct(::String chatId,bool trusted,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::borogove::Caps disco,::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,"snikket.SerializedChat"); }
- static ::hx::ObjectPtr< SerializedChat_obj > __new(::String chatId,bool trusted,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::snikket::Caps disco,::String klass);
- static ::hx::ObjectPtr< SerializedChat_obj > __alloc(::hx::Ctx *_hx_ctx,::String chatId,bool trusted,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::snikket::Caps disco,::String klass);
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.SerializedChat"); }
+ static ::hx::ObjectPtr< SerializedChat_obj > __new(::String chatId,bool trusted,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::borogove::Caps disco,::Array< int > omemoContactDeviceIDs,::String klass);
+ static ::hx::ObjectPtr< SerializedChat_obj > __alloc(::hx::Ctx *_hx_ctx,::String chatId,bool trusted,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::borogove::Caps disco,::Array< int > omemoContactDeviceIDs,::String klass);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -61,16 +61,17 @@ class HXCPP_CLASS_ATTRIBUTES SerializedChat_obj : public ::hx::Object
::String extensions;
::String readUpToId;
::String readUpToBy;
- ::snikket::Caps disco;
+ ::borogove::Caps disco;
+ ::Array< int > omemoContactDeviceIDs;
::String klass;
::Dynamic notificationsFiltered;
bool notifyMention;
bool notifyReply;
- ::snikket::Chat toChat( ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence);
+ ::borogove::Chat toChat( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence);
::Dynamic toChat_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_SerializedChat */
+#endif /* INCLUDED_borogove_SerializedChat */
diff --git a/Sources/c_snikket/iinclude/snikket/Stanza.h b/Sources/c_borogove/iinclude/borogove/Stanza.h
similarity index 60%
rename from Sources/c_snikket/iinclude/snikket/Stanza.h
rename to Sources/c_borogove/iinclude/borogove/Stanza.h
index 7c79f8c..83f771e 100644
--- a/Sources/c_snikket/iinclude/snikket/Stanza.h
+++ b/Sources/c_borogove/iinclude/borogove/Stanza.h
@@ -1,21 +1,16 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Stanza
-#define INCLUDED_snikket_Stanza
+#ifndef INCLUDED_borogove_Stanza
+#define INCLUDED_borogove_Stanza
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-HX_DECLARE_CLASS0(Xml)
-HX_DECLARE_CLASS1(snikket,Node)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS1(snikket,StanzaError)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
+HX_DECLARE_CLASS1(borogove,Node)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS1(borogove,StanzaError)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Stanza_obj : public ::hx::Object
@@ -26,13 +21,13 @@ class HXCPP_CLASS_ATTRIBUTES Stanza_obj : public ::hx::Object
Stanza_obj();
public:
- enum { _hx_ClassId = 0x62320f92 };
+ enum { _hx_ClassId = 0x6aef1fb6 };
void __construct(::String name, ::Dynamic attr);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Stanza")
+ 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,"snikket.Stanza"); }
+ { 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 void * _hx_vtable;
@@ -49,58 +44,57 @@ class HXCPP_CLASS_ATTRIBUTES Stanza_obj : public ::hx::Object
void __Mark(HX_MARK_PARAMS);
void __Visit(HX_VISIT_PARAMS);
bool _hx_isInstanceOf(int inClassId);
- void *_hx_getInterface(int inHash);
- ::Dynamic traverse_881a854a( ::Dynamic f);
::String __ToString() const { return HX_("Stanza",15,d2,8b,3a); }
- static ::snikket::Stanza parse(::String s);
+ static ::borogove::Stanza parse(::String s);
static ::Dynamic parse_dyn();
- static ::snikket::Stanza fromXml( ::Xml el);
- static ::Dynamic fromXml_dyn();
-
static bool parseXmlBool(::String x);
static ::Dynamic parseXmlBool_dyn();
::String name;
::Dynamic attr;
::Array< ::Dynamic> children;
- ::snikket::Stanza last_added;
+ ::borogove::Stanza last_added;
::Array< ::Dynamic> last_added_stack;
+ ::String serialized;
::String serialize();
::Dynamic serialize_dyn();
virtual ::String toString();
::Dynamic toString_dyn();
- ::snikket::Stanza tag(::String name, ::Dynamic attr);
+ ::borogove::Stanza tag(::String name, ::Dynamic attr);
::Dynamic tag_dyn();
- ::snikket::Stanza text(::String content);
+ ::borogove::Stanza text(::String content);
::Dynamic text_dyn();
- ::snikket::Stanza textTag(::String tagName,::String textContent, ::Dynamic attr);
+ ::borogove::Stanza textTag(::String tagName,::String textContent, ::Dynamic attr);
::Dynamic textTag_dyn();
- ::snikket::Stanza up();
+ ::borogove::Stanza up();
::Dynamic up_dyn();
- ::snikket::Stanza reset();
+ ::borogove::Stanza reset();
::Dynamic reset_dyn();
- ::snikket::Stanza addChildren( ::Dynamic children);
+ ::borogove::Stanza addChildren( ::Dynamic children);
::Dynamic addChildren_dyn();
- ::snikket::Stanza addChildNodes( ::Dynamic children);
+ ::borogove::Stanza addChildNodes( ::Dynamic children);
::Dynamic addChildNodes_dyn();
- ::snikket::Stanza addChild( ::snikket::Stanza stanza);
+ ::borogove::Stanza insertChild(int idx, ::borogove::Stanza stanza);
+ ::Dynamic insertChild_dyn();
+
+ ::borogove::Stanza addChild( ::borogove::Stanza stanza);
::Dynamic addChild_dyn();
- ::snikket::Stanza addDirectChild( ::snikket::Node child);
+ ::borogove::Stanza addDirectChild( ::borogove::Node child);
::Dynamic addDirectChild_dyn();
- ::snikket::Stanza clone();
+ ::borogove::Stanza clone();
::Dynamic clone_dyn();
::Array< ::Dynamic> allTags(::String name,::String xmlns);
@@ -109,41 +103,47 @@ class HXCPP_CLASS_ATTRIBUTES Stanza_obj : public ::hx::Object
::Array< ::String > allText();
::Dynamic allText_dyn();
- ::snikket::Stanza getFirstChild();
+ ::borogove::Stanza getFirstChild();
::Dynamic getFirstChild_dyn();
- ::Array< ::Dynamic> getChildren();
- ::Dynamic getChildren_dyn();
+ ::String getErrorText();
+ ::Dynamic getErrorText_dyn();
- ::snikket::Stanza getChild(::String name,::String xmlns);
+ ::borogove::Stanza getChild(::String name,::String xmlns);
::Dynamic getChild_dyn();
::String getChildText(::String name,::String xmlns);
::Dynamic getChildText_dyn();
+ bool hasChild(::String name,::String xmlns);
+ ::Dynamic hasChild_dyn();
+
::String getText();
::Dynamic getText_dyn();
- ::snikket::Node find(::String path);
+ ::borogove::Node find(::String path);
::Dynamic find_dyn();
- ::snikket::Stanza findChild(::String path);
+ ::borogove::Stanza findChild(::String path);
::Dynamic findChild_dyn();
::String findText(::String path);
::Dynamic findText_dyn();
- ::snikket::Stanza traverse( ::Dynamic f);
+ ::borogove::Stanza traverse( ::Dynamic f);
::Dynamic traverse_dyn();
- ::snikket::StanzaError getError();
+ ::borogove::StanzaError getError();
::Dynamic getError_dyn();
+ void removeChild( ::borogove::Stanza remove);
+ ::Dynamic removeChild_dyn();
+
void removeChildren(::String name,::String xmlns_);
::Dynamic removeChildren_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Stanza */
+#endif /* INCLUDED_borogove_Stanza */
diff --git a/Sources/c_snikket/iinclude/snikket/StanzaError.h b/Sources/c_borogove/iinclude/borogove/StanzaError.h
similarity index 68%
rename from Sources/c_snikket/iinclude/snikket/StanzaError.h
rename to Sources/c_borogove/iinclude/borogove/StanzaError.h
index 4096108..9494a4a 100644
--- a/Sources/c_snikket/iinclude/snikket/StanzaError.h
+++ b/Sources/c_borogove/iinclude/borogove/StanzaError.h
@@ -1,15 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_StanzaError
-#define INCLUDED_snikket_StanzaError
+#ifndef INCLUDED_borogove_StanzaError
+#define INCLUDED_borogove_StanzaError
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_STACK_FRAME(_hx_pos_ba7467be1e1fd22b_75_new)
-HX_DECLARE_CLASS1(snikket,StanzaError)
+HX_DECLARE_STACK_FRAME(_hx_pos_484813a5ad2c9a87_59_new)
+HX_DECLARE_CLASS1(borogove,StanzaError)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES StanzaError_obj : public ::hx::Object
@@ -20,13 +20,13 @@ class HXCPP_CLASS_ATTRIBUTES StanzaError_obj : public ::hx::Object
StanzaError_obj();
public:
- enum { _hx_ClassId = 0x29697ad6 };
+ enum { _hx_ClassId = 0x6e2b6832 };
void __construct(::String type_,::String condition_,::String text_);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.StanzaError")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.StanzaError")
{ 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,"snikket.StanzaError"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.StanzaError"); }
inline static ::hx::ObjectPtr< StanzaError_obj > __new(::String type_,::String condition_,::String text_) {
::hx::ObjectPtr< StanzaError_obj > __this = new StanzaError_obj();
@@ -35,13 +35,13 @@ class HXCPP_CLASS_ATTRIBUTES StanzaError_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< StanzaError_obj > __alloc(::hx::Ctx *_hx_ctx,::String type_,::String condition_,::String text_) {
- StanzaError_obj *__this = (StanzaError_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(StanzaError_obj), true, "snikket.StanzaError"));
+ 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_ba7467be1e1fd22b_75_new)
-HXLINE( 76) ( ( ::snikket::StanzaError)(__this) )->type = type_;
-HXLINE( 77) ( ( ::snikket::StanzaError)(__this) )->condition = condition_;
-HXLINE( 78) ( ( ::snikket::StanzaError)(__this) )->text = text_;
+ 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_;
}
return __this;
@@ -67,6 +67,6 @@ HXLINE( 78) ( ( ::snikket::StanzaError)(__this) )->text = text_;
::String text;
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_StanzaError */
+#endif /* INCLUDED_borogove_StanzaError */
diff --git a/Sources/c_snikket/iinclude/snikket/StringUtil.h b/Sources/c_borogove/iinclude/borogove/StringUtil.h
similarity index 77%
rename from Sources/c_snikket/iinclude/snikket/StringUtil.h
rename to Sources/c_borogove/iinclude/borogove/StringUtil.h
index 2aba5bb..20645d1 100644
--- a/Sources/c_snikket/iinclude/snikket/StringUtil.h
+++ b/Sources/c_borogove/iinclude/borogove/StringUtil.h
@@ -1,14 +1,14 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_StringUtil
-#define INCLUDED_snikket_StringUtil
+#ifndef INCLUDED_borogove_StringUtil
+#define INCLUDED_borogove_StringUtil
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,StringUtil)
+HX_DECLARE_CLASS1(borogove,StringUtil)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES StringUtil_obj : public ::hx::Object
@@ -19,13 +19,13 @@ class HXCPP_CLASS_ATTRIBUTES StringUtil_obj : public ::hx::Object
StringUtil_obj();
public:
- enum { _hx_ClassId = 0x537b2d90 };
+ enum { _hx_ClassId = 0x226d1fb4 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket.StringUtil")
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.StringUtil")
{ 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,"snikket.StringUtil"); }
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove.StringUtil"); }
inline static ::hx::ObjectPtr< StringUtil_obj > __new() {
::hx::ObjectPtr< StringUtil_obj > __this = new StringUtil_obj();
@@ -34,7 +34,7 @@ class HXCPP_CLASS_ATTRIBUTES StringUtil_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< StringUtil_obj > __alloc(::hx::Ctx *_hx_ctx) {
- StringUtil_obj *__this = (StringUtil_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(StringUtil_obj), false, "snikket.StringUtil"));
+ StringUtil_obj *__this = (StringUtil_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(StringUtil_obj), false, "borogove.StringUtil"));
*(void **)__this = StringUtil_obj::_hx_vtable;
return __this;
}
@@ -58,6 +58,6 @@ class HXCPP_CLASS_ATTRIBUTES StringUtil_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_StringUtil */
+#endif /* INCLUDED_borogove_StringUtil */
diff --git a/Sources/c_snikket/iinclude/snikket/Symbol.h b/Sources/c_borogove/iinclude/borogove/Symbol.h
similarity index 75%
rename from Sources/c_snikket/iinclude/snikket/Symbol.h
rename to Sources/c_borogove/iinclude/borogove/Symbol.h
index a0c352f..4d8eae7 100644
--- a/Sources/c_snikket/iinclude/snikket/Symbol.h
+++ b/Sources/c_borogove/iinclude/borogove/Symbol.h
@@ -1,14 +1,14 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Symbol
-#define INCLUDED_snikket_Symbol
+#ifndef INCLUDED_borogove_Symbol
+#define INCLUDED_borogove_Symbol
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Symbol)
+HX_DECLARE_CLASS1(borogove,Symbol)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Symbol_obj : public ::hx::Object
@@ -19,13 +19,13 @@ class HXCPP_CLASS_ATTRIBUTES Symbol_obj : public ::hx::Object
Symbol_obj();
public:
- enum { _hx_ClassId = 0x4b1860f5 };
+ enum { _hx_ClassId = 0x53d57119 };
void __construct(::Array< int > codepoints);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Symbol")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Symbol")
{ 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,"snikket.Symbol"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Symbol"); }
//~Symbol_obj();
@@ -44,6 +44,6 @@ class HXCPP_CLASS_ATTRIBUTES Symbol_obj : public ::hx::Object
::Dynamic isEmoji_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_Symbol */
+#endif /* INCLUDED_borogove_Symbol */
diff --git a/Sources/c_snikket/iinclude/snikket/TextNodeClass.h b/Sources/c_borogove/iinclude/borogove/TextNodeClass.h
similarity index 69%
rename from Sources/c_snikket/iinclude/snikket/TextNodeClass.h
rename to Sources/c_borogove/iinclude/borogove/TextNodeClass.h
index c019070..19f6cb3 100644
--- a/Sources/c_snikket/iinclude/snikket/TextNodeClass.h
+++ b/Sources/c_borogove/iinclude/borogove/TextNodeClass.h
@@ -1,19 +1,19 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_TextNodeClass
-#define INCLUDED_snikket_TextNodeClass
+#ifndef INCLUDED_borogove_TextNodeClass
+#define INCLUDED_borogove_TextNodeClass
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove__Stanza_NodeInterface
+#include <borogove/_Stanza/NodeInterface.h>
#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS1(snikket,TextNodeClass)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS1(borogove,TextNodeClass)
+HX_DECLARE_CLASS2(borogove,_Stanza,NodeInterface)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES TextNodeClass_obj : public ::hx::Object
@@ -24,13 +24,13 @@ class HXCPP_CLASS_ATTRIBUTES TextNodeClass_obj : public ::hx::Object
TextNodeClass_obj();
public:
- enum { _hx_ClassId = 0x1ed164d0 };
+ enum { _hx_ClassId = 0x031b54c8 };
void __construct(::String node);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.TextNodeClass")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.TextNodeClass")
{ 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,"snikket.TextNodeClass"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.TextNodeClass"); }
static ::hx::ObjectPtr< TextNodeClass_obj > __new(::String node);
static ::hx::ObjectPtr< TextNodeClass_obj > __alloc(::hx::Ctx *_hx_ctx,::String node);
static void * _hx_vtable;
@@ -54,11 +54,11 @@ class HXCPP_CLASS_ATTRIBUTES TextNodeClass_obj : public ::hx::Object
::String serialize();
::Dynamic serialize_dyn();
- ::snikket::TextNodeClass traverse( ::Dynamic f);
+ ::borogove::TextNodeClass traverse( ::Dynamic f);
::Dynamic traverse_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_TextNodeClass */
+#endif /* INCLUDED_borogove_TextNodeClass */
diff --git a/Sources/c_snikket/iinclude/snikket/UnicodeBlocks.h b/Sources/c_borogove/iinclude/borogove/UnicodeBlocks.h
similarity index 74%
rename from Sources/c_snikket/iinclude/snikket/UnicodeBlocks.h
rename to Sources/c_borogove/iinclude/borogove/UnicodeBlocks.h
index 0038254..6a99c13 100644
--- a/Sources/c_snikket/iinclude/snikket/UnicodeBlocks.h
+++ b/Sources/c_borogove/iinclude/borogove/UnicodeBlocks.h
@@ -1,18 +1,18 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_UnicodeBlocks
-#define INCLUDED_snikket_UnicodeBlocks
+#ifndef INCLUDED_borogove_UnicodeBlocks
+#define INCLUDED_borogove_UnicodeBlocks
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_UnicodeSet
-#include <snikket/UnicodeSet.h>
+#ifndef INCLUDED_borogove_UnicodeSet
+#include <borogove/UnicodeSet.h>
#endif
-HX_DECLARE_CLASS1(snikket,UnicodeBlocks)
-HX_DECLARE_CLASS1(snikket,UnicodeSet)
+HX_DECLARE_CLASS1(borogove,UnicodeBlocks)
+HX_DECLARE_CLASS1(borogove,UnicodeSet)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES UnicodeBlocks_obj : public ::hx::Object
@@ -23,13 +23,13 @@ class HXCPP_CLASS_ATTRIBUTES UnicodeBlocks_obj : public ::hx::Object
UnicodeBlocks_obj();
public:
- enum { _hx_ClassId = 0x5ff5d386 };
+ enum { _hx_ClassId = 0x3cea9afe };
void __construct(::Array< ::Dynamic> sets);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.UnicodeBlocks")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.UnicodeBlocks")
{ 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,"snikket.UnicodeBlocks"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.UnicodeBlocks"); }
static ::hx::ObjectPtr< UnicodeBlocks_obj > __new(::Array< ::Dynamic> sets);
static ::hx::ObjectPtr< UnicodeBlocks_obj > __alloc(::hx::Ctx *_hx_ctx,::Array< ::Dynamic> sets);
static void * _hx_vtable;
@@ -54,6 +54,6 @@ class HXCPP_CLASS_ATTRIBUTES UnicodeBlocks_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_UnicodeBlocks */
+#endif /* INCLUDED_borogove_UnicodeBlocks */
diff --git a/Sources/c_snikket/iinclude/snikket/UnicodeList.h b/Sources/c_borogove/iinclude/borogove/UnicodeList.h
similarity index 74%
rename from Sources/c_snikket/iinclude/snikket/UnicodeList.h
rename to Sources/c_borogove/iinclude/borogove/UnicodeList.h
index 4ae5d96..7df5edd 100644
--- a/Sources/c_snikket/iinclude/snikket/UnicodeList.h
+++ b/Sources/c_borogove/iinclude/borogove/UnicodeList.h
@@ -1,18 +1,18 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_UnicodeList
-#define INCLUDED_snikket_UnicodeList
+#ifndef INCLUDED_borogove_UnicodeList
+#define INCLUDED_borogove_UnicodeList
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_UnicodeSet
-#include <snikket/UnicodeSet.h>
+#ifndef INCLUDED_borogove_UnicodeSet
+#include <borogove/UnicodeSet.h>
#endif
-HX_DECLARE_CLASS1(snikket,UnicodeList)
-HX_DECLARE_CLASS1(snikket,UnicodeSet)
+HX_DECLARE_CLASS1(borogove,UnicodeList)
+HX_DECLARE_CLASS1(borogove,UnicodeSet)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES UnicodeList_obj : public ::hx::Object
@@ -23,13 +23,13 @@ class HXCPP_CLASS_ATTRIBUTES UnicodeList_obj : public ::hx::Object
UnicodeList_obj();
public:
- enum { _hx_ClassId = 0x002205b6 };
+ enum { _hx_ClassId = 0x15a4fad6 };
void __construct(::Array< int > codes);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.UnicodeList")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.UnicodeList")
{ 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,"snikket.UnicodeList"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.UnicodeList"); }
static ::hx::ObjectPtr< UnicodeList_obj > __new(::Array< int > codes);
static ::hx::ObjectPtr< UnicodeList_obj > __alloc(::hx::Ctx *_hx_ctx,::Array< int > codes);
static void * _hx_vtable;
@@ -54,6 +54,6 @@ class HXCPP_CLASS_ATTRIBUTES UnicodeList_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_UnicodeList */
+#endif /* INCLUDED_borogove_UnicodeList */
diff --git a/Sources/c_snikket/iinclude/snikket/UnicodeRange.h b/Sources/c_borogove/iinclude/borogove/UnicodeRange.h
similarity index 72%
rename from Sources/c_snikket/iinclude/snikket/UnicodeRange.h
rename to Sources/c_borogove/iinclude/borogove/UnicodeRange.h
index 538a195..63604f3 100644
--- a/Sources/c_snikket/iinclude/snikket/UnicodeRange.h
+++ b/Sources/c_borogove/iinclude/borogove/UnicodeRange.h
@@ -1,18 +1,18 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_UnicodeRange
-#define INCLUDED_snikket_UnicodeRange
+#ifndef INCLUDED_borogove_UnicodeRange
+#define INCLUDED_borogove_UnicodeRange
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_UnicodeSet
-#include <snikket/UnicodeSet.h>
+#ifndef INCLUDED_borogove_UnicodeSet
+#include <borogove/UnicodeSet.h>
#endif
-HX_DECLARE_CLASS1(snikket,UnicodeRange)
-HX_DECLARE_CLASS1(snikket,UnicodeSet)
+HX_DECLARE_CLASS1(borogove,UnicodeRange)
+HX_DECLARE_CLASS1(borogove,UnicodeSet)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES UnicodeRange_obj : public ::hx::Object
@@ -23,13 +23,13 @@ class HXCPP_CLASS_ATTRIBUTES UnicodeRange_obj : public ::hx::Object
UnicodeRange_obj();
public:
- enum { _hx_ClassId = 0x25d72cd9 };
+ enum { _hx_ClassId = 0x49d07045 };
void __construct(int lower,int upper);
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket.UnicodeRange")
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.UnicodeRange")
{ 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,"snikket.UnicodeRange"); }
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove.UnicodeRange"); }
static ::hx::ObjectPtr< UnicodeRange_obj > __new(int lower,int upper);
static ::hx::ObjectPtr< UnicodeRange_obj > __alloc(::hx::Ctx *_hx_ctx,int lower,int upper);
static void * _hx_vtable;
@@ -53,6 +53,6 @@ class HXCPP_CLASS_ATTRIBUTES UnicodeRange_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_UnicodeRange */
+#endif /* INCLUDED_borogove_UnicodeRange */
diff --git a/Sources/c_borogove/iinclude/borogove/UnicodeSet.h b/Sources/c_borogove/iinclude/borogove/UnicodeSet.h
new file mode 100644
index 0000000..614abd3
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/UnicodeSet.h
@@ -0,0 +1,27 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_UnicodeSet
+#define INCLUDED_borogove_UnicodeSet
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,UnicodeSet)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES UnicodeSet_obj {
+ public:
+ typedef ::hx::Object super;
+ HX_DO_INTERFACE_RTTI;
+
+ bool (::hx::Object :: *_hx_contains)(int codepoint);
+ static inline bool contains( ::Dynamic _hx_,int codepoint) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::UnicodeSet_obj *>(_hx_.mPtr->_hx_getInterface(0xb122b606)))->_hx_contains)(codepoint);
+ }
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_UnicodeSet */
diff --git a/Sources/c_borogove/iinclude/borogove/Util.h b/Sources/c_borogove/iinclude/borogove/Util.h
new file mode 100644
index 0000000..c2742cd
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/Util.h
@@ -0,0 +1,66 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_Util
+#define INCLUDED_borogove_Util
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,Util)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES Util_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Util_obj OBJ_;
+ Util_obj();
+
+ public:
+ enum { _hx_ClassId = 0x36be7783 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.Util")
+ { 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.Util"); }
+
+ inline static ::hx::ObjectPtr< Util_obj > __new() {
+ ::hx::ObjectPtr< Util_obj > __this = new Util_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< Util_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ Util_obj *__this = (Util_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Util_obj), false, "borogove.Util"));
+ *(void **)__this = Util_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Util_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_("Util",22,84,87,38); }
+
+ static int findLastIndex(::cpp::VirtualArray it, ::Dynamic f);
+ static ::Dynamic findLastIndex_dyn();
+
+ static int convertIndex(::String u,int index);
+ static ::Dynamic convertIndex_dyn();
+
+ static ::String capitalize(::String s);
+ static ::Dynamic capitalize_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_Util */
diff --git a/Sources/c_snikket/iinclude/snikket/XEP0393.h b/Sources/c_borogove/iinclude/borogove/XEP0393.h
similarity index 70%
rename from Sources/c_snikket/iinclude/snikket/XEP0393.h
rename to Sources/c_borogove/iinclude/borogove/XEP0393.h
index 3af9b96..b2ff1b7 100644
--- a/Sources/c_snikket/iinclude/snikket/XEP0393.h
+++ b/Sources/c_borogove/iinclude/borogove/XEP0393.h
@@ -1,17 +1,16 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_XEP0393
-#define INCLUDED_snikket_XEP0393
+#ifndef INCLUDED_borogove_XEP0393
+#define INCLUDED_borogove_XEP0393
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Node)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS1(snikket,XEP0393)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
+HX_DECLARE_CLASS1(borogove,Node)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS1(borogove,XEP0393)
-namespace snikket{
+namespace borogove{
class HXCPP_CLASS_ATTRIBUTES XEP0393_obj : public ::hx::Object
@@ -22,13 +21,13 @@ class HXCPP_CLASS_ATTRIBUTES XEP0393_obj : public ::hx::Object
XEP0393_obj();
public:
- enum { _hx_ClassId = 0x794b61b7 };
+ enum { _hx_ClassId = 0x3870e21f };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket.XEP0393")
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.XEP0393")
{ 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,"snikket.XEP0393"); }
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove.XEP0393"); }
inline static ::hx::ObjectPtr< XEP0393_obj > __new() {
::hx::ObjectPtr< XEP0393_obj > __this = new XEP0393_obj();
@@ -37,7 +36,7 @@ class HXCPP_CLASS_ATTRIBUTES XEP0393_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< XEP0393_obj > __alloc(::hx::Ctx *_hx_ctx) {
- XEP0393_obj *__this = (XEP0393_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(XEP0393_obj), false, "snikket.XEP0393"));
+ XEP0393_obj *__this = (XEP0393_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(XEP0393_obj), false, "borogove.XEP0393"));
*(void **)__this = XEP0393_obj::_hx_vtable;
return __this;
}
@@ -53,13 +52,13 @@ class HXCPP_CLASS_ATTRIBUTES XEP0393_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("XEP0393",e0,42,f0,11); }
- static ::Dynamic parse(::String styled);
+ static ::Array< ::Dynamic> parse(::String styled);
static ::Dynamic parse_dyn();
- static ::String render( ::snikket::Stanza xhtml);
+ static ::String render( ::borogove::Stanza xhtml,::hx::Null< bool > inPre);
static ::Dynamic render_dyn();
- static ::String renderNode( ::snikket::Node xhtml);
+ static ::String renderNode( ::borogove::Node xhtml,::hx::Null< bool > inPre);
static ::Dynamic renderNode_dyn();
static ::Dynamic parseSpans(::String styled);
@@ -77,8 +76,11 @@ class HXCPP_CLASS_ATTRIBUTES XEP0393_obj : public ::hx::Object
static ::Dynamic parsePreformatted(::String styled);
static ::Dynamic parsePreformatted_dyn();
+ static bool isSpace(::String s,int pos);
+ static ::Dynamic isSpace_dyn();
+
};
-} // end namespace snikket
+} // end namespace borogove
-#endif /* INCLUDED_snikket_XEP0393 */
+#endif /* INCLUDED_borogove_XEP0393 */
diff --git a/Sources/c_borogove/iinclude/borogove/_DataForm/DataForm_Impl_.h b/Sources/c_borogove/iinclude/borogove/_DataForm/DataForm_Impl_.h
new file mode 100644
index 0000000..4d93296
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/_DataForm/DataForm_Impl_.h
@@ -0,0 +1,63 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove__DataForm_DataForm_Impl_
+#define INCLUDED_borogove__DataForm_DataForm_Impl_
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,_DataForm,DataForm_Impl_)
+
+namespace borogove{
+namespace _DataForm{
+
+
+class HXCPP_CLASS_ATTRIBUTES DataForm_Impl__obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef DataForm_Impl__obj OBJ_;
+ DataForm_Impl__obj();
+
+ public:
+ enum { _hx_ClassId = 0x7fd270b6 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove._DataForm.DataForm_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._DataForm.DataForm_Impl_"); }
+
+ inline static ::hx::ObjectPtr< DataForm_Impl__obj > __new() {
+ ::hx::ObjectPtr< DataForm_Impl__obj > __this = new DataForm_Impl__obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< DataForm_Impl__obj > __alloc(::hx::Ctx *_hx_ctx) {
+ DataForm_Impl__obj *__this = (DataForm_Impl__obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(DataForm_Impl__obj), false, "borogove._DataForm.DataForm_Impl_"));
+ *(void **)__this = DataForm_Impl__obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~DataForm_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_("DataForm_Impl_",ce,ef,aa,47); }
+
+ static ::borogove::Stanza field( ::borogove::Stanza this1,::String name);
+ static ::Dynamic field_dyn();
+
+};
+
+} // end namespace borogove
+} // end namespace _DataForm
+
+#endif /* INCLUDED_borogove__DataForm_DataForm_Impl_ */
diff --git a/Sources/c_borogove/iinclude/borogove/_DataForm/Field_Impl_.h b/Sources/c_borogove/iinclude/borogove/_DataForm/Field_Impl_.h
new file mode 100644
index 0000000..bc93501
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/_DataForm/Field_Impl_.h
@@ -0,0 +1,72 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove__DataForm_Field_Impl_
+#define INCLUDED_borogove__DataForm_Field_Impl_
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,_DataForm,Field_Impl_)
+
+namespace borogove{
+namespace _DataForm{
+
+
+class HXCPP_CLASS_ATTRIBUTES Field_Impl__obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Field_Impl__obj OBJ_;
+ Field_Impl__obj();
+
+ public:
+ enum { _hx_ClassId = 0x2d8f0036 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove._DataForm.Field_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._DataForm.Field_Impl_"); }
+
+ inline static ::hx::ObjectPtr< Field_Impl__obj > __new() {
+ ::hx::ObjectPtr< Field_Impl__obj > __this = new Field_Impl__obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< Field_Impl__obj > __alloc(::hx::Ctx *_hx_ctx) {
+ Field_Impl__obj *__this = (Field_Impl__obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Field_Impl__obj), false, "borogove._DataForm.Field_Impl_"));
+ *(void **)__this = Field_Impl__obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Field_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_("Field_Impl_",ba,b0,ce,00); }
+
+ static ::Array< ::String > get_value( ::borogove::Stanza this1);
+ static ::Dynamic get_value_dyn();
+
+ static ::Array< ::String > set_value( ::borogove::Stanza this1,::Array< ::String > val);
+ static ::Dynamic set_value_dyn();
+
+ static ::String get_datatype( ::borogove::Stanza this1);
+ static ::Dynamic get_datatype_dyn();
+
+ static ::Array< ::Dynamic> get_options( ::borogove::Stanza this1);
+ static ::Dynamic get_options_dyn();
+
+};
+
+} // end namespace borogove
+} // end namespace _DataForm
+
+#endif /* INCLUDED_borogove__DataForm_Field_Impl_ */
diff --git a/Sources/c_borogove/iinclude/borogove/_Profile/Profile_Fields_.h b/Sources/c_borogove/iinclude/borogove/_Profile/Profile_Fields_.h
new file mode 100644
index 0000000..4f74267
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/_Profile/Profile_Fields_.h
@@ -0,0 +1,64 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove__Profile_Profile_Fields_
+#define INCLUDED_borogove__Profile_Profile_Fields_
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(borogove,_Profile,Profile_Fields_)
+HX_DECLARE_CLASS1(haxe,IMap)
+HX_DECLARE_CLASS2(haxe,ds,StringMap)
+
+namespace borogove{
+namespace _Profile{
+
+
+class HXCPP_CLASS_ATTRIBUTES Profile_Fields__obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Profile_Fields__obj OBJ_;
+ Profile_Fields__obj();
+
+ public:
+ enum { _hx_ClassId = 0x1fb7c3dd };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove._Profile.Profile_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._Profile.Profile_Fields_"); }
+
+ inline static ::hx::ObjectPtr< Profile_Fields__obj > __new() {
+ ::hx::ObjectPtr< Profile_Fields__obj > __this = new Profile_Fields__obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< Profile_Fields__obj > __alloc(::hx::Ctx *_hx_ctx) {
+ Profile_Fields__obj *__this = (Profile_Fields__obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Profile_Fields__obj), false, "borogove._Profile.Profile_Fields_"));
+ *(void **)__this = Profile_Fields__obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Profile_Fields__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_("Profile_Fields_",30,bf,a7,e7); }
+
+ static void __boot();
+ static ::haxe::ds::StringMap TYPES;
+};
+
+} // end namespace borogove
+} // end namespace _Profile
+
+#endif /* INCLUDED_borogove__Profile_Profile_Fields_ */
diff --git a/Sources/c_borogove/iinclude/borogove/_Stanza/NodeInterface.h b/Sources/c_borogove/iinclude/borogove/_Stanza/NodeInterface.h
new file mode 100644
index 0000000..2fc00aa
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/_Stanza/NodeInterface.h
@@ -0,0 +1,34 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove__Stanza_NodeInterface
+#define INCLUDED_borogove__Stanza_NodeInterface
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,_Stanza,NodeInterface)
+
+namespace borogove{
+namespace _Stanza{
+
+
+class HXCPP_CLASS_ATTRIBUTES NodeInterface_obj {
+ public:
+ typedef ::hx::Object super;
+ HX_DO_INTERFACE_RTTI;
+
+ ::String (::hx::Object :: *_hx_serialize)();
+ static inline ::String serialize( ::Dynamic _hx_) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::_Stanza::NodeInterface_obj *>(_hx_.mPtr->_hx_getInterface(0x2b90b024)))->_hx_serialize)();
+ }
+ ::Dynamic (::hx::Object :: *_hx_traverse)( ::Dynamic f);
+ static inline ::Dynamic traverse( ::Dynamic _hx_, ::Dynamic f) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::_Stanza::NodeInterface_obj *>(_hx_.mPtr->_hx_getInterface(0x2b90b024)))->_hx_traverse)(f);
+ }
+};
+
+} // end namespace borogove
+} // end namespace _Stanza
+
+#endif /* INCLUDED_borogove__Stanza_NodeInterface */
diff --git a/Sources/c_snikket/iinclude/snikket/_Util/Util_Fields_.h b/Sources/c_borogove/iinclude/borogove/_Util/Util_Fields_.h
similarity index 68%
rename from Sources/c_snikket/iinclude/snikket/_Util/Util_Fields_.h
rename to Sources/c_borogove/iinclude/borogove/_Util/Util_Fields_.h
index a5a7fd3..4e3b021 100644
--- a/Sources/c_snikket/iinclude/snikket/_Util/Util_Fields_.h
+++ b/Sources/c_borogove/iinclude/borogove/_Util/Util_Fields_.h
@@ -1,14 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket__Util_Util_Fields_
-#define INCLUDED_snikket__Util_Util_Fields_
+#ifndef INCLUDED_borogove__Util_Util_Fields_
+#define INCLUDED_borogove__Util_Util_Fields_
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS2(snikket,_Util,Util_Fields_)
+HX_DECLARE_CLASS2(borogove,_Util,Util_Fields_)
+HX_DECLARE_CLASS1(thenshim,Thenable)
-namespace snikket{
+namespace borogove{
namespace _Util{
@@ -20,13 +21,13 @@ class HXCPP_CLASS_ATTRIBUTES Util_Fields__obj : public ::hx::Object
Util_Fields__obj();
public:
- enum { _hx_ClassId = 0x1266dcf5 };
+ enum { _hx_ClassId = 0x7f12a789 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket._Util.Util_Fields_")
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove._Util.Util_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,"snikket._Util.Util_Fields_"); }
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove._Util.Util_Fields_"); }
inline static ::hx::ObjectPtr< Util_Fields__obj > __new() {
::hx::ObjectPtr< Util_Fields__obj > __this = new Util_Fields__obj();
@@ -35,7 +36,7 @@ class HXCPP_CLASS_ATTRIBUTES Util_Fields__obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< Util_Fields__obj > __alloc(::hx::Ctx *_hx_ctx) {
- Util_Fields__obj *__this = (Util_Fields__obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Util_Fields__obj), false, "snikket._Util.Util_Fields_"));
+ Util_Fields__obj *__this = (Util_Fields__obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Util_Fields__obj), false, "borogove._Util.Util_Fields_"));
*(void **)__this = Util_Fields__obj::_hx_vtable;
return __this;
}
@@ -51,8 +52,8 @@ class HXCPP_CLASS_ATTRIBUTES Util_Fields__obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("Util_Fields_",49,13,f3,18); }
- static void setupTrace();
- static ::Dynamic setupTrace_dyn();
+ static ::Dynamic xmppLinkHeader(::String url);
+ static ::Dynamic xmppLinkHeader_dyn();
static ::Dynamic downcast( ::Dynamic value,::hx::Class c);
static ::Dynamic downcast_dyn();
@@ -60,9 +61,12 @@ class HXCPP_CLASS_ATTRIBUTES Util_Fields__obj : public ::hx::Object
static ::String xmlEscape(::String s);
static ::Dynamic xmlEscape_dyn();
+ static ::String uriDecode(::String s);
+ static ::Dynamic uriDecode_dyn();
+
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace _Util
-#endif /* INCLUDED_snikket__Util_Util_Fields_ */
+#endif /* INCLUDED_borogove__Util_Util_Fields_ */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/Attribute.h b/Sources/c_borogove/iinclude/borogove/calls/Attribute.h
similarity index 68%
rename from Sources/c_snikket/iinclude/snikket/jingle/Attribute.h
rename to Sources/c_borogove/iinclude/borogove/calls/Attribute.h
index 9c28f6f..e048a96 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/Attribute.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/Attribute.h
@@ -1,16 +1,16 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_Attribute
-#define INCLUDED_snikket_jingle_Attribute
+#ifndef INCLUDED_borogove_calls_Attribute
+#define INCLUDED_borogove_calls_Attribute
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_STACK_FRAME(_hx_pos_3dd2db7f2124ae96_626_new)
-HX_DECLARE_CLASS2(snikket,jingle,Attribute)
+HX_DECLARE_STACK_FRAME(_hx_pos_b0912911cb3318e6_626_new)
+HX_DECLARE_CLASS2(borogove,calls,Attribute)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES Attribute_obj : public ::hx::Object
@@ -21,13 +21,13 @@ class HXCPP_CLASS_ATTRIBUTES Attribute_obj : public ::hx::Object
Attribute_obj();
public:
- enum { _hx_ClassId = 0x0704634e };
+ enum { _hx_ClassId = 0x2d4daef0 };
void __construct(::String key,::String value);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.Attribute")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.Attribute")
{ 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,"snikket.jingle.Attribute"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.Attribute"); }
inline static ::hx::ObjectPtr< Attribute_obj > __new(::String key,::String value) {
::hx::ObjectPtr< Attribute_obj > __this = new Attribute_obj();
@@ -36,12 +36,12 @@ class HXCPP_CLASS_ATTRIBUTES Attribute_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< Attribute_obj > __alloc(::hx::Ctx *_hx_ctx,::String key,::String value) {
- Attribute_obj *__this = (Attribute_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Attribute_obj), true, "snikket.jingle.Attribute"));
+ Attribute_obj *__this = (Attribute_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Attribute_obj), true, "borogove.calls.Attribute"));
*(void **)__this = Attribute_obj::_hx_vtable;
{
- HX_STACKFRAME(&_hx_pos_3dd2db7f2124ae96_626_new)
-HXLINE( 627) ( ( ::snikket::jingle::Attribute)(__this) )->key = key;
-HXLINE( 628) ( ( ::snikket::jingle::Attribute)(__this) )->value = value;
+ HX_STACKFRAME(&_hx_pos_b0912911cb3318e6_626_new)
+HXLINE( 627) ( ( ::borogove::calls::Attribute)(__this) )->key = key;
+HXLINE( 628) ( ( ::borogove::calls::Attribute)(__this) )->value = value;
}
return __this;
@@ -63,7 +63,7 @@ HXLINE( 628) ( ( ::snikket::jingle::Attribute)(__this) )->value = value;
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("Attribute",fc,4f,c3,9c); }
- static ::snikket::jingle::Attribute parse(::String input);
+ static ::borogove::calls::Attribute parse(::String input);
static ::Dynamic parse_dyn();
::String key;
@@ -73,7 +73,7 @@ HXLINE( 628) ( ( ::snikket::jingle::Attribute)(__this) )->value = value;
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_Attribute */
+#endif /* INCLUDED_borogove_calls_Attribute */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/AudioFormat.h b/Sources/c_borogove/iinclude/borogove/calls/AudioFormat.h
similarity index 69%
rename from Sources/c_snikket/iinclude/snikket/jingle/AudioFormat.h
rename to Sources/c_borogove/iinclude/borogove/calls/AudioFormat.h
index 5a01544..d3731e1 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/AudioFormat.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/AudioFormat.h
@@ -1,16 +1,16 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_AudioFormat
-#define INCLUDED_snikket_jingle_AudioFormat
+#ifndef INCLUDED_borogove_calls_AudioFormat
+#define INCLUDED_borogove_calls_AudioFormat
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_STACK_FRAME(_hx_pos_1f09f7dcf750977c_327_new)
-HX_DECLARE_CLASS2(snikket,jingle,AudioFormat)
+HX_DECLARE_STACK_FRAME(_hx_pos_9a23c46bf262f096_329_new)
+HX_DECLARE_CLASS2(borogove,calls,AudioFormat)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES AudioFormat_obj : public ::hx::Object
@@ -21,13 +21,13 @@ class HXCPP_CLASS_ATTRIBUTES AudioFormat_obj : public ::hx::Object
AudioFormat_obj();
public:
- enum { _hx_ClassId = 0x22a1d3c3 };
+ enum { _hx_ClassId = 0x1881ed1d };
void __construct(::String format,unsigned char payloadType,int clockRate,int channels);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.AudioFormat")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.AudioFormat")
{ 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,"snikket.jingle.AudioFormat"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.AudioFormat"); }
inline static ::hx::ObjectPtr< AudioFormat_obj > __new(::String format,unsigned char payloadType,int clockRate,int channels) {
::hx::ObjectPtr< AudioFormat_obj > __this = new AudioFormat_obj();
@@ -36,14 +36,14 @@ class HXCPP_CLASS_ATTRIBUTES AudioFormat_obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< AudioFormat_obj > __alloc(::hx::Ctx *_hx_ctx,::String format,unsigned char payloadType,int clockRate,int channels) {
- AudioFormat_obj *__this = (AudioFormat_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(AudioFormat_obj), true, "snikket.jingle.AudioFormat"));
+ AudioFormat_obj *__this = (AudioFormat_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(AudioFormat_obj), true, "borogove.calls.AudioFormat"));
*(void **)__this = AudioFormat_obj::_hx_vtable;
{
- HX_STACKFRAME(&_hx_pos_1f09f7dcf750977c_327_new)
-HXLINE( 328) ( ( ::snikket::jingle::AudioFormat)(__this) )->format = format;
-HXLINE( 329) ( ( ::snikket::jingle::AudioFormat)(__this) )->payloadType = payloadType;
-HXLINE( 330) ( ( ::snikket::jingle::AudioFormat)(__this) )->clockRate = clockRate;
-HXLINE( 331) ( ( ::snikket::jingle::AudioFormat)(__this) )->channels = channels;
+ HX_STACKFRAME(&_hx_pos_9a23c46bf262f096_329_new)
+HXLINE( 330) ( ( ::borogove::calls::AudioFormat)(__this) )->format = format;
+HXLINE( 331) ( ( ::borogove::calls::AudioFormat)(__this) )->payloadType = payloadType;
+HXLINE( 332) ( ( ::borogove::calls::AudioFormat)(__this) )->clockRate = clockRate;
+HXLINE( 333) ( ( ::borogove::calls::AudioFormat)(__this) )->channels = channels;
}
return __this;
@@ -78,7 +78,7 @@ HXLINE( 331) ( ( ::snikket::jingle::AudioFormat)(__this) )->channels = channels
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_AudioFormat */
+#endif /* INCLUDED_borogove_calls_AudioFormat */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/DTMFSender.h b/Sources/c_borogove/iinclude/borogove/calls/DTMFSender.h
similarity index 68%
rename from Sources/c_snikket/iinclude/snikket/jingle/DTMFSender.h
rename to Sources/c_borogove/iinclude/borogove/calls/DTMFSender.h
index ac11f9b..9869e9a 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/DTMFSender.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/DTMFSender.h
@@ -1,19 +1,19 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_DTMFSender
-#define INCLUDED_snikket_jingle_DTMFSender
+#ifndef INCLUDED_borogove_calls_DTMFSender
+#define INCLUDED_borogove_calls_DTMFSender
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
+HX_DECLARE_CLASS2(borogove,calls,DTMFSender)
+HX_DECLARE_CLASS2(borogove,calls,MediaStreamTrack)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS1(haxe,Timer)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
-HX_DECLARE_CLASS2(snikket,jingle,DTMFSender)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStreamTrack)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES DTMFSender_obj : public ::hx::Object
@@ -24,15 +24,15 @@ class HXCPP_CLASS_ATTRIBUTES DTMFSender_obj : public ::hx::Object
DTMFSender_obj();
public:
- enum { _hx_ClassId = 0x0cd227ec };
+ enum { _hx_ClassId = 0x2607f7d2 };
- void __construct( ::snikket::jingle::MediaStreamTrack track);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.DTMFSender")
+ void __construct( ::borogove::calls::MediaStreamTrack track);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.DTMFSender")
{ 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,"snikket.jingle.DTMFSender"); }
- static ::hx::ObjectPtr< DTMFSender_obj > __new( ::snikket::jingle::MediaStreamTrack track);
- static ::hx::ObjectPtr< DTMFSender_obj > __alloc(::hx::Ctx *_hx_ctx, ::snikket::jingle::MediaStreamTrack track);
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.DTMFSender"); }
+ static ::hx::ObjectPtr< DTMFSender_obj > __new( ::borogove::calls::MediaStreamTrack track);
+ static ::hx::ObjectPtr< DTMFSender_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::calls::MediaStreamTrack track);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -52,7 +52,7 @@ class HXCPP_CLASS_ATTRIBUTES DTMFSender_obj : public ::hx::Object
static void __boot();
static ::haxe::ds::StringMap TONES;
- ::snikket::jingle::MediaStreamTrack track;
+ ::borogove::calls::MediaStreamTrack track;
::haxe::Timer timer;
::Array< unsigned char > tones;
void insertDTMF(::String tones);
@@ -63,7 +63,7 @@ class HXCPP_CLASS_ATTRIBUTES DTMFSender_obj : public ::hx::Object
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_DTMFSender */
+#endif /* INCLUDED_borogove_calls_DTMFSender */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/Group.h b/Sources/c_borogove/iinclude/borogove/calls/Group.h
similarity index 71%
rename from Sources/c_snikket/iinclude/snikket/jingle/Group.h
rename to Sources/c_borogove/iinclude/borogove/calls/Group.h
index e94b018..37bfbec 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/Group.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/Group.h
@@ -1,17 +1,16 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_Group
-#define INCLUDED_snikket_jingle_Group
+#ifndef INCLUDED_borogove_calls_Group
+#define INCLUDED_borogove_calls_Group
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,jingle,Group)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,calls,Group)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES Group_obj : public ::hx::Object
@@ -22,13 +21,13 @@ class HXCPP_CLASS_ATTRIBUTES Group_obj : public ::hx::Object
Group_obj();
public:
- enum { _hx_ClassId = 0x21f1b1d5 };
+ enum { _hx_ClassId = 0x1246df4b };
void __construct(::String semantics,::Array< ::String > identificationTags);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.Group")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.Group")
{ 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,"snikket.jingle.Group"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.Group"); }
static ::hx::ObjectPtr< Group_obj > __new(::String semantics,::Array< ::String > identificationTags);
static ::hx::ObjectPtr< Group_obj > __alloc(::hx::Ctx *_hx_ctx,::String semantics,::Array< ::String > identificationTags);
static void * _hx_vtable;
@@ -47,10 +46,10 @@ class HXCPP_CLASS_ATTRIBUTES Group_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("Group",1f,23,22,2d); }
- static ::snikket::jingle::Group parse(::String input);
+ static ::borogove::calls::Group parse(::String input);
static ::Dynamic parse_dyn();
- static ::snikket::jingle::Group fromElement( ::snikket::Stanza el);
+ static ::borogove::calls::Group fromElement( ::borogove::Stanza el);
static ::Dynamic fromElement_dyn();
::String semantics;
@@ -58,12 +57,12 @@ class HXCPP_CLASS_ATTRIBUTES Group_obj : public ::hx::Object
::String toSdp();
::Dynamic toSdp_dyn();
- ::snikket::Stanza toElement();
+ ::borogove::Stanza toElement();
::Dynamic toElement_dyn();
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_Group */
+#endif /* INCLUDED_borogove_calls_Group */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/IceCandidate.h b/Sources/c_borogove/iinclude/borogove/calls/IceCandidate.h
similarity index 72%
rename from Sources/c_snikket/iinclude/snikket/jingle/IceCandidate.h
rename to Sources/c_borogove/iinclude/borogove/calls/IceCandidate.h
index 3f6d0f8..0c246fe 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/IceCandidate.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/IceCandidate.h
@@ -1,19 +1,18 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_IceCandidate
-#define INCLUDED_snikket_jingle_IceCandidate
+#ifndef INCLUDED_borogove_calls_IceCandidate
+#define INCLUDED_borogove_calls_IceCandidate
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,calls,IceCandidate)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,jingle,IceCandidate)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES IceCandidate_obj : public ::hx::Object
@@ -24,13 +23,13 @@ class HXCPP_CLASS_ATTRIBUTES IceCandidate_obj : public ::hx::Object
IceCandidate_obj();
public:
- enum { _hx_ClassId = 0x5f466786 };
+ enum { _hx_ClassId = 0x7f8ace04 };
void __construct(::String sdpMid,::String ufrag,::String foundation,::String component,::String transport,::String priority,::String connectionAddress,::String port, ::haxe::ds::StringMap parameters);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.IceCandidate")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.IceCandidate")
{ 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,"snikket.jingle.IceCandidate"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.IceCandidate"); }
static ::hx::ObjectPtr< IceCandidate_obj > __new(::String sdpMid,::String ufrag,::String foundation,::String component,::String transport,::String priority,::String connectionAddress,::String port, ::haxe::ds::StringMap parameters);
static ::hx::ObjectPtr< IceCandidate_obj > __alloc(::hx::Ctx *_hx_ctx,::String sdpMid,::String ufrag,::String foundation,::String component,::String transport,::String priority,::String connectionAddress,::String port, ::haxe::ds::StringMap parameters);
static void * _hx_vtable;
@@ -49,16 +48,16 @@ class HXCPP_CLASS_ATTRIBUTES IceCandidate_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("IceCandidate",98,1b,a6,e5); }
- static ::snikket::jingle::IceCandidate fromElement( ::snikket::Stanza candidate,::String sdpMid,::String ufrag);
+ static ::borogove::calls::IceCandidate fromElement( ::borogove::Stanza candidate,::String sdpMid,::String ufrag);
static ::Dynamic fromElement_dyn();
- static ::Array< ::Dynamic> fromTransport( ::snikket::Stanza transport,::String sdpMid);
+ static ::Array< ::Dynamic> fromTransport( ::borogove::Stanza transport,::String sdpMid);
static ::Dynamic fromTransport_dyn();
- static ::Array< ::Dynamic> fromStanza( ::snikket::Stanza iq);
+ static ::Array< ::Dynamic> fromStanza( ::borogove::Stanza iq);
static ::Dynamic fromStanza_dyn();
- static ::snikket::jingle::IceCandidate parse(::String input,::String sdpMid,::String ufrag);
+ static ::borogove::calls::IceCandidate parse(::String input,::String sdpMid,::String ufrag);
static ::Dynamic parse_dyn();
::String sdpMid;
@@ -70,7 +69,7 @@ class HXCPP_CLASS_ATTRIBUTES IceCandidate_obj : public ::hx::Object
::String connectionAddress;
::String port;
::haxe::ds::StringMap parameters;
- ::snikket::Stanza toElement();
+ ::borogove::Stanza toElement();
::Dynamic toElement_dyn();
::String toSdp();
@@ -78,7 +77,7 @@ class HXCPP_CLASS_ATTRIBUTES IceCandidate_obj : public ::hx::Object
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_IceCandidate */
+#endif /* INCLUDED_borogove_calls_IceCandidate */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/IncomingProposedSession.h b/Sources/c_borogove/iinclude/borogove/calls/IncomingProposedSession.h
similarity index 55%
rename from Sources/c_snikket/iinclude/snikket/jingle/IncomingProposedSession.h
rename to Sources/c_borogove/iinclude/borogove/calls/IncomingProposedSession.h
index b762e1c..9f44fc3 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/IncomingProposedSession.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/IncomingProposedSession.h
@@ -1,29 +1,28 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_IncomingProposedSession
-#define INCLUDED_snikket_jingle_IncomingProposedSession
+#ifndef INCLUDED_borogove_calls_IncomingProposedSession
+#define INCLUDED_borogove_calls_IncomingProposedSession
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_jingle_Session
-#include <snikket/jingle/Session.h>
+#ifndef INCLUDED_borogove_calls_Session
+#include <borogove/calls/Session.h>
#endif
-HX_DECLARE_CLASS1(snikket,Client)
-HX_DECLARE_CLASS1(snikket,EventEmitter)
-HX_DECLARE_CLASS1(snikket,JID)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,jingle,DTMFSender)
-HX_DECLARE_CLASS2(snikket,jingle,IncomingProposedSession)
-HX_DECLARE_CLASS2(snikket,jingle,InitiatedSession)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStream)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStreamTrack)
-HX_DECLARE_CLASS2(snikket,jingle,Session)
+HX_DECLARE_CLASS1(borogove,Client)
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,calls,DTMFSender)
+HX_DECLARE_CLASS2(borogove,calls,IncomingProposedSession)
+HX_DECLARE_CLASS2(borogove,calls,InitiatedSession)
+HX_DECLARE_CLASS2(borogove,calls,MediaStream)
+HX_DECLARE_CLASS2(borogove,calls,MediaStreamTrack)
+HX_DECLARE_CLASS2(borogove,calls,Session)
HX_DECLARE_CLASS1(thenshim,Thenable)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES IncomingProposedSession_obj : public ::hx::Object
@@ -34,15 +33,15 @@ class HXCPP_CLASS_ATTRIBUTES IncomingProposedSession_obj : public ::hx::Object
IncomingProposedSession_obj();
public:
- enum { _hx_ClassId = 0x409e1620 };
+ enum { _hx_ClassId = 0x260dc3de };
- void __construct( ::snikket::Client client, ::snikket::JID from,::String sid);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.IncomingProposedSession")
+ void __construct( ::borogove::Client client, ::borogove::JID from,::String sid);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.IncomingProposedSession")
{ 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,"snikket.jingle.IncomingProposedSession"); }
- static ::hx::ObjectPtr< IncomingProposedSession_obj > __new( ::snikket::Client client, ::snikket::JID from,::String sid);
- static ::hx::ObjectPtr< IncomingProposedSession_obj > __alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::JID from,::String sid);
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.IncomingProposedSession"); }
+ static ::hx::ObjectPtr< IncomingProposedSession_obj > __new( ::borogove::Client client, ::borogove::JID from,::String sid);
+ static ::hx::ObjectPtr< IncomingProposedSession_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::JID from,::String sid);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -59,10 +58,12 @@ class HXCPP_CLASS_ATTRIBUTES IncomingProposedSession_obj : public ::hx::Object
void *_hx_getInterface(int inHash);
::String __ToString() const { return HX_("IncomingProposedSession",ea,a1,86,13); }
+ static void __boot();
+ static ::Dynamic __meta__;
::String sid;
::String chatId;
- ::snikket::Client client;
- ::snikket::JID from;
+ ::borogove::Client client;
+ ::borogove::JID from;
::String _sid;
bool accepted;
void ring();
@@ -77,19 +78,19 @@ class HXCPP_CLASS_ATTRIBUTES IncomingProposedSession_obj : public ::hx::Object
void terminate();
::Dynamic terminate_dyn();
- void contentAdd( ::snikket::Stanza _);
+ void contentAdd( ::borogove::Stanza _);
::Dynamic contentAdd_dyn();
- void contentAccept( ::snikket::Stanza _);
+ void contentAccept( ::borogove::Stanza _);
::Dynamic contentAccept_dyn();
- ::Dynamic transportInfo( ::snikket::Stanza _);
+ ::Dynamic transportInfo( ::borogove::Stanza _);
::Dynamic transportInfo_dyn();
void accept();
::Dynamic accept_dyn();
- ::snikket::jingle::InitiatedSession initiate( ::snikket::Stanza stanza);
+ ::borogove::calls::InitiatedSession initiate( ::borogove::Stanza stanza);
::Dynamic initiate_dyn();
void addMedia(::Array< ::Dynamic> _);
@@ -98,10 +99,13 @@ class HXCPP_CLASS_ATTRIBUTES IncomingProposedSession_obj : public ::hx::Object
int callStatus();
::Dynamic callStatus_dyn();
+ ::Array< ::Dynamic> audioTracks();
+ ::Dynamic audioTracks_dyn();
+
::Array< ::Dynamic> videoTracks();
::Dynamic videoTracks_dyn();
- ::snikket::jingle::DTMFSender dtmf();
+ ::borogove::calls::DTMFSender dtmf();
::Dynamic dtmf_dyn();
::String get_sid();
@@ -112,7 +116,7 @@ class HXCPP_CLASS_ATTRIBUTES IncomingProposedSession_obj : public ::hx::Object
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_IncomingProposedSession */
+#endif /* INCLUDED_borogove_calls_IncomingProposedSession */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/InitiatedSession.h b/Sources/c_borogove/iinclude/borogove/calls/InitiatedSession.h
similarity index 58%
rename from Sources/c_snikket/iinclude/snikket/jingle/InitiatedSession.h
rename to Sources/c_borogove/iinclude/borogove/calls/InitiatedSession.h
index 24ff6e9..6400960 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/InitiatedSession.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/InitiatedSession.h
@@ -1,31 +1,30 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_InitiatedSession
-#define INCLUDED_snikket_jingle_InitiatedSession
+#ifndef INCLUDED_borogove_calls_InitiatedSession
+#define INCLUDED_borogove_calls_InitiatedSession
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_jingle_Session
-#include <snikket/jingle/Session.h>
+#ifndef INCLUDED_borogove_calls_Session
+#include <borogove/calls/Session.h>
#endif
-HX_DECLARE_CLASS1(snikket,Client)
-HX_DECLARE_CLASS1(snikket,EventEmitter)
-HX_DECLARE_CLASS1(snikket,JID)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,jingle,DTMFSender)
-HX_DECLARE_CLASS2(snikket,jingle,InitiatedSession)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStream)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStreamTrack)
-HX_DECLARE_CLASS2(snikket,jingle,OutgoingSession)
-HX_DECLARE_CLASS2(snikket,jingle,PeerConnection)
-HX_DECLARE_CLASS2(snikket,jingle,Session)
-HX_DECLARE_CLASS2(snikket,jingle,SessionDescription)
+HX_DECLARE_CLASS1(borogove,Client)
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,calls,DTMFSender)
+HX_DECLARE_CLASS2(borogove,calls,InitiatedSession)
+HX_DECLARE_CLASS2(borogove,calls,MediaStream)
+HX_DECLARE_CLASS2(borogove,calls,MediaStreamTrack)
+HX_DECLARE_CLASS2(borogove,calls,OutgoingSession)
+HX_DECLARE_CLASS2(borogove,calls,PeerConnection)
+HX_DECLARE_CLASS2(borogove,calls,Session)
+HX_DECLARE_CLASS2(borogove,calls,SessionDescription)
HX_DECLARE_CLASS1(thenshim,Thenable)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES InitiatedSession_obj : public ::hx::Object
@@ -36,15 +35,15 @@ class HXCPP_CLASS_ATTRIBUTES InitiatedSession_obj : public ::hx::Object
InitiatedSession_obj();
public:
- enum { _hx_ClassId = 0x050f75b9 };
+ enum { _hx_ClassId = 0x2341c257 };
- void __construct( ::snikket::Client client, ::snikket::JID counterpart,::String sid, ::snikket::jingle::SessionDescription remoteDescription);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.InitiatedSession")
+ void __construct( ::borogove::Client client, ::borogove::JID counterpart,::String sid, ::borogove::calls::SessionDescription remoteDescription);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.InitiatedSession")
{ 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,"snikket.jingle.InitiatedSession"); }
- static ::hx::ObjectPtr< InitiatedSession_obj > __new( ::snikket::Client client, ::snikket::JID counterpart,::String sid, ::snikket::jingle::SessionDescription remoteDescription);
- static ::hx::ObjectPtr< InitiatedSession_obj > __alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::JID counterpart,::String sid, ::snikket::jingle::SessionDescription remoteDescription);
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.InitiatedSession"); }
+ static ::hx::ObjectPtr< InitiatedSession_obj > __new( ::borogove::Client client, ::borogove::JID counterpart,::String sid, ::borogove::calls::SessionDescription remoteDescription);
+ static ::hx::ObjectPtr< InitiatedSession_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::JID counterpart,::String sid, ::borogove::calls::SessionDescription remoteDescription);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -60,12 +59,12 @@ class HXCPP_CLASS_ATTRIBUTES InitiatedSession_obj : public ::hx::Object
void __Visit(HX_VISIT_PARAMS);
bool _hx_isInstanceOf(int inClassId);
void *_hx_getInterface(int inHash);
- ::snikket::jingle::InitiatedSession initiate_ef691953( ::snikket::Stanza stanza);
+ ::borogove::calls::InitiatedSession initiate_151962fb( ::borogove::Stanza stanza);
::String __ToString() const { return HX_("InitiatedSession",cb,9a,8f,24); }
static void __boot();
static ::Dynamic __meta__;
- static ::snikket::jingle::InitiatedSession fromSessionInitiate( ::snikket::Client client, ::snikket::Stanza stanza);
+ static ::borogove::calls::InitiatedSession fromSessionInitiate( ::borogove::Client client, ::borogove::Stanza stanza);
static ::Dynamic fromSessionInitiate_dyn();
::String sid;
@@ -76,12 +75,12 @@ class HXCPP_CLASS_ATTRIBUTES InitiatedSession_obj : public ::hx::Object
::String chatId__fromC();
::Dynamic chatId__fromC_dyn();
- ::snikket::Client client;
- ::snikket::JID counterpart;
+ ::borogove::Client client;
+ ::borogove::JID counterpart;
::String _sid;
- ::snikket::jingle::SessionDescription remoteDescription;
- ::snikket::jingle::SessionDescription localDescription;
- ::snikket::jingle::PeerConnection pc;
+ ::borogove::calls::SessionDescription remoteDescription;
+ ::borogove::calls::SessionDescription localDescription;
+ ::borogove::calls::PeerConnection pc;
::String peerDtlsSetup;
::Array< ::Dynamic> queuedInboundTransportInfo;
::Array< ::Dynamic> queuedOutboundCandidate;
@@ -109,19 +108,19 @@ class HXCPP_CLASS_ATTRIBUTES InitiatedSession_obj : public ::hx::Object
void hangup();
::Dynamic hangup_dyn();
- virtual ::snikket::jingle::OutgoingSession initiate( ::snikket::Stanza stanza);
+ virtual ::borogove::calls::OutgoingSession initiate( ::borogove::Stanza stanza);
::Dynamic initiate_dyn();
void terminate();
::Dynamic terminate_dyn();
- void contentAdd( ::snikket::Stanza stanza);
+ void contentAdd( ::borogove::Stanza stanza);
::Dynamic contentAdd_dyn();
- void contentAccept( ::snikket::Stanza stanza);
+ void contentAccept( ::borogove::Stanza stanza);
::Dynamic contentAccept_dyn();
- ::Dynamic transportInfo( ::snikket::Stanza stanza);
+ ::Dynamic transportInfo( ::borogove::Stanza stanza);
::Dynamic transportInfo_dyn();
void addMedia(::Array< ::Dynamic> streams);
@@ -130,15 +129,20 @@ class HXCPP_CLASS_ATTRIBUTES InitiatedSession_obj : public ::hx::Object
void addMedia__fromC(::cpp::Pointer< void* > streams,size_t streams__len);
::Dynamic addMedia__fromC_dyn();
- int callStatus();
+ virtual int callStatus();
::Dynamic callStatus_dyn();
+ ::Array< ::Dynamic> audioTracks();
+ ::Dynamic audioTracks_dyn();
+
+ size_t audioTracks__fromC(void*** outPtr);
+
::Array< ::Dynamic> videoTracks();
::Dynamic videoTracks_dyn();
size_t videoTracks__fromC(void*** outPtr);
- ::snikket::jingle::DTMFSender dtmf();
+ ::borogove::calls::DTMFSender dtmf();
::Dynamic dtmf_dyn();
void sendIceCandidate( ::Dynamic candidate);
@@ -161,7 +165,7 @@ class HXCPP_CLASS_ATTRIBUTES InitiatedSession_obj : public ::hx::Object
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_InitiatedSession */
+#endif /* INCLUDED_borogove_calls_InitiatedSession */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/Media.h b/Sources/c_borogove/iinclude/borogove/calls/Media.h
similarity index 68%
rename from Sources/c_snikket/iinclude/snikket/jingle/Media.h
rename to Sources/c_borogove/iinclude/borogove/calls/Media.h
index 139653a..96c3be1 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/Media.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/Media.h
@@ -1,19 +1,18 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_Media
-#define INCLUDED_snikket_jingle_Media
+#ifndef INCLUDED_borogove_calls_Media
+#define INCLUDED_borogove_calls_Media
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,jingle,Attribute)
-HX_DECLARE_CLASS2(snikket,jingle,Media)
-HX_DECLARE_CLASS2(snikket,jingle,SessionDescription)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,calls,Attribute)
+HX_DECLARE_CLASS2(borogove,calls,Media)
+HX_DECLARE_CLASS2(borogove,calls,SessionDescription)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES Media_obj : public ::hx::Object
@@ -24,13 +23,13 @@ class HXCPP_CLASS_ATTRIBUTES Media_obj : public ::hx::Object
Media_obj();
public:
- enum { _hx_ClassId = 0x06e5f716 };
+ enum { _hx_ClassId = 0x7e0e30f0 };
void __construct(::String mid,::String media,::String connectionData,::String port,::String protocol,::Array< ::Dynamic> attributes,::Array< int > formats);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.Media")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.Media")
{ 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,"snikket.jingle.Media"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.Media"); }
static ::hx::ObjectPtr< Media_obj > __new(::String mid,::String media,::String connectionData,::String port,::String protocol,::Array< ::Dynamic> attributes,::Array< int > formats);
static ::hx::ObjectPtr< Media_obj > __alloc(::hx::Ctx *_hx_ctx,::String mid,::String media,::String connectionData,::String port,::String protocol,::Array< ::Dynamic> attributes,::Array< int > formats);
static void * _hx_vtable;
@@ -49,7 +48,7 @@ class HXCPP_CLASS_ATTRIBUTES Media_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("Media",c4,74,e9,98); }
- static ::snikket::jingle::Media fromElement( ::snikket::Stanza content,bool initiator,bool hasGroup, ::snikket::jingle::SessionDescription existingDescription);
+ static ::borogove::calls::Media fromElement( ::borogove::Stanza content,bool initiator,bool hasGroup, ::borogove::calls::SessionDescription existingDescription);
static ::Dynamic fromElement_dyn();
::String mid;
@@ -62,21 +61,21 @@ class HXCPP_CLASS_ATTRIBUTES Media_obj : public ::hx::Object
::String toSdp();
::Dynamic toSdp_dyn();
- ::snikket::Stanza contentElement(bool initiator);
+ ::borogove::Stanza contentElement(bool initiator);
::Dynamic contentElement_dyn();
- ::snikket::Stanza toElement(::Array< ::Dynamic> sessionAttributes,bool initiator);
+ ::borogove::Stanza toElement(::Array< ::Dynamic> sessionAttributes,bool initiator);
::Dynamic toElement_dyn();
::Dynamic getUfragPwd(::Array< ::Dynamic> sessionAttributes);
::Dynamic getUfragPwd_dyn();
- ::snikket::Stanza toTransportElement(::Array< ::Dynamic> sessionAttributes);
+ ::borogove::Stanza toTransportElement(::Array< ::Dynamic> sessionAttributes);
::Dynamic toTransportElement_dyn();
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_Media */
+#endif /* INCLUDED_borogove_calls_Media */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/MediaStream.h b/Sources/c_borogove/iinclude/borogove/calls/MediaStream.h
similarity index 71%
rename from Sources/c_snikket/iinclude/snikket/jingle/MediaStream.h
rename to Sources/c_borogove/iinclude/borogove/calls/MediaStream.h
index 1e4bb42..22bb729 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/MediaStream.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/MediaStream.h
@@ -1,16 +1,16 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_MediaStream
-#define INCLUDED_snikket_jingle_MediaStream
+#ifndef INCLUDED_borogove_calls_MediaStream
+#define INCLUDED_borogove_calls_MediaStream
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS2(snikket,jingle,MediaStream)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStreamTrack)
+HX_DECLARE_CLASS2(borogove,calls,MediaStream)
+HX_DECLARE_CLASS2(borogove,calls,MediaStreamTrack)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES MediaStream_obj : public ::hx::Object
@@ -21,13 +21,13 @@ class HXCPP_CLASS_ATTRIBUTES MediaStream_obj : public ::hx::Object
MediaStream_obj();
public:
- enum { _hx_ClassId = 0x1cdfd2fe };
+ enum { _hx_ClassId = 0x12bfec58 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.MediaStream")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.MediaStream")
{ 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,"snikket.jingle.MediaStream"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.MediaStream"); }
static ::hx::ObjectPtr< MediaStream_obj > __new();
static ::hx::ObjectPtr< MediaStream_obj > __alloc(::hx::Ctx *_hx_ctx);
static void * _hx_vtable;
@@ -48,11 +48,11 @@ class HXCPP_CLASS_ATTRIBUTES MediaStream_obj : public ::hx::Object
static void __boot();
static ::Dynamic __meta__;
- static ::snikket::jingle::MediaStream makeAudio();
+ static ::borogove::calls::MediaStream makeAudio();
static ::Dynamic makeAudio_dyn();
::Array< ::Dynamic> tracks;
- void addTrack( ::snikket::jingle::MediaStreamTrack track);
+ void addTrack( ::borogove::calls::MediaStreamTrack track);
::Dynamic addTrack_dyn();
::Array< ::Dynamic> getTracks();
@@ -62,7 +62,7 @@ class HXCPP_CLASS_ATTRIBUTES MediaStream_obj : public ::hx::Object
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_MediaStream */
+#endif /* INCLUDED_borogove_calls_MediaStream */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/MediaStreamTrack.h b/Sources/c_borogove/iinclude/borogove/calls/MediaStreamTrack.h
similarity index 87%
rename from Sources/c_snikket/iinclude/snikket/jingle/MediaStreamTrack.h
rename to Sources/c_borogove/iinclude/borogove/calls/MediaStreamTrack.h
index 368efe0..341db52 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/MediaStreamTrack.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/MediaStreamTrack.h
@@ -1,6 +1,6 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_MediaStreamTrack
-#define INCLUDED_snikket_jingle_MediaStreamTrack
+#ifndef INCLUDED_borogove_calls_MediaStreamTrack
+#define INCLUDED_borogove_calls_MediaStreamTrack
#ifndef HXCPP_H
#include <hxcpp.h>
@@ -22,14 +22,14 @@
#define INCLUDED_0e487a29b6aa8a9b
#include "rtc/rtc.hpp"
#endif
+HX_DECLARE_CLASS2(borogove,calls,AudioFormat)
+HX_DECLARE_CLASS2(borogove,calls,MediaStreamTrack)
HX_DECLARE_CLASS1(haxe,Timer)
-HX_DECLARE_CLASS2(snikket,jingle,AudioFormat)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStreamTrack)
HX_DECLARE_CLASS2(sys,thread,EventLoop)
HX_DECLARE_CLASS2(sys,thread,Mutex)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES MediaStreamTrack_obj : public ::hx::Object
@@ -40,13 +40,13 @@ class HXCPP_CLASS_ATTRIBUTES MediaStreamTrack_obj : public ::hx::Object
MediaStreamTrack_obj();
public:
- enum { _hx_ClassId = 0x047992ad };
+ enum { _hx_ClassId = 0x32cec6db };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.MediaStreamTrack")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.MediaStreamTrack")
{ 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,"snikket.jingle.MediaStreamTrack"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.MediaStreamTrack"); }
static ::hx::ObjectPtr< MediaStreamTrack_obj > __new();
static ::hx::ObjectPtr< MediaStreamTrack_obj > __alloc(::hx::Ctx *_hx_ctx);
static void * _hx_vtable;
@@ -68,7 +68,7 @@ class HXCPP_CLASS_ATTRIBUTES MediaStreamTrack_obj : public ::hx::Object
static void __boot();
static ::Dynamic __meta__;
- static ::snikket::jingle::MediaStreamTrack fromTrack( std::shared_ptr< rtc::Track > t);
+ static ::borogove::calls::MediaStreamTrack fromTrack( std::shared_ptr< rtc::Track > t);
static ::Array< short > ULAW_DECODE;
static ::Array< unsigned char > ULAW_EXP;
@@ -101,9 +101,8 @@ class HXCPP_CLASS_ATTRIBUTES MediaStreamTrack_obj : public ::hx::Object
Float bufferSizeInSeconds;
::sys::thread::Mutex mutex;
std::optional< rtc::Description::Media > media;
+ ::cpp::Pointer< rtc::Description::Media > remoteMedia;
std::shared_ptr< rtc::Track > track;
- std::optional< rtc::Description::Media > get_media();
-
::String get_id();
::Dynamic get_id_dyn();
@@ -153,7 +152,7 @@ class HXCPP_CLASS_ATTRIBUTES MediaStreamTrack_obj : public ::hx::Object
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_MediaStreamTrack */
+#endif /* INCLUDED_borogove_calls_MediaStreamTrack */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/OutgoingProposedSession.h b/Sources/c_borogove/iinclude/borogove/calls/OutgoingProposedSession.h
similarity index 54%
rename from Sources/c_snikket/iinclude/snikket/jingle/OutgoingProposedSession.h
rename to Sources/c_borogove/iinclude/borogove/calls/OutgoingProposedSession.h
index c8190d8..10f841b 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/OutgoingProposedSession.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/OutgoingProposedSession.h
@@ -1,30 +1,29 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_OutgoingProposedSession
-#define INCLUDED_snikket_jingle_OutgoingProposedSession
+#ifndef INCLUDED_borogove_calls_OutgoingProposedSession
+#define INCLUDED_borogove_calls_OutgoingProposedSession
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_jingle_Session
-#include <snikket/jingle/Session.h>
+#ifndef INCLUDED_borogove_calls_Session
+#include <borogove/calls/Session.h>
#endif
-HX_DECLARE_CLASS1(snikket,Client)
-HX_DECLARE_CLASS1(snikket,EventEmitter)
-HX_DECLARE_CLASS1(snikket,JID)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,jingle,DTMFSender)
-HX_DECLARE_CLASS2(snikket,jingle,InitiatedSession)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStream)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStreamTrack)
-HX_DECLARE_CLASS2(snikket,jingle,OutgoingProposedSession)
-HX_DECLARE_CLASS2(snikket,jingle,OutgoingSession)
-HX_DECLARE_CLASS2(snikket,jingle,Session)
+HX_DECLARE_CLASS1(borogove,Client)
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,calls,DTMFSender)
+HX_DECLARE_CLASS2(borogove,calls,InitiatedSession)
+HX_DECLARE_CLASS2(borogove,calls,MediaStream)
+HX_DECLARE_CLASS2(borogove,calls,MediaStreamTrack)
+HX_DECLARE_CLASS2(borogove,calls,OutgoingProposedSession)
+HX_DECLARE_CLASS2(borogove,calls,OutgoingSession)
+HX_DECLARE_CLASS2(borogove,calls,Session)
HX_DECLARE_CLASS1(thenshim,Thenable)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES OutgoingProposedSession_obj : public ::hx::Object
@@ -35,15 +34,15 @@ class HXCPP_CLASS_ATTRIBUTES OutgoingProposedSession_obj : public ::hx::Object
OutgoingProposedSession_obj();
public:
- enum { _hx_ClassId = 0x4349a55a };
+ enum { _hx_ClassId = 0x28b95318 };
- void __construct( ::snikket::Client client, ::snikket::JID to);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.OutgoingProposedSession")
+ void __construct( ::borogove::Client client, ::borogove::JID to);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.OutgoingProposedSession")
{ 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,"snikket.jingle.OutgoingProposedSession"); }
- static ::hx::ObjectPtr< OutgoingProposedSession_obj > __new( ::snikket::Client client, ::snikket::JID to);
- static ::hx::ObjectPtr< OutgoingProposedSession_obj > __alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::JID to);
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.OutgoingProposedSession"); }
+ static ::hx::ObjectPtr< OutgoingProposedSession_obj > __new( ::borogove::Client client, ::borogove::JID to);
+ static ::hx::ObjectPtr< OutgoingProposedSession_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::JID to);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -58,13 +57,15 @@ class HXCPP_CLASS_ATTRIBUTES OutgoingProposedSession_obj : public ::hx::Object
void __Visit(HX_VISIT_PARAMS);
bool _hx_isInstanceOf(int inClassId);
void *_hx_getInterface(int inHash);
- ::snikket::jingle::InitiatedSession initiate_ef691953( ::snikket::Stanza stanza);
+ ::borogove::calls::InitiatedSession initiate_151962fb( ::borogove::Stanza stanza);
::String __ToString() const { return HX_("OutgoingProposedSession",24,31,32,16); }
+ static void __boot();
+ static ::Dynamic __meta__;
::String sid;
::String chatId;
- ::snikket::Client client;
- ::snikket::JID to;
+ ::borogove::Client client;
+ ::borogove::JID to;
::String _sid;
bool audio;
bool video;
@@ -80,19 +81,19 @@ class HXCPP_CLASS_ATTRIBUTES OutgoingProposedSession_obj : public ::hx::Object
void terminate();
::Dynamic terminate_dyn();
- void contentAdd( ::snikket::Stanza _);
+ void contentAdd( ::borogove::Stanza _);
::Dynamic contentAdd_dyn();
- void contentAccept( ::snikket::Stanza _);
+ void contentAccept( ::borogove::Stanza _);
::Dynamic contentAccept_dyn();
- ::Dynamic transportInfo( ::snikket::Stanza _);
+ ::Dynamic transportInfo( ::borogove::Stanza _);
::Dynamic transportInfo_dyn();
void accept();
::Dynamic accept_dyn();
- ::snikket::jingle::OutgoingSession initiate( ::snikket::Stanza stanza);
+ ::borogove::calls::OutgoingSession initiate( ::borogove::Stanza stanza);
::Dynamic initiate_dyn();
void addMedia(::Array< ::Dynamic> _);
@@ -101,10 +102,13 @@ class HXCPP_CLASS_ATTRIBUTES OutgoingProposedSession_obj : public ::hx::Object
int callStatus();
::Dynamic callStatus_dyn();
+ ::Array< ::Dynamic> audioTracks();
+ ::Dynamic audioTracks_dyn();
+
::Array< ::Dynamic> videoTracks();
::Dynamic videoTracks_dyn();
- ::snikket::jingle::DTMFSender dtmf();
+ ::borogove::calls::DTMFSender dtmf();
::Dynamic dtmf_dyn();
::String get_sid();
@@ -115,7 +119,7 @@ class HXCPP_CLASS_ATTRIBUTES OutgoingProposedSession_obj : public ::hx::Object
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_OutgoingProposedSession */
+#endif /* INCLUDED_borogove_calls_OutgoingProposedSession */
diff --git a/Sources/c_borogove/iinclude/borogove/calls/OutgoingSession.h b/Sources/c_borogove/iinclude/borogove/calls/OutgoingSession.h
new file mode 100644
index 0000000..d2f2ddf
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/calls/OutgoingSession.h
@@ -0,0 +1,64 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_calls_OutgoingSession
+#define INCLUDED_borogove_calls_OutgoingSession
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#ifndef INCLUDED_borogove_calls_InitiatedSession
+#include <borogove/calls/InitiatedSession.h>
+#endif
+HX_DECLARE_CLASS1(borogove,Client)
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,calls,InitiatedSession)
+HX_DECLARE_CLASS2(borogove,calls,OutgoingSession)
+HX_DECLARE_CLASS2(borogove,calls,Session)
+HX_DECLARE_CLASS1(thenshim,Thenable)
+
+namespace borogove{
+namespace calls{
+
+
+class HXCPP_CLASS_ATTRIBUTES OutgoingSession_obj : public ::borogove::calls::InitiatedSession_obj
+{
+ public:
+ typedef ::borogove::calls::InitiatedSession_obj super;
+ typedef OutgoingSession_obj OBJ_;
+ OutgoingSession_obj();
+
+ public:
+ enum { _hx_ClassId = 0x119d5382 };
+
+ void __construct( ::borogove::Client client, ::borogove::JID counterpart,::String sid);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.OutgoingSession")
+ { 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.calls.OutgoingSession"); }
+ static ::hx::ObjectPtr< OutgoingSession_obj > __new( ::borogove::Client client, ::borogove::JID counterpart,::String sid);
+ static ::hx::ObjectPtr< OutgoingSession_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::JID counterpart,::String sid);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~OutgoingSession_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_("OutgoingSession",2a,54,07,c9); }
+
+ ::Dynamic onPeerConnection();
+
+ ::borogove::calls::OutgoingSession initiate( ::borogove::Stanza stanza);
+
+ int callStatus();
+
+};
+
+} // end namespace borogove
+} // end namespace calls
+
+#endif /* INCLUDED_borogove_calls_OutgoingSession */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/PeerConnection.h b/Sources/c_borogove/iinclude/borogove/calls/PeerConnection.h
similarity index 83%
rename from Sources/c_snikket/iinclude/snikket/jingle/PeerConnection.h
rename to Sources/c_borogove/iinclude/borogove/calls/PeerConnection.h
index 44a1ee9..7700410 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/PeerConnection.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/PeerConnection.h
@@ -1,6 +1,6 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_PeerConnection
-#define INCLUDED_snikket_jingle_PeerConnection
+#ifndef INCLUDED_borogove_calls_PeerConnection
+#define INCLUDED_borogove_calls_PeerConnection
#ifndef HXCPP_H
#include <hxcpp.h>
@@ -10,16 +10,16 @@
#define INCLUDED_0e487a29b6aa8a9b
#include "rtc/rtc.hpp"
#endif
+HX_DECLARE_CLASS2(borogove,calls,MediaStream)
+HX_DECLARE_CLASS2(borogove,calls,MediaStreamTrack)
+HX_DECLARE_CLASS2(borogove,calls,PeerConnection)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStream)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStreamTrack)
-HX_DECLARE_CLASS2(snikket,jingle,PeerConnection)
HX_DECLARE_CLASS2(sys,thread,EventLoop)
HX_DECLARE_CLASS1(thenshim,Thenable)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES PeerConnection_obj : public ::hx::Object
@@ -30,13 +30,13 @@ class HXCPP_CLASS_ATTRIBUTES PeerConnection_obj : public ::hx::Object
PeerConnection_obj();
public:
- enum { _hx_ClassId = 0x1731230a };
+ enum { _hx_ClassId = 0x12286c28 };
void __construct( ::Dynamic configuration, ::Dynamic constraints);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.PeerConnection")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.PeerConnection")
{ 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,"snikket.jingle.PeerConnection"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.PeerConnection"); }
static ::hx::ObjectPtr< PeerConnection_obj > __new( ::Dynamic configuration, ::Dynamic constraints);
static ::hx::ObjectPtr< PeerConnection_obj > __alloc(::hx::Ctx *_hx_ctx, ::Dynamic configuration, ::Dynamic constraints);
static void * _hx_vtable;
@@ -99,7 +99,7 @@ class HXCPP_CLASS_ATTRIBUTES PeerConnection_obj : public ::hx::Object
void addPendingTracks();
::Dynamic addPendingTracks_dyn();
- void addTrack( ::snikket::jingle::MediaStreamTrack track, ::snikket::jingle::MediaStream stream);
+ void addTrack( ::borogove::calls::MediaStreamTrack track, ::borogove::calls::MediaStream stream);
::Dynamic addTrack_dyn();
::Array< ::Dynamic> getTransceivers();
@@ -113,7 +113,7 @@ class HXCPP_CLASS_ATTRIBUTES PeerConnection_obj : public ::hx::Object
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_PeerConnection */
+#endif /* INCLUDED_borogove_calls_PeerConnection */
diff --git a/Sources/c_borogove/iinclude/borogove/calls/Session.h b/Sources/c_borogove/iinclude/borogove/calls/Session.h
new file mode 100644
index 0000000..d621194
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/calls/Session.h
@@ -0,0 +1,91 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_calls_Session
+#define INCLUDED_borogove_calls_Session
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,calls,DTMFSender)
+HX_DECLARE_CLASS2(borogove,calls,InitiatedSession)
+HX_DECLARE_CLASS2(borogove,calls,MediaStream)
+HX_DECLARE_CLASS2(borogove,calls,MediaStreamTrack)
+HX_DECLARE_CLASS2(borogove,calls,Session)
+HX_DECLARE_CLASS1(thenshim,Thenable)
+
+namespace borogove{
+namespace calls{
+
+
+class HXCPP_CLASS_ATTRIBUTES Session_obj {
+ public:
+ typedef ::hx::Object super;
+ HX_DO_INTERFACE_RTTI;
+
+ ::String (::hx::Object :: *_hx_get_sid)();
+ static inline ::String get_sid( ::Dynamic _hx_) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_get_sid)();
+ }
+ ::String (::hx::Object :: *_hx_get_chatId)();
+ static inline ::String get_chatId( ::Dynamic _hx_) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_get_chatId)();
+ }
+ ::borogove::calls::InitiatedSession (::hx::Object :: *_hx_initiate)( ::borogove::Stanza stanza);
+ static inline ::borogove::calls::InitiatedSession initiate( ::Dynamic _hx_, ::borogove::Stanza stanza) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_initiate)(stanza);
+ }
+ void (::hx::Object :: *_hx_accept)();
+ static inline void accept( ::Dynamic _hx_) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_accept)();
+ }
+ void (::hx::Object :: *_hx_hangup)();
+ static inline void hangup( ::Dynamic _hx_) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_hangup)();
+ }
+ void (::hx::Object :: *_hx_retract)();
+ static inline void retract( ::Dynamic _hx_) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_retract)();
+ }
+ void (::hx::Object :: *_hx_terminate)();
+ static inline void terminate( ::Dynamic _hx_) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_terminate)();
+ }
+ void (::hx::Object :: *_hx_contentAdd)( ::borogove::Stanza stanza);
+ static inline void contentAdd( ::Dynamic _hx_, ::borogove::Stanza stanza) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_contentAdd)(stanza);
+ }
+ void (::hx::Object :: *_hx_contentAccept)( ::borogove::Stanza stanza);
+ static inline void contentAccept( ::Dynamic _hx_, ::borogove::Stanza stanza) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_contentAccept)(stanza);
+ }
+ ::Dynamic (::hx::Object :: *_hx_transportInfo)( ::borogove::Stanza stanza);
+ static inline ::Dynamic transportInfo( ::Dynamic _hx_, ::borogove::Stanza stanza) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_transportInfo)(stanza);
+ }
+ void (::hx::Object :: *_hx_addMedia)(::Array< ::Dynamic> streams);
+ static inline void addMedia( ::Dynamic _hx_,::Array< ::Dynamic> streams) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_addMedia)(streams);
+ }
+ int (::hx::Object :: *_hx_callStatus)();
+ static inline int callStatus( ::Dynamic _hx_) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_callStatus)();
+ }
+ ::Array< ::Dynamic> (::hx::Object :: *_hx_audioTracks)();
+ static inline ::Array< ::Dynamic> audioTracks( ::Dynamic _hx_) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_audioTracks)();
+ }
+ ::Array< ::Dynamic> (::hx::Object :: *_hx_videoTracks)();
+ static inline ::Array< ::Dynamic> videoTracks( ::Dynamic _hx_) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_videoTracks)();
+ }
+ ::borogove::calls::DTMFSender (::hx::Object :: *_hx_dtmf)();
+ static inline ::borogove::calls::DTMFSender dtmf( ::Dynamic _hx_) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::calls::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x36e3eba2)))->_hx_dtmf)();
+ }
+};
+
+} // end namespace borogove
+} // end namespace calls
+
+#endif /* INCLUDED_borogove_calls_Session */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/SessionDescription.h b/Sources/c_borogove/iinclude/borogove/calls/SessionDescription.h
similarity index 66%
rename from Sources/c_snikket/iinclude/snikket/jingle/SessionDescription.h
rename to Sources/c_borogove/iinclude/borogove/calls/SessionDescription.h
index 4529362..50b0026 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/SessionDescription.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/SessionDescription.h
@@ -1,19 +1,18 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_SessionDescription
-#define INCLUDED_snikket_jingle_SessionDescription
+#ifndef INCLUDED_borogove_calls_SessionDescription
+#define INCLUDED_borogove_calls_SessionDescription
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,jingle,Attribute)
-HX_DECLARE_CLASS2(snikket,jingle,Media)
-HX_DECLARE_CLASS2(snikket,jingle,SessionDescription)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,calls,Attribute)
+HX_DECLARE_CLASS2(borogove,calls,Media)
+HX_DECLARE_CLASS2(borogove,calls,SessionDescription)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES SessionDescription_obj : public ::hx::Object
@@ -24,13 +23,13 @@ class HXCPP_CLASS_ATTRIBUTES SessionDescription_obj : public ::hx::Object
SessionDescription_obj();
public:
- enum { _hx_ClassId = 0x24aad8f0 };
+ enum { _hx_ClassId = 0x16c1f9ba };
void __construct(int version,::String name,::Array< ::Dynamic> media,::Array< ::Dynamic> attributes,::Array< ::String > identificationTags);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.SessionDescription")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.SessionDescription")
{ 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,"snikket.jingle.SessionDescription"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.SessionDescription"); }
static ::hx::ObjectPtr< SessionDescription_obj > __new(int version,::String name,::Array< ::Dynamic> media,::Array< ::Dynamic> attributes,::Array< ::String > identificationTags);
static ::hx::ObjectPtr< SessionDescription_obj > __alloc(::hx::Ctx *_hx_ctx,int version,::String name,::Array< ::Dynamic> media,::Array< ::Dynamic> attributes,::Array< ::String > identificationTags);
static void * _hx_vtable;
@@ -49,10 +48,10 @@ class HXCPP_CLASS_ATTRIBUTES SessionDescription_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("SessionDescription",66,e1,61,a3); }
- static ::snikket::jingle::SessionDescription parse(::String input);
+ static ::borogove::calls::SessionDescription parse(::String input);
static ::Dynamic parse_dyn();
- static ::snikket::jingle::SessionDescription fromStanza( ::snikket::Stanza iq,bool initiator, ::snikket::jingle::SessionDescription existingDescription);
+ static ::borogove::calls::SessionDescription fromStanza( ::borogove::Stanza iq,bool initiator, ::borogove::calls::SessionDescription existingDescription);
static ::Dynamic fromStanza_dyn();
int version;
@@ -63,24 +62,24 @@ class HXCPP_CLASS_ATTRIBUTES SessionDescription_obj : public ::hx::Object
::Dynamic getUfragPwd();
::Dynamic getUfragPwd_dyn();
- ::snikket::jingle::Attribute getFingerprint();
+ ::borogove::calls::Attribute getFingerprint();
::Dynamic getFingerprint_dyn();
::String getDtlsSetup();
::Dynamic getDtlsSetup_dyn();
- ::snikket::jingle::SessionDescription addContent( ::snikket::jingle::SessionDescription newDescription);
+ ::borogove::calls::SessionDescription addContent( ::borogove::calls::SessionDescription newDescription);
::Dynamic addContent_dyn();
::String toSdp();
::Dynamic toSdp_dyn();
- ::snikket::Stanza toStanza(::String action,::String sid,bool initiator);
+ ::borogove::Stanza toStanza(::String action,::String sid,bool initiator);
::Dynamic toStanza_dyn();
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_SessionDescription */
+#endif /* INCLUDED_borogove_calls_SessionDescription */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/TransportInfo.h b/Sources/c_borogove/iinclude/borogove/calls/TransportInfo.h
similarity index 56%
rename from Sources/c_snikket/iinclude/snikket/jingle/TransportInfo.h
rename to Sources/c_borogove/iinclude/borogove/calls/TransportInfo.h
index 1af9d00..9aefa7e 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/TransportInfo.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/TransportInfo.h
@@ -1,18 +1,17 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_TransportInfo
-#define INCLUDED_snikket_jingle_TransportInfo
+#ifndef INCLUDED_borogove_calls_TransportInfo
+#define INCLUDED_borogove_calls_TransportInfo
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,jingle,Media)
-HX_DECLARE_CLASS2(snikket,jingle,TransportInfo)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,calls,Media)
+HX_DECLARE_CLASS2(borogove,calls,TransportInfo)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
class HXCPP_CLASS_ATTRIBUTES TransportInfo_obj : public ::hx::Object
@@ -23,15 +22,15 @@ class HXCPP_CLASS_ATTRIBUTES TransportInfo_obj : public ::hx::Object
TransportInfo_obj();
public:
- enum { _hx_ClassId = 0x4c85e215 };
+ enum { _hx_ClassId = 0x327e54c3 };
- void __construct( ::snikket::jingle::Media media,::String sid);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.TransportInfo")
+ void __construct( ::borogove::calls::Media media,::String sid);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.calls.TransportInfo")
{ 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,"snikket.jingle.TransportInfo"); }
- static ::hx::ObjectPtr< TransportInfo_obj > __new( ::snikket::jingle::Media media,::String sid);
- static ::hx::ObjectPtr< TransportInfo_obj > __alloc(::hx::Ctx *_hx_ctx, ::snikket::jingle::Media media,::String sid);
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.calls.TransportInfo"); }
+ static ::hx::ObjectPtr< TransportInfo_obj > __new( ::borogove::calls::Media media,::String sid);
+ static ::hx::ObjectPtr< TransportInfo_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::calls::Media media,::String sid);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -47,14 +46,14 @@ class HXCPP_CLASS_ATTRIBUTES TransportInfo_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("TransportInfo",97,8c,bf,fe); }
- ::snikket::jingle::Media media;
+ ::borogove::calls::Media media;
::String sid;
- ::snikket::Stanza toStanza(bool initiator);
+ ::borogove::Stanza toStanza(bool initiator);
::Dynamic toStanza_dyn();
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
-#endif /* INCLUDED_snikket_jingle_TransportInfo */
+#endif /* INCLUDED_borogove_calls_TransportInfo */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/_Session/Session_Fields_.h b/Sources/c_borogove/iinclude/borogove/calls/_Session/Session_Fields_.h
similarity index 60%
rename from Sources/c_snikket/iinclude/snikket/jingle/_Session/Session_Fields_.h
rename to Sources/c_borogove/iinclude/borogove/calls/_Session/Session_Fields_.h
index 5690ec1..4b1c50a 100644
--- a/Sources/c_snikket/iinclude/snikket/jingle/_Session/Session_Fields_.h
+++ b/Sources/c_borogove/iinclude/borogove/calls/_Session/Session_Fields_.h
@@ -1,19 +1,18 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle__Session_Session_Fields_
-#define INCLUDED_snikket_jingle__Session_Session_Fields_
+#ifndef INCLUDED_borogove_calls__Session_Session_Fields_
+#define INCLUDED_borogove_calls__Session_Session_Fields_
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,ChatMessage)
-HX_DECLARE_CLASS1(snikket,JID)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS3(snikket,jingle,_Session,Session_Fields_)
+HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS3(borogove,calls,_Session,Session_Fields_)
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
namespace _Session{
@@ -25,13 +24,13 @@ class HXCPP_CLASS_ATTRIBUTES Session_Fields__obj : public ::hx::Object
Session_Fields__obj();
public:
- enum { _hx_ClassId = 0x4b7e6858 };
+ enum { _hx_ClassId = 0x2e838196 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket.jingle._Session.Session_Fields_")
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.calls._Session.Session_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,"snikket.jingle._Session.Session_Fields_"); }
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove.calls._Session.Session_Fields_"); }
inline static ::hx::ObjectPtr< Session_Fields__obj > __new() {
::hx::ObjectPtr< Session_Fields__obj > __this = new Session_Fields__obj();
@@ -40,7 +39,7 @@ class HXCPP_CLASS_ATTRIBUTES Session_Fields__obj : public ::hx::Object
}
inline static ::hx::ObjectPtr< Session_Fields__obj > __alloc(::hx::Ctx *_hx_ctx) {
- Session_Fields__obj *__this = (Session_Fields__obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Session_Fields__obj), false, "snikket.jingle._Session.Session_Fields_"));
+ Session_Fields__obj *__this = (Session_Fields__obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Session_Fields__obj), false, "borogove.calls._Session.Session_Fields_"));
*(void **)__this = Session_Fields__obj::_hx_vtable;
return __this;
}
@@ -56,13 +55,13 @@ class HXCPP_CLASS_ATTRIBUTES Session_Fields__obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("Session_Fields_",5d,02,e4,dc); }
- static ::snikket::ChatMessage mkCallMessage( ::snikket::JID to, ::snikket::JID from, ::snikket::Stanza event);
+ static ::borogove::ChatMessage mkCallMessage( ::borogove::JID to, ::borogove::JID from, ::borogove::Stanza event);
static ::Dynamic mkCallMessage_dyn();
};
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
} // end namespace _Session
-#endif /* INCLUDED_snikket_jingle__Session_Session_Fields_ */
+#endif /* INCLUDED_borogove_calls__Session_Session_Fields_ */
diff --git a/Sources/c_borogove/iinclude/borogove/persistence/Dummy.h b/Sources/c_borogove/iinclude/borogove/persistence/Dummy.h
new file mode 100644
index 0000000..dcc2597
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/persistence/Dummy.h
@@ -0,0 +1,135 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_persistence_Dummy
+#define INCLUDED_borogove_persistence_Dummy
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#ifndef INCLUDED_borogove_Persistence
+#include <borogove/Persistence.h>
+#endif
+HX_DECLARE_CLASS1(borogove,Caps)
+HX_DECLARE_CLASS1(borogove,Chat)
+HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,Persistence)
+HX_DECLARE_CLASS1(borogove,ReactionUpdate)
+HX_DECLARE_CLASS2(borogove,persistence,Dummy)
+HX_DECLARE_CLASS1(thenshim,Thenable)
+
+namespace borogove{
+namespace persistence{
+
+
+class HXCPP_CLASS_ATTRIBUTES Dummy_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Dummy_obj OBJ_;
+ Dummy_obj();
+
+ public:
+ enum { _hx_ClassId = 0x79df30ea };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.persistence.Dummy")
+ { 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.persistence.Dummy"); }
+ static ::hx::ObjectPtr< Dummy_obj > __new();
+ static ::hx::ObjectPtr< Dummy_obj > __alloc(::hx::Ctx *_hx_ctx);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Dummy_obj();
+
+ HX_DO_RTTI_ALL;
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ void *_hx_getInterface(int inHash);
+ ::String __ToString() const { return HX_("Dummy",08,7e,e8,74); }
+
+ static void __boot();
+ static ::Dynamic __meta__;
+ ::Dynamic lastId(::String accountId,::String chatId);
+ ::Dynamic lastId_dyn();
+
+ void storeChats(::String accountId,::Array< ::Dynamic> chat);
+ ::Dynamic storeChats_dyn();
+
+ ::Dynamic getChats(::String accountId);
+ ::Dynamic getChats_dyn();
+
+ ::Dynamic storeMessages(::String accountId,::Array< ::Dynamic> messages);
+ ::Dynamic storeMessages_dyn();
+
+ void updateMessage(::String accountId, ::borogove::ChatMessage message);
+ ::Dynamic updateMessage_dyn();
+
+ ::Dynamic getMessage(::String accountId,::String chatId,::String serverId,::String localId);
+ ::Dynamic getMessage_dyn();
+
+ ::Dynamic getMessagesBefore(::String accountId,::String chatId,::String beforeId,::String beforeTime);
+ ::Dynamic getMessagesBefore_dyn();
+
+ ::Dynamic getMessagesAfter(::String accountId,::String chatId,::String afterId,::String afterTime);
+ ::Dynamic getMessagesAfter_dyn();
+
+ ::Dynamic getMessagesAround(::String accountId,::String chatId,::String aroundId,::String aroundTime);
+ ::Dynamic getMessagesAround_dyn();
+
+ ::Dynamic getChatsUnreadDetails(::String accountId,::Array< ::Dynamic> chats);
+ ::Dynamic getChatsUnreadDetails_dyn();
+
+ ::Dynamic storeReaction(::String accountId, ::borogove::ReactionUpdate update);
+ ::Dynamic storeReaction_dyn();
+
+ ::Dynamic updateMessageStatus(::String accountId,::String localId,int status,::String statusText);
+ ::Dynamic updateMessageStatus_dyn();
+
+ ::Dynamic hasMedia(::String hashAlgorithm,::Array< unsigned char > hash);
+ ::Dynamic hasMedia_dyn();
+
+ ::Dynamic storeMedia(::String mime,::Array< unsigned char > bd);
+ ::Dynamic storeMedia_dyn();
+
+ void removeMedia(::String hashAlgorithm,::Array< unsigned char > hash);
+ ::Dynamic removeMedia_dyn();
+
+ void storeCaps( ::borogove::Caps caps);
+ ::Dynamic storeCaps_dyn();
+
+ ::Dynamic getCaps(::String ver);
+ ::Dynamic getCaps_dyn();
+
+ void storeLogin(::String login,::String clientId,::String displayName,::String token);
+ ::Dynamic storeLogin_dyn();
+
+ ::Dynamic getLogin(::String login);
+ ::Dynamic getLogin_dyn();
+
+ void removeAccount(::String accountId,bool completely);
+ ::Dynamic removeAccount_dyn();
+
+ ::Dynamic listAccounts();
+ ::Dynamic listAccounts_dyn();
+
+ void storeStreamManagement(::String accountId,::Array< unsigned char > sm);
+ ::Dynamic storeStreamManagement_dyn();
+
+ ::Dynamic getStreamManagement(::String accountId);
+ ::Dynamic getStreamManagement_dyn();
+
+ void storeService(::String accountId,::String serviceId,::String name,::String node, ::borogove::Caps caps);
+ ::Dynamic storeService_dyn();
+
+ ::Dynamic findServicesWithFeature(::String accountId,::String feature);
+ ::Dynamic findServicesWithFeature_dyn();
+
+};
+
+} // end namespace borogove
+} // end namespace persistence
+
+#endif /* INCLUDED_borogove_persistence_Dummy */
diff --git a/Sources/c_borogove/iinclude/borogove/persistence/KeyValueStore.h b/Sources/c_borogove/iinclude/borogove/persistence/KeyValueStore.h
new file mode 100644
index 0000000..4063733
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/persistence/KeyValueStore.h
@@ -0,0 +1,34 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_persistence_KeyValueStore
+#define INCLUDED_borogove_persistence_KeyValueStore
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(borogove,persistence,KeyValueStore)
+HX_DECLARE_CLASS1(thenshim,Thenable)
+
+namespace borogove{
+namespace persistence{
+
+
+class HXCPP_CLASS_ATTRIBUTES KeyValueStore_obj {
+ public:
+ typedef ::hx::Object super;
+ HX_DO_INTERFACE_RTTI;
+
+ ::Dynamic (::hx::Object :: *_hx_get)(::String k);
+ static inline ::Dynamic get( ::Dynamic _hx_,::String k) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::persistence::KeyValueStore_obj *>(_hx_.mPtr->_hx_getInterface(0x9052f731)))->_hx_get)(k);
+ }
+ ::Dynamic (::hx::Object :: *_hx_set)(::String k,::String v);
+ static inline ::Dynamic set( ::Dynamic _hx_,::String k,::String v) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::persistence::KeyValueStore_obj *>(_hx_.mPtr->_hx_getInterface(0x9052f731)))->_hx_set)(k,v);
+ }
+};
+
+} // end namespace borogove
+} // end namespace persistence
+
+#endif /* INCLUDED_borogove_persistence_KeyValueStore */
diff --git a/Sources/c_borogove/iinclude/borogove/persistence/MediaStore.h b/Sources/c_borogove/iinclude/borogove/persistence/MediaStore.h
new file mode 100644
index 0000000..a19160a
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/persistence/MediaStore.h
@@ -0,0 +1,43 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_persistence_MediaStore
+#define INCLUDED_borogove_persistence_MediaStore
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(borogove,persistence,KeyValueStore)
+HX_DECLARE_CLASS2(borogove,persistence,MediaStore)
+HX_DECLARE_CLASS1(thenshim,Thenable)
+
+namespace borogove{
+namespace persistence{
+
+
+class HXCPP_CLASS_ATTRIBUTES MediaStore_obj {
+ public:
+ typedef ::hx::Object super;
+ HX_DO_INTERFACE_RTTI;
+
+ ::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);
+ }
+ void (::hx::Object :: *_hx_removeMedia)(::String hashAlgorithm,::Array< unsigned char > hash);
+ static inline void removeMedia( ::Dynamic _hx_,::String hashAlgorithm,::Array< unsigned char > hash) {
+ (_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);
+ }
+ void (::hx::Object :: *_hx_setKV)(::Dynamic kv);
+ static inline void setKV( ::Dynamic _hx_,::Dynamic kv) {
+ (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::persistence::MediaStore_obj *>(_hx_.mPtr->_hx_getInterface(0xb3aaad1b)))->_hx_setKV)(kv);
+ }
+};
+
+} // end namespace borogove
+} // end namespace persistence
+
+#endif /* INCLUDED_borogove_persistence_MediaStore */
diff --git a/Sources/c_snikket/iinclude/snikket/persistence/MediaStoreFS.h b/Sources/c_borogove/iinclude/borogove/persistence/MediaStoreFS.h
similarity index 67%
rename from Sources/c_snikket/iinclude/snikket/persistence/MediaStoreFS.h
rename to Sources/c_borogove/iinclude/borogove/persistence/MediaStoreFS.h
index 7ceaaa8..7d2a400 100644
--- a/Sources/c_snikket/iinclude/snikket/persistence/MediaStoreFS.h
+++ b/Sources/c_borogove/iinclude/borogove/persistence/MediaStoreFS.h
@@ -1,20 +1,20 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_persistence_MediaStoreFS
-#define INCLUDED_snikket_persistence_MediaStoreFS
+#ifndef INCLUDED_borogove_persistence_MediaStoreFS
+#define INCLUDED_borogove_persistence_MediaStoreFS
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_persistence_MediaStore
-#include <snikket/persistence/MediaStore.h>
+#ifndef INCLUDED_borogove_persistence_MediaStore
+#include <borogove/persistence/MediaStore.h>
#endif
-HX_DECLARE_CLASS2(snikket,persistence,KeyValueStore)
-HX_DECLARE_CLASS2(snikket,persistence,MediaStore)
-HX_DECLARE_CLASS2(snikket,persistence,MediaStoreFS)
+HX_DECLARE_CLASS2(borogove,persistence,KeyValueStore)
+HX_DECLARE_CLASS2(borogove,persistence,MediaStore)
+HX_DECLARE_CLASS2(borogove,persistence,MediaStoreFS)
HX_DECLARE_CLASS1(thenshim,Thenable)
-namespace snikket{
+namespace borogove{
namespace persistence{
@@ -26,13 +26,13 @@ class HXCPP_CLASS_ATTRIBUTES MediaStoreFS_obj : public ::hx::Object
MediaStoreFS_obj();
public:
- enum { _hx_ClassId = 0x3993cd38 };
+ enum { _hx_ClassId = 0x531fb184 };
void __construct(::String path);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.persistence.MediaStoreFS")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.persistence.MediaStoreFS")
{ 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,"snikket.persistence.MediaStoreFS"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.persistence.MediaStoreFS"); }
static ::hx::ObjectPtr< MediaStoreFS_obj > __new(::String path);
static ::hx::ObjectPtr< MediaStoreFS_obj > __alloc(::hx::Ctx *_hx_ctx,::String path);
static void * _hx_vtable;
@@ -58,18 +58,18 @@ class HXCPP_CLASS_ATTRIBUTES MediaStoreFS_obj : public ::hx::Object
void setKV(::Dynamic kv);
::Dynamic setKV_dyn();
- void getMediaPath(::String uri, ::Dynamic callback);
+ ::Dynamic getMediaPath(::String uri);
::Dynamic getMediaPath_dyn();
- void getMediaPath__fromC(::String uri,::cpp::Function< void (const char*,void*) > callback,void* callback__context);
+ void getMediaPath__fromC(::String uri,::cpp::Function< void (const char*,void*) > handler,void* handler__context);
- void hasMedia(::String hashAlgorithm,::Array< unsigned char > hash, ::Dynamic callback);
+ ::Dynamic hasMedia(::String hashAlgorithm,::Array< unsigned char > hash);
::Dynamic hasMedia_dyn();
void removeMedia(::String hashAlgorithm,::Array< unsigned char > hash);
::Dynamic removeMedia_dyn();
- void storeMedia(::String mime,::Array< unsigned char > bd, ::Dynamic callback);
+ ::Dynamic storeMedia(::String mime,::Array< unsigned char > bd);
::Dynamic storeMedia_dyn();
::Dynamic set(::String k,::String v);
@@ -80,7 +80,7 @@ class HXCPP_CLASS_ATTRIBUTES MediaStoreFS_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace persistence
-#endif /* INCLUDED_snikket_persistence_MediaStoreFS */
+#endif /* INCLUDED_borogove_persistence_MediaStoreFS */
diff --git a/Sources/c_snikket/iinclude/snikket/persistence/Sqlite.h b/Sources/c_borogove/iinclude/borogove/persistence/Sqlite.h
similarity index 58%
rename from Sources/c_snikket/iinclude/snikket/persistence/Sqlite.h
rename to Sources/c_borogove/iinclude/borogove/persistence/Sqlite.h
index 357f83d..50dcfea 100644
--- a/Sources/c_snikket/iinclude/snikket/persistence/Sqlite.h
+++ b/Sources/c_borogove/iinclude/borogove/persistence/Sqlite.h
@@ -1,34 +1,33 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_persistence_Sqlite
-#define INCLUDED_snikket_persistence_Sqlite
+#ifndef INCLUDED_borogove_persistence_Sqlite
+#define INCLUDED_borogove_persistence_Sqlite
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_persistence_KeyValueStore
-#include <snikket/persistence/KeyValueStore.h>
+#ifndef INCLUDED_borogove_persistence_KeyValueStore
+#include <borogove/persistence/KeyValueStore.h>
#endif
-#ifndef INCLUDED_snikket_Persistence
-#include <snikket/Persistence.h>
+#ifndef INCLUDED_borogove_Persistence
+#include <borogove/Persistence.h>
#endif
+HX_DECLARE_CLASS1(borogove,Caps)
+HX_DECLARE_CLASS1(borogove,Chat)
+HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,Persistence)
+HX_DECLARE_CLASS1(borogove,ReactionUpdate)
+HX_DECLARE_CLASS2(borogove,persistence,KeyValueStore)
+HX_DECLARE_CLASS2(borogove,persistence,MediaStore)
+HX_DECLARE_CLASS2(borogove,persistence,Sqlite)
+HX_DECLARE_CLASS2(borogove,persistence,SqliteDriver)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS1(haxe,Timer)
HX_DECLARE_CLASS2(haxe,ds,ObjectMap)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
-HX_DECLARE_CLASS1(snikket,Caps)
-HX_DECLARE_CLASS1(snikket,Chat)
-HX_DECLARE_CLASS1(snikket,ChatMessage)
-HX_DECLARE_CLASS1(snikket,Persistence)
-HX_DECLARE_CLASS1(snikket,ReactionUpdate)
-HX_DECLARE_CLASS1(snikket,SerializedChat)
-HX_DECLARE_CLASS2(snikket,persistence,KeyValueStore)
-HX_DECLARE_CLASS2(snikket,persistence,MediaStore)
-HX_DECLARE_CLASS2(snikket,persistence,Sqlite)
-HX_DECLARE_CLASS2(snikket,persistence,SqliteDriver)
HX_DECLARE_CLASS1(thenshim,Thenable)
-namespace snikket{
+namespace borogove{
namespace persistence{
@@ -40,13 +39,13 @@ class HXCPP_CLASS_ATTRIBUTES Sqlite_obj : public ::hx::Object
Sqlite_obj();
public:
- enum { _hx_ClassId = 0x1fc6c66e };
+ enum { _hx_ClassId = 0x7fdc7ee6 };
void __construct(::String dbfile,::Dynamic media);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.persistence.Sqlite")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.persistence.Sqlite")
{ 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,"snikket.persistence.Sqlite"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.persistence.Sqlite"); }
static ::hx::ObjectPtr< Sqlite_obj > __new(::String dbfile,::Dynamic media);
static ::hx::ObjectPtr< Sqlite_obj > __alloc(::hx::Ctx *_hx_ctx,::String dbfile,::Dynamic media);
static void * _hx_vtable;
@@ -67,15 +66,15 @@ class HXCPP_CLASS_ATTRIBUTES Sqlite_obj : public ::hx::Object
static void __boot();
static ::Dynamic __meta__;
- ::snikket::persistence::SqliteDriver db;
+ ::borogove::persistence::SqliteDriver db;
::Dynamic media;
- void get(::String k, ::Dynamic callback);
+ ::Dynamic get(::String k);
::Dynamic get_dyn();
- void set(::String k,::String v, ::Dynamic callback);
+ ::Dynamic set(::String k,::String v);
::Dynamic set_dyn();
- void lastId(::String accountId,::String chatId, ::Dynamic callback);
+ ::Dynamic lastId(::String accountId,::String chatId);
::Dynamic lastId_dyn();
::haxe::ds::StringMap storeChatBuffer;
@@ -83,85 +82,85 @@ class HXCPP_CLASS_ATTRIBUTES Sqlite_obj : public ::hx::Object
void storeChats(::String accountId,::Array< ::Dynamic> chats);
::Dynamic storeChats_dyn();
- void getChats(::String accountId, ::Dynamic callback);
+ ::Dynamic getChats(::String accountId);
::Dynamic getChats_dyn();
- void storeMessages(::String accountId,::Array< ::Dynamic> messages, ::Dynamic callback);
+ ::Dynamic storeMessages(::String accountId,::Array< ::Dynamic> messages);
::Dynamic storeMessages_dyn();
- void updateMessage(::String accountId, ::snikket::ChatMessage message);
+ void updateMessage(::String accountId, ::borogove::ChatMessage message);
::Dynamic updateMessage_dyn();
- void getMessage(::String accountId,::String chatId,::String serverId,::String localId, ::Dynamic callback);
+ ::Dynamic getMessage(::String accountId,::String chatId,::String serverId,::String localId);
::Dynamic getMessage_dyn();
- void getMessage__fromC(::String accountId,::String chatId,::String serverId,::String localId,::cpp::Function< void (void*,void*) > callback,void* callback__context);
+ void getMessage__fromC(::String accountId,::String chatId,::String serverId,::String localId,::cpp::Function< void (void*,void*) > handler,void* handler__context);
::Dynamic getMessages(::String accountId,::String chatId,::String time,::String op);
::Dynamic getMessages_dyn();
- void getMessagesBefore(::String accountId,::String chatId,::String beforeId,::String beforeTime, ::Dynamic callback);
+ ::Dynamic getMessagesBefore(::String accountId,::String chatId,::String beforeId,::String beforeTime);
::Dynamic getMessagesBefore_dyn();
- void getMessagesAfter(::String accountId,::String chatId,::String afterId,::String afterTime, ::Dynamic callback);
+ ::Dynamic getMessagesAfter(::String accountId,::String chatId,::String afterId,::String afterTime);
::Dynamic getMessagesAfter_dyn();
- void getMessagesAround(::String accountId,::String chatId,::String aroundId,::String aroundTime, ::Dynamic callback);
+ ::Dynamic getMessagesAround(::String accountId,::String chatId,::String aroundId,::String aroundTime);
::Dynamic getMessagesAround_dyn();
- void getChatsUnreadDetails(::String accountId,::Array< ::Dynamic> chats, ::Dynamic callback);
+ ::Dynamic getChatsUnreadDetails(::String accountId,::Array< ::Dynamic> chats);
::Dynamic getChatsUnreadDetails_dyn();
- void storeReaction(::String accountId, ::snikket::ReactionUpdate update, ::Dynamic callback);
+ ::Dynamic storeReaction(::String accountId, ::borogove::ReactionUpdate update);
::Dynamic storeReaction_dyn();
- void updateMessageStatus(::String accountId,::String localId,int status, ::Dynamic callback);
+ ::Dynamic updateMessageStatus(::String accountId,::String localId,int status,::String statusText);
::Dynamic updateMessageStatus_dyn();
- void hasMedia(::String hashAlgorithm,::Array< unsigned char > hash, ::Dynamic callback);
+ ::Dynamic hasMedia(::String hashAlgorithm,::Array< unsigned char > hash);
::Dynamic hasMedia_dyn();
void removeMedia(::String hashAlgorithm,::Array< unsigned char > hash);
::Dynamic removeMedia_dyn();
- void storeMedia(::String mime,::Array< unsigned char > bd, ::Dynamic callback);
+ ::Dynamic storeMedia(::String mime,::Array< unsigned char > bd);
::Dynamic storeMedia_dyn();
- void storeCaps( ::snikket::Caps caps);
+ void storeCaps( ::borogove::Caps caps);
::Dynamic storeCaps_dyn();
void storeCapsSet( ::haxe::ds::ObjectMap capsSet);
::Dynamic storeCapsSet_dyn();
- void getCaps(::String ver, ::Dynamic callback);
+ ::Dynamic getCaps(::String ver);
::Dynamic getCaps_dyn();
void storeLogin(::String accountId,::String clientId,::String displayName,::String token);
::Dynamic storeLogin_dyn();
- void getLogin(::String accountId, ::Dynamic callback);
+ ::Dynamic getLogin(::String accountId);
::Dynamic getLogin_dyn();
void removeAccount(::String accountId,bool completely);
::Dynamic removeAccount_dyn();
- void listAccounts( ::Dynamic callback);
+ ::Dynamic listAccounts();
::Dynamic listAccounts_dyn();
- void listAccounts__fromC(::cpp::Function< void (const char**,size_t,void*) > callback,void* callback__context);
+ void listAccounts__fromC(::cpp::Function< void (const char**,size_t,void*) > handler,void* handler__context);
bool smStoreInProgress;
::Array< unsigned char > smStoreNext;
void storeStreamManagement(::String accountId,::Array< unsigned char > sm);
::Dynamic storeStreamManagement_dyn();
- void getStreamManagement(::String accountId, ::Dynamic callback);
+ ::Dynamic getStreamManagement(::String accountId);
::Dynamic getStreamManagement_dyn();
- void storeService(::String accountId,::String serviceId,::String name,::String node, ::snikket::Caps caps);
+ void storeService(::String accountId,::String serviceId,::String name,::String node, ::borogove::Caps caps);
::Dynamic storeService_dyn();
- void findServicesWithFeature(::String accountId,::String feature, ::Dynamic callback);
+ ::Dynamic findServicesWithFeature(::String accountId,::String feature);
::Dynamic findServicesWithFeature_dyn();
::Dynamic hydrateReactions(::String accountId,::Array< ::Dynamic> messages);
@@ -176,9 +175,12 @@ class HXCPP_CLASS_ATTRIBUTES Sqlite_obj : public ::hx::Object
::Array< ::Dynamic> hydrateMessages(::String accountId, ::Dynamic rows);
::Dynamic hydrateMessages_dyn();
+ ::borogove::Caps hydrateCaps( ::Dynamic o,::Array< unsigned char > ver);
+ ::Dynamic hydrateCaps_dyn();
+
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace persistence
-#endif /* INCLUDED_snikket_persistence_Sqlite */
+#endif /* INCLUDED_borogove_persistence_Sqlite */
diff --git a/Sources/c_snikket/iinclude/snikket/persistence/SqliteDriver.h b/Sources/c_borogove/iinclude/borogove/persistence/SqliteDriver.h
similarity index 79%
rename from Sources/c_snikket/iinclude/snikket/persistence/SqliteDriver.h
rename to Sources/c_borogove/iinclude/borogove/persistence/SqliteDriver.h
index c6e6e81..643c9af 100644
--- a/Sources/c_snikket/iinclude/snikket/persistence/SqliteDriver.h
+++ b/Sources/c_borogove/iinclude/borogove/persistence/SqliteDriver.h
@@ -1,19 +1,18 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_persistence_SqliteDriver
-#define INCLUDED_snikket_persistence_SqliteDriver
+#ifndef INCLUDED_borogove_persistence_SqliteDriver
+#define INCLUDED_borogove_persistence_SqliteDriver
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS2(snikket,persistence,SqliteDriver)
+HX_DECLARE_CLASS2(borogove,persistence,SqliteDriver)
HX_DECLARE_CLASS2(sys,db,Connection)
HX_DECLARE_CLASS2(sys,thread,Deque)
-HX_DECLARE_CLASS2(sys,thread,EventLoop)
HX_DECLARE_CLASS2(sys,thread,IThreadPool)
HX_DECLARE_CLASS1(thenshim,Thenable)
-namespace snikket{
+namespace borogove{
namespace persistence{
@@ -25,13 +24,13 @@ class HXCPP_CLASS_ATTRIBUTES SqliteDriver_obj : public ::hx::Object
SqliteDriver_obj();
public:
- enum { _hx_ClassId = 0x0672539a };
+ enum { _hx_ClassId = 0x35b461ca };
void __construct(::String dbfile, ::Dynamic migrate);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.persistence.SqliteDriver")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.persistence.SqliteDriver")
{ 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,"snikket.persistence.SqliteDriver"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.persistence.SqliteDriver"); }
static ::hx::ObjectPtr< SqliteDriver_obj > __new(::String dbfile, ::Dynamic migrate);
static ::hx::ObjectPtr< SqliteDriver_obj > __alloc(::hx::Ctx *_hx_ctx,::String dbfile, ::Dynamic migrate);
static void * _hx_vtable;
@@ -56,7 +55,6 @@ class HXCPP_CLASS_ATTRIBUTES SqliteDriver_obj : public ::hx::Object
::Dynamic ready;
::Dynamic setReady;
Dynamic setReady_dyn() { return setReady;}
- ::sys::thread::EventLoop mainLoop;
::Dynamic execute(::Dynamic pool,::Array< ::String > qs,::cpp::VirtualArray params);
::Dynamic execute_dyn();
@@ -68,7 +66,7 @@ class HXCPP_CLASS_ATTRIBUTES SqliteDriver_obj : public ::hx::Object
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace persistence
-#endif /* INCLUDED_snikket_persistence_SqliteDriver */
+#endif /* INCLUDED_borogove_persistence_SqliteDriver */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/BlocklistGet.h b/Sources/c_borogove/iinclude/borogove/queries/BlocklistGet.h
similarity index 59%
rename from Sources/c_snikket/iinclude/snikket/queries/BlocklistGet.h
rename to Sources/c_borogove/iinclude/borogove/queries/BlocklistGet.h
index ab498fe..243c197 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/BlocklistGet.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/BlocklistGet.h
@@ -1,38 +1,37 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_BlocklistGet
-#define INCLUDED_snikket_queries_BlocklistGet
+#ifndef INCLUDED_borogove_queries_BlocklistGet
+#define INCLUDED_borogove_queries_BlocklistGet
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,BlocklistGet)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,BlocklistGet)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
-namespace snikket{
+namespace borogove{
namespace queries{
-class HXCPP_CLASS_ATTRIBUTES BlocklistGet_obj : public ::snikket::queries::GenericQuery_obj
+class HXCPP_CLASS_ATTRIBUTES BlocklistGet_obj : public ::borogove::queries::GenericQuery_obj
{
public:
- typedef ::snikket::queries::GenericQuery_obj super;
+ typedef ::borogove::queries::GenericQuery_obj super;
typedef BlocklistGet_obj OBJ_;
BlocklistGet_obj();
public:
- enum { _hx_ClassId = 0x60103714 };
+ enum { _hx_ClassId = 0x1dd1c4c4 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.BlocklistGet")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.BlocklistGet")
{ 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,"snikket.queries.BlocklistGet"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.BlocklistGet"); }
static ::hx::ObjectPtr< BlocklistGet_obj > __new();
static ::hx::ObjectPtr< BlocklistGet_obj > __alloc(::hx::Ctx *_hx_ctx);
static void * _hx_vtable;
@@ -52,16 +51,16 @@ class HXCPP_CLASS_ATTRIBUTES BlocklistGet_obj : public ::snikket::queries::Gene
::String xmlns;
::String queryId;
- ::snikket::Stanza responseStanza;
+ ::borogove::Stanza responseStanza;
::Array< ::String > result;
- void handleResponse( ::snikket::Stanza stanza);
+ void handleResponse( ::borogove::Stanza stanza);
::Array< ::String > getResult();
::Dynamic getResult_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_BlocklistGet */
+#endif /* INCLUDED_borogove_queries_BlocklistGet */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/BoB.h b/Sources/c_borogove/iinclude/borogove/queries/BoB.h
similarity index 60%
rename from Sources/c_snikket/iinclude/snikket/queries/BoB.h
rename to Sources/c_borogove/iinclude/borogove/queries/BoB.h
index a2bd8ec..b65f72e 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/BoB.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/BoB.h
@@ -1,39 +1,38 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_BoB
-#define INCLUDED_snikket_queries_BoB
+#ifndef INCLUDED_borogove_queries_BoB
+#define INCLUDED_borogove_queries_BoB
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DECLARE_CLASS1(snikket,Hash)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,BoB)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
+HX_DECLARE_CLASS1(borogove,Hash)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,BoB)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
-namespace snikket{
+namespace borogove{
namespace queries{
-class HXCPP_CLASS_ATTRIBUTES BoB_obj : public ::snikket::queries::GenericQuery_obj
+class HXCPP_CLASS_ATTRIBUTES BoB_obj : public ::borogove::queries::GenericQuery_obj
{
public:
- typedef ::snikket::queries::GenericQuery_obj super;
+ typedef ::borogove::queries::GenericQuery_obj super;
typedef BoB_obj OBJ_;
BoB_obj();
public:
- enum { _hx_ClassId = 0x6fef110c };
+ enum { _hx_ClassId = 0x54dcd430 };
void __construct(::String to,::String uri);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.BoB")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.BoB")
{ 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,"snikket.queries.BoB"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.BoB"); }
static ::hx::ObjectPtr< BoB_obj > __new(::String to,::String uri);
static ::hx::ObjectPtr< BoB_obj > __alloc(::hx::Ctx *_hx_ctx,::String to,::String uri);
static void * _hx_vtable;
@@ -52,21 +51,21 @@ class HXCPP_CLASS_ATTRIBUTES BoB_obj : public ::snikket::queries::GenericQuery_
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("BoB",b5,75,32,00); }
- static ::snikket::queries::BoB forHash(::String to, ::snikket::Hash hash);
+ static ::borogove::queries::BoB forHash(::String to, ::borogove::Hash hash);
static ::Dynamic forHash_dyn();
::String xmlns;
::String queryId;
- ::snikket::Stanza responseStanza;
+ ::borogove::Stanza responseStanza;
::Dynamic result;
- void handleResponse( ::snikket::Stanza stanza);
+ void handleResponse( ::borogove::Stanza stanza);
::Dynamic getResult();
::Dynamic getResult_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_BoB */
+#endif /* INCLUDED_borogove_queries_BoB */
diff --git a/Sources/c_borogove/iinclude/borogove/queries/CommandExecute.h b/Sources/c_borogove/iinclude/borogove/queries/CommandExecute.h
new file mode 100644
index 0000000..edeb2f7
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/queries/CommandExecute.h
@@ -0,0 +1,74 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_queries_CommandExecute
+#define INCLUDED_borogove_queries_CommandExecute
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
+#endif
+HX_DECLARE_CLASS1(borogove,Command)
+HX_DECLARE_CLASS1(borogove,CommandSession)
+HX_DECLARE_CLASS1(borogove,Form)
+HX_DECLARE_CLASS1(borogove,FormSection)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,CommandExecute)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
+
+namespace borogove{
+namespace queries{
+
+
+class HXCPP_CLASS_ATTRIBUTES CommandExecute_obj : public ::borogove::queries::GenericQuery_obj
+{
+ public:
+ typedef ::borogove::queries::GenericQuery_obj super;
+ typedef CommandExecute_obj OBJ_;
+ CommandExecute_obj();
+
+ public:
+ enum { _hx_ClassId = 0x58ddf1af };
+
+ void __construct(::String to,::String node,::String action,::String sessionid, ::borogove::Stanza payload);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.CommandExecute")
+ { 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.CommandExecute"); }
+ static ::hx::ObjectPtr< CommandExecute_obj > __new(::String to,::String node,::String action,::String sessionid, ::borogove::Stanza payload);
+ static ::hx::ObjectPtr< CommandExecute_obj > __alloc(::hx::Ctx *_hx_ctx,::String to,::String node,::String action,::String sessionid, ::borogove::Stanza payload);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~CommandExecute_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_("CommandExecute",4a,e4,0d,80); }
+
+ ::String xmlns;
+ ::String queryId;
+ ::borogove::Stanza responseStanza;
+ ::borogove::CommandSession result;
+ ::String node;
+ void handleResponse( ::borogove::Stanza stanza);
+
+ ::borogove::CommandSession getResult( ::borogove::Command command);
+ ::Dynamic getResult_dyn();
+
+ ::Array< ::Dynamic> forms(::Array< ::Dynamic> els);
+ ::Dynamic forms_dyn();
+
+};
+
+} // end namespace borogove
+} // end namespace queries
+
+#endif /* INCLUDED_borogove_queries_CommandExecute */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/DiscoInfoGet.h b/Sources/c_borogove/iinclude/borogove/queries/DiscoInfoGet.h
similarity index 57%
rename from Sources/c_snikket/iinclude/snikket/queries/DiscoInfoGet.h
rename to Sources/c_borogove/iinclude/borogove/queries/DiscoInfoGet.h
index cb69a82..c54dc59 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/DiscoInfoGet.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/DiscoInfoGet.h
@@ -1,39 +1,38 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_DiscoInfoGet
-#define INCLUDED_snikket_queries_DiscoInfoGet
+#ifndef INCLUDED_borogove_queries_DiscoInfoGet
+#define INCLUDED_borogove_queries_DiscoInfoGet
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DECLARE_CLASS1(snikket,Caps)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,DiscoInfoGet)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
+HX_DECLARE_CLASS1(borogove,Caps)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,DiscoInfoGet)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
-namespace snikket{
+namespace borogove{
namespace queries{
-class HXCPP_CLASS_ATTRIBUTES DiscoInfoGet_obj : public ::snikket::queries::GenericQuery_obj
+class HXCPP_CLASS_ATTRIBUTES DiscoInfoGet_obj : public ::borogove::queries::GenericQuery_obj
{
public:
- typedef ::snikket::queries::GenericQuery_obj super;
+ typedef ::borogove::queries::GenericQuery_obj super;
typedef DiscoInfoGet_obj OBJ_;
DiscoInfoGet_obj();
public:
- enum { _hx_ClassId = 0x17bd6e57 };
+ enum { _hx_ClassId = 0x70f826b3 };
void __construct(::String to,::String node);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.DiscoInfoGet")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.DiscoInfoGet")
{ 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,"snikket.queries.DiscoInfoGet"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.DiscoInfoGet"); }
static ::hx::ObjectPtr< DiscoInfoGet_obj > __new(::String to,::String node);
static ::hx::ObjectPtr< DiscoInfoGet_obj > __alloc(::hx::Ctx *_hx_ctx,::String to,::String node);
static void * _hx_vtable;
@@ -53,16 +52,16 @@ class HXCPP_CLASS_ATTRIBUTES DiscoInfoGet_obj : public ::snikket::queries::Gene
::String xmlns;
::String queryId;
- ::snikket::Stanza responseStanza;
- ::snikket::Caps result;
- void handleResponse( ::snikket::Stanza stanza);
+ ::borogove::Stanza responseStanza;
+ ::borogove::Caps result;
+ void handleResponse( ::borogove::Stanza stanza);
- ::snikket::Caps getResult();
+ ::borogove::Caps getResult();
::Dynamic getResult_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_DiscoInfoGet */
+#endif /* INCLUDED_borogove_queries_DiscoInfoGet */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/DiscoItemsGet.h b/Sources/c_borogove/iinclude/borogove/queries/DiscoItemsGet.h
similarity index 60%
rename from Sources/c_snikket/iinclude/snikket/queries/DiscoItemsGet.h
rename to Sources/c_borogove/iinclude/borogove/queries/DiscoItemsGet.h
index 8096b9e..92ee5cf 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/DiscoItemsGet.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/DiscoItemsGet.h
@@ -1,38 +1,37 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_DiscoItemsGet
-#define INCLUDED_snikket_queries_DiscoItemsGet
+#ifndef INCLUDED_borogove_queries_DiscoItemsGet
+#define INCLUDED_borogove_queries_DiscoItemsGet
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,DiscoItemsGet)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,DiscoItemsGet)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
-namespace snikket{
+namespace borogove{
namespace queries{
-class HXCPP_CLASS_ATTRIBUTES DiscoItemsGet_obj : public ::snikket::queries::GenericQuery_obj
+class HXCPP_CLASS_ATTRIBUTES DiscoItemsGet_obj : public ::borogove::queries::GenericQuery_obj
{
public:
- typedef ::snikket::queries::GenericQuery_obj super;
+ typedef ::borogove::queries::GenericQuery_obj super;
typedef DiscoItemsGet_obj OBJ_;
DiscoItemsGet_obj();
public:
- enum { _hx_ClassId = 0x3759f407 };
+ enum { _hx_ClassId = 0x21fc7d8f };
void __construct(::String to,::String node);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.DiscoItemsGet")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.DiscoItemsGet")
{ 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,"snikket.queries.DiscoItemsGet"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.DiscoItemsGet"); }
static ::hx::ObjectPtr< DiscoItemsGet_obj > __new(::String to,::String node);
static ::hx::ObjectPtr< DiscoItemsGet_obj > __alloc(::hx::Ctx *_hx_ctx,::String to,::String node);
static void * _hx_vtable;
@@ -52,16 +51,16 @@ class HXCPP_CLASS_ATTRIBUTES DiscoItemsGet_obj : public ::snikket::queries::Gen
::String xmlns;
::String queryId;
- ::snikket::Stanza responseStanza;
+ ::borogove::Stanza responseStanza;
::Array< ::Dynamic> result;
- void handleResponse( ::snikket::Stanza stanza);
+ void handleResponse( ::borogove::Stanza stanza);
::Array< ::Dynamic> getResult();
::Dynamic getResult_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_DiscoItemsGet */
+#endif /* INCLUDED_borogove_queries_DiscoItemsGet */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/ExtDiscoGet.h b/Sources/c_borogove/iinclude/borogove/queries/ExtDiscoGet.h
similarity index 60%
rename from Sources/c_snikket/iinclude/snikket/queries/ExtDiscoGet.h
rename to Sources/c_borogove/iinclude/borogove/queries/ExtDiscoGet.h
index 7f2afdc..267a896 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/ExtDiscoGet.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/ExtDiscoGet.h
@@ -1,38 +1,37 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_ExtDiscoGet
-#define INCLUDED_snikket_queries_ExtDiscoGet
+#ifndef INCLUDED_borogove_queries_ExtDiscoGet
+#define INCLUDED_borogove_queries_ExtDiscoGet
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,ExtDiscoGet)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,ExtDiscoGet)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
-namespace snikket{
+namespace borogove{
namespace queries{
-class HXCPP_CLASS_ATTRIBUTES ExtDiscoGet_obj : public ::snikket::queries::GenericQuery_obj
+class HXCPP_CLASS_ATTRIBUTES ExtDiscoGet_obj : public ::borogove::queries::GenericQuery_obj
{
public:
- typedef ::snikket::queries::GenericQuery_obj super;
+ typedef ::borogove::queries::GenericQuery_obj super;
typedef ExtDiscoGet_obj OBJ_;
ExtDiscoGet_obj();
public:
- enum { _hx_ClassId = 0x5f97d134 };
+ enum { _hx_ClassId = 0x06735858 };
void __construct(::String to);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.ExtDiscoGet")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.ExtDiscoGet")
{ 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,"snikket.queries.ExtDiscoGet"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.ExtDiscoGet"); }
static ::hx::ObjectPtr< ExtDiscoGet_obj > __new(::String to);
static ::hx::ObjectPtr< ExtDiscoGet_obj > __alloc(::hx::Ctx *_hx_ctx,::String to);
static void * _hx_vtable;
@@ -52,16 +51,16 @@ class HXCPP_CLASS_ATTRIBUTES ExtDiscoGet_obj : public ::snikket::queries::Gener
::String xmlns;
::String queryId;
- ::snikket::Stanza responseStanza;
+ ::borogove::Stanza responseStanza;
::Array< ::Dynamic> result;
- void handleResponse( ::snikket::Stanza stanza);
+ void handleResponse( ::borogove::Stanza stanza);
::Array< ::Dynamic> getResult();
::Dynamic getResult_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_ExtDiscoGet */
+#endif /* INCLUDED_borogove_queries_ExtDiscoGet */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/GenericQuery.h b/Sources/c_borogove/iinclude/borogove/queries/GenericQuery.h
similarity index 66%
rename from Sources/c_snikket/iinclude/snikket/queries/GenericQuery.h
rename to Sources/c_borogove/iinclude/borogove/queries/GenericQuery.h
index b2b72e1..50457c6 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/GenericQuery.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/GenericQuery.h
@@ -1,16 +1,15 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#define INCLUDED_snikket_queries_GenericQuery
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#define INCLUDED_borogove_queries_GenericQuery
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
-namespace snikket{
+namespace borogove{
namespace queries{
@@ -22,13 +21,13 @@ class HXCPP_CLASS_ATTRIBUTES GenericQuery_obj : public ::hx::Object
GenericQuery_obj();
public:
- enum { _hx_ClassId = 0x22eda35a };
+ enum { _hx_ClassId = 0x7c285bb6 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.GenericQuery")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.GenericQuery")
{ 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,"snikket.queries.GenericQuery"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.GenericQuery"); }
//~GenericQuery_obj();
@@ -42,24 +41,24 @@ class HXCPP_CLASS_ATTRIBUTES GenericQuery_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("GenericQuery",91,e1,46,fa); }
- ::snikket::Stanza queryStanza;
+ ::borogove::Stanza queryStanza;
::Dynamic handleFinished;
Dynamic handleFinished_dyn() { return handleFinished;}
bool isFinished;
- ::snikket::Stanza getQueryStanza();
+ ::borogove::Stanza getQueryStanza();
::Dynamic getQueryStanza_dyn();
void finish();
::Dynamic finish_dyn();
- virtual void handleResponse( ::snikket::Stanza response) {}
+ virtual void handleResponse( ::borogove::Stanza response) {}
::Dynamic handleResponse_dyn();
void onFinished( ::Dynamic handler);
::Dynamic onFinished_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_GenericQuery */
+#endif /* INCLUDED_borogove_queries_GenericQuery */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/HttpUploadSlot.h b/Sources/c_borogove/iinclude/borogove/queries/HttpUploadSlot.h
similarity index 62%
rename from Sources/c_snikket/iinclude/snikket/queries/HttpUploadSlot.h
rename to Sources/c_borogove/iinclude/borogove/queries/HttpUploadSlot.h
index 883512b..e26e102 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/HttpUploadSlot.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/HttpUploadSlot.h
@@ -1,39 +1,38 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_HttpUploadSlot
-#define INCLUDED_snikket_queries_HttpUploadSlot
+#ifndef INCLUDED_borogove_queries_HttpUploadSlot
+#define INCLUDED_borogove_queries_HttpUploadSlot
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DECLARE_CLASS1(snikket,Hash)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
-HX_DECLARE_CLASS2(snikket,queries,HttpUploadSlot)
+HX_DECLARE_CLASS1(borogove,Hash)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
+HX_DECLARE_CLASS2(borogove,queries,HttpUploadSlot)
-namespace snikket{
+namespace borogove{
namespace queries{
-class HXCPP_CLASS_ATTRIBUTES HttpUploadSlot_obj : public ::snikket::queries::GenericQuery_obj
+class HXCPP_CLASS_ATTRIBUTES HttpUploadSlot_obj : public ::borogove::queries::GenericQuery_obj
{
public:
- typedef ::snikket::queries::GenericQuery_obj super;
+ typedef ::borogove::queries::GenericQuery_obj super;
typedef HttpUploadSlot_obj OBJ_;
HttpUploadSlot_obj();
public:
- enum { _hx_ClassId = 0x1883dc70 };
+ enum { _hx_ClassId = 0x402263cc };
void __construct(::String to,::String filename,int size,::String mime,::Array< ::Dynamic> hashes);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.HttpUploadSlot")
+ 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,"snikket.queries.HttpUploadSlot"); }
+ { 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 void * _hx_vtable;
@@ -53,16 +52,16 @@ class HXCPP_CLASS_ATTRIBUTES HttpUploadSlot_obj : public ::snikket::queries::Ge
::String xmlns;
::String queryId;
- ::snikket::Stanza responseStanza;
+ ::borogove::Stanza responseStanza;
::Dynamic result;
- void handleResponse( ::snikket::Stanza stanza);
+ void handleResponse( ::borogove::Stanza stanza);
::Dynamic getResult();
::Dynamic getResult_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_HttpUploadSlot */
+#endif /* INCLUDED_borogove_queries_HttpUploadSlot */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/JabberIqGatewayGet.h b/Sources/c_borogove/iinclude/borogove/queries/JabberIqGatewayGet.h
similarity index 63%
rename from Sources/c_snikket/iinclude/snikket/queries/JabberIqGatewayGet.h
rename to Sources/c_borogove/iinclude/borogove/queries/JabberIqGatewayGet.h
index 9c76c99..93fcb80 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/JabberIqGatewayGet.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/JabberIqGatewayGet.h
@@ -1,39 +1,38 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_JabberIqGatewayGet
-#define INCLUDED_snikket_queries_JabberIqGatewayGet
+#ifndef INCLUDED_borogove_queries_JabberIqGatewayGet
+#define INCLUDED_borogove_queries_JabberIqGatewayGet
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#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,JabberIqGatewayGet)
HX_DECLARE_CLASS2(haxe,ds,Either)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
-HX_DECLARE_CLASS2(snikket,queries,JabberIqGatewayGet)
-namespace snikket{
+namespace borogove{
namespace queries{
-class HXCPP_CLASS_ATTRIBUTES JabberIqGatewayGet_obj : public ::snikket::queries::GenericQuery_obj
+class HXCPP_CLASS_ATTRIBUTES JabberIqGatewayGet_obj : public ::borogove::queries::GenericQuery_obj
{
public:
- typedef ::snikket::queries::GenericQuery_obj super;
+ typedef ::borogove::queries::GenericQuery_obj super;
typedef JabberIqGatewayGet_obj OBJ_;
JabberIqGatewayGet_obj();
public:
- enum { _hx_ClassId = 0x3942ef8b };
+ enum { _hx_ClassId = 0x187e659f };
void __construct(::String to,::String prompt);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.JabberIqGatewayGet")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.JabberIqGatewayGet")
{ 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,"snikket.queries.JabberIqGatewayGet"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.JabberIqGatewayGet"); }
static ::hx::ObjectPtr< JabberIqGatewayGet_obj > __new(::String to,::String prompt);
static ::hx::ObjectPtr< JabberIqGatewayGet_obj > __alloc(::hx::Ctx *_hx_ctx,::String to,::String prompt);
static void * _hx_vtable;
@@ -53,16 +52,16 @@ class HXCPP_CLASS_ATTRIBUTES JabberIqGatewayGet_obj : public ::snikket::queries
::String xmlns;
::String queryId;
- ::snikket::Stanza responseStanza;
+ ::borogove::Stanza responseStanza;
::haxe::ds::Either result;
- void handleResponse( ::snikket::Stanza stanza);
+ void handleResponse( ::borogove::Stanza stanza);
::haxe::ds::Either getResult();
::Dynamic getResult_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_JabberIqGatewayGet */
+#endif /* INCLUDED_borogove_queries_JabberIqGatewayGet */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/MAMQuery.h b/Sources/c_borogove/iinclude/borogove/queries/MAMQuery.h
similarity index 64%
rename from Sources/c_snikket/iinclude/snikket/queries/MAMQuery.h
rename to Sources/c_borogove/iinclude/borogove/queries/MAMQuery.h
index c3abe95..09b1677 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/MAMQuery.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/MAMQuery.h
@@ -1,38 +1,37 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_MAMQuery
-#define INCLUDED_snikket_queries_MAMQuery
+#ifndef INCLUDED_borogove_queries_MAMQuery
+#define INCLUDED_borogove_queries_MAMQuery
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
-HX_DECLARE_CLASS2(snikket,queries,MAMQuery)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
+HX_DECLARE_CLASS2(borogove,queries,MAMQuery)
-namespace snikket{
+namespace borogove{
namespace queries{
-class HXCPP_CLASS_ATTRIBUTES MAMQuery_obj : public ::snikket::queries::GenericQuery_obj
+class HXCPP_CLASS_ATTRIBUTES MAMQuery_obj : public ::borogove::queries::GenericQuery_obj
{
public:
- typedef ::snikket::queries::GenericQuery_obj super;
+ typedef ::borogove::queries::GenericQuery_obj super;
typedef MAMQuery_obj OBJ_;
MAMQuery_obj();
public:
- enum { _hx_ClassId = 0x3d2643e0 };
+ enum { _hx_ClassId = 0x1b8d1cc8 };
void __construct( ::Dynamic params,::String jid);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.MAMQuery")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.MAMQuery")
{ 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,"snikket.queries.MAMQuery"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.MAMQuery"); }
static ::hx::ObjectPtr< MAMQuery_obj > __new( ::Dynamic params,::String jid);
static ::hx::ObjectPtr< MAMQuery_obj > __alloc(::hx::Ctx *_hx_ctx, ::Dynamic params,::String jid);
static void * _hx_vtable;
@@ -52,7 +51,7 @@ class HXCPP_CLASS_ATTRIBUTES MAMQuery_obj : public ::snikket::queries::GenericQ
::String xmlns;
::String queryId;
- ::snikket::Stanza responseStanza;
+ ::borogove::Stanza responseStanza;
::Dynamic result;
void addStringField(::String name,::String value);
::Dynamic addStringField_dyn();
@@ -60,14 +59,14 @@ class HXCPP_CLASS_ATTRIBUTES MAMQuery_obj : public ::snikket::queries::GenericQ
void addArrayField(::String name,::Array< ::String > values);
::Dynamic addArrayField_dyn();
- void handleResponse( ::snikket::Stanza stanza);
+ void handleResponse( ::borogove::Stanza stanza);
::Dynamic getResult();
::Dynamic getResult_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_MAMQuery */
+#endif /* INCLUDED_borogove_queries_MAMQuery */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/PubsubGet.h b/Sources/c_borogove/iinclude/borogove/queries/PubsubGet.h
similarity index 62%
rename from Sources/c_snikket/iinclude/snikket/queries/PubsubGet.h
rename to Sources/c_borogove/iinclude/borogove/queries/PubsubGet.h
index 0765cc8..759e1e1 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/PubsubGet.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/PubsubGet.h
@@ -1,38 +1,37 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_PubsubGet
-#define INCLUDED_snikket_queries_PubsubGet
+#ifndef INCLUDED_borogove_queries_PubsubGet
+#define INCLUDED_borogove_queries_PubsubGet
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
-HX_DECLARE_CLASS2(snikket,queries,PubsubGet)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
+HX_DECLARE_CLASS2(borogove,queries,PubsubGet)
-namespace snikket{
+namespace borogove{
namespace queries{
-class HXCPP_CLASS_ATTRIBUTES PubsubGet_obj : public ::snikket::queries::GenericQuery_obj
+class HXCPP_CLASS_ATTRIBUTES PubsubGet_obj : public ::borogove::queries::GenericQuery_obj
{
public:
- typedef ::snikket::queries::GenericQuery_obj super;
+ typedef ::borogove::queries::GenericQuery_obj super;
typedef PubsubGet_obj OBJ_;
PubsubGet_obj();
public:
- enum { _hx_ClassId = 0x1a0e23ea };
+ enum { _hx_ClassId = 0x1648283a };
void __construct(::String to,::String node,::String itemId);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.PubsubGet")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.PubsubGet")
{ 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,"snikket.queries.PubsubGet"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.PubsubGet"); }
static ::hx::ObjectPtr< PubsubGet_obj > __new(::String to,::String node,::String itemId);
static ::hx::ObjectPtr< PubsubGet_obj > __alloc(::hx::Ctx *_hx_ctx,::String to,::String node,::String itemId);
static void * _hx_vtable;
@@ -53,16 +52,16 @@ class HXCPP_CLASS_ATTRIBUTES PubsubGet_obj : public ::snikket::queries::Generic
::String xmlns;
::String queryId;
::String ver;
- ::snikket::Stanza responseStanza;
+ ::borogove::Stanza responseStanza;
::Array< ::Dynamic> result;
- void handleResponse( ::snikket::Stanza stanza);
+ void handleResponse( ::borogove::Stanza stanza);
::Array< ::Dynamic> getResult();
::Dynamic getResult_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_PubsubGet */
+#endif /* INCLUDED_borogove_queries_PubsubGet */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/Push2Disable.h b/Sources/c_borogove/iinclude/borogove/queries/Push2Disable.h
similarity index 58%
rename from Sources/c_snikket/iinclude/snikket/queries/Push2Disable.h
rename to Sources/c_borogove/iinclude/borogove/queries/Push2Disable.h
index 19efee6..7229b3d 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/Push2Disable.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/Push2Disable.h
@@ -1,38 +1,37 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_Push2Disable
-#define INCLUDED_snikket_queries_Push2Disable
+#ifndef INCLUDED_borogove_queries_Push2Disable
+#define INCLUDED_borogove_queries_Push2Disable
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
-HX_DECLARE_CLASS2(snikket,queries,Push2Disable)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
+HX_DECLARE_CLASS2(borogove,queries,Push2Disable)
-namespace snikket{
+namespace borogove{
namespace queries{
-class HXCPP_CLASS_ATTRIBUTES Push2Disable_obj : public ::snikket::queries::GenericQuery_obj
+class HXCPP_CLASS_ATTRIBUTES Push2Disable_obj : public ::borogove::queries::GenericQuery_obj
{
public:
- typedef ::snikket::queries::GenericQuery_obj super;
+ typedef ::borogove::queries::GenericQuery_obj super;
typedef Push2Disable_obj OBJ_;
Push2Disable_obj();
public:
- enum { _hx_ClassId = 0x582a6599 };
+ enum { _hx_ClassId = 0x15ebf349 };
void __construct(::String to);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.Push2Disable")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.Push2Disable")
{ 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,"snikket.queries.Push2Disable"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.Push2Disable"); }
static ::hx::ObjectPtr< Push2Disable_obj > __new(::String to);
static ::hx::ObjectPtr< Push2Disable_obj > __alloc(::hx::Ctx *_hx_ctx,::String to);
static void * _hx_vtable;
@@ -52,12 +51,12 @@ class HXCPP_CLASS_ATTRIBUTES Push2Disable_obj : public ::snikket::queries::Gene
::String xmlns;
::String queryId;
- ::snikket::Stanza responseStanza;
- void handleResponse( ::snikket::Stanza stanza);
+ ::borogove::Stanza responseStanza;
+ void handleResponse( ::borogove::Stanza stanza);
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_Push2Disable */
+#endif /* INCLUDED_borogove_queries_Push2Disable */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/Push2Enable.h b/Sources/c_borogove/iinclude/borogove/queries/Push2Enable.h
similarity index 69%
rename from Sources/c_snikket/iinclude/snikket/queries/Push2Enable.h
rename to Sources/c_borogove/iinclude/borogove/queries/Push2Enable.h
index cdd17e6..c32ee54 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/Push2Enable.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/Push2Enable.h
@@ -1,41 +1,40 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_Push2Enable
-#define INCLUDED_snikket_queries_Push2Enable
+#ifndef INCLUDED_borogove_queries_Push2Enable
+#define INCLUDED_borogove_queries_Push2Enable
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#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,Push2Enable)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
HX_DECLARE_CLASS2(haxe,io,Bytes)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
-HX_DECLARE_CLASS2(snikket,queries,Push2Enable)
-namespace snikket{
+namespace borogove{
namespace queries{
-class HXCPP_CLASS_ATTRIBUTES Push2Enable_obj : public ::snikket::queries::GenericQuery_obj
+class HXCPP_CLASS_ATTRIBUTES Push2Enable_obj : public ::borogove::queries::GenericQuery_obj
{
public:
- typedef ::snikket::queries::GenericQuery_obj super;
+ typedef ::borogove::queries::GenericQuery_obj super;
typedef Push2Enable_obj OBJ_;
Push2Enable_obj();
public:
- enum { _hx_ClassId = 0x7fe47af2 };
+ enum { _hx_ClassId = 0x7ffdfb16 };
void __construct(::String to,::String service,::String client, ::haxe::io::Bytes ua_public, ::haxe::io::Bytes auth_secret,::String jwt_alg, ::haxe::io::Bytes jwt_key, ::haxe::ds::StringMap jwt_claims,int grace,::Array< ::Dynamic> filters);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.Push2Enable")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.Push2Enable")
{ 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,"snikket.queries.Push2Enable"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.Push2Enable"); }
static ::hx::ObjectPtr< Push2Enable_obj > __new(::String to,::String service,::String client, ::haxe::io::Bytes ua_public, ::haxe::io::Bytes auth_secret,::String jwt_alg, ::haxe::io::Bytes jwt_key, ::haxe::ds::StringMap jwt_claims,int grace,::Array< ::Dynamic> filters);
static ::hx::ObjectPtr< Push2Enable_obj > __alloc(::hx::Ctx *_hx_ctx,::String to,::String service,::String client, ::haxe::io::Bytes ua_public, ::haxe::io::Bytes auth_secret,::String jwt_alg, ::haxe::io::Bytes jwt_key, ::haxe::ds::StringMap jwt_claims,int grace,::Array< ::Dynamic> filters);
static void * _hx_vtable;
@@ -55,12 +54,12 @@ class HXCPP_CLASS_ATTRIBUTES Push2Enable_obj : public ::snikket::queries::Gener
::String xmlns;
::String queryId;
- ::snikket::Stanza responseStanza;
- void handleResponse( ::snikket::Stanza stanza);
+ ::borogove::Stanza responseStanza;
+ void handleResponse( ::borogove::Stanza stanza);
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_Push2Enable */
+#endif /* INCLUDED_borogove_queries_Push2Enable */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/RosterGet.h b/Sources/c_borogove/iinclude/borogove/queries/RosterGet.h
similarity index 60%
rename from Sources/c_snikket/iinclude/snikket/queries/RosterGet.h
rename to Sources/c_borogove/iinclude/borogove/queries/RosterGet.h
index befa38a..382c4aa 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/RosterGet.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/RosterGet.h
@@ -1,38 +1,37 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_RosterGet
-#define INCLUDED_snikket_queries_RosterGet
+#ifndef INCLUDED_borogove_queries_RosterGet
+#define INCLUDED_borogove_queries_RosterGet
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
-HX_DECLARE_CLASS2(snikket,queries,RosterGet)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
+HX_DECLARE_CLASS2(borogove,queries,RosterGet)
-namespace snikket{
+namespace borogove{
namespace queries{
-class HXCPP_CLASS_ATTRIBUTES RosterGet_obj : public ::snikket::queries::GenericQuery_obj
+class HXCPP_CLASS_ATTRIBUTES RosterGet_obj : public ::borogove::queries::GenericQuery_obj
{
public:
- typedef ::snikket::queries::GenericQuery_obj super;
+ typedef ::borogove::queries::GenericQuery_obj super;
typedef RosterGet_obj OBJ_;
RosterGet_obj();
public:
- enum { _hx_ClassId = 0x6634aa42 };
+ enum { _hx_ClassId = 0x1461cfca };
void __construct(::String ver);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.RosterGet")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.RosterGet")
{ 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,"snikket.queries.RosterGet"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.RosterGet"); }
static ::hx::ObjectPtr< RosterGet_obj > __new(::String ver);
static ::hx::ObjectPtr< RosterGet_obj > __alloc(::hx::Ctx *_hx_ctx,::String ver);
static void * _hx_vtable;
@@ -53,16 +52,16 @@ class HXCPP_CLASS_ATTRIBUTES RosterGet_obj : public ::snikket::queries::Generic
::String xmlns;
::String queryId;
::String ver;
- ::snikket::Stanza responseStanza;
+ ::borogove::Stanza responseStanza;
::Array< ::Dynamic> result;
- void handleResponse( ::snikket::Stanza stanza);
+ void handleResponse( ::borogove::Stanza stanza);
::Array< ::Dynamic> getResult();
::Dynamic getResult_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_RosterGet */
+#endif /* INCLUDED_borogove_queries_RosterGet */
diff --git a/Sources/c_snikket/iinclude/snikket/queries/VcardTempGet.h b/Sources/c_borogove/iinclude/borogove/queries/VcardTempGet.h
similarity index 53%
rename from Sources/c_snikket/iinclude/snikket/queries/VcardTempGet.h
rename to Sources/c_borogove/iinclude/borogove/queries/VcardTempGet.h
index fea8f62..5ee1a0b 100644
--- a/Sources/c_snikket/iinclude/snikket/queries/VcardTempGet.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/VcardTempGet.h
@@ -1,41 +1,40 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_queries_VcardTempGet
-#define INCLUDED_snikket_queries_VcardTempGet
+#ifndef INCLUDED_borogove_queries_VcardTempGet
+#define INCLUDED_borogove_queries_VcardTempGet
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DECLARE_CLASS1(snikket,JID)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
-HX_DECLARE_CLASS2(snikket,queries,VcardTempGet)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
+HX_DECLARE_CLASS2(borogove,queries,VcardTempGet)
-namespace snikket{
+namespace borogove{
namespace queries{
-class HXCPP_CLASS_ATTRIBUTES VcardTempGet_obj : public ::snikket::queries::GenericQuery_obj
+class HXCPP_CLASS_ATTRIBUTES VcardTempGet_obj : public ::borogove::queries::GenericQuery_obj
{
public:
- typedef ::snikket::queries::GenericQuery_obj super;
+ typedef ::borogove::queries::GenericQuery_obj super;
typedef VcardTempGet_obj OBJ_;
VcardTempGet_obj();
public:
- enum { _hx_ClassId = 0x4c679325 };
+ enum { _hx_ClassId = 0x0a2920d5 };
- void __construct( ::snikket::JID to);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.queries.VcardTempGet")
+ void __construct( ::borogove::JID to);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.VcardTempGet")
{ 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,"snikket.queries.VcardTempGet"); }
- static ::hx::ObjectPtr< VcardTempGet_obj > __new( ::snikket::JID to);
- static ::hx::ObjectPtr< VcardTempGet_obj > __alloc(::hx::Ctx *_hx_ctx, ::snikket::JID to);
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.VcardTempGet"); }
+ static ::hx::ObjectPtr< VcardTempGet_obj > __new( ::borogove::JID to);
+ static ::hx::ObjectPtr< VcardTempGet_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::JID to);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -53,16 +52,16 @@ class HXCPP_CLASS_ATTRIBUTES VcardTempGet_obj : public ::snikket::queries::Gene
::String xmlns;
::String queryId;
- ::snikket::Stanza responseStanza;
+ ::borogove::Stanza responseStanza;
::Dynamic result;
- void handleResponse( ::snikket::Stanza stanza);
+ void handleResponse( ::borogove::Stanza stanza);
::Dynamic getResult();
::Dynamic getResult_dyn();
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
-#endif /* INCLUDED_snikket_queries_VcardTempGet */
+#endif /* INCLUDED_borogove_queries_VcardTempGet */
diff --git a/Sources/c_snikket/iinclude/snikket/streams/XmppStropheStream.h b/Sources/c_borogove/iinclude/borogove/streams/XmppStropheStream.h
similarity index 66%
rename from Sources/c_snikket/iinclude/snikket/streams/XmppStropheStream.h
rename to Sources/c_borogove/iinclude/borogove/streams/XmppStropheStream.h
index badc28b..d49e57a 100644
--- a/Sources/c_snikket/iinclude/snikket/streams/XmppStropheStream.h
+++ b/Sources/c_borogove/iinclude/borogove/streams/XmppStropheStream.h
@@ -1,50 +1,49 @@
// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_streams_XmppStropheStream
-#define INCLUDED_snikket_streams_XmppStropheStream
+#ifndef INCLUDED_borogove_streams_XmppStropheStream
+#define INCLUDED_borogove_streams_XmppStropheStream
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
-#ifndef INCLUDED_snikket_GenericStream
-#include <snikket/GenericStream.h>
+#ifndef INCLUDED_borogove_GenericStream
+#include <borogove/GenericStream.h>
#endif
#ifndef INCLUDED_18a1146676e1af0b
#define INCLUDED_18a1146676e1af0b
#include "strophe.h"
#endif
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,GenericStream)
+HX_DECLARE_CLASS1(borogove,IqRequestType)
+HX_DECLARE_CLASS1(borogove,IqResult)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,streams,XmppStropheStream)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS1(haxe,Timer)
HX_DECLARE_CLASS2(haxe,ds,BalancedTree)
HX_DECLARE_CLASS2(haxe,ds,EnumValueMap)
-HX_DECLARE_CLASS1(snikket,EventEmitter)
-HX_DECLARE_CLASS1(snikket,GenericStream)
-HX_DECLARE_CLASS1(snikket,IqRequestType)
-HX_DECLARE_CLASS1(snikket,IqResult)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,streams,XmppStropheStream)
#include "strophe.h"
-namespace snikket{
+namespace borogove{
namespace streams{
-class HXCPP_CLASS_ATTRIBUTES XmppStropheStream_obj : public ::snikket::GenericStream_obj
+class HXCPP_CLASS_ATTRIBUTES XmppStropheStream_obj : public ::borogove::GenericStream_obj
{
public:
- typedef ::snikket::GenericStream_obj super;
+ typedef ::borogove::GenericStream_obj super;
typedef XmppStropheStream_obj OBJ_;
XmppStropheStream_obj();
public:
- enum { _hx_ClassId = 0x7e6ea620 };
+ enum { _hx_ClassId = 0x49441b28 };
void __construct();
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.streams.XmppStropheStream")
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.streams.XmppStropheStream")
{ 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,"snikket.streams.XmppStropheStream"); }
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.streams.XmppStropheStream"); }
static ::hx::ObjectPtr< XmppStropheStream_obj > __new();
static ::hx::ObjectPtr< XmppStropheStream_obj > __alloc(::hx::Ctx *_hx_ctx);
static void * _hx_vtable;
@@ -77,10 +76,16 @@ class HXCPP_CLASS_ATTRIBUTES XmppStropheStream_obj : public ::snikket::GenericS
static void strophe_connect( xmpp_conn_t* conn, xmpp_conn_event_t event,int error, xmpp_stream_error_t* stream_error,int resumed,void* userdata);
- static ::snikket::Stanza parseStanza(::String s);
+ static ::borogove::Stanza parseStanza(::String s);
static ::Dynamic parseStanza_dyn();
- static ::snikket::Stanza convertToStanza( xmpp_stanza_t* el,void* dummy);
+ static ::String serializeStanza( ::borogove::Stanza stanza);
+ static ::Dynamic serializeStanza_dyn();
+
+ static ::borogove::Stanza convertToStanza( xmpp_stanza_t* el,void* dummy);
+
+ static xmpp_stanza_t* convertFromStanza( ::borogove::Stanza el);
+ static ::Dynamic convertFromStanza_dyn();
::haxe::ds::EnumValueMap iqHandlers;
::Array< ::Dynamic> pending;
@@ -89,7 +94,7 @@ class HXCPP_CLASS_ATTRIBUTES XmppStropheStream_obj : public ::snikket::GenericS
bool stanzaThisPoll;
::String newId();
- void onIq( ::snikket::IqRequestType type,::String tag,::String xmlns, ::Dynamic handler);
+ void onIq( ::borogove::IqRequestType type,::String tag,::String xmlns, ::Dynamic handler);
void connect(::String jid,::Array< unsigned char > sm);
@@ -98,10 +103,7 @@ class HXCPP_CLASS_ATTRIBUTES XmppStropheStream_obj : public ::snikket::GenericS
void poll( ::Dynamic timeout);
::Dynamic poll_dyn();
- xmpp_stanza_t* convertFromStanza( ::snikket::Stanza el);
- ::Dynamic convertFromStanza_dyn();
-
- void sendStanza( ::snikket::Stanza stanza);
+ void sendStanza( ::borogove::Stanza stanza);
void finalize();
::Dynamic finalize_dyn();
@@ -112,7 +114,7 @@ class HXCPP_CLASS_ATTRIBUTES XmppStropheStream_obj : public ::snikket::GenericS
};
-} // end namespace snikket
+} // end namespace borogove
} // end namespace streams
-#endif /* INCLUDED_snikket_streams_XmppStropheStream */
+#endif /* INCLUDED_borogove_streams_XmppStropheStream */
diff --git a/Sources/c_snikket/iinclude/cpp/CppInt32__.h b/Sources/c_borogove/iinclude/cpp/CppInt32__.h
similarity index 100%
rename from Sources/c_snikket/iinclude/cpp/CppInt32__.h
rename to Sources/c_borogove/iinclude/cpp/CppInt32__.h
diff --git a/Sources/c_snikket/iinclude/cpp/FastIterator.h b/Sources/c_borogove/iinclude/cpp/FastIterator.h
similarity index 100%
rename from Sources/c_snikket/iinclude/cpp/FastIterator.h
rename to Sources/c_borogove/iinclude/cpp/FastIterator.h
diff --git a/Sources/c_snikket/iinclude/cpp/Int64.h b/Sources/c_borogove/iinclude/cpp/Int64.h
similarity index 100%
rename from Sources/c_snikket/iinclude/cpp/Int64.h
rename to Sources/c_borogove/iinclude/cpp/Int64.h
diff --git a/Sources/c_snikket/iinclude/cpp/Int64Map.h b/Sources/c_borogove/iinclude/cpp/Int64Map.h
similarity index 100%
rename from Sources/c_snikket/iinclude/cpp/Int64Map.h
rename to Sources/c_borogove/iinclude/cpp/Int64Map.h
diff --git a/Sources/c_snikket/iinclude/cpp/Lib.h b/Sources/c_borogove/iinclude/cpp/Lib.h
similarity index 100%
rename from Sources/c_snikket/iinclude/cpp/Lib.h
rename to Sources/c_borogove/iinclude/cpp/Lib.h
diff --git a/Sources/c_snikket/iinclude/cpp/Pointer.h b/Sources/c_borogove/iinclude/cpp/Pointer.h
similarity index 100%
rename from Sources/c_snikket/iinclude/cpp/Pointer.h
rename to Sources/c_borogove/iinclude/cpp/Pointer.h
diff --git a/Sources/c_snikket/iinclude/cpp/Variant.h b/Sources/c_borogove/iinclude/cpp/Variant.h
similarity index 100%
rename from Sources/c_snikket/iinclude/cpp/Variant.h
rename to Sources/c_borogove/iinclude/cpp/Variant.h
diff --git a/Sources/c_snikket/iinclude/cpp/VirtualArray.h b/Sources/c_borogove/iinclude/cpp/VirtualArray.h
similarity index 100%
rename from Sources/c_snikket/iinclude/cpp/VirtualArray.h
rename to Sources/c_borogove/iinclude/cpp/VirtualArray.h
diff --git a/Sources/c_snikket/iinclude/cpp/_NativeString/NativeString_Impl_.h b/Sources/c_borogove/iinclude/cpp/_NativeString/NativeString_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/cpp/_NativeString/NativeString_Impl_.h
rename to Sources/c_borogove/iinclude/cpp/_NativeString/NativeString_Impl_.h
diff --git a/Sources/c_snikket/iinclude/datetime/_DateTime/DateTime_Impl_.h b/Sources/c_borogove/iinclude/datetime/_DateTime/DateTime_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/datetime/_DateTime/DateTime_Impl_.h
rename to Sources/c_borogove/iinclude/datetime/_DateTime/DateTime_Impl_.h
diff --git a/Sources/c_snikket/iinclude/datetime/_DateTimeInterval/DateTimeInterval_Impl_.h b/Sources/c_borogove/iinclude/datetime/_DateTimeInterval/DateTimeInterval_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/datetime/_DateTimeInterval/DateTimeInterval_Impl_.h
rename to Sources/c_borogove/iinclude/datetime/_DateTimeInterval/DateTimeInterval_Impl_.h
diff --git a/Sources/c_snikket/iinclude/datetime/cores/DateTimeIntervalCore.h b/Sources/c_borogove/iinclude/datetime/cores/DateTimeIntervalCore.h
similarity index 100%
rename from Sources/c_snikket/iinclude/datetime/cores/DateTimeIntervalCore.h
rename to Sources/c_borogove/iinclude/datetime/cores/DateTimeIntervalCore.h
diff --git a/Sources/c_snikket/iinclude/datetime/utils/DateTimeIntervalUtils.h b/Sources/c_borogove/iinclude/datetime/utils/DateTimeIntervalUtils.h
similarity index 100%
rename from Sources/c_snikket/iinclude/datetime/utils/DateTimeIntervalUtils.h
rename to Sources/c_borogove/iinclude/datetime/utils/DateTimeIntervalUtils.h
diff --git a/Sources/c_snikket/iinclude/datetime/utils/DateTimeMonthUtils.h b/Sources/c_borogove/iinclude/datetime/utils/DateTimeMonthUtils.h
similarity index 100%
rename from Sources/c_snikket/iinclude/datetime/utils/DateTimeMonthUtils.h
rename to Sources/c_borogove/iinclude/datetime/utils/DateTimeMonthUtils.h
diff --git a/Sources/c_snikket/iinclude/datetime/utils/DateTimeUtils.h b/Sources/c_borogove/iinclude/datetime/utils/DateTimeUtils.h
similarity index 100%
rename from Sources/c_snikket/iinclude/datetime/utils/DateTimeUtils.h
rename to Sources/c_borogove/iinclude/datetime/utils/DateTimeUtils.h
diff --git a/Sources/c_snikket/iinclude/haxe/EntryPoint.h b/Sources/c_borogove/iinclude/haxe/EntryPoint.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/EntryPoint.h
rename to Sources/c_borogove/iinclude/haxe/EntryPoint.h
diff --git a/Sources/c_snikket/iinclude/haxe/Exception.h b/Sources/c_borogove/iinclude/haxe/Exception.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/Exception.h
rename to Sources/c_borogove/iinclude/haxe/Exception.h
diff --git a/Sources/c_snikket/iinclude/haxe/IMap.h b/Sources/c_borogove/iinclude/haxe/IMap.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/IMap.h
rename to Sources/c_borogove/iinclude/haxe/IMap.h
diff --git a/Sources/c_snikket/iinclude/haxe/Log.h b/Sources/c_borogove/iinclude/haxe/Log.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/Log.h
rename to Sources/c_borogove/iinclude/haxe/Log.h
diff --git a/Sources/c_snikket/iinclude/haxe/MainEvent.h b/Sources/c_borogove/iinclude/haxe/MainEvent.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/MainEvent.h
rename to Sources/c_borogove/iinclude/haxe/MainEvent.h
diff --git a/Sources/c_snikket/iinclude/haxe/MainLoop.h b/Sources/c_borogove/iinclude/haxe/MainLoop.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/MainLoop.h
rename to Sources/c_borogove/iinclude/haxe/MainLoop.h
diff --git a/Sources/c_snikket/iinclude/haxe/NativeStackTrace.h b/Sources/c_borogove/iinclude/haxe/NativeStackTrace.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/NativeStackTrace.h
rename to Sources/c_borogove/iinclude/haxe/NativeStackTrace.h
diff --git a/Sources/c_snikket/iinclude/haxe/StackItem.h b/Sources/c_borogove/iinclude/haxe/StackItem.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/StackItem.h
rename to Sources/c_borogove/iinclude/haxe/StackItem.h
diff --git a/Sources/c_snikket/iinclude/haxe/Timer.h b/Sources/c_borogove/iinclude/haxe/Timer.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/Timer.h
rename to Sources/c_borogove/iinclude/haxe/Timer.h
diff --git a/Sources/c_snikket/iinclude/haxe/ValueException.h b/Sources/c_borogove/iinclude/haxe/ValueException.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/ValueException.h
rename to Sources/c_borogove/iinclude/haxe/ValueException.h
diff --git a/Sources/c_snikket/iinclude/haxe/_CallStack/CallStack_Impl_.h b/Sources/c_borogove/iinclude/haxe/_CallStack/CallStack_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/_CallStack/CallStack_Impl_.h
rename to Sources/c_borogove/iinclude/haxe/_CallStack/CallStack_Impl_.h
diff --git a/Sources/c_snikket/iinclude/haxe/crypto/Base64.h b/Sources/c_borogove/iinclude/haxe/crypto/Base64.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/crypto/Base64.h
rename to Sources/c_borogove/iinclude/haxe/crypto/Base64.h
diff --git a/Sources/c_snikket/iinclude/haxe/crypto/BaseCode.h b/Sources/c_borogove/iinclude/haxe/crypto/BaseCode.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/crypto/BaseCode.h
rename to Sources/c_borogove/iinclude/haxe/crypto/BaseCode.h
diff --git a/Sources/c_snikket/iinclude/haxe/crypto/Sha1.h b/Sources/c_borogove/iinclude/haxe/crypto/Sha1.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/crypto/Sha1.h
rename to Sources/c_borogove/iinclude/haxe/crypto/Sha1.h
diff --git a/Sources/c_snikket/iinclude/haxe/crypto/Sha256.h b/Sources/c_borogove/iinclude/haxe/crypto/Sha256.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/crypto/Sha256.h
rename to Sources/c_borogove/iinclude/haxe/crypto/Sha256.h
diff --git a/Sources/c_snikket/iinclude/haxe/ds/BalancedTree.h b/Sources/c_borogove/iinclude/haxe/ds/BalancedTree.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/ds/BalancedTree.h
rename to Sources/c_borogove/iinclude/haxe/ds/BalancedTree.h
diff --git a/Sources/c_snikket/iinclude/haxe/ds/Either.h b/Sources/c_borogove/iinclude/haxe/ds/Either.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/ds/Either.h
rename to Sources/c_borogove/iinclude/haxe/ds/Either.h
diff --git a/Sources/c_snikket/iinclude/haxe/ds/EnumValueMap.h b/Sources/c_borogove/iinclude/haxe/ds/EnumValueMap.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/ds/EnumValueMap.h
rename to Sources/c_borogove/iinclude/haxe/ds/EnumValueMap.h
diff --git a/Sources/c_snikket/iinclude/haxe/ds/IntMap.h b/Sources/c_borogove/iinclude/haxe/ds/IntMap.h
similarity index 98%
rename from Sources/c_snikket/iinclude/haxe/ds/IntMap.h
rename to Sources/c_borogove/iinclude/haxe/ds/IntMap.h
index c5e3745..365448b 100644
--- a/Sources/c_snikket/iinclude/haxe/ds/IntMap.h
+++ b/Sources/c_borogove/iinclude/haxe/ds/IntMap.h
@@ -63,6 +63,9 @@ class HXCPP_CLASS_ATTRIBUTES IntMap_obj : public ::hx::Object
::Dynamic keys();
::Dynamic keys_dyn();
+ ::Dynamic iterator();
+ ::Dynamic iterator_dyn();
+
inline void set(int key, ::null value) { __int_hash_set(HX_MAP_THIS,key,value); }
inline void set(int key, bool value) { __int_hash_set(HX_MAP_THIS,key,value); }
diff --git a/Sources/c_snikket/iinclude/haxe/ds/List.h b/Sources/c_borogove/iinclude/haxe/ds/List.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/ds/List.h
rename to Sources/c_borogove/iinclude/haxe/ds/List.h
diff --git a/Sources/c_snikket/iinclude/haxe/ds/ObjectMap.h b/Sources/c_borogove/iinclude/haxe/ds/ObjectMap.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/ds/ObjectMap.h
rename to Sources/c_borogove/iinclude/haxe/ds/ObjectMap.h
diff --git a/Sources/c_snikket/iinclude/haxe/ds/Option.h b/Sources/c_borogove/iinclude/haxe/ds/Option.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/ds/Option.h
rename to Sources/c_borogove/iinclude/haxe/ds/Option.h
diff --git a/Sources/c_snikket/iinclude/haxe/ds/StringMap.h b/Sources/c_borogove/iinclude/haxe/ds/StringMap.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/ds/StringMap.h
rename to Sources/c_borogove/iinclude/haxe/ds/StringMap.h
diff --git a/Sources/c_snikket/iinclude/haxe/ds/TreeNode.h b/Sources/c_borogove/iinclude/haxe/ds/TreeNode.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/ds/TreeNode.h
rename to Sources/c_borogove/iinclude/haxe/ds/TreeNode.h
diff --git a/Sources/c_snikket/iinclude/haxe/ds/_List/ListNode.h b/Sources/c_borogove/iinclude/haxe/ds/_List/ListNode.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/ds/_List/ListNode.h
rename to Sources/c_borogove/iinclude/haxe/ds/_List/ListNode.h
diff --git a/Sources/c_snikket/iinclude/haxe/exceptions/NotImplementedException.h b/Sources/c_borogove/iinclude/haxe/exceptions/NotImplementedException.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/exceptions/NotImplementedException.h
rename to Sources/c_borogove/iinclude/haxe/exceptions/NotImplementedException.h
diff --git a/Sources/c_snikket/iinclude/haxe/exceptions/PosException.h b/Sources/c_borogove/iinclude/haxe/exceptions/PosException.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/exceptions/PosException.h
rename to Sources/c_borogove/iinclude/haxe/exceptions/PosException.h
diff --git a/Sources/c_snikket/iinclude/haxe/format/JsonParser.h b/Sources/c_borogove/iinclude/haxe/format/JsonParser.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/format/JsonParser.h
rename to Sources/c_borogove/iinclude/haxe/format/JsonParser.h
diff --git a/Sources/c_snikket/iinclude/haxe/format/JsonPrinter.h b/Sources/c_borogove/iinclude/haxe/format/JsonPrinter.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/format/JsonPrinter.h
rename to Sources/c_borogove/iinclude/haxe/format/JsonPrinter.h
diff --git a/Sources/c_snikket/iinclude/haxe/http/HttpBase.h b/Sources/c_borogove/iinclude/haxe/http/HttpBase.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/http/HttpBase.h
rename to Sources/c_borogove/iinclude/haxe/http/HttpBase.h
diff --git a/Sources/c_snikket/iinclude/haxe/io/Bytes.h b/Sources/c_borogove/iinclude/haxe/io/Bytes.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/io/Bytes.h
rename to Sources/c_borogove/iinclude/haxe/io/Bytes.h
diff --git a/Sources/c_snikket/iinclude/haxe/io/BytesBuffer.h b/Sources/c_borogove/iinclude/haxe/io/BytesBuffer.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/io/BytesBuffer.h
rename to Sources/c_borogove/iinclude/haxe/io/BytesBuffer.h
diff --git a/Sources/c_snikket/iinclude/haxe/io/BytesInput.h b/Sources/c_borogove/iinclude/haxe/io/BytesInput.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/io/BytesInput.h
rename to Sources/c_borogove/iinclude/haxe/io/BytesInput.h
diff --git a/Sources/c_snikket/iinclude/haxe/io/BytesOutput.h b/Sources/c_borogove/iinclude/haxe/io/BytesOutput.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/io/BytesOutput.h
rename to Sources/c_borogove/iinclude/haxe/io/BytesOutput.h
diff --git a/Sources/c_snikket/iinclude/haxe/io/Encoding.h b/Sources/c_borogove/iinclude/haxe/io/Encoding.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/io/Encoding.h
rename to Sources/c_borogove/iinclude/haxe/io/Encoding.h
diff --git a/Sources/c_snikket/iinclude/haxe/io/Eof.h b/Sources/c_borogove/iinclude/haxe/io/Eof.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/io/Eof.h
rename to Sources/c_borogove/iinclude/haxe/io/Eof.h
diff --git a/Sources/c_snikket/iinclude/haxe/io/Error.h b/Sources/c_borogove/iinclude/haxe/io/Error.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/io/Error.h
rename to Sources/c_borogove/iinclude/haxe/io/Error.h
diff --git a/Sources/c_snikket/iinclude/haxe/io/Input.h b/Sources/c_borogove/iinclude/haxe/io/Input.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/io/Input.h
rename to Sources/c_borogove/iinclude/haxe/io/Input.h
diff --git a/Sources/c_snikket/iinclude/haxe/io/Output.h b/Sources/c_borogove/iinclude/haxe/io/Output.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/io/Output.h
rename to Sources/c_borogove/iinclude/haxe/io/Output.h
diff --git a/Sources/c_snikket/iinclude/haxe/io/Path.h b/Sources/c_borogove/iinclude/haxe/io/Path.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/io/Path.h
rename to Sources/c_borogove/iinclude/haxe/io/Path.h
diff --git a/Sources/c_snikket/iinclude/haxe/iterators/ArrayIterator.h b/Sources/c_borogove/iinclude/haxe/iterators/ArrayIterator.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/iterators/ArrayIterator.h
rename to Sources/c_borogove/iinclude/haxe/iterators/ArrayIterator.h
diff --git a/Sources/c_snikket/iinclude/haxe/iterators/MapKeyValueIterator.h b/Sources/c_borogove/iinclude/haxe/iterators/MapKeyValueIterator.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/iterators/MapKeyValueIterator.h
rename to Sources/c_borogove/iinclude/haxe/iterators/MapKeyValueIterator.h
diff --git a/Sources/c_snikket/iinclude/haxe/xml/Printer.h b/Sources/c_borogove/iinclude/haxe/xml/Printer.h
similarity index 100%
rename from Sources/c_snikket/iinclude/haxe/xml/Printer.h
rename to Sources/c_borogove/iinclude/haxe/xml/Printer.h
diff --git a/Sources/c_snikket/iinclude/hsluv/Hsluv.h b/Sources/c_borogove/iinclude/hsluv/Hsluv.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hsluv/Hsluv.h
rename to Sources/c_borogove/iinclude/hsluv/Hsluv.h
diff --git a/Sources/c_snikket/iinclude/htmlparser/HtmlAttribute.h b/Sources/c_borogove/iinclude/htmlparser/HtmlAttribute.h
similarity index 100%
rename from Sources/c_snikket/iinclude/htmlparser/HtmlAttribute.h
rename to Sources/c_borogove/iinclude/htmlparser/HtmlAttribute.h
diff --git a/Sources/c_snikket/iinclude/htmlparser/HtmlNode.h b/Sources/c_borogove/iinclude/htmlparser/HtmlNode.h
similarity index 100%
rename from Sources/c_snikket/iinclude/htmlparser/HtmlNode.h
rename to Sources/c_borogove/iinclude/htmlparser/HtmlNode.h
diff --git a/Sources/c_snikket/iinclude/htmlparser/HtmlNodeElement.h b/Sources/c_borogove/iinclude/htmlparser/HtmlNodeElement.h
similarity index 100%
rename from Sources/c_snikket/iinclude/htmlparser/HtmlNodeElement.h
rename to Sources/c_borogove/iinclude/htmlparser/HtmlNodeElement.h
diff --git a/Sources/c_snikket/iinclude/htmlparser/HtmlNodeText.h b/Sources/c_borogove/iinclude/htmlparser/HtmlNodeText.h
similarity index 100%
rename from Sources/c_snikket/iinclude/htmlparser/HtmlNodeText.h
rename to Sources/c_borogove/iinclude/htmlparser/HtmlNodeText.h
diff --git a/Sources/c_snikket/iinclude/htmlparser/HtmlParser.h b/Sources/c_borogove/iinclude/htmlparser/HtmlParser.h
similarity index 100%
rename from Sources/c_snikket/iinclude/htmlparser/HtmlParser.h
rename to Sources/c_borogove/iinclude/htmlparser/HtmlParser.h
diff --git a/Sources/c_snikket/iinclude/htmlparser/HtmlParserException.h b/Sources/c_borogove/iinclude/htmlparser/HtmlParserException.h
similarity index 100%
rename from Sources/c_snikket/iinclude/htmlparser/HtmlParserException.h
rename to Sources/c_borogove/iinclude/htmlparser/HtmlParserException.h
diff --git a/Sources/c_snikket/iinclude/htmlparser/HtmlTools.h b/Sources/c_borogove/iinclude/htmlparser/HtmlTools.h
similarity index 100%
rename from Sources/c_snikket/iinclude/htmlparser/HtmlTools.h
rename to Sources/c_borogove/iinclude/htmlparser/HtmlTools.h
diff --git a/Sources/c_snikket/iinclude/httpstatus/_HttpStatusMessage/HttpStatusMessage_Impl_.h b/Sources/c_borogove/iinclude/httpstatus/_HttpStatusMessage/HttpStatusMessage_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/httpstatus/_HttpStatusMessage/HttpStatusMessage_Impl_.h
rename to Sources/c_borogove/iinclude/httpstatus/_HttpStatusMessage/HttpStatusMessage_Impl_.h
diff --git a/Sources/c_snikket/iinclude/hx/Anon.h b/Sources/c_borogove/iinclude/hx/Anon.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Anon.h
rename to Sources/c_borogove/iinclude/hx/Anon.h
diff --git a/Sources/c_snikket/iinclude/hx/Boot.h b/Sources/c_borogove/iinclude/hx/Boot.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Boot.h
rename to Sources/c_borogove/iinclude/hx/Boot.h
diff --git a/Sources/c_snikket/iinclude/hx/CFFI.h b/Sources/c_borogove/iinclude/hx/CFFI.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/CFFI.h
rename to Sources/c_borogove/iinclude/hx/CFFI.h
diff --git a/Sources/c_snikket/iinclude/hx/CFFIAPI.h b/Sources/c_borogove/iinclude/hx/CFFIAPI.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/CFFIAPI.h
rename to Sources/c_borogove/iinclude/hx/CFFIAPI.h
diff --git a/Sources/c_snikket/iinclude/hx/CFFIJsPrime.h b/Sources/c_borogove/iinclude/hx/CFFIJsPrime.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/CFFIJsPrime.h
rename to Sources/c_borogove/iinclude/hx/CFFIJsPrime.h
diff --git a/Sources/c_snikket/iinclude/hx/CFFILoader.h b/Sources/c_borogove/iinclude/hx/CFFILoader.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/CFFILoader.h
rename to Sources/c_borogove/iinclude/hx/CFFILoader.h
diff --git a/Sources/c_snikket/iinclude/hx/CFFINekoLoader.h b/Sources/c_borogove/iinclude/hx/CFFINekoLoader.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/CFFINekoLoader.h
rename to Sources/c_borogove/iinclude/hx/CFFINekoLoader.h
diff --git a/Sources/c_snikket/iinclude/hx/CFFIPrime.h b/Sources/c_borogove/iinclude/hx/CFFIPrime.h
similarity index 88%
rename from Sources/c_snikket/iinclude/hx/CFFIPrime.h
rename to Sources/c_borogove/iinclude/hx/CFFIPrime.h
index 88481f8..2e597fd 100644
--- a/Sources/c_snikket/iinclude/hx/CFFIPrime.h
+++ b/Sources/c_borogove/iinclude/hx/CFFIPrime.h
@@ -542,252 +542,247 @@ 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" { \
- PRIME_EXPORT value func##__prime(const char *inSig) { \
+ 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() ); } \
- PRIME_EXPORT void *func##__0() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT value func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__0() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__1() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__1() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__2() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__2() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__3() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__3() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__4() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__4() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__5() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__5() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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)); \
}
@@ -795,38 +790,38 @@ struct AutoValue
#define DEFINE_PRIME13(func) extern "C" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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)); \
}
@@ -834,19 +829,19 @@ struct AutoValue
#define DEFINE_PRIME15(func) extern "C" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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) ); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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" { \
- PRIME_EXPORT void *func##__prime(const char *inSig) { \
+ 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(); } \
- PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ 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_snikket/iinclude/hx/Class.h b/Sources/c_borogove/iinclude/hx/Class.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Class.h
rename to Sources/c_borogove/iinclude/hx/Class.h
diff --git a/Sources/c_snikket/iinclude/hx/Debug.h b/Sources/c_borogove/iinclude/hx/Debug.h
similarity index 92%
rename from Sources/c_snikket/iinclude/hx/Debug.h
rename to Sources/c_borogove/iinclude/hx/Debug.h
index 903468f..1e0ee22 100644
--- a/Sources/c_snikket/iinclude/hx/Debug.h
+++ b/Sources/c_borogove/iinclude/hx/Debug.h
@@ -216,11 +216,6 @@ 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
@@ -303,9 +298,6 @@ 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);
@@ -359,9 +351,6 @@ 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_snikket/iinclude/hx/DynamicImpl.h b/Sources/c_borogove/iinclude/hx/DynamicImpl.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/DynamicImpl.h
rename to Sources/c_borogove/iinclude/hx/DynamicImpl.h
diff --git a/Sources/c_snikket/iinclude/hx/DynamicImpl.tpl b/Sources/c_borogove/iinclude/hx/DynamicImpl.tpl
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/DynamicImpl.tpl
rename to Sources/c_borogove/iinclude/hx/DynamicImpl.tpl
diff --git a/Sources/c_snikket/iinclude/hx/ErrorCodes.h b/Sources/c_borogove/iinclude/hx/ErrorCodes.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/ErrorCodes.h
rename to Sources/c_borogove/iinclude/hx/ErrorCodes.h
diff --git a/Sources/c_snikket/iinclude/hx/FieldRef.h b/Sources/c_borogove/iinclude/hx/FieldRef.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/FieldRef.h
rename to Sources/c_borogove/iinclude/hx/FieldRef.h
diff --git a/Sources/c_snikket/iinclude/hx/Functions.h b/Sources/c_borogove/iinclude/hx/Functions.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Functions.h
rename to Sources/c_borogove/iinclude/hx/Functions.h
diff --git a/Sources/c_snikket/iinclude/hx/GC.h b/Sources/c_borogove/iinclude/hx/GC.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/GC.h
rename to Sources/c_borogove/iinclude/hx/GC.h
diff --git a/Sources/c_snikket/iinclude/hx/GcTypeInference.h b/Sources/c_borogove/iinclude/hx/GcTypeInference.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/GcTypeInference.h
rename to Sources/c_borogove/iinclude/hx/GcTypeInference.h
diff --git a/Sources/c_snikket/iinclude/hx/GenMacro.hx b/Sources/c_borogove/iinclude/hx/GenMacro.hx
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/GenMacro.hx
rename to Sources/c_borogove/iinclude/hx/GenMacro.hx
diff --git a/Sources/c_snikket/iinclude/hx/HeaderVersion.h b/Sources/c_borogove/iinclude/hx/HeaderVersion.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/HeaderVersion.h
rename to Sources/c_borogove/iinclude/hx/HeaderVersion.h
diff --git a/Sources/c_snikket/iinclude/hx/HxcppMain.h b/Sources/c_borogove/iinclude/hx/HxcppMain.h
similarity index 76%
rename from Sources/c_snikket/iinclude/hx/HxcppMain.h
rename to Sources/c_borogove/iinclude/hx/HxcppMain.h
index 309e9e9..ad09f30 100644
--- a/Sources/c_snikket/iinclude/hx/HxcppMain.h
+++ b/Sources/c_borogove/iinclude/hx/HxcppMain.h
@@ -94,22 +94,13 @@
}
catch (Dynamic e)
{
- 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;
+ __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_snikket/iinclude/hx/IndexRef.h b/Sources/c_borogove/iinclude/hx/IndexRef.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/IndexRef.h
rename to Sources/c_borogove/iinclude/hx/IndexRef.h
diff --git a/Sources/c_snikket/iinclude/hx/Interface.h b/Sources/c_borogove/iinclude/hx/Interface.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Interface.h
rename to Sources/c_borogove/iinclude/hx/Interface.h
diff --git a/Sources/c_snikket/iinclude/hx/LessThanEq.h b/Sources/c_borogove/iinclude/hx/LessThanEq.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/LessThanEq.h
rename to Sources/c_borogove/iinclude/hx/LessThanEq.h
diff --git a/Sources/c_snikket/iinclude/hx/Macros.h b/Sources/c_borogove/iinclude/hx/Macros.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Macros.h
rename to Sources/c_borogove/iinclude/hx/Macros.h
diff --git a/Sources/c_snikket/iinclude/hx/Macros.tpl b/Sources/c_borogove/iinclude/hx/Macros.tpl
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Macros.tpl
rename to Sources/c_borogove/iinclude/hx/Macros.tpl
diff --git a/Sources/c_snikket/iinclude/hx/MacrosFixed.h b/Sources/c_borogove/iinclude/hx/MacrosFixed.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/MacrosFixed.h
rename to Sources/c_borogove/iinclude/hx/MacrosFixed.h
diff --git a/Sources/c_snikket/iinclude/hx/MacrosJumbo.h b/Sources/c_borogove/iinclude/hx/MacrosJumbo.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/MacrosJumbo.h
rename to Sources/c_borogove/iinclude/hx/MacrosJumbo.h
diff --git a/Sources/c_snikket/iinclude/hx/MacrosJumbo.tpl b/Sources/c_borogove/iinclude/hx/MacrosJumbo.tpl
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/MacrosJumbo.tpl
rename to Sources/c_borogove/iinclude/hx/MacrosJumbo.tpl
diff --git a/Sources/c_snikket/iinclude/hx/Memory.h b/Sources/c_borogove/iinclude/hx/Memory.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Memory.h
rename to Sources/c_borogove/iinclude/hx/Memory.h
diff --git a/Sources/c_snikket/iinclude/hx/Native.h b/Sources/c_borogove/iinclude/hx/Native.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Native.h
rename to Sources/c_borogove/iinclude/hx/Native.h
diff --git a/Sources/c_snikket/iinclude/hx/NekoFunc.h b/Sources/c_borogove/iinclude/hx/NekoFunc.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/NekoFunc.h
rename to Sources/c_borogove/iinclude/hx/NekoFunc.h
diff --git a/Sources/c_snikket/iinclude/hx/OS.h b/Sources/c_borogove/iinclude/hx/OS.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/OS.h
rename to Sources/c_borogove/iinclude/hx/OS.h
diff --git a/Sources/c_snikket/iinclude/hx/ObjcHelpers.h b/Sources/c_borogove/iinclude/hx/ObjcHelpers.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/ObjcHelpers.h
rename to Sources/c_borogove/iinclude/hx/ObjcHelpers.h
diff --git a/Sources/c_snikket/iinclude/hx/Object.h b/Sources/c_borogove/iinclude/hx/Object.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Object.h
rename to Sources/c_borogove/iinclude/hx/Object.h
diff --git a/Sources/c_snikket/iinclude/hx/Operators.h b/Sources/c_borogove/iinclude/hx/Operators.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Operators.h
rename to Sources/c_borogove/iinclude/hx/Operators.h
diff --git a/Sources/c_snikket/iinclude/hx/QuickVec.h b/Sources/c_borogove/iinclude/hx/QuickVec.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/QuickVec.h
rename to Sources/c_borogove/iinclude/hx/QuickVec.h
diff --git a/Sources/c_snikket/iinclude/hx/Scriptable.h b/Sources/c_borogove/iinclude/hx/Scriptable.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Scriptable.h
rename to Sources/c_borogove/iinclude/hx/Scriptable.h
diff --git a/Sources/c_snikket/iinclude/hx/StackContext.h b/Sources/c_borogove/iinclude/hx/StackContext.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/StackContext.h
rename to Sources/c_borogove/iinclude/hx/StackContext.h
diff --git a/Sources/c_snikket/iinclude/hx/StdLibs.h b/Sources/c_borogove/iinclude/hx/StdLibs.h
similarity index 97%
rename from Sources/c_snikket/iinclude/hx/StdLibs.h
rename to Sources/c_borogove/iinclude/hx/StdLibs.h
index 7918e51..8bb7190 100644
--- a/Sources/c_snikket/iinclude/hx/StdLibs.h
+++ b/Sources/c_borogove/iinclude/hx/StdLibs.h
@@ -43,7 +43,6 @@ 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);
@@ -162,7 +161,7 @@ HXCPP_EXTERN_CLASS_ATTRIBUTES String __hxcpp_utf8_string_to_char_bytes(String &i
// --- HashRoot ---------------------------------------------------------------------
-HXCPP_EXTERN_CLASS_ATTRIBUTES int __root_hash_size(Dynamic &rtHash);
+HXCPP_EXTERN_CLASS_ATTRIBUTES int __root_hash_size(Dynamic *rtHash);
// --- IntHash ----------------------------------------------------------------------
diff --git a/Sources/c_snikket/iinclude/hx/StdString.h b/Sources/c_borogove/iinclude/hx/StdString.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/StdString.h
rename to Sources/c_borogove/iinclude/hx/StdString.h
diff --git a/Sources/c_snikket/iinclude/hx/StringAlloc.h b/Sources/c_borogove/iinclude/hx/StringAlloc.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/StringAlloc.h
rename to Sources/c_borogove/iinclude/hx/StringAlloc.h
diff --git a/Sources/c_snikket/iinclude/hx/Telemetry.h b/Sources/c_borogove/iinclude/hx/Telemetry.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Telemetry.h
rename to Sources/c_borogove/iinclude/hx/Telemetry.h
diff --git a/Sources/c_snikket/iinclude/hx/TelemetryTracy.h b/Sources/c_borogove/iinclude/hx/TelemetryTracy.h
similarity index 93%
rename from Sources/c_snikket/iinclude/hx/TelemetryTracy.h
rename to Sources/c_borogove/iinclude/hx/TelemetryTracy.h
index d55bc9d..178932a 100644
--- a/Sources/c_snikket/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.12.0/tracy/TracyC.h"
-#include "../../project/thirdparty/tracy-0.12.0/tracy/Tracy.hpp"
+#include "../../project/thirdparty/tracy-0.11.1/tracy/TracyC.h"
+#include "../../project/thirdparty/tracy-0.11.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), -1);
+ ::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));
#endif
void __hxcpp_tracy_framemark();
diff --git a/Sources/c_snikket/iinclude/hx/Thread.h b/Sources/c_borogove/iinclude/hx/Thread.h
similarity index 91%
rename from Sources/c_snikket/iinclude/hx/Thread.h
rename to Sources/c_borogove/iinclude/hx/Thread.h
index 7f118b2..069d51e 100644
--- a/Sources/c_snikket/iinclude/hx/Thread.h
+++ b/Sources/c_borogove/iinclude/hx/Thread.h
@@ -86,9 +86,6 @@ inline bool HxCreateDetachedThread(DWORD (WINAPI *func)(void *), void *param)
struct HxMutex
{
- bool mValid;
- pthread_mutex_t *mMutex;
-
HxMutex()
{
pthread_mutexattr_t mta;
@@ -99,7 +96,9 @@ struct HxMutex
}
~HxMutex()
{
- Clean();
+ if (mValid)
+ pthread_mutex_destroy(mMutex);
+ delete mMutex;
}
void Lock() { pthread_mutex_lock(mMutex); }
void Unlock() { pthread_mutex_unlock(mMutex); }
@@ -108,16 +107,12 @@ struct HxMutex
void Clean()
{
if (mValid)
- {
pthread_mutex_destroy(mMutex);
- mValid = false;
- }
- if (mMutex)
- {
- delete mMutex;
- mMutex = nullptr;
- }
+ mValid = 0;
}
+
+ bool mValid;
+ pthread_mutex_t *mMutex;
};
#define THREAD_FUNC_TYPE void *
@@ -203,20 +198,19 @@ 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()
{
- Clean();
+ if (mValid)
+ {
+ pthread_cond_destroy(mCondition);
+ }
}
// For autolock
inline operator HxMutex &() { return mMutex; }
@@ -300,14 +294,19 @@ struct HxSemaphore
void Clean()
{
mMutex.Clean();
- if (mCondition)
+ if (mValid)
{
+ 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_snikket/iinclude/hx/Tls.h b/Sources/c_borogove/iinclude/hx/Tls.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Tls.h
rename to Sources/c_borogove/iinclude/hx/Tls.h
diff --git a/Sources/c_snikket/iinclude/hx/Undefine.h b/Sources/c_borogove/iinclude/hx/Undefine.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Undefine.h
rename to Sources/c_borogove/iinclude/hx/Undefine.h
diff --git a/Sources/c_snikket/iinclude/hx/Unordered.h b/Sources/c_borogove/iinclude/hx/Unordered.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/Unordered.h
rename to Sources/c_borogove/iinclude/hx/Unordered.h
diff --git a/Sources/c_snikket/iinclude/hx/strings/RandomStrings.h b/Sources/c_borogove/iinclude/hx/strings/RandomStrings.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/strings/RandomStrings.h
rename to Sources/c_borogove/iinclude/hx/strings/RandomStrings.h
diff --git a/Sources/c_snikket/iinclude/hx/strings/StringBuilder.h b/Sources/c_borogove/iinclude/hx/strings/StringBuilder.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/strings/StringBuilder.h
rename to Sources/c_borogove/iinclude/hx/strings/StringBuilder.h
diff --git a/Sources/c_snikket/iinclude/hx/strings/Strings.h b/Sources/c_borogove/iinclude/hx/strings/Strings.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/strings/Strings.h
rename to Sources/c_borogove/iinclude/hx/strings/Strings.h
diff --git a/Sources/c_snikket/iinclude/hx/strings/internal/_Either2/_Either2.h b/Sources/c_borogove/iinclude/hx/strings/internal/_Either2/_Either2.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hx/strings/internal/_Either2/_Either2.h
rename to Sources/c_borogove/iinclude/hx/strings/internal/_Either2/_Either2.h
diff --git a/Sources/c_snikket/iinclude/hxMath.h b/Sources/c_borogove/iinclude/hxMath.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hxMath.h
rename to Sources/c_borogove/iinclude/hxMath.h
diff --git a/Sources/c_snikket/iinclude/hxString.h b/Sources/c_borogove/iinclude/hxString.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hxString.h
rename to Sources/c_borogove/iinclude/hxString.h
diff --git a/Sources/c_snikket/iinclude/hxcpp.h b/Sources/c_borogove/iinclude/hxcpp.h
similarity index 100%
rename from Sources/c_snikket/iinclude/hxcpp.h
rename to Sources/c_borogove/iinclude/hxcpp.h
diff --git a/Sources/c_snikket/iinclude/null.h b/Sources/c_borogove/iinclude/null.h
similarity index 100%
rename from Sources/c_snikket/iinclude/null.h
rename to Sources/c_borogove/iinclude/null.h
diff --git a/Sources/c_snikket/iinclude/sha/Hash.h b/Sources/c_borogove/iinclude/sha/Hash.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sha/Hash.h
rename to Sources/c_borogove/iinclude/sha/Hash.h
diff --git a/Sources/c_snikket/iinclude/sha/SHA256.h b/Sources/c_borogove/iinclude/sha/SHA256.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sha/SHA256.h
rename to Sources/c_borogove/iinclude/sha/SHA256.h
diff --git a/Sources/c_snikket/iinclude/sha/_SHA256/SHA256_Fields_.h b/Sources/c_borogove/iinclude/sha/_SHA256/SHA256_Fields_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sha/_SHA256/SHA256_Fields_.h
rename to Sources/c_borogove/iinclude/sha/_SHA256/SHA256_Fields_.h
diff --git a/Sources/c_snikket/iinclude/sqlite3.h b/Sources/c_borogove/iinclude/sqlite3.h
similarity index 96%
rename from Sources/c_snikket/iinclude/sqlite3.h
rename to Sources/c_borogove/iinclude/sqlite3.h
index 082a9f9..6e975a6 100644
--- a/Sources/c_snikket/iinclude/sqlite3.h
+++ b/Sources/c_borogove/iinclude/sqlite3.h
@@ -133,7 +133,7 @@ extern "C" {
**
** Since [version 3.6.18] ([dateof:3.6.18]),
** SQLite source code has been stored in the
-** <a href="http://www.fossil-scm.org/">Fossil configuration management
+** <a href="http://fossil-scm.org/">Fossil configuration management
** system</a>. ^The SQLITE_SOURCE_ID macro evaluates to
** a string which identifies a particular check-in of SQLite
** within its configuration management system. ^The SQLITE_SOURCE_ID
@@ -146,9 +146,12 @@ extern "C" {
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
** [sqlite_version()] and [sqlite_source_id()].
*/
-#define SQLITE_VERSION "3.49.1"
-#define SQLITE_VERSION_NUMBER 3049001
-#define SQLITE_SOURCE_ID "2025-02-18 13:38:58 873d4e274b4988d260ba8354a9718324a1c26187a4ab4c1cc0227c03d0f10e70"
+#define SQLITE_VERSION "3.51.2"
+#define SQLITE_VERSION_NUMBER 3051002
+#define SQLITE_SOURCE_ID "2026-01-09 17:27:48 b270f8339eb13b504d0b2ba154ebca966b7dde08e40c3ed7d559749818cb2075"
+#define SQLITE_SCM_BRANCH "branch-3.51"
+#define SQLITE_SCM_TAGS "release version-3.51.2"
+#define SQLITE_SCM_DATETIME "2026-01-09T17:27:48.405Z"
/*
** CAPI3REF: Run-Time Library Version Numbers
@@ -168,9 +171,9 @@ extern "C" {
** assert( strcmp(sqlite3_libversion(),SQLITE_VERSION)==0 );
** </pre></blockquote>)^
**
-** ^The sqlite3_version[] string constant contains the text of [SQLITE_VERSION]
-** macro. ^The sqlite3_libversion() function returns a pointer to the
-** to the sqlite3_version[] string constant. The sqlite3_libversion()
+** ^The sqlite3_version[] string constant contains the text of the
+** [SQLITE_VERSION] macro. ^The sqlite3_libversion() function returns a
+** pointer to the sqlite3_version[] string constant. The sqlite3_libversion()
** function is provided for use in DLLs since DLL users usually do not have
** direct access to string constants within the DLL. ^The
** sqlite3_libversion_number() function returns an integer equal to
@@ -370,7 +373,7 @@ typedef int (*sqlite3_callback)(void*,int,char**, char**);
** without having to use a lot of C code.
**
** ^The sqlite3_exec() interface runs zero or more UTF-8 encoded,
-** semicolon-separate SQL statements passed into its 2nd argument,
+** semicolon-separated SQL statements passed into its 2nd argument,
** in the context of the [database connection] passed in as its 1st
** argument. ^If the callback function of the 3rd argument to
** sqlite3_exec() is not NULL, then it is invoked for each result row
@@ -403,7 +406,7 @@ typedef int (*sqlite3_callback)(void*,int,char**, char**);
** result row is NULL then the corresponding string pointer for the
** sqlite3_exec() callback is a NULL pointer. ^The 4th argument to the
** sqlite3_exec() callback is an array of pointers to strings where each
-** entry represents the name of corresponding result column as obtained
+** entry represents the name of a corresponding result column as obtained
** from [sqlite3_column_name()].
**
** ^If the 2nd parameter to sqlite3_exec() is a NULL pointer, a pointer
@@ -497,6 +500,9 @@ SQLITE_API int sqlite3_exec(
#define SQLITE_ERROR_MISSING_COLLSEQ (SQLITE_ERROR | (1<<8))
#define SQLITE_ERROR_RETRY (SQLITE_ERROR | (2<<8))
#define SQLITE_ERROR_SNAPSHOT (SQLITE_ERROR | (3<<8))
+#define SQLITE_ERROR_RESERVESIZE (SQLITE_ERROR | (4<<8))
+#define SQLITE_ERROR_KEY (SQLITE_ERROR | (5<<8))
+#define SQLITE_ERROR_UNABLE (SQLITE_ERROR | (6<<8))
#define SQLITE_IOERR_READ (SQLITE_IOERR | (1<<8))
#define SQLITE_IOERR_SHORT_READ (SQLITE_IOERR | (2<<8))
#define SQLITE_IOERR_WRITE (SQLITE_IOERR | (3<<8))
@@ -531,6 +537,8 @@ SQLITE_API int sqlite3_exec(
#define SQLITE_IOERR_DATA (SQLITE_IOERR | (32<<8))
#define SQLITE_IOERR_CORRUPTFS (SQLITE_IOERR | (33<<8))
#define SQLITE_IOERR_IN_PAGE (SQLITE_IOERR | (34<<8))
+#define SQLITE_IOERR_BADKEY (SQLITE_IOERR | (35<<8))
+#define SQLITE_IOERR_CODEC (SQLITE_IOERR | (36<<8))
#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8))
#define SQLITE_LOCKED_VTAB (SQLITE_LOCKED | (2<<8))
#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8))
@@ -589,7 +597,7 @@ SQLITE_API int sqlite3_exec(
** Note in particular that passing the SQLITE_OPEN_EXCLUSIVE flag into
** [sqlite3_open_v2()] does *not* cause the underlying database file
** to be opened using O_EXCL. Passing SQLITE_OPEN_EXCLUSIVE into
-** [sqlite3_open_v2()] has historically be a no-op and might become an
+** [sqlite3_open_v2()] has historically been a no-op and might become an
** error in future versions of SQLite.
*/
#define SQLITE_OPEN_READONLY 0x00000001 /* Ok for sqlite3_open_v2() */
@@ -683,7 +691,7 @@ SQLITE_API int sqlite3_exec(
** SQLite uses one of these integer values as the second
** argument to calls it makes to the xLock() and xUnlock() methods
** of an [sqlite3_io_methods] object. These values are ordered from
-** lest restrictive to most restrictive.
+** least restrictive to most restrictive.
**
** The argument to xLock() is always SHARED or higher. The argument to
** xUnlock is either SHARED or NONE.
@@ -924,7 +932,7 @@ struct sqlite3_io_methods {
** connection. See also [SQLITE_FCNTL_FILE_POINTER].
**
** <li>[[SQLITE_FCNTL_SYNC_OMITTED]]
-** No longer in use.
+** The SQLITE_FCNTL_SYNC_OMITTED file-control is no longer used.
**
** <li>[[SQLITE_FCNTL_SYNC]]
** The [SQLITE_FCNTL_SYNC] opcode is generated internally by SQLite and
@@ -999,7 +1007,7 @@ struct sqlite3_io_methods {
**
** <li>[[SQLITE_FCNTL_VFSNAME]]
** ^The [SQLITE_FCNTL_VFSNAME] opcode can be used to obtain the names of
-** all [VFSes] in the VFS stack. The names are of all VFS shims and the
+** all [VFSes] in the VFS stack. The names of all VFS shims and the
** final bottom-level VFS are written into memory obtained from
** [sqlite3_malloc()] and the result is stored in the char* variable
** that the fourth parameter of [sqlite3_file_control()] points to.
@@ -1013,7 +1021,7 @@ struct sqlite3_io_methods {
** ^The [SQLITE_FCNTL_VFS_POINTER] opcode finds a pointer to the top-level
** [VFSes] currently in use. ^(The argument X in
** sqlite3_file_control(db,SQLITE_FCNTL_VFS_POINTER,X) must be
-** of type "[sqlite3_vfs] **". This opcodes will set *X
+** of type "[sqlite3_vfs] **". This opcode will set *X
** to a pointer to the top-level VFS.)^
** ^When there are multiple VFS shims in the stack, this opcode finds the
** upper-most shim only.
@@ -1163,6 +1171,12 @@ struct sqlite3_io_methods {
** the value that M is to be set to. Before returning, the 32-bit signed
** integer is overwritten with the previous value of M.
**
+** <li>[[SQLITE_FCNTL_BLOCK_ON_CONNECT]]
+** The [SQLITE_FCNTL_BLOCK_ON_CONNECT] opcode is used to configure the
+** VFS to block when taking a SHARED lock to connect to a wal mode database.
+** This is used to implement the functionality associated with
+** SQLITE_SETLK_BLOCK_ON_CONNECT.
+**
** <li>[[SQLITE_FCNTL_DATA_VERSION]]
** The [SQLITE_FCNTL_DATA_VERSION] opcode is used to detect changes to
** a database file. The argument is a pointer to a 32-bit unsigned integer.
@@ -1197,7 +1211,7 @@ struct sqlite3_io_methods {
** <li>[[SQLITE_FCNTL_EXTERNAL_READER]]
** The EXPERIMENTAL [SQLITE_FCNTL_EXTERNAL_READER] opcode is used to detect
** whether or not there is a database client in another process with a wal-mode
-** transaction open on the database or not. It is only available on unix.The
+** transaction open on the database or not. It is only available on unix. The
** (void*) argument passed with this file-control should be a pointer to a
** value of type (int). The integer value is set to 1 if the database is a wal
** mode database and there exists at least one client in another process that
@@ -1215,6 +1229,15 @@ struct sqlite3_io_methods {
** database is not a temp db, then the [SQLITE_FCNTL_RESET_CACHE] file-control
** purges the contents of the in-memory page cache. If there is an open
** transaction, or if the db is a temp-db, this opcode is a no-op, not an error.
+**
+** <li>[[SQLITE_FCNTL_FILESTAT]]
+** The [SQLITE_FCNTL_FILESTAT] opcode returns low-level diagnostic information
+** about the [sqlite3_file] objects used access the database and journal files
+** for the given schema. The fourth parameter to [sqlite3_file_control()]
+** should be an initialized [sqlite3_str] pointer. JSON text describing
+** various aspects of the sqlite3_file object is appended to the sqlite3_str.
+** The SQLITE_FCNTL_FILESTAT opcode is usually a no-op, unless compile-time
+** options are used to enable it.
** </ul>
*/
#define SQLITE_FCNTL_LOCKSTATE 1
@@ -1259,6 +1282,8 @@ struct sqlite3_io_methods {
#define SQLITE_FCNTL_CKSM_FILE 41
#define SQLITE_FCNTL_RESET_CACHE 42
#define SQLITE_FCNTL_NULL_IO 43
+#define SQLITE_FCNTL_BLOCK_ON_CONNECT 44
+#define SQLITE_FCNTL_FILESTAT 45
/* deprecated names */
#define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE
@@ -1621,7 +1646,7 @@ struct sqlite3_vfs {
** SQLite interfaces so that an application usually does not need to
** invoke sqlite3_initialize() directly. For example, [sqlite3_open()]
** calls sqlite3_initialize() so the SQLite library will be automatically
-** initialized when [sqlite3_open()] is called if it has not be initialized
+** initialized when [sqlite3_open()] is called if it has not been initialized
** already. ^However, if SQLite is compiled with the [SQLITE_OMIT_AUTOINIT]
** compile-time option, then the automatic calls to sqlite3_initialize()
** are omitted and the application must call sqlite3_initialize() directly
@@ -1878,21 +1903,21 @@ struct sqlite3_mem_methods {
** The [sqlite3_mem_methods]
** structure is filled with the currently defined memory allocation routines.)^
** This option can be used to overload the default memory allocation
-** routines with a wrapper that simulations memory allocation failure or
+** routines with a wrapper that simulates memory allocation failure or
** tracks memory usage, for example. </dd>
**
** [[SQLITE_CONFIG_SMALL_MALLOC]] <dt>SQLITE_CONFIG_SMALL_MALLOC</dt>
-** <dd> ^The SQLITE_CONFIG_SMALL_MALLOC option takes single argument of
+** <dd> ^The SQLITE_CONFIG_SMALL_MALLOC option takes a single argument of
** type int, interpreted as a boolean, which if true provides a hint to
** SQLite that it should avoid large memory allocations if possible.
** SQLite will run faster if it is free to make large memory allocations,
-** but some application might prefer to run slower in exchange for
+** but some applications might prefer to run slower in exchange for
** guarantees about memory fragmentation that are possible if large
** allocations are avoided. This hint is normally off.
** </dd>
**
** [[SQLITE_CONFIG_MEMSTATUS]] <dt>SQLITE_CONFIG_MEMSTATUS</dt>
-** <dd> ^The SQLITE_CONFIG_MEMSTATUS option takes single argument of type int,
+** <dd> ^The SQLITE_CONFIG_MEMSTATUS option takes a single argument of type int,
** interpreted as a boolean, which enables or disables the collection of
** memory allocation statistics. ^(When memory allocation statistics are
** disabled, the following SQLite interfaces become non-operational:
@@ -1937,7 +1962,7 @@ struct sqlite3_mem_methods {
** ^If pMem is NULL and N is non-zero, then each database connection
** does an initial bulk allocation for page cache memory
** from [sqlite3_malloc()] sufficient for N cache lines if N is positive or
-** of -1024*N bytes if N is negative, . ^If additional
+** of -1024*N bytes if N is negative. ^If additional
** page cache memory is needed beyond what is provided by the initial
** allocation, then SQLite goes to [sqlite3_malloc()] separately for each
** additional cache line. </dd>
@@ -1966,7 +1991,7 @@ struct sqlite3_mem_methods {
** <dd> ^(The SQLITE_CONFIG_MUTEX option takes a single argument which is a
** pointer to an instance of the [sqlite3_mutex_methods] structure.
** The argument specifies alternative low-level mutex routines to be used
-** in place the mutex routines built into SQLite.)^ ^SQLite makes a copy of
+** in place of the mutex routines built into SQLite.)^ ^SQLite makes a copy of
** the content of the [sqlite3_mutex_methods] structure before the call to
** [sqlite3_config()] returns. ^If SQLite is compiled with
** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then
@@ -1989,13 +2014,16 @@ struct sqlite3_mem_methods {
**
** [[SQLITE_CONFIG_LOOKASIDE]] <dt>SQLITE_CONFIG_LOOKASIDE</dt>
** <dd> ^(The SQLITE_CONFIG_LOOKASIDE option takes two arguments that determine
-** the default size of lookaside memory on each [database connection].
+** the default size of [lookaside memory] on each [database connection].
** The first argument is the
-** size of each lookaside buffer slot and the second is the number of
-** slots allocated to each database connection.)^ ^(SQLITE_CONFIG_LOOKASIDE
-** sets the <i>default</i> lookaside size. The [SQLITE_DBCONFIG_LOOKASIDE]
-** option to [sqlite3_db_config()] can be used to change the lookaside
-** configuration on individual connections.)^ </dd>
+** size of each lookaside buffer slot ("sz") and the second is the number of
+** slots allocated to each database connection ("cnt").)^
+** ^(SQLITE_CONFIG_LOOKASIDE sets the <i>default</i> lookaside size.
+** The [SQLITE_DBCONFIG_LOOKASIDE] option to [sqlite3_db_config()] can
+** be used to change the lookaside configuration on individual connections.)^
+** The [-DSQLITE_DEFAULT_LOOKASIDE] option can be used to change the
+** default lookaside configuration at compile-time.
+** </dd>
**
** [[SQLITE_CONFIG_PCACHE2]] <dt>SQLITE_CONFIG_PCACHE2</dt>
** <dd> ^(The SQLITE_CONFIG_PCACHE2 option takes a single argument which is
@@ -2005,7 +2033,7 @@ struct sqlite3_mem_methods {
**
** [[SQLITE_CONFIG_GETPCACHE2]] <dt>SQLITE_CONFIG_GETPCACHE2</dt>
** <dd> ^(The SQLITE_CONFIG_GETPCACHE2 option takes a single argument which
-** is a pointer to an [sqlite3_pcache_methods2] object. SQLite copies of
+** is a pointer to an [sqlite3_pcache_methods2] object. SQLite copies off
** the current page cache implementation into that object.)^ </dd>
**
** [[SQLITE_CONFIG_LOG]] <dt>SQLITE_CONFIG_LOG</dt>
@@ -2022,7 +2050,7 @@ struct sqlite3_mem_methods {
** the logger function is a copy of the first parameter to the corresponding
** [sqlite3_log()] call and is intended to be a [result code] or an
** [extended result code]. ^The third parameter passed to the logger is
-** log message after formatting via [sqlite3_snprintf()].
+** a log message after formatting via [sqlite3_snprintf()].
** The SQLite logging interface is not reentrant; the logger function
** supplied by the application must not invoke any SQLite interface.
** In a multi-threaded application, the application-defined logger
@@ -2213,7 +2241,7 @@ struct sqlite3_mem_methods {
** These constants are the available integer configuration options that
** can be passed as the second parameter to the [sqlite3_db_config()] interface.
**
-** The [sqlite3_db_config()] interface is a var-args functions. It takes a
+** The [sqlite3_db_config()] interface is a var-args function. It takes a
** variable number of parameters, though always at least two. The number of
** parameters passed into sqlite3_db_config() depends on which of these
** constants is given as the second parameter. This documentation page
@@ -2232,31 +2260,50 @@ struct sqlite3_mem_methods {
** [[SQLITE_DBCONFIG_LOOKASIDE]]
** <dt>SQLITE_DBCONFIG_LOOKASIDE</dt>
** <dd> The SQLITE_DBCONFIG_LOOKASIDE option is used to adjust the
-** configuration of the lookaside memory allocator within a database
+** configuration of the [lookaside memory allocator] within a database
** connection.
** The arguments to the SQLITE_DBCONFIG_LOOKASIDE option are <i>not</i>
** in the [DBCONFIG arguments|usual format].
** The SQLITE_DBCONFIG_LOOKASIDE option takes three arguments, not two,
** so that a call to [sqlite3_db_config()] that uses SQLITE_DBCONFIG_LOOKASIDE
** should have a total of five parameters.
-** ^The first argument (the third parameter to [sqlite3_db_config()] is a
+** <ol>
+** <li><p>The first argument ("buf") is a
** pointer to a memory buffer to use for lookaside memory.
-** ^The first argument after the SQLITE_DBCONFIG_LOOKASIDE verb
-** may be NULL in which case SQLite will allocate the
-** lookaside buffer itself using [sqlite3_malloc()]. ^The second argument is the
-** size of each lookaside buffer slot. ^The third argument is the number of
-** slots. The size of the buffer in the first argument must be greater than
-** or equal to the product of the second and third arguments. The buffer
-** must be aligned to an 8-byte boundary. ^If the second argument to
-** SQLITE_DBCONFIG_LOOKASIDE is not a multiple of 8, it is internally
-** rounded down to the next smaller multiple of 8. ^(The lookaside memory
+** The first argument may be NULL in which case SQLite will allocate the
+** lookaside buffer itself using [sqlite3_malloc()].
+** <li><P>The second argument ("sz") is the
+** size of each lookaside buffer slot. Lookaside is disabled if "sz"
+** is less than 8. The "sz" argument should be a multiple of 8 less than
+** 65536. If "sz" does not meet this constraint, it is reduced in size until
+** it does.
+** <li><p>The third argument ("cnt") is the number of slots. Lookaside is disabled
+** if "cnt"is less than 1. The "cnt" value will be reduced, if necessary, so
+** that the product of "sz" and "cnt" does not exceed 2,147,418,112. The "cnt"
+** parameter is usually chosen so that the product of "sz" and "cnt" is less
+** than 1,000,000.
+** </ol>
+** <p>If the "buf" argument is not NULL, then it must
+** point to a memory buffer with a size that is greater than
+** or equal to the product of "sz" and "cnt".
+** The buffer must be aligned to an 8-byte boundary.
+** The lookaside memory
** configuration for a database connection can only be changed when that
** connection is not currently using lookaside memory, or in other words
-** when the "current value" returned by
-** [sqlite3_db_status](D,[SQLITE_DBSTATUS_LOOKASIDE_USED],...) is zero.
+** when the value returned by [SQLITE_DBSTATUS_LOOKASIDE_USED] is zero.
** Any attempt to change the lookaside memory configuration when lookaside
** memory is in use leaves the configuration unchanged and returns
-** [SQLITE_BUSY].)^</dd>
+** [SQLITE_BUSY].
+** If the "buf" argument is NULL and an attempt
+** to allocate memory based on "sz" and "cnt" fails, then
+** lookaside is silently disabled.
+** <p>
+** The [SQLITE_CONFIG_LOOKASIDE] configuration option can be used to set the
+** default lookaside configuration at initialization. The
+** [-DSQLITE_DEFAULT_LOOKASIDE] option can be used to set the default lookaside
+** configuration at compile-time. Typical values for lookaside are 1200 for
+** "sz" and 40 to 100 for "cnt".
+** </dd>
**
** [[SQLITE_DBCONFIG_ENABLE_FKEY]]
** <dt>SQLITE_DBCONFIG_ENABLE_FKEY</dt>
@@ -2306,17 +2353,20 @@ struct sqlite3_mem_methods {
**
** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]]
** <dt>SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER</dt>
-** <dd> ^This option is used to enable or disable the
-** [fts3_tokenizer()] function which is part of the
-** [FTS3] full-text search engine extension.
-** There must be two additional arguments.
-** The first argument is an integer which is 0 to disable fts3_tokenizer() or
-** positive to enable fts3_tokenizer() or negative to leave the setting
-** unchanged.
-** The second parameter is a pointer to an integer into which
-** is written 0 or 1 to indicate whether fts3_tokenizer is disabled or enabled
-** following this call. The second parameter may be a NULL pointer, in
-** which case the new setting is not reported back. </dd>
+** <dd> ^This option is used to enable or disable using the
+** [fts3_tokenizer()] function - part of the [FTS3] full-text search engine
+** extension - without using bound parameters as the parameters. Doing so
+** is disabled by default. There must be two additional arguments. The first
+** argument is an integer. If it is passed 0, then using fts3_tokenizer()
+** without bound parameters is disabled. If it is passed a positive value,
+** then calling fts3_tokenizer without bound parameters is enabled. If it
+** is passed a negative value, this setting is not modified - this can be
+** used to query for the current setting. The second parameter is a pointer
+** to an integer into which is written 0 or 1 to indicate the current value
+** of this setting (after it is modified, if applicable). The second
+** parameter may be a NULL pointer, in which case the value of the setting
+** is not reported back. Refer to [FTS3] documentation for further details.
+** </dd>
**
** [[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION]]
** <dt>SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION</dt>
@@ -2328,8 +2378,8 @@ struct sqlite3_mem_methods {
** When the first argument to this interface is 1, then only the C-API is
** enabled and the SQL function remains disabled. If the first argument to
** this interface is 0, then both the C-API and the SQL function are disabled.
-** If the first argument is -1, then no changes are made to state of either the
-** C-API or the SQL function.
+** If the first argument is -1, then no changes are made to the state of either
+** the C-API or the SQL function.
** The second parameter is a pointer to an integer into which
** is written 0 or 1 to indicate whether [sqlite3_load_extension()] interface
** is disabled or enabled following this call. The second parameter may
@@ -2447,7 +2497,7 @@ struct sqlite3_mem_methods {
** [[SQLITE_DBCONFIG_LEGACY_ALTER_TABLE]]
** <dt>SQLITE_DBCONFIG_LEGACY_ALTER_TABLE</dt>
** <dd>The SQLITE_DBCONFIG_LEGACY_ALTER_TABLE option activates or deactivates
-** the legacy behavior of the [ALTER TABLE RENAME] command such it
+** the legacy behavior of the [ALTER TABLE RENAME] command such that it
** behaves as it did prior to [version 3.24.0] (2018-06-04). See the
** "Compatibility Notice" on the [ALTER TABLE RENAME documentation] for
** additional information. This feature can also be turned on and off
@@ -2496,7 +2546,7 @@ struct sqlite3_mem_methods {
** <dt>SQLITE_DBCONFIG_LEGACY_FILE_FORMAT</dt>
** <dd>The SQLITE_DBCONFIG_LEGACY_FILE_FORMAT option activates or deactivates
** the legacy file format flag. When activated, this flag causes all newly
-** created database file to have a schema format version number (the 4-byte
+** created database files to have a schema format version number (the 4-byte
** integer found at offset 44 into the database header) of 1. This in turn
** means that the resulting database file will be readable and writable by
** any SQLite version back to 3.0.0 ([dateof:3.0.0]). Without this setting,
@@ -2523,7 +2573,7 @@ struct sqlite3_mem_methods {
** the database handle both when the SQL statement is prepared and when it
** is stepped. The flag is set (collection of statistics is enabled)
** by default. <p>This option takes two arguments: an integer and a pointer to
-** an integer.. The first argument is 1, 0, or -1 to enable, disable, or
+** an integer. The first argument is 1, 0, or -1 to enable, disable, or
** leave unchanged the statement scanstatus option. If the second argument
** is not NULL, then the value of the statement scanstatus setting after
** processing the first argument is written into the integer that the second
@@ -2566,8 +2616,8 @@ struct sqlite3_mem_methods {
** <dd>The SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE option enables or disables the
** ability of the [ATTACH DATABASE] SQL command to open a database for writing.
** This capability is enabled by default. Applications can disable or
-** reenable this capability using the current DBCONFIG option. If the
-** the this capability is disabled, the [ATTACH] command will still work,
+** reenable this capability using the current DBCONFIG option. If
+** this capability is disabled, the [ATTACH] command will still work,
** but the database will be opened read-only. If this option is disabled,
** then the ability to create a new database using [ATTACH] is also disabled,
** regardless of the value of the [SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE]
@@ -2601,7 +2651,7 @@ struct sqlite3_mem_methods {
**
** <p>Most of the SQLITE_DBCONFIG options take two arguments, so that the
** overall call to [sqlite3_db_config()] has a total of four parameters.
-** The first argument (the third parameter to sqlite3_db_config()) is a integer.
+** The first argument (the third parameter to sqlite3_db_config()) is an integer.
** The second argument is a pointer to an integer. If the first argument is 1,
** then the option becomes enabled. If the first integer argument is 0, then the
** option is disabled. If the first argument is -1, then the option setting
@@ -2891,7 +2941,7 @@ SQLITE_API int sqlite3_is_interrupted(sqlite3*);
** ^These routines return 0 if the statement is incomplete. ^If a
** memory allocation fails, then SQLITE_NOMEM is returned.
**
-** ^These routines do not parse the SQL statements thus
+** ^These routines do not parse the SQL statements and thus
** will not detect syntactically incorrect SQL.
**
** ^(If SQLite has not been initialized using [sqlite3_initialize()] prior
@@ -2993,6 +3043,44 @@ SQLITE_API int sqlite3_busy_handler(sqlite3*,int(*)(void*,int),void*);
*/
SQLITE_API int sqlite3_busy_timeout(sqlite3*, int ms);
+/*
+** CAPI3REF: Set the Setlk Timeout
+** METHOD: sqlite3
+**
+** This routine is only useful in SQLITE_ENABLE_SETLK_TIMEOUT builds. If
+** the VFS supports blocking locks, it sets the timeout in ms used by
+** eligible locks taken on wal mode databases by the specified database
+** handle. In non-SQLITE_ENABLE_SETLK_TIMEOUT builds, or if the VFS does
+** not support blocking locks, this function is a no-op.
+**
+** Passing 0 to this function disables blocking locks altogether. Passing
+** -1 to this function requests that the VFS blocks for a long time -
+** indefinitely if possible. The results of passing any other negative value
+** are undefined.
+**
+** Internally, each SQLite database handle stores two timeout values - the
+** busy-timeout (used for rollback mode databases, or if the VFS does not
+** support blocking locks) and the setlk-timeout (used for blocking locks
+** on wal-mode databases). The sqlite3_busy_timeout() method sets both
+** values, this function sets only the setlk-timeout value. Therefore,
+** to configure separate busy-timeout and setlk-timeout values for a single
+** database handle, call sqlite3_busy_timeout() followed by this function.
+**
+** Whenever the number of connections to a wal mode database falls from
+** 1 to 0, the last connection takes an exclusive lock on the database,
+** then checkpoints and deletes the wal file. While it is doing this, any
+** new connection that tries to read from the database fails with an
+** SQLITE_BUSY error. Or, if the SQLITE_SETLK_BLOCK_ON_CONNECT flag is
+** passed to this API, the new connection blocks until the exclusive lock
+** has been released.
+*/
+SQLITE_API int sqlite3_setlk_timeout(sqlite3*, int ms, int flags);
+
+/*
+** CAPI3REF: Flags for sqlite3_setlk_timeout()
+*/
+#define SQLITE_SETLK_BLOCK_ON_CONNECT 0x01
+
/*
** CAPI3REF: Convenience Routines For Running Queries
** METHOD: sqlite3
@@ -3000,7 +3088,7 @@ SQLITE_API int sqlite3_busy_timeout(sqlite3*, int ms);
** This is a legacy interface that is preserved for backwards compatibility.
** Use of this interface is not recommended.
**
-** Definition: A <b>result table</b> is memory data structure created by the
+** Definition: A <b>result table</b> is a memory data structure created by the
** [sqlite3_get_table()] interface. A result table records the
** complete query results from one or more queries.
**
@@ -3143,7 +3231,7 @@ SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list);
** ^Calling sqlite3_free() with a pointer previously returned
** by sqlite3_malloc() or sqlite3_realloc() releases that memory so
** that it might be reused. ^The sqlite3_free() routine is
-** a no-op if is called with a NULL pointer. Passing a NULL pointer
+** a no-op if it is called with a NULL pointer. Passing a NULL pointer
** to sqlite3_free() is harmless. After being freed, memory
** should neither be read nor written. Even reading previously freed
** memory might result in a segmentation fault or other severe error.
@@ -3161,13 +3249,13 @@ SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list);
** sqlite3_free(X).
** ^sqlite3_realloc(X,N) returns a pointer to a memory allocation
** of at least N bytes in size or NULL if insufficient memory is available.
-** ^If M is the size of the prior allocation, then min(N,M) bytes
-** of the prior allocation are copied into the beginning of buffer returned
+** ^If M is the size of the prior allocation, then min(N,M) bytes of the
+** prior allocation are copied into the beginning of the buffer returned
** by sqlite3_realloc(X,N) and the prior allocation is freed.
** ^If sqlite3_realloc(X,N) returns NULL and N is positive, then the
** prior allocation is not freed.
**
-** ^The sqlite3_realloc64(X,N) interfaces works the same as
+** ^The sqlite3_realloc64(X,N) interface works the same as
** sqlite3_realloc(X,N) except that N is a 64-bit unsigned integer instead
** of a 32-bit signed integer.
**
@@ -3217,7 +3305,7 @@ SQLITE_API sqlite3_uint64 sqlite3_msize(void*);
** was last reset. ^The values returned by [sqlite3_memory_used()] and
** [sqlite3_memory_highwater()] include any overhead
** added by SQLite in its implementation of [sqlite3_malloc()],
-** but not overhead added by the any underlying system library
+** but not overhead added by any underlying system library
** routines that [sqlite3_malloc()] may call.
**
** ^The memory high-water mark is reset to the current value of
@@ -3669,7 +3757,7 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
** there is no harm in trying.)
**
** ^(<dt>[SQLITE_OPEN_SHAREDCACHE]</dt>
-** <dd>The database is opened [shared cache] enabled, overriding
+** <dd>The database is opened with [shared cache] enabled, overriding
** the default shared cache setting provided by
** [sqlite3_enable_shared_cache()].)^
** The [use of shared cache mode is discouraged] and hence shared cache
@@ -3677,7 +3765,7 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
** this option is a no-op.
**
** ^(<dt>[SQLITE_OPEN_PRIVATECACHE]</dt>
-** <dd>The database is opened [shared cache] disabled, overriding
+** <dd>The database is opened with [shared cache] disabled, overriding
** the default shared cache setting provided by
** [sqlite3_enable_shared_cache()].)^
**
@@ -4012,7 +4100,7 @@ SQLITE_API sqlite3_file *sqlite3_database_file_object(const char*);
**
** The sqlite3_create_filename(D,J,W,N,P) allocates memory to hold a version of
** database filename D with corresponding journal file J and WAL file W and
-** with N URI parameters key/values pairs in the array P. The result from
+** an array P of N URI Key/Value pairs. The result from
** sqlite3_create_filename(D,J,W,N,P) is a pointer to a database filename that
** is safe to pass to routines like:
** <ul>
@@ -4095,7 +4183,7 @@ SQLITE_API void sqlite3_free_filename(sqlite3_filename);
** subsequent calls to other SQLite interface functions.)^
**
** ^The sqlite3_errstr(E) interface returns the English-language text
-** that describes the [result code] E, as UTF-8, or NULL if E is not an
+** that describes the [result code] E, as UTF-8, or NULL if E is not a
** result code for which a text error message is available.
** ^(Memory to hold the error message string is managed internally
** and must not be freed by the application)^.
@@ -4103,7 +4191,7 @@ SQLITE_API void sqlite3_free_filename(sqlite3_filename);
** ^If the most recent error references a specific token in the input
** SQL, the sqlite3_error_offset() interface returns the byte offset
** of the start of that token. ^The byte offset returned by
-** sqlite3_error_offset() assumes that the input SQL is UTF8.
+** sqlite3_error_offset() assumes that the input SQL is UTF-8.
** ^If the most recent error does not reference a specific token in the input
** SQL, then the sqlite3_error_offset() function returns -1.
**
@@ -4128,6 +4216,34 @@ SQLITE_API const void *sqlite3_errmsg16(sqlite3*);
SQLITE_API const char *sqlite3_errstr(int);
SQLITE_API int sqlite3_error_offset(sqlite3 *db);
+/*
+** CAPI3REF: Set Error Codes And Message
+** METHOD: sqlite3
+**
+** Set the error code of the database handle passed as the first argument
+** to errcode, and the error message to a copy of nul-terminated string
+** zErrMsg. If zErrMsg is passed NULL, then the error message is set to
+** the default message associated with the supplied error code. Subsequent
+** calls to [sqlite3_errcode()] and [sqlite3_errmsg()] and similar will
+** return the values set by this routine in place of what was previously
+** set by SQLite itself.
+**
+** This function returns SQLITE_OK if the error code and error message are
+** successfully set, SQLITE_NOMEM if an OOM occurs, and SQLITE_MISUSE if
+** the database handle is NULL or invalid.
+**
+** The error code and message set by this routine remains in effect until
+** they are changed, either by another call to this routine or until they are
+** changed to by SQLite itself to reflect the result of some subsquent
+** API call.
+**
+** This function is intended for use by SQLite extensions or wrappers. The
+** idea is that an extension or wrapper can use this routine to set error
+** messages and error codes and thus behave more like a core SQLite
+** feature from the point of view of an application.
+*/
+SQLITE_API int sqlite3_set_errmsg(sqlite3 *db, int errcode, const char *zErrMsg);
+
/*
** CAPI3REF: Prepared Statement Object
** KEYWORDS: {prepared statement} {prepared statements}
@@ -4202,8 +4318,8 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
**
** These constants define various performance limits
** that can be lowered at run-time using [sqlite3_limit()].
-** The synopsis of the meanings of the various limits is shown below.
-** Additional information is available at [limits | Limits in SQLite].
+** A concise description of these limits follows, and additional information
+** is available at [limits | Limits in SQLite].
**
** <dl>
** [[SQLITE_LIMIT_LENGTH]] ^(<dt>SQLITE_LIMIT_LENGTH</dt>
@@ -4268,7 +4384,7 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
/*
** CAPI3REF: Prepare Flags
**
-** These constants define various flags that can be passed into
+** These constants define various flags that can be passed into the
** "prepFlags" parameter of the [sqlite3_prepare_v3()] and
** [sqlite3_prepare16_v3()] interfaces.
**
@@ -4355,7 +4471,7 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
** there is a small performance advantage to passing an nByte parameter that
** is the number of bytes in the input string <i>including</i>
** the nul-terminator.
-** Note that nByte measure the length of the input in bytes, not
+** Note that nByte measures the length of the input in bytes, not
** characters, even for the UTF-16 interfaces.
**
** ^If pzTail is not NULL then *pzTail is made to point to the first byte
@@ -4489,7 +4605,7 @@ SQLITE_API int sqlite3_prepare16_v3(
**
** ^The sqlite3_expanded_sql() interface returns NULL if insufficient memory
** is available to hold the result, or if the result would exceed the
-** the maximum string length determined by the [SQLITE_LIMIT_LENGTH].
+** maximum string length determined by the [SQLITE_LIMIT_LENGTH].
**
** ^The [SQLITE_TRACE_SIZE_LIMIT] compile-time option limits the size of
** bound parameter expansions. ^The [SQLITE_OMIT_TRACE] compile-time
@@ -4677,7 +4793,7 @@ typedef struct sqlite3_value sqlite3_value;
**
** The context in which an SQL function executes is stored in an
** sqlite3_context object. ^A pointer to an sqlite3_context object
-** is always first parameter to [application-defined SQL functions].
+** is always the first parameter to [application-defined SQL functions].
** The application-defined SQL function implementation will pass this
** pointer through into calls to [sqlite3_result_int | sqlite3_result()],
** [sqlite3_aggregate_context()], [sqlite3_user_data()],
@@ -4693,7 +4809,7 @@ typedef struct sqlite3_context sqlite3_context;
** METHOD: sqlite3_stmt
**
** ^(In the SQL statement text input to [sqlite3_prepare_v2()] and its variants,
-** literals may be replaced by a [parameter] that matches one of following
+** literals may be replaced by a [parameter] that matches one of the following
** templates:
**
** <ul>
@@ -4738,7 +4854,7 @@ typedef struct sqlite3_context sqlite3_context;
**
** [[byte-order determination rules]] ^The byte-order of
** UTF16 input text is determined by the byte-order mark (BOM, U+FEFF)
-** found in first character, which is removed, or in the absence of a BOM
+** found in the first character, which is removed, or in the absence of a BOM
** the byte order is the native byte order of the host
** machine for sqlite3_bind_text16() or the byte order specified in
** the 6th parameter for sqlite3_bind_text64().)^
@@ -4758,7 +4874,7 @@ typedef struct sqlite3_context sqlite3_context;
** or sqlite3_bind_text16() or sqlite3_bind_text64() then
** that parameter must be the byte offset
** where the NUL terminator would occur assuming the string were NUL
-** terminated. If any NUL characters occurs at byte offsets less than
+** terminated. If any NUL characters occur at byte offsets less than
** the value of the fourth parameter then the resulting string value will
** contain embedded NULs. The result of expressions involving strings
** with embedded NULs is undefined.
@@ -4801,9 +4917,11 @@ typedef struct sqlite3_context sqlite3_context;
** associated with the pointer P of type T. ^D is either a NULL pointer or
** a pointer to a destructor function for P. ^SQLite will invoke the
** destructor D with a single argument of P when it is finished using
-** P. The T parameter should be a static string, preferably a string
-** literal. The sqlite3_bind_pointer() routine is part of the
-** [pointer passing interface] added for SQLite 3.20.0.
+** P, even if the call to sqlite3_bind_pointer() fails. Due to a
+** historical design quirk, results are undefined if D is
+** SQLITE_TRANSIENT. The T parameter should be a static string,
+** preferably a string literal. The sqlite3_bind_pointer() routine is
+** part of the [pointer passing interface] added for SQLite 3.20.0.
**
** ^If any of the sqlite3_bind_*() routines are called with a NULL pointer
** for the [prepared statement] or with a prepared statement for which
@@ -4970,7 +5088,7 @@ SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt*, int N);
** METHOD: sqlite3_stmt
**
** ^These routines provide a means to determine the database, table, and
-** table column that is the origin of a particular result column in
+** table column that is the origin of a particular result column in a
** [SELECT] statement.
** ^The name of the database or table or column can be returned as
** either a UTF-8 or UTF-16 string. ^The _database_ routines return
@@ -5108,7 +5226,7 @@ SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int);
** other than [SQLITE_ROW] before any subsequent invocation of
** sqlite3_step(). Failure to reset the prepared statement using
** [sqlite3_reset()] would result in an [SQLITE_MISUSE] return from
-** sqlite3_step(). But after [version 3.6.23.1] ([dateof:3.6.23.1],
+** sqlite3_step(). But after [version 3.6.23.1] ([dateof:3.6.23.1]),
** sqlite3_step() began
** calling [sqlite3_reset()] automatically in this circumstance rather
** than returning [SQLITE_MISUSE]. This is not considered a compatibility
@@ -5414,7 +5532,7 @@ SQLITE_API int sqlite3_column_type(sqlite3_stmt*, int iCol);
**
** ^The sqlite3_finalize() function is called to delete a [prepared statement].
** ^If the most recent evaluation of the statement encountered no errors
-** or if the statement is never been evaluated, then sqlite3_finalize() returns
+** or if the statement has never been evaluated, then sqlite3_finalize() returns
** SQLITE_OK. ^If the most recent evaluation of statement S failed, then
** sqlite3_finalize(S) returns the appropriate [error code] or
** [extended error code].
@@ -5539,8 +5657,8 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
**
** For best security, the [SQLITE_DIRECTONLY] flag is recommended for
** all application-defined SQL functions that do not need to be
-** used inside of triggers, view, CHECK constraints, or other elements of
-** the database schema. This flags is especially recommended for SQL
+** used inside of triggers, views, CHECK constraints, or other elements of
+** the database schema. This flag is especially recommended for SQL
** functions that have side effects or reveal internal application state.
** Without this flag, an attacker might be able to modify the schema of
** a database file to include invocations of the function with parameters
@@ -5571,7 +5689,7 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
** [user-defined window functions|available here].
**
** ^(If the final parameter to sqlite3_create_function_v2() or
-** sqlite3_create_window_function() is not NULL, then it is destructor for
+** sqlite3_create_window_function() is not NULL, then it is the destructor for
** the application data pointer. The destructor is invoked when the function
** is deleted, either by being overloaded or when the database connection
** closes.)^ ^The destructor is also invoked if the call to
@@ -5646,7 +5764,7 @@ SQLITE_API int sqlite3_create_window_function(
/*
** CAPI3REF: Text Encodings
**
-** These constant define integer codes that represent the various
+** These constants define integer codes that represent the various
** text encodings supported by SQLite.
*/
#define SQLITE_UTF8 1 /* IMP: R-37514-35566 */
@@ -5738,7 +5856,7 @@ SQLITE_API int sqlite3_create_window_function(
** result.
** Every function that invokes [sqlite3_result_subtype()] should have this
** property. If it does not, then the call to [sqlite3_result_subtype()]
-** might become a no-op if the function is used as term in an
+** might become a no-op if the function is used as a term in an
** [expression index]. On the other hand, SQL functions that never invoke
** [sqlite3_result_subtype()] should avoid setting this property, as the
** purpose of this property is to disable certain optimizations that are
@@ -5865,7 +5983,7 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6
** sqlite3_value_nochange(X) interface returns true if and only if
** the column corresponding to X is unchanged by the UPDATE operation
** that the xUpdate method call was invoked to implement and if
-** and the prior [xColumn] method call that was invoked to extracted
+** the prior [xColumn] method call that was invoked to extract
** the value for that column returned without setting a result (probably
** because it queried [sqlite3_vtab_nochange()] and found that the column
** was unchanging). ^Within an [xUpdate] method, any value for which
@@ -5971,7 +6089,7 @@ SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value*);
** METHOD: sqlite3_value
**
** ^The sqlite3_value_dup(V) interface makes a copy of the [sqlite3_value]
-** object D and returns a pointer to that copy. ^The [sqlite3_value] returned
+** object V and returns a pointer to that copy. ^The [sqlite3_value] returned
** is a [protected sqlite3_value] object even if the input is not.
** ^The sqlite3_value_dup(V) interface returns NULL if V is NULL or if a
** memory allocation fails. ^If V is a [pointer value], then the result
@@ -6009,7 +6127,7 @@ SQLITE_API void sqlite3_value_free(sqlite3_value*);
** allocation error occurs.
**
** ^(The amount of space allocated by sqlite3_aggregate_context(C,N) is
-** determined by the N parameter on first successful call. Changing the
+** determined by the N parameter on the first successful call. Changing the
** value of N in any subsequent call to sqlite3_aggregate_context() within
** the same aggregate function instance will not resize the memory
** allocation.)^ Within the xFinal callback, it is customary to set
@@ -6138,6 +6256,7 @@ SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(voi
** or a NULL pointer if there were no prior calls to
** sqlite3_set_clientdata() with the same values of D and N.
** Names are compared using strcmp() and are thus case sensitive.
+** It returns 0 on success and SQLITE_NOMEM on allocation failure.
**
** If P and X are both non-NULL, then the destructor X is invoked with
** argument P on the first of the following occurrences:
@@ -6171,7 +6290,7 @@ SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(voi
**
** Security Warning: These interfaces should not be exposed in scripting
** languages or in other circumstances where it might be possible for an
-** an attacker to invoke them. Any agent that can invoke these interfaces
+** attacker to invoke them. Any agent that can invoke these interfaces
** can probably also take control of the process.
**
** Database connection client data is only available for SQLite
@@ -6285,7 +6404,7 @@ typedef void (*sqlite3_destructor_type)(void*);
** pointed to by the 2nd parameter are taken as the application-defined
** function result. If the 3rd parameter is non-negative, then it
** must be the byte offset into the string where the NUL terminator would
-** appear if the string where NUL terminated. If any NUL characters occur
+** appear if the string were NUL terminated. If any NUL characters occur
** in the string at a byte offset that is less than the value of the 3rd
** parameter, then the resulting string will contain embedded NULs and the
** result of expressions operating on strings with embedded NULs is undefined.
@@ -6343,7 +6462,7 @@ typedef void (*sqlite3_destructor_type)(void*);
** string and preferably a string literal. The sqlite3_result_pointer()
** routine is part of the [pointer passing interface] added for SQLite 3.20.0.
**
-** If these routines are called from within the different thread
+** If these routines are called from within a different thread
** than the one containing the application-defined function that received
** the [sqlite3_context] pointer, the results are undefined.
*/
@@ -6749,7 +6868,7 @@ SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
** METHOD: sqlite3
**
** ^The sqlite3_db_name(D,N) interface returns a pointer to the schema name
-** for the N-th database on database connection D, or a NULL pointer of N is
+** for the N-th database on database connection D, or a NULL pointer if N is
** out of range. An N value of 0 means the main database file. An N of 1 is
** the "temp" schema. Larger values of N correspond to various ATTACH-ed
** databases.
@@ -6844,7 +6963,7 @@ SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema);
** <dd>The SQLITE_TXN_READ state means that the database is currently
** in a read transaction. Content has been read from the database file
** but nothing in the database file has changed. The transaction state
-** will advanced to SQLITE_TXN_WRITE if any changes occur and there are
+** will be advanced to SQLITE_TXN_WRITE if any changes occur and there are
** no other conflicting concurrent write transactions. The transaction
** state will revert to SQLITE_TXN_NONE following a [ROLLBACK] or
** [COMMIT].</dd>
@@ -6853,7 +6972,7 @@ SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema);
** <dd>The SQLITE_TXN_WRITE state means that the database is currently
** in a write transaction. Content has been written to the database file
** but has not yet committed. The transaction state will change to
-** to SQLITE_TXN_NONE at the next [ROLLBACK] or [COMMIT].</dd>
+** SQLITE_TXN_NONE at the next [ROLLBACK] or [COMMIT].</dd>
*/
#define SQLITE_TXN_NONE 0
#define SQLITE_TXN_READ 1
@@ -7004,6 +7123,8 @@ SQLITE_API int sqlite3_autovacuum_pages(
**
** ^The second argument is a pointer to the function to invoke when a
** row is updated, inserted or deleted in a rowid table.
+** ^The update hook is disabled by invoking sqlite3_update_hook()
+** with a NULL pointer as the second parameter.
** ^The first argument to the callback is a copy of the third argument
** to sqlite3_update_hook().
** ^The second callback argument is one of [SQLITE_INSERT], [SQLITE_DELETE],
@@ -7132,7 +7253,7 @@ SQLITE_API int sqlite3_db_release_memory(sqlite3*);
** CAPI3REF: Impose A Limit On Heap Size
**
** These interfaces impose limits on the amount of heap memory that will be
-** by all database connections within a single process.
+** used by all database connections within a single process.
**
** ^The sqlite3_soft_heap_limit64() interface sets and/or queries the
** soft limit on the amount of heap memory that may be allocated by SQLite.
@@ -7190,7 +7311,7 @@ SQLITE_API int sqlite3_db_release_memory(sqlite3*);
** </ul>)^
**
** The circumstances under which SQLite will enforce the heap limits may
-** changes in future releases of SQLite.
+** change in future releases of SQLite.
*/
SQLITE_API sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 N);
SQLITE_API sqlite3_int64 sqlite3_hard_heap_limit64(sqlite3_int64 N);
@@ -7305,8 +7426,8 @@ SQLITE_API int sqlite3_table_column_metadata(
** ^The entry point is zProc.
** ^(zProc may be 0, in which case SQLite will try to come up with an
** entry point name on its own. It first tries "sqlite3_extension_init".
-** If that does not work, it constructs a name "sqlite3_X_init" where the
-** X is consists of the lower-case equivalent of all ASCII alphabetic
+** If that does not work, it constructs a name "sqlite3_X_init" where
+** X consists of the lower-case equivalent of all ASCII alphabetic
** characters in the filename from the last "/" to the first following
** "." and omitting any initial "lib".)^
** ^The sqlite3_load_extension() interface returns
@@ -7377,7 +7498,7 @@ SQLITE_API int sqlite3_enable_load_extension(sqlite3 *db, int onoff);
** ^(Even though the function prototype shows that xEntryPoint() takes
** no arguments and returns void, SQLite invokes xEntryPoint() with three
** arguments and expects an integer result as if the signature of the
-** entry point where as follows:
+** entry point were as follows:
**
** <blockquote><pre>
** int xEntryPoint(
@@ -7541,7 +7662,7 @@ struct sqlite3_module {
** virtual table and might not be checked again by the byte code.)^ ^(The
** aConstraintUsage[].omit flag is an optimization hint. When the omit flag
** is left in its default setting of false, the constraint will always be
-** checked separately in byte code. If the omit flag is change to true, then
+** checked separately in byte code. If the omit flag is changed to true, then
** the constraint may or may not be checked in byte code. In other words,
** when the omit flag is true there is no guarantee that the constraint will
** not be checked again using byte code.)^
@@ -7567,7 +7688,7 @@ struct sqlite3_module {
** The xBestIndex method may optionally populate the idxFlags field with a
** mask of SQLITE_INDEX_SCAN_* flags. One such flag is
** [SQLITE_INDEX_SCAN_HEX], which if set causes the [EXPLAIN QUERY PLAN]
-** output to show the idxNum has hex instead of as decimal. Another flag is
+** output to show the idxNum as hex instead of as decimal. Another flag is
** SQLITE_INDEX_SCAN_UNIQUE, which if set indicates that the query plan will
** return at most one row.
**
@@ -7708,7 +7829,7 @@ struct sqlite3_index_info {
** the implementation of the [virtual table module]. ^The fourth
** parameter is an arbitrary client data pointer that is passed through
** into the [xCreate] and [xConnect] methods of the virtual table module
-** when a new virtual table is be being created or reinitialized.
+** when a new virtual table is being created or reinitialized.
**
** ^The sqlite3_create_module_v2() interface has a fifth parameter which
** is a pointer to a destructor for the pClientData. ^SQLite will
@@ -7873,7 +7994,7 @@ typedef struct sqlite3_blob sqlite3_blob;
** in *ppBlob. Otherwise an [error code] is returned and, unless the error
** code is SQLITE_MISUSE, *ppBlob is set to NULL.)^ ^This means that, provided
** the API is not misused, it is always safe to call [sqlite3_blob_close()]
-** on *ppBlob after this function it returns.
+** on *ppBlob after this function returns.
**
** This function fails with SQLITE_ERROR if any of the following are true:
** <ul>
@@ -7993,7 +8114,7 @@ SQLITE_API int sqlite3_blob_close(sqlite3_blob *);
**
** ^Returns the size in bytes of the BLOB accessible via the
** successfully opened [BLOB handle] in its only argument. ^The
-** incremental blob I/O routines can only read or overwriting existing
+** incremental blob I/O routines can only read or overwrite existing
** blob content; they cannot change the size of a blob.
**
** This routine only works on a [BLOB handle] which has been created
@@ -8143,7 +8264,7 @@ SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*);
** ^The sqlite3_mutex_alloc() routine allocates a new
** mutex and returns a pointer to it. ^The sqlite3_mutex_alloc()
** routine returns NULL if it is unable to allocate the requested
-** mutex. The argument to sqlite3_mutex_alloc() must one of these
+** mutex. The argument to sqlite3_mutex_alloc() must be one of these
** integer constants:
**
** <ul>
@@ -8376,7 +8497,7 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*);
** CAPI3REF: Retrieve the mutex for a database connection
** METHOD: sqlite3
**
-** ^This interface returns a pointer the [sqlite3_mutex] object that
+** ^This interface returns a pointer to the [sqlite3_mutex] object that
** serializes access to the [database connection] given in the argument
** when the [threading mode] is Serialized.
** ^If the [threading mode] is Single-thread or Multi-thread then this
@@ -8499,7 +8620,7 @@ SQLITE_API int sqlite3_test_control(int op, ...);
** CAPI3REF: SQL Keyword Checking
**
** These routines provide access to the set of SQL language keywords
-** recognized by SQLite. Applications can uses these routines to determine
+** recognized by SQLite. Applications can use these routines to determine
** whether or not a specific identifier needs to be escaped (for example,
** by enclosing in double-quotes) so as not to confuse the parser.
**
@@ -8667,7 +8788,7 @@ SQLITE_API void sqlite3_str_reset(sqlite3_str*);
** content of the dynamic string under construction in X. The value
** returned by [sqlite3_str_value(X)] is managed by the sqlite3_str object X
** and might be freed or altered by any subsequent method on the same
-** [sqlite3_str] object. Applications must not used the pointer returned
+** [sqlite3_str] object. Applications must not use the pointer returned by
** [sqlite3_str_value(X)] after any subsequent method call on the same
** object. ^Applications may change the content of the string returned
** by [sqlite3_str_value(X)] as long as they do not write into any bytes
@@ -8753,7 +8874,7 @@ SQLITE_API int sqlite3_status64(
** allocation which could not be satisfied by the [SQLITE_CONFIG_PAGECACHE]
** buffer and where forced to overflow to [sqlite3_malloc()]. The
** returned value includes allocations that overflowed because they
-** where too large (they were larger than the "sz" parameter to
+** were too large (they were larger than the "sz" parameter to
** [SQLITE_CONFIG_PAGECACHE]) and allocations that overflowed because
** no space was left in the page cache.</dd>)^
**
@@ -8812,9 +8933,18 @@ SQLITE_API int sqlite3_status64(
** ^The sqlite3_db_status() routine returns SQLITE_OK on success and a
** non-zero [error code] on failure.
**
+** ^The sqlite3_db_status64(D,O,C,H,R) routine works exactly the same
+** way as sqlite3_db_status(D,O,C,H,R) routine except that the C and H
+** parameters are pointer to 64-bit integers (type: sqlite3_int64) instead
+** of pointers to 32-bit integers, which allows larger status values
+** to be returned. If a status value exceeds 2,147,483,647 then
+** sqlite3_db_status() will truncate the value whereas sqlite3_db_status64()
+** will return the full value.
+**
** See also: [sqlite3_status()] and [sqlite3_stmt_status()].
*/
SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg);
+SQLITE_API int sqlite3_db_status64(sqlite3*,int,sqlite3_int64*,sqlite3_int64*,int);
/*
** CAPI3REF: Status Parameters for database connections
@@ -8837,28 +8967,29 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
** [[SQLITE_DBSTATUS_LOOKASIDE_HIT]] ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_HIT</dt>
** <dd>This parameter returns the number of malloc attempts that were
** satisfied using lookaside memory. Only the high-water value is meaningful;
-** the current value is always zero.)^
+** the current value is always zero.</dd>)^
**
** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE]]
** ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE</dt>
-** <dd>This parameter returns the number malloc attempts that might have
+** <dd>This parameter returns the number of malloc attempts that might have
** been satisfied using lookaside memory but failed due to the amount of
** memory requested being larger than the lookaside slot size.
** Only the high-water value is meaningful;
-** the current value is always zero.)^
+** the current value is always zero.</dd>)^
**
** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL]]
** ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL</dt>
-** <dd>This parameter returns the number malloc attempts that might have
+** <dd>This parameter returns the number of malloc attempts that might have
** been satisfied using lookaside memory but failed due to all lookaside
** memory already being in use.
** Only the high-water value is meaningful;
-** the current value is always zero.)^
+** the current value is always zero.</dd>)^
**
** [[SQLITE_DBSTATUS_CACHE_USED]] ^(<dt>SQLITE_DBSTATUS_CACHE_USED</dt>
** <dd>This parameter returns the approximate number of bytes of heap
** memory used by all pager caches associated with the database connection.)^
** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0.
+** </dd>
**
** [[SQLITE_DBSTATUS_CACHE_USED_SHARED]]
** ^(<dt>SQLITE_DBSTATUS_CACHE_USED_SHARED</dt>
@@ -8867,10 +8998,10 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
** memory used by that pager cache is divided evenly between the attached
** connections.)^ In other words, if none of the pager caches associated
** with the database connection are shared, this request returns the same
-** value as DBSTATUS_CACHE_USED. Or, if one or more or the pager caches are
+** value as DBSTATUS_CACHE_USED. Or, if one or more of the pager caches are
** shared, the value returned by this call will be smaller than that returned
** by DBSTATUS_CACHE_USED. ^The highwater mark associated with
-** SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0.
+** SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0.</dd>
**
** [[SQLITE_DBSTATUS_SCHEMA_USED]] ^(<dt>SQLITE_DBSTATUS_SCHEMA_USED</dt>
** <dd>This parameter returns the approximate number of bytes of heap
@@ -8880,6 +9011,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
** schema memory is shared with other database connections due to
** [shared cache mode] being enabled.
** ^The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED is always 0.
+** </dd>
**
** [[SQLITE_DBSTATUS_STMT_USED]] ^(<dt>SQLITE_DBSTATUS_STMT_USED</dt>
** <dd>This parameter returns the approximate number of bytes of heap
@@ -8909,6 +9041,10 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
** If an IO or other error occurs while writing a page to disk, the effect
** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.)^ ^The
** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0.
+** <p>
+** ^(There is overlap between the quantities measured by this parameter
+** (SQLITE_DBSTATUS_CACHE_WRITE) and SQLITE_DBSTATUS_TEMPBUF_SPILL.
+** Resetting one will reduce the other.)^
** </dd>
**
** [[SQLITE_DBSTATUS_CACHE_SPILL]] ^(<dt>SQLITE_DBSTATUS_CACHE_SPILL</dt>
@@ -8916,7 +9052,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
** been written to disk in the middle of a transaction due to the page
** cache overflowing. Transactions are more efficient if they are written
** to disk all at once. When pages spill mid-transaction, that introduces
-** additional overhead. This parameter can be used help identify
+** additional overhead. This parameter can be used to help identify
** inefficiencies that can be resolved by increasing the cache size.
** </dd>
**
@@ -8924,6 +9060,18 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
** <dd>This parameter returns zero for the current value if and only if
** all foreign key constraints (deferred or immediate) have been
** resolved.)^ ^The highwater mark is always 0.
+**
+** [[SQLITE_DBSTATUS_TEMPBUF_SPILL] ^(<dt>SQLITE_DBSTATUS_TEMPBUF_SPILL</dt>
+** <dd>^(This parameter returns the number of bytes written to temporary
+** files on disk that could have been kept in memory had sufficient memory
+** been available. This value includes writes to intermediate tables that
+** are part of complex queries, external sorts that spill to disk, and
+** writes to TEMP tables.)^
+** ^The highwater mark is always 0.
+** <p>
+** ^(There is overlap between the quantities measured by this parameter
+** (SQLITE_DBSTATUS_TEMPBUF_SPILL) and SQLITE_DBSTATUS_CACHE_WRITE.
+** Resetting one will reduce the other.)^
** </dd>
** </dl>
*/
@@ -8940,7 +9088,8 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
#define SQLITE_DBSTATUS_DEFERRED_FKS 10
#define SQLITE_DBSTATUS_CACHE_USED_SHARED 11
#define SQLITE_DBSTATUS_CACHE_SPILL 12
-#define SQLITE_DBSTATUS_MAX 12 /* Largest defined DBSTATUS */
+#define SQLITE_DBSTATUS_TEMPBUF_SPILL 13
+#define SQLITE_DBSTATUS_MAX 13 /* Largest defined DBSTATUS */
/*
@@ -8987,13 +9136,13 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
** [[SQLITE_STMTSTATUS_SORT]] <dt>SQLITE_STMTSTATUS_SORT</dt>
** <dd>^This is the number of sort operations that have occurred.
** A non-zero value in this counter may indicate an opportunity to
-** improvement performance through careful use of indices.</dd>
+** improve performance through careful use of indices.</dd>
**
** [[SQLITE_STMTSTATUS_AUTOINDEX]] <dt>SQLITE_STMTSTATUS_AUTOINDEX</dt>
** <dd>^This is the number of rows inserted into transient indices that
** were created automatically in order to help joins run faster.
** A non-zero value in this counter may indicate an opportunity to
-** improvement performance by adding permanent indices that do not
+** improve performance by adding permanent indices that do not
** need to be reinitialized each time the statement is run.</dd>
**
** [[SQLITE_STMTSTATUS_VM_STEP]] <dt>SQLITE_STMTSTATUS_VM_STEP</dt>
@@ -9002,19 +9151,19 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
** to 2147483647. The number of virtual machine operations can be
** used as a proxy for the total work done by the prepared statement.
** If the number of virtual machine operations exceeds 2147483647
-** then the value returned by this statement status code is undefined.
+** then the value returned by this statement status code is undefined.</dd>
**
** [[SQLITE_STMTSTATUS_REPREPARE]] <dt>SQLITE_STMTSTATUS_REPREPARE</dt>
** <dd>^This is the number of times that the prepare statement has been
** automatically regenerated due to schema changes or changes to
-** [bound parameters] that might affect the query plan.
+** [bound parameters] that might affect the query plan.</dd>
**
** [[SQLITE_STMTSTATUS_RUN]] <dt>SQLITE_STMTSTATUS_RUN</dt>
** <dd>^This is the number of times that the prepared statement has
** been run. A single "run" for the purposes of this counter is one
** or more calls to [sqlite3_step()] followed by a call to [sqlite3_reset()].
** The counter is incremented on the first [sqlite3_step()] call of each
-** cycle.
+** cycle.</dd>
**
** [[SQLITE_STMTSTATUS_FILTER_MISS]]
** [[SQLITE_STMTSTATUS_FILTER HIT]]
@@ -9024,7 +9173,7 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
** step was bypassed because a Bloom filter returned not-found. The
** corresponding SQLITE_STMTSTATUS_FILTER_MISS value is the number of
** times that the Bloom filter returned a find, and thus the join step
-** had to be processed as normal.
+** had to be processed as normal.</dd>
**
** [[SQLITE_STMTSTATUS_MEMUSED]] <dt>SQLITE_STMTSTATUS_MEMUSED</dt>
** <dd>^This is the approximate number of bytes of heap memory
@@ -9129,9 +9278,9 @@ struct sqlite3_pcache_page {
** SQLite will typically create one cache instance for each open database file,
** though this is not guaranteed. ^The
** first parameter, szPage, is the size in bytes of the pages that must
-** be allocated by the cache. ^szPage will always a power of two. ^The
+** be allocated by the cache. ^szPage will always be a power of two. ^The
** second parameter szExtra is a number of bytes of extra storage
-** associated with each page cache entry. ^The szExtra parameter will
+** associated with each page cache entry. ^The szExtra parameter will be
** a number less than 250. SQLite will use the
** extra szExtra bytes on each page to store metadata about the underlying
** database page on disk. The value passed into szExtra depends
@@ -9139,17 +9288,17 @@ struct sqlite3_pcache_page {
** ^The third argument to xCreate(), bPurgeable, is true if the cache being
** created will be used to cache database pages of a file stored on disk, or
** false if it is used for an in-memory database. The cache implementation
-** does not have to do anything special based with the value of bPurgeable;
+** does not have to do anything special based upon the value of bPurgeable;
** it is purely advisory. ^On a cache where bPurgeable is false, SQLite will
** never invoke xUnpin() except to deliberately delete a page.
** ^In other words, calls to xUnpin() on a cache with bPurgeable set to
** false will always have the "discard" flag set to true.
-** ^Hence, a cache created with bPurgeable false will
+** ^Hence, a cache created with bPurgeable set to false will
** never contain any unpinned pages.
**
** [[the xCachesize() page cache method]]
** ^(The xCachesize() method may be called at any time by SQLite to set the
-** suggested maximum cache-size (number of pages stored by) the cache
+** suggested maximum cache-size (number of pages stored) for the cache
** instance passed as the first argument. This is the value configured using
** the SQLite "[PRAGMA cache_size]" command.)^ As with the bPurgeable
** parameter, the implementation is not required to do anything with this
@@ -9176,12 +9325,12 @@ struct sqlite3_pcache_page {
** implementation must return a pointer to the page buffer with its content
** intact. If the requested page is not already in the cache, then the
** cache implementation should use the value of the createFlag
-** parameter to help it determined what action to take:
+** parameter to help it determine what action to take:
**
** <table border=1 width=85% align=center>
** <tr><th> createFlag <th> Behavior when page is not already in cache
** <tr><td> 0 <td> Do not allocate a new page. Return NULL.
-** <tr><td> 1 <td> Allocate a new page if it easy and convenient to do so.
+** <tr><td> 1 <td> Allocate a new page if it is easy and convenient to do so.
** Otherwise return NULL.
** <tr><td> 2 <td> Make every effort to allocate a new page. Only return
** NULL if allocating a new page is effectively impossible.
@@ -9198,7 +9347,7 @@ struct sqlite3_pcache_page {
** as its second argument. If the third parameter, discard, is non-zero,
** then the page must be evicted from the cache.
** ^If the discard parameter is
-** zero, then the page may be discarded or retained at the discretion of
+** zero, then the page may be discarded or retained at the discretion of the
** page cache implementation. ^The page cache implementation
** may choose to evict unpinned pages at any time.
**
@@ -9216,7 +9365,7 @@ struct sqlite3_pcache_page {
** When SQLite calls the xTruncate() method, the cache must discard all
** existing cache entries with page numbers (keys) greater than or equal
** to the value of the iLimit parameter passed to xTruncate(). If any
-** of these pages are pinned, they are implicitly unpinned, meaning that
+** of these pages are pinned, they become implicitly unpinned, meaning that
** they can be safely discarded.
**
** [[the xDestroy() page cache method]]
@@ -9396,7 +9545,7 @@ typedef struct sqlite3_backup sqlite3_backup;
** external process or via a database connection other than the one being
** used by the backup operation, then the backup will be automatically
** restarted by the next call to sqlite3_backup_step(). ^If the source
-** database is modified by the using the same database connection as is used
+** database is modified by using the same database connection as is used
** by the backup operation, then the backup database is automatically
** updated at the same time.
**
@@ -9413,7 +9562,7 @@ typedef struct sqlite3_backup sqlite3_backup;
** and may not be used following a call to sqlite3_backup_finish().
**
** ^The value returned by sqlite3_backup_finish is [SQLITE_OK] if no
-** sqlite3_backup_step() errors occurred, regardless or whether or not
+** sqlite3_backup_step() errors occurred, regardless of whether or not
** sqlite3_backup_step() completed.
** ^If an out-of-memory condition or IO error occurred during any prior
** sqlite3_backup_step() call on the same [sqlite3_backup] object, then
@@ -9515,7 +9664,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);
** application receives an SQLITE_LOCKED error, it may call the
** sqlite3_unlock_notify() method with the blocked connection handle as
** the first argument to register for a callback that will be invoked
-** when the blocking connections current transaction is concluded. ^The
+** when the blocking connection's current transaction is concluded. ^The
** callback is invoked from within the [sqlite3_step] or [sqlite3_close]
** call that concludes the blocking connection's transaction.
**
@@ -9535,7 +9684,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);
** blocked connection already has a registered unlock-notify callback,
** then the new callback replaces the old.)^ ^If sqlite3_unlock_notify() is
** called with a NULL pointer as its second argument, then any existing
-** unlock-notify callback is canceled. ^The blocked connections
+** unlock-notify callback is canceled. ^The blocked connection's
** unlock-notify callback may also be canceled by closing the blocked
** connection using [sqlite3_close()].
**
@@ -9705,7 +9854,7 @@ SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...);
** is the number of pages currently in the write-ahead log file,
** including those that were just committed.
**
-** The callback function should normally return [SQLITE_OK]. ^If an error
+** ^The callback function should normally return [SQLITE_OK]. ^If an error
** code is returned, that error will propagate back up through the
** SQLite code base to cause the statement that provoked the callback
** to report an error, though the commit will have still occurred. If the
@@ -9713,13 +9862,26 @@ SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...);
** that does not correspond to any valid SQLite error code, the results
** are undefined.
**
-** A single database handle may have at most a single write-ahead log callback
-** registered at one time. ^Calling [sqlite3_wal_hook()] replaces any
-** previously registered write-ahead log callback. ^The return value is
-** a copy of the third parameter from the previous call, if any, or 0.
-** ^Note that the [sqlite3_wal_autocheckpoint()] interface and the
-** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and will
-** overwrite any prior [sqlite3_wal_hook()] settings.
+** ^A single database handle may have at most a single write-ahead log
+** callback registered at one time. ^Calling [sqlite3_wal_hook()]
+** replaces the default behavior or previously registered write-ahead
+** log callback.
+**
+** ^The return value is a copy of the third parameter from the
+** previous call, if any, or 0.
+**
+** ^The [sqlite3_wal_autocheckpoint()] interface and the
+** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and
+** will overwrite any prior [sqlite3_wal_hook()] settings.
+**
+** ^If a write-ahead log callback is set using this function then
+** [sqlite3_wal_checkpoint_v2()] or [PRAGMA wal_checkpoint]
+** should be invoked periodically to keep the write-ahead log file
+** from growing without bound.
+**
+** ^Passing a NULL pointer for the callback disables automatic
+** checkpointing entirely. To re-enable the default behavior, call
+** sqlite3_wal_autocheckpoint(db,1000) or use [PRAGMA wal_checkpoint].
*/
SQLITE_API void *sqlite3_wal_hook(
sqlite3*,
@@ -9736,7 +9898,7 @@ SQLITE_API void *sqlite3_wal_hook(
** to automatically [checkpoint]
** after committing a transaction if there are N or
** more frames in the [write-ahead log] file. ^Passing zero or
-** a negative value as the nFrame parameter disables automatic
+** a negative value as the N parameter disables automatic
** checkpoints entirely.
**
** ^The callback registered by this function replaces any existing callback
@@ -9752,9 +9914,10 @@ SQLITE_API void *sqlite3_wal_hook(
**
** ^Every new [database connection] defaults to having the auto-checkpoint
** enabled with a threshold of 1000 or [SQLITE_DEFAULT_WAL_AUTOCHECKPOINT]
-** pages. The use of this interface
-** is only necessary if the default setting is found to be suboptimal
-** for a particular application.
+** pages.
+**
+** ^The use of this interface is only necessary if the default setting
+** is found to be suboptimal for a particular application.
*/
SQLITE_API int sqlite3_wal_autocheckpoint(sqlite3 *db, int N);
@@ -9819,6 +9982,11 @@ SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb);
** ^This mode works the same way as SQLITE_CHECKPOINT_RESTART with the
** addition that it also truncates the log file to zero bytes just prior
** to a successful return.
+**
+** <dt>SQLITE_CHECKPOINT_NOOP<dd>
+** ^This mode always checkpoints zero frames. The only reason to invoke
+** a NOOP checkpoint is to access the values returned by
+** sqlite3_wal_checkpoint_v2() via output parameters *pnLog and *pnCkpt.
** </dl>
**
** ^If pnLog is not NULL, then *pnLog is set to the total number of frames in
@@ -9889,6 +10057,7 @@ SQLITE_API int sqlite3_wal_checkpoint_v2(
** See the [sqlite3_wal_checkpoint_v2()] documentation for details on the
** meaning of each of these checkpoint modes.
*/
+#define SQLITE_CHECKPOINT_NOOP -1 /* Do no work at all */
#define SQLITE_CHECKPOINT_PASSIVE 0 /* Do as much as possible w/o blocking */
#define SQLITE_CHECKPOINT_FULL 1 /* Wait for writers, then checkpoint */
#define SQLITE_CHECKPOINT_RESTART 2 /* Like FULL but wait for readers */
@@ -9933,7 +10102,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
** support constraints. In this configuration (which is the default) if
** a call to the [xUpdate] method returns [SQLITE_CONSTRAINT], then the entire
** statement is rolled back as if [ON CONFLICT | OR ABORT] had been
-** specified as part of the users SQL statement, regardless of the actual
+** specified as part of the user's SQL statement, regardless of the actual
** ON CONFLICT mode specified.
**
** If X is non-zero, then the virtual table implementation guarantees
@@ -9967,7 +10136,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
** [[SQLITE_VTAB_INNOCUOUS]]<dt>SQLITE_VTAB_INNOCUOUS</dt>
** <dd>Calls of the form
** [sqlite3_vtab_config](db,SQLITE_VTAB_INNOCUOUS) from within the
-** the [xConnect] or [xCreate] methods of a [virtual table] implementation
+** [xConnect] or [xCreate] methods of a [virtual table] implementation
** identify that virtual table as being safe to use from within triggers
** and views. Conceptually, the SQLITE_VTAB_INNOCUOUS tag means that the
** virtual table can do no serious harm even if it is controlled by a
@@ -10135,7 +10304,7 @@ SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
** </table>
**
** ^For the purposes of comparing virtual table output values to see if the
-** values are same value for sorting purposes, two NULL values are considered
+** values are the same value for sorting purposes, two NULL values are considered
** to be the same. In other words, the comparison operator is "IS"
** (or "IS NOT DISTINCT FROM") and not "==".
**
@@ -10145,7 +10314,7 @@ SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
**
** ^A virtual table implementation is always free to return rows in any order
** it wants, as long as the "orderByConsumed" flag is not set. ^When the
-** the "orderByConsumed" flag is unset, the query planner will add extra
+** "orderByConsumed" flag is unset, the query planner will add extra
** [bytecode] to ensure that the final results returned by the SQL query are
** ordered correctly. The use of the "orderByConsumed" flag and the
** sqlite3_vtab_distinct() interface is merely an optimization. ^Careful
@@ -10242,7 +10411,7 @@ SQLITE_API int sqlite3_vtab_in(sqlite3_index_info*, int iCons, int bHandle);
** sqlite3_vtab_in_next(X,P) should be one of the parameters to the
** xFilter method which invokes these routines, and specifically
** a parameter that was previously selected for all-at-once IN constraint
-** processing use the [sqlite3_vtab_in()] interface in the
+** processing using the [sqlite3_vtab_in()] interface in the
** [xBestIndex|xBestIndex method]. ^(If the X parameter is not
** an xFilter argument that was selected for all-at-once IN constraint
** processing, then these routines return [SQLITE_ERROR].)^
@@ -10257,7 +10426,7 @@ SQLITE_API int sqlite3_vtab_in(sqlite3_index_info*, int iCons, int bHandle);
** ){
** // do something with pVal
** }
-** if( rc!=SQLITE_OK ){
+** if( rc!=SQLITE_DONE ){
** // an error has occurred
** }
** </pre></blockquote>)^
@@ -10297,7 +10466,7 @@ SQLITE_API int sqlite3_vtab_in_next(sqlite3_value *pVal, sqlite3_value **ppOut);
** and only if *V is set to a value. ^The sqlite3_vtab_rhs_value(P,J,V)
** inteface returns SQLITE_NOTFOUND if the right-hand side of the J-th
** constraint is not available. ^The sqlite3_vtab_rhs_value() interface
-** can return an result code other than SQLITE_OK or SQLITE_NOTFOUND if
+** can return a result code other than SQLITE_OK or SQLITE_NOTFOUND if
** something goes wrong.
**
** The sqlite3_vtab_rhs_value() interface is usually only successful if
@@ -10325,8 +10494,8 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
** KEYWORDS: {conflict resolution mode}
**
** These constants are returned by [sqlite3_vtab_on_conflict()] to
-** inform a [virtual table] implementation what the [ON CONFLICT] mode
-** is for the SQL statement being evaluated.
+** inform a [virtual table] implementation of the [ON CONFLICT] mode
+** for the SQL statement being evaluated.
**
** Note that the [SQLITE_IGNORE] constant is also used as a potential
** return value from the [sqlite3_set_authorizer()] callback and that
@@ -10366,39 +10535,39 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
** [[SQLITE_SCANSTAT_EST]] <dt>SQLITE_SCANSTAT_EST</dt>
** <dd>^The "double" variable pointed to by the V parameter will be set to the
** query planner's estimate for the average number of rows output from each
-** iteration of the X-th loop. If the query planner's estimates was accurate,
+** iteration of the X-th loop. If the query planner's estimate was accurate,
** then this value will approximate the quotient NVISIT/NLOOP and the
** product of this value for all prior loops with the same SELECTID will
-** be the NLOOP value for the current loop.
+** be the NLOOP value for the current loop.</dd>
**
** [[SQLITE_SCANSTAT_NAME]] <dt>SQLITE_SCANSTAT_NAME</dt>
** <dd>^The "const char *" variable pointed to by the V parameter will be set
** to a zero-terminated UTF-8 string containing the name of the index or table
-** used for the X-th loop.
+** used for the X-th loop.</dd>
**
** [[SQLITE_SCANSTAT_EXPLAIN]] <dt>SQLITE_SCANSTAT_EXPLAIN</dt>
** <dd>^The "const char *" variable pointed to by the V parameter will be set
** to a zero-terminated UTF-8 string containing the [EXPLAIN QUERY PLAN]
-** description for the X-th loop.
+** description for the X-th loop.</dd>
**
** [[SQLITE_SCANSTAT_SELECTID]] <dt>SQLITE_SCANSTAT_SELECTID</dt>
** <dd>^The "int" variable pointed to by the V parameter will be set to the
** id for the X-th query plan element. The id value is unique within the
** statement. The select-id is the same value as is output in the first
-** column of an [EXPLAIN QUERY PLAN] query.
+** column of an [EXPLAIN QUERY PLAN] query.</dd>
**
** [[SQLITE_SCANSTAT_PARENTID]] <dt>SQLITE_SCANSTAT_PARENTID</dt>
** <dd>The "int" variable pointed to by the V parameter will be set to the
-** the id of the parent of the current query element, if applicable, or
+** id of the parent of the current query element, if applicable, or
** to zero if the query element has no parent. This is the same value as
-** returned in the second column of an [EXPLAIN QUERY PLAN] query.
+** returned in the second column of an [EXPLAIN QUERY PLAN] query.</dd>
**
** [[SQLITE_SCANSTAT_NCYCLE]] <dt>SQLITE_SCANSTAT_NCYCLE</dt>
** <dd>The sqlite3_int64 output value is set to the number of cycles,
** according to the processor time-stamp counter, that elapsed while the
** query element was being processed. This value is not available for
** all query elements - if it is unavailable the output variable is
-** set to -1.
+** set to -1.</dd>
** </dl>
*/
#define SQLITE_SCANSTAT_NLOOP 0
@@ -10439,8 +10608,8 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
** sqlite3_stmt_scanstatus_v2() with a zeroed flags parameter.
**
** Parameter "idx" identifies the specific query element to retrieve statistics
-** for. Query elements are numbered starting from zero. A value of -1 may be
-** to query for statistics regarding the entire query. ^If idx is out of range
+** for. Query elements are numbered starting from zero. A value of -1 may
+** retrieve statistics for the entire query. ^If idx is out of range
** - less than -1 or greater than or equal to the total number of query
** elements used to implement the statement - a non-zero value is returned and
** the variable that pOut points to is unchanged.
@@ -10483,7 +10652,7 @@ SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*);
** METHOD: sqlite3
**
** ^If a write-transaction is open on [database connection] D when the
-** [sqlite3_db_cacheflush(D)] interface invoked, any dirty
+** [sqlite3_db_cacheflush(D)] interface is invoked, any dirty
** pages in the pager-cache that are not currently in use are written out
** to disk. A dirty page may be in use if a database cursor created by an
** active SQL statement is reading from it, or if it is page 1 of a database
@@ -10597,8 +10766,8 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*);
** triggers; and so forth.
**
** When the [sqlite3_blob_write()] API is used to update a blob column,
-** the pre-update hook is invoked with SQLITE_DELETE. This is because the
-** in this case the new values are not available. In this case, when a
+** the pre-update hook is invoked with SQLITE_DELETE, because
+** the new values are not yet available. In this case, when a
** callback made with op==SQLITE_DELETE is actually a write using the
** sqlite3_blob_write() API, the [sqlite3_preupdate_blobwrite()] returns
** the index of the column being written. In other cases, where the
@@ -10716,7 +10885,7 @@ typedef struct sqlite3_snapshot {
** The [sqlite3_snapshot_get()] interface is only available when the
** [SQLITE_ENABLE_SNAPSHOT] compile-time option is used.
*/
-SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_get(
+SQLITE_API int sqlite3_snapshot_get(
sqlite3 *db,
const char *zSchema,
sqlite3_snapshot **ppSnapshot
@@ -10765,7 +10934,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_get(
** The [sqlite3_snapshot_open()] interface is only available when the
** [SQLITE_ENABLE_SNAPSHOT] compile-time option is used.
*/
-SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_open(
+SQLITE_API int sqlite3_snapshot_open(
sqlite3 *db,
const char *zSchema,
sqlite3_snapshot *pSnapshot
@@ -10782,7 +10951,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_open(
** The [sqlite3_snapshot_free()] interface is only available when the
** [SQLITE_ENABLE_SNAPSHOT] compile-time option is used.
*/
-SQLITE_API SQLITE_EXPERIMENTAL void sqlite3_snapshot_free(sqlite3_snapshot*);
+SQLITE_API void sqlite3_snapshot_free(sqlite3_snapshot*);
/*
** CAPI3REF: Compare the ages of two snapshot handles.
@@ -10809,7 +10978,7 @@ SQLITE_API SQLITE_EXPERIMENTAL void sqlite3_snapshot_free(sqlite3_snapshot*);
** This interface is only available if SQLite is compiled with the
** [SQLITE_ENABLE_SNAPSHOT] option.
*/
-SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_cmp(
+SQLITE_API int sqlite3_snapshot_cmp(
sqlite3_snapshot *p1,
sqlite3_snapshot *p2
);
@@ -10837,7 +11006,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_cmp(
** This interface is only available if SQLite is compiled with the
** [SQLITE_ENABLE_SNAPSHOT] option.
*/
-SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const char *zDb);
+SQLITE_API int sqlite3_snapshot_recover(sqlite3 *db, const char *zDb);
/*
** CAPI3REF: Serialize a database
@@ -10851,7 +11020,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const c
** For an ordinary on-disk database file, the serialization is just a
** copy of the disk file. For an in-memory database or a "TEMP" database,
** the serialization is the same sequence of bytes which would be written
-** to disk if that database where backed up to disk.
+** to disk if that database were backed up to disk.
**
** The usual case is that sqlite3_serialize() copies the serialization of
** the database into memory obtained from [sqlite3_malloc64()] and returns
@@ -10860,7 +11029,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const c
** contains the SQLITE_SERIALIZE_NOCOPY bit, then no memory allocations
** are made, and the sqlite3_serialize() function will return a pointer
** to the contiguous memory representation of the database that SQLite
-** is currently using for that database, or NULL if the no such contiguous
+** is currently using for that database, or NULL if no such contiguous
** memory representation of the database exists. A contiguous memory
** representation of the database will usually only exist if there has
** been a prior call to [sqlite3_deserialize(D,S,...)] with the same
@@ -10911,12 +11080,13 @@ SQLITE_API unsigned char *sqlite3_serialize(
**
** The sqlite3_deserialize(D,S,P,N,M,F) interface causes the
** [database connection] D to disconnect from database S and then
-** reopen S as an in-memory database based on the serialization contained
-** in P. The serialized database P is N bytes in size. M is the size of
-** the buffer P, which might be larger than N. If M is larger than N, and
-** the SQLITE_DESERIALIZE_READONLY bit is not set in F, then SQLite is
-** permitted to add content to the in-memory database as long as the total
-** size does not exceed M bytes.
+** reopen S as an in-memory database based on the serialization
+** contained in P. If S is a NULL pointer, the main database is
+** used. The serialized database P is N bytes in size. M is the size
+** of the buffer P, which might be larger than N. If M is larger than
+** N, and the SQLITE_DESERIALIZE_READONLY bit is not set in F, then
+** SQLite is permitted to add content to the in-memory database as
+** long as the total size does not exceed M bytes.
**
** If the SQLITE_DESERIALIZE_FREEONCLOSE bit is set in F, then SQLite will
** invoke sqlite3_free() on the serialization buffer when the database
@@ -10931,7 +11101,7 @@ SQLITE_API unsigned char *sqlite3_serialize(
** database is currently in a read transaction or is involved in a backup
** operation.
**
-** It is not possible to deserialized into the TEMP database. If the
+** It is not possible to deserialize into the TEMP database. If the
** S argument to sqlite3_deserialize(D,S,P,N,M,F) is "temp" then the
** function returns SQLITE_ERROR.
**
@@ -10953,7 +11123,7 @@ SQLITE_API int sqlite3_deserialize(
sqlite3 *db, /* The database connection */
const char *zSchema, /* Which DB to reopen with the deserialization */
unsigned char *pData, /* The serialized database content */
- sqlite3_int64 szDb, /* Number bytes in the deserialization */
+ sqlite3_int64 szDb, /* Number of bytes in the deserialization */
sqlite3_int64 szBuf, /* Total size of buffer pData[] */
unsigned mFlags /* Zero or more SQLITE_DESERIALIZE_* flags */
);
@@ -10961,7 +11131,7 @@ SQLITE_API int sqlite3_deserialize(
/*
** CAPI3REF: Flags for sqlite3_deserialize()
**
-** The following are allowed values for 6th argument (the F argument) to
+** The following are allowed values for the 6th argument (the F argument) to
** the [sqlite3_deserialize(D,S,P,N,M,F)] interface.
**
** The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization
@@ -10983,6 +11153,54 @@ SQLITE_API int sqlite3_deserialize(
#define SQLITE_DESERIALIZE_RESIZEABLE 2 /* Resize using sqlite3_realloc64() */
#define SQLITE_DESERIALIZE_READONLY 4 /* Database is read-only */
+/*
+** CAPI3REF: Bind array values to the CARRAY table-valued function
+**
+** The sqlite3_carray_bind(S,I,P,N,F,X) interface binds an array value to
+** one of the first argument of the [carray() table-valued function]. The
+** S parameter is a pointer to the [prepared statement] that uses the carray()
+** functions. I is the parameter index to be bound. P is a pointer to the
+** array to be bound, and N is the number of eements in the array. The
+** F argument is one of constants [SQLITE_CARRAY_INT32], [SQLITE_CARRAY_INT64],
+** [SQLITE_CARRAY_DOUBLE], [SQLITE_CARRAY_TEXT], or [SQLITE_CARRAY_BLOB] to
+** indicate the datatype of the array being bound. The X argument is not a
+** NULL pointer, then SQLite will invoke the function X on the P parameter
+** after it has finished using P, even if the call to
+** sqlite3_carray_bind() fails. The special-case finalizer
+** SQLITE_TRANSIENT has no effect here.
+*/
+SQLITE_API int sqlite3_carray_bind(
+ sqlite3_stmt *pStmt, /* Statement to be bound */
+ int i, /* Parameter index */
+ void *aData, /* Pointer to array data */
+ int nData, /* Number of data elements */
+ int mFlags, /* CARRAY flags */
+ void (*xDel)(void*) /* Destructor for aData */
+);
+
+/*
+** CAPI3REF: Datatypes for the CARRAY table-valued function
+**
+** The fifth argument to the [sqlite3_carray_bind()] interface musts be
+** one of the following constants, to specify the datatype of the array
+** that is being bound into the [carray table-valued function].
+*/
+#define SQLITE_CARRAY_INT32 0 /* Data is 32-bit signed integers */
+#define SQLITE_CARRAY_INT64 1 /* Data is 64-bit signed integers */
+#define SQLITE_CARRAY_DOUBLE 2 /* Data is doubles */
+#define SQLITE_CARRAY_TEXT 3 /* Data is char* */
+#define SQLITE_CARRAY_BLOB 4 /* Data is struct iovec */
+
+/*
+** Versions of the above #defines that omit the initial SQLITE_, for
+** legacy compatibility.
+*/
+#define CARRAY_INT32 0 /* Data is 32-bit signed integers */
+#define CARRAY_INT64 1 /* Data is 64-bit signed integers */
+#define CARRAY_DOUBLE 2 /* Data is doubles */
+#define CARRAY_TEXT 3 /* Data is char* */
+#define CARRAY_BLOB 4 /* Data is struct iovec */
+
/*
** Undo the hack that converts floating point types to integer for
** builds on processors without floating point support.
@@ -11486,9 +11704,10 @@ SQLITE_API void sqlite3session_table_filter(
** is inserted while a session object is enabled, then later deleted while
** the same session object is disabled, no INSERT record will appear in the
** changeset, even though the delete took place while the session was disabled.
-** Or, if one field of a row is updated while a session is disabled, and
-** another field of the same row is updated while the session is enabled, the
-** resulting changeset will contain an UPDATE change that updates both fields.
+** Or, if one field of a row is updated while a session is enabled, and
+** then another field of the same row is updated while the session is disabled,
+** the resulting changeset will contain an UPDATE change that updates both
+** fields.
*/
SQLITE_API int sqlite3session_changeset(
sqlite3_session *pSession, /* Session object */
@@ -11560,8 +11779,9 @@ SQLITE_API sqlite3_int64 sqlite3session_changeset_size(sqlite3_session *pSession
** database zFrom the contents of the two compatible tables would be
** identical.
**
-** It an error if database zFrom does not exist or does not contain the
-** required compatible table.
+** Unless the call to this function is a no-op as described above, it is an
+** error if database zFrom does not exist or does not contain the required
+** compatible table.
**
** If the operation is successful, SQLITE_OK is returned. Otherwise, an SQLite
** error code. In this case, if argument pzErrMsg is not NULL, *pzErrMsg
@@ -11696,7 +11916,7 @@ SQLITE_API int sqlite3changeset_start_v2(
** The following flags may passed via the 4th parameter to
** [sqlite3changeset_start_v2] and [sqlite3changeset_start_v2_strm]:
**
-** <dt>SQLITE_CHANGESETAPPLY_INVERT <dd>
+** <dt>SQLITE_CHANGESETSTART_INVERT <dd>
** Invert the changeset while iterating through it. This is equivalent to
** inverting a changeset using sqlite3changeset_invert() before applying it.
** It is an error to specify this flag with a patchset.
@@ -12011,19 +12231,6 @@ SQLITE_API int sqlite3changeset_concat(
void **ppOut /* OUT: Buffer containing output changeset */
);
-
-/*
-** CAPI3REF: Upgrade the Schema of a Changeset/Patchset
-*/
-SQLITE_API int sqlite3changeset_upgrade(
- sqlite3 *db,
- const char *zDb,
- int nIn, const void *pIn, /* Input changeset */
- int *pnOut, void **ppOut /* OUT: Inverse of input */
-);
-
-
-
/*
** CAPI3REF: Changegroup Handle
**
@@ -12253,14 +12460,32 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*);
** update the "main" database attached to handle db with the changes found in
** the changeset passed via the second and third arguments.
**
+** All changes made by these functions are enclosed in a savepoint transaction.
+** If any other error (aside from a constraint failure when attempting to
+** write to the target database) occurs, then the savepoint transaction is
+** rolled back, restoring the target database to its original state, and an
+** SQLite error code returned. Additionally, starting with version 3.51.0,
+** an error code and error message that may be accessed using the
+** [sqlite3_errcode()] and [sqlite3_errmsg()] APIs are left in the database
+** handle.
+**
** The fourth argument (xFilter) passed to these functions is the "filter
-** callback". If it is not NULL, then for each table affected by at least one
-** change in the changeset, the filter callback is invoked with
-** the table name as the second argument, and a copy of the context pointer
-** passed as the sixth argument as the first. If the "filter callback"
-** returns zero, then no attempt is made to apply any changes to the table.
-** Otherwise, if the return value is non-zero or the xFilter argument to
-** is NULL, all changes related to the table are attempted.
+** callback". This may be passed NULL, in which case all changes in the
+** changeset are applied to the database. For sqlite3changeset_apply() and
+** sqlite3_changeset_apply_v2(), if it is not NULL, then it is invoked once
+** for each table affected by at least one change in the changeset. In this
+** case the table name is passed as the second argument, and a copy of
+** the context pointer passed as the sixth argument to apply() or apply_v2()
+** as the first. If the "filter callback" returns zero, then no attempt is
+** made to apply any changes to the table. Otherwise, if the return value is
+** non-zero, all changes related to the table are attempted.
+**
+** For sqlite3_changeset_apply_v3(), the xFilter callback is invoked once
+** per change. The second argument in this case is an sqlite3_changeset_iter
+** that may be queried using the usual APIs for the details of the current
+** change. If the "filter callback" returns zero in this case, then no attempt
+** is made to apply the current change. If it returns non-zero, the change
+** is applied.
**
** For each table that is not excluded by the filter callback, this function
** tests that the target database contains a compatible table. A table is
@@ -12281,11 +12506,11 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*);
** one such warning is issued for each table in the changeset.
**
** For each change for which there is a compatible table, an attempt is made
-** to modify the table contents according to the UPDATE, INSERT or DELETE
-** change. If a change cannot be applied cleanly, the conflict handler
-** function passed as the fifth argument to sqlite3changeset_apply() may be
-** invoked. A description of exactly when the conflict handler is invoked for
-** each type of change is below.
+** to modify the table contents according to each UPDATE, INSERT or DELETE
+** change that is not excluded by a filter callback. If a change cannot be
+** applied cleanly, the conflict handler function passed as the fifth argument
+** to sqlite3changeset_apply() may be invoked. A description of exactly when
+** the conflict handler is invoked for each type of change is below.
**
** Unlike the xFilter argument, xConflict may not be passed NULL. The results
** of passing anything other than a valid function pointer as the xConflict
@@ -12381,12 +12606,6 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*);
** This can be used to further customize the application's conflict
** resolution strategy.
**
-** All changes made by these functions are enclosed in a savepoint transaction.
-** If any other error (aside from a constraint failure when attempting to
-** write to the target database) occurs, then the savepoint transaction is
-** rolled back, restoring the target database to its original state, and an
-** SQLite error code returned.
-**
** If the output parameters (ppRebase) and (pnRebase) are non-NULL and
** the input is a changeset (not a patchset), then sqlite3changeset_apply_v2()
** may set (*ppRebase) to point to a "rebase" that may be used with the
@@ -12436,6 +12655,23 @@ SQLITE_API int sqlite3changeset_apply_v2(
void **ppRebase, int *pnRebase, /* OUT: Rebase data */
int flags /* SESSION_CHANGESETAPPLY_* flags */
);
+SQLITE_API int sqlite3changeset_apply_v3(
+ sqlite3 *db, /* Apply change to "main" db of this handle */
+ int nChangeset, /* Size of changeset in bytes */
+ void *pChangeset, /* Changeset blob */
+ int(*xFilter)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ sqlite3_changeset_iter *p /* Handle describing change */
+ ),
+ int(*xConflict)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */
+ sqlite3_changeset_iter *p /* Handle describing change and conflict */
+ ),
+ void *pCtx, /* First argument passed to xConflict */
+ void **ppRebase, int *pnRebase, /* OUT: Rebase data */
+ int flags /* SESSION_CHANGESETAPPLY_* flags */
+);
/*
** CAPI3REF: Flags for sqlite3changeset_apply_v2
@@ -12855,6 +13091,23 @@ SQLITE_API int sqlite3changeset_apply_v2_strm(
void **ppRebase, int *pnRebase,
int flags
);
+SQLITE_API int sqlite3changeset_apply_v3_strm(
+ sqlite3 *db, /* Apply change to "main" db of this handle */
+ int (*xInput)(void *pIn, void *pData, int *pnData), /* Input function */
+ void *pIn, /* First arg for xInput */
+ int(*xFilter)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ sqlite3_changeset_iter *p
+ ),
+ int(*xConflict)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */
+ sqlite3_changeset_iter *p /* Handle describing change and conflict */
+ ),
+ void *pCtx, /* First argument passed to xConflict */
+ void **ppRebase, int *pnRebase,
+ int flags
+);
SQLITE_API int sqlite3changeset_concat_strm(
int (*xInputA)(void *pIn, void *pData, int *pnData),
void *pInA,
diff --git a/Sources/c_snikket/iinclude/sys/FileSystem.h b/Sources/c_borogove/iinclude/sys/FileSystem.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/FileSystem.h
rename to Sources/c_borogove/iinclude/sys/FileSystem.h
diff --git a/Sources/c_snikket/iinclude/sys/Http.h b/Sources/c_borogove/iinclude/sys/Http.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/Http.h
rename to Sources/c_borogove/iinclude/sys/Http.h
diff --git a/Sources/c_snikket/iinclude/sys/db/Connection.h b/Sources/c_borogove/iinclude/sys/db/Connection.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/db/Connection.h
rename to Sources/c_borogove/iinclude/sys/db/Connection.h
diff --git a/Sources/c_snikket/iinclude/sys/db/ResultSet.h b/Sources/c_borogove/iinclude/sys/db/ResultSet.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/db/ResultSet.h
rename to Sources/c_borogove/iinclude/sys/db/ResultSet.h
diff --git a/Sources/c_snikket/iinclude/sys/db/Sqlite.h b/Sources/c_borogove/iinclude/sys/db/Sqlite.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/db/Sqlite.h
rename to Sources/c_borogove/iinclude/sys/db/Sqlite.h
diff --git a/Sources/c_snikket/iinclude/sys/db/_Sqlite/SqliteConnection.h b/Sources/c_borogove/iinclude/sys/db/_Sqlite/SqliteConnection.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/db/_Sqlite/SqliteConnection.h
rename to Sources/c_borogove/iinclude/sys/db/_Sqlite/SqliteConnection.h
diff --git a/Sources/c_snikket/iinclude/sys/db/_Sqlite/SqliteResultSet.h b/Sources/c_borogove/iinclude/sys/db/_Sqlite/SqliteResultSet.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/db/_Sqlite/SqliteResultSet.h
rename to Sources/c_borogove/iinclude/sys/db/_Sqlite/SqliteResultSet.h
diff --git a/Sources/c_snikket/iinclude/sys/io/File.h b/Sources/c_borogove/iinclude/sys/io/File.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/io/File.h
rename to Sources/c_borogove/iinclude/sys/io/File.h
diff --git a/Sources/c_snikket/iinclude/sys/io/FileInput.h b/Sources/c_borogove/iinclude/sys/io/FileInput.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/io/FileInput.h
rename to Sources/c_borogove/iinclude/sys/io/FileInput.h
diff --git a/Sources/c_snikket/iinclude/sys/io/FileOutput.h b/Sources/c_borogove/iinclude/sys/io/FileOutput.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/io/FileOutput.h
rename to Sources/c_borogove/iinclude/sys/io/FileOutput.h
diff --git a/Sources/c_snikket/iinclude/sys/io/Process.h b/Sources/c_borogove/iinclude/sys/io/Process.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/io/Process.h
rename to Sources/c_borogove/iinclude/sys/io/Process.h
diff --git a/Sources/c_snikket/iinclude/sys/io/_Process/Stdin.h b/Sources/c_borogove/iinclude/sys/io/_Process/Stdin.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/io/_Process/Stdin.h
rename to Sources/c_borogove/iinclude/sys/io/_Process/Stdin.h
diff --git a/Sources/c_snikket/iinclude/sys/io/_Process/Stdout.h b/Sources/c_borogove/iinclude/sys/io/_Process/Stdout.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/io/_Process/Stdout.h
rename to Sources/c_borogove/iinclude/sys/io/_Process/Stdout.h
diff --git a/Sources/c_snikket/iinclude/sys/net/Host.h b/Sources/c_borogove/iinclude/sys/net/Host.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/net/Host.h
rename to Sources/c_borogove/iinclude/sys/net/Host.h
diff --git a/Sources/c_snikket/iinclude/sys/net/Socket.h b/Sources/c_borogove/iinclude/sys/net/Socket.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/net/Socket.h
rename to Sources/c_borogove/iinclude/sys/net/Socket.h
diff --git a/Sources/c_snikket/iinclude/sys/net/_Socket/SocketInput.h b/Sources/c_borogove/iinclude/sys/net/_Socket/SocketInput.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/net/_Socket/SocketInput.h
rename to Sources/c_borogove/iinclude/sys/net/_Socket/SocketInput.h
diff --git a/Sources/c_snikket/iinclude/sys/net/_Socket/SocketOutput.h b/Sources/c_borogove/iinclude/sys/net/_Socket/SocketOutput.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/net/_Socket/SocketOutput.h
rename to Sources/c_borogove/iinclude/sys/net/_Socket/SocketOutput.h
diff --git a/Sources/c_snikket/iinclude/sys/ssl/Certificate.h b/Sources/c_borogove/iinclude/sys/ssl/Certificate.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/ssl/Certificate.h
rename to Sources/c_borogove/iinclude/sys/ssl/Certificate.h
diff --git a/Sources/c_snikket/iinclude/sys/ssl/Key.h b/Sources/c_borogove/iinclude/sys/ssl/Key.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/ssl/Key.h
rename to Sources/c_borogove/iinclude/sys/ssl/Key.h
diff --git a/Sources/c_snikket/iinclude/sys/ssl/Socket.h b/Sources/c_borogove/iinclude/sys/ssl/Socket.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/ssl/Socket.h
rename to Sources/c_borogove/iinclude/sys/ssl/Socket.h
diff --git a/Sources/c_snikket/iinclude/sys/ssl/_Socket/SocketInput.h b/Sources/c_borogove/iinclude/sys/ssl/_Socket/SocketInput.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/ssl/_Socket/SocketInput.h
rename to Sources/c_borogove/iinclude/sys/ssl/_Socket/SocketInput.h
diff --git a/Sources/c_snikket/iinclude/sys/ssl/_Socket/SocketOutput.h b/Sources/c_borogove/iinclude/sys/ssl/_Socket/SocketOutput.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/ssl/_Socket/SocketOutput.h
rename to Sources/c_borogove/iinclude/sys/ssl/_Socket/SocketOutput.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/Deque.h b/Sources/c_borogove/iinclude/sys/thread/Deque.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/Deque.h
rename to Sources/c_borogove/iinclude/sys/thread/Deque.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/ElasticThreadPool.h b/Sources/c_borogove/iinclude/sys/thread/ElasticThreadPool.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/ElasticThreadPool.h
rename to Sources/c_borogove/iinclude/sys/thread/ElasticThreadPool.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/EventLoop.h b/Sources/c_borogove/iinclude/sys/thread/EventLoop.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/EventLoop.h
rename to Sources/c_borogove/iinclude/sys/thread/EventLoop.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/FixedThreadPool.h b/Sources/c_borogove/iinclude/sys/thread/FixedThreadPool.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/FixedThreadPool.h
rename to Sources/c_borogove/iinclude/sys/thread/FixedThreadPool.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/IThreadPool.h b/Sources/c_borogove/iinclude/sys/thread/IThreadPool.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/IThreadPool.h
rename to Sources/c_borogove/iinclude/sys/thread/IThreadPool.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/Lock.h b/Sources/c_borogove/iinclude/sys/thread/Lock.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/Lock.h
rename to Sources/c_borogove/iinclude/sys/thread/Lock.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/Mutex.h b/Sources/c_borogove/iinclude/sys/thread/Mutex.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/Mutex.h
rename to Sources/c_borogove/iinclude/sys/thread/Mutex.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/NoEventLoopException.h b/Sources/c_borogove/iinclude/sys/thread/NoEventLoopException.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/NoEventLoopException.h
rename to Sources/c_borogove/iinclude/sys/thread/NoEventLoopException.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/ThreadPoolException.h b/Sources/c_borogove/iinclude/sys/thread/ThreadPoolException.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/ThreadPoolException.h
rename to Sources/c_borogove/iinclude/sys/thread/ThreadPoolException.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/_ElasticThreadPool/Worker.h b/Sources/c_borogove/iinclude/sys/thread/_ElasticThreadPool/Worker.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/_ElasticThreadPool/Worker.h
rename to Sources/c_borogove/iinclude/sys/thread/_ElasticThreadPool/Worker.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/_EventLoop/RegularEvent.h b/Sources/c_borogove/iinclude/sys/thread/_EventLoop/RegularEvent.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/_EventLoop/RegularEvent.h
rename to Sources/c_borogove/iinclude/sys/thread/_EventLoop/RegularEvent.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/_FixedThreadPool/ShutdownException.h b/Sources/c_borogove/iinclude/sys/thread/_FixedThreadPool/ShutdownException.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/_FixedThreadPool/ShutdownException.h
rename to Sources/c_borogove/iinclude/sys/thread/_FixedThreadPool/ShutdownException.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/_FixedThreadPool/Worker.h b/Sources/c_borogove/iinclude/sys/thread/_FixedThreadPool/Worker.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/_FixedThreadPool/Worker.h
rename to Sources/c_borogove/iinclude/sys/thread/_FixedThreadPool/Worker.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/_Thread/HaxeThread.h b/Sources/c_borogove/iinclude/sys/thread/_Thread/HaxeThread.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/_Thread/HaxeThread.h
rename to Sources/c_borogove/iinclude/sys/thread/_Thread/HaxeThread.h
diff --git a/Sources/c_snikket/iinclude/sys/thread/_Thread/Thread_Impl_.h b/Sources/c_borogove/iinclude/sys/thread/_Thread/Thread_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/sys/thread/_Thread/Thread_Impl_.h
rename to Sources/c_borogove/iinclude/sys/thread/_Thread/Thread_Impl_.h
diff --git a/Sources/c_snikket/iinclude/thenshim/PromiseFactory.h b/Sources/c_borogove/iinclude/thenshim/PromiseFactory.h
similarity index 100%
rename from Sources/c_snikket/iinclude/thenshim/PromiseFactory.h
rename to Sources/c_borogove/iinclude/thenshim/PromiseFactory.h
diff --git a/Sources/c_snikket/iinclude/thenshim/PromiseTools.h b/Sources/c_borogove/iinclude/thenshim/PromiseTools.h
similarity index 100%
rename from Sources/c_snikket/iinclude/thenshim/PromiseTools.h
rename to Sources/c_borogove/iinclude/thenshim/PromiseTools.h
diff --git a/Sources/c_snikket/iinclude/thenshim/Thenable.h b/Sources/c_borogove/iinclude/thenshim/Thenable.h
similarity index 100%
rename from Sources/c_snikket/iinclude/thenshim/Thenable.h
rename to Sources/c_borogove/iinclude/thenshim/Thenable.h
diff --git a/Sources/c_snikket/iinclude/thenshim/_Promise/Promise_Impl_.h b/Sources/c_borogove/iinclude/thenshim/_Promise/Promise_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/thenshim/_Promise/Promise_Impl_.h
rename to Sources/c_borogove/iinclude/thenshim/_Promise/Promise_Impl_.h
diff --git a/Sources/c_snikket/iinclude/thenshim/fallback/FallbackPromise.h b/Sources/c_borogove/iinclude/thenshim/fallback/FallbackPromise.h
similarity index 100%
rename from Sources/c_snikket/iinclude/thenshim/fallback/FallbackPromise.h
rename to Sources/c_borogove/iinclude/thenshim/fallback/FallbackPromise.h
diff --git a/Sources/c_snikket/iinclude/thenshim/fallback/FallbackPromiseFactory.h b/Sources/c_borogove/iinclude/thenshim/fallback/FallbackPromiseFactory.h
similarity index 100%
rename from Sources/c_snikket/iinclude/thenshim/fallback/FallbackPromiseFactory.h
rename to Sources/c_borogove/iinclude/thenshim/fallback/FallbackPromiseFactory.h
diff --git a/Sources/c_snikket/iinclude/thenshim/fallback/HandlerSession.h b/Sources/c_borogove/iinclude/thenshim/fallback/HandlerSession.h
similarity index 100%
rename from Sources/c_snikket/iinclude/thenshim/fallback/HandlerSession.h
rename to Sources/c_borogove/iinclude/thenshim/fallback/HandlerSession.h
diff --git a/Sources/c_snikket/iinclude/thenshim/fallback/PromiseState.h b/Sources/c_borogove/iinclude/thenshim/fallback/PromiseState.h
similarity index 100%
rename from Sources/c_snikket/iinclude/thenshim/fallback/PromiseState.h
rename to Sources/c_borogove/iinclude/thenshim/fallback/PromiseState.h
diff --git a/Sources/c_snikket/iinclude/thenshim/fallback/TaskScheduler.h b/Sources/c_borogove/iinclude/thenshim/fallback/TaskScheduler.h
similarity index 100%
rename from Sources/c_snikket/iinclude/thenshim/fallback/TaskScheduler.h
rename to Sources/c_borogove/iinclude/thenshim/fallback/TaskScheduler.h
diff --git a/Sources/c_snikket/iinclude/tink/_Chunk/Chunk_Impl_.h b/Sources/c_borogove/iinclude/tink/_Chunk/Chunk_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/_Chunk/Chunk_Impl_.h
rename to Sources/c_borogove/iinclude/tink/_Chunk/Chunk_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/_Chunk/EmptyChunk.h b/Sources/c_borogove/iinclude/tink/_Chunk/EmptyChunk.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/_Chunk/EmptyChunk.h
rename to Sources/c_borogove/iinclude/tink/_Chunk/EmptyChunk.h
diff --git a/Sources/c_snikket/iinclude/tink/_Url/Url_Impl_.h b/Sources/c_borogove/iinclude/tink/_Url/Url_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/_Url/Url_Impl_.h
rename to Sources/c_borogove/iinclude/tink/_Url/Url_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/chunk/ByteChunk.h b/Sources/c_borogove/iinclude/tink/chunk/ByteChunk.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/chunk/ByteChunk.h
rename to Sources/c_borogove/iinclude/tink/chunk/ByteChunk.h
diff --git a/Sources/c_snikket/iinclude/tink/chunk/ChunkBase.h b/Sources/c_borogove/iinclude/tink/chunk/ChunkBase.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/chunk/ChunkBase.h
rename to Sources/c_borogove/iinclude/tink/chunk/ChunkBase.h
diff --git a/Sources/c_snikket/iinclude/tink/chunk/ChunkCursor.h b/Sources/c_borogove/iinclude/tink/chunk/ChunkCursor.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/chunk/ChunkCursor.h
rename to Sources/c_borogove/iinclude/tink/chunk/ChunkCursor.h
diff --git a/Sources/c_snikket/iinclude/tink/chunk/ChunkObject.h b/Sources/c_borogove/iinclude/tink/chunk/ChunkObject.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/chunk/ChunkObject.h
rename to Sources/c_borogove/iinclude/tink/chunk/ChunkObject.h
diff --git a/Sources/c_snikket/iinclude/tink/chunk/CompoundChunk.h b/Sources/c_borogove/iinclude/tink/chunk/CompoundChunk.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/chunk/CompoundChunk.h
rename to Sources/c_borogove/iinclude/tink/chunk/CompoundChunk.h
diff --git a/Sources/c_snikket/iinclude/tink/core/CallbackLinkRef.h b/Sources/c_borogove/iinclude/tink/core/CallbackLinkRef.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/CallbackLinkRef.h
rename to Sources/c_borogove/iinclude/tink/core/CallbackLinkRef.h
diff --git a/Sources/c_snikket/iinclude/tink/core/CallbackList.h b/Sources/c_borogove/iinclude/tink/core/CallbackList.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/CallbackList.h
rename to Sources/c_borogove/iinclude/tink/core/CallbackList.h
diff --git a/Sources/c_snikket/iinclude/tink/core/Disposable.h b/Sources/c_borogove/iinclude/tink/core/Disposable.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/Disposable.h
rename to Sources/c_borogove/iinclude/tink/core/Disposable.h
diff --git a/Sources/c_snikket/iinclude/tink/core/FutureStatus.h b/Sources/c_borogove/iinclude/tink/core/FutureStatus.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/FutureStatus.h
rename to Sources/c_borogove/iinclude/tink/core/FutureStatus.h
diff --git a/Sources/c_snikket/iinclude/tink/core/LinkObject.h b/Sources/c_borogove/iinclude/tink/core/LinkObject.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/LinkObject.h
rename to Sources/c_borogove/iinclude/tink/core/LinkObject.h
diff --git a/Sources/c_snikket/iinclude/tink/core/MPair.h b/Sources/c_borogove/iinclude/tink/core/MPair.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/MPair.h
rename to Sources/c_borogove/iinclude/tink/core/MPair.h
diff --git a/Sources/c_snikket/iinclude/tink/core/NamedWith.h b/Sources/c_borogove/iinclude/tink/core/NamedWith.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/NamedWith.h
rename to Sources/c_borogove/iinclude/tink/core/NamedWith.h
diff --git a/Sources/c_snikket/iinclude/tink/core/Outcome.h b/Sources/c_borogove/iinclude/tink/core/Outcome.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/Outcome.h
rename to Sources/c_borogove/iinclude/tink/core/Outcome.h
diff --git a/Sources/c_snikket/iinclude/tink/core/OwnedDisposable.h b/Sources/c_borogove/iinclude/tink/core/OwnedDisposable.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/OwnedDisposable.h
rename to Sources/c_borogove/iinclude/tink/core/OwnedDisposable.h
diff --git a/Sources/c_snikket/iinclude/tink/core/SimpleDisposable.h b/Sources/c_borogove/iinclude/tink/core/SimpleDisposable.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/SimpleDisposable.h
rename to Sources/c_borogove/iinclude/tink/core/SimpleDisposable.h
diff --git a/Sources/c_snikket/iinclude/tink/core/TypedError.h b/Sources/c_borogove/iinclude/tink/core/TypedError.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/TypedError.h
rename to Sources/c_borogove/iinclude/tink/core/TypedError.h
diff --git a/Sources/c_snikket/iinclude/tink/core/_Callback/Callback_Impl_.h b/Sources/c_borogove/iinclude/tink/core/_Callback/Callback_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/_Callback/Callback_Impl_.h
rename to Sources/c_borogove/iinclude/tink/core/_Callback/Callback_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/core/_Callback/LinkPair.h b/Sources/c_borogove/iinclude/tink/core/_Callback/LinkPair.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/_Callback/LinkPair.h
rename to Sources/c_borogove/iinclude/tink/core/_Callback/LinkPair.h
diff --git a/Sources/c_snikket/iinclude/tink/core/_Callback/ListCell.h b/Sources/c_borogove/iinclude/tink/core/_Callback/ListCell.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/_Callback/ListCell.h
rename to Sources/c_borogove/iinclude/tink/core/_Callback/ListCell.h
diff --git a/Sources/c_snikket/iinclude/tink/core/_Future/FutureObject.h b/Sources/c_borogove/iinclude/tink/core/_Future/FutureObject.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/_Future/FutureObject.h
rename to Sources/c_borogove/iinclude/tink/core/_Future/FutureObject.h
diff --git a/Sources/c_snikket/iinclude/tink/core/_Future/Future_Impl_.h b/Sources/c_borogove/iinclude/tink/core/_Future/Future_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/_Future/Future_Impl_.h
rename to Sources/c_borogove/iinclude/tink/core/_Future/Future_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/core/_Future/SuspendableFuture.h b/Sources/c_borogove/iinclude/tink/core/_Future/SuspendableFuture.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/_Future/SuspendableFuture.h
rename to Sources/c_borogove/iinclude/tink/core/_Future/SuspendableFuture.h
diff --git a/Sources/c_snikket/iinclude/tink/core/_Future/SyncFuture.h b/Sources/c_borogove/iinclude/tink/core/_Future/SyncFuture.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/_Future/SyncFuture.h
rename to Sources/c_borogove/iinclude/tink/core/_Future/SyncFuture.h
diff --git a/Sources/c_snikket/iinclude/tink/core/_Lazy/Computable.h b/Sources/c_borogove/iinclude/tink/core/_Lazy/Computable.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/_Lazy/Computable.h
rename to Sources/c_borogove/iinclude/tink/core/_Lazy/Computable.h
diff --git a/Sources/c_snikket/iinclude/tink/core/_Lazy/LazyConst.h b/Sources/c_borogove/iinclude/tink/core/_Lazy/LazyConst.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/_Lazy/LazyConst.h
rename to Sources/c_borogove/iinclude/tink/core/_Lazy/LazyConst.h
diff --git a/Sources/c_snikket/iinclude/tink/core/_Lazy/LazyFunc.h b/Sources/c_borogove/iinclude/tink/core/_Lazy/LazyFunc.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/_Lazy/LazyFunc.h
rename to Sources/c_borogove/iinclude/tink/core/_Lazy/LazyFunc.h
diff --git a/Sources/c_snikket/iinclude/tink/core/_Lazy/LazyObject.h b/Sources/c_borogove/iinclude/tink/core/_Lazy/LazyObject.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/_Lazy/LazyObject.h
rename to Sources/c_borogove/iinclude/tink/core/_Lazy/LazyObject.h
diff --git a/Sources/c_snikket/iinclude/tink/core/_Lazy/Lazy_Impl_.h b/Sources/c_borogove/iinclude/tink/core/_Lazy/Lazy_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/_Lazy/Lazy_Impl_.h
rename to Sources/c_borogove/iinclude/tink/core/_Lazy/Lazy_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/core/_Promise/Promise_Impl_.h b/Sources/c_borogove/iinclude/tink/core/_Promise/Promise_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/core/_Promise/Promise_Impl_.h
rename to Sources/c_borogove/iinclude/tink/core/_Promise/Promise_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/http/BodyPart.h b/Sources/c_borogove/iinclude/tink/http/BodyPart.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/BodyPart.h
rename to Sources/c_borogove/iinclude/tink/http/BodyPart.h
diff --git a/Sources/c_snikket/iinclude/tink/http/ClientObject.h b/Sources/c_borogove/iinclude/tink/http/ClientObject.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/ClientObject.h
rename to Sources/c_borogove/iinclude/tink/http/ClientObject.h
diff --git a/Sources/c_snikket/iinclude/tink/http/ClientType.h b/Sources/c_borogove/iinclude/tink/http/ClientType.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/ClientType.h
rename to Sources/c_borogove/iinclude/tink/http/ClientType.h
diff --git a/Sources/c_snikket/iinclude/tink/http/Container.h b/Sources/c_borogove/iinclude/tink/http/Container.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/Container.h
rename to Sources/c_borogove/iinclude/tink/http/Container.h
diff --git a/Sources/c_snikket/iinclude/tink/http/Fetch.h b/Sources/c_borogove/iinclude/tink/http/Fetch.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/Fetch.h
rename to Sources/c_borogove/iinclude/tink/http/Fetch.h
diff --git a/Sources/c_snikket/iinclude/tink/http/HandlerObject.h b/Sources/c_borogove/iinclude/tink/http/HandlerObject.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/HandlerObject.h
rename to Sources/c_borogove/iinclude/tink/http/HandlerObject.h
diff --git a/Sources/c_snikket/iinclude/tink/http/Header.h b/Sources/c_borogove/iinclude/tink/http/Header.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/Header.h
rename to Sources/c_borogove/iinclude/tink/http/Header.h
diff --git a/Sources/c_snikket/iinclude/tink/http/HeaderField.h b/Sources/c_borogove/iinclude/tink/http/HeaderField.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/HeaderField.h
rename to Sources/c_borogove/iinclude/tink/http/HeaderField.h
diff --git a/Sources/c_snikket/iinclude/tink/http/HeaderParser.h b/Sources/c_borogove/iinclude/tink/http/HeaderParser.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/HeaderParser.h
rename to Sources/c_borogove/iinclude/tink/http/HeaderParser.h
diff --git a/Sources/c_snikket/iinclude/tink/http/IncomingRequest.h b/Sources/c_borogove/iinclude/tink/http/IncomingRequest.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/IncomingRequest.h
rename to Sources/c_borogove/iinclude/tink/http/IncomingRequest.h
diff --git a/Sources/c_snikket/iinclude/tink/http/IncomingRequestBody.h b/Sources/c_borogove/iinclude/tink/http/IncomingRequestBody.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/IncomingRequestBody.h
rename to Sources/c_borogove/iinclude/tink/http/IncomingRequestBody.h
diff --git a/Sources/c_snikket/iinclude/tink/http/IncomingRequestHeader.h b/Sources/c_borogove/iinclude/tink/http/IncomingRequestHeader.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/IncomingRequestHeader.h
rename to Sources/c_borogove/iinclude/tink/http/IncomingRequestHeader.h
diff --git a/Sources/c_snikket/iinclude/tink/http/IncomingResponse.h b/Sources/c_borogove/iinclude/tink/http/IncomingResponse.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/IncomingResponse.h
rename to Sources/c_borogove/iinclude/tink/http/IncomingResponse.h
diff --git a/Sources/c_snikket/iinclude/tink/http/Message.h b/Sources/c_borogove/iinclude/tink/http/Message.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/Message.h
rename to Sources/c_borogove/iinclude/tink/http/Message.h
diff --git a/Sources/c_snikket/iinclude/tink/http/OutgoingRequest.h b/Sources/c_borogove/iinclude/tink/http/OutgoingRequest.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/OutgoingRequest.h
rename to Sources/c_borogove/iinclude/tink/http/OutgoingRequest.h
diff --git a/Sources/c_snikket/iinclude/tink/http/OutgoingRequestHeader.h b/Sources/c_borogove/iinclude/tink/http/OutgoingRequestHeader.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/OutgoingRequestHeader.h
rename to Sources/c_borogove/iinclude/tink/http/OutgoingRequestHeader.h
diff --git a/Sources/c_snikket/iinclude/tink/http/RequestHeader.h b/Sources/c_borogove/iinclude/tink/http/RequestHeader.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/RequestHeader.h
rename to Sources/c_borogove/iinclude/tink/http/RequestHeader.h
diff --git a/Sources/c_snikket/iinclude/tink/http/ResponseHeaderBase.h b/Sources/c_borogove/iinclude/tink/http/ResponseHeaderBase.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/ResponseHeaderBase.h
rename to Sources/c_borogove/iinclude/tink/http/ResponseHeaderBase.h
diff --git a/Sources/c_snikket/iinclude/tink/http/_Client/CustomClient.h b/Sources/c_borogove/iinclude/tink/http/_Client/CustomClient.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/_Client/CustomClient.h
rename to Sources/c_borogove/iinclude/tink/http/_Client/CustomClient.h
diff --git a/Sources/c_snikket/iinclude/tink/http/_Fetch/FetchResponse_Impl_.h b/Sources/c_borogove/iinclude/tink/http/_Fetch/FetchResponse_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/_Fetch/FetchResponse_Impl_.h
rename to Sources/c_borogove/iinclude/tink/http/_Fetch/FetchResponse_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/http/_Header/HeaderValue_Impl_.h b/Sources/c_borogove/iinclude/tink/http/_Header/HeaderValue_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/_Header/HeaderValue_Impl_.h
rename to Sources/c_borogove/iinclude/tink/http/_Header/HeaderValue_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/http/_Response/OutgoingResponseData.h b/Sources/c_borogove/iinclude/tink/http/_Response/OutgoingResponseData.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/_Response/OutgoingResponseData.h
rename to Sources/c_borogove/iinclude/tink/http/_Response/OutgoingResponseData.h
diff --git a/Sources/c_snikket/iinclude/tink/http/clients/CurlClient.h b/Sources/c_borogove/iinclude/tink/http/clients/CurlClient.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/clients/CurlClient.h
rename to Sources/c_borogove/iinclude/tink/http/clients/CurlClient.h
diff --git a/Sources/c_snikket/iinclude/tink/http/clients/Helpers.h b/Sources/c_borogove/iinclude/tink/http/clients/Helpers.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/clients/Helpers.h
rename to Sources/c_borogove/iinclude/tink/http/clients/Helpers.h
diff --git a/Sources/c_snikket/iinclude/tink/http/clients/LocalContainerClient.h b/Sources/c_borogove/iinclude/tink/http/clients/LocalContainerClient.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/clients/LocalContainerClient.h
rename to Sources/c_borogove/iinclude/tink/http/clients/LocalContainerClient.h
diff --git a/Sources/c_snikket/iinclude/tink/http/clients/SocketClient.h b/Sources/c_borogove/iinclude/tink/http/clients/SocketClient.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/clients/SocketClient.h
rename to Sources/c_borogove/iinclude/tink/http/clients/SocketClient.h
diff --git a/Sources/c_snikket/iinclude/tink/http/clients/StdClient.h b/Sources/c_borogove/iinclude/tink/http/clients/StdClient.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/clients/StdClient.h
rename to Sources/c_borogove/iinclude/tink/http/clients/StdClient.h
diff --git a/Sources/c_snikket/iinclude/tink/http/containers/LocalContainer.h b/Sources/c_borogove/iinclude/tink/http/containers/LocalContainer.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/http/containers/LocalContainer.h
rename to Sources/c_borogove/iinclude/tink/http/containers/LocalContainer.h
diff --git a/Sources/c_snikket/iinclude/tink/io/BytewiseParser.h b/Sources/c_borogove/iinclude/tink/io/BytewiseParser.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/BytewiseParser.h
rename to Sources/c_borogove/iinclude/tink/io/BytewiseParser.h
diff --git a/Sources/c_snikket/iinclude/tink/io/IdealSourceTools.h b/Sources/c_borogove/iinclude/tink/io/IdealSourceTools.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/IdealSourceTools.h
rename to Sources/c_borogove/iinclude/tink/io/IdealSourceTools.h
diff --git a/Sources/c_snikket/iinclude/tink/io/ParseResult.h b/Sources/c_borogove/iinclude/tink/io/ParseResult.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/ParseResult.h
rename to Sources/c_borogove/iinclude/tink/io/ParseResult.h
diff --git a/Sources/c_snikket/iinclude/tink/io/ParseStep.h b/Sources/c_borogove/iinclude/tink/io/ParseStep.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/ParseStep.h
rename to Sources/c_borogove/iinclude/tink/io/ParseStep.h
diff --git a/Sources/c_snikket/iinclude/tink/io/PipeResult.h b/Sources/c_borogove/iinclude/tink/io/PipeResult.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/PipeResult.h
rename to Sources/c_borogove/iinclude/tink/io/PipeResult.h
diff --git a/Sources/c_snikket/iinclude/tink/io/PipeResultTools.h b/Sources/c_borogove/iinclude/tink/io/PipeResultTools.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/PipeResultTools.h
rename to Sources/c_borogove/iinclude/tink/io/PipeResultTools.h
diff --git a/Sources/c_snikket/iinclude/tink/io/RealSourceTools.h b/Sources/c_borogove/iinclude/tink/io/RealSourceTools.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/RealSourceTools.h
rename to Sources/c_borogove/iinclude/tink/io/RealSourceTools.h
diff --git a/Sources/c_snikket/iinclude/tink/io/SinkBase.h b/Sources/c_borogove/iinclude/tink/io/SinkBase.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/SinkBase.h
rename to Sources/c_borogove/iinclude/tink/io/SinkBase.h
diff --git a/Sources/c_snikket/iinclude/tink/io/SinkObject.h b/Sources/c_borogove/iinclude/tink/io/SinkObject.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/SinkObject.h
rename to Sources/c_borogove/iinclude/tink/io/SinkObject.h
diff --git a/Sources/c_snikket/iinclude/tink/io/StreamParserObject.h b/Sources/c_borogove/iinclude/tink/io/StreamParserObject.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/StreamParserObject.h
rename to Sources/c_borogove/iinclude/tink/io/StreamParserObject.h
diff --git a/Sources/c_snikket/iinclude/tink/io/WorkerObject.h b/Sources/c_borogove/iinclude/tink/io/WorkerObject.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/WorkerObject.h
rename to Sources/c_borogove/iinclude/tink/io/WorkerObject.h
diff --git a/Sources/c_snikket/iinclude/tink/io/_Sink/SinkYielding_Impl_.h b/Sources/c_borogove/iinclude/tink/io/_Sink/SinkYielding_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/_Sink/SinkYielding_Impl_.h
rename to Sources/c_borogove/iinclude/tink/io/_Sink/SinkYielding_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/io/_Source/Source_Impl_.h b/Sources/c_borogove/iinclude/tink/io/_Source/Source_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/_Source/Source_Impl_.h
rename to Sources/c_borogove/iinclude/tink/io/_Source/Source_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/io/_StreamParser/StreamParser_Impl_.h b/Sources/c_borogove/iinclude/tink/io/_StreamParser/StreamParser_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/_StreamParser/StreamParser_Impl_.h
rename to Sources/c_borogove/iinclude/tink/io/_StreamParser/StreamParser_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/io/_Worker/EagerWorker.h b/Sources/c_borogove/iinclude/tink/io/_Worker/EagerWorker.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/_Worker/EagerWorker.h
rename to Sources/c_borogove/iinclude/tink/io/_Worker/EagerWorker.h
diff --git a/Sources/c_snikket/iinclude/tink/io/_Worker/Worker_Impl_.h b/Sources/c_borogove/iinclude/tink/io/_Worker/Worker_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/_Worker/Worker_Impl_.h
rename to Sources/c_borogove/iinclude/tink/io/_Worker/Worker_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/io/std/InputSource.h b/Sources/c_borogove/iinclude/tink/io/std/InputSource.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/std/InputSource.h
rename to Sources/c_borogove/iinclude/tink/io/std/InputSource.h
diff --git a/Sources/c_snikket/iinclude/tink/io/std/OutputSink.h b/Sources/c_borogove/iinclude/tink/io/std/OutputSink.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/io/std/OutputSink.h
rename to Sources/c_borogove/iinclude/tink/io/std/OutputSink.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/Conclusion.h b/Sources/c_borogove/iinclude/tink/streams/Conclusion.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/Conclusion.h
rename to Sources/c_borogove/iinclude/tink/streams/Conclusion.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/Empty.h b/Sources/c_borogove/iinclude/tink/streams/Empty.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/Empty.h
rename to Sources/c_borogove/iinclude/tink/streams/Empty.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/FutureStream.h b/Sources/c_borogove/iinclude/tink/streams/FutureStream.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/FutureStream.h
rename to Sources/c_borogove/iinclude/tink/streams/FutureStream.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/Generator.h b/Sources/c_borogove/iinclude/tink/streams/Generator.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/Generator.h
rename to Sources/c_borogove/iinclude/tink/streams/Generator.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/Handled.h b/Sources/c_borogove/iinclude/tink/streams/Handled.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/Handled.h
rename to Sources/c_borogove/iinclude/tink/streams/Handled.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/IdealStreamBase.h b/Sources/c_borogove/iinclude/tink/streams/IdealStreamBase.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/IdealStreamBase.h
rename to Sources/c_borogove/iinclude/tink/streams/IdealStreamBase.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/IdealizeStream.h b/Sources/c_borogove/iinclude/tink/streams/IdealizeStream.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/IdealizeStream.h
rename to Sources/c_borogove/iinclude/tink/streams/IdealizeStream.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/Reduction.h b/Sources/c_borogove/iinclude/tink/streams/Reduction.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/Reduction.h
rename to Sources/c_borogove/iinclude/tink/streams/Reduction.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/ReductionStep.h b/Sources/c_borogove/iinclude/tink/streams/ReductionStep.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/ReductionStep.h
rename to Sources/c_borogove/iinclude/tink/streams/ReductionStep.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/RegroupResult.h b/Sources/c_borogove/iinclude/tink/streams/RegroupResult.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/RegroupResult.h
rename to Sources/c_borogove/iinclude/tink/streams/RegroupResult.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/RegroupStatus.h b/Sources/c_borogove/iinclude/tink/streams/RegroupStatus.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/RegroupStatus.h
rename to Sources/c_borogove/iinclude/tink/streams/RegroupStatus.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/Single.h b/Sources/c_borogove/iinclude/tink/streams/Single.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/Single.h
rename to Sources/c_borogove/iinclude/tink/streams/Single.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/Step.h b/Sources/c_borogove/iinclude/tink/streams/Step.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/Step.h
rename to Sources/c_borogove/iinclude/tink/streams/Step.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/StreamBase.h b/Sources/c_borogove/iinclude/tink/streams/StreamBase.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/StreamBase.h
rename to Sources/c_borogove/iinclude/tink/streams/StreamBase.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/StreamObject.h b/Sources/c_borogove/iinclude/tink/streams/StreamObject.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/StreamObject.h
rename to Sources/c_borogove/iinclude/tink/streams/StreamObject.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/_Stream/CompoundStream.h b/Sources/c_borogove/iinclude/tink/streams/_Stream/CompoundStream.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/_Stream/CompoundStream.h
rename to Sources/c_borogove/iinclude/tink/streams/_Stream/CompoundStream.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/_Stream/ErrorStream.h b/Sources/c_borogove/iinclude/tink/streams/_Stream/ErrorStream.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/_Stream/ErrorStream.h
rename to Sources/c_borogove/iinclude/tink/streams/_Stream/ErrorStream.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/_Stream/Handler_Impl_.h b/Sources/c_borogove/iinclude/tink/streams/_Stream/Handler_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/_Stream/Handler_Impl_.h
rename to Sources/c_borogove/iinclude/tink/streams/_Stream/Handler_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/_Stream/Reducer_Impl_.h b/Sources/c_borogove/iinclude/tink/streams/_Stream/Reducer_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/_Stream/Reducer_Impl_.h
rename to Sources/c_borogove/iinclude/tink/streams/_Stream/Reducer_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/_Stream/RegroupStream.h b/Sources/c_borogove/iinclude/tink/streams/_Stream/RegroupStream.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/_Stream/RegroupStream.h
rename to Sources/c_borogove/iinclude/tink/streams/_Stream/RegroupStream.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/_Stream/Regrouper_Impl_.h b/Sources/c_borogove/iinclude/tink/streams/_Stream/Regrouper_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/_Stream/Regrouper_Impl_.h
rename to Sources/c_borogove/iinclude/tink/streams/_Stream/Regrouper_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/streams/_Stream/Stream_Impl_.h b/Sources/c_borogove/iinclude/tink/streams/_Stream/Stream_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/streams/_Stream/Stream_Impl_.h
rename to Sources/c_borogove/iinclude/tink/streams/_Stream/Stream_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/url/_Host/Host_Impl_.h b/Sources/c_borogove/iinclude/tink/url/_Host/Host_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/url/_Host/Host_Impl_.h
rename to Sources/c_borogove/iinclude/tink/url/_Host/Host_Impl_.h
diff --git a/Sources/c_snikket/iinclude/tink/url/_Path/Path_Impl_.h b/Sources/c_borogove/iinclude/tink/url/_Path/Path_Impl_.h
similarity index 100%
rename from Sources/c_snikket/iinclude/tink/url/_Path/Path_Impl_.h
rename to Sources/c_borogove/iinclude/tink/url/_Path/Path_Impl_.h
diff --git a/Sources/c_borogove/include/borogove.h b/Sources/c_borogove/include/borogove.h
new file mode 100644
index 0000000..8373e88
--- /dev/null
+++ b/Sources/c_borogove/include/borogove.h
@@ -0,0 +1,1555 @@
+/**
+ * \file borogove.h the Borogove SDK for C
+ *
+ * Everything returned from an SDK procedure or passed to a function
+ * pointer, both strings and opaque types, must be passed to
+ * borogove_release when you are done with it.
+ *
+ * Thread-safety: All calls can be made from any thread.
+ * Callbacks may run on any thread.
+ */
+
+#ifndef __BOROGOVE_H
+#define __BOROGOVE_H
+
+#ifndef MKDOCS
+#include <stdbool.h>
+#include <stddef.h>
+
+#ifndef API_PREFIX
+ #ifdef _WIN32
+ #define API_PREFIX __declspec(dllimport)
+ #else
+ #define API_PREFIX
+ #endif
+#endif
+
+#endif
+
+typedef void (*borogove_panic_callback) (const char *info);
+
+enum
+#ifdef __clang__
+__attribute__((enum_extensibility(closed)))
+#endif
+borogove_message_type {
+ MessageChat = 0,
+ MessageCall = 1,
+ MessageChannel = 2,
+ MessageChannelPrivate = 3
+};
+
+enum
+#ifdef __clang__
+__attribute__((enum_extensibility(closed)))
+#endif
+borogove_message_direction {
+ MessageReceived = 0,
+ MessageSent = 1
+};
+
+enum
+#ifdef __clang__
+__attribute__((enum_extensibility(closed)))
+#endif
+borogove_message_status {
+ MessagePending = 0,
+ MessageDeliveredToServer = 1,
+ MessageDeliveredToDevice = 2,
+ MessageFailedToSend = 3
+};
+
+enum
+#ifdef __clang__
+__attribute__((enum_extensibility(closed)))
+#endif
+borogove_encryption_status {
+ DecryptionSuccess = 0,
+ DecryptionFailure = 1
+};
+
+typedef int borogove_event_handler_token;
+
+enum
+#ifdef __clang__
+__attribute__((enum_extensibility(closed)))
+#endif
+borogove_ui_state {
+ Pinned = 0,
+ Open = 1,
+ Closed = 2,
+ Invited = 3
+};
+
+enum
+#ifdef __clang__
+__attribute__((enum_extensibility(closed)))
+#endif
+borogove_calls_call_status {
+ NoCall = 0,
+ Incoming = 1,
+ Outgoing = 2,
+ Connecting = 3,
+ Ongoing = 4,
+ Failed = 5
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Initializes the SDK
+ *
+ * This must be first before calling SDK functions (otherwise those calls will hang waiting for a response).
+ *
+ * @param panicCallback a callback to execute if the SDK panics. The SDK will continue processing events after a panic and you may want to stop it after receiving this callback. Use `NULL` for no callback
+ * @returns `NULL` if the thread initializes successfully or a null-terminated C string if an error occurs during initialization
+ */
+API_PREFIX const char *borogove_setup(borogove_panic_callback panic_callback);
+
+/**
+ * Stops the SDK, blocking until the main thread has completed. Once ended, it cannot be restarted (this is because static variable state will be retained from the last run).
+ *
+ * It can be safely called any number of times – if the SDK is not running this function will just return.
+ *
+ * After executing no more calls to SDK functions can be made (as these will hang waiting for a response).
+ *
+ * @param wait If `true`, this function will wait for all events scheduled to execute in the future on the SDK thread to complete. If `false`, immediate pending events will be finished and the SDK stopped without executing events scheduled in the future
+ */
+API_PREFIX void borogove_stop(bool wait);
+
+/**
+ * Informs the garbage collector that object is no longer needed by the C code.
+ *
+ * If the object has no remaining reference the garbage collector can free the associated memory (which can happen at any time in the future). It does not free the memory immediately.
+ *
+ * Thread-safety: can be called on any thread.
+ *
+ * @param ptr a handle to an arbitrary SDK object returned from an SDK function
+ */
+API_PREFIX void borogove_release(const void *ptr);
+
+/**
+ * Store media on the filesystem
+ *
+ * @param path where on filesystem to store media
+ */
+API_PREFIX void *borogove_persistence_media_store_fs_new(const char *path);
+
+/**
+ * Get absolute path on filesystem to a particular piece of media
+ *
+ * @param uri The URI to the media (ni:// or similar)
+ * @param handler which receives the path or null
+ */
+API_PREFIX void borogove_persistence_media_store_fs_get_media_path(void *media_store_fs, const char *uri, void (*handler) (const char*, void *handler__context), void *handler__context);
+
+/**
+ * Create a basic persistence layer based on sqlite
+ *
+ * @param dbfile path to sqlite database
+ * @params media a MediaStore to use for media
+ * @returns new persistence layer
+ */
+API_PREFIX void *borogove_persistence_sqlite_new(const char *dbfile, void *media);
+
+/**
+ * Get a single message
+ *
+ * @param accountId the account the message was sent or received on
+ * @param chatId the chat the message was sent or received on
+ * @param serverId the serverId of the message (optional if localId is specified)
+ * @param localId the localId of the message (optional if serverId is specified)
+ * @param handler which receives the message or null
+ */
+API_PREFIX void borogove_persistence_sqlite_get_message(void *sqlite, const char *accountId, const char *chatId, const char *serverId, const char *localId, void (*handler) (void*, void *handler__context), void *handler__context);
+
+/**
+ * Remove an account from storage
+ *
+ * @param accountId the account to remove
+ * @param completely if message history, etc should be removed also
+ */
+API_PREFIX void borogove_persistence_sqlite_remove_account(void *sqlite, const char *accountId, bool completely);
+
+/**
+ * List all known accounts
+ *
+ * @param handler which receives array of account IDs
+ */
+API_PREFIX void borogove_persistence_sqlite_list_accounts(void *sqlite, void (*handler) (const char**, size_t, void *handler__context), void *handler__context);
+
+/**
+ * The ID as set by the creator of this message
+ */
+API_PREFIX const char *borogove_chat_message_local_id(void *chat_message);
+
+/**
+ * The ID as set by the authoritative server
+ */
+API_PREFIX const char *borogove_chat_message_server_id(void *chat_message);
+
+/**
+ * The ID of the server which set the serverId
+ */
+API_PREFIX const char *borogove_chat_message_server_id_by(void *chat_message);
+
+/**
+ * The type of this message (Chat, Call, etc)
+ */
+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
+ */
+API_PREFIX const char *borogove_chat_message_timestamp(void *chat_message);
+
+/**
+ * The ID of the sender of this message
+ */
+API_PREFIX const char *borogove_chat_message_sender_id(void *chat_message);
+
+/**
+ * Message this one is in reply to, or NULL
+ */
+API_PREFIX void *borogove_chat_message_reply_to_message(void *chat_message);
+
+/**
+ * ID of the thread this message is in, or NULL
+ */
+API_PREFIX const char *borogove_chat_message_thread_id(void *chat_message);
+
+/**
+ * Array of attachments to this message
+ */
+API_PREFIX size_t borogove_chat_message_attachments(void *chat_message, void ***outPtr);
+
+/**
+ * List of reactions to this message
+ */
+API_PREFIX size_t borogove_chat_message_reaction_keys(void *chat_message, const char ***outPtr);
+
+/**
+ * Details of a set of reaction to this message
+ */
+API_PREFIX size_t borogove_chat_message_reaction_details(void *chat_message, const char *reactionKey, void ***outPtr);
+
+/**
+ * Body text of this message or NULL
+ */
+API_PREFIX const char *borogove_chat_message_text(void *chat_message);
+
+/**
+ * Language code for the body text
+ */
+API_PREFIX const char *borogove_chat_message_lang(void *chat_message);
+
+/**
+ * Direction of this message
+ */
+API_PREFIX enum borogove_message_direction borogove_chat_message_direction(void *chat_message);
+
+/**
+ * Status of this message
+ */
+API_PREFIX enum borogove_message_status borogove_chat_message_status(void *chat_message);
+
+/**
+ * Message to go along with the message status
+ */
+API_PREFIX const char *borogove_chat_message_status_text(void *chat_message);
+
+/**
+ * Array of past versions of this message, if it has been edited
+ */
+API_PREFIX size_t borogove_chat_message_versions(void *chat_message, void ***outPtr);
+
+/**
+ * Information about the encryption used by the sender of
+ * this message.
+ */
+API_PREFIX void *borogove_chat_message_encryption(void *chat_message);
+
+/**
+ * Create a new ChatMessage in reply to this one
+ */
+API_PREFIX void *borogove_chat_message_reply(void *chat_message);
+
+/**
+ * Get HTML version of the message body
+ *
+ * WARNING: this is possibly untrusted HTML. You must parse or sanitize appropriately!
+ *
+ * @param sender optionally specify the full details of the sender
+ */
+API_PREFIX const char *borogove_chat_message_html(void *chat_message, void *sender);
+
+/**
+ * The ID of the Chat this message is associated with
+ */
+API_PREFIX const char *borogove_chat_message_chat_id(void *chat_message);
+
+/**
+ * The ID of the account associated with this message
+ */
+API_PREFIX const char *borogove_chat_message_account(void *chat_message);
+
+/**
+ * Is this an incoming message?
+ */
+API_PREFIX bool borogove_chat_message_is_incoming(void *chat_message);
+
+/**
+ * The URI of an icon for the thread associated with this message, or NULL
+ */
+API_PREFIX const char *borogove_chat_message_thread_icon(void *chat_message);
+
+/**
+ * The last status of the call if this message is related to a call
+ */
+API_PREFIX const char *borogove_chat_message_call_status(void *chat_message);
+
+/**
+ * The session id of the call if this message is related to a call
+ */
+API_PREFIX const char *borogove_chat_message_call_sid(void *chat_message);
+
+/**
+ * The duration of the call if this message is related to a call
+ */
+API_PREFIX const char *borogove_chat_message_call_duration(void *chat_message);
+
+/**
+ * Create a new attachment for adding to a ChatMessage
+ *
+ * @param name Optional filename
+ * @param mime MIME type
+ * @param size Size in bytes
+ * @param uri URI to attachment
+ */
+API_PREFIX void *borogove_chat_attachment_create(const char *name, const char *mime, int size, const char *uri);
+
+/**
+ * Filename
+ */
+API_PREFIX const char *borogove_chat_attachment_name(void *chat_attachment);
+
+/**
+ * MIME Type
+ */
+API_PREFIX const char *borogove_chat_attachment_mime(void *chat_attachment);
+
+/**
+ * Size in bytes
+ */
+API_PREFIX int borogove_chat_attachment_size(void *chat_attachment);
+
+/**
+ * URIs to data
+ */
+API_PREFIX size_t borogove_chat_attachment_uris(void *chat_attachment, const char ***outPtr);
+
+/**
+ * Hashes of data
+ */
+API_PREFIX size_t borogove_chat_attachment_hashes(void *chat_attachment, void ***outPtr);
+
+/**
+ * Create a new Hash from a hex string
+ *
+ * @param algorithm name per https://xmpp.org/extensions/xep-0300.html
+ * @param hash in hex format
+ * @returns Hash or null on error
+ */
+API_PREFIX void *borogove_hash_from_hex(const char *algorithm, const char *hash);
+
+/**
+ * Create a new Hash from a ni:, cid: or similar URI
+ *
+ * @param uri The URI
+ * @returns Hash or null on error
+ */
+API_PREFIX void *borogove_hash_from_uri(const char *uri);
+
+/**
+ * Hash algorithm name
+ */
+API_PREFIX const char *borogove_hash_algorithm(void *hash);
+
+/**
+ * Represent this Hash as a URI
+ *
+ * @returns URI as a string
+ */
+API_PREFIX const char *borogove_hash_to_uri(void *hash);
+
+/**
+ * Represent this Hash as a hex string
+ *
+ * @returns hex string
+ */
+API_PREFIX const char *borogove_hash_to_hex(void *hash);
+
+/**
+ * Represent this Hash as a Base64 string
+ *
+ * @returns Base64-encoded string
+ */
+API_PREFIX const char *borogove_hash_to_base_64(void *hash);
+
+/**
+ * Represent this Hash as a Base64url string
+ *
+ * @returns Base64url-encoded string
+ */
+API_PREFIX const char *borogove_hash_to_base_64_url(void *hash);
+
+/**
+ * Create a new Unicode reaction to send
+ *
+ * @param unicode emoji of the reaction
+ * @returns Reaction
+ */
+API_PREFIX void *borogove_reaction_unicode(const char *unicode);
+
+/**
+ * ID of who sent this Reaction
+ */
+API_PREFIX const char *borogove_reaction_sender_id(void *reaction);
+
+/**
+ * Date and time when this Reaction was sent,
+ * in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
+ */
+API_PREFIX const char *borogove_reaction_timestamp(void *reaction);
+
+/**
+ * Key for grouping reactions
+ */
+API_PREFIX const char *borogove_reaction_key(void *reaction);
+
+API_PREFIX enum borogove_encryption_status borogove_encryption_info_status(void *encryption_info);
+
+API_PREFIX const char *borogove_encryption_info_method(void *encryption_info);
+
+API_PREFIX const char *borogove_encryption_info_method_name(void *encryption_info);
+
+API_PREFIX const char *borogove_encryption_info_reason(void *encryption_info);
+
+API_PREFIX const char *borogove_encryption_info_reason_text(void *encryption_info);
+
+/**
+ * @returns a new blank ChatMessageBuilder
+ */
+API_PREFIX void *borogove_chat_message_builder_new();
+
+/**
+ * The ID as set by the creator of this message
+ */
+API_PREFIX const char *borogove_chat_message_builder_local_id(void *chat_message_builder);
+
+/**
+ * The ID as set by the creator of this message
+ */
+API_PREFIX void borogove_chat_message_builder_set_local_id(void *chat_message_builder, const char *value);
+
+/**
+ * The ID as set by the authoritative server
+ */
+API_PREFIX const char *borogove_chat_message_builder_server_id(void *chat_message_builder);
+
+/**
+ * The ID as set by the authoritative server
+ */
+API_PREFIX void borogove_chat_message_builder_set_server_id(void *chat_message_builder, const char *value);
+
+/**
+ * The ID of the server which set the serverId
+ */
+API_PREFIX const char *borogove_chat_message_builder_server_id_by(void *chat_message_builder);
+
+/**
+ * The ID of the server which set the serverId
+ */
+API_PREFIX void borogove_chat_message_builder_set_server_id_by(void *chat_message_builder, const char *value);
+
+/**
+ * The type of this message (Chat, Call, etc)
+ */
+API_PREFIX enum borogove_message_type borogove_chat_message_builder_type(void *chat_message_builder);
+
+/**
+ * The type of this message (Chat, Call, etc)
+ */
+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
+ */
+API_PREFIX const char *borogove_chat_message_builder_timestamp(void *chat_message_builder);
+
+/**
+ * The timestamp of this message, in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
+ */
+API_PREFIX void borogove_chat_message_builder_set_timestamp(void *chat_message_builder, const char *value);
+
+/**
+ * The ID of the message sender
+ */
+API_PREFIX const char *borogove_chat_message_builder_sender_id(void *chat_message_builder);
+
+/**
+ * The ID of the message sender
+ */
+API_PREFIX void borogove_chat_message_builder_set_sender_id(void *chat_message_builder, const char *value);
+
+/**
+ * Message this one is in reply to, or NULL
+ */
+API_PREFIX void *borogove_chat_message_builder_reply_to_message(void *chat_message_builder);
+
+/**
+ * Message this one is in reply to, or NULL
+ */
+API_PREFIX void borogove_chat_message_builder_set_reply_to_message(void *chat_message_builder, void *value);
+
+/**
+ * ID of the thread this message is in, or NULL
+ */
+API_PREFIX const char *borogove_chat_message_builder_thread_id(void *chat_message_builder);
+
+/**
+ * ID of the thread this message is in, or NULL
+ */
+API_PREFIX void borogove_chat_message_builder_set_thread_id(void *chat_message_builder, const char *value);
+
+/**
+ * Array of attachments to this message
+ */
+API_PREFIX size_t borogove_chat_message_builder_attachments(void *chat_message_builder, void ***outPtr);
+
+/**
+ * Body text of this message or NULL
+ */
+API_PREFIX const char *borogove_chat_message_builder_text(void *chat_message_builder);
+
+/**
+ * Body text of this message or NULL
+ */
+API_PREFIX void borogove_chat_message_builder_set_text(void *chat_message_builder, const char *value);
+
+/**
+ * Language code for the body text
+ */
+API_PREFIX const char *borogove_chat_message_builder_lang(void *chat_message_builder);
+
+/**
+ * Language code for the body text
+ */
+API_PREFIX void borogove_chat_message_builder_set_lang(void *chat_message_builder, const char *value);
+
+/**
+ * Direction of this message
+ */
+API_PREFIX enum borogove_message_direction borogove_chat_message_builder_direction(void *chat_message_builder);
+
+/**
+ * Direction of this message
+ */
+API_PREFIX void borogove_chat_message_builder_set_direction(void *chat_message_builder, enum borogove_message_direction value);
+
+/**
+ * Status of this message
+ */
+API_PREFIX enum borogove_message_status borogove_chat_message_builder_status(void *chat_message_builder);
+
+/**
+ * Status of this message
+ */
+API_PREFIX void borogove_chat_message_builder_set_status(void *chat_message_builder, enum borogove_message_status value);
+
+/**
+ * Human readable text to go with the status
+ */
+API_PREFIX const char *borogove_chat_message_builder_status_text(void *chat_message_builder);
+
+/**
+ * Human readable text to go with the status
+ */
+API_PREFIX void borogove_chat_message_builder_set_status_text(void *chat_message_builder, const char *value);
+
+/**
+ * Array of past versions of this message, if it has been edited
+ */
+API_PREFIX void borogove_chat_message_builder_set_versions(void *chat_message_builder, void *const *inPtr, size_t count);
+
+/**
+ * Array of past versions of this message, if it has been edited
+ */
+API_PREFIX size_t borogove_chat_message_builder_versions(void *chat_message_builder, void ***outPtr);
+
+/**
+ * Information about the encryption used by the sender of
+ * this message.
+ */
+API_PREFIX void *borogove_chat_message_builder_encryption(void *chat_message_builder);
+
+/**
+ * Information about the encryption used by the sender of
+ * this message.
+ */
+API_PREFIX void borogove_chat_message_builder_set_encryption(void *chat_message_builder, void *value);
+
+/**
+ * Add an attachment to this message
+ *
+ * @param attachment The ChatAttachment to add
+ */
+API_PREFIX void borogove_chat_message_builder_add_attachment(void *chat_message_builder, void *attachment);
+
+/**
+ * Set rich text using an HTML string
+ * Also sets the plain text body appropriately
+ */
+API_PREFIX void borogove_chat_message_builder_set_html(void *chat_message_builder, const char *html);
+
+/**
+ * The ID of the Chat this message is associated with
+ */
+API_PREFIX const char *borogove_chat_message_builder_chat_id(void *chat_message_builder);
+
+/**
+ * The ID of the sender of this message
+ */
+API_PREFIX const char *borogove_chat_message_builder_get_sender_id(void *chat_message_builder);
+
+/**
+ * Build this builder into an immutable ChatMessage
+ *
+ * @returns the ChatMessage
+ */
+API_PREFIX void *borogove_chat_message_builder_build(void *chat_message_builder);
+
+API_PREFIX const char *borogove_participant_display_name(void *participant);
+
+API_PREFIX const char *borogove_participant_photo_uri(void *participant);
+
+API_PREFIX const char *borogove_participant_placeholder_uri(void *participant);
+
+API_PREFIX bool borogove_participant_is_self(void *participant);
+
+API_PREFIX void borogove_participant_profile(void *participant, void *client, void (*handler) (void*, void *handler__context), void *handler__context);
+
+/**
+ * All items in the profile
+ */
+API_PREFIX size_t borogove_profile_items(void *profile, void ***outPtr);
+
+API_PREFIX const char *borogove_profile_item_id(void *profile_item);
+
+API_PREFIX const char *borogove_profile_item_key(void *profile_item);
+
+API_PREFIX size_t borogove_profile_item_parameters(void *profile_item, void ***outPtr);
+
+API_PREFIX size_t borogove_profile_item_text(void *profile_item, const char ***outPtr);
+
+API_PREFIX size_t borogove_profile_item_uri(void *profile_item, const char ***outPtr);
+
+API_PREFIX size_t borogove_profile_item_date(void *profile_item, const char ***outPtr);
+
+API_PREFIX size_t borogove_profile_item_time(void *profile_item, const char ***outPtr);
+
+API_PREFIX size_t borogove_profile_item_datetime(void *profile_item, const char ***outPtr);
+
+API_PREFIX size_t borogove_profile_item_language_tag(void *profile_item, const char ***outPtr);
+
+/**
+ * Create a basic persistence layer that persists nothing
+ *
+ * @returns new persistence layer
+ */
+API_PREFIX void *borogove_persistence_dummy_new();
+
+/**
+ * Receive a new push notification from some external system
+ *
+ * @param data the raw data from the push
+ * @param persistence the persistence layer to write into
+ * @returns a Notification representing the push data
+ */
+API_PREFIX void *borogove_push_receive(const char *data, void *persistence);
+
+/**
+ * The title
+ */
+API_PREFIX const char *borogove_notification_title(void *notification);
+
+/**
+ * The body text
+ */
+API_PREFIX const char *borogove_notification_body(void *notification);
+
+/**
+ * The ID of the associated account
+ */
+API_PREFIX const char *borogove_notification_account_id(void *notification);
+
+/**
+ * The ID of the associated chat
+ */
+API_PREFIX const char *borogove_notification_chat_id(void *notification);
+
+/**
+ * The ID of the message sender
+ */
+API_PREFIX const char *borogove_notification_sender_id(void *notification);
+
+/**
+ * The serverId of the message
+ */
+API_PREFIX const char *borogove_notification_message_id(void *notification);
+
+/**
+ * The type of the message
+ */
+API_PREFIX enum borogove_message_type borogove_notification_type(void *notification);
+
+/**
+ * If this is a call notification, the call status
+ */
+API_PREFIX const char *borogove_notification_call_status(void *notification);
+
+/**
+ * If this is a call notification, the call session ID
+ */
+API_PREFIX const char *borogove_notification_call_sid(void *notification);
+
+/**
+ * Optional image URI
+ */
+API_PREFIX const char *borogove_notification_image_uri(void *notification);
+
+/**
+ * Optional language code
+ */
+API_PREFIX const char *borogove_notification_lang(void *notification);
+
+/**
+ * Optional date and time of the event
+ */
+API_PREFIX const char *borogove_notification_timestamp(void *notification);
+
+/**
+ * Remove an event listener of any type, no matter how it was added
+ * or what event it is for.
+ *
+ * @param token the token that was returned when the listener was added
+ */
+API_PREFIX void borogove_event_emitter_remove_event_listener(void *event_emitter, borogove_event_handler_token token);
+
+/**
+ * Create a new Client to connect to a particular account
+ *
+ * @param accountId the account to connect to
+ * @param persistence the persistence layer to use for storage
+ */
+API_PREFIX void *borogove_client_new(const char *accountId, void *persistence);
+
+/**
+ * Set to false to suppress sending available presence
+ */
+API_PREFIX void borogove_client_set_send_available(void *client, bool value);
+
+/**
+ * Start this client running and trying to connect to the server
+ */
+API_PREFIX void borogove_client_start(void *client);
+
+/**
+ * Gets the client ready to use but does not connect to the server
+ *
+ * @param handler which receives true once the Client is ready
+ */
+API_PREFIX void borogove_client_start_offline(void *client, void (*handler) (bool, void *handler__context), void *handler__context);
+
+/**
+ * Destroy local data for this account
+ *
+ * @param completely if true chats, messages, etc will be deleted as well
+ */
+API_PREFIX void borogove_client_logout(void *client, bool completely);
+
+/**
+ * Sets the password to be used in response to the password needed event
+ *
+ * @param password
+ */
+API_PREFIX void borogove_client_use_password(void *client, const char *password);
+
+/**
+ * Get the account ID for this Client
+ *
+ * @returns account id
+ */
+API_PREFIX const char *borogove_client_account_id(void *client);
+
+/**
+ * Get the current display name for this account
+ *
+ * @returns display name
+ */
+API_PREFIX const char *borogove_client_display_name(void *client);
+
+/**
+ * Set the current profile for this account on the server
+ *
+ * @param profile to set
+ * @param publicAccess set the access for the profile to public
+ */
+API_PREFIX void borogove_client_set_profile(void *client, void *profile, bool publicAccess);
+
+/**
+ * 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
+ */
+API_PREFIX void borogove_client_prepare_attachment(void *client, void *source, void (*handler) (void*, void *handler__context), void *handler__context);
+
+/**
+ * @returns array of open chats, sorted by last activity
+ */
+API_PREFIX size_t borogove_client_get_chats(void *client, void ***outPtr);
+
+/**
+ * Search for chats the user can start or join
+ *
+ * @param q the search query to use
+ * @param callback takes two arguments, the query that was used and the array of results, and returns true if we should stop searching
+ */
+API_PREFIX void borogove_client_find_available_chats(void *client, const char *q, bool (*callback) (const char*, void**, size_t, void*), void *callback__context);
+
+/**
+ * Start or join a chat from the search results
+ *
+ * @returns the chat that was started
+ */
+API_PREFIX void *borogove_client_start_chat(void *client, void *availableChat);
+
+/**
+ * Find a chat by id
+ *
+ * @returns the chat if known, or NULL
+ */
+API_PREFIX void *borogove_client_get_chat(void *client, const char *chatId);
+
+/**
+ * Enable push notifications
+ *
+ * @param push_service the address of a push proxy
+ * @param vapid_private_pkcs8 the private key for signing JWT of the push service
+ * @param endpoint the final target for the push proxy to forward to
+ * @param p256dh A P-256 uncompressed point in ANSI X9.62 format
+ * @param auth Random 16 octed value
+ * @param grace Grace period during which not to generate push if another app is active for same account, in seconds (negative for none)
+ * @param claims Optional additional JWT claims as key then value
+ */
+API_PREFIX void borogove_client_enable_push(void *client, const char *push_service, const char *endpoint, const unsigned char *p256dh, size_t p256dh__len, const unsigned char *auth, size_t auth__len, int grace, const unsigned char *vapid_private_pkcs8, size_t vapid_private_pkcs8__len, const char *const *claims, size_t claims__len);
+
+/**
+ * Event fired when client needs a password for authentication
+ *
+ * @param handler takes one argument, the Client that needs a password
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_password_needed_listener(void *client, void (*handler) (void*, void*), void *handler__context);
+
+/**
+ * Event fired when client is connected and fully synchronized
+ *
+ * @param handler takes no arguments
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_status_online_listener(void *client, void (*handler) (void*), void *handler__context);
+
+/**
+ * Event fired when client is disconnected
+ *
+ * @param handler takes no arguments
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_status_offline_listener(void *client, void (*handler) (void*), void *handler__context);
+
+/**
+ * Event fired when connection fails with a fatal error and will not be retried
+ *
+ * @param handler takes no arguments
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_connection_failed_listener(void *client, void (*handler) (void*), void *handler__context);
+
+/**
+ * Event fired when TLS checks fail, to give client the chance to override
+ *
+ * @param handler takes two arguments, the PEM of the cert and an array of DNS names, and must return true to accept or false to reject
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_tls_check_listener(void *client, bool (*handler) (const char*, const char**, size_t, void*), void *handler__context);
+
+/**
+ * Event fired when a new ChatMessage comes in on any Chat
+ * Also fires when status of a ChatMessage changes,
+ * when a ChatMessage is edited, or when a reaction is added
+ *
+ * @param handler takes two arguments, the ChatMessage and ChatMessageEvent enum describing what happened
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_chat_message_listener(void *client, void (*handler) (void*, int, void*), void *handler__context);
+
+/**
+ * Event fired when syncing a new ChatMessage that was send when offline.
+ * Normally you don't want this, but it may be useful if you want to notify on app start.
+ *
+ * @param handler takes one argument, the ChatMessage
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_sync_message_listener(void *client, void (*handler) (void*, void*), void *handler__context);
+
+/**
+ * Event fired when a Chat's metadata is updated, or when a new Chat is added
+ *
+ * @param handler takes one argument, an array of Chats that were updated
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_chats_updated_listener(void *client, void (*handler) (void**, size_t, void*), void *handler__context);
+
+/**
+ * Event fired when a new call comes in
+ *
+ * @param handler takes one argument, the call Session
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_call_ring_listener(void *client, void (*handler) (void*, void*), void *handler__context);
+
+/**
+ * Event fired when a call is retracted or hung up
+ *
+ * @param handler takes two arguments, the associated Chat ID and Session ID
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_call_retract_listener(void *client, void (*handler) (const char*, const char*, void*), void *handler__context);
+
+/**
+ * Event fired when an outgoing call starts ringing
+ *
+ * @param handler takes one argument, the associated Session
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_call_ringing_listener(void *client, void (*handler) (void*, void*), void *handler__context);
+
+/**
+ * Event fired when an existing call changes status (connecting, failed, etc)
+ *
+ * @param handler takes one argument, the associated Session
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_call_update_status_listener(void *client, void (*handler) (void*, void*), void *handler__context);
+
+/**
+ * Event fired when a call is asking for media to send
+ *
+ * @param handler takes three arguments, the call Session,
+ * a boolean indicating if audio is desired,
+ * and a boolean indicating if video is desired
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_call_media_listener(void *client, void (*handler) (void*, bool, bool, void*), void *handler__context);
+
+/**
+ * Event fired when call has a new MediaStreamTrack to play
+ *
+ * @param handler takes three arguments, the associated Chat ID,
+ * the new MediaStreamTrack, and an array of any associated MediaStreams
+ * @returns token for use with removeEventListener
+ */
+API_PREFIX borogove_event_handler_token borogove_client_add_call_track_listener(void *client, void (*handler) (void*, void*, void**, size_t, void*), void *handler__context);
+
+/**
+ * Let the SDK know the UI is in the foreground
+ */
+API_PREFIX void borogove_client_set_in_foreground(void *client);
+
+/**
+ * Let the SDK know the UI is in the foreground
+ */
+API_PREFIX void borogove_client_set_not_in_foreground(void *client);
+
+/**
+ * ID of this Chat
+ */
+API_PREFIX const char *borogove_chat_chat_id(void *chat);
+
+/**
+ * Current state of this chat
+ */
+API_PREFIX enum borogove_ui_state borogove_chat_ui_state(void *chat);
+
+/**
+ * Is this chat blocked?
+ */
+API_PREFIX bool borogove_chat_is_blocked(void *chat);
+
+/**
+ * The most recent message in this chat
+ */
+API_PREFIX void *borogove_chat_last_message(void *chat);
+
+/**
+ * Has this chat ever been bookmarked?
+ */
+API_PREFIX bool borogove_chat_is_bookmarked(void *chat);
+
+/**
+ * Fetch a page of messages before some point
+ *
+ * @param beforeId id of the message to look before
+ * @param beforeTime timestamp of the message to look before,
+ * String in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
+ * @param handler which receives an array of ChatMessage that are found
+ */
+API_PREFIX void borogove_chat_get_messages_before(void *chat, const char *beforeId, const char *beforeTime, void (*handler) (void**, size_t, void *handler__context), void *handler__context);
+
+/**
+ * Fetch a page of messages after some point
+ *
+ * @param afterId id of the message to look after
+ * @param afterTime timestamp of the message to look after,
+ * String in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
+ * @param handler which receives an array of ChatMessage that are found
+ */
+API_PREFIX void borogove_chat_get_messages_after(void *chat, const char *afterId, const char *afterTime, void (*handler) (void**, size_t, void *handler__context), void *handler__context);
+
+/**
+ * Fetch a page of messages around (before, including, and after) some point
+ *
+ * @param aroundId id of the message to look around
+ * @param aroundTime timestamp of the message to look around,
+ * String in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
+ * @param handler which receives an array of ChatMessage that are found
+ */
+API_PREFIX void borogove_chat_get_messages_around(void *chat, const char *aroundId, const char *aroundTime, void (*handler) (void**, size_t, void *handler__context), void *handler__context);
+
+/**
+ * Send a message to this Chat
+ *
+ * @param message the ChatMessageBuilder to send
+ */
+API_PREFIX void borogove_chat_send_message(void *chat, void *message);
+
+/**
+ * Signals that all messages up to and including this one have probably
+ * been displayed to the user
+ *
+ * @param message the ChatMessage most recently displayed
+ */
+API_PREFIX void borogove_chat_mark_read_up_to(void *chat, void *message);
+
+/**
+ * Save this Chat on the server
+ */
+API_PREFIX void borogove_chat_bookmark(void *chat);
+
+/**
+ * Get the list of IDs of participants in this Chat
+ *
+ * @returns array of IDs
+ */
+API_PREFIX size_t borogove_chat_get_participants(void *chat, const char ***outPtr);
+
+/**
+ * Get the details for one participant in this Chat
+ *
+ * @param participantId the ID of the participant to look up
+ */
+API_PREFIX void *borogove_chat_get_participant_details(void *chat, const char *participantId);
+
+/**
+ * Correct an already-send message by replacing it with a new one
+ *
+ * @param localId the localId of the message to correct
+ * must be the localId of the first version ever sent, not a subsequent correction
+ * @param message the new ChatMessage to replace it with
+ */
+API_PREFIX void borogove_chat_correct_message(void *chat, const char *localId, void *message);
+
+/**
+ * Add new reaction to a message in this Chat
+ *
+ * @param m ChatMessage to react to
+ * @param reaction emoji of the reaction
+ */
+API_PREFIX void borogove_chat_add_reaction(void *chat, void *m, void *reaction);
+
+/**
+ * Remove an already-sent reaction from a message
+ *
+ * @param m ChatMessage to remove the reaction from
+ * @param reaction the emoji to remove
+ */
+API_PREFIX void borogove_chat_remove_reaction(void *chat, void *m, void *reaction);
+
+/**
+ * Call this whenever the user is typing, can call on every keystroke
+ *
+ * @param threadId optional, what thread the user has selected if any
+ * @param content optional, what the user has typed so far
+ */
+API_PREFIX void borogove_chat_typing(void *chat, const char *threadId, const char *content);
+
+/**
+ * Call this whenever the user makes a chat or thread "active" in your UX
+ * If you call this with true you MUST later call it will false
+ *
+ * @param active true if the chat is "active", false otherwise
+ * @param threadId optional, what thread the user has selected if any
+ */
+API_PREFIX void borogove_chat_set_active(void *chat, bool active, const char *threadId);
+
+/**
+ * Archive this chat
+ */
+API_PREFIX void borogove_chat_close(void *chat);
+
+/**
+ * Pin or unpin this chat
+ */
+API_PREFIX void borogove_chat_toggle_pinned(void *chat);
+
+/**
+ * Block this chat so it will not re-open
+ */
+API_PREFIX void borogove_chat_block(void *chat, bool reportSpam, void *spamMessage, bool onServer);
+
+/**
+ * Unblock this chat so it will open again
+ */
+API_PREFIX void borogove_chat_unblock(void *chat, bool onServer);
+
+/**
+ * Update notification preferences
+ */
+API_PREFIX void borogove_chat_set_notifications(void *chat, bool filtered, bool mention, bool reply);
+
+/**
+ * Should notifications be filtered?
+ */
+API_PREFIX bool borogove_chat_notifications_filtered(void *chat);
+
+/**
+ * Should a mention produce a notification?
+ */
+API_PREFIX bool borogove_chat_notify_mention(void *chat);
+
+/**
+ * Should a reply produce a notification?
+ */
+API_PREFIX bool borogove_chat_notify_reply(void *chat);
+
+/**
+ * An ID of the most recent message in this chat
+ */
+API_PREFIX const char *borogove_chat_last_message_id(void *chat);
+
+/**
+ * Get the URI image to represent this Chat, or null
+ */
+API_PREFIX const char *borogove_chat_get_photo(void *chat);
+
+/**
+ * Get the URI to a placeholder image to represent this Chat
+ */
+API_PREFIX const char *borogove_chat_get_placeholder(void *chat);
+
+/**
+ * An ID of the last message displayed to the user
+ */
+API_PREFIX const char *borogove_chat_read_up_to(void *chat);
+
+/**
+ * The number of message that have not yet been displayed to the user
+ */
+API_PREFIX int borogove_chat_unread_count(void *chat);
+
+/**
+ * A preview of the chat, such as the most recent message body
+ */
+API_PREFIX const char *borogove_chat_preview(void *chat);
+
+/**
+ * Set the display name to use for this chat
+ *
+ * @param displayName String to use as display name
+ */
+API_PREFIX void borogove_chat_set_display_name(void *chat, const char *displayName);
+
+/**
+ * The display name of this Chat
+ */
+API_PREFIX const char *borogove_chat_get_display_name(void *chat);
+
+/**
+ * Set if this chat is to be trusted with our presence, etc
+ *
+ * @param trusted Bool if trusted or not
+ */
+API_PREFIX void borogove_chat_set_trusted(void *chat, bool trusted);
+
+/**
+ * Is this a chat with an entity we trust to see our online status?
+ */
+API_PREFIX bool borogove_chat_is_trusted(void *chat);
+
+/**
+ * @returns if this chat is currently syncing with the server
+ */
+API_PREFIX bool borogove_chat_syncing(void *chat);
+
+/**
+ * Can audio calls be started in this Chat?
+ */
+API_PREFIX bool borogove_chat_can_audio_call(void *chat);
+
+/**
+ * Can video calls be started in this Chat?
+ */
+API_PREFIX bool borogove_chat_can_video_call(void *chat);
+
+/**
+ * Start a new call in this Chat
+ *
+ * @param audio do we want audio in this call
+ * @param video do we want video in this call
+ */
+API_PREFIX void *borogove_chat_start_call(void *chat, bool audio, bool video);
+
+/**
+ * Accept any incoming calls in this Chat
+ */
+API_PREFIX void borogove_chat_accept_call(void *chat);
+
+/**
+ * Hangup or reject any calls in this chat
+ */
+API_PREFIX void borogove_chat_hangup(void *chat);
+
+/**
+ * The current status of a call in this chat
+ */
+API_PREFIX enum borogove_calls_call_status borogove_chat_call_status(void *chat);
+
+/**
+ * A DTMFSender for a call in this chat, or NULL
+ */
+API_PREFIX void *borogove_chat_dtmf(void *chat);
+
+/**
+ * All video tracks in all active calls in this 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?
+ */
+API_PREFIX bool borogove_chat_can_send(void *chat);
+
+/**
+ * Invite another chat's participants to participate in this one
+ */
+API_PREFIX void borogove_chat_invite(void *chat, void *other, const char *threadId);
+
+/**
+ * Can the user invite others to this chat?
+ */
+API_PREFIX bool borogove_chat_can_invite(void *chat);
+
+/**
+ * This chat's primary mode of interaction is via commands
+ */
+API_PREFIX bool borogove_chat_is_app(void *chat);
+
+/**
+ * Does this chat provide a menu of commands?
+ */
+API_PREFIX bool borogove_chat_has_commands(void *chat);
+
+API_PREFIX void borogove_chat_commands(void *chat, void (*handler) (void**, size_t, void *handler__context), void *handler__context);
+
+/**
+ * The Participant that originally invited us to this Chat, if we were invited
+ */
+API_PREFIX void *borogove_chat_invited_by(void *chat);
+
+API_PREFIX const char *borogove_calls_media_stream_track_id(void *media_stream_track);
+
+API_PREFIX bool borogove_calls_media_stream_track_muted(void *media_stream_track);
+
+API_PREFIX const char *borogove_calls_media_stream_track_kind(void *media_stream_track);
+
+API_PREFIX size_t borogove_calls_media_stream_track_supported_audio_formats(void *media_stream_track, void ***outPtr);
+
+/**
+ * Event fired for new inbound audio frame
+ *
+ * @param callback takes three arguments, the Signed 16-bit PCM data, the clock rate, and the number of channels
+ */
+API_PREFIX void borogove_calls_media_stream_track_add_pcm_listener(void *media_stream_track, void (*callback) (short*, size_t, int, int, void*), void *callback__context);
+
+/**
+ * Event fired when ready for next outbound audio frame
+ *
+ * @param callback
+ */
+API_PREFIX void borogove_calls_media_stream_track_add_ready_for_pcm_listener(void *media_stream_track, void (*callback) (void*), void *callback__context);
+
+/**
+ * Send new audio to this track
+ *
+ * @param pcm 16-bit signed linear PCM data (interleaved)
+ * @param clockRate the sampling rate of the data
+ * @param channels the number of audio channels
+ */
+API_PREFIX void borogove_calls_media_stream_track_write_pcm(void *media_stream_track, const short *pcm, size_t pcm__len, int clockRate, int channels);
+
+API_PREFIX void borogove_calls_media_stream_track_stop(void *media_stream_track);
+
+API_PREFIX void *borogove_calls_audio_format_new(const char *format, unsigned char payloadType, int clockRate, int channels);
+
+API_PREFIX int borogove_calls_audio_format_clock_rate(void *audio_format);
+
+API_PREFIX int borogove_calls_audio_format_channels(void *audio_format);
+
+API_PREFIX const char *borogove_command_name(void *command);
+
+/**
+ * Start a new session for this command. May have side effects!
+ */
+API_PREFIX void borogove_command_execute(void *command, void (*handler) (void*, void *handler__context), void *handler__context);
+
+API_PREFIX const char *borogove_command_session_name(void *command_session);
+
+API_PREFIX const char *borogove_command_session_status(void *command_session);
+
+API_PREFIX size_t borogove_command_session_actions(void *command_session, void ***outPtr);
+
+API_PREFIX size_t borogove_command_session_forms(void *command_session, void ***outPtr);
+
+API_PREFIX void borogove_command_session_execute(void *command_session, const char *action, void *data, int formIdx, void (*handler) (void*, void *handler__context), void *handler__context);
+
+API_PREFIX const char *borogove_form_option_label(void *form_option);
+
+API_PREFIX const char *borogove_form_option_value(void *form_option);
+
+/**
+ * Is this form entirely results / read-only?
+ */
+API_PREFIX bool borogove_form_is_result(void *form);
+
+/**
+ * Title of this form
+ */
+API_PREFIX const char *borogove_form_title(void *form);
+
+/**
+ * URL to use instead of this form
+ */
+API_PREFIX const char *borogove_form_url(void *form);
+
+/**
+ * Items to render inside this form
+ */
+API_PREFIX size_t borogove_form_items(void *form, void ***outPtr);
+
+API_PREFIX const char *borogove_form_item_text(void *form_item);
+
+API_PREFIX void *borogove_form_item_field(void *form_item);
+
+API_PREFIX void *borogove_form_item_section(void *form_item);
+
+API_PREFIX const char *borogove_form_item_status(void *form_item);
+
+API_PREFIX size_t borogove_form_item_table_header(void *form_item, void ***outPtr);
+
+API_PREFIX const char *borogove_form_field_name(void *form_field);
+
+API_PREFIX const char *borogove_form_field_label(void *form_field);
+
+API_PREFIX const char *borogove_form_field_desc(void *form_field);
+
+API_PREFIX size_t borogove_form_field_value(void *form_field, const char ***outPtr);
+
+API_PREFIX bool borogove_form_field_required(void *form_field);
+
+API_PREFIX const char *borogove_form_field_type(void *form_field);
+
+API_PREFIX const char *borogove_form_field_datatype(void *form_field);
+
+API_PREFIX size_t borogove_form_field_options(void *form_field, void ***outPtr);
+
+API_PREFIX bool borogove_form_field_open(void *form_field);
+
+API_PREFIX const char *borogove_form_field_range_min(void *form_field);
+
+API_PREFIX const char *borogove_form_field_range_max(void *form_field);
+
+API_PREFIX const char *borogove_form_field_regex(void *form_field);
+
+/**
+ * The ID of the Chat this search result represents
+ */
+API_PREFIX const char *borogove_available_chat_chat_id(void *available_chat);
+
+/**
+ * The display name of this search result
+ */
+API_PREFIX const char *borogove_available_chat_display_name(void *available_chat);
+
+/**
+ * A human-readable note associated with this search result
+ */
+API_PREFIX const char *borogove_available_chat_note(void *available_chat);
+
+/**
+ * Is this search result a channel?
+ */
+API_PREFIX bool borogove_available_chat_is_channel(void *available_chat);
+
+API_PREFIX const char *borogove_calls_initiated_session_sid(void *initiated_session);
+
+API_PREFIX const char *borogove_calls_initiated_session_chat_id(void *initiated_session);
+
+API_PREFIX void borogove_calls_initiated_session_accept(void *initiated_session);
+
+API_PREFIX void borogove_calls_initiated_session_hangup(void *initiated_session);
+
+API_PREFIX void borogove_calls_initiated_session_add_media(void *initiated_session, void *const *streams, size_t streams__len);
+
+API_PREFIX enum borogove_calls_call_status borogove_calls_initiated_session_call_status(void *initiated_session);
+
+API_PREFIX size_t borogove_calls_initiated_session_audio_tracks(void *initiated_session, void ***outPtr);
+
+API_PREFIX size_t borogove_calls_initiated_session_video_tracks(void *initiated_session, void ***outPtr);
+
+API_PREFIX void *borogove_calls_initiated_session_dtmf(void *initiated_session);
+
+API_PREFIX void borogove_calls_initiated_session_supply_media(void *initiated_session, void *const *streams, size_t streams__len);
+
+API_PREFIX void *borogove_calls_media_stream_new();
+
+/**
+ * Create default bidirectional audio track
+ */
+API_PREFIX void *borogove_calls_media_stream_make_audio();
+
+API_PREFIX void borogove_calls_media_stream_add_track(void *media_stream, void *track);
+
+API_PREFIX size_t borogove_calls_media_stream_get_tracks(void *media_stream, void ***outPtr);
+
+API_PREFIX void *borogove_form_submit_builder_new();
+
+API_PREFIX void borogove_form_submit_builder_add(void *form_submit_builder, const char *k, const char *v);
+
+API_PREFIX void *borogove_attachment_source_new(const char *path, const char *mime);
+
+API_PREFIX const char *borogove_attachment_source_path(void *attachment_source);
+
+API_PREFIX const char *borogove_attachment_source_type(void *attachment_source);
+
+API_PREFIX const char *borogove_attachment_source_name(void *attachment_source);
+
+API_PREFIX int borogove_attachment_source_size(void *attachment_source);
+
+API_PREFIX void *borogove_profile_builder_new(void *profile);
+
+/**
+ * Add a new field to this profile
+ */
+API_PREFIX void borogove_profile_builder_add(void *profile_builder, const char *k, const char *v);
+
+/**
+ * Set the value of an existing field on this profile
+ */
+API_PREFIX void borogove_profile_builder_set(void *profile_builder, const char *id, const char *v);
+
+/**
+ * Move a profile item
+ *
+ * @param id the item to move
+ * @param moveTo the item currently in the position where it should move to
+ */
+API_PREFIX void borogove_profile_builder_move(void *profile_builder, const char *id, const char *moveTo);
+
+/**
+ * Remove a field from this profile
+ */
+API_PREFIX void borogove_profile_builder_remove(void *profile_builder, const char *id);
+
+API_PREFIX void *borogove_profile_builder_build(void *profile_builder);
+
+API_PREFIX const char *borogove_channel_description(void *channel);
+
+API_PREFIX bool borogove_channel_is_private(void *channel);
+
+/**
+ * Schedule DTMF events to be sent
+ *
+ * @param tones can be any number of 0123456789#*ABCD,
+ */
+API_PREFIX void borogove_calls_dtmf_sender_insert_dtmf(void *dtmf_sender, const char *tones);
+
+/**
+ * Create a new custom emoji reaction to send
+ *
+ * @param text name of custom emoji
+ * @param uri URI for media of custom emoji
+ * @returns Reaction
+ */
+API_PREFIX void *borogove_custom_emoji_reaction_custom(const char *text, const char *uri);
+
+API_PREFIX const char *borogove_custom_emoji_reaction_uri(void *custom_emoji_reaction);
+
+API_PREFIX const char *borogove_identicon_svg(const char *source);
+
+/**
+ * Produce /.well-known/ni/ paths instead of ni:/// URIs
+ * for referencing media by hash.
+ *
+ * This can be useful eg for intercepting with a Service Worker.
+ */
+API_PREFIX bool borogove_config_relative_hash_uri();
+
+/**
+ * Produce /.well-known/ni/ paths instead of ni:/// URIs
+ * for referencing media by hash.
+ *
+ * This can be useful eg for intercepting with a Service Worker.
+ */
+API_PREFIX void borogove_config_set_relative_hash_uri(bool value);
+
+/**
+ * Trades off some performance for lower / more consistent memory usage
+ */
+API_PREFIX void borogove_config_enable_constrained_memory_mode();
+
+#ifdef __cplusplus
+}
+#endif
+
+#undef API_PREFIX
+
+#endif
diff --git a/Sources/c_snikket/src/Array.cpp b/Sources/c_borogove/src/Array.cpp
similarity index 100%
rename from Sources/c_snikket/src/Array.cpp
rename to Sources/c_borogove/src/Array.cpp
diff --git a/Sources/c_snikket/src/Date.cpp b/Sources/c_borogove/src/Date.cpp
similarity index 100%
rename from Sources/c_snikket/src/Date.cpp
rename to Sources/c_borogove/src/Date.cpp
diff --git a/Sources/c_snikket/src/Dynamic.cpp b/Sources/c_borogove/src/Dynamic.cpp
similarity index 95%
rename from Sources/c_snikket/src/Dynamic.cpp
rename to Sources/c_borogove/src/Dynamic.cpp
index 9feaa5c..144bc3f 100644
--- a/Sources/c_snikket/src/Dynamic.cpp
+++ b/Sources/c_borogove/src/Dynamic.cpp
@@ -367,10 +367,6 @@ Dynamic::Dynamic(short inVal)
}
#if !defined(__GNUC__) || defined(__MINGW32__) || (defined(__WORDSIZE) && (__WORDSIZE != 64))
-Dynamic::Dynamic(unsigned long inVal)
-{
- mPtr = fromInt(inVal);
-}
Dynamic::Dynamic(long inVal)
{
mPtr = fromInt(inVal);
diff --git a/Sources/c_snikket/src/EReg.cpp b/Sources/c_borogove/src/EReg.cpp
similarity index 96%
rename from Sources/c_snikket/src/EReg.cpp
rename to Sources/c_borogove/src/EReg.cpp
index f12470b..ff24467 100644
--- a/Sources/c_snikket/src/EReg.cpp
+++ b/Sources/c_borogove/src/EReg.cpp
@@ -19,7 +19,7 @@
HX_DEFINE_STACK_FRAME(_hx_pos_359fe5fd855fee60_28_new,"EReg","new",0x8b859e81,"EReg.new","/usr/local/lib/haxe/std/cpp/_std/EReg.hx",28,0x5a2fdacd)
HX_LOCAL_STACK_FRAME(_hx_pos_359fe5fd855fee60_36_match,"EReg","match",0x18fda1a6,"EReg.match","/usr/local/lib/haxe/std/cpp/_std/EReg.hx",36,0x5a2fdacd)
-HX_LOCAL_STACK_FRAME(_hx_pos_359fe5fd855fee60_45_matched,"EReg","matched",0x8ce62f85,"EReg.matched","/usr/local/lib/haxe/std/cpp/_std/EReg.hx",45,0x5a2fdacd)
+HX_LOCAL_STACK_FRAME(_hx_pos_359fe5fd855fee60_47_matched,"EReg","matched",0x8ce62f85,"EReg.matched","/usr/local/lib/haxe/std/cpp/_std/EReg.hx",47,0x5a2fdacd)
HX_LOCAL_STACK_FRAME(_hx_pos_359fe5fd855fee60_62_matchedPos,"EReg","matchedPos",0x7007a70f,"EReg.matchedPos","/usr/local/lib/haxe/std/cpp/_std/EReg.hx",62,0x5a2fdacd)
HX_LOCAL_STACK_FRAME(_hx_pos_359fe5fd855fee60_65_matchSub,"EReg","matchSub",0xbc75cb7a,"EReg.matchSub","/usr/local/lib/haxe/std/cpp/_std/EReg.hx",65,0x5a2fdacd)
HX_LOCAL_STACK_FRAME(_hx_pos_359fe5fd855fee60_98_replace,"EReg","replace",0xae923ad5,"EReg.replace","/usr/local/lib/haxe/std/cpp/_std/EReg.hx",98,0x5a2fdacd)
@@ -72,9 +72,8 @@ HXLINE( 42) return p;
HX_DEFINE_DYNAMIC_FUNC1(EReg_obj,match,return )
::String EReg_obj::matched(int n){
- HX_STACKFRAME(&_hx_pos_359fe5fd855fee60_45_matched)
-HXLINE( 46) ::String m = _hx_regexp_matched(this->r,n);
-HXLINE( 47) return m;
+ HX_STACKFRAME(&_hx_pos_359fe5fd855fee60_47_matched)
+HXDLIN( 47) return _hx_regexp_matched(this->r,n);
}
@@ -131,8 +130,7 @@ HXDLIN( 108) if (_hx_tmp) {
HXLINE( 109) if (::hx::IsEq( p->__Field(HX_("pos",94,5d,55,00),::hx::paccDynamic),s.length )) {
HXLINE( 110) goto _hx_goto_5;
}
-HXLINE( 111) ::Dynamic p1 = p;
-HXDLIN( 111) p1->__SetField(HX_("pos",94,5d,55,00),(p1->__Field(HX_("pos",94,5d,55,00),::hx::paccDynamic) + 1),::hx::paccDynamic);
+HXLINE( 111) p->__SetField(HX_("pos",94,5d,55,00),(p->__Field(HX_("pos",94,5d,55,00),::hx::paccDynamic) + 1),::hx::paccDynamic);
}
HXLINE( 113) {
HXLINE( 113) ::Dynamic len1 = (( (int)(p->__Field(HX_("pos",94,5d,55,00),::hx::paccDynamic)) ) - pos);
@@ -172,17 +170,17 @@ HXLINE( 121) _hx_tmp1 = ::hx::IsLessEq( c,57 );
HXLINE( 121) _hx_tmp1 = false;
}
HXDLIN( 121) if (_hx_tmp1) {
-HXLINE( 122) ::Dynamic p2;
+HXLINE( 122) ::Dynamic p1;
HXDLIN( 122) try {
HX_STACK_CATCHABLE(::String, 0);
HX_STACK_CATCHABLE( ::haxe::ValueException, 1);
-HXLINE( 122) ::Dynamic p3 = this->r;
-HXDLIN( 122) p2 = _hx_regexp_matched_pos(p3,(::Std_obj::_hx_int(( (Float)(c) )) - 48));
+HXLINE( 122) ::Dynamic p2 = this->r;
+HXDLIN( 122) p1 = _hx_regexp_matched_pos(p2,(::Std_obj::_hx_int(( (Float)(c) )) - 48));
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::String >() && _hx_e->toString()!=null() ){
HX_STACK_BEGIN_CATCH
::String e = _hx_e;
-HXLINE( 122) p2 = null();
+HXLINE( 122) p1 = null();
}
else if (_hx_e.IsClass< ::haxe::ValueException >() ){
HX_STACK_BEGIN_CATCH
@@ -191,7 +189,7 @@ HXLINE( 122) {
HXLINE( 122) null();
}
HXDLIN( 122) if (::Std_obj::isOfType(_g->value,::hx::ClassOf< ::String >())) {
-HXLINE( 122) p2 = null();
+HXLINE( 122) p1 = null();
}
else {
HXLINE( 122) HX_STACK_DO_THROW(_g);
@@ -201,7 +199,7 @@ HXLINE( 122) HX_STACK_DO_THROW(_g);
HX_STACK_DO_THROW(_hx_e);
}
}
-HXLINE( 123) if (::hx::IsNull( p2 )) {
+HXLINE( 123) if (::hx::IsNull( p1 )) {
HXLINE( 124) {
HXLINE( 124) if (::hx::IsNotNull( b->charBuf )) {
HXLINE( 124) b->flush();
@@ -228,8 +226,8 @@ HXDLIN( 125) b3->push(::Std_obj::string(k));
}
else {
HXLINE( 127) {
-HXLINE( 127) int pos1 = ( (int)(p2->__Field(HX_("pos",94,5d,55,00),::hx::paccDynamic)) );
-HXDLIN( 127) ::Dynamic len2 = p2->__Field(HX_("len",d5,4b,52,00),::hx::paccDynamic);
+HXLINE( 127) int pos1 = ( (int)(p1->__Field(HX_("pos",94,5d,55,00),::hx::paccDynamic)) );
+HXDLIN( 127) ::Dynamic len2 = p1->__Field(HX_("len",d5,4b,52,00),::hx::paccDynamic);
HXDLIN( 127) if (::hx::IsNotNull( b->charBuf )) {
HXLINE( 127) b->flush();
}
diff --git a/Sources/c_snikket/src/Enum.cpp b/Sources/c_borogove/src/Enum.cpp
similarity index 100%
rename from Sources/c_snikket/src/Enum.cpp
rename to Sources/c_borogove/src/Enum.cpp
diff --git a/Sources/c_borogove/src/HaxeCBridge.cpp b/Sources/c_borogove/src/HaxeCBridge.cpp
new file mode 100644
index 0000000..c0afba6
--- /dev/null
+++ b/Sources/c_borogove/src/HaxeCBridge.cpp
@@ -0,0 +1,374 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_cbce7ceea2d0df24
+#define INCLUDED_cbce7ceea2d0df24
+#include "HaxeCBridge.h"
+#endif
+#ifndef INCLUDED_95f339a1d026d52c
+#define INCLUDED_95f339a1d026d52c
+#include "hxMath.h"
+#endif
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_Sys
+#include <Sys.h>
+#endif
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.h>
+#endif
+#ifndef INCLUDED_cpp_Int64Map
+#include <cpp/Int64Map.h>
+#endif
+#ifndef INCLUDED_haxe_Exception
+#include <haxe/Exception.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_Log
+#include <haxe/Log.h>
+#endif
+#ifndef INCLUDED_haxe_MainLoop
+#include <haxe/MainLoop.h>
+#endif
+#ifndef INCLUDED_haxe_StackItem
+#include <haxe/StackItem.h>
+#endif
+#ifndef INCLUDED_haxe__CallStack_CallStack_Impl_
+#include <haxe/_CallStack/CallStack_Impl_.h>
+#endif
+#ifndef INCLUDED_sys_thread_EventLoop
+#include <sys/thread/EventLoop.h>
+#endif
+#ifndef INCLUDED_sys_thread_Lock
+#include <sys/thread/Lock.h>
+#endif
+#ifndef INCLUDED_sys_thread_Mutex
+#include <sys/thread/Mutex.h>
+#endif
+#ifndef INCLUDED_sys_thread__EventLoop_RegularEvent
+#include <sys/thread/_EventLoop/RegularEvent.h>
+#endif
+#ifndef INCLUDED_sys_thread__Thread_HaxeThread
+#include <sys/thread/_Thread/HaxeThread.h>
+#endif
+#ifndef INCLUDED_sys_thread__Thread_Thread_Impl_
+#include <sys/thread/_Thread/Thread_Impl_.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2056_mainThreadInit,"HaxeCBridge","mainThreadInit",0x6f09ae5b,"HaxeCBridge.mainThreadInit","HaxeCBridge.hx",2056,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2071_mainThreadRun,"HaxeCBridge","mainThreadRun",0xa4afa660,"HaxeCBridge.mainThreadRun","HaxeCBridge.hx",2071,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2161_retainHaxeArray,"HaxeCBridge","retainHaxeArray",0x7373bc46,"HaxeCBridge.retainHaxeArray","HaxeCBridge.hx",2161,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2170_retainHaxeObject,"HaxeCBridge","retainHaxeObject",0xef200772,"HaxeCBridge.retainHaxeObject","HaxeCBridge.hx",2170,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2180_retainHaxeString,"HaxeCBridge","retainHaxeString",0xeb10b184,"HaxeCBridge.retainHaxeString","HaxeCBridge.hx",2180,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2187_retainPtr,"HaxeCBridge","retainPtr",0x2c61e661,"HaxeCBridge.retainPtr","HaxeCBridge.hx",2187,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2200_releaseHaxePtr,"HaxeCBridge","releaseHaxePtr",0x5df2fc29,"HaxeCBridge.releaseHaxePtr","HaxeCBridge.hx",2200,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2213_isMainThread,"HaxeCBridge","isMainThread",0x6f71c035,"HaxeCBridge.isMainThread","HaxeCBridge.hx",2213,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2218_endMainThread,"HaxeCBridge","endMainThread",0x0d9deed6,"HaxeCBridge.endMainThread","HaxeCBridge.hx",2218,0xa18550d8)
+
+void HaxeCBridge::mainThreadInit(::cpp::Function< bool () > isMainThreadCb){
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2056_mainThreadInit)
+HXLINE(2062) ::_HaxeCBridge::Internal_obj::isMainThreadCb = isMainThreadCb;
+HXLINE(2063) ::_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_2071_mainThreadRun)
+HXLINE(2072) try {
+ HX_STACK_CATCHABLE( ::Dynamic, 0);
+ } catch( ::Dynamic _hx_e) {
+ if (_hx_e.IsClass< ::Dynamic >() ){
+ HX_STACK_BEGIN_CATCH
+ ::Dynamic _g = _hx_e;
+HXLINE(2074) {
+HXLINE(2074) null();
+ }
+HXDLIN(2074) ::haxe::Exception _g1 = ::haxe::Exception_obj::caught(_g);
+HXDLIN(2074) {
+HXLINE(2075) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN(2075) ::Array< ::Dynamic> tmp = _g1->get_stack();
+HXDLIN(2075) ::String _hx_tmp1;
+HXDLIN(2075) if (::hx::IsNull( tmp )) {
+HXLINE(2075) _hx_tmp1 = HX_("null",87,9e,0e,49);
+ }
+ else {
+HXLINE(2075) _hx_tmp1 = ::haxe::_CallStack::CallStack_Impl__obj::toString(tmp);
+ }
+HXDLIN(2075) _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),2075)));
+HXLINE(2076) onUnhandledException(::Std_obj::string(_g1).utf8_str());
+ }
+ }
+ else {
+ HX_STACK_DO_THROW(_hx_e);
+ }
+ }
+HXLINE(2083) ::sys::thread::EventLoop eventLoop = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current());
+HXLINE(2085) ::Array< ::Dynamic> recycleRegular = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2086) ::Array< ::Dynamic> recycleOneTimers = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2087) while(::_HaxeCBridge::Internal_obj::mainThreadLoopActive){
+HXLINE(2088) try {
+ HX_STACK_CATCHABLE( ::Dynamic, 0);
+HXLINE(2090) processNativeCalls();
+HXLINE(2093) Float now = ::Sys_obj::time();
+HXDLIN(2093) int eventsToRunIdx = 0;
+HXDLIN(2093) Float nextEventAt = ( (Float)(-1) );
+HXDLIN(2093) eventLoop->mutex->acquire();
+HXDLIN(2093) while(eventLoop->waitLock->wait(((Float)0.0))){
+ }
+HXLINE(2093) ::sys::thread::_EventLoop::RegularEvent current = eventLoop->regularEvents;
+HXDLIN(2093) while(::hx::IsNotNull( current )){
+HXLINE(2093) if ((current->nextRunTime <= now)) {
+HXLINE(2093) eventsToRunIdx = (eventsToRunIdx + 1);
+HXDLIN(2093) recycleRegular[(eventsToRunIdx - 1)] = current;
+HXDLIN(2093) ::sys::thread::_EventLoop::RegularEvent current1 = current;
+HXDLIN(2093) current1->nextRunTime = (current1->nextRunTime + current->interval);
+HXLINE( 220) nextEventAt = ( (Float)(-2) );
+ }
+ else {
+HXLINE(2093) bool _hx_tmp2;
+HXDLIN(2093) if ((nextEventAt != -1)) {
+HXLINE(2093) _hx_tmp2 = (current->nextRunTime < nextEventAt);
+ }
+ else {
+HXLINE(2093) _hx_tmp2 = true;
+ }
+HXDLIN(2093) if (_hx_tmp2) {
+HXLINE( 222) nextEventAt = current->nextRunTime;
+ }
+ }
+HXLINE( 224) current = current->next;
+ }
+HXLINE(2093) eventLoop->mutex->release();
+HXDLIN(2093) int _g2 = 0;
+HXDLIN(2093) int _g3 = eventsToRunIdx;
+HXDLIN(2093) while((_g2 < _g3)){
+HXLINE(2093) _g2 = (_g2 + 1);
+HXDLIN(2093) int i = (_g2 - 1);
+HXDLIN(2093) if (!(recycleRegular->__get(i).StaticCast< ::sys::thread::_EventLoop::RegularEvent >()->cancelled)) {
+HXLINE(2093) recycleRegular->__get(i).StaticCast< ::sys::thread::_EventLoop::RegularEvent >()->run();
+ }
+HXDLIN(2093) recycleRegular[i] = null();
+ }
+HXLINE( 234) eventsToRunIdx = 0;
+HXLINE(2093) eventLoop->mutex->acquire();
+HXDLIN(2093) ::Array< ::Dynamic> _this = eventLoop->oneTimeEvents;
+HXDLIN(2093) int _g_current = 0;
+HXDLIN(2093) while((_g_current < _this->length)){
+HXLINE(2093) ::Dynamic _g_value = _this->__get(_g_current);
+HXDLIN(2093) _g_current = (_g_current + 1);
+HXDLIN(2093) if (::hx::IsNull( _g_value )) {
+HXLINE(2093) goto _hx_goto_5;
+ }
+ else {
+HXLINE(2093) eventsToRunIdx = (eventsToRunIdx + 1);
+HXDLIN(2093) recycleOneTimers[(eventsToRunIdx - 1)] = _g_value;
+HXDLIN(2093) eventLoop->oneTimeEvents[(_g_current - 1)] = null();
+ }
+ }
+ _hx_goto_5:;
+HXDLIN(2093) eventLoop->oneTimeEventsIdx = 0;
+HXDLIN(2093) bool hasPromisedEvents = (eventLoop->promisedEventsCount > 0);
+HXDLIN(2093) eventLoop->mutex->release();
+HXDLIN(2093) int _g4 = 0;
+HXDLIN(2093) int _g5 = eventsToRunIdx;
+HXDLIN(2093) while((_g4 < _g5)){
+HXLINE(2093) _g4 = (_g4 + 1);
+HXDLIN(2093) int i1 = (_g4 - 1);
+HXDLIN(2093) recycleOneTimers->__get(i1)();
+HXDLIN(2093) recycleOneTimers[i1] = null();
+ }
+HXDLIN(2093) if (eventLoop->isMainThread) {
+HXLINE(2093) Float next = ::haxe::MainLoop_obj::tick();
+HXDLIN(2093) if (::haxe::MainLoop_obj::hasEvents()) {
+HXLINE(2093) eventsToRunIdx = (eventsToRunIdx + 1);
+HXDLIN(2093) if ((nextEventAt > next)) {
+HXLINE( 264) nextEventAt = next;
+ }
+ }
+ }
+HXLINE(2093) if ((eventsToRunIdx > 0)) {
+HXLINE( 270) nextEventAt = ( (Float)(-2) );
+ }
+HXLINE(2093) Float eventTickInfo_nextEventAt = nextEventAt;
+HXLINE(2094) if (hasPendingNativeCalls()) {
+HXLINE(2095) continue;
+ }
+HXLINE(2097) Float _hx_switch_0 = eventTickInfo_nextEventAt;
+ if ( (_hx_switch_0==( (Float)(-2) )) ){
+HXLINE(2098) goto _hx_goto_7;
+ }
+ if ( (_hx_switch_0==( (Float)(-1) )) ){
+HXLINE(2100) bool _hx_tmp3;
+HXDLIN(2100) if (::_HaxeCBridge::Internal_obj::mainThreadEndIfNoPending) {
+HXLINE(2100) _hx_tmp3 = !(hasPromisedEvents);
+ }
+ else {
+HXLINE(2100) _hx_tmp3 = false;
+ }
+HXDLIN(2100) if (_hx_tmp3) {
+HXLINE(2102) goto _hx_goto_1;
+ }
+HXLINE(2104) ::_HaxeCBridge::Internal_obj::mainThreadWaitLock->wait(null());
+HXLINE(2099) goto _hx_goto_7;
+ }
+ /* default */{
+HXLINE(2106) Float timeout = (eventTickInfo_nextEventAt - ::Sys_obj::time());
+HXLINE(2107) ::_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(2109) {
+HXLINE(2109) null();
+ }
+HXLINE(2110) ::String s;
+HXDLIN(2110) if (::hx::IsNull( _g6 )) {
+HXLINE(2110) s = HX_("null",87,9e,0e,49);
+ }
+ else {
+HXLINE(2110) s = ::Std_obj::string(_g6);
+ }
+HXDLIN(2110) onUnhandledException(s.utf8_str());
+ }
+ else {
+ HX_STACK_DO_THROW(_hx_e);
+ }
+ }
+ }
+ _hx_goto_1:;
+HXLINE(2115) __hxcpp_collect(true);
+ }
+
+
+void** HaxeCBridge::retainHaxeArray(::cpp::VirtualArray haxeArray){
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2161_retainHaxeArray)
+HXLINE(2164) void** ptr = (void**)haxeArray->getBase();
+HXLINE(2165) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXLINE(2166) {
+HXLINE(2166) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN(2166) if (::hx::IsNull( store )) {
+HXLINE(2166) 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(2166) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE(2166) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE(2167) return ptr;
+ }
+
+
+void* HaxeCBridge::retainHaxeObject( ::Dynamic haxeObject){
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2170_retainHaxeObject)
+HXLINE(2172) void* ptr = haxeObject.mPtr;
+HXLINE(2175) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXLINE(2176) {
+HXLINE(2176) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN(2176) if (::hx::IsNull( store )) {
+HXLINE(2176) 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(2176) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE(2176) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE(2177) return ptr;
+ }
+
+
+const char* HaxeCBridge::retainHaxeString(::String haxeString){
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2180_retainHaxeString)
+HXLINE(2181) const char* cStrPtr = haxeString.utf8_str();
+HXLINE(2182) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXLINE(2183) {
+HXLINE(2183) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN(2183) if (::hx::IsNull( store )) {
+HXLINE(2183) 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(2183) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE(2183) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE(2184) return cStrPtr;
+ }
+
+
+void HaxeCBridge::retainPtr(::cpp::Int64 ptrInt64, ::Dynamic haxeObject){
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2187_retainPtr)
+HXLINE(2189) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXLINE(2190) if (::hx::IsNull( store )) {
+HXLINE(2192) 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(2193) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE(2196) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+
+
+void HaxeCBridge::releaseHaxePtr(void * haxePtr){
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2200_releaseHaxePtr)
+HXLINE(2201) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(haxePtr);
+HXLINE(2202) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXLINE(2203) bool _hx_tmp;
+HXDLIN(2203) if (::hx::IsNotNull( store )) {
+HXLINE(2203) _hx_tmp = ::hx::IsGreater( store->__Field(HX_("refCount",7c,2e,66,86),::hx::paccDynamic),0 );
+ }
+ else {
+HXLINE(2203) _hx_tmp = false;
+ }
+HXDLIN(2203) if (_hx_tmp) {
+HXLINE(2204) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))--;
+HXLINE(2205) if (::hx::IsLessEq( store->__Field(HX_("refCount",7c,2e,66,86),::hx::paccDynamic),0 )) {
+HXLINE(2206) ::_HaxeCBridge::Internal_obj::gcRetainMap->remove(ptrInt64);
+ }
+ }
+ }
+
+
+bool HaxeCBridge::isMainThread(){
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2213_isMainThread)
+HXDLIN(2213) return ::_HaxeCBridge::Internal_obj::isMainThreadCb();
+ }
+
+
+void HaxeCBridge::endMainThread(bool waitOnScheduledEvents){
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2218_endMainThread)
+HXLINE(2219) ::_HaxeCBridge::Internal_obj::mainThreadEndIfNoPending = true;
+HXLINE(2220) bool _hx_tmp;
+HXDLIN(2220) if (::_HaxeCBridge::Internal_obj::mainThreadLoopActive) {
+HXLINE(2220) _hx_tmp = waitOnScheduledEvents;
+ }
+ else {
+HXLINE(2220) _hx_tmp = false;
+ }
+HXDLIN(2220) ::_HaxeCBridge::Internal_obj::mainThreadLoopActive = _hx_tmp;
+HXLINE(2221) ::__hxcpp_lock_release(::_HaxeCBridge::Internal_obj::mainThreadWaitLock->l);
+ }
+
+
+void HaxeCBridge::wakeMainThread(){
+ ::__hxcpp_lock_release(::_HaxeCBridge::Internal_obj::mainThreadWaitLock->l);
+}
+
+
+
diff --git a/Sources/c_snikket/src/Lambda.cpp b/Sources/c_borogove/src/Lambda.cpp
similarity index 93%
rename from Sources/c_snikket/src/Lambda.cpp
rename to Sources/c_borogove/src/Lambda.cpp
index df36922..1b6299e 100644
--- a/Sources/c_snikket/src/Lambda.cpp
+++ b/Sources/c_borogove/src/Lambda.cpp
@@ -36,8 +36,7 @@ HXLINE( 46) ::cpp::VirtualArray a = ::cpp::VirtualArray_obj::__new();
HXLINE( 47) {
HXLINE( 47) ::Dynamic i = it->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
HXDLIN( 47) while(( (bool)(i->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 47) ::Dynamic i1 = i->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 48) a->push(i1);
+HXLINE( 48) a->push(i->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
}
}
HXLINE( 49) return a;
@@ -51,8 +50,7 @@ bool Lambda_obj::exists( ::Dynamic it, ::Dynamic f){
HXLINE( 126) {
HXLINE( 126) ::Dynamic x = it->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
HXDLIN( 126) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 126) ::Dynamic x1 = x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 127) if (( (bool)(f(x1)) )) {
+HXLINE( 127) if (( (bool)(f(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)())) )) {
HXLINE( 128) return true;
}
}
@@ -86,8 +84,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC2(Lambda_obj,filter,return )
HXLINE( 184) {
HXLINE( 184) ::Dynamic x = it->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
HXDLIN( 184) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 184) ::Dynamic x1 = x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 185) first = f(x1,first);
+HXLINE( 185) first = f(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)(),first);
}
}
HXLINE( 186) return first;
@@ -127,8 +124,7 @@ HXLINE( 274) int i = 0;
HXLINE( 275) {
HXLINE( 275) ::Dynamic v = it->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
HXDLIN( 275) while(( (bool)(v->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 275) ::Dynamic v1 = v->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 276) if (( (bool)(f(v1)) )) {
+HXLINE( 276) if (( (bool)(f(v->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)())) )) {
HXLINE( 277) return i;
}
HXLINE( 278) i = (i + 1);
diff --git a/Sources/c_snikket/src/Math.cpp b/Sources/c_borogove/src/Math.cpp
similarity index 100%
rename from Sources/c_snikket/src/Math.cpp
rename to Sources/c_borogove/src/Math.cpp
diff --git a/Sources/c_snikket/src/Reflect.cpp b/Sources/c_borogove/src/Reflect.cpp
similarity index 100%
rename from Sources/c_snikket/src/Reflect.cpp
rename to Sources/c_borogove/src/Reflect.cpp
diff --git a/Sources/c_snikket/src/Std.cpp b/Sources/c_borogove/src/Std.cpp
similarity index 100%
rename from Sources/c_snikket/src/Std.cpp
rename to Sources/c_borogove/src/Std.cpp
diff --git a/Sources/c_snikket/src/String.cpp b/Sources/c_borogove/src/String.cpp
similarity index 100%
rename from Sources/c_snikket/src/String.cpp
rename to Sources/c_borogove/src/String.cpp
diff --git a/Sources/c_snikket/src/StringBuf.cpp b/Sources/c_borogove/src/StringBuf.cpp
similarity index 100%
rename from Sources/c_snikket/src/StringBuf.cpp
rename to Sources/c_borogove/src/StringBuf.cpp
diff --git a/Sources/c_snikket/src/StringTools.cpp b/Sources/c_borogove/src/StringTools.cpp
similarity index 94%
rename from Sources/c_snikket/src/StringTools.cpp
rename to Sources/c_borogove/src/StringTools.cpp
index 6f05edb..2debb5f 100644
--- a/Sources/c_snikket/src/StringTools.cpp
+++ b/Sources/c_borogove/src/StringTools.cpp
@@ -68,12 +68,10 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(StringTools_obj,urlEncode,return )
HXLINE( 159) ::StringBuf buf = ::StringBuf_obj::__alloc( HX_CTX );
HXLINE( 160) {
HXLINE( 160) int _g_offset = 0;
-HXDLIN( 160) ::String _g_s = s;
-HXDLIN( 160) while((_g_offset < _g_s.length)){
-HXLINE( 160) ::String s1 = _g_s;
-HXDLIN( 160) _g_offset = (_g_offset + 1);
+HXDLIN( 160) while((_g_offset < s.length)){
+HXLINE( 160) _g_offset = (_g_offset + 1);
HXDLIN( 160) int index = (_g_offset - 1);
-HXDLIN( 160) int c = s1.cca(index);
+HXDLIN( 160) int c = s.cca(index);
HXDLIN( 160) bool _hx_tmp;
HXDLIN( 160) if ((c >= 55296)) {
HXLINE( 160) _hx_tmp = (c <= 56319);
@@ -82,14 +80,13 @@ HXLINE( 160) _hx_tmp = (c <= 56319);
HXLINE( 160) _hx_tmp = false;
}
HXDLIN( 160) if (_hx_tmp) {
-HXLINE( 639) c = (((c - 55232) << 10) | (s1.cca((index + 1)) & 1023));
+HXLINE( 639) c = (((c - 55232) << 10) | (s.cca((index + 1)) & 1023));
}
HXLINE( 160) int c1 = c;
HXDLIN( 160) if ((c1 >= 65536)) {
HXLINE( 160) _g_offset = (_g_offset + 1);
}
-HXDLIN( 160) int code = c1;
-HXLINE( 161) switch((int)(code)){
+HXLINE( 161) switch((int)(c1)){
case (int)34: {
HXLINE( 168) if (( (bool)(quotes) )) {
HXLINE( 169) if (::hx::IsNotNull( buf->charBuf )) {
@@ -103,8 +100,8 @@ HXLINE( 169) buf->b->push(HX_(""",2c,d9,81,8f));
}
}
else {
-HXLINE( 173) if ((code >= 127)) {
-HXLINE( 173) ::String x = ::String::fromCharCode(code);
+HXLINE( 173) if ((c1 >= 127)) {
+HXLINE( 173) ::String x = ::String::fromCharCode(c1);
HXDLIN( 173) if (::hx::IsNotNull( buf->charBuf )) {
HXLINE( 173) buf->flush();
}
@@ -120,7 +117,7 @@ HXDLIN( 173) buf1->push(::Std_obj::string(x));
HXLINE( 173) if (::hx::IsNull( buf->charBuf )) {
HXLINE( 173) buf->charBuf = ::Array_obj< char >::__new();
}
-HXDLIN( 173) buf->charBuf->push(code);
+HXDLIN( 173) buf->charBuf->push(c1);
}
}
}
@@ -150,8 +147,8 @@ HXLINE( 171) buf->b->push(HX_("'",62,26,77,78));
}
}
else {
-HXLINE( 173) if ((code >= 127)) {
-HXLINE( 173) ::String x1 = ::String::fromCharCode(code);
+HXLINE( 173) if ((c1 >= 127)) {
+HXLINE( 173) ::String x1 = ::String::fromCharCode(c1);
HXDLIN( 173) if (::hx::IsNotNull( buf->charBuf )) {
HXLINE( 173) buf->flush();
}
@@ -167,7 +164,7 @@ HXDLIN( 173) buf2->push(::Std_obj::string(x1));
HXLINE( 173) if (::hx::IsNull( buf->charBuf )) {
HXLINE( 173) buf->charBuf = ::Array_obj< char >::__new();
}
-HXDLIN( 173) buf->charBuf->push(code);
+HXDLIN( 173) buf->charBuf->push(c1);
}
}
}
@@ -197,8 +194,8 @@ HXLINE( 167) buf->b->push(HX_(">",08,a9,6c,19));
}
break;
default:{
-HXLINE( 173) if ((code >= 127)) {
-HXLINE( 173) ::String x2 = ::String::fromCharCode(code);
+HXLINE( 173) if ((c1 >= 127)) {
+HXLINE( 173) ::String x2 = ::String::fromCharCode(c1);
HXDLIN( 173) if (::hx::IsNotNull( buf->charBuf )) {
HXLINE( 173) buf->flush();
}
@@ -214,7 +211,7 @@ HXDLIN( 173) buf3->push(::Std_obj::string(x2));
HXLINE( 173) if (::hx::IsNull( buf->charBuf )) {
HXLINE( 173) buf->charBuf = ::Array_obj< char >::__new();
}
-HXDLIN( 173) buf->charBuf->push(code);
+HXDLIN( 173) buf->charBuf->push(c1);
}
}
}
@@ -394,9 +391,8 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC3(StringTools_obj,replace,return )
::String StringTools_obj::hex(int n, ::Dynamic digits){
HX_STACKFRAME(&_hx_pos_0e615b5827179e15_438_hex)
HXLINE( 444) ::String s = HX_("",00,00,00,00);
-HXLINE( 445) ::String hexChars = HX_("0123456789ABCDEF",68,2a,58,a2);
HXLINE( 446) do {
-HXLINE( 447) s = (hexChars.charAt((n & 15)) + s);
+HXLINE( 447) s = (HX_("0123456789ABCDEF",68,2a,58,a2).charAt((n & 15)) + s);
HXLINE( 448) n = ::hx::UShr(n,4);
} while((n > 0));
;
diff --git a/Sources/c_snikket/src/Sys.cpp b/Sources/c_borogove/src/Sys.cpp
similarity index 100%
rename from Sources/c_snikket/src/Sys.cpp
rename to Sources/c_borogove/src/Sys.cpp
diff --git a/Sources/c_snikket/src/Type.cpp b/Sources/c_borogove/src/Type.cpp
similarity index 95%
rename from Sources/c_snikket/src/Type.cpp
rename to Sources/c_borogove/src/Type.cpp
index bc5cd54..1ff18bb 100644
--- a/Sources/c_snikket/src/Type.cpp
+++ b/Sources/c_borogove/src/Type.cpp
@@ -15,7 +15,7 @@ HX_LOCAL_STACK_FRAME(_hx_pos_6ebc4c1d0351a436_36_getClass,"Type","getClass",0xc4
HX_LOCAL_STACK_FRAME(_hx_pos_6ebc4c1d0351a436_61_getClassName,"Type","getClassName",0x8e66dd41,"Type.getClassName","/usr/local/lib/haxe/std/cpp/_std/Type.hx",61,0xb5f2d6e2)
HX_LOCAL_STACK_FRAME(_hx_pos_6ebc4c1d0351a436_111_getInstanceFields,"Type","getInstanceFields",0xe970f890,"Type.getInstanceFields","/usr/local/lib/haxe/std/cpp/_std/Type.hx",111,0xb5f2d6e2)
HX_LOCAL_STACK_FRAME(_hx_pos_6ebc4c1d0351a436_124_typeof,"Type","typeof",0xd6c51d65,"Type.typeof","/usr/local/lib/haxe/std/cpp/_std/Type.hx",124,0xb5f2d6e2)
-HX_LOCAL_STACK_FRAME(_hx_pos_6ebc4c1d0351a436_158_enumParameters,"Type","enumParameters",0xf9e1b41f,"Type.enumParameters","/usr/local/lib/haxe/std/cpp/_std/Type.hx",158,0xb5f2d6e2)
+HX_LOCAL_STACK_FRAME(_hx_pos_6ebc4c1d0351a436_160_enumParameters,"Type","enumParameters",0xf9e1b41f,"Type.enumParameters","/usr/local/lib/haxe/std/cpp/_std/Type.hx",160,0xb5f2d6e2)
void Type_obj::__construct() { }
@@ -124,9 +124,8 @@ HXLINE( 128) return null();
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Type_obj,_hx_typeof,return )
::cpp::VirtualArray Type_obj::enumParameters( ::Dynamic e){
- HX_STACKFRAME(&_hx_pos_6ebc4c1d0351a436_158_enumParameters)
-HXLINE( 159) hx::EnumBase value = ( ( hx::EnumBase)(e) );
-HXLINE( 160) return value->_hx_getParameters();
+ HX_STACKFRAME(&_hx_pos_6ebc4c1d0351a436_160_enumParameters)
+HXDLIN( 160) return ( ( hx::EnumBase)(e) )->_hx_getParameters();
}
diff --git a/Sources/c_snikket/src/ValueType.cpp b/Sources/c_borogove/src/ValueType.cpp
similarity index 100%
rename from Sources/c_snikket/src/ValueType.cpp
rename to Sources/c_borogove/src/ValueType.cpp
diff --git a/Sources/c_snikket/src/Xml.cpp b/Sources/c_borogove/src/Xml.cpp
similarity index 100%
rename from Sources/c_snikket/src/Xml.cpp
rename to Sources/c_borogove/src/Xml.cpp
diff --git a/Sources/c_snikket/src/_HaxeCBridge/Internal.cpp b/Sources/c_borogove/src/_HaxeCBridge/Internal.cpp
similarity index 90%
rename from Sources/c_snikket/src/_HaxeCBridge/Internal.cpp
rename to Sources/c_borogove/src/_HaxeCBridge/Internal.cpp
index c64703b..6edb2fc 100644
--- a/Sources/c_snikket/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_2158_boot,"_HaxeCBridge.Internal","boot",0xcd005bdc,"_HaxeCBridge.Internal.boot","HaxeCBridge.hx",2158,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_afd834d22acce778_2159_boot,"_HaxeCBridge.Internal","boot",0xcd005bdc,"_HaxeCBridge.Internal.boot","HaxeCBridge.hx",2159,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_afd834d22acce778_2160_boot,"_HaxeCBridge.Internal","boot",0xcd005bdc,"_HaxeCBridge.Internal.boot","HaxeCBridge.hx",2160,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afd834d22acce778_2239_boot,"_HaxeCBridge.Internal","boot",0xcd005bdc,"_HaxeCBridge.Internal.boot","HaxeCBridge.hx",2239,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afd834d22acce778_2240_boot,"_HaxeCBridge.Internal","boot",0xcd005bdc,"_HaxeCBridge.Internal.boot","HaxeCBridge.hx",2240,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afd834d22acce778_2241_boot,"_HaxeCBridge.Internal","boot",0xcd005bdc,"_HaxeCBridge.Internal.boot","HaxeCBridge.hx",2241,0xa18550d8)
namespace _HaxeCBridge{
void Internal_obj::__construct() { }
@@ -165,16 +165,16 @@ void Internal_obj::__register()
void Internal_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_afd834d22acce778_2158_boot)
-HXDLIN(2158) mainThreadLoopActive = true;
+ HX_STACKFRAME(&_hx_pos_afd834d22acce778_2239_boot)
+HXDLIN(2239) mainThreadLoopActive = true;
}
{
- HX_STACKFRAME(&_hx_pos_afd834d22acce778_2159_boot)
-HXDLIN(2159) mainThreadEndIfNoPending = false;
+ HX_STACKFRAME(&_hx_pos_afd834d22acce778_2240_boot)
+HXDLIN(2240) mainThreadEndIfNoPending = false;
}
{
- HX_GC_STACKFRAME(&_hx_pos_afd834d22acce778_2160_boot)
-HXDLIN(2160) gcRetainMap = ::cpp::Int64Map_obj::__alloc( HX_CTX );
+ HX_GC_STACKFRAME(&_hx_pos_afd834d22acce778_2241_boot)
+HXDLIN(2241) gcRetainMap = ::cpp::Int64Map_obj::__alloc( HX_CTX );
}
}
diff --git a/Sources/c_snikket/src/_UnicodeString/UnicodeString_Impl_.cpp b/Sources/c_borogove/src/_UnicodeString/UnicodeString_Impl_.cpp
similarity index 95%
rename from Sources/c_snikket/src/_UnicodeString/UnicodeString_Impl_.cpp
rename to Sources/c_borogove/src/_UnicodeString/UnicodeString_Impl_.cpp
index b6a1db1..b2f4f7e 100644
--- a/Sources/c_snikket/src/_UnicodeString/UnicodeString_Impl_.cpp
+++ b/Sources/c_borogove/src/_UnicodeString/UnicodeString_Impl_.cpp
@@ -142,12 +142,10 @@ int UnicodeString_Impl__obj::get_length(::String this1){
HXLINE( 421) int l = 0;
HXLINE( 422) {
HXLINE( 422) int _g_offset = 0;
-HXDLIN( 422) ::String _g_s = this1;
-HXDLIN( 422) while((_g_offset < _g_s.length)){
-HXLINE( 422) ::String s = _g_s;
-HXDLIN( 422) _g_offset = (_g_offset + 1);
+HXDLIN( 422) while((_g_offset < this1.length)){
+HXLINE( 422) _g_offset = (_g_offset + 1);
HXDLIN( 422) int index = (_g_offset - 1);
-HXDLIN( 422) int c = s.cca(index);
+HXDLIN( 422) int c = this1.cca(index);
HXDLIN( 422) bool _hx_tmp;
HXDLIN( 422) if ((c >= 55296)) {
HXLINE( 422) _hx_tmp = (c <= 56319);
@@ -156,13 +154,11 @@ HXLINE( 422) _hx_tmp = (c <= 56319);
HXLINE( 422) _hx_tmp = false;
}
HXDLIN( 422) if (_hx_tmp) {
-HXLINE( 639) c = (((c - 55232) << 10) | (s.cca((index + 1)) & 1023));
+HXLINE( 639) c = (((c - 55232) << 10) | (this1.cca((index + 1)) & 1023));
}
-HXLINE( 422) int c1 = c;
-HXDLIN( 422) if ((c1 >= 65536)) {
+HXLINE( 422) if ((c >= 65536)) {
HXLINE( 422) _g_offset = (_g_offset + 1);
}
-HXDLIN( 422) int c2 = c1;
HXLINE( 423) l = (l + 1);
}
}
diff --git a/Sources/c_snikket/src/_Xml/XmlType_Impl_.cpp b/Sources/c_borogove/src/_Xml/XmlType_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/_Xml/XmlType_Impl_.cpp
rename to Sources/c_borogove/src/_Xml/XmlType_Impl_.cpp
diff --git a/Sources/c_snikket/src/__HaxeCBridgeBindings__.cpp b/Sources/c_borogove/src/__HaxeCBridgeBindings__.cpp
similarity index 51%
rename from Sources/c_snikket/src/__HaxeCBridgeBindings__.cpp
rename to Sources/c_borogove/src/__HaxeCBridgeBindings__.cpp
index b6ed7d6..60bbddd 100644
--- a/Sources/c_snikket/src/__HaxeCBridgeBindings__.cpp
+++ b/Sources/c_borogove/src/__HaxeCBridgeBindings__.cpp
@@ -18,36 +18,50 @@
#ifdef _WIN32
#define API_PREFIX __declspec(dllexport)
#endif
-#include "snikket.h"
+#include "borogove.h"
#define HAXE_C_BRIDGE_LINKAGE HXCPP_EXTERN_CLASS_ATTRIBUTES
-#include <snikket/persistence/MediaStoreFS.h>
-#include <snikket/persistence/Sqlite.h>
-#include <snikket/persistence/MediaStore.h>
-#include <snikket/ChatMessage.h>
-#include <snikket/ChatMessageBuilder.h>
-#include <snikket/ChatAttachment.h>
-#include <snikket/Hash.h>
-#include <snikket/Reaction.h>
-#include <snikket/persistence/Dummy.h>
-#include <snikket/Push.h>
-#include <snikket/Persistence.h>
-#include <snikket/Notification.h>
-#include <snikket/Client.h>
-#include <snikket/AttachmentSource.h>
-#include <snikket/AvailableChat.h>
-#include <snikket/Chat.h>
-#include <snikket/Participant.h>
-#include <snikket/jingle/DTMFSender.h>
-#include <snikket/jingle/MediaStreamTrack.h>
-#include <snikket/jingle/AudioFormat.h>
-#include <snikket/jingle/InitiatedSession.h>
-#include <snikket/jingle/MediaStream.h>
-#include <snikket/Channel.h>
-#include <snikket/DirectChat.h>
-#include <snikket/CustomEmojiReaction.h>
-#include <snikket/Identicon.h>
-#include <snikket/Config.h>
+#include <borogove/persistence/MediaStoreFS.h>
+#include <borogove/persistence/Sqlite.h>
+#include <borogove/persistence/MediaStore.h>
+#include <borogove/ChatMessage.h>
+#include <borogove/EncryptionInfo.h>
+#include <borogove/ChatMessageBuilder.h>
+#include <borogove/Participant.h>
+#include <borogove/ChatAttachment.h>
+#include <borogove/Hash.h>
+#include <borogove/Reaction.h>
+#include <borogove/Client.h>
+#include <borogove/Profile.h>
+#include <borogove/ProfileItem.h>
+#include <borogove/persistence/Dummy.h>
+#include <borogove/Push.h>
+#include <borogove/Persistence.h>
+#include <borogove/Notification.h>
+#include <borogove/EventEmitter.h>
+#include <borogove/ProfileBuilder.h>
+#include <borogove/AttachmentSource.h>
+#include <borogove/AvailableChat.h>
+#include <borogove/Chat.h>
+#include <borogove/calls/Session.h>
+#include <borogove/calls/DTMFSender.h>
+#include <borogove/calls/MediaStreamTrack.h>
+#include <borogove/calls/AudioFormat.h>
+#include <borogove/Command.h>
+#include <borogove/CommandSession.h>
+#include <borogove/FormSubmitBuilder.h>
+#include <borogove/FormOption.h>
+#include <borogove/Form.h>
+#include <borogove/FormItem.h>
+#include <borogove/FormField.h>
+#include <borogove/FormSection.h>
+#include <borogove/calls/InitiatedSession.h>
+#include <borogove/calls/MediaStream.h>
+#include <borogove/Channel.h>
+#include <borogove/DirectChat.h>
+#include <borogove/CustomEmojiReaction.h>
+#include <borogove/Identicon.h>
+#include <borogove/Config.h>
namespace HaxeCBridgeInternal {
@@ -89,7 +103,7 @@ namespace HaxeCBridgeInternal {
std::atomic<bool> staticsInitialized = { false };
struct HaxeThreadData {
- snikket_panic_callback haxeExceptionCallback;
+ borogove_panic_callback haxeExceptionCallback;
const char* initExceptionInfo;
};
@@ -148,7 +162,7 @@ THREAD_FUNC_TYPE haxeMainThreadFunc(void *data) {
threadData->initExceptionInfo = nullptr;
// copy out callback
- snikket_panic_callback haxeExceptionCallback = threadData->haxeExceptionCallback;
+ borogove_panic_callback haxeExceptionCallback = threadData->haxeExceptionCallback;
bool firstRun = !HaxeCBridgeInternal::staticsInitialized;
@@ -183,7 +197,7 @@ THREAD_FUNC_TYPE haxeMainThreadFunc(void *data) {
}
HAXE_C_BRIDGE_LINKAGE
-const char* snikket_setup(snikket_panic_callback unhandledExceptionCallback) {
+const char* borogove_setup(borogove_panic_callback unhandledExceptionCallback) {
HaxeCBridgeInternal::HaxeThreadData threadData;
threadData.haxeExceptionCallback = unhandledExceptionCallback == nullptr ? HaxeCBridgeInternal::defaultExceptionHandler : unhandledExceptionCallback;
threadData.initExceptionInfo = nullptr;
@@ -205,7 +219,7 @@ const char* snikket_setup(snikket_panic_callback unhandledExceptionCallback) {
}
if (threadData.initExceptionInfo != nullptr) {
- snikket_stop(false);
+ borogove_stop(false);
const int returnInfoMax = 1024;
static char returnInfo[returnInfoMax] = ""; // statically allocated for return safety
@@ -217,7 +231,7 @@ const char* snikket_setup(snikket_panic_callback unhandledExceptionCallback) {
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_stop(bool waitOnScheduledEvents) {
+void borogove_stop(bool waitOnScheduledEvents) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
// it is possible for stopHaxeThread to be called from within the haxe thread, while another thread is waiting on for the thread to end
// so it is important the haxe thread does not wait on certain locks
@@ -240,7 +254,7 @@ void snikket_stop(bool waitOnScheduledEvents) {
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_release(const void* ptr) {
+void borogove_release(const void* ptr) {
struct Callback {
static void run(void* data) {
HaxeCBridge::releaseHaxePtr(data);
@@ -249,9 +263,9 @@ void snikket_release(const void* ptr) {
HaxeCBridgeInternal::runInMainThread(Callback::run, (void*)ptr);
}
HAXE_C_BRIDGE_LINKAGE
-void *snikket_persistence_media_store_f_s_new(const char *a0) {
+void *borogove_persistence_media_store_fs_new(const char *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject(snikket::persistence::MediaStoreFS_obj::__new(a0));
+ return HaxeCBridge::retainHaxeObject(borogove::persistence::MediaStoreFS_obj::__new(a0));
}
struct Data {
struct {const char * a0;} args;
@@ -263,7 +277,7 @@ void *snikket_persistence_media_store_f_s_new(const char *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject(snikket::persistence::MediaStoreFS_obj::__new(data->args.a0));
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::persistence::MediaStoreFS_obj::__new(data->args.a0));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -273,7 +287,7 @@ void *snikket_persistence_media_store_f_s_new(const char *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -285,12 +299,12 @@ void *snikket_persistence_media_store_f_s_new(const char *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_persistence_media_store_f_s_get_media_path(void *a0, const char *a1, void (*a2) (const char*, void*), void *a3) {
+void borogove_persistence_media_store_fs_get_media_path(void *a0, const char *a1, void (*a2) (const char*, void *handler__context), void *a3) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::persistence::MediaStoreFS((hx::Object *)a0, true))->getMediaPath__fromC(a1, cpp::Function<void(const char*, void*)>(a2), a3);
+ return (borogove::persistence::MediaStoreFS((hx::Object *)a0, true))->getMediaPath__fromC(a1, cpp::Function<void(const char*, void * handler__context)>(a2), a3);
}
struct Data {
- struct {void * a0; const char * a1; void (* a2) (const char*, void*); void* a3;} args;
+ struct {void * a0; const char * a1; void (* a2) (const char*, void * handler__context); void* a3;} args;
HxSemaphore lock;
};
struct Callback {
@@ -298,7 +312,7 @@ void snikket_persistence_media_store_f_s_get_media_path(void *a0, const char *a1
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::persistence::MediaStoreFS((hx::Object *)data->args.a0, true))->getMediaPath__fromC(data->args.a1, cpp::Function<void(const char*, void*)>(data->args.a2), data->args.a3);
+ (borogove::persistence::MediaStoreFS((hx::Object *)data->args.a0, true))->getMediaPath__fromC(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();
@@ -308,7 +322,7 @@ void snikket_persistence_media_store_f_s_get_media_path(void *a0, const char *a1
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0, a1, a2, a3} };
@@ -319,9 +333,9 @@ void snikket_persistence_media_store_f_s_get_media_path(void *a0, const char *a1
}
HAXE_C_BRIDGE_LINKAGE
-void *snikket_persistence_sqlite_new(const char *a0, void *a1) {
+void *borogove_persistence_sqlite_new(const char *a0, void *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject(snikket::persistence::Sqlite_obj::__new(a0, Dynamic((hx::Object *)a1)));
+ return HaxeCBridge::retainHaxeObject(borogove::persistence::Sqlite_obj::__new(a0, Dynamic((hx::Object *)a1)));
}
struct Data {
struct {const char * a0; void * a1;} args;
@@ -333,7 +347,7 @@ void *snikket_persistence_sqlite_new(const char *a0, void *a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject(snikket::persistence::Sqlite_obj::__new(data->args.a0, Dynamic((hx::Object *)data->args.a1)));
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::persistence::Sqlite_obj::__new(data->args.a0, Dynamic((hx::Object *)data->args.a1)));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -343,7 +357,7 @@ void *snikket_persistence_sqlite_new(const char *a0, void *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0, a1} };
@@ -355,12 +369,12 @@ void *snikket_persistence_sqlite_new(const char *a0, void *a1) {
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_persistence_sqlite_get_message(void *a0, const char *a1, const char *a2, const char *a3, const char *a4, void (*a5) (void*, void*), void *a6) {
+void borogove_persistence_sqlite_get_message(void *a0, const char *a1, const char *a2, const char *a3, const char *a4, void (*a5) (void*, void *handler__context), void *a6) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::persistence::Sqlite((hx::Object *)a0, true))->getMessage__fromC(a1, a2, a3, a4, cpp::Function<void(void*, void*)>(a5), a6);
+ return (borogove::persistence::Sqlite((hx::Object *)a0, true))->getMessage__fromC(a1, a2, a3, a4, cpp::Function<void(void*, void * handler__context)>(a5), a6);
}
struct Data {
- struct {void * a0; const char * a1; const char * a2; const char * a3; const char * a4; void (* a5) (void*, void*); void* a6;} args;
+ struct {void * a0; const char * a1; const char * a2; const char * a3; const char * a4; void (* a5) (void*, void * handler__context); void* a6;} args;
HxSemaphore lock;
};
struct Callback {
@@ -368,7 +382,7 @@ void snikket_persistence_sqlite_get_message(void *a0, const char *a1, const char
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::persistence::Sqlite((hx::Object *)data->args.a0, true))->getMessage__fromC(data->args.a1, data->args.a2, data->args.a3, data->args.a4, cpp::Function<void(void*, void*)>(data->args.a5), data->args.a6);
+ (borogove::persistence::Sqlite((hx::Object *)data->args.a0, true))->getMessage__fromC(data->args.a1, data->args.a2, data->args.a3, data->args.a4, cpp::Function<void(void*, void * handler__context)>(data->args.a5), data->args.a6);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -378,7 +392,7 @@ void snikket_persistence_sqlite_get_message(void *a0, const char *a1, const char
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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} };
@@ -389,9 +403,9 @@ void snikket_persistence_sqlite_get_message(void *a0, const char *a1, const char
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_persistence_sqlite_remove_account(void *a0, const char *a1, bool a2) {
+void borogove_persistence_sqlite_remove_account(void *a0, const char *a1, bool a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::persistence::Sqlite((hx::Object *)a0, true))->removeAccount(a1, a2);
+ return (borogove::persistence::Sqlite((hx::Object *)a0, true))->removeAccount(a1, a2);
}
struct Data {
struct {void * a0; const char * a1; bool a2;} args;
@@ -402,7 +416,7 @@ void snikket_persistence_sqlite_remove_account(void *a0, const char *a1, bool a2
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::persistence::Sqlite((hx::Object *)data->args.a0, true))->removeAccount(data->args.a1, data->args.a2);
+ (borogove::persistence::Sqlite((hx::Object *)data->args.a0, true))->removeAccount(data->args.a1, data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -412,7 +426,7 @@ void snikket_persistence_sqlite_remove_account(void *a0, const char *a1, bool a2
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0, a1, a2} };
@@ -423,12 +437,12 @@ void snikket_persistence_sqlite_remove_account(void *a0, const char *a1, bool a2
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_persistence_sqlite_list_accounts(void *a0, void (*a1) (const char**, size_t, void*), void *a2) {
+void borogove_persistence_sqlite_list_accounts(void *a0, void (*a1) (const char**, size_t, void *handler__context), void *a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::persistence::Sqlite((hx::Object *)a0, true))->listAccounts__fromC(cpp::Function<void(const char**, size_t, void*)>(a1), a2);
+ return (borogove::persistence::Sqlite((hx::Object *)a0, true))->listAccounts__fromC(cpp::Function<void(const char**, size_t, void * handler__context)>(a1), a2);
}
struct Data {
- struct {void * a0; void (* a1) (const char**, size_t, void*); void* a2;} args;
+ struct {void * a0; void (* a1) (const char**, size_t, void * handler__context); void* a2;} args;
HxSemaphore lock;
};
struct Callback {
@@ -436,7 +450,7 @@ void snikket_persistence_sqlite_list_accounts(void *a0, void (*a1) (const char**
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::persistence::Sqlite((hx::Object *)data->args.a0, true))->listAccounts__fromC(cpp::Function<void(const char**, size_t, void*)>(data->args.a1), data->args.a2);
+ (borogove::persistence::Sqlite((hx::Object *)data->args.a0, true))->listAccounts__fromC(cpp::Function<void(const char**, size_t, void * handler__context)>(data->args.a1), data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -446,7 +460,7 @@ void snikket_persistence_sqlite_list_accounts(void *a0, void (*a1) (const char**
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0, a1, a2} };
@@ -457,9 +471,9 @@ void snikket_persistence_sqlite_list_accounts(void *a0, void (*a1) (const char**
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_local_id(void *a0) {
+const char *borogove_chat_message_local_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->localId__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->localId__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -471,7 +485,7 @@ const char *snikket_chat_message_local_id(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->localId__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->localId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -481,7 +495,7 @@ const char *snikket_chat_message_local_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -493,9 +507,9 @@ const char *snikket_chat_message_local_id(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_server_id(void *a0) {
+const char *borogove_chat_message_server_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->serverId__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->serverId__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -507,7 +521,7 @@ const char *snikket_chat_message_server_id(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->serverId__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->serverId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -517,7 +531,7 @@ const char *snikket_chat_message_server_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -529,9 +543,9 @@ const char *snikket_chat_message_server_id(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_server_id_by(void *a0) {
+const char *borogove_chat_message_server_id_by(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->serverIdBy__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->serverIdBy__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -543,7 +557,7 @@ const char *snikket_chat_message_server_id_by(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->serverIdBy__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->serverIdBy__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -553,7 +567,7 @@ const char *snikket_chat_message_server_id_by(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -565,21 +579,21 @@ const char *snikket_chat_message_server_id_by(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-enum snikket_message_type snikket_chat_message_type(void *a0) {
+enum borogove_message_type borogove_chat_message_type(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return static_cast<enum snikket_message_type>((snikket::ChatMessage((hx::Object *)a0, true))->type__fromC());
+ return static_cast<enum borogove_message_type>((borogove::ChatMessage((hx::Object *)a0, true))->type__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- enum snikket_message_type ret;
+ enum borogove_message_type ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = static_cast<enum snikket_message_type>((snikket::ChatMessage((hx::Object *)data->args.a0, true))->type__fromC());
+ data->ret = static_cast<enum borogove_message_type>((borogove::ChatMessage((hx::Object *)data->args.a0, true))->type__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -589,7 +603,7 @@ enum snikket_message_type snikket_chat_message_type(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -601,9 +615,9 @@ enum snikket_message_type snikket_chat_message_type(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_timestamp(void *a0) {
+const char *borogove_chat_message_timestamp(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->timestamp__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->timestamp__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -615,7 +629,7 @@ const char *snikket_chat_message_timestamp(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->timestamp__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->timestamp__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -625,7 +639,7 @@ const char *snikket_chat_message_timestamp(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -637,9 +651,9 @@ const char *snikket_chat_message_timestamp(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_sender_id(void *a0) {
+const char *borogove_chat_message_sender_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->senderId__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->senderId__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -651,7 +665,7 @@ const char *snikket_chat_message_sender_id(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->senderId__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->senderId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -661,7 +675,7 @@ const char *snikket_chat_message_sender_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -673,9 +687,9 @@ const char *snikket_chat_message_sender_id(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-void *snikket_chat_message_reply_to_message(void *a0) {
+void *borogove_chat_message_reply_to_message(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject((snikket::ChatMessage((hx::Object *)a0, true))->replyToMessage__fromC());
+ return HaxeCBridge::retainHaxeObject((borogove::ChatMessage((hx::Object *)a0, true))->replyToMessage__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -687,7 +701,7 @@ void *snikket_chat_message_reply_to_message(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject((snikket::ChatMessage((hx::Object *)data->args.a0, true))->replyToMessage__fromC());
+ data->ret = HaxeCBridge::retainHaxeObject((borogove::ChatMessage((hx::Object *)data->args.a0, true))->replyToMessage__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -697,7 +711,7 @@ void *snikket_chat_message_reply_to_message(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -709,9 +723,9 @@ void *snikket_chat_message_reply_to_message(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_thread_id(void *a0) {
+const char *borogove_chat_message_thread_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->threadId__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->threadId__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -723,7 +737,7 @@ const char *snikket_chat_message_thread_id(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->threadId__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->threadId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -733,7 +747,7 @@ const char *snikket_chat_message_thread_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -745,9 +759,9 @@ const char *snikket_chat_message_thread_id(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-size_t snikket_chat_message_attachments(void *a0, void ***a1) {
+size_t borogove_chat_message_attachments(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessage((hx::Object *)a0, true))->attachments__fromC(a1);
+ return (borogove::ChatMessage((hx::Object *)a0, true))->attachments__fromC(a1);
}
struct Data {
struct {void * a0; void*** a1;} args;
@@ -759,7 +773,7 @@ size_t snikket_chat_message_attachments(void *a0, void ***a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::ChatMessage((hx::Object *)data->args.a0, true))->attachments__fromC(data->args.a1);
+ data->ret = (borogove::ChatMessage((hx::Object *)data->args.a0, true))->attachments__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -769,7 +783,7 @@ size_t snikket_chat_message_attachments(void *a0, void ***a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0, a1} };
@@ -781,9 +795,9 @@ size_t snikket_chat_message_attachments(void *a0, void ***a1) {
}
HAXE_C_BRIDGE_LINKAGE
-size_t snikket_chat_message_reaction_keys(void *a0, const char ***a1) {
+size_t borogove_chat_message_reaction_keys(void *a0, const char ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessage((hx::Object *)a0, true))->reactionKeys__fromC(a1);
+ return (borogove::ChatMessage((hx::Object *)a0, true))->reactionKeys__fromC(a1);
}
struct Data {
struct {void * a0; const char*** a1;} args;
@@ -795,7 +809,7 @@ size_t snikket_chat_message_reaction_keys(void *a0, const char ***a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::ChatMessage((hx::Object *)data->args.a0, true))->reactionKeys__fromC(data->args.a1);
+ data->ret = (borogove::ChatMessage((hx::Object *)data->args.a0, true))->reactionKeys__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -805,7 +819,7 @@ size_t snikket_chat_message_reaction_keys(void *a0, const char ***a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0, a1} };
@@ -817,9 +831,9 @@ size_t snikket_chat_message_reaction_keys(void *a0, const char ***a1) {
}
HAXE_C_BRIDGE_LINKAGE
-size_t snikket_chat_message_reaction_details(void *a0, const char *a1, void ***a2) {
+size_t borogove_chat_message_reaction_details(void *a0, const char *a1, void ***a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessage((hx::Object *)a0, true))->reactionDetails__fromC(a1, a2);
+ return (borogove::ChatMessage((hx::Object *)a0, true))->reactionDetails__fromC(a1, a2);
}
struct Data {
struct {void * a0; const char * a1; void*** a2;} args;
@@ -831,7 +845,7 @@ size_t snikket_chat_message_reaction_details(void *a0, const char *a1, void ***a
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::ChatMessage((hx::Object *)data->args.a0, true))->reactionDetails__fromC(data->args.a1, data->args.a2);
+ data->ret = (borogove::ChatMessage((hx::Object *)data->args.a0, true))->reactionDetails__fromC(data->args.a1, data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -841,7 +855,7 @@ size_t snikket_chat_message_reaction_details(void *a0, const char *a1, void ***a
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0, a1, a2} };
@@ -853,9 +867,9 @@ size_t snikket_chat_message_reaction_details(void *a0, const char *a1, void ***a
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_text(void *a0) {
+const char *borogove_chat_message_text(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->text__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->text__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -867,7 +881,7 @@ const char *snikket_chat_message_text(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->text__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->text__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -877,7 +891,7 @@ const char *snikket_chat_message_text(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -889,9 +903,9 @@ const char *snikket_chat_message_text(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_lang(void *a0) {
+const char *borogove_chat_message_lang(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->lang__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->lang__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -903,7 +917,7 @@ const char *snikket_chat_message_lang(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->lang__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->lang__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -913,7 +927,7 @@ const char *snikket_chat_message_lang(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -925,21 +939,21 @@ const char *snikket_chat_message_lang(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-enum snikket_message_direction snikket_chat_message_direction(void *a0) {
+enum borogove_message_direction borogove_chat_message_direction(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return static_cast<enum snikket_message_direction>((snikket::ChatMessage((hx::Object *)a0, true))->direction__fromC());
+ return static_cast<enum borogove_message_direction>((borogove::ChatMessage((hx::Object *)a0, true))->direction__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- enum snikket_message_direction ret;
+ enum borogove_message_direction ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = static_cast<enum snikket_message_direction>((snikket::ChatMessage((hx::Object *)data->args.a0, true))->direction__fromC());
+ data->ret = static_cast<enum borogove_message_direction>((borogove::ChatMessage((hx::Object *)data->args.a0, true))->direction__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -949,7 +963,7 @@ enum snikket_message_direction snikket_chat_message_direction(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -961,21 +975,21 @@ enum snikket_message_direction snikket_chat_message_direction(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-enum snikket_message_status snikket_chat_message_status(void *a0) {
+enum borogove_message_status borogove_chat_message_status(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return static_cast<enum snikket_message_status>((snikket::ChatMessage((hx::Object *)a0, true))->status__fromC());
+ return static_cast<enum borogove_message_status>((borogove::ChatMessage((hx::Object *)a0, true))->status__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- enum snikket_message_status ret;
+ enum borogove_message_status ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = static_cast<enum snikket_message_status>((snikket::ChatMessage((hx::Object *)data->args.a0, true))->status__fromC());
+ data->ret = static_cast<enum borogove_message_status>((borogove::ChatMessage((hx::Object *)data->args.a0, true))->status__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -985,7 +999,7 @@ enum snikket_message_status snikket_chat_message_status(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -997,20 +1011,21 @@ enum snikket_message_status snikket_chat_message_status(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_chat_message_set_status(void *a0, enum snikket_message_status a1) {
+const char *borogove_chat_message_status_text(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessage((hx::Object *)a0, true))->set_status__fromC(a1);
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->statusText__fromC());
}
struct Data {
- struct {void * a0; enum snikket_message_status a1;} args;
+ 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 {
- (snikket::ChatMessage((hx::Object *)data->args.a0, true))->set_status__fromC(data->args.a1);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->statusText__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1020,20 +1035,21 @@ void snikket_chat_message_set_status(void *a0, enum snikket_message_status a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute set_status__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute statusText__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
-size_t snikket_chat_message_versions(void *a0, void ***a1) {
+size_t borogove_chat_message_versions(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessage((hx::Object *)a0, true))->versions__fromC(a1);
+ return (borogove::ChatMessage((hx::Object *)a0, true))->versions__fromC(a1);
}
struct Data {
struct {void * a0; void*** a1;} args;
@@ -1045,7 +1061,7 @@ size_t snikket_chat_message_versions(void *a0, void ***a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::ChatMessage((hx::Object *)data->args.a0, true))->versions__fromC(data->args.a1);
+ data->ret = (borogove::ChatMessage((hx::Object *)data->args.a0, true))->versions__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1055,7 +1071,7 @@ size_t snikket_chat_message_versions(void *a0, void ***a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0, a1} };
@@ -1067,9 +1083,9 @@ size_t snikket_chat_message_versions(void *a0, void ***a1) {
}
HAXE_C_BRIDGE_LINKAGE
-void *snikket_chat_message_reply(void *a0) {
+void *borogove_chat_message_encryption(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject((snikket::ChatMessage((hx::Object *)a0, true))->reply());
+ return HaxeCBridge::retainHaxeObject((borogove::ChatMessage((hx::Object *)a0, true))->encryption__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -1081,7 +1097,7 @@ void *snikket_chat_message_reply(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject((snikket::ChatMessage((hx::Object *)data->args.a0, true))->reply());
+ data->ret = HaxeCBridge::retainHaxeObject((borogove::ChatMessage((hx::Object *)data->args.a0, true))->encryption__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1091,33 +1107,33 @@ void *snikket_chat_message_reply(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute reply() on the main thread and wait until execution completes
+ // queue a callback to execute encryption__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 *snikket_chat_message_get_reply_id(void *a0) {
+void *borogove_chat_message_reply(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->getReplyId());
+ return HaxeCBridge::retainHaxeObject((borogove::ChatMessage((hx::Object *)a0, true))->reply());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- const char * ret;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->getReplyId());
+ data->ret = HaxeCBridge::retainHaxeObject((borogove::ChatMessage((hx::Object *)data->args.a0, true))->reply());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1127,24 +1143,24 @@ const char *snikket_chat_message_get_reply_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute getReplyId() on the main thread and wait until execution completes
+ // queue a callback to execute reply() 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 *snikket_chat_message_html(void *a0) {
+const char *borogove_chat_message_html(void *a0, void *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->html());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->html(Dynamic((hx::Object *)a1)));
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void * a1;} args;
HxSemaphore lock;
const char * ret;
};
@@ -1153,7 +1169,7 @@ const char *snikket_chat_message_html(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->html());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->html(Dynamic((hx::Object *)data->args.a1)));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1163,10 +1179,10 @@ const char *snikket_chat_message_html(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
// queue a callback to execute html() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
@@ -1175,9 +1191,9 @@ const char *snikket_chat_message_html(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_chat_id(void *a0) {
+const char *borogove_chat_message_chat_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->chatId());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->chatId());
}
struct Data {
struct {void * a0;} args;
@@ -1189,7 +1205,7 @@ const char *snikket_chat_message_chat_id(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->chatId());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->chatId());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1199,7 +1215,7 @@ const char *snikket_chat_message_chat_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1211,9 +1227,9 @@ const char *snikket_chat_message_chat_id(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_account(void *a0) {
+const char *borogove_chat_message_account(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->account());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->account());
}
struct Data {
struct {void * a0;} args;
@@ -1225,7 +1241,7 @@ const char *snikket_chat_message_account(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->account());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->account());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1235,7 +1251,7 @@ const char *snikket_chat_message_account(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1247,9 +1263,9 @@ const char *snikket_chat_message_account(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-bool snikket_chat_message_is_incoming(void *a0) {
+bool borogove_chat_message_is_incoming(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessage((hx::Object *)a0, true))->isIncoming();
+ return (borogove::ChatMessage((hx::Object *)a0, true))->isIncoming();
}
struct Data {
struct {void * a0;} args;
@@ -1261,7 +1277,7 @@ bool snikket_chat_message_is_incoming(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::ChatMessage((hx::Object *)data->args.a0, true))->isIncoming();
+ data->ret = (borogove::ChatMessage((hx::Object *)data->args.a0, true))->isIncoming();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1271,7 +1287,7 @@ bool snikket_chat_message_is_incoming(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1283,9 +1299,9 @@ bool snikket_chat_message_is_incoming(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_thread_icon(void *a0) {
+const char *borogove_chat_message_thread_icon(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->threadIcon());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->threadIcon());
}
struct Data {
struct {void * a0;} args;
@@ -1297,7 +1313,7 @@ const char *snikket_chat_message_thread_icon(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->threadIcon());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->threadIcon());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1307,7 +1323,7 @@ const char *snikket_chat_message_thread_icon(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1319,9 +1335,9 @@ const char *snikket_chat_message_thread_icon(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_call_status(void *a0) {
+const char *borogove_chat_message_call_status(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->callStatus());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->callStatus());
}
struct Data {
struct {void * a0;} args;
@@ -1333,7 +1349,7 @@ const char *snikket_chat_message_call_status(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->callStatus());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->callStatus());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1343,7 +1359,7 @@ const char *snikket_chat_message_call_status(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1355,9 +1371,9 @@ const char *snikket_chat_message_call_status(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_call_sid(void *a0) {
+const char *borogove_chat_message_call_sid(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->callSid());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->callSid());
}
struct Data {
struct {void * a0;} args;
@@ -1369,7 +1385,7 @@ const char *snikket_chat_message_call_sid(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->callSid());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->callSid());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1379,7 +1395,7 @@ const char *snikket_chat_message_call_sid(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1391,9 +1407,9 @@ const char *snikket_chat_message_call_sid(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_call_duration(void *a0) {
+const char *borogove_chat_message_call_duration(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)a0, true))->callDuration());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->callDuration());
}
struct Data {
struct {void * a0;} args;
@@ -1405,7 +1421,7 @@ const char *snikket_chat_message_call_duration(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessage((hx::Object *)data->args.a0, true))->callDuration());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->callDuration());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1415,7 +1431,7 @@ const char *snikket_chat_message_call_duration(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1427,9 +1443,9 @@ const char *snikket_chat_message_call_duration(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-void *snikket_chat_attachment_create(const char *a0, const char *a1, int a2, const char *a3) {
+void *borogove_chat_attachment_create(const char *a0, const char *a1, int a2, const char *a3) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject(snikket::ChatAttachment_obj::create(a0, a1, a2, a3));
+ return HaxeCBridge::retainHaxeObject(borogove::ChatAttachment_obj::create(a0, a1, a2, a3));
}
struct Data {
struct {const char * a0; const char * a1; int a2; const char * a3;} args;
@@ -1441,7 +1457,7 @@ void *snikket_chat_attachment_create(const char *a0, const char *a1, int a2, con
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject(snikket::ChatAttachment_obj::create(data->args.a0, data->args.a1, data->args.a2, data->args.a3));
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::ChatAttachment_obj::create(data->args.a0, data->args.a1, data->args.a2, data->args.a3));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1451,7 +1467,7 @@ void *snikket_chat_attachment_create(const char *a0, const char *a1, int a2, con
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0, a1, a2, a3} };
@@ -1463,9 +1479,9 @@ void *snikket_chat_attachment_create(const char *a0, const char *a1, int a2, con
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_attachment_name(void *a0) {
+const char *borogove_chat_attachment_name(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatAttachment((hx::Object *)a0, true))->name__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatAttachment((hx::Object *)a0, true))->name__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -1477,7 +1493,7 @@ const char *snikket_chat_attachment_name(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatAttachment((hx::Object *)data->args.a0, true))->name__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatAttachment((hx::Object *)data->args.a0, true))->name__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1487,7 +1503,7 @@ const char *snikket_chat_attachment_name(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1499,9 +1515,9 @@ const char *snikket_chat_attachment_name(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_attachment_mime(void *a0) {
+const char *borogove_chat_attachment_mime(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatAttachment((hx::Object *)a0, true))->mime__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatAttachment((hx::Object *)a0, true))->mime__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -1513,7 +1529,7 @@ const char *snikket_chat_attachment_mime(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatAttachment((hx::Object *)data->args.a0, true))->mime__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatAttachment((hx::Object *)data->args.a0, true))->mime__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1523,7 +1539,7 @@ const char *snikket_chat_attachment_mime(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1535,9 +1551,9 @@ const char *snikket_chat_attachment_mime(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-int snikket_chat_attachment_size(void *a0) {
+int borogove_chat_attachment_size(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatAttachment((hx::Object *)a0, true))->size__fromC();
+ return (borogove::ChatAttachment((hx::Object *)a0, true))->size__fromC();
}
struct Data {
struct {void * a0;} args;
@@ -1549,7 +1565,7 @@ int snikket_chat_attachment_size(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::ChatAttachment((hx::Object *)data->args.a0, true))->size__fromC();
+ data->ret = (borogove::ChatAttachment((hx::Object *)data->args.a0, true))->size__fromC();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1559,7 +1575,7 @@ int snikket_chat_attachment_size(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1571,9 +1587,9 @@ int snikket_chat_attachment_size(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-size_t snikket_chat_attachment_uris(void *a0, const char ***a1) {
+size_t borogove_chat_attachment_uris(void *a0, const char ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatAttachment((hx::Object *)a0, true))->uris__fromC(a1);
+ return (borogove::ChatAttachment((hx::Object *)a0, true))->uris__fromC(a1);
}
struct Data {
struct {void * a0; const char*** a1;} args;
@@ -1585,7 +1601,7 @@ size_t snikket_chat_attachment_uris(void *a0, const char ***a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::ChatAttachment((hx::Object *)data->args.a0, true))->uris__fromC(data->args.a1);
+ data->ret = (borogove::ChatAttachment((hx::Object *)data->args.a0, true))->uris__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1595,7 +1611,7 @@ size_t snikket_chat_attachment_uris(void *a0, const char ***a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0, a1} };
@@ -1607,9 +1623,9 @@ size_t snikket_chat_attachment_uris(void *a0, const char ***a1) {
}
HAXE_C_BRIDGE_LINKAGE
-size_t snikket_chat_attachment_hashes(void *a0, void ***a1) {
+size_t borogove_chat_attachment_hashes(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatAttachment((hx::Object *)a0, true))->hashes__fromC(a1);
+ return (borogove::ChatAttachment((hx::Object *)a0, true))->hashes__fromC(a1);
}
struct Data {
struct {void * a0; void*** a1;} args;
@@ -1621,7 +1637,7 @@ size_t snikket_chat_attachment_hashes(void *a0, void ***a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::ChatAttachment((hx::Object *)data->args.a0, true))->hashes__fromC(data->args.a1);
+ data->ret = (borogove::ChatAttachment((hx::Object *)data->args.a0, true))->hashes__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1631,7 +1647,7 @@ size_t snikket_chat_attachment_hashes(void *a0, void ***a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0, a1} };
@@ -1643,9 +1659,9 @@ size_t snikket_chat_attachment_hashes(void *a0, void ***a1) {
}
HAXE_C_BRIDGE_LINKAGE
-void *snikket_hash_from_hex(const char *a0, const char *a1) {
+void *borogove_hash_from_hex(const char *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject(snikket::Hash_obj::fromHex(a0, a1));
+ return HaxeCBridge::retainHaxeObject(borogove::Hash_obj::fromHex(a0, a1));
}
struct Data {
struct {const char * a0; const char * a1;} args;
@@ -1657,7 +1673,7 @@ void *snikket_hash_from_hex(const char *a0, const char *a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject(snikket::Hash_obj::fromHex(data->args.a0, data->args.a1));
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::Hash_obj::fromHex(data->args.a0, data->args.a1));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1667,7 +1683,7 @@ void *snikket_hash_from_hex(const char *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0, a1} };
@@ -1679,9 +1695,9 @@ void *snikket_hash_from_hex(const char *a0, const char *a1) {
}
HAXE_C_BRIDGE_LINKAGE
-void *snikket_hash_from_uri(const char *a0) {
+void *borogove_hash_from_uri(const char *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject(snikket::Hash_obj::fromUri(a0));
+ return HaxeCBridge::retainHaxeObject(borogove::Hash_obj::fromUri(a0));
}
struct Data {
struct {const char * a0;} args;
@@ -1693,7 +1709,7 @@ void *snikket_hash_from_uri(const char *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject(snikket::Hash_obj::fromUri(data->args.a0));
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::Hash_obj::fromUri(data->args.a0));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1703,7 +1719,7 @@ void *snikket_hash_from_uri(const char *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1715,9 +1731,9 @@ void *snikket_hash_from_uri(const char *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_hash_algorithm(void *a0) {
+const char *borogove_hash_algorithm(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Hash((hx::Object *)a0, true))->algorithm__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::Hash((hx::Object *)a0, true))->algorithm__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -1729,7 +1745,7 @@ const char *snikket_hash_algorithm(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Hash((hx::Object *)data->args.a0, true))->algorithm__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Hash((hx::Object *)data->args.a0, true))->algorithm__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1739,7 +1755,7 @@ const char *snikket_hash_algorithm(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1751,9 +1767,9 @@ const char *snikket_hash_algorithm(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_hash_to_uri(void *a0) {
+const char *borogove_hash_to_uri(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Hash((hx::Object *)a0, true))->toUri());
+ return HaxeCBridge::retainHaxeString((borogove::Hash((hx::Object *)a0, true))->toUri());
}
struct Data {
struct {void * a0;} args;
@@ -1765,7 +1781,7 @@ const char *snikket_hash_to_uri(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Hash((hx::Object *)data->args.a0, true))->toUri());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Hash((hx::Object *)data->args.a0, true))->toUri());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1775,7 +1791,7 @@ const char *snikket_hash_to_uri(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1787,9 +1803,9 @@ const char *snikket_hash_to_uri(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_hash_to_hex(void *a0) {
+const char *borogove_hash_to_hex(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Hash((hx::Object *)a0, true))->toHex());
+ return HaxeCBridge::retainHaxeString((borogove::Hash((hx::Object *)a0, true))->toHex());
}
struct Data {
struct {void * a0;} args;
@@ -1801,7 +1817,7 @@ const char *snikket_hash_to_hex(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Hash((hx::Object *)data->args.a0, true))->toHex());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Hash((hx::Object *)data->args.a0, true))->toHex());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1811,7 +1827,7 @@ const char *snikket_hash_to_hex(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1823,9 +1839,9 @@ const char *snikket_hash_to_hex(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_hash_to_base_64(void *a0) {
+const char *borogove_hash_to_base_64(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Hash((hx::Object *)a0, true))->toBase64());
+ return HaxeCBridge::retainHaxeString((borogove::Hash((hx::Object *)a0, true))->toBase64());
}
struct Data {
struct {void * a0;} args;
@@ -1837,7 +1853,7 @@ const char *snikket_hash_to_base_64(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Hash((hx::Object *)data->args.a0, true))->toBase64());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Hash((hx::Object *)data->args.a0, true))->toBase64());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1847,7 +1863,7 @@ const char *snikket_hash_to_base_64(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1859,9 +1875,9 @@ const char *snikket_hash_to_base_64(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_hash_to_base_64_url(void *a0) {
+const char *borogove_hash_to_base_64_url(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Hash((hx::Object *)a0, true))->toBase64Url());
+ return HaxeCBridge::retainHaxeString((borogove::Hash((hx::Object *)a0, true))->toBase64Url());
}
struct Data {
struct {void * a0;} args;
@@ -1873,7 +1889,7 @@ const char *snikket_hash_to_base_64_url(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Hash((hx::Object *)data->args.a0, true))->toBase64Url());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Hash((hx::Object *)data->args.a0, true))->toBase64Url());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1883,7 +1899,7 @@ const char *snikket_hash_to_base_64_url(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -1895,21 +1911,21 @@ const char *snikket_hash_to_base_64_url(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_reaction_sender_id(void *a0) {
+void *borogove_reaction_unicode(const char *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Reaction((hx::Object *)a0, true))->senderId__fromC());
+ return HaxeCBridge::retainHaxeObject(borogove::Reaction_obj::unicode(a0));
}
struct Data {
- struct {void * a0;} args;
+ struct {const char * a0;} args;
HxSemaphore lock;
- const char * ret;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Reaction((hx::Object *)data->args.a0, true))->senderId__fromC());
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::Reaction_obj::unicode(data->args.a0));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1919,21 +1935,21 @@ const char *snikket_reaction_sender_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute senderId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute unicode() 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 *snikket_reaction_timestamp(void *a0) {
+const char *borogove_reaction_sender_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Reaction((hx::Object *)a0, true))->timestamp__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::Reaction((hx::Object *)a0, true))->senderId__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -1945,7 +1961,7 @@ const char *snikket_reaction_timestamp(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Reaction((hx::Object *)data->args.a0, true))->timestamp__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Reaction((hx::Object *)data->args.a0, true))->senderId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1955,21 +1971,21 @@ const char *snikket_reaction_timestamp(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute timestamp__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute senderId__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 *snikket_reaction_text(void *a0) {
+const char *borogove_reaction_timestamp(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Reaction((hx::Object *)a0, true))->text__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::Reaction((hx::Object *)a0, true))->timestamp__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -1981,7 +1997,7 @@ const char *snikket_reaction_text(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Reaction((hx::Object *)data->args.a0, true))->text__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Reaction((hx::Object *)data->args.a0, true))->timestamp__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -1991,21 +2007,21 @@ const char *snikket_reaction_text(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute text__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute timestamp__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 *snikket_reaction_key(void *a0) {
+const char *borogove_reaction_key(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Reaction((hx::Object *)a0, true))->key__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::Reaction((hx::Object *)a0, true))->key__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -2017,7 +2033,7 @@ const char *snikket_reaction_key(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Reaction((hx::Object *)data->args.a0, true))->key__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Reaction((hx::Object *)data->args.a0, true))->key__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2027,7 +2043,7 @@ const char *snikket_reaction_key(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
@@ -2039,21 +2055,21 @@ const char *snikket_reaction_key(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_reaction_envelope_id(void *a0) {
+enum borogove_encryption_status borogove_encryption_info_status(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Reaction((hx::Object *)a0, true))->envelopeId__fromC());
+ return static_cast<enum borogove_encryption_status>((borogove::EncryptionInfo((hx::Object *)a0, true))->status__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- const char * ret;
+ enum borogove_encryption_status ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Reaction((hx::Object *)data->args.a0, true))->envelopeId__fromC());
+ data->ret = static_cast<enum borogove_encryption_status>((borogove::EncryptionInfo((hx::Object *)data->args.a0, true))->status__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2063,33 +2079,33 @@ const char *snikket_reaction_envelope_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute envelopeId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute status__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 *snikket_chat_message_builder_new() {
+const char *borogove_encryption_info_method(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject(snikket::ChatMessageBuilder_obj::__new());
+ return HaxeCBridge::retainHaxeString((borogove::EncryptionInfo((hx::Object *)a0, true))->method__fromC());
}
struct Data {
- struct {} args;
+ struct {void * a0;} args;
HxSemaphore lock;
- void * ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject(snikket::ChatMessageBuilder_obj::__new());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::EncryptionInfo((hx::Object *)data->args.a0, true))->method__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2099,21 +2115,21 @@ void *snikket_chat_message_builder_new() {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {} };
+ Data data = { {a0} };
- // queue a callback to execute new() on the main thread and wait until execution completes
+ // queue a callback to execute method__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 *snikket_chat_message_builder_local_id(void *a0) {
+const char *borogove_encryption_info_method_name(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)a0, true))->localId__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::EncryptionInfo((hx::Object *)a0, true))->methodName__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -2125,7 +2141,7 @@ const char *snikket_chat_message_builder_local_id(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->localId__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::EncryptionInfo((hx::Object *)data->args.a0, true))->methodName__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2135,32 +2151,33 @@ const char *snikket_chat_message_builder_local_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute localId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute methodName__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 snikket_chat_message_builder_set_local_id(void *a0, const char *a1) {
+const char *borogove_encryption_info_reason(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->set_localId__fromC(a1);
+ return HaxeCBridge::retainHaxeString((borogove::EncryptionInfo((hx::Object *)a0, true))->reason__fromC());
}
struct Data {
- struct {void * a0; const char * a1;} args;
+ 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 {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_localId__fromC(data->args.a1);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::EncryptionInfo((hx::Object *)data->args.a0, true))->reason__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2170,20 +2187,21 @@ void snikket_chat_message_builder_set_local_id(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute set_localId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute reason__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 *snikket_chat_message_builder_server_id(void *a0) {
+const char *borogove_encryption_info_reason_text(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)a0, true))->serverId__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::EncryptionInfo((hx::Object *)a0, true))->reasonText__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -2195,7 +2213,7 @@ const char *snikket_chat_message_builder_server_id(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->serverId__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::EncryptionInfo((hx::Object *)data->args.a0, true))->reasonText__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2205,32 +2223,33 @@ const char *snikket_chat_message_builder_server_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute serverId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute reasonText__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 snikket_chat_message_builder_set_server_id(void *a0, const char *a1) {
+void *borogove_chat_message_builder_new() {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->set_serverId__fromC(a1);
+ return HaxeCBridge::retainHaxeObject(borogove::ChatMessageBuilder_obj::__new());
}
struct Data {
- struct {void * a0; const char * a1;} args;
+ struct {} args;
HxSemaphore lock;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_serverId__fromC(data->args.a1);
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::ChatMessageBuilder_obj::__new());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2240,20 +2259,21 @@ void snikket_chat_message_builder_set_server_id(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {} };
- // queue a callback to execute set_serverId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute new() 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 *snikket_chat_message_builder_server_id_by(void *a0) {
+const char *borogove_chat_message_builder_local_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)a0, true))->serverIdBy__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->localId__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -2265,7 +2285,7 @@ const char *snikket_chat_message_builder_server_id_by(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->serverIdBy__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->localId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2275,21 +2295,21 @@ const char *snikket_chat_message_builder_server_id_by(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute serverIdBy__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute localId__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 snikket_chat_message_builder_set_server_id_by(void *a0, const char *a1) {
+void borogove_chat_message_builder_set_local_id(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->set_serverIdBy__fromC(a1);
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_localId__fromC(a1);
}
struct Data {
struct {void * a0; const char * a1;} args;
@@ -2300,7 +2320,7 @@ void snikket_chat_message_builder_set_server_id_by(void *a0, const char *a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_serverIdBy__fromC(data->args.a1);
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_localId__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2310,32 +2330,32 @@ void snikket_chat_message_builder_set_server_id_by(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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_serverIdBy__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set_localId__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-enum snikket_message_type snikket_chat_message_builder_type(void *a0) {
+const char *borogove_chat_message_builder_server_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return static_cast<enum snikket_message_type>((snikket::ChatMessageBuilder((hx::Object *)a0, true))->type__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->serverId__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- enum snikket_message_type ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = static_cast<enum snikket_message_type>((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->type__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->serverId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2345,24 +2365,24 @@ enum snikket_message_type snikket_chat_message_builder_type(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute type__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute serverId__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 snikket_chat_message_builder_set_type(void *a0, enum snikket_message_type a1) {
+void borogove_chat_message_builder_set_server_id(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->set_type__fromC(a1);
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_serverId__fromC(a1);
}
struct Data {
- struct {void * a0; enum snikket_message_type a1;} args;
+ struct {void * a0; const char * a1;} args;
HxSemaphore lock;
};
struct Callback {
@@ -2370,7 +2390,7 @@ void snikket_chat_message_builder_set_type(void *a0, enum snikket_message_type a
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_type__fromC(data->args.a1);
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_serverId__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2380,20 +2400,20 @@ void snikket_chat_message_builder_set_type(void *a0, enum snikket_message_type a
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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_type__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set_serverId__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_builder_timestamp(void *a0) {
+const char *borogove_chat_message_builder_server_id_by(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)a0, true))->timestamp__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->serverIdBy__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -2405,7 +2425,7 @@ const char *snikket_chat_message_builder_timestamp(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->timestamp__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->serverIdBy__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2415,21 +2435,21 @@ const char *snikket_chat_message_builder_timestamp(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute timestamp__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute serverIdBy__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 snikket_chat_message_builder_set_timestamp(void *a0, const char *a1) {
+void borogove_chat_message_builder_set_server_id_by(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->set_timestamp__fromC(a1);
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_serverIdBy__fromC(a1);
}
struct Data {
struct {void * a0; const char * a1;} args;
@@ -2440,7 +2460,7 @@ void snikket_chat_message_builder_set_timestamp(void *a0, const char *a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_timestamp__fromC(data->args.a1);
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_serverIdBy__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2450,32 +2470,32 @@ void snikket_chat_message_builder_set_timestamp(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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_timestamp__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set_serverIdBy__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_builder_sender_id(void *a0) {
+enum borogove_message_type borogove_chat_message_builder_type(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)a0, true))->senderId__fromC());
+ return static_cast<enum borogove_message_type>((borogove::ChatMessageBuilder((hx::Object *)a0, true))->type__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- const char * ret;
+ enum borogove_message_type ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->senderId__fromC());
+ data->ret = static_cast<enum borogove_message_type>((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->type__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2485,24 +2505,24 @@ const char *snikket_chat_message_builder_sender_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute senderId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute type__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 snikket_chat_message_builder_set_sender_id(void *a0, const char *a1) {
+void borogove_chat_message_builder_set_type(void *a0, enum borogove_message_type a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->set_senderId__fromC(a1);
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_type__fromC(a1);
}
struct Data {
- struct {void * a0; const char * a1;} args;
+ struct {void * a0; enum borogove_message_type a1;} args;
HxSemaphore lock;
};
struct Callback {
@@ -2510,7 +2530,7 @@ void snikket_chat_message_builder_set_sender_id(void *a0, const char *a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_senderId__fromC(data->args.a1);
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_type__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2520,32 +2540,32 @@ void snikket_chat_message_builder_set_sender_id(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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_senderId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set_type__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void *snikket_chat_message_builder_reply_to_message(void *a0) {
+const char *borogove_chat_message_builder_timestamp(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject((snikket::ChatMessageBuilder((hx::Object *)a0, true))->replyToMessage__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->timestamp__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- void * ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->replyToMessage__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->timestamp__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2555,24 +2575,24 @@ void *snikket_chat_message_builder_reply_to_message(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute replyToMessage__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute timestamp__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 snikket_chat_message_builder_set_reply_to_message(void *a0, void *a1) {
+void borogove_chat_message_builder_set_timestamp(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->set_replyToMessage__fromC(Dynamic((hx::Object *)a1));
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_timestamp__fromC(a1);
}
struct Data {
- struct {void * a0; void * a1;} args;
+ struct {void * a0; const char * a1;} args;
HxSemaphore lock;
};
struct Callback {
@@ -2580,7 +2600,7 @@ void snikket_chat_message_builder_set_reply_to_message(void *a0, void *a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_replyToMessage__fromC(Dynamic((hx::Object *)data->args.a1));
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_timestamp__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2590,20 +2610,20 @@ void snikket_chat_message_builder_set_reply_to_message(void *a0, void *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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_replyToMessage__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set_timestamp__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_builder_thread_id(void *a0) {
+const char *borogove_chat_message_builder_sender_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)a0, true))->threadId__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->senderId__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -2615,7 +2635,7 @@ const char *snikket_chat_message_builder_thread_id(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->threadId__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->senderId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2625,21 +2645,21 @@ const char *snikket_chat_message_builder_thread_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute threadId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute senderId__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 snikket_chat_message_builder_set_thread_id(void *a0, const char *a1) {
+void borogove_chat_message_builder_set_sender_id(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->set_threadId__fromC(a1);
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_senderId__fromC(a1);
}
struct Data {
struct {void * a0; const char * a1;} args;
@@ -2650,7 +2670,7 @@ void snikket_chat_message_builder_set_thread_id(void *a0, const char *a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_threadId__fromC(data->args.a1);
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_senderId__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2660,32 +2680,32 @@ void snikket_chat_message_builder_set_thread_id(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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_threadId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set_senderId__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-size_t snikket_chat_message_builder_attachments(void *a0, void ***a1) {
+void *borogove_chat_message_builder_reply_to_message(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->attachments__fromC(a1);
+ return HaxeCBridge::retainHaxeObject((borogove::ChatMessageBuilder((hx::Object *)a0, true))->replyToMessage__fromC());
}
struct Data {
- struct {void * a0; void*** a1;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
- size_t ret;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->attachments__fromC(data->args.a1);
+ data->ret = HaxeCBridge::retainHaxeObject((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->replyToMessage__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2695,33 +2715,32 @@ size_t snikket_chat_message_builder_attachments(void *a0, void ***a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute attachments__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute replyToMessage__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 *snikket_chat_message_builder_text(void *a0) {
+void borogove_chat_message_builder_set_reply_to_message(void *a0, void *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)a0, true))->text__fromC());
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_replyToMessage__fromC(Dynamic((hx::Object *)a1));
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void * a1;} 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((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->text__fromC());
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_replyToMessage__fromC(Dynamic((hx::Object *)data->args.a1));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2731,32 +2750,32 @@ const char *snikket_chat_message_builder_text(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute text__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set_replyToMessage__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 snikket_chat_message_builder_set_text(void *a0, const char *a1) {
+const char *borogove_chat_message_builder_thread_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->set_text__fromC(a1);
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->threadId__fromC());
}
struct Data {
- struct {void * a0; const char * a1;} args;
+ 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 {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_text__fromC(data->args.a1);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->threadId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2766,32 +2785,32 @@ void snikket_chat_message_builder_set_text(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute set_text__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute threadId__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 *snikket_chat_message_builder_lang(void *a0) {
+void borogove_chat_message_builder_set_thread_id(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)a0, true))->lang__fromC());
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_threadId__fromC(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; const char * a1;} 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((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->lang__fromC());
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_threadId__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2801,32 +2820,32 @@ const char *snikket_chat_message_builder_lang(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute lang__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set_threadId__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 snikket_chat_message_builder_set_lang(void *a0, const char *a1) {
+size_t borogove_chat_message_builder_attachments(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->set_lang__fromC(a1);
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->attachments__fromC(a1);
}
struct Data {
- struct {void * a0; const char * a1;} args;
+ struct {void * a0; void*** a1;} args;
HxSemaphore lock;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_lang__fromC(data->args.a1);
+ data->ret = (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->attachments__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2836,32 +2855,33 @@ void snikket_chat_message_builder_set_lang(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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_lang__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute attachments__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
-enum snikket_message_direction snikket_chat_message_builder_direction(void *a0) {
+const char *borogove_chat_message_builder_text(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return static_cast<enum snikket_message_direction>((snikket::ChatMessageBuilder((hx::Object *)a0, true))->direction__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->text__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- enum snikket_message_direction ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = static_cast<enum snikket_message_direction>((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->direction__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->text__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2871,24 +2891,24 @@ enum snikket_message_direction snikket_chat_message_builder_direction(void *a0)
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute direction__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute text__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 snikket_chat_message_builder_set_direction(void *a0, enum snikket_message_direction a1) {
+void borogove_chat_message_builder_set_text(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->set_direction__fromC(a1);
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_text__fromC(a1);
}
struct Data {
- struct {void * a0; enum snikket_message_direction a1;} args;
+ struct {void * a0; const char * a1;} args;
HxSemaphore lock;
};
struct Callback {
@@ -2896,7 +2916,7 @@ void snikket_chat_message_builder_set_direction(void *a0, enum snikket_message_d
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_direction__fromC(data->args.a1);
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_text__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2906,32 +2926,32 @@ void snikket_chat_message_builder_set_direction(void *a0, enum snikket_message_d
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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_direction__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set_text__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-enum snikket_message_status snikket_chat_message_builder_status(void *a0) {
+const char *borogove_chat_message_builder_lang(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return static_cast<enum snikket_message_status>((snikket::ChatMessageBuilder((hx::Object *)a0, true))->status__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->lang__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- enum snikket_message_status ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = static_cast<enum snikket_message_status>((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->status__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->lang__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2941,24 +2961,24 @@ enum snikket_message_status snikket_chat_message_builder_status(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute status__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute lang__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 snikket_chat_message_builder_set_status(void *a0, enum snikket_message_status a1) {
+void borogove_chat_message_builder_set_lang(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->set_status__fromC(a1);
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_lang__fromC(a1);
}
struct Data {
- struct {void * a0; enum snikket_message_status a1;} args;
+ struct {void * a0; const char * a1;} args;
HxSemaphore lock;
};
struct Callback {
@@ -2966,7 +2986,7 @@ void snikket_chat_message_builder_set_status(void *a0, enum snikket_message_stat
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_status__fromC(data->args.a1);
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_lang__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -2976,31 +2996,32 @@ void snikket_chat_message_builder_set_status(void *a0, enum snikket_message_stat
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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_status__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set_lang__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_chat_message_builder_set_versions(void *a0, void *const *a1, size_t a2) {
+enum borogove_message_direction borogove_chat_message_builder_direction(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->set_versions__fromC(a1, a2);
+ return static_cast<enum borogove_message_direction>((borogove::ChatMessageBuilder((hx::Object *)a0, true))->direction__fromC());
}
struct Data {
- struct {void * a0; void* const* a1; size_t a2;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
+ enum borogove_message_direction ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_versions__fromC(data->args.a1, data->args.a2);
+ data->ret = static_cast<enum borogove_message_direction>((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->direction__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3010,32 +3031,32 @@ void snikket_chat_message_builder_set_versions(void *a0, void *const *a1, size_t
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute set_versions__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute direction__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
-size_t snikket_chat_message_builder_versions(void *a0, void ***a1) {
+void borogove_chat_message_builder_set_direction(void *a0, enum borogove_message_direction a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->versions__fromC(a1);
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_direction__fromC(a1);
}
struct Data {
- struct {void * a0; void*** a1;} args;
+ struct {void * a0; enum borogove_message_direction a1;} 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 = (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->versions__fromC(data->args.a1);
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_direction__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3045,32 +3066,32 @@ size_t snikket_chat_message_builder_versions(void *a0, void ***a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 versions__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set_direction__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 snikket_chat_message_builder_add_attachment(void *a0, void *a1) {
+enum borogove_message_status borogove_chat_message_builder_status(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->addAttachment(Dynamic((hx::Object *)a1));
+ return static_cast<enum borogove_message_status>((borogove::ChatMessageBuilder((hx::Object *)a0, true))->status__fromC());
}
struct Data {
- struct {void * a0; void * a1;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
+ enum borogove_message_status ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->addAttachment(Dynamic((hx::Object *)data->args.a1));
+ data->ret = static_cast<enum borogove_message_status>((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->status__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3080,23 +3101,24 @@ void snikket_chat_message_builder_add_attachment(void *a0, void *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute addAttachment() on the main thread and wait until execution completes
+ // queue a callback to execute status__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 snikket_chat_message_builder_set_html(void *a0, const char *a1) {
+void borogove_chat_message_builder_set_status(void *a0, enum borogove_message_status a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->setHtml(a1);
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_status__fromC(a1);
}
struct Data {
- struct {void * a0; const char * a1;} args;
+ struct {void * a0; enum borogove_message_status a1;} args;
HxSemaphore lock;
};
struct Callback {
@@ -3104,7 +3126,7 @@ void snikket_chat_message_builder_set_html(void *a0, const char *a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->setHtml(data->args.a1);
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_status__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3114,20 +3136,20 @@ void snikket_chat_message_builder_set_html(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 setHtml() on the main thread and wait until execution completes
+ // queue a callback to execute set_status__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-const char *snikket_chat_message_builder_chat_id(void *a0) {
+const char *borogove_chat_message_builder_status_text(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)a0, true))->chatId());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->statusText__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -3139,7 +3161,7 @@ const char *snikket_chat_message_builder_chat_id(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->chatId());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->statusText__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3149,33 +3171,32 @@ const char *snikket_chat_message_builder_chat_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute chatId() on the main thread and wait until execution completes
+ // queue a callback to execute statusText__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 *snikket_chat_message_builder_get_sender_id(void *a0) {
+void borogove_chat_message_builder_set_status_text(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::ChatMessageBuilder((hx::Object *)a0, true))->get_senderId());
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_statusText__fromC(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; const char * a1;} 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((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->get_senderId());
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_statusText__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3185,33 +3206,31 @@ const char *snikket_chat_message_builder_get_sender_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute get_senderId() on the main thread and wait until execution completes
+ // queue a callback to execute set_statusText__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
-bool snikket_chat_message_builder_is_incoming(void *a0) {
+void borogove_chat_message_builder_set_versions(void *a0, void *const *a1, size_t a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::ChatMessageBuilder((hx::Object *)a0, true))->isIncoming();
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_versions__fromC(a1, a2);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void* const* a1; size_t 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 = (snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->isIncoming();
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_versions__fromC(data->args.a1, data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3221,33 +3240,32 @@ bool snikket_chat_message_builder_is_incoming(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1, a2} };
- // queue a callback to execute isIncoming() on the main thread and wait until execution completes
+ // queue a callback to execute set_versions__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 *snikket_chat_message_builder_build(void *a0) {
+size_t borogove_chat_message_builder_versions(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject((snikket::ChatMessageBuilder((hx::Object *)a0, true))->build());
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->versions__fromC(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void*** a1;} args;
HxSemaphore lock;
- void * ret;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject((snikket::ChatMessageBuilder((hx::Object *)data->args.a0, true))->build());
+ data->ret = (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->versions__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3257,24 +3275,24 @@ void *snikket_chat_message_builder_build(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute build() on the main thread and wait until execution completes
+ // queue a callback to execute versions__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 *snikket_persistence_dummy_new() {
+void *borogove_chat_message_builder_encryption(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject(snikket::persistence::Dummy_obj::__new());
+ return HaxeCBridge::retainHaxeObject((borogove::ChatMessageBuilder((hx::Object *)a0, true))->encryption__fromC());
}
struct Data {
- struct {} args;
+ struct {void * a0;} args;
HxSemaphore lock;
void * ret;
};
@@ -3283,7 +3301,7 @@ void *snikket_persistence_dummy_new() {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject(snikket::persistence::Dummy_obj::__new());
+ data->ret = HaxeCBridge::retainHaxeObject((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->encryption__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3293,33 +3311,32 @@ void *snikket_persistence_dummy_new() {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {} };
+ Data data = { {a0} };
- // queue a callback to execute new() on the main thread and wait until execution completes
+ // queue a callback to execute encryption__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 *snikket_push_receive(const char *a0, void *a1) {
+void borogove_chat_message_builder_set_encryption(void *a0, void *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject(snikket::Push_obj::receive(a0, Dynamic((hx::Object *)a1)));
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_encryption__fromC(Dynamic((hx::Object *)a1));
}
struct Data {
- struct {const char * a0; void * a1;} args;
+ struct {void * a0; void * a1;} 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(snikket::Push_obj::receive(data->args.a0, Dynamic((hx::Object *)data->args.a1)));
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_encryption__fromC(Dynamic((hx::Object *)data->args.a1));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3329,33 +3346,31 @@ void *snikket_push_receive(const char *a0, void *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 receive() on the main thread and wait until execution completes
+ // queue a callback to execute set_encryption__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 *snikket_notification_title(void *a0) {
+void borogove_chat_message_builder_add_attachment(void *a0, void *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)a0, true))->title__fromC());
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->addAttachment(Dynamic((hx::Object *)a1));
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void * a1;} 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((snikket::Notification((hx::Object *)data->args.a0, true))->title__fromC());
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->addAttachment(Dynamic((hx::Object *)data->args.a1));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3365,33 +3380,31 @@ const char *snikket_notification_title(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute title__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute addAttachment() 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 *snikket_notification_body(void *a0) {
+void borogove_chat_message_builder_set_html(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)a0, true))->body__fromC());
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->setHtml(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; const char * a1;} 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((snikket::Notification((hx::Object *)data->args.a0, true))->body__fromC());
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->setHtml(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3401,21 +3414,20 @@ const char *snikket_notification_body(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute body__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute setHtml() 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 *snikket_notification_account_id(void *a0) {
+const char *borogove_chat_message_builder_chat_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)a0, true))->accountId__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->chatId());
}
struct Data {
struct {void * a0;} args;
@@ -3427,7 +3439,7 @@ const char *snikket_notification_account_id(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)data->args.a0, true))->accountId__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->chatId());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3437,21 +3449,21 @@ const char *snikket_notification_account_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute accountId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute chatId() 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 *snikket_notification_chat_id(void *a0) {
+const char *borogove_chat_message_builder_get_sender_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)a0, true))->chatId__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->get_senderId());
}
struct Data {
struct {void * a0;} args;
@@ -3463,7 +3475,7 @@ const char *snikket_notification_chat_id(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)data->args.a0, true))->chatId__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->get_senderId());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3473,33 +3485,33 @@ const char *snikket_notification_chat_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute chatId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute get_senderId() 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 *snikket_notification_sender_id(void *a0) {
+void *borogove_chat_message_builder_build(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)a0, true))->senderId__fromC());
+ return HaxeCBridge::retainHaxeObject((borogove::ChatMessageBuilder((hx::Object *)a0, true))->build());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- const char * ret;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)data->args.a0, true))->senderId__fromC());
+ data->ret = HaxeCBridge::retainHaxeObject((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->build());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3509,21 +3521,21 @@ const char *snikket_notification_sender_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute senderId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute build() 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 *snikket_notification_message_id(void *a0) {
+const char *borogove_participant_display_name(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)a0, true))->messageId__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::Participant((hx::Object *)a0, true))->displayName__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -3535,7 +3547,7 @@ const char *snikket_notification_message_id(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)data->args.a0, true))->messageId__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Participant((hx::Object *)data->args.a0, true))->displayName__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3545,33 +3557,33 @@ const char *snikket_notification_message_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute messageId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute displayName__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
-enum snikket_message_type snikket_notification_type(void *a0) {
+const char *borogove_participant_photo_uri(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return static_cast<enum snikket_message_type>((snikket::Notification((hx::Object *)a0, true))->type__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::Participant((hx::Object *)a0, true))->photoUri__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- enum snikket_message_type ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = static_cast<enum snikket_message_type>((snikket::Notification((hx::Object *)data->args.a0, true))->type__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Participant((hx::Object *)data->args.a0, true))->photoUri__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3581,21 +3593,21 @@ enum snikket_message_type snikket_notification_type(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute type__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute photoUri__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 *snikket_notification_call_status(void *a0) {
+const char *borogove_participant_placeholder_uri(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)a0, true))->callStatus__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::Participant((hx::Object *)a0, true))->placeholderUri__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -3607,7 +3619,7 @@ const char *snikket_notification_call_status(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)data->args.a0, true))->callStatus__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Participant((hx::Object *)data->args.a0, true))->placeholderUri__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3617,33 +3629,33 @@ const char *snikket_notification_call_status(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute callStatus__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute placeholderUri__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 *snikket_notification_call_sid(void *a0) {
+bool borogove_participant_is_self(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)a0, true))->callSid__fromC());
+ return (borogove::Participant((hx::Object *)a0, true))->isSelf__fromC();
}
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((snikket::Notification((hx::Object *)data->args.a0, true))->callSid__fromC());
+ data->ret = (borogove::Participant((hx::Object *)data->args.a0, true))->isSelf__fromC();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3653,33 +3665,32 @@ const char *snikket_notification_call_sid(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute callSid__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute isSelf__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 *snikket_notification_image_uri(void *a0) {
+void borogove_participant_profile(void *a0, void *a1, void (*a2) (void*, void *handler__context), void *a3) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)a0, true))->imageUri__fromC());
+ return (borogove::Participant((hx::Object *)a0, true))->profile__fromC(Dynamic((hx::Object *)a1), cpp::Function<void(void*, void * handler__context)>(a2), a3);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void * a1; void (* a2) (void*, void * handler__context); void* a3;} 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((snikket::Notification((hx::Object *)data->args.a0, true))->imageUri__fromC());
+ (borogove::Participant((hx::Object *)data->args.a0, true))->profile__fromC(Dynamic((hx::Object *)data->args.a1), cpp::Function<void(void*, void * handler__context)>(data->args.a2), data->args.a3);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3689,33 +3700,32 @@ const char *snikket_notification_image_uri(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1, a2, a3} };
- // queue a callback to execute imageUri__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute profile__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 *snikket_notification_lang(void *a0) {
+size_t borogove_profile_items(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)a0, true))->lang__fromC());
+ return (borogove::Profile((hx::Object *)a0, true))->items__fromC(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void*** a1;} args;
HxSemaphore lock;
- const char * ret;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)data->args.a0, true))->lang__fromC());
+ data->ret = (borogove::Profile((hx::Object *)data->args.a0, true))->items__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3725,21 +3735,21 @@ const char *snikket_notification_lang(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute lang__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute items__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 *snikket_notification_timestamp(void *a0) {
+const char *borogove_profile_item_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)a0, true))->timestamp__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ProfileItem((hx::Object *)a0, true))->id__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -3751,7 +3761,7 @@ const char *snikket_notification_timestamp(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Notification((hx::Object *)data->args.a0, true))->timestamp__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ProfileItem((hx::Object *)data->args.a0, true))->id__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3761,33 +3771,33 @@ const char *snikket_notification_timestamp(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute timestamp__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute id__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 *snikket_client_new(const char *a0, void *a1) {
+const char *borogove_profile_item_key(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject(snikket::Client_obj::__new(a0, Dynamic((hx::Object *)a1)));
+ return HaxeCBridge::retainHaxeString((borogove::ProfileItem((hx::Object *)a0, true))->key__fromC());
}
struct Data {
- struct {const char * a0; void * a1;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
- void * ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject(snikket::Client_obj::__new(data->args.a0, Dynamic((hx::Object *)data->args.a1)));
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ProfileItem((hx::Object *)data->args.a0, true))->key__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3797,32 +3807,33 @@ void *snikket_client_new(const char *a0, void *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute new() on the main thread and wait until execution completes
+ // queue a callback to execute key__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 snikket_client_set_send_available(void *a0, bool a1) {
+size_t borogove_profile_item_parameters(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->set_sendAvailable__fromC(a1);
+ return (borogove::ProfileItem((hx::Object *)a0, true))->parameters__fromC(a1);
}
struct Data {
- struct {void * a0; bool a1;} args;
+ struct {void * a0; void*** a1;} args;
HxSemaphore lock;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->set_sendAvailable__fromC(data->args.a1);
+ data->ret = (borogove::ProfileItem((hx::Object *)data->args.a0, true))->parameters__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3832,31 +3843,33 @@ void snikket_client_set_send_available(void *a0, bool a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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_sendAvailable__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute parameters__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 snikket_client_start(void *a0) {
+size_t borogove_profile_item_text(void *a0, const char ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->start();
+ return (borogove::ProfileItem((hx::Object *)a0, true))->text__fromC(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; const char*** a1;} args;
HxSemaphore lock;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->start();
+ data->ret = (borogove::ProfileItem((hx::Object *)data->args.a0, true))->text__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3866,31 +3879,33 @@ void snikket_client_start(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute start() on the main thread and wait until execution completes
+ // queue a callback to execute text__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 snikket_client_start_offline(void *a0, void (*a1) (void*), void *a2) {
+size_t borogove_profile_item_uri(void *a0, const char ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->startOffline__fromC(cpp::Function<void(void*)>(a1), a2);
+ return (borogove::ProfileItem((hx::Object *)a0, true))->uri__fromC(a1);
}
struct Data {
- struct {void * a0; void (* a1) (void*); void* a2;} args;
+ struct {void * a0; const char*** a1;} args;
HxSemaphore lock;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->startOffline__fromC(cpp::Function<void(void*)>(data->args.a1), data->args.a2);
+ data->ret = (borogove::ProfileItem((hx::Object *)data->args.a0, true))->uri__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3900,31 +3915,33 @@ void snikket_client_start_offline(void *a0, void (*a1) (void*), void *a2) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0, a1} };
- // queue a callback to execute startOffline__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute uri__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 snikket_client_logout(void *a0, bool a1) {
+size_t borogove_profile_item_date(void *a0, const char ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->logout(a1);
+ return (borogove::ProfileItem((hx::Object *)a0, true))->date__fromC(a1);
}
struct Data {
- struct {void * a0; bool a1;} args;
+ struct {void * a0; const char*** a1;} args;
HxSemaphore lock;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->logout(data->args.a1);
+ data->ret = (borogove::ProfileItem((hx::Object *)data->args.a0, true))->date__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3934,31 +3951,33 @@ void snikket_client_logout(void *a0, bool a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 logout() on the main thread and wait until execution completes
+ // queue a callback to execute date__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 snikket_client_use_password(void *a0, const char *a1) {
+size_t borogove_profile_item_time(void *a0, const char ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->usePassword(a1);
+ return (borogove::ProfileItem((hx::Object *)a0, true))->time__fromC(a1);
}
struct Data {
- struct {void * a0; const char * a1;} args;
+ struct {void * a0; const char*** a1;} args;
HxSemaphore lock;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->usePassword(data->args.a1);
+ data->ret = (borogove::ProfileItem((hx::Object *)data->args.a0, true))->time__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3968,20 +3987,165 @@ void snikket_client_use_password(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 usePassword() on the main thread and wait until execution completes
+ // queue a callback to execute time__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
+size_t borogove_profile_item_datetime(void *a0, const char ***a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::ProfileItem((hx::Object *)a0, true))->datetime__fromC(a1);
+ }
+ struct Data {
+ struct {void * a0; const char*** a1;} 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::ProfileItem((hx::Object *)data->args.a0, true))->datetime__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 datetime__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
+size_t borogove_profile_item_language_tag(void *a0, const char ***a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::ProfileItem((hx::Object *)a0, true))->languageTag__fromC(a1);
+ }
+ struct Data {
+ struct {void * a0; const char*** a1;} 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::ProfileItem((hx::Object *)data->args.a0, true))->languageTag__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 languageTag__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_persistence_dummy_new() {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeObject(borogove::persistence::Dummy_obj::__new());
+ }
+ 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::persistence::Dummy_obj::__new());
+ 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 new() 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_push_receive(const char *a0, void *a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeObject(borogove::Push_obj::receive(a0, Dynamic((hx::Object *)a1)));
+ }
+ struct Data {
+ struct {const char * a0; void * a1;} 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::Push_obj::receive(data->args.a0, 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 receive() 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 *snikket_client_account_id(void *a0) {
+const char *borogove_notification_title(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Client((hx::Object *)a0, true))->accountId());
+ return HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)a0, true))->title__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -3993,7 +4157,7 @@ const char *snikket_client_account_id(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Client((hx::Object *)data->args.a0, true))->accountId());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)data->args.a0, true))->title__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4003,21 +4167,21 @@ const char *snikket_client_account_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute accountId() on the main thread and wait until execution completes
+ // queue a callback to execute title__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 *snikket_client_display_name(void *a0) {
+const char *borogove_notification_body(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Client((hx::Object *)a0, true))->displayName());
+ return HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)a0, true))->body__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -4029,7 +4193,7 @@ const char *snikket_client_display_name(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Client((hx::Object *)data->args.a0, true))->displayName());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)data->args.a0, true))->body__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4039,32 +4203,33 @@ const char *snikket_client_display_name(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute displayName() on the main thread and wait until execution completes
+ // queue a callback to execute body__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 snikket_client_set_display_name(void *a0, const char *a1) {
+const char *borogove_notification_account_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->setDisplayName(a1);
+ return HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)a0, true))->accountId__fromC());
}
struct Data {
- struct {void * a0; const char * a1;} args;
+ 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 {
- (snikket::Client((hx::Object *)data->args.a0, true))->setDisplayName(data->args.a1);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)data->args.a0, true))->accountId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4074,31 +4239,33 @@ void snikket_client_set_display_name(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute setDisplayName() on the main thread and wait until execution completes
+ // queue a callback to execute accountId__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 snikket_client_prepare_attachment(void *a0, void *a1, void (*a2) (void*, void*), void *a3) {
+const char *borogove_notification_chat_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->prepareAttachment__fromC(Dynamic((hx::Object *)a1), cpp::Function<void(void*, void*)>(a2), a3);
+ return HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)a0, true))->chatId__fromC());
}
struct Data {
- struct {void * a0; void * a1; void (* a2) (void*, void*); void* a3;} args;
+ 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 {
- (snikket::Client((hx::Object *)data->args.a0, true))->prepareAttachment__fromC(Dynamic((hx::Object *)data->args.a1), cpp::Function<void(void*, void*)>(data->args.a2), data->args.a3);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)data->args.a0, true))->chatId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4108,32 +4275,33 @@ void snikket_client_prepare_attachment(void *a0, void *a1, void (*a2) (void*, vo
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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} };
- // queue a callback to execute prepareAttachment__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute chatId__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
-size_t snikket_client_get_chats(void *a0, void ***a1) {
+const char *borogove_notification_sender_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->getChats__fromC(a1);
+ return HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)a0, true))->senderId__fromC());
}
struct Data {
- struct {void * a0; void*** a1;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
- size_t ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::Client((hx::Object *)data->args.a0, true))->getChats__fromC(data->args.a1);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)data->args.a0, true))->senderId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4143,32 +4311,33 @@ size_t snikket_client_get_chats(void *a0, void ***a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute getChats__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute senderId__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 snikket_client_find_available_chats(void *a0, const char *a1, void (*a2) (const char*, void**, size_t, void*), void *a3) {
+const char *borogove_notification_message_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->findAvailableChats__fromC(a1, cpp::Function<void(const char*, void**, size_t, void*)>(a2), a3);
+ return HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)a0, true))->messageId__fromC());
}
struct Data {
- struct {void * a0; const char * a1; void (* a2) (const char*, void**, size_t, void*); void* a3;} args;
+ 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 {
- (snikket::Client((hx::Object *)data->args.a0, true))->findAvailableChats__fromC(data->args.a1, cpp::Function<void(const char*, void**, size_t, void*)>(data->args.a2), data->args.a3);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)data->args.a0, true))->messageId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4178,32 +4347,33 @@ void snikket_client_find_available_chats(void *a0, const char *a1, void (*a2) (c
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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} };
- // queue a callback to execute findAvailableChats__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute messageId__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 *snikket_client_start_chat(void *a0, void *a1) {
+enum borogove_message_type borogove_notification_type(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject((snikket::Client((hx::Object *)a0, true))->startChat(Dynamic((hx::Object *)a1)));
+ return static_cast<enum borogove_message_type>((borogove::Notification((hx::Object *)a0, true))->type__fromC());
}
struct Data {
- struct {void * a0; void * a1;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
- void * ret;
+ enum borogove_message_type ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject((snikket::Client((hx::Object *)data->args.a0, true))->startChat(Dynamic((hx::Object *)data->args.a1)));
+ data->ret = static_cast<enum borogove_message_type>((borogove::Notification((hx::Object *)data->args.a0, true))->type__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4213,33 +4383,33 @@ void *snikket_client_start_chat(void *a0, void *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute startChat() on the main thread and wait until execution completes
+ // queue a callback to execute type__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 *snikket_client_get_chat(void *a0, const char *a1) {
+const char *borogove_notification_call_status(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject((snikket::Client((hx::Object *)a0, true))->getChat(a1));
+ return HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)a0, true))->callStatus__fromC());
}
struct Data {
- struct {void * a0; const char * a1;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
- void * ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject((snikket::Client((hx::Object *)data->args.a0, true))->getChat(data->args.a1));
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)data->args.a0, true))->callStatus__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4249,32 +4419,33 @@ void *snikket_client_get_chat(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute getChat() on the main thread and wait until execution completes
+ // queue a callback to execute callStatus__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 snikket_client_enable_push(void *a0, const char *a1, const char *a2, const unsigned char *a3, size_t a4, const unsigned char *a5, size_t a6, int a7, const unsigned char *a8, size_t a9, const char *const *a10, size_t a11) {
+const char *borogove_notification_call_sid(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->enablePush__fromC(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
+ return HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)a0, true))->callSid__fromC());
}
struct Data {
- struct {void * a0; const char * a1; const char * a2; const unsigned char* a3; size_t a4; const unsigned char* a5; size_t a6; int a7; const unsigned char* a8; size_t a9; const char* const* a10; size_t a11;} args;
+ 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 {
- (snikket::Client((hx::Object *)data->args.a0, true))->enablePush__fromC(data->args.a1, data->args.a2, data->args.a3, data->args.a4, data->args.a5, data->args.a6, data->args.a7, data->args.a8, data->args.a9, data->args.a10, data->args.a11);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)data->args.a0, true))->callSid__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4284,31 +4455,33 @@ void snikket_client_enable_push(void *a0, const char *a1, const char *a2, const
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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, a7, a8, a9, a10, a11} };
+ Data data = { {a0} };
- // queue a callback to execute enablePush__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute callSid__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 snikket_client_add_password_needed_listener(void *a0, void (*a1) (void*, void*), void *a2) {
+const char *borogove_notification_image_uri(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addPasswordNeededListener__fromC(cpp::Function<void(void*, void*)>(a1), a2);
+ return HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)a0, true))->imageUri__fromC());
}
struct Data {
- struct {void * a0; void (* a1) (void*, void*); void* a2;} args;
+ 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 {
- (snikket::Client((hx::Object *)data->args.a0, true))->addPasswordNeededListener__fromC(cpp::Function<void(void*, void*)>(data->args.a1), data->args.a2);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)data->args.a0, true))->imageUri__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4318,31 +4491,33 @@ void snikket_client_add_password_needed_listener(void *a0, void (*a1) (void*, vo
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute addPasswordNeededListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute imageUri__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 snikket_client_add_status_online_listener(void *a0, void (*a1) (void*), void *a2) {
+const char *borogove_notification_lang(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addStatusOnlineListener__fromC(cpp::Function<void(void*)>(a1), a2);
+ return HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)a0, true))->lang__fromC());
}
struct Data {
- struct {void * a0; void (* a1) (void*); void* a2;} args;
+ 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 {
- (snikket::Client((hx::Object *)data->args.a0, true))->addStatusOnlineListener__fromC(cpp::Function<void(void*)>(data->args.a1), data->args.a2);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)data->args.a0, true))->lang__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4352,31 +4527,33 @@ void snikket_client_add_status_online_listener(void *a0, void (*a1) (void*), voi
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute addStatusOnlineListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute lang__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 snikket_client_add_status_offline_listener(void *a0, void (*a1) (void*), void *a2) {
+const char *borogove_notification_timestamp(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addStatusOfflineListener__fromC(cpp::Function<void(void*)>(a1), a2);
+ return HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)a0, true))->timestamp__fromC());
}
struct Data {
- struct {void * a0; void (* a1) (void*); void* a2;} args;
+ 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 {
- (snikket::Client((hx::Object *)data->args.a0, true))->addStatusOfflineListener__fromC(cpp::Function<void(void*)>(data->args.a1), data->args.a2);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Notification((hx::Object *)data->args.a0, true))->timestamp__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4386,23 +4563,24 @@ void snikket_client_add_status_offline_listener(void *a0, void (*a1) (void*), vo
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute addStatusOfflineListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute timestamp__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 snikket_client_add_connection_failed_listener(void *a0, void (*a1) (void*), void *a2) {
+void borogove_event_emitter_remove_event_listener(void *a0, borogove_event_handler_token a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addConnectionFailedListener__fromC(cpp::Function<void(void*)>(a1), a2);
+ return (borogove::EventEmitter((hx::Object *)a0, true))->removeEventListener(a1);
}
struct Data {
- struct {void * a0; void (* a1) (void*); void* a2;} args;
+ struct {void * a0; borogove_event_handler_token a1;} args;
HxSemaphore lock;
};
struct Callback {
@@ -4410,7 +4588,7 @@ void snikket_client_add_connection_failed_listener(void *a0, void (*a1) (void*),
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->addConnectionFailedListener__fromC(cpp::Function<void(void*)>(data->args.a1), data->args.a2);
+ (borogove::EventEmitter((hx::Object *)data->args.a0, true))->removeEventListener(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4420,31 +4598,32 @@ void snikket_client_add_connection_failed_listener(void *a0, void (*a1) (void*),
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0, a1} };
- // queue a callback to execute addConnectionFailedListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute removeEventListener() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_client_add_tls_check_listener(void *a0, bool (*a1) (const char*, const char**, size_t, void*), void *a2) {
+void *borogove_client_new(const char *a0, void *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addTlsCheckListener__fromC(cpp::Function<bool(const char*, const char**, size_t, void*)>(a1), a2);
+ return HaxeCBridge::retainHaxeObject(borogove::Client_obj::__new(a0, Dynamic((hx::Object *)a1)));
}
struct Data {
- struct {void * a0; bool (* a1) (const char*, const char**, size_t, void*); void* a2;} args;
+ struct {const char * a0; void * a1;} args;
HxSemaphore lock;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->addTlsCheckListener__fromC(cpp::Function<bool(const char*, const char**, size_t, void*)>(data->args.a1), data->args.a2);
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::Client_obj::__new(data->args.a0, Dynamic((hx::Object *)data->args.a1)));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4454,23 +4633,24 @@ void snikket_client_add_tls_check_listener(void *a0, bool (*a1) (const char*, co
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0, a1} };
- // queue a callback to execute addTlsCheckListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute new() 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 snikket_client_add_chat_message_listener(void *a0, void (*a1) (void*, int, void*), void *a2) {
+void borogove_client_set_send_available(void *a0, bool a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addChatMessageListener__fromC(cpp::Function<void(void*, int, void*)>(a1), a2);
+ return (borogove::Client((hx::Object *)a0, true))->set_sendAvailable__fromC(a1);
}
struct Data {
- struct {void * a0; void (* a1) (void*, int, void*); void* a2;} args;
+ struct {void * a0; bool a1;} args;
HxSemaphore lock;
};
struct Callback {
@@ -4478,7 +4658,7 @@ void snikket_client_add_chat_message_listener(void *a0, void (*a1) (void*, int,
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->addChatMessageListener__fromC(cpp::Function<void(void*, int, void*)>(data->args.a1), data->args.a2);
+ (borogove::Client((hx::Object *)data->args.a0, true))->set_sendAvailable__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4488,23 +4668,23 @@ void snikket_client_add_chat_message_listener(void *a0, void (*a1) (void*, int,
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0, a1} };
- // queue a callback to execute addChatMessageListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set_sendAvailable__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_client_add_sync_message_listener(void *a0, void (*a1) (void*, void*), void *a2) {
+void borogove_client_start(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addSyncMessageListener__fromC(cpp::Function<void(void*, void*)>(a1), a2);
+ return (borogove::Client((hx::Object *)a0, true))->start();
}
struct Data {
- struct {void * a0; void (* a1) (void*, void*); void* a2;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
};
struct Callback {
@@ -4512,7 +4692,7 @@ void snikket_client_add_sync_message_listener(void *a0, void (*a1) (void*, void*
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->addSyncMessageListener__fromC(cpp::Function<void(void*, void*)>(data->args.a1), data->args.a2);
+ (borogove::Client((hx::Object *)data->args.a0, true))->start();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4522,23 +4702,23 @@ void snikket_client_add_sync_message_listener(void *a0, void (*a1) (void*, void*
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute addSyncMessageListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute start() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_client_add_chats_updated_listener(void *a0, void (*a1) (void**, size_t, void*), void *a2) {
+void borogove_client_start_offline(void *a0, void (*a1) (bool, void *handler__context), void *a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addChatsUpdatedListener__fromC(cpp::Function<void(void**, size_t, void*)>(a1), a2);
+ return (borogove::Client((hx::Object *)a0, true))->startOffline__fromC(cpp::Function<void(bool, void * handler__context)>(a1), a2);
}
struct Data {
- struct {void * a0; void (* a1) (void**, size_t, void*); void* a2;} args;
+ struct {void * a0; void (* a1) (bool, void * handler__context); void* a2;} args;
HxSemaphore lock;
};
struct Callback {
@@ -4546,7 +4726,7 @@ void snikket_client_add_chats_updated_listener(void *a0, void (*a1) (void**, siz
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->addChatsUpdatedListener__fromC(cpp::Function<void(void**, size_t, void*)>(data->args.a1), data->args.a2);
+ (borogove::Client((hx::Object *)data->args.a0, true))->startOffline__fromC(cpp::Function<void(bool, void * handler__context)>(data->args.a1), data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4556,31 +4736,2320 @@ void snikket_client_add_chats_updated_listener(void *a0, void (*a1) (void**, siz
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 addChatsUpdatedListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute startOffline__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_client_add_call_ring_listener(void *a0, void (*a1) (void*, void*), void *a2) {
+void borogove_client_logout(void *a0, bool a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addCallRingListener__fromC(cpp::Function<void(void*, void*)>(a1), a2);
+ return (borogove::Client((hx::Object *)a0, true))->logout(a1);
}
struct Data {
- struct {void * a0; void (* a1) (void*, void*); void* a2;} args;
+ 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))->logout(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 logout() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+void borogove_client_use_password(void *a0, const char *a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->usePassword(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::Client((hx::Object *)data->args.a0, true))->usePassword(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 usePassword() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+const char *borogove_client_account_id(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeString((borogove::Client((hx::Object *)a0, true))->accountId());
+ }
+ 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::Client((hx::Object *)data->args.a0, true))->accountId());
+ 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 accountId() 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_client_display_name(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeString((borogove::Client((hx::Object *)a0, true))->displayName());
+ }
+ 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::Client((hx::Object *)data->args.a0, true))->displayName());
+ 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 displayName() 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_profile(void *a0, void *a1, bool a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->setProfile(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::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();
+ 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 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) {
+ 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);
+ }
+ struct Data {
+ struct {void * a0; void * a1; void (* a2) (void*, void * handler__context); void* a3;} 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), cpp::Function<void(void*, void * handler__context)>(data->args.a2), data->args.a3);
+ 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} };
+
+ // 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;
+ 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::Client((hx::Object *)data->args.a0, true))->getChats__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 getChats__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_find_available_chats(void *a0, const char *a1, bool (*a2) (const char*, void**, size_t, void*), void *a3) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->findAvailableChats__fromC(a1, cpp::Function<bool(const char*, void**, size_t, void*)>(a2), a3);
+ }
+ struct Data {
+ struct {void * a0; const char * a1; bool (* a2) (const char*, void**, size_t, void*); void* a3;} 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))->findAvailableChats__fromC(data->args.a1, cpp::Function<bool(const char*, void**, size_t, void*)>(data->args.a2), data->args.a3);
+ 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} };
+
+ // queue a callback to execute findAvailableChats__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_chat(void *a0, void *a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeObject((borogove::Client((hx::Object *)a0, true))->startChat(Dynamic((hx::Object *)a1)));
+ }
+ struct Data {
+ struct {void * a0; void * a1;} 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::Client((hx::Object *)data->args.a0, true))->startChat(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 startChat() 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_get_chat(void *a0, const char *a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeObject((borogove::Client((hx::Object *)a0, true))->getChat(a1));
+ }
+ struct Data {
+ struct {void * a0; const char * a1;} 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::Client((hx::Object *)data->args.a0, true))->getChat(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 getChat() 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_enable_push(void *a0, const char *a1, const char *a2, const unsigned char *a3, size_t a4, const unsigned char *a5, size_t a6, int a7, const unsigned char *a8, size_t a9, const char *const *a10, size_t a11) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->enablePush__fromC(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
+ }
+ struct Data {
+ struct {void * a0; const char * a1; const char * a2; const unsigned char* a3; size_t a4; const unsigned char* a5; size_t a6; int a7; const unsigned char* a8; size_t a9; const char* const* a10; size_t a11;} 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))->enablePush__fromC(data->args.a1, data->args.a2, data->args.a3, data->args.a4, data->args.a5, data->args.a6, data->args.a7, data->args.a8, data->args.a9, data->args.a10, data->args.a11);
+ 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, a6, a7, a8, a9, a10, a11} };
+
+ // queue a callback to execute enablePush__fromC() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+borogove_event_handler_token borogove_client_add_password_needed_listener(void *a0, void (*a1) (void*, void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addPasswordNeededListener__fromC(cpp::Function<void(void*, void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (void*, void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addPasswordNeededListener__fromC(cpp::Function<void(void*, void*)>(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 addPasswordNeededListener__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
+borogove_event_handler_token borogove_client_add_status_online_listener(void *a0, void (*a1) (void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addStatusOnlineListener__fromC(cpp::Function<void(void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addStatusOnlineListener__fromC(cpp::Function<void(void*)>(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 addStatusOnlineListener__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
+borogove_event_handler_token borogove_client_add_status_offline_listener(void *a0, void (*a1) (void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addStatusOfflineListener__fromC(cpp::Function<void(void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addStatusOfflineListener__fromC(cpp::Function<void(void*)>(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 addStatusOfflineListener__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
+borogove_event_handler_token borogove_client_add_connection_failed_listener(void *a0, void (*a1) (void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addConnectionFailedListener__fromC(cpp::Function<void(void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addConnectionFailedListener__fromC(cpp::Function<void(void*)>(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 addConnectionFailedListener__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
+borogove_event_handler_token borogove_client_add_tls_check_listener(void *a0, bool (*a1) (const char*, const char**, size_t, void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addTlsCheckListener__fromC(cpp::Function<bool(const char*, const char**, size_t, void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; bool (* a1) (const char*, const char**, size_t, void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addTlsCheckListener__fromC(cpp::Function<bool(const char*, const char**, size_t, void*)>(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 addTlsCheckListener__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
+borogove_event_handler_token borogove_client_add_chat_message_listener(void *a0, void (*a1) (void*, int, void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addChatMessageListener__fromC(cpp::Function<void(void*, int, void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (void*, int, void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addChatMessageListener__fromC(cpp::Function<void(void*, int, void*)>(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 addChatMessageListener__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
+borogove_event_handler_token borogove_client_add_sync_message_listener(void *a0, void (*a1) (void*, void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addSyncMessageListener__fromC(cpp::Function<void(void*, void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (void*, void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addSyncMessageListener__fromC(cpp::Function<void(void*, void*)>(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 addSyncMessageListener__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
+borogove_event_handler_token borogove_client_add_chats_updated_listener(void *a0, void (*a1) (void**, size_t, void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addChatsUpdatedListener__fromC(cpp::Function<void(void**, size_t, void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (void**, size_t, void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addChatsUpdatedListener__fromC(cpp::Function<void(void**, size_t, void*)>(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 addChatsUpdatedListener__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
+borogove_event_handler_token borogove_client_add_call_ring_listener(void *a0, void (*a1) (void*, void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addCallRingListener__fromC(cpp::Function<void(void*, void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (void*, void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addCallRingListener__fromC(cpp::Function<void(void*, void*)>(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 addCallRingListener__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
+borogove_event_handler_token borogove_client_add_call_retract_listener(void *a0, void (*a1) (const char*, const char*, void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addCallRetractListener__fromC(cpp::Function<void(const char*, const char*, void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (const char*, const char*, void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addCallRetractListener__fromC(cpp::Function<void(const char*, const char*, void*)>(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 addCallRetractListener__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
+borogove_event_handler_token borogove_client_add_call_ringing_listener(void *a0, void (*a1) (void*, void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addCallRingingListener__fromC(cpp::Function<void(void*, void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (void*, void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addCallRingingListener__fromC(cpp::Function<void(void*, void*)>(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 addCallRingingListener__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
+borogove_event_handler_token borogove_client_add_call_update_status_listener(void *a0, void (*a1) (void*, void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addCallUpdateStatusListener__fromC(cpp::Function<void(void*, void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (void*, void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addCallUpdateStatusListener__fromC(cpp::Function<void(void*, void*)>(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 addCallUpdateStatusListener__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
+borogove_event_handler_token borogove_client_add_call_media_listener(void *a0, void (*a1) (void*, bool, bool, void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addCallMediaListener__fromC(cpp::Function<void(void*, bool, bool, void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (void*, bool, bool, void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addCallMediaListener__fromC(cpp::Function<void(void*, bool, bool, void*)>(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 addCallMediaListener__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
+borogove_event_handler_token borogove_client_add_call_track_listener(void *a0, void (*a1) (void*, void*, void**, size_t, void*), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->addCallTrackListener__fromC(cpp::Function<void(void*, void*, void**, size_t, void*)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (void*, void*, void**, size_t, void*); void* a2;} args;
+ HxSemaphore lock;
+ borogove_event_handler_token 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))->addCallTrackListener__fromC(cpp::Function<void(void*, void*, void**, size_t, void*)>(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 addCallTrackListener__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_in_foreground(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->setInForeground();
+ }
+ 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::Client((hx::Object *)data->args.a0, true))->setInForeground();
+ 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 setInForeground() 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_not_in_foreground(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->setNotInForeground();
+ }
+ 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::Client((hx::Object *)data->args.a0, true))->setNotInForeground();
+ 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 setNotInForeground() 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_chat_id(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeString((borogove::Chat((hx::Object *)a0, true))->chatId__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::Chat((hx::Object *)data->args.a0, true))->chatId__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 chatId__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
+enum borogove_ui_state borogove_chat_ui_state(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return static_cast<enum borogove_ui_state>((borogove::Chat((hx::Object *)a0, true))->uiState__fromC());
+ }
+ struct Data {
+ struct {void * a0;} args;
+ HxSemaphore lock;
+ enum borogove_ui_state ret;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ data->ret = static_cast<enum borogove_ui_state>((borogove::Chat((hx::Object *)data->args.a0, true))->uiState__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 uiState__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
+bool borogove_chat_is_blocked(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->isBlocked__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::Chat((hx::Object *)data->args.a0, true))->isBlocked__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 isBlocked__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_last_message(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeObject((borogove::Chat((hx::Object *)a0, true))->lastMessage__fromC());
+ }
+ 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::Chat((hx::Object *)data->args.a0, true))->lastMessage__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 lastMessage__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
+bool borogove_chat_is_bookmarked(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->isBookmarked__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::Chat((hx::Object *)data->args.a0, true))->isBookmarked__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 isBookmarked__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_get_messages_before(void *a0, const char *a1, const char *a2, void (*a3) (void**, size_t, void *handler__context), void *a4) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->getMessagesBefore__fromC(a1, a2, cpp::Function<void(void**, size_t, void * handler__context)>(a3), a4);
+ }
+ struct Data {
+ struct {void * a0; const char * a1; const char * a2; void (* a3) (void**, size_t, 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::Chat((hx::Object *)data->args.a0, true))->getMessagesBefore__fromC(data->args.a1, data->args.a2, cpp::Function<void(void**, size_t, 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 getMessagesBefore__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_get_messages_after(void *a0, const char *a1, const char *a2, void (*a3) (void**, size_t, void *handler__context), void *a4) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->getMessagesAfter__fromC(a1, a2, cpp::Function<void(void**, size_t, void * handler__context)>(a3), a4);
+ }
+ struct Data {
+ struct {void * a0; const char * a1; const char * a2; void (* a3) (void**, size_t, 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::Chat((hx::Object *)data->args.a0, true))->getMessagesAfter__fromC(data->args.a1, data->args.a2, cpp::Function<void(void**, size_t, 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 getMessagesAfter__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_get_messages_around(void *a0, const char *a1, const char *a2, void (*a3) (void**, size_t, void *handler__context), void *a4) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->getMessagesAround__fromC(a1, a2, cpp::Function<void(void**, size_t, void * handler__context)>(a3), a4);
+ }
+ struct Data {
+ struct {void * a0; const char * a1; const char * a2; void (* a3) (void**, size_t, 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::Chat((hx::Object *)data->args.a0, true))->getMessagesAround__fromC(data->args.a1, data->args.a2, cpp::Function<void(void**, size_t, 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 getMessagesAround__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_send_message(void *a0, void *a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->sendMessage__fromC(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::Chat((hx::Object *)data->args.a0, true))->sendMessage__fromC(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 sendMessage__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_mark_read_up_to(void *a0, void *a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->markReadUpTo__fromC(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::Chat((hx::Object *)data->args.a0, true))->markReadUpTo__fromC(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 markReadUpTo__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_bookmark(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->bookmark__fromC();
+ }
+ 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::Chat((hx::Object *)data->args.a0, true))->bookmark__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 bookmark__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_chat_get_participants(void *a0, const char ***a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->getParticipants__fromC(a1);
+ }
+ struct Data {
+ struct {void * a0; const char*** a1;} 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::Chat((hx::Object *)data->args.a0, true))->getParticipants__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 getParticipants__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_get_participant_details(void *a0, const char *a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeObject((borogove::Chat((hx::Object *)a0, true))->getParticipantDetails__fromC(a1));
+ }
+ struct Data {
+ struct {void * a0; const char * a1;} 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::Chat((hx::Object *)data->args.a0, true))->getParticipantDetails__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 getParticipantDetails__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_correct_message(void *a0, const char *a1, void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->correctMessage__fromC(a1, Dynamic((hx::Object *)a2));
+ }
+ struct Data {
+ struct {void * a0; const char * a1; void * 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))->correctMessage__fromC(data->args.a1, Dynamic((hx::Object *)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 correctMessage__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_add_reaction(void *a0, void *a1, void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->addReaction(Dynamic((hx::Object *)a1), Dynamic((hx::Object *)a2));
+ }
+ struct Data {
+ struct {void * a0; void * a1; void * 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))->addReaction(Dynamic((hx::Object *)data->args.a1), Dynamic((hx::Object *)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 addReaction() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+void borogove_chat_remove_reaction(void *a0, void *a1, void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->removeReaction__fromC(Dynamic((hx::Object *)a1), Dynamic((hx::Object *)a2));
+ }
+ struct Data {
+ struct {void * a0; void * a1; void * 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))->removeReaction__fromC(Dynamic((hx::Object *)data->args.a1), Dynamic((hx::Object *)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 removeReaction__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_typing(void *a0, const char *a1, const char *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->typing(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::Chat((hx::Object *)data->args.a0, true))->typing(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 typing() 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_active(void *a0, bool a1, const char *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->setActive(a1, a2);
+ }
+ struct Data {
+ struct {void * a0; bool 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))->setActive(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 setActive() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+void borogove_chat_close(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->close__fromC();
+ }
+ 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::Chat((hx::Object *)data->args.a0, true))->close__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 close__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_toggle_pinned(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->togglePinned();
+ }
+ 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::Chat((hx::Object *)data->args.a0, true))->togglePinned();
+ 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 togglePinned() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+void borogove_chat_block(void *a0, bool a1, void *a2, bool a3) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->block(a1, Dynamic((hx::Object *)a2), a3);
+ }
+ struct Data {
+ struct {void * a0; bool a1; void * a2; bool a3;} 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))->block(data->args.a1, Dynamic((hx::Object *)data->args.a2), data->args.a3);
+ 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} };
+
+ // queue a callback to execute block() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+void borogove_chat_unblock(void *a0, bool a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->unblock(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::Chat((hx::Object *)data->args.a0, true))->unblock(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 unblock() 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_notifications(void *a0, bool a1, bool a2, bool a3) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->setNotifications(a1, a2, a3);
+ }
+ struct Data {
+ struct {void * a0; bool a1; bool a2; bool a3;} 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))->setNotifications(data->args.a1, data->args.a2, data->args.a3);
+ 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} };
+
+ // queue a callback to execute setNotifications() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+bool borogove_chat_notifications_filtered(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->notificationsFiltered();
+ }
+ 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))->notificationsFiltered();
+ 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 notificationsFiltered() 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_notify_mention(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->notifyMention();
+ }
+ 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))->notifyMention();
+ 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 notifyMention() 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_notify_reply(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->notifyReply();
+ }
+ 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))->notifyReply();
+ 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 notifyReply() 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_last_message_id(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeString((borogove::Chat((hx::Object *)a0, true))->lastMessageId__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::Chat((hx::Object *)data->args.a0, true))->lastMessageId__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 lastMessageId__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_get_photo(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeString((borogove::Chat((hx::Object *)a0, true))->getPhoto());
+ }
+ 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::Chat((hx::Object *)data->args.a0, true))->getPhoto());
+ 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 getPhoto() 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_get_placeholder(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeString((borogove::Chat((hx::Object *)a0, true))->getPlaceholder());
+ }
+ 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::Chat((hx::Object *)data->args.a0, true))->getPlaceholder());
+ 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 getPlaceholder() 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_read_up_to(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeString((borogove::Chat((hx::Object *)a0, true))->readUpTo());
+ }
+ 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::Chat((hx::Object *)data->args.a0, true))->readUpTo());
+ 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 readUpTo() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+ return data.ret;
+}
+
+HAXE_C_BRIDGE_LINKAGE
+int borogove_chat_unread_count(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->unreadCount();
+ }
+ struct Data {
+ struct {void * a0;} args;
+ HxSemaphore lock;
+ int 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))->unreadCount();
+ 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 unreadCount() 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_preview(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeString((borogove::Chat((hx::Object *)a0, true))->preview());
+ }
+ 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::Chat((hx::Object *)data->args.a0, true))->preview());
+ 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 preview() 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_set_display_name(void *a0, const char *a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->setDisplayName(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::Chat((hx::Object *)data->args.a0, true))->setDisplayName(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 setDisplayName() 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_get_display_name(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeString((borogove::Chat((hx::Object *)a0, true))->getDisplayName());
+ }
+ 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::Chat((hx::Object *)data->args.a0, true))->getDisplayName());
+ 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 getDisplayName() 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_set_trusted(void *a0, bool a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->setTrusted(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::Chat((hx::Object *)data->args.a0, true))->setTrusted(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 setTrusted() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+bool borogove_chat_is_trusted(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->isTrusted();
+ }
+ 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))->isTrusted();
+ 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 isTrusted() 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_syncing(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->syncing();
+ }
+ 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))->syncing();
+ 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 syncing() 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_audio_call(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->canAudioCall();
+ }
+ 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))->canAudioCall();
+ 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 canAudioCall() 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_video_call(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->canVideoCall();
+ }
+ 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 {
- (snikket::Client((hx::Object *)data->args.a0, true))->addCallRingListener__fromC(cpp::Function<void(void*, void*)>(data->args.a1), data->args.a2);
+ data->ret = (borogove::Chat((hx::Object *)data->args.a0, true))->canVideoCall();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4590,31 +7059,33 @@ void snikket_client_add_call_ring_listener(void *a0, void (*a1) (void*, void*),
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute addCallRingListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute canVideoCall() 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 snikket_client_add_call_retract_listener(void *a0, void (*a1) (const char*, const char*, void*), void *a2) {
+void *borogove_chat_start_call(void *a0, bool a1, bool a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addCallRetractListener__fromC(cpp::Function<void(const char*, const char*, void*)>(a1), a2);
+ return HaxeCBridge::retainHaxeObject((borogove::Chat((hx::Object *)a0, true))->startCall(a1, a2));
}
struct Data {
- struct {void * a0; void (* a1) (const char*, const char*, void*); void* a2;} args;
+ struct {void * a0; bool a1; bool a2;} args;
HxSemaphore lock;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->addCallRetractListener__fromC(cpp::Function<void(const char*, const char*, void*)>(data->args.a1), data->args.a2);
+ data->ret = HaxeCBridge::retainHaxeObject((borogove::Chat((hx::Object *)data->args.a0, true))->startCall(data->args.a1, data->args.a2));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4624,23 +7095,24 @@ void snikket_client_add_call_retract_listener(void *a0, void (*a1) (const char*,
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 addCallRetractListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute startCall() 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 snikket_client_add_call_ringing_listener(void *a0, void (*a1) (const char*, const char*, void*), void *a2) {
+void borogove_chat_accept_call(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addCallRingingListener__fromC(cpp::Function<void(const char*, const char*, void*)>(a1), a2);
+ return (borogove::Chat((hx::Object *)a0, true))->acceptCall();
}
struct Data {
- struct {void * a0; void (* a1) (const char*, const char*, void*); void* a2;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
};
struct Callback {
@@ -4648,7 +7120,7 @@ void snikket_client_add_call_ringing_listener(void *a0, void (*a1) (const char*,
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->addCallRingingListener__fromC(cpp::Function<void(const char*, const char*, void*)>(data->args.a1), data->args.a2);
+ (borogove::Chat((hx::Object *)data->args.a0, true))->acceptCall();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4658,23 +7130,23 @@ void snikket_client_add_call_ringing_listener(void *a0, void (*a1) (const char*,
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute addCallRingingListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute acceptCall() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_client_add_call_update_status_listener(void *a0, void (*a1) (void*, void*), void *a2) {
+void borogove_chat_hangup(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addCallUpdateStatusListener__fromC(cpp::Function<void(void*, void*)>(a1), a2);
+ return (borogove::Chat((hx::Object *)a0, true))->hangup();
}
struct Data {
- struct {void * a0; void (* a1) (void*, void*); void* a2;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
};
struct Callback {
@@ -4682,7 +7154,7 @@ void snikket_client_add_call_update_status_listener(void *a0, void (*a1) (void*,
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->addCallUpdateStatusListener__fromC(cpp::Function<void(void*, void*)>(data->args.a1), data->args.a2);
+ (borogove::Chat((hx::Object *)data->args.a0, true))->hangup();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4692,31 +7164,32 @@ void snikket_client_add_call_update_status_listener(void *a0, void (*a1) (void*,
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute addCallUpdateStatusListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute hangup() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_client_add_call_media_listener(void *a0, void (*a1) (void*, bool, bool, void*), void *a2) {
+enum borogove_calls_call_status borogove_chat_call_status(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addCallMediaListener__fromC(cpp::Function<void(void*, bool, bool, void*)>(a1), a2);
+ return static_cast<enum borogove_calls_call_status>((borogove::Chat((hx::Object *)a0, true))->callStatus());
}
struct Data {
- struct {void * a0; void (* a1) (void*, bool, bool, void*); void* a2;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
+ enum borogove_calls_call_status ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->addCallMediaListener__fromC(cpp::Function<void(void*, bool, bool, void*)>(data->args.a1), data->args.a2);
+ data->ret = static_cast<enum borogove_calls_call_status>((borogove::Chat((hx::Object *)data->args.a0, true))->callStatus());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4726,31 +7199,33 @@ void snikket_client_add_call_media_listener(void *a0, void (*a1) (void*, bool, b
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute addCallMediaListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute callStatus() 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 snikket_client_add_call_track_listener(void *a0, void (*a1) (const char*, void*, void**, size_t, void*), void *a2) {
+void *borogove_chat_dtmf(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->addCallTrackListener__fromC(cpp::Function<void(const char*, void*, void**, size_t, void*)>(a1), a2);
+ return HaxeCBridge::retainHaxeObject((borogove::Chat((hx::Object *)a0, true))->dtmf());
}
struct Data {
- struct {void * a0; void (* a1) (const char*, void*, void**, size_t, void*); void* a2;} args;
+ 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 {
- (snikket::Client((hx::Object *)data->args.a0, true))->addCallTrackListener__fromC(cpp::Function<void(const char*, void*, void**, size_t, void*)>(data->args.a1), data->args.a2);
+ data->ret = HaxeCBridge::retainHaxeObject((borogove::Chat((hx::Object *)data->args.a0, true))->dtmf());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4760,31 +7235,33 @@ void snikket_client_add_call_track_listener(void *a0, void (*a1) (const char*, v
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute addCallTrackListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute dtmf() 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 snikket_client_set_in_foreground(void *a0) {
+size_t borogove_chat_video_tracks(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->setInForeground();
+ return (borogove::Chat((hx::Object *)a0, true))->videoTracks__fromC(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void*** a1;} args;
HxSemaphore lock;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Client((hx::Object *)data->args.a0, true))->setInForeground();
+ data->ret = (borogove::Chat((hx::Object *)data->args.a0, true))->videoTracks__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4794,31 +7271,33 @@ void snikket_client_set_in_foreground(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute setInForeground() on the main thread and wait until execution completes
+ // queue a callback to execute videoTracks__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 snikket_client_set_not_in_foreground(void *a0) {
+const char *borogove_chat_encryption_mode(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Client((hx::Object *)a0, true))->setNotInForeground();
+ return HaxeCBridge::retainHaxeString((borogove::Chat((hx::Object *)a0, true))->encryptionMode());
}
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 {
- (snikket::Client((hx::Object *)data->args.a0, true))->setNotInForeground();
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Chat((hx::Object *)data->args.a0, true))->encryptionMode());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4828,32 +7307,33 @@ void snikket_client_set_not_in_foreground(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute setNotInForeground() on the main thread and wait until execution completes
+ // queue a callback to execute encryptionMode() 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 *snikket_chat_chat_id(void *a0) {
+bool borogove_chat_can_send(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Chat((hx::Object *)a0, true))->chatId__fromC());
+ 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((snikket::Chat((hx::Object *)data->args.a0, true))->chatId__fromC());
+ data->ret = (borogove::Chat((hx::Object *)data->args.a0, true))->canSend();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4863,33 +7343,32 @@ const char *snikket_chat_chat_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute chatId__fromC() 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
-enum snikket_ui_state snikket_chat_ui_state(void *a0) {
+void borogove_chat_invite(void *a0, void *a1, const char *a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return static_cast<enum snikket_ui_state>((snikket::Chat((hx::Object *)a0, true))->uiState__fromC());
+ 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;
- enum snikket_ui_state ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = static_cast<enum snikket_ui_state>((snikket::Chat((hx::Object *)data->args.a0, true))->uiState__fromC());
+ (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();
@@ -4899,21 +7378,20 @@ enum snikket_ui_state snikket_chat_ui_state(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1, a2} };
- // queue a callback to execute uiState__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute invite() 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 snikket_chat_is_blocked(void *a0) {
+bool borogove_chat_can_invite(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->isBlocked__fromC();
+ return (borogove::Chat((hx::Object *)a0, true))->canInvite();
}
struct Data {
struct {void * a0;} args;
@@ -4925,7 +7403,7 @@ bool snikket_chat_is_blocked(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::Chat((hx::Object *)data->args.a0, true))->isBlocked__fromC();
+ data->ret = (borogove::Chat((hx::Object *)data->args.a0, true))->canInvite();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4935,32 +7413,33 @@ bool snikket_chat_is_blocked(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute isBlocked__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute canInvite() 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 snikket_chat_get_messages_before(void *a0, const char *a1, const char *a2, void (*a3) (void**, size_t, void*), void *a4) {
+bool borogove_chat_is_app(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->getMessagesBefore__fromC(a1, a2, cpp::Function<void(void**, size_t, void*)>(a3), a4);
+ return (borogove::Chat((hx::Object *)a0, true))->isApp();
}
struct Data {
- struct {void * a0; const char * a1; const char * a2; void (* a3) (void**, size_t, void*); void* a4;} args;
+ 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 {
- (snikket::Chat((hx::Object *)data->args.a0, true))->getMessagesBefore__fromC(data->args.a1, data->args.a2, cpp::Function<void(void**, size_t, void*)>(data->args.a3), data->args.a4);
+ data->ret = (borogove::Chat((hx::Object *)data->args.a0, true))->isApp();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4970,31 +7449,33 @@ void snikket_chat_get_messages_before(void *a0, const char *a1, const char *a2,
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2, a3, a4} };
+ Data data = { {a0} };
- // queue a callback to execute getMessagesBefore__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute isApp() 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 snikket_chat_get_messages_after(void *a0, const char *a1, const char *a2, void (*a3) (void**, size_t, void*), void *a4) {
+bool borogove_chat_has_commands(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->getMessagesAfter__fromC(a1, a2, cpp::Function<void(void**, size_t, void*)>(a3), a4);
+ return (borogove::Chat((hx::Object *)a0, true))->hasCommands();
}
struct Data {
- struct {void * a0; const char * a1; const char * a2; void (* a3) (void**, size_t, void*); void* a4;} args;
+ 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 {
- (snikket::Chat((hx::Object *)data->args.a0, true))->getMessagesAfter__fromC(data->args.a1, data->args.a2, cpp::Function<void(void**, size_t, void*)>(data->args.a3), data->args.a4);
+ data->ret = (borogove::Chat((hx::Object *)data->args.a0, true))->hasCommands();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5004,23 +7485,24 @@ void snikket_chat_get_messages_after(void *a0, const char *a1, const char *a2, v
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2, a3, a4} };
+ Data data = { {a0} };
- // queue a callback to execute getMessagesAfter__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute hasCommands() 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 snikket_chat_get_messages_around(void *a0, const char *a1, const char *a2, void (*a3) (void**, size_t, void*), void *a4) {
+void borogove_chat_commands(void *a0, void (*a1) (void**, size_t, void *handler__context), void *a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->getMessagesAround__fromC(a1, a2, cpp::Function<void(void**, size_t, void*)>(a3), a4);
+ return (borogove::Chat((hx::Object *)a0, true))->commands__fromC(cpp::Function<void(void**, size_t, void * handler__context)>(a1), a2);
}
struct Data {
- struct {void * a0; const char * a1; const char * a2; void (* a3) (void**, size_t, void*); void* a4;} args;
+ struct {void * a0; void (* a1) (void**, size_t, void * handler__context); void* a2;} args;
HxSemaphore lock;
};
struct Callback {
@@ -5028,7 +7510,7 @@ void snikket_chat_get_messages_around(void *a0, const char *a1, const char *a2,
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Chat((hx::Object *)data->args.a0, true))->getMessagesAround__fromC(data->args.a1, data->args.a2, cpp::Function<void(void**, size_t, void*)>(data->args.a3), data->args.a4);
+ (borogove::Chat((hx::Object *)data->args.a0, true))->commands__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();
@@ -5038,31 +7520,32 @@ void snikket_chat_get_messages_around(void *a0, const char *a1, const char *a2,
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2, a3, a4} };
+ Data data = { {a0, a1, a2} };
- // queue a callback to execute getMessagesAround__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute commands__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_chat_send_message(void *a0, void *a1) {
+void *borogove_chat_invited_by(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->sendMessage__fromC(Dynamic((hx::Object *)a1));
+ return HaxeCBridge::retainHaxeObject((borogove::Chat((hx::Object *)a0, true))->invitedBy());
}
struct Data {
- struct {void * a0; void * a1;} args;
+ 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 {
- (snikket::Chat((hx::Object *)data->args.a0, true))->sendMessage__fromC(Dynamic((hx::Object *)data->args.a1));
+ data->ret = HaxeCBridge::retainHaxeObject((borogove::Chat((hx::Object *)data->args.a0, true))->invitedBy());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5072,31 +7555,33 @@ void snikket_chat_send_message(void *a0, void *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute sendMessage__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute invitedBy() 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 snikket_chat_mark_read_up_to(void *a0, void *a1) {
+const char *borogove_calls_media_stream_track_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->markReadUpTo__fromC(Dynamic((hx::Object *)a1));
+ return HaxeCBridge::retainHaxeString((borogove::calls::MediaStreamTrack((hx::Object *)a0, true))->id__fromC());
}
struct Data {
- struct {void * a0; void * a1;} args;
+ 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 {
- (snikket::Chat((hx::Object *)data->args.a0, true))->markReadUpTo__fromC(Dynamic((hx::Object *)data->args.a1));
+ data->ret = HaxeCBridge::retainHaxeString((borogove::calls::MediaStreamTrack((hx::Object *)data->args.a0, true))->id__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5106,31 +7591,33 @@ void snikket_chat_mark_read_up_to(void *a0, void *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute markReadUpTo__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute id__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 snikket_chat_bookmark(void *a0) {
+bool borogove_calls_media_stream_track_muted(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->bookmark__fromC();
+ return (borogove::calls::MediaStreamTrack((hx::Object *)a0, true))->muted__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 {
- (snikket::Chat((hx::Object *)data->args.a0, true))->bookmark__fromC();
+ data->ret = (borogove::calls::MediaStreamTrack((hx::Object *)data->args.a0, true))->muted__fromC();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5140,32 +7627,33 @@ void snikket_chat_bookmark(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute bookmark__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute muted__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
-size_t snikket_chat_get_participants(void *a0, const char ***a1) {
+const char *borogove_calls_media_stream_track_kind(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->getParticipants__fromC(a1);
+ return HaxeCBridge::retainHaxeString((borogove::calls::MediaStreamTrack((hx::Object *)a0, true))->kind__fromC());
}
struct Data {
- struct {void * a0; const char*** a1;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
- size_t ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::Chat((hx::Object *)data->args.a0, true))->getParticipants__fromC(data->args.a1);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::calls::MediaStreamTrack((hx::Object *)data->args.a0, true))->kind__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5175,33 +7663,33 @@ size_t snikket_chat_get_participants(void *a0, const char ***a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute getParticipants__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute kind__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 *snikket_chat_get_participant_details(void *a0, const char *a1) {
+size_t borogove_calls_media_stream_track_supported_audio_formats(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject((snikket::Chat((hx::Object *)a0, true))->getParticipantDetails__fromC(a1));
+ return (borogove::calls::MediaStreamTrack((hx::Object *)a0, true))->supportedAudioFormats__fromC(a1);
}
struct Data {
- struct {void * a0; const char * a1;} args;
+ struct {void * a0; void*** a1;} args;
HxSemaphore lock;
- void * ret;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject((snikket::Chat((hx::Object *)data->args.a0, true))->getParticipantDetails__fromC(data->args.a1));
+ data->ret = (borogove::calls::MediaStreamTrack((hx::Object *)data->args.a0, true))->supportedAudioFormats__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5211,24 +7699,24 @@ void *snikket_chat_get_participant_details(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 getParticipantDetails__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute supportedAudioFormats__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 snikket_chat_correct_message(void *a0, const char *a1, void *a2) {
+void borogove_calls_media_stream_track_add_pcm_listener(void *a0, void (*a1) (short*, size_t, int, int, void*), void *a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->correctMessage__fromC(a1, Dynamic((hx::Object *)a2));
+ return (borogove::calls::MediaStreamTrack((hx::Object *)a0, true))->addPCMListener__fromC(cpp::Function<void(short*, size_t, int, int, void*)>(a1), a2);
}
struct Data {
- struct {void * a0; const char * a1; void * a2;} args;
+ struct {void * a0; void (* a1) (short*, size_t, int, int, void*); void* a2;} args;
HxSemaphore lock;
};
struct Callback {
@@ -5236,7 +7724,7 @@ void snikket_chat_correct_message(void *a0, const char *a1, void *a2) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Chat((hx::Object *)data->args.a0, true))->correctMessage__fromC(data->args.a1, Dynamic((hx::Object *)data->args.a2));
+ (borogove::calls::MediaStreamTrack((hx::Object *)data->args.a0, true))->addPCMListener__fromC(cpp::Function<void(short*, size_t, int, int, void*)>(data->args.a1), data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5246,23 +7734,23 @@ void snikket_chat_correct_message(void *a0, const char *a1, void *a2) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 correctMessage__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute addPCMListener__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_chat_add_reaction(void *a0, void *a1, void *a2) {
+void borogove_calls_media_stream_track_add_ready_for_pcm_listener(void *a0, void (*a1) (void*), void *a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->addReaction(Dynamic((hx::Object *)a1), Dynamic((hx::Object *)a2));
+ return (borogove::calls::MediaStreamTrack((hx::Object *)a0, true))->addReadyForPCMListener__fromC(cpp::Function<void(void*)>(a1), a2);
}
struct Data {
- struct {void * a0; void * a1; void * a2;} args;
+ struct {void * a0; void (* a1) (void*); void* a2;} args;
HxSemaphore lock;
};
struct Callback {
@@ -5270,7 +7758,7 @@ void snikket_chat_add_reaction(void *a0, void *a1, void *a2) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Chat((hx::Object *)data->args.a0, true))->addReaction(Dynamic((hx::Object *)data->args.a1), Dynamic((hx::Object *)data->args.a2));
+ (borogove::calls::MediaStreamTrack((hx::Object *)data->args.a0, true))->addReadyForPCMListener__fromC(cpp::Function<void(void*)>(data->args.a1), data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5280,23 +7768,23 @@ void snikket_chat_add_reaction(void *a0, void *a1, void *a2) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 addReaction() on the main thread and wait until execution completes
+ // queue a callback to execute addReadyForPCMListener__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_chat_remove_reaction(void *a0, void *a1, void *a2) {
+void borogove_calls_media_stream_track_write_pcm(void *a0, const short *a1, size_t a2, int a3, int a4) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->removeReaction__fromC(Dynamic((hx::Object *)a1), Dynamic((hx::Object *)a2));
+ return (borogove::calls::MediaStreamTrack((hx::Object *)a0, true))->writePCM__fromC(a1, a2, a3, a4);
}
struct Data {
- struct {void * a0; void * a1; void * a2;} args;
+ struct {void * a0; const short* a1; size_t a2; int a3; int a4;} args;
HxSemaphore lock;
};
struct Callback {
@@ -5304,7 +7792,7 @@ void snikket_chat_remove_reaction(void *a0, void *a1, void *a2) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Chat((hx::Object *)data->args.a0, true))->removeReaction__fromC(Dynamic((hx::Object *)data->args.a1), Dynamic((hx::Object *)data->args.a2));
+ (borogove::calls::MediaStreamTrack((hx::Object *)data->args.a0, true))->writePCM__fromC(data->args.a1, data->args.a2, data->args.a3, data->args.a4);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5314,23 +7802,23 @@ void snikket_chat_remove_reaction(void *a0, void *a1, void *a2) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0, a1, a2, a3, a4} };
- // queue a callback to execute removeReaction__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute writePCM__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_chat_typing(void *a0, const char *a1, const char *a2) {
+void borogove_calls_media_stream_track_stop(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->typing(a1, a2);
+ return (borogove::calls::MediaStreamTrack((hx::Object *)a0, true))->stop();
}
struct Data {
- struct {void * a0; const char * a1; const char * a2;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
};
struct Callback {
@@ -5338,7 +7826,7 @@ void snikket_chat_typing(void *a0, const char *a1, const char *a2) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Chat((hx::Object *)data->args.a0, true))->typing(data->args.a1, data->args.a2);
+ (borogove::calls::MediaStreamTrack((hx::Object *)data->args.a0, true))->stop();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5348,31 +7836,32 @@ void snikket_chat_typing(void *a0, const char *a1, const char *a2) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute typing() on the main thread and wait until execution completes
+ // queue a callback to execute stop() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_chat_set_active(void *a0, bool a1, const char *a2) {
+void *borogove_calls_audio_format_new(const char *a0, unsigned char a1, int a2, int a3) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->setActive(a1, a2);
+ return HaxeCBridge::retainHaxeObject(borogove::calls::AudioFormat_obj::__new(a0, a1, a2, a3));
}
struct Data {
- struct {void * a0; bool a1; const char * a2;} args;
+ struct {const char * a0; unsigned char a1; int a2; int a3;} args;
HxSemaphore lock;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Chat((hx::Object *)data->args.a0, true))->setActive(data->args.a1, data->args.a2);
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::calls::AudioFormat_obj::__new(data->args.a0, data->args.a1, data->args.a2, data->args.a3));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5382,31 +7871,33 @@ void snikket_chat_set_active(void *a0, bool a1, const char *a2) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0, a1, a2, a3} };
- // queue a callback to execute setActive() on the main thread and wait until execution completes
+ // queue a callback to execute new() 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 snikket_chat_close(void *a0) {
+int borogove_calls_audio_format_clock_rate(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->close__fromC();
+ return (borogove::calls::AudioFormat((hx::Object *)a0, true))->clockRate__fromC();
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
+ int ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Chat((hx::Object *)data->args.a0, true))->close__fromC();
+ data->ret = (borogove::calls::AudioFormat((hx::Object *)data->args.a0, true))->clockRate__fromC();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5416,31 +7907,33 @@ void snikket_chat_close(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute close__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute clockRate__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 snikket_chat_toggle_pinned(void *a0) {
+int borogove_calls_audio_format_channels(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->togglePinned();
+ return (borogove::calls::AudioFormat((hx::Object *)a0, true))->channels__fromC();
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
+ int ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Chat((hx::Object *)data->args.a0, true))->togglePinned();
+ data->ret = (borogove::calls::AudioFormat((hx::Object *)data->args.a0, true))->channels__fromC();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5450,31 +7943,33 @@ void snikket_chat_toggle_pinned(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute togglePinned() on the main thread and wait until execution completes
+ // queue a callback to execute channels__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 snikket_chat_block(void *a0, void *a1, bool a2) {
+const char *borogove_command_name(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->block(Dynamic((hx::Object *)a1), a2);
+ return HaxeCBridge::retainHaxeString((borogove::Command((hx::Object *)a0, true))->name__fromC());
}
struct Data {
- struct {void * a0; void * a1; bool a2;} args;
+ 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 {
- (snikket::Chat((hx::Object *)data->args.a0, true))->block(Dynamic((hx::Object *)data->args.a1), data->args.a2);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Command((hx::Object *)data->args.a0, true))->name__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5484,23 +7979,24 @@ void snikket_chat_block(void *a0, void *a1, bool a2) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute block() on the main thread and wait until execution completes
+ // queue a callback to execute name__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 snikket_chat_unblock(void *a0, bool a1) {
+void borogove_command_execute(void *a0, void (*a1) (void*, void *handler__context), void *a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->unblock(a1);
+ return (borogove::Command((hx::Object *)a0, true))->execute__fromC(cpp::Function<void(void*, void * handler__context)>(a1), a2);
}
struct Data {
- struct {void * a0; bool a1;} args;
+ struct {void * a0; void (* a1) (void*, void * handler__context); void* a2;} args;
HxSemaphore lock;
};
struct Callback {
@@ -5508,7 +8004,7 @@ void snikket_chat_unblock(void *a0, bool a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Chat((hx::Object *)data->args.a0, true))->unblock(data->args.a1);
+ (borogove::Command((hx::Object *)data->args.a0, true))->execute__fromC(cpp::Function<void(void*, void * handler__context)>(data->args.a1), data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5518,31 +8014,32 @@ void snikket_chat_unblock(void *a0, bool a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 unblock() on the main thread and wait until execution completes
+ // queue a callback to execute execute__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_chat_set_notifications(void *a0, bool a1, bool a2, bool a3) {
+const char *borogove_command_session_name(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->setNotifications(a1, a2, a3);
+ return HaxeCBridge::retainHaxeString((borogove::CommandSession((hx::Object *)a0, true))->name__fromC());
}
struct Data {
- struct {void * a0; bool a1; bool a2; bool a3;} args;
+ 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 {
- (snikket::Chat((hx::Object *)data->args.a0, true))->setNotifications(data->args.a1, data->args.a2, data->args.a3);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::CommandSession((hx::Object *)data->args.a0, true))->name__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5552,32 +8049,33 @@ void snikket_chat_set_notifications(void *a0, bool a1, bool a2, bool a3) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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} };
- // queue a callback to execute setNotifications() on the main thread and wait until execution completes
+ // queue a callback to execute name__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
-bool snikket_chat_notifications_filtered(void *a0) {
+const char *borogove_command_session_status(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->notificationsFiltered();
+ return HaxeCBridge::retainHaxeString((borogove::CommandSession((hx::Object *)a0, true))->status__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- bool ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::Chat((hx::Object *)data->args.a0, true))->notificationsFiltered();
+ data->ret = HaxeCBridge::retainHaxeString((borogove::CommandSession((hx::Object *)data->args.a0, true))->status__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5587,33 +8085,33 @@ bool snikket_chat_notifications_filtered(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute notificationsFiltered() on the main thread and wait until execution completes
+ // queue a callback to execute status__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
-bool snikket_chat_notify_mention(void *a0) {
+size_t borogove_command_session_actions(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->notifyMention();
+ return (borogove::CommandSession((hx::Object *)a0, true))->actions__fromC(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void*** a1;} args;
HxSemaphore lock;
- bool ret;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::Chat((hx::Object *)data->args.a0, true))->notifyMention();
+ data->ret = (borogove::CommandSession((hx::Object *)data->args.a0, true))->actions__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5623,33 +8121,33 @@ bool snikket_chat_notify_mention(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute notifyMention() on the main thread and wait until execution completes
+ // queue a callback to execute actions__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
-bool snikket_chat_notify_reply(void *a0) {
+size_t borogove_command_session_forms(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->notifyReply();
+ return (borogove::CommandSession((hx::Object *)a0, true))->forms__fromC(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void*** a1;} args;
HxSemaphore lock;
- bool ret;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::Chat((hx::Object *)data->args.a0, true))->notifyReply();
+ data->ret = (borogove::CommandSession((hx::Object *)data->args.a0, true))->forms__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5659,33 +8157,32 @@ bool snikket_chat_notify_reply(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute notifyReply() on the main thread and wait until execution completes
+ // queue a callback to execute forms__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 *snikket_chat_last_message_id(void *a0) {
+void borogove_command_session_execute(void *a0, const char *a1, void *a2, int a3, void (*a4) (void*, void *handler__context), void *a5) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Chat((hx::Object *)a0, true))->lastMessageId__fromC());
+ return (borogove::CommandSession((hx::Object *)a0, true))->execute__fromC(a1, Dynamic((hx::Object *)a2), a3, cpp::Function<void(void*, void * handler__context)>(a4), a5);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; const char * a1; void * a2; int a3; void (* a4) (void*, void * handler__context); void* a5;} 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((snikket::Chat((hx::Object *)data->args.a0, true))->lastMessageId__fromC());
+ (borogove::CommandSession((hx::Object *)data->args.a0, true))->execute__fromC(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();
@@ -5695,21 +8192,20 @@ const char *snikket_chat_last_message_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1, a2, a3, a4, a5} };
- // queue a callback to execute lastMessageId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute execute__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 *snikket_chat_last_message_timestamp(void *a0) {
+const char *borogove_form_option_label(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Chat((hx::Object *)a0, true))->lastMessageTimestamp());
+ return HaxeCBridge::retainHaxeString((borogove::FormOption((hx::Object *)a0, true))->label__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -5721,7 +8217,7 @@ const char *snikket_chat_last_message_timestamp(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Chat((hx::Object *)data->args.a0, true))->lastMessageTimestamp());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::FormOption((hx::Object *)data->args.a0, true))->label__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5731,21 +8227,21 @@ const char *snikket_chat_last_message_timestamp(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute lastMessageTimestamp() on the main thread and wait until execution completes
+ // queue a callback to execute label__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 *snikket_chat_get_photo(void *a0) {
+const char *borogove_form_option_value(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Chat((hx::Object *)a0, true))->getPhoto());
+ return HaxeCBridge::retainHaxeString((borogove::FormOption((hx::Object *)a0, true))->value__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -5757,7 +8253,7 @@ const char *snikket_chat_get_photo(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Chat((hx::Object *)data->args.a0, true))->getPhoto());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::FormOption((hx::Object *)data->args.a0, true))->value__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5767,33 +8263,33 @@ const char *snikket_chat_get_photo(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute getPhoto() on the main thread and wait until execution completes
+ // queue a callback to execute value__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 *snikket_chat_get_placeholder(void *a0) {
+bool borogove_form_is_result(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Chat((hx::Object *)a0, true))->getPlaceholder());
+ return (borogove::Form((hx::Object *)a0, true))->isResult();
}
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((snikket::Chat((hx::Object *)data->args.a0, true))->getPlaceholder());
+ data->ret = (borogove::Form((hx::Object *)data->args.a0, true))->isResult();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5803,21 +8299,21 @@ const char *snikket_chat_get_placeholder(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute getPlaceholder() on the main thread and wait until execution completes
+ // queue a callback to execute isResult() 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 *snikket_chat_read_up_to(void *a0) {
+const char *borogove_form_title(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Chat((hx::Object *)a0, true))->readUpTo());
+ return HaxeCBridge::retainHaxeString((borogove::Form((hx::Object *)a0, true))->title());
}
struct Data {
struct {void * a0;} args;
@@ -5829,7 +8325,7 @@ const char *snikket_chat_read_up_to(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Chat((hx::Object *)data->args.a0, true))->readUpTo());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Form((hx::Object *)data->args.a0, true))->title());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5839,33 +8335,33 @@ const char *snikket_chat_read_up_to(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute readUpTo() on the main thread and wait until execution completes
+ // queue a callback to execute title() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
return data.ret;
}
HAXE_C_BRIDGE_LINKAGE
-int snikket_chat_unread_count(void *a0) {
+const char *borogove_form_url(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->unreadCount();
+ return HaxeCBridge::retainHaxeString((borogove::Form((hx::Object *)a0, true))->url());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- int ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::Chat((hx::Object *)data->args.a0, true))->unreadCount();
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Form((hx::Object *)data->args.a0, true))->url());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5875,33 +8371,33 @@ int snikket_chat_unread_count(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute unreadCount() on the main thread and wait until execution completes
+ // queue a callback to execute url() 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 *snikket_chat_preview(void *a0) {
+size_t borogove_form_items(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Chat((hx::Object *)a0, true))->preview());
+ return (borogove::Form((hx::Object *)a0, true))->items__fromC(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void*** a1;} args;
HxSemaphore lock;
- const char * ret;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Chat((hx::Object *)data->args.a0, true))->preview());
+ data->ret = (borogove::Form((hx::Object *)data->args.a0, true))->items__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5911,32 +8407,33 @@ const char *snikket_chat_preview(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute preview() on the main thread and wait until execution completes
+ // queue a callback to execute items__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 snikket_chat_set_display_name(void *a0, const char *a1) {
+const char *borogove_form_item_text(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->setDisplayName(a1);
+ return HaxeCBridge::retainHaxeString((borogove::FormItem((hx::Object *)a0, true))->text__fromC());
}
struct Data {
- struct {void * a0; const char * a1;} args;
+ 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 {
- (snikket::Chat((hx::Object *)data->args.a0, true))->setDisplayName(data->args.a1);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::FormItem((hx::Object *)data->args.a0, true))->text__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5946,32 +8443,33 @@ void snikket_chat_set_display_name(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute setDisplayName() on the main thread and wait until execution completes
+ // queue a callback to execute text__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 *snikket_chat_get_display_name(void *a0) {
+void *borogove_form_item_field(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Chat((hx::Object *)a0, true))->getDisplayName());
+ return HaxeCBridge::retainHaxeObject((borogove::FormItem((hx::Object *)a0, true))->field__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- const char * ret;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Chat((hx::Object *)data->args.a0, true))->getDisplayName());
+ data->ret = HaxeCBridge::retainHaxeObject((borogove::FormItem((hx::Object *)data->args.a0, true))->field__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5981,32 +8479,33 @@ const char *snikket_chat_get_display_name(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute getDisplayName() on the main thread and wait until execution completes
+ // queue a callback to execute field__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 snikket_chat_set_trusted(void *a0, bool a1) {
+void *borogove_form_item_section(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->setTrusted(a1);
+ return HaxeCBridge::retainHaxeObject((borogove::FormItem((hx::Object *)a0, true))->section__fromC());
}
struct Data {
- struct {void * a0; bool a1;} args;
+ 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 {
- (snikket::Chat((hx::Object *)data->args.a0, true))->setTrusted(data->args.a1);
+ data->ret = HaxeCBridge::retainHaxeObject((borogove::FormItem((hx::Object *)data->args.a0, true))->section__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6016,32 +8515,33 @@ void snikket_chat_set_trusted(void *a0, bool a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute setTrusted() on the main thread and wait until execution completes
+ // queue a callback to execute section__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
-bool snikket_chat_is_trusted(void *a0) {
+const char *borogove_form_item_status(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->isTrusted();
+ return HaxeCBridge::retainHaxeString((borogove::FormItem((hx::Object *)a0, true))->status__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- bool ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::Chat((hx::Object *)data->args.a0, true))->isTrusted();
+ data->ret = HaxeCBridge::retainHaxeString((borogove::FormItem((hx::Object *)data->args.a0, true))->status__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6051,33 +8551,33 @@ bool snikket_chat_is_trusted(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute isTrusted() on the main thread and wait until execution completes
+ // queue a callback to execute status__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
-bool snikket_chat_syncing(void *a0) {
+size_t borogove_form_item_table_header(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->syncing();
+ return (borogove::FormItem((hx::Object *)a0, true))->tableHeader__fromC(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void*** a1;} args;
HxSemaphore lock;
- bool ret;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::Chat((hx::Object *)data->args.a0, true))->syncing();
+ data->ret = (borogove::FormItem((hx::Object *)data->args.a0, true))->tableHeader__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6087,33 +8587,33 @@ bool snikket_chat_syncing(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute syncing() on the main thread and wait until execution completes
+ // queue a callback to execute tableHeader__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
-bool snikket_chat_can_audio_call(void *a0) {
+const char *borogove_form_field_name(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->canAudioCall();
+ return HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)a0, true))->name__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- bool ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::Chat((hx::Object *)data->args.a0, true))->canAudioCall();
+ data->ret = HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)data->args.a0, true))->name__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6123,33 +8623,33 @@ bool snikket_chat_can_audio_call(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute canAudioCall() on the main thread and wait until execution completes
+ // queue a callback to execute name__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
-bool snikket_chat_can_video_call(void *a0) {
+const char *borogove_form_field_label(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->canVideoCall();
+ return HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)a0, true))->label__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- bool ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::Chat((hx::Object *)data->args.a0, true))->canVideoCall();
+ data->ret = HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)data->args.a0, true))->label__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6159,32 +8659,33 @@ bool snikket_chat_can_video_call(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute canVideoCall() on the main thread and wait until execution completes
+ // queue a callback to execute label__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 snikket_chat_start_call(void *a0, bool a1, bool a2) {
+const char *borogove_form_field_desc(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->startCall(a1, a2);
+ return HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)a0, true))->desc__fromC());
}
struct Data {
- struct {void * a0; bool a1; bool a2;} args;
+ 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 {
- (snikket::Chat((hx::Object *)data->args.a0, true))->startCall(data->args.a1, data->args.a2);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)data->args.a0, true))->desc__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6194,31 +8695,33 @@ void snikket_chat_start_call(void *a0, bool a1, bool a2) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute startCall() on the main thread and wait until execution completes
+ // queue a callback to execute desc__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 snikket_chat_accept_call(void *a0) {
+size_t borogove_form_field_value(void *a0, const char ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->acceptCall();
+ return (borogove::FormField((hx::Object *)a0, true))->value__fromC(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; const char*** a1;} args;
HxSemaphore lock;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::Chat((hx::Object *)data->args.a0, true))->acceptCall();
+ data->ret = (borogove::FormField((hx::Object *)data->args.a0, true))->value__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6228,31 +8731,33 @@ void snikket_chat_accept_call(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute acceptCall() on the main thread and wait until execution completes
+ // queue a callback to execute value__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 snikket_chat_hangup(void *a0) {
+bool borogove_form_field_required(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->hangup();
+ return (borogove::FormField((hx::Object *)a0, true))->required__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 {
- (snikket::Chat((hx::Object *)data->args.a0, true))->hangup();
+ data->ret = (borogove::FormField((hx::Object *)data->args.a0, true))->required__fromC();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6262,32 +8767,33 @@ void snikket_chat_hangup(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute hangup() on the main thread and wait until execution completes
+ // queue a callback to execute required__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
-enum snikket_jingle_call_status snikket_chat_call_status(void *a0) {
+const char *borogove_form_field_type(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return static_cast<enum snikket_jingle_call_status>((snikket::Chat((hx::Object *)a0, true))->callStatus());
+ return HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)a0, true))->type__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- enum snikket_jingle_call_status ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = static_cast<enum snikket_jingle_call_status>((snikket::Chat((hx::Object *)data->args.a0, true))->callStatus());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)data->args.a0, true))->type__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6297,33 +8803,33 @@ enum snikket_jingle_call_status snikket_chat_call_status(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute callStatus() on the main thread and wait until execution completes
+ // queue a callback to execute type__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 *snikket_chat_dtmf(void *a0) {
+const char *borogove_form_field_datatype(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject((snikket::Chat((hx::Object *)a0, true))->dtmf());
+ return HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)a0, true))->datatype__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- void * ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject((snikket::Chat((hx::Object *)data->args.a0, true))->dtmf());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)data->args.a0, true))->datatype__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6333,21 +8839,21 @@ void *snikket_chat_dtmf(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute dtmf() on the main thread and wait until execution completes
+ // queue a callback to execute datatype__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
-size_t snikket_chat_video_tracks(void *a0, void ***a1) {
+size_t borogove_form_field_options(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Chat((hx::Object *)a0, true))->videoTracks__fromC(a1);
+ return (borogove::FormField((hx::Object *)a0, true))->options__fromC(a1);
}
struct Data {
struct {void * a0; void*** a1;} args;
@@ -6359,7 +8865,7 @@ size_t snikket_chat_video_tracks(void *a0, void ***a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::Chat((hx::Object *)data->args.a0, true))->videoTracks__fromC(data->args.a1);
+ data->ret = (borogove::FormField((hx::Object *)data->args.a0, true))->options__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6369,33 +8875,33 @@ size_t snikket_chat_video_tracks(void *a0, void ***a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 videoTracks__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute options__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 *snikket_jingle_media_stream_track_id(void *a0) {
+bool borogove_form_field_open(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::jingle::MediaStreamTrack((hx::Object *)a0, true))->id__fromC());
+ return (borogove::FormField((hx::Object *)a0, true))->open__fromC();
}
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((snikket::jingle::MediaStreamTrack((hx::Object *)data->args.a0, true))->id__fromC());
+ data->ret = (borogove::FormField((hx::Object *)data->args.a0, true))->open__fromC();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6405,33 +8911,33 @@ const char *snikket_jingle_media_stream_track_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute id__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute open__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
-bool snikket_jingle_media_stream_track_muted(void *a0) {
+const char *borogove_form_field_range_min(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::MediaStreamTrack((hx::Object *)a0, true))->muted__fromC();
+ return HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)a0, true))->rangeMin__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- bool ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::jingle::MediaStreamTrack((hx::Object *)data->args.a0, true))->muted__fromC();
+ data->ret = HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)data->args.a0, true))->rangeMin__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6441,21 +8947,21 @@ bool snikket_jingle_media_stream_track_muted(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute muted__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute rangeMin__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 *snikket_jingle_media_stream_track_kind(void *a0) {
+const char *borogove_form_field_range_max(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::jingle::MediaStreamTrack((hx::Object *)a0, true))->kind__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)a0, true))->rangeMax__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -6467,7 +8973,7 @@ const char *snikket_jingle_media_stream_track_kind(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::jingle::MediaStreamTrack((hx::Object *)data->args.a0, true))->kind__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)data->args.a0, true))->rangeMax__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6477,33 +8983,33 @@ const char *snikket_jingle_media_stream_track_kind(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute kind__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute rangeMax__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
-size_t snikket_jingle_media_stream_track_supported_audio_formats(void *a0, void ***a1) {
+const char *borogove_form_field_regex(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::MediaStreamTrack((hx::Object *)a0, true))->supportedAudioFormats__fromC(a1);
+ return HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)a0, true))->regex__fromC());
}
struct Data {
- struct {void * a0; void*** a1;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
- size_t ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::jingle::MediaStreamTrack((hx::Object *)data->args.a0, true))->supportedAudioFormats__fromC(data->args.a1);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::FormField((hx::Object *)data->args.a0, true))->regex__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6513,32 +9019,33 @@ size_t snikket_jingle_media_stream_track_supported_audio_formats(void *a0, void
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute supportedAudioFormats__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute regex__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 snikket_jingle_media_stream_track_add_pcm_listener(void *a0, void (*a1) (short*, size_t, int, int, void*), void *a2) {
+const char *borogove_available_chat_chat_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::MediaStreamTrack((hx::Object *)a0, true))->addPCMListener__fromC(cpp::Function<void(short*, size_t, int, int, void*)>(a1), a2);
+ return HaxeCBridge::retainHaxeString((borogove::AvailableChat((hx::Object *)a0, true))->chatId__fromC());
}
struct Data {
- struct {void * a0; void (* a1) (short*, size_t, int, int, void*); void* a2;} args;
+ 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 {
- (snikket::jingle::MediaStreamTrack((hx::Object *)data->args.a0, true))->addPCMListener__fromC(cpp::Function<void(short*, size_t, int, int, void*)>(data->args.a1), data->args.a2);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::AvailableChat((hx::Object *)data->args.a0, true))->chatId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6548,31 +9055,33 @@ void snikket_jingle_media_stream_track_add_pcm_listener(void *a0, void (*a1) (sh
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute addPCMListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute chatId__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 snikket_jingle_media_stream_track_add_ready_for_pcm_listener(void *a0, void (*a1) (void*), void *a2) {
+const char *borogove_available_chat_display_name(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::MediaStreamTrack((hx::Object *)a0, true))->addReadyForPCMListener__fromC(cpp::Function<void(void*)>(a1), a2);
+ return HaxeCBridge::retainHaxeString((borogove::AvailableChat((hx::Object *)a0, true))->displayName__fromC());
}
struct Data {
- struct {void * a0; void (* a1) (void*); void* a2;} args;
+ 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 {
- (snikket::jingle::MediaStreamTrack((hx::Object *)data->args.a0, true))->addReadyForPCMListener__fromC(cpp::Function<void(void*)>(data->args.a1), data->args.a2);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::AvailableChat((hx::Object *)data->args.a0, true))->displayName__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6582,31 +9091,33 @@ void snikket_jingle_media_stream_track_add_ready_for_pcm_listener(void *a0, void
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {a0} };
- // queue a callback to execute addReadyForPCMListener__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute displayName__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 snikket_jingle_media_stream_track_write_pcm(void *a0, const short *a1, size_t a2, int a3, int a4) {
+const char *borogove_available_chat_note(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::MediaStreamTrack((hx::Object *)a0, true))->writePCM__fromC(a1, a2, a3, a4);
+ return HaxeCBridge::retainHaxeString((borogove::AvailableChat((hx::Object *)a0, true))->note__fromC());
}
struct Data {
- struct {void * a0; const short* a1; size_t a2; int a3; int a4;} args;
+ 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 {
- (snikket::jingle::MediaStreamTrack((hx::Object *)data->args.a0, true))->writePCM__fromC(data->args.a1, data->args.a2, data->args.a3, data->args.a4);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::AvailableChat((hx::Object *)data->args.a0, true))->note__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6616,31 +9127,33 @@ void snikket_jingle_media_stream_track_write_pcm(void *a0, const short *a1, size
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2, a3, a4} };
+ Data data = { {a0} };
- // queue a callback to execute writePCM__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute note__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 snikket_jingle_media_stream_track_stop(void *a0) {
+bool borogove_available_chat_is_channel(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::MediaStreamTrack((hx::Object *)a0, true))->stop();
+ return (borogove::AvailableChat((hx::Object *)a0, true))->isChannel();
}
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 {
- (snikket::jingle::MediaStreamTrack((hx::Object *)data->args.a0, true))->stop();
+ data->ret = (borogove::AvailableChat((hx::Object *)data->args.a0, true))->isChannel();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6650,32 +9163,33 @@ void snikket_jingle_media_stream_track_stop(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute stop() on the main thread and wait until execution completes
+ // queue a callback to execute isChannel() 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 *snikket_jingle_audio_format_new(const char *a0, unsigned char a1, int a2, int a3) {
+const char *borogove_calls_initiated_session_sid(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject(snikket::jingle::AudioFormat_obj::__new(a0, a1, a2, a3));
+ return HaxeCBridge::retainHaxeString((borogove::calls::InitiatedSession((hx::Object *)a0, true))->sid__fromC());
}
struct Data {
- struct {const char * a0; unsigned char a1; int a2; int a3;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
- void * ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject(snikket::jingle::AudioFormat_obj::__new(data->args.a0, data->args.a1, data->args.a2, data->args.a3));
+ data->ret = HaxeCBridge::retainHaxeString((borogove::calls::InitiatedSession((hx::Object *)data->args.a0, true))->sid__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6685,33 +9199,33 @@ void *snikket_jingle_audio_format_new(const char *a0, unsigned char a1, int a2,
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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} };
- // queue a callback to execute new() on the main thread and wait until execution completes
+ // queue a callback to execute sid__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
-int snikket_jingle_audio_format_clock_rate(void *a0) {
+const char *borogove_calls_initiated_session_chat_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::AudioFormat((hx::Object *)a0, true))->clockRate__fromC();
+ return HaxeCBridge::retainHaxeString((borogove::calls::InitiatedSession((hx::Object *)a0, true))->chatId__fromC());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- int ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::jingle::AudioFormat((hx::Object *)data->args.a0, true))->clockRate__fromC();
+ data->ret = HaxeCBridge::retainHaxeString((borogove::calls::InitiatedSession((hx::Object *)data->args.a0, true))->chatId__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6721,33 +9235,32 @@ int snikket_jingle_audio_format_clock_rate(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute clockRate__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute chatId__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
-int snikket_jingle_audio_format_channels(void *a0) {
+void borogove_calls_initiated_session_accept(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::AudioFormat((hx::Object *)a0, true))->channels__fromC();
+ return (borogove::calls::InitiatedSession((hx::Object *)a0, true))->accept();
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- int ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::jingle::AudioFormat((hx::Object *)data->args.a0, true))->channels__fromC();
+ (borogove::calls::InitiatedSession((hx::Object *)data->args.a0, true))->accept();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6757,33 +9270,31 @@ int snikket_jingle_audio_format_channels(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute channels__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute accept() 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 *snikket_available_chat_chat_id(void *a0) {
+void borogove_calls_initiated_session_hangup(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::AvailableChat((hx::Object *)a0, true))->chatId__fromC());
+ return (borogove::calls::InitiatedSession((hx::Object *)a0, true))->hangup();
}
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((snikket::AvailableChat((hx::Object *)data->args.a0, true))->chatId__fromC());
+ (borogove::calls::InitiatedSession((hx::Object *)data->args.a0, true))->hangup();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6793,33 +9304,31 @@ const char *snikket_available_chat_chat_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute chatId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute hangup() 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 *snikket_available_chat_display_name(void *a0) {
+void borogove_calls_initiated_session_add_media(void *a0, void *const *a1, size_t a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::AvailableChat((hx::Object *)a0, true))->displayName__fromC());
+ return (borogove::calls::InitiatedSession((hx::Object *)a0, true))->addMedia__fromC(a1, a2);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void* const* a1; size_t a2;} 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((snikket::AvailableChat((hx::Object *)data->args.a0, true))->displayName__fromC());
+ (borogove::calls::InitiatedSession((hx::Object *)data->args.a0, true))->addMedia__fromC(data->args.a1, data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6829,33 +9338,32 @@ const char *snikket_available_chat_display_name(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1, a2} };
- // queue a callback to execute displayName__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute addMedia__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 *snikket_available_chat_note(void *a0) {
+enum borogove_calls_call_status borogove_calls_initiated_session_call_status(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::AvailableChat((hx::Object *)a0, true))->note__fromC());
+ return static_cast<enum borogove_calls_call_status>((borogove::calls::InitiatedSession((hx::Object *)a0, true))->callStatus());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- const char * ret;
+ enum borogove_calls_call_status ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::AvailableChat((hx::Object *)data->args.a0, true))->note__fromC());
+ data->ret = static_cast<enum borogove_calls_call_status>((borogove::calls::InitiatedSession((hx::Object *)data->args.a0, true))->callStatus());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6865,33 +9373,33 @@ const char *snikket_available_chat_note(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute note__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute callStatus() 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 snikket_available_chat_is_channel(void *a0) {
+size_t borogove_calls_initiated_session_audio_tracks(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::AvailableChat((hx::Object *)a0, true))->isChannel();
+ return (borogove::calls::InitiatedSession((hx::Object *)a0, true))->audioTracks__fromC(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void*** a1;} args;
HxSemaphore lock;
- bool ret;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::AvailableChat((hx::Object *)data->args.a0, true))->isChannel();
+ data->ret = (borogove::calls::InitiatedSession((hx::Object *)data->args.a0, true))->audioTracks__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6901,33 +9409,33 @@ bool snikket_available_chat_is_channel(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute isChannel() on the main thread and wait until execution completes
+ // queue a callback to execute audioTracks__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 *snikket_jingle_initiated_session_sid(void *a0) {
+size_t borogove_calls_initiated_session_video_tracks(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::jingle::InitiatedSession((hx::Object *)a0, true))->sid__fromC());
+ return (borogove::calls::InitiatedSession((hx::Object *)a0, true))->videoTracks__fromC(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void*** a1;} args;
HxSemaphore lock;
- const char * ret;
+ size_t ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::jingle::InitiatedSession((hx::Object *)data->args.a0, true))->sid__fromC());
+ data->ret = (borogove::calls::InitiatedSession((hx::Object *)data->args.a0, true))->videoTracks__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6937,33 +9445,33 @@ const char *snikket_jingle_initiated_session_sid(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute sid__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute videoTracks__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 *snikket_jingle_initiated_session_chat_id(void *a0) {
+void *borogove_calls_initiated_session_dtmf(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::jingle::InitiatedSession((hx::Object *)a0, true))->chatId__fromC());
+ return HaxeCBridge::retainHaxeObject((borogove::calls::InitiatedSession((hx::Object *)a0, true))->dtmf());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- const char * ret;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::jingle::InitiatedSession((hx::Object *)data->args.a0, true))->chatId__fromC());
+ data->ret = HaxeCBridge::retainHaxeObject((borogove::calls::InitiatedSession((hx::Object *)data->args.a0, true))->dtmf());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -6973,24 +9481,24 @@ const char *snikket_jingle_initiated_session_chat_id(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute chatId__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute dtmf() 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 snikket_jingle_initiated_session_accept(void *a0) {
+void borogove_calls_initiated_session_supply_media(void *a0, void *const *a1, size_t a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::InitiatedSession((hx::Object *)a0, true))->accept();
+ return (borogove::calls::InitiatedSession((hx::Object *)a0, true))->supplyMedia__fromC(a1, a2);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void* const* a1; size_t a2;} args;
HxSemaphore lock;
};
struct Callback {
@@ -6998,7 +9506,7 @@ void snikket_jingle_initiated_session_accept(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::jingle::InitiatedSession((hx::Object *)data->args.a0, true))->accept();
+ (borogove::calls::InitiatedSession((hx::Object *)data->args.a0, true))->supplyMedia__fromC(data->args.a1, data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7008,31 +9516,32 @@ void snikket_jingle_initiated_session_accept(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1, a2} };
- // queue a callback to execute accept() on the main thread and wait until execution completes
+ // queue a callback to execute supplyMedia__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_jingle_initiated_session_hangup(void *a0) {
+void *borogove_calls_media_stream_new() {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::InitiatedSession((hx::Object *)a0, true))->hangup();
+ return HaxeCBridge::retainHaxeObject(borogove::calls::MediaStream_obj::__new());
}
struct Data {
- struct {void * a0;} args;
+ struct {} args;
HxSemaphore lock;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::jingle::InitiatedSession((hx::Object *)data->args.a0, true))->hangup();
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::calls::MediaStream_obj::__new());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7042,31 +9551,33 @@ void snikket_jingle_initiated_session_hangup(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {} };
- // queue a callback to execute hangup() on the main thread and wait until execution completes
+ // queue a callback to execute new() 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 snikket_jingle_initiated_session_add_media(void *a0, void *const *a1, size_t a2) {
+void *borogove_calls_media_stream_make_audio() {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::InitiatedSession((hx::Object *)a0, true))->addMedia__fromC(a1, a2);
+ return HaxeCBridge::retainHaxeObject(borogove::calls::MediaStream_obj::makeAudio());
}
struct Data {
- struct {void * a0; void* const* a1; size_t a2;} args;
+ struct {} args;
HxSemaphore lock;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::jingle::InitiatedSession((hx::Object *)data->args.a0, true))->addMedia__fromC(data->args.a1, data->args.a2);
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::calls::MediaStream_obj::makeAudio());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7076,32 +9587,32 @@ void snikket_jingle_initiated_session_add_media(void *a0, void *const *a1, size_
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2} };
+ Data data = { {} };
- // queue a callback to execute addMedia__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute makeAudio() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
+ return data.ret;
}
HAXE_C_BRIDGE_LINKAGE
-enum snikket_jingle_call_status snikket_jingle_initiated_session_call_status(void *a0) {
+void borogove_calls_media_stream_add_track(void *a0, void *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return static_cast<enum snikket_jingle_call_status>((snikket::jingle::InitiatedSession((hx::Object *)a0, true))->callStatus());
+ return (borogove::calls::MediaStream((hx::Object *)a0, true))->addTrack(Dynamic((hx::Object *)a1));
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void * a1;} args;
HxSemaphore lock;
- enum snikket_jingle_call_status ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = static_cast<enum snikket_jingle_call_status>((snikket::jingle::InitiatedSession((hx::Object *)data->args.a0, true))->callStatus());
+ (borogove::calls::MediaStream((hx::Object *)data->args.a0, true))->addTrack(Dynamic((hx::Object *)data->args.a1));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7111,21 +9622,20 @@ enum snikket_jingle_call_status snikket_jingle_initiated_session_call_status(voi
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute callStatus() on the main thread and wait until execution completes
+ // queue a callback to execute addTrack() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
- return data.ret;
}
HAXE_C_BRIDGE_LINKAGE
-size_t snikket_jingle_initiated_session_video_tracks(void *a0, void ***a1) {
+size_t borogove_calls_media_stream_get_tracks(void *a0, void ***a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::InitiatedSession((hx::Object *)a0, true))->videoTracks__fromC(a1);
+ return (borogove::calls::MediaStream((hx::Object *)a0, true))->getTracks__fromC(a1);
}
struct Data {
struct {void * a0; void*** a1;} args;
@@ -7137,7 +9647,7 @@ size_t snikket_jingle_initiated_session_video_tracks(void *a0, void ***a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::jingle::InitiatedSession((hx::Object *)data->args.a0, true))->videoTracks__fromC(data->args.a1);
+ data->ret = (borogove::calls::MediaStream((hx::Object *)data->args.a0, true))->getTracks__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7147,24 +9657,24 @@ size_t snikket_jingle_initiated_session_video_tracks(void *a0, void ***a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 videoTracks__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute getTracks__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 *snikket_jingle_initiated_session_dtmf(void *a0) {
+void *borogove_form_submit_builder_new() {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject((snikket::jingle::InitiatedSession((hx::Object *)a0, true))->dtmf());
+ return HaxeCBridge::retainHaxeObject(borogove::FormSubmitBuilder_obj::__new());
}
struct Data {
- struct {void * a0;} args;
+ struct {} args;
HxSemaphore lock;
void * ret;
};
@@ -7173,7 +9683,7 @@ void *snikket_jingle_initiated_session_dtmf(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject((snikket::jingle::InitiatedSession((hx::Object *)data->args.a0, true))->dtmf());
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::FormSubmitBuilder_obj::__new());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7183,24 +9693,24 @@ void *snikket_jingle_initiated_session_dtmf(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {} };
- // queue a callback to execute dtmf() on the main thread and wait until execution completes
+ // queue a callback to execute new() 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 snikket_jingle_initiated_session_supply_media(void *a0, void *const *a1, size_t a2) {
+void borogove_form_submit_builder_add(void *a0, const char *a1, const char *a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::InitiatedSession((hx::Object *)a0, true))->supplyMedia__fromC(a1, a2);
+ return (borogove::FormSubmitBuilder((hx::Object *)a0, true))->add(a1, a2);
}
struct Data {
- struct {void * a0; void* const* a1; size_t a2;} args;
+ struct {void * a0; const char * a1; const char * a2;} args;
HxSemaphore lock;
};
struct Callback {
@@ -7208,7 +9718,7 @@ void snikket_jingle_initiated_session_supply_media(void *a0, void *const *a1, si
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::jingle::InitiatedSession((hx::Object *)data->args.a0, true))->supplyMedia__fromC(data->args.a1, data->args.a2);
+ (borogove::FormSubmitBuilder((hx::Object *)data->args.a0, true))->add(data->args.a1, data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7218,23 +9728,23 @@ void snikket_jingle_initiated_session_supply_media(void *a0, void *const *a1, si
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 supplyMedia__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute add() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void *snikket_jingle_media_stream_new() {
+void *borogove_attachment_source_new(const char *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject(snikket::jingle::MediaStream_obj::__new());
+ return HaxeCBridge::retainHaxeObject(borogove::AttachmentSource_obj::__new(a0, a1));
}
struct Data {
- struct {} args;
+ struct {const char * a0; const char * a1;} args;
HxSemaphore lock;
void * ret;
};
@@ -7243,7 +9753,7 @@ void *snikket_jingle_media_stream_new() {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject(snikket::jingle::MediaStream_obj::__new());
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::AttachmentSource_obj::__new(data->args.a0, data->args.a1));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7253,10 +9763,10 @@ void *snikket_jingle_media_stream_new() {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {} };
+ Data data = { {a0, a1} };
// queue a callback to execute new() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
@@ -7265,21 +9775,21 @@ void *snikket_jingle_media_stream_new() {
}
HAXE_C_BRIDGE_LINKAGE
-void *snikket_jingle_media_stream_make_audio() {
+const char *borogove_attachment_source_path(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject(snikket::jingle::MediaStream_obj::makeAudio());
+ return HaxeCBridge::retainHaxeString((borogove::AttachmentSource((hx::Object *)a0, true))->path__fromC());
}
struct Data {
- struct {} args;
+ struct {void * a0;} args;
HxSemaphore lock;
- void * ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeObject(snikket::jingle::MediaStream_obj::makeAudio());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::AttachmentSource((hx::Object *)data->args.a0, true))->path__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7289,32 +9799,33 @@ void *snikket_jingle_media_stream_make_audio() {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {} };
+ Data data = { {a0} };
- // queue a callback to execute makeAudio() on the main thread and wait until execution completes
+ // queue a callback to execute path__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 snikket_jingle_media_stream_add_track(void *a0, void *a1) {
+const char *borogove_attachment_source_type(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::MediaStream((hx::Object *)a0, true))->addTrack(Dynamic((hx::Object *)a1));
+ return HaxeCBridge::retainHaxeString((borogove::AttachmentSource((hx::Object *)a0, true))->type__fromC());
}
struct Data {
- struct {void * a0; void * a1;} args;
+ 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 {
- (snikket::jingle::MediaStream((hx::Object *)data->args.a0, true))->addTrack(Dynamic((hx::Object *)data->args.a1));
+ data->ret = HaxeCBridge::retainHaxeString((borogove::AttachmentSource((hx::Object *)data->args.a0, true))->type__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7324,32 +9835,33 @@ void snikket_jingle_media_stream_add_track(void *a0, void *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute addTrack() on the main thread and wait until execution completes
+ // queue a callback to execute type__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
-size_t snikket_jingle_media_stream_get_tracks(void *a0, void ***a1) {
+const char *borogove_attachment_source_name(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::MediaStream((hx::Object *)a0, true))->getTracks__fromC(a1);
+ return HaxeCBridge::retainHaxeString((borogove::AttachmentSource((hx::Object *)a0, true))->name__fromC());
}
struct Data {
- struct {void * a0; void*** a1;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
- size_t ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::jingle::MediaStream((hx::Object *)data->args.a0, true))->getTracks__fromC(data->args.a1);
+ data->ret = HaxeCBridge::retainHaxeString((borogove::AttachmentSource((hx::Object *)data->args.a0, true))->name__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7359,33 +9871,33 @@ size_t snikket_jingle_media_stream_get_tracks(void *a0, void ***a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0} };
- // queue a callback to execute getTracks__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute name__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 *snikket_participant_display_name(void *a0) {
+int borogove_attachment_source_size(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Participant((hx::Object *)a0, true))->displayName__fromC());
+ return (borogove::AttachmentSource((hx::Object *)a0, true))->size__fromC();
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- const char * ret;
+ int ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Participant((hx::Object *)data->args.a0, true))->displayName__fromC());
+ data->ret = (borogove::AttachmentSource((hx::Object *)data->args.a0, true))->size__fromC();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7395,33 +9907,33 @@ const char *snikket_participant_display_name(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute displayName__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute size__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 *snikket_participant_photo_uri(void *a0) {
+void *borogove_profile_builder_new(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Participant((hx::Object *)a0, true))->photoUri__fromC());
+ return HaxeCBridge::retainHaxeObject(borogove::ProfileBuilder_obj::__new(Dynamic((hx::Object *)a0)));
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- const char * ret;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::Participant((hx::Object *)data->args.a0, true))->photoUri__fromC());
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::ProfileBuilder_obj::__new(Dynamic((hx::Object *)data->args.a0)));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7431,33 +9943,32 @@ const char *snikket_participant_photo_uri(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute photoUri__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute new() 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 *snikket_participant_placeholder_uri(void *a0) {
+void borogove_profile_builder_add(void *a0, const char *a1, const char *a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::Participant((hx::Object *)a0, true))->placeholderUri__fromC());
+ return (borogove::ProfileBuilder((hx::Object *)a0, true))->add(a1, a2);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; const char * a1; const char * a2;} 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((snikket::Participant((hx::Object *)data->args.a0, true))->placeholderUri__fromC());
+ (borogove::ProfileBuilder((hx::Object *)data->args.a0, true))->add(data->args.a1, data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7467,33 +9978,31 @@ const char *snikket_participant_placeholder_uri(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1, a2} };
- // queue a callback to execute placeholderUri__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute add() 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 snikket_participant_is_self(void *a0) {
+void borogove_profile_builder_set(void *a0, const char *a1, const char *a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Participant((hx::Object *)a0, true))->isSelf__fromC();
+ return (borogove::ProfileBuilder((hx::Object *)a0, true))->set(a1, a2);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; const char * 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 = (snikket::Participant((hx::Object *)data->args.a0, true))->isSelf__fromC();
+ (borogove::ProfileBuilder((hx::Object *)data->args.a0, true))->set(data->args.a1, data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7503,33 +10012,31 @@ bool snikket_participant_is_self(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1, a2} };
- // queue a callback to execute isSelf__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set() 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 *snikket_attachment_source_new(const char *a0, const char *a1) {
+void borogove_profile_builder_move(void *a0, const char *a1, const char *a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeObject(snikket::AttachmentSource_obj::__new(a0, a1));
+ return (borogove::ProfileBuilder((hx::Object *)a0, true))->move(a1, a2);
}
struct Data {
- struct {const char * a0; const char * a1;} args;
+ struct {void * a0; const char * a1; const char * a2;} 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(snikket::AttachmentSource_obj::__new(data->args.a0, data->args.a1));
+ (borogove::ProfileBuilder((hx::Object *)data->args.a0, true))->move(data->args.a1, data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7539,33 +10046,31 @@ void *snikket_attachment_source_new(const char *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ 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 new() on the main thread and wait until execution completes
+ // queue a callback to execute move() 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 *snikket_attachment_source_path(void *a0) {
+void borogove_profile_builder_remove(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::AttachmentSource((hx::Object *)a0, true))->path__fromC());
+ return (borogove::ProfileBuilder((hx::Object *)a0, true))->remove(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; const char * a1;} 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((snikket::AttachmentSource((hx::Object *)data->args.a0, true))->path__fromC());
+ (borogove::ProfileBuilder((hx::Object *)data->args.a0, true))->remove(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7575,33 +10080,32 @@ const char *snikket_attachment_source_path(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute path__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute remove() 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 *snikket_attachment_source_type(void *a0) {
+void *borogove_profile_builder_build(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::AttachmentSource((hx::Object *)a0, true))->type__fromC());
+ return HaxeCBridge::retainHaxeObject((borogove::ProfileBuilder((hx::Object *)a0, true))->build());
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- const char * ret;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::AttachmentSource((hx::Object *)data->args.a0, true))->type__fromC());
+ data->ret = HaxeCBridge::retainHaxeObject((borogove::ProfileBuilder((hx::Object *)data->args.a0, true))->build());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7611,21 +10115,21 @@ const char *snikket_attachment_source_type(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute type__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute build() 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 *snikket_attachment_source_name(void *a0) {
+const char *borogove_channel_description(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::AttachmentSource((hx::Object *)a0, true))->name__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::Channel((hx::Object *)a0, true))->description());
}
struct Data {
struct {void * a0;} args;
@@ -7637,7 +10141,7 @@ const char *snikket_attachment_source_name(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::AttachmentSource((hx::Object *)data->args.a0, true))->name__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::Channel((hx::Object *)data->args.a0, true))->description());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7647,33 +10151,33 @@ const char *snikket_attachment_source_name(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute name__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute description() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
return data.ret;
}
HAXE_C_BRIDGE_LINKAGE
-int snikket_attachment_source_size(void *a0) {
+bool borogove_channel_is_private(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::AttachmentSource((hx::Object *)a0, true))->size__fromC();
+ return (borogove::Channel((hx::Object *)a0, true))->isPrivate();
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- int ret;
+ bool ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (snikket::AttachmentSource((hx::Object *)data->args.a0, true))->size__fromC();
+ data->ret = (borogove::Channel((hx::Object *)data->args.a0, true))->isPrivate();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7683,33 +10187,32 @@ int snikket_attachment_source_size(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute size__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute isPrivate() 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 snikket_channel_is_private(void *a0) {
+void borogove_calls_dtmf_sender_insert_dtmf(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::Channel((hx::Object *)a0, true))->isPrivate();
+ return (borogove::calls::DTMFSender((hx::Object *)a0, true))->insertDTMF(a1);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; const char * 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 = (snikket::Channel((hx::Object *)data->args.a0, true))->isPrivate();
+ (borogove::calls::DTMFSender((hx::Object *)data->args.a0, true))->insertDTMF(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7719,33 +10222,32 @@ bool snikket_channel_is_private(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute isPrivate() on the main thread and wait until execution completes
+ // queue a callback to execute insertDTMF() 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 *snikket_custom_emoji_reaction_uri(void *a0) {
+void *borogove_custom_emoji_reaction_custom(const char *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((snikket::CustomEmojiReaction((hx::Object *)a0, true))->uri__fromC());
+ return HaxeCBridge::retainHaxeObject(borogove::CustomEmojiReaction_obj::custom(a0, a1));
}
struct Data {
- struct {void * a0;} args;
+ struct {const char * a0; const char * a1;} args;
HxSemaphore lock;
- const char * ret;
+ void * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((snikket::CustomEmojiReaction((hx::Object *)data->args.a0, true))->uri__fromC());
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::CustomEmojiReaction_obj::custom(data->args.a0, data->args.a1));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7755,24 +10257,24 @@ const char *snikket_custom_emoji_reaction_uri(void *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {a0, a1} };
- // queue a callback to execute uri__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute custom() 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 *snikket_identicon_svg(const char *a0) {
+const char *borogove_custom_emoji_reaction_uri(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString(snikket::Identicon_obj::svg(a0));
+ return HaxeCBridge::retainHaxeString((borogove::CustomEmojiReaction((hx::Object *)a0, true))->uri__fromC());
}
struct Data {
- struct {const char * a0;} args;
+ struct {void * a0;} args;
HxSemaphore lock;
const char * ret;
};
@@ -7781,7 +10283,7 @@ const char *snikket_identicon_svg(const char *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString(snikket::Identicon_obj::svg(data->args.a0));
+ data->ret = HaxeCBridge::retainHaxeString((borogove::CustomEmojiReaction((hx::Object *)data->args.a0, true))->uri__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7791,33 +10293,33 @@ const char *snikket_identicon_svg(const char *a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
Data data = { {a0} };
- // queue a callback to execute svg() on the main thread and wait until execution completes
+ // queue a callback to execute uri__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
-bool snikket_config_relative_hash_uri() {
+const char *borogove_identicon_svg(const char *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return snikket::Config_obj::relativeHashUri__fromC();
+ return HaxeCBridge::retainHaxeString(borogove::Identicon_obj::svg(a0));
}
struct Data {
- struct {} args;
+ struct {const char * a0;} args;
HxSemaphore lock;
- bool ret;
+ const char * ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = snikket::Config_obj::relativeHashUri__fromC();
+ data->ret = HaxeCBridge::retainHaxeString(borogove::Identicon_obj::svg(data->args.a0));
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7827,32 +10329,33 @@ bool snikket_config_relative_hash_uri() {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {} };
+ Data data = { {a0} };
- // queue a callback to execute relativeHashUri__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute svg() 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 snikket_config_set_relative_hash_uri(bool a0) {
+bool borogove_config_relative_hash_uri() {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return snikket::Config_obj::set_relativeHashUri__fromC(a0);
+ return borogove::Config_obj::relativeHashUri__fromC();
}
struct Data {
- struct {bool a0;} args;
+ struct {} args;
HxSemaphore lock;
+ bool ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- snikket::Config_obj::set_relativeHashUri__fromC(data->args.a0);
+ data->ret = borogove::Config_obj::relativeHashUri__fromC();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7862,23 +10365,24 @@ void snikket_config_set_relative_hash_uri(bool a0) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0} };
+ Data data = { {} };
- // queue a callback to execute set_relativeHashUri__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute relativeHashUri__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 snikket_config_enable_constrained_memory_mode() {
+void borogove_config_set_relative_hash_uri(bool a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return snikket::Config_obj::enableConstrainedMemoryMode();
+ return borogove::Config_obj::set_relativeHashUri__fromC(a0);
}
struct Data {
- struct {} args;
+ struct {bool a0;} args;
HxSemaphore lock;
};
struct Callback {
@@ -7886,7 +10390,7 @@ void snikket_config_enable_constrained_memory_mode() {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- snikket::Config_obj::enableConstrainedMemoryMode();
+ borogove::Config_obj::set_relativeHashUri__fromC(data->args.a0);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7896,23 +10400,23 @@ void snikket_config_enable_constrained_memory_mode() {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {} };
+ Data data = { {a0} };
- // queue a callback to execute enableConstrainedMemoryMode() on the main thread and wait until execution completes
+ // queue a callback to execute set_relativeHashUri__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void snikket_jingle_dtmf_sender_insert_dtmf(void *a0, const char *a1) {
+void borogove_config_enable_constrained_memory_mode() {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (snikket::jingle::DTMFSender((hx::Object *)a0, true))->insertDTMF(a1);
+ return borogove::Config_obj::enableConstrainedMemoryMode();
}
struct Data {
- struct {void * a0; const char * a1;} args;
+ struct {} args;
HxSemaphore lock;
};
struct Callback {
@@ -7920,7 +10424,7 @@ void snikket_jingle_dtmf_sender_insert_dtmf(void *a0, const char *a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (snikket::jingle::DTMFSender((hx::Object *)data->args.a0, true))->insertDTMF(data->args.a1);
+ borogove::Config_obj::enableConstrainedMemoryMode();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -7930,12 +10434,12 @@ void snikket_jingle_dtmf_sender_insert_dtmf(void *a0, const char *a1) {
};
#ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use snikket_initializeHaxeThread() to activate the haxe thread");
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {} };
- // queue a callback to execute insertDTMF() on the main thread and wait until execution completes
+ // queue a callback to execute enableConstrainedMemoryMode() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
diff --git a/Sources/c_snikket/src/__boot__.cpp b/Sources/c_borogove/src/__boot__.cpp
similarity index 66%
rename from Sources/c_snikket/src/__boot__.cpp
rename to Sources/c_borogove/src/__boot__.cpp
index 477bcd3..910f3d8 100644
--- a/Sources/c_snikket/src/__boot__.cpp
+++ b/Sources/c_borogove/src/__boot__.cpp
@@ -49,21 +49,6 @@
#ifndef INCLUDED_thenshim_fallback_PromiseState
#include <thenshim/fallback/PromiseState.h>
#endif
-#ifndef INCLUDED_snikket_IqRequestType
-#include <snikket/IqRequestType.h>
-#endif
-#ifndef INCLUDED_snikket_Node
-#include <snikket/Node.h>
-#endif
-#ifndef INCLUDED_snikket_MessageStanza
-#include <snikket/MessageStanza.h>
-#endif
-#ifndef INCLUDED_snikket_IqResult
-#include <snikket/IqResult.h>
-#endif
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
-#endif
#ifndef INCLUDED_hx_strings_internal__Either2__Either2
#include <hx/strings/internal/_Either2/_Either2.h>
#endif
@@ -82,6 +67,21 @@
#ifndef INCLUDED_haxe_StackItem
#include <haxe/StackItem.h>
#endif
+#ifndef INCLUDED_borogove_IqRequestType
+#include <borogove/IqRequestType.h>
+#endif
+#ifndef INCLUDED_borogove_Node
+#include <borogove/Node.h>
+#endif
+#ifndef INCLUDED_borogove_MessageStanza
+#include <borogove/MessageStanza.h>
+#endif
+#ifndef INCLUDED_borogove_IqResult
+#include <borogove/IqResult.h>
+#endif
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
+#endif
#ifndef INCLUDED_ValueType
#include <ValueType.h>
#endif
@@ -127,110 +127,149 @@
#ifndef INCLUDED_sys_Http
#include <sys/Http.h>
#endif
-#ifndef INCLUDED_snikket_persistence_Sqlite
-#include <snikket/persistence/Sqlite.h>
+#ifndef INCLUDED_sha__SHA256_SHA256_Fields_
+#include <sha/_SHA256/SHA256_Fields_.h>
+#endif
+#ifndef INCLUDED_hx_strings_StringBuilder
+#include <hx/strings/StringBuilder.h>
+#endif
+#ifndef INCLUDED_hx_strings_RandomStrings
+#include <hx/strings/RandomStrings.h>
+#endif
+#ifndef INCLUDED_htmlparser_HtmlParser
+#include <htmlparser/HtmlParser.h>
+#endif
+#ifndef INCLUDED_hsluv_Hsluv
+#include <hsluv/Hsluv.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_Base64
+#include <haxe/crypto/Base64.h>
#endif
-#ifndef INCLUDED_snikket_persistence_MediaStoreFS
-#include <snikket/persistence/MediaStoreFS.h>
+#ifndef INCLUDED_haxe_Log
+#include <haxe/Log.h>
#endif
-#ifndef INCLUDED_snikket_persistence_Dummy
-#include <snikket/persistence/Dummy.h>
+#ifndef INCLUDED_sys_thread__Thread_HaxeThread
+#include <sys/thread/_Thread/HaxeThread.h>
#endif
-#ifndef INCLUDED_snikket_jingle_InitiatedSession
-#include <snikket/jingle/InitiatedSession.h>
+#ifndef INCLUDED_borogove_persistence_Sqlite
+#include <borogove/persistence/Sqlite.h>
#endif
-#ifndef INCLUDED_snikket_jingle_MediaStream
-#include <snikket/jingle/MediaStream.h>
+#ifndef INCLUDED_borogove_persistence_MediaStoreFS
+#include <borogove/persistence/MediaStoreFS.h>
#endif
-#ifndef INCLUDED_snikket_jingle_MediaStreamTrack
-#include <snikket/jingle/MediaStreamTrack.h>
+#ifndef INCLUDED_borogove_persistence_Dummy
+#include <borogove/persistence/Dummy.h>
#endif
-#ifndef INCLUDED_snikket_jingle_AudioFormat
-#include <snikket/jingle/AudioFormat.h>
+#ifndef INCLUDED_borogove_calls_InitiatedSession
+#include <borogove/calls/InitiatedSession.h>
#endif
-#ifndef INCLUDED_snikket_jingle_DTMFSender
-#include <snikket/jingle/DTMFSender.h>
+#ifndef INCLUDED_borogove_calls_OutgoingProposedSession
+#include <borogove/calls/OutgoingProposedSession.h>
#endif
-#ifndef INCLUDED_snikket_CustomEmojiReaction
-#include <snikket/CustomEmojiReaction.h>
+#ifndef INCLUDED_borogove_calls_IncomingProposedSession
+#include <borogove/calls/IncomingProposedSession.h>
#endif
-#ifndef INCLUDED_snikket_Reaction
-#include <snikket/Reaction.h>
+#ifndef INCLUDED_borogove_calls_MediaStream
+#include <borogove/calls/MediaStream.h>
#endif
-#ifndef INCLUDED_snikket_Persistence
-#include <snikket/Persistence.h>
+#ifndef INCLUDED_borogove_calls_MediaStreamTrack
+#include <borogove/calls/MediaStreamTrack.h>
#endif
-#ifndef INCLUDED_snikket_Participant
-#include <snikket/Participant.h>
+#ifndef INCLUDED_borogove_calls_AudioFormat
+#include <borogove/calls/AudioFormat.h>
#endif
-#ifndef INCLUDED_snikket_Notification
-#include <snikket/Notification.h>
+#ifndef INCLUDED_borogove_calls_DTMFSender
+#include <borogove/calls/DTMFSender.h>
#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
+#ifndef INCLUDED_borogove_CustomEmojiReaction
+#include <borogove/CustomEmojiReaction.h>
#endif
-#ifndef INCLUDED_snikket_EmojiUtil
-#include <snikket/EmojiUtil.h>
+#ifndef INCLUDED_borogove_Reaction
+#include <borogove/Reaction.h>
#endif
-#ifndef INCLUDED_snikket_Config
-#include <snikket/Config.h>
+#ifndef INCLUDED_borogove__Profile_Profile_Fields_
+#include <borogove/_Profile/Profile_Fields_.h>
#endif
-#ifndef INCLUDED_snikket_Client
-#include <snikket/Client.h>
+#ifndef INCLUDED_borogove_ProfileItem
+#include <borogove/ProfileItem.h>
#endif
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#include <snikket/ChatMessageBuilder.h>
+#ifndef INCLUDED_borogove_Profile
+#include <borogove/Profile.h>
#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
+#ifndef INCLUDED_borogove_Persistence
+#include <borogove/Persistence.h>
#endif
-#ifndef INCLUDED_snikket_ChatAttachment
-#include <snikket/ChatAttachment.h>
+#ifndef INCLUDED_borogove_Participant
+#include <borogove/Participant.h>
#endif
-#ifndef INCLUDED_snikket_AvailableChat
-#include <snikket/AvailableChat.h>
+#ifndef INCLUDED_borogove_Notification
+#include <borogove/Notification.h>
#endif
-#ifndef INCLUDED_snikket_Channel
-#include <snikket/Channel.h>
+#ifndef INCLUDED_borogove_NS
+#include <borogove/NS.h>
#endif
-#ifndef INCLUDED_snikket_DirectChat
-#include <snikket/DirectChat.h>
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
#endif
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
+#ifndef INCLUDED_borogove_Form
+#include <borogove/Form.h>
#endif
-#ifndef INCLUDED_snikket_Autolink
-#include <snikket/Autolink.h>
+#ifndef INCLUDED_borogove_FormItem
+#include <borogove/FormItem.h>
#endif
-#ifndef INCLUDED_snikket_AttachmentSource
-#include <snikket/AttachmentSource.h>
+#ifndef INCLUDED_borogove_EncryptionInfo
+#include <borogove/EncryptionInfo.h>
#endif
-#ifndef INCLUDED_sha__SHA256_SHA256_Fields_
-#include <sha/_SHA256/SHA256_Fields_.h>
+#ifndef INCLUDED_borogove_EmojiUtil
+#include <borogove/EmojiUtil.h>
#endif
-#ifndef INCLUDED_hx_strings_StringBuilder
-#include <hx/strings/StringBuilder.h>
+#ifndef INCLUDED_borogove_FormOption
+#include <borogove/FormOption.h>
#endif
-#ifndef INCLUDED_hx_strings_RandomStrings
-#include <hx/strings/RandomStrings.h>
+#ifndef INCLUDED_borogove_FormField
+#include <borogove/FormField.h>
#endif
-#ifndef INCLUDED_htmlparser_HtmlParser
-#include <htmlparser/HtmlParser.h>
+#ifndef INCLUDED_borogove_Config
+#include <borogove/Config.h>
#endif
-#ifndef INCLUDED_hsluv_Hsluv
-#include <hsluv/Hsluv.h>
+#ifndef INCLUDED_borogove_CommandSession
+#include <borogove/CommandSession.h>
#endif
-#ifndef INCLUDED_haxe_crypto_Base64
-#include <haxe/crypto/Base64.h>
+#ifndef INCLUDED_borogove_Command
+#include <borogove/Command.h>
#endif
-#ifndef INCLUDED_haxe_Log
-#include <haxe/Log.h>
+#ifndef INCLUDED_borogove_Color
+#include <borogove/Color.h>
#endif
-#ifndef INCLUDED_sys_thread__Thread_HaxeThread
-#include <sys/thread/_Thread/HaxeThread.h>
+#ifndef INCLUDED_borogove_Client
+#include <borogove/Client.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessageBuilder
+#include <borogove/ChatMessageBuilder.h>
#endif
-#ifndef INCLUDED_Xml
-#include <Xml.h>
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
+#endif
+#ifndef INCLUDED_borogove_ChatAttachment
+#include <borogove/ChatAttachment.h>
+#endif
+#ifndef INCLUDED_borogove_AvailableChat
+#include <borogove/AvailableChat.h>
+#endif
+#ifndef INCLUDED_borogove_Channel
+#include <borogove/Channel.h>
+#endif
+#ifndef INCLUDED_borogove_DirectChat
+#include <borogove/DirectChat.h>
+#endif
+#ifndef INCLUDED_borogove_Chat
+#include <borogove/Chat.h>
+#endif
+#ifndef INCLUDED_borogove_Autolink
+#include <borogove/Autolink.h>
+#endif
+#ifndef INCLUDED_borogove_AttachmentSource
+#include <borogove/AttachmentSource.h>
#endif
#ifndef INCLUDED__HaxeCBridge_Internal
#include <_HaxeCBridge/Internal.h>
@@ -580,198 +619,6 @@
#ifndef INCLUDED_sys_FileSystem
#include <sys/FileSystem.h>
#endif
-#ifndef INCLUDED_snikket_streams_XmppStropheStream
-#include <snikket/streams/XmppStropheStream.h>
-#endif
-#ifndef INCLUDED_snikket_queries_VcardTempGet
-#include <snikket/queries/VcardTempGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_RosterGet
-#include <snikket/queries/RosterGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_Push2Enable
-#include <snikket/queries/Push2Enable.h>
-#endif
-#ifndef INCLUDED_snikket_queries_Push2Disable
-#include <snikket/queries/Push2Disable.h>
-#endif
-#ifndef INCLUDED_snikket_queries_PubsubGet
-#include <snikket/queries/PubsubGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_MAMQuery
-#include <snikket/queries/MAMQuery.h>
-#endif
-#ifndef INCLUDED_snikket_queries_JabberIqGatewayGet
-#include <snikket/queries/JabberIqGatewayGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_HttpUploadSlot
-#include <snikket/queries/HttpUploadSlot.h>
-#endif
-#ifndef INCLUDED_snikket_queries_ExtDiscoGet
-#include <snikket/queries/ExtDiscoGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_DiscoItemsGet
-#include <snikket/queries/DiscoItemsGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_DiscoInfoGet
-#include <snikket/queries/DiscoInfoGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_BoB
-#include <snikket/queries/BoB.h>
-#endif
-#ifndef INCLUDED_snikket_queries_BlocklistGet
-#include <snikket/queries/BlocklistGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
-#endif
-#ifndef INCLUDED_snikket_persistence_SqliteDriver
-#include <snikket/persistence/SqliteDriver.h>
-#endif
-#ifndef INCLUDED_snikket_persistence_MediaStore
-#include <snikket/persistence/MediaStore.h>
-#endif
-#ifndef INCLUDED_snikket_persistence_KeyValueStore
-#include <snikket/persistence/KeyValueStore.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Attribute
-#include <snikket/jingle/Attribute.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_IceCandidate
-#include <snikket/jingle/IceCandidate.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Media
-#include <snikket/jingle/Media.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_TransportInfo
-#include <snikket/jingle/TransportInfo.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_SessionDescription
-#include <snikket/jingle/SessionDescription.h>
-#endif
-#ifndef INCLUDED_snikket_jingle__Session_Session_Fields_
-#include <snikket/jingle/_Session/Session_Fields_.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_OutgoingSession
-#include <snikket/jingle/OutgoingSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_OutgoingProposedSession
-#include <snikket/jingle/OutgoingProposedSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_IncomingProposedSession
-#include <snikket/jingle/IncomingProposedSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Session
-#include <snikket/jingle/Session.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_PeerConnection
-#include <snikket/jingle/PeerConnection.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Group
-#include <snikket/jingle/Group.h>
-#endif
-#ifndef INCLUDED_snikket_XEP0393
-#include <snikket/XEP0393.h>
-#endif
-#ifndef INCLUDED_snikket__Util_Util_Fields_
-#include <snikket/_Util/Util_Fields_.h>
-#endif
-#ifndef INCLUDED_snikket_StringUtil
-#include <snikket/StringUtil.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket_StanzaError
-#include <snikket/StanzaError.h>
-#endif
-#ifndef INCLUDED_snikket_TextNodeClass
-#include <snikket/TextNodeClass.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket_ReactionUpdate
-#include <snikket/ReactionUpdate.h>
-#endif
-#ifndef INCLUDED_snikket_Push
-#include <snikket/Push.h>
-#endif
-#ifndef INCLUDED_snikket_PubsubEvent
-#include <snikket/PubsubEvent.h>
-#endif
-#ifndef INCLUDED_snikket_Presence
-#include <snikket/Presence.h>
-#endif
-#ifndef INCLUDED_snikket_ModerationAction
-#include <snikket/ModerationAction.h>
-#endif
-#ifndef INCLUDED_snikket_MessageSync
-#include <snikket/MessageSync.h>
-#endif
-#ifndef INCLUDED_snikket_Message
-#include <snikket/Message.h>
-#endif
-#ifndef INCLUDED_snikket_JsonPrinter
-#include <snikket/JsonPrinter.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Identicon
-#include <snikket/Identicon.h>
-#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
-#endif
-#ifndef INCLUDED_snikket_GenericStream
-#include <snikket/GenericStream.h>
-#endif
-#ifndef INCLUDED_snikket_EventHandler
-#include <snikket/EventHandler.h>
-#endif
-#ifndef INCLUDED_snikket_Builder
-#include <snikket/Builder.h>
-#endif
-#ifndef INCLUDED_snikket_Other
-#include <snikket/Other.h>
-#endif
-#ifndef INCLUDED_snikket_Emoji
-#include <snikket/Emoji.h>
-#endif
-#ifndef INCLUDED_snikket_Symbol
-#include <snikket/Symbol.h>
-#endif
-#ifndef INCLUDED_snikket_UnicodeBlocks
-#include <snikket/UnicodeBlocks.h>
-#endif
-#ifndef INCLUDED_snikket_UnicodeRange
-#include <snikket/UnicodeRange.h>
-#endif
-#ifndef INCLUDED_snikket_UnicodeList
-#include <snikket/UnicodeList.h>
-#endif
-#ifndef INCLUDED_snikket_UnicodeSet
-#include <snikket/UnicodeSet.h>
-#endif
-#ifndef INCLUDED_snikket_Date
-#include <snikket/Date.h>
-#endif
-#ifndef INCLUDED_snikket_Color
-#include <snikket/Color.h>
-#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_SerializedChat
-#include <snikket/SerializedChat.h>
-#endif
-#ifndef INCLUDED_snikket_Identity
-#include <snikket/Identity.h>
-#endif
-#ifndef INCLUDED_snikket_Caps
-#include <snikket/Caps.h>
-#endif
#ifndef INCLUDED_sha_SHA256
#include <sha/SHA256.h>
#endif
@@ -802,9 +649,6 @@
#ifndef INCLUDED_htmlparser_HtmlAttribute
#include <htmlparser/HtmlAttribute.h>
#endif
-#ifndef INCLUDED_haxe_xml_Printer
-#include <haxe/xml/Printer.h>
-#endif
#ifndef INCLUDED_haxe_iterators_MapKeyValueIterator
#include <haxe/iterators/MapKeyValueIterator.h>
#endif
@@ -835,9 +679,6 @@
#ifndef INCLUDED_haxe_http_HttpBase
#include <haxe/http/HttpBase.h>
#endif
-#ifndef INCLUDED_haxe_format_JsonPrinter
-#include <haxe/format/JsonPrinter.h>
-#endif
#ifndef INCLUDED_haxe_format_JsonParser
#include <haxe/format/JsonParser.h>
#endif
@@ -859,6 +700,9 @@
#ifndef INCLUDED_haxe_ds_List
#include <haxe/ds/List.h>
#endif
+#ifndef INCLUDED_haxe_ds_IntMap
+#include <haxe/ds/IntMap.h>
+#endif
#ifndef INCLUDED_haxe_ds_EnumValueMap
#include <haxe/ds/EnumValueMap.h>
#endif
@@ -940,8 +784,212 @@
#ifndef INCLUDED_haxe_IMap
#include <haxe/IMap.h>
#endif
-#ifndef INCLUDED__Xml_XmlType_Impl_
-#include <_Xml/XmlType_Impl_.h>
+#ifndef INCLUDED_borogove_streams_XmppStropheStream
+#include <borogove/streams/XmppStropheStream.h>
+#endif
+#ifndef INCLUDED_borogove_queries_VcardTempGet
+#include <borogove/queries/VcardTempGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_RosterGet
+#include <borogove/queries/RosterGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_Push2Enable
+#include <borogove/queries/Push2Enable.h>
+#endif
+#ifndef INCLUDED_borogove_queries_Push2Disable
+#include <borogove/queries/Push2Disable.h>
+#endif
+#ifndef INCLUDED_borogove_queries_PubsubGet
+#include <borogove/queries/PubsubGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_MAMQuery
+#include <borogove/queries/MAMQuery.h>
+#endif
+#ifndef INCLUDED_borogove_queries_JabberIqGatewayGet
+#include <borogove/queries/JabberIqGatewayGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_HttpUploadSlot
+#include <borogove/queries/HttpUploadSlot.h>
+#endif
+#ifndef INCLUDED_borogove_queries_ExtDiscoGet
+#include <borogove/queries/ExtDiscoGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_DiscoItemsGet
+#include <borogove/queries/DiscoItemsGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_DiscoInfoGet
+#include <borogove/queries/DiscoInfoGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_CommandExecute
+#include <borogove/queries/CommandExecute.h>
+#endif
+#ifndef INCLUDED_borogove_queries_BoB
+#include <borogove/queries/BoB.h>
+#endif
+#ifndef INCLUDED_borogove_queries_BlocklistGet
+#include <borogove/queries/BlocklistGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
+#endif
+#ifndef INCLUDED_borogove_persistence_SqliteDriver
+#include <borogove/persistence/SqliteDriver.h>
+#endif
+#ifndef INCLUDED_borogove_persistence_MediaStore
+#include <borogove/persistence/MediaStore.h>
+#endif
+#ifndef INCLUDED_borogove_persistence_KeyValueStore
+#include <borogove/persistence/KeyValueStore.h>
+#endif
+#ifndef INCLUDED_borogove_calls_Attribute
+#include <borogove/calls/Attribute.h>
+#endif
+#ifndef INCLUDED_borogove_calls_IceCandidate
+#include <borogove/calls/IceCandidate.h>
+#endif
+#ifndef INCLUDED_borogove_calls_Media
+#include <borogove/calls/Media.h>
+#endif
+#ifndef INCLUDED_borogove_calls_TransportInfo
+#include <borogove/calls/TransportInfo.h>
+#endif
+#ifndef INCLUDED_borogove_calls_SessionDescription
+#include <borogove/calls/SessionDescription.h>
+#endif
+#ifndef INCLUDED_borogove_calls__Session_Session_Fields_
+#include <borogove/calls/_Session/Session_Fields_.h>
+#endif
+#ifndef INCLUDED_borogove_calls_OutgoingSession
+#include <borogove/calls/OutgoingSession.h>
+#endif
+#ifndef INCLUDED_borogove_calls_Session
+#include <borogove/calls/Session.h>
+#endif
+#ifndef INCLUDED_borogove_calls_PeerConnection
+#include <borogove/calls/PeerConnection.h>
+#endif
+#ifndef INCLUDED_borogove_calls_Group
+#include <borogove/calls/Group.h>
+#endif
+#ifndef INCLUDED_borogove_XEP0393
+#include <borogove/XEP0393.h>
+#endif
+#ifndef INCLUDED_borogove__Util_Util_Fields_
+#include <borogove/_Util/Util_Fields_.h>
+#endif
+#ifndef INCLUDED_borogove_Util
+#include <borogove/Util.h>
+#endif
+#ifndef INCLUDED_borogove_StringUtil
+#include <borogove/StringUtil.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_StanzaError
+#include <borogove/StanzaError.h>
+#endif
+#ifndef INCLUDED_borogove_ReactionUpdate
+#include <borogove/ReactionUpdate.h>
+#endif
+#ifndef INCLUDED_borogove_Push
+#include <borogove/Push.h>
+#endif
+#ifndef INCLUDED_borogove_PubsubEvent
+#include <borogove/PubsubEvent.h>
+#endif
+#ifndef INCLUDED_borogove_ProfileBuilder
+#include <borogove/ProfileBuilder.h>
+#endif
+#ifndef INCLUDED_borogove_Presence
+#include <borogove/Presence.h>
+#endif
+#ifndef INCLUDED_borogove_OutboxItem
+#include <borogove/OutboxItem.h>
+#endif
+#ifndef INCLUDED_borogove_Outbox
+#include <borogove/Outbox.h>
+#endif
+#ifndef INCLUDED_borogove_ModerationAction
+#include <borogove/ModerationAction.h>
+#endif
+#ifndef INCLUDED_borogove_MessageSync
+#include <borogove/MessageSync.h>
+#endif
+#ifndef INCLUDED_borogove_Message
+#include <borogove/Message.h>
+#endif
+#ifndef INCLUDED_borogove_JsonPrinter
+#include <borogove/JsonPrinter.h>
+#endif
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
+#endif
+#ifndef INCLUDED_borogove_Identicon
+#include <borogove/Identicon.h>
+#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
+#endif
+#ifndef INCLUDED_borogove_GenericStream
+#include <borogove/GenericStream.h>
+#endif
+#ifndef INCLUDED_borogove_FormLayoutSection
+#include <borogove/FormLayoutSection.h>
+#endif
+#ifndef INCLUDED_borogove_FormSubmitBuilder
+#include <borogove/FormSubmitBuilder.h>
+#endif
+#ifndef INCLUDED_borogove_FormSection
+#include <borogove/FormSection.h>
+#endif
+#ifndef INCLUDED_borogove_EncryptionPolicy
+#include <borogove/EncryptionPolicy.h>
+#endif
+#ifndef INCLUDED_borogove_Builder
+#include <borogove/Builder.h>
+#endif
+#ifndef INCLUDED_borogove_Other
+#include <borogove/Other.h>
+#endif
+#ifndef INCLUDED_borogove_Emoji
+#include <borogove/Emoji.h>
+#endif
+#ifndef INCLUDED_borogove_Symbol
+#include <borogove/Symbol.h>
+#endif
+#ifndef INCLUDED_borogove_UnicodeBlocks
+#include <borogove/UnicodeBlocks.h>
+#endif
+#ifndef INCLUDED_borogove_UnicodeRange
+#include <borogove/UnicodeRange.h>
+#endif
+#ifndef INCLUDED_borogove_UnicodeList
+#include <borogove/UnicodeList.h>
+#endif
+#ifndef INCLUDED_borogove_UnicodeSet
+#include <borogove/UnicodeSet.h>
+#endif
+#ifndef INCLUDED_borogove_Date
+#include <borogove/Date.h>
+#endif
+#ifndef INCLUDED_borogove__DataForm_Field_Impl_
+#include <borogove/_DataForm/Field_Impl_.h>
+#endif
+#ifndef INCLUDED_borogove__DataForm_DataForm_Impl_
+#include <borogove/_DataForm/DataForm_Impl_.h>
+#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_borogove_SerializedChat
+#include <borogove/SerializedChat.h>
+#endif
+#ifndef INCLUDED_borogove_Identity
+#include <borogove/Identity.h>
+#endif
+#ifndef INCLUDED_borogove_Caps
+#include <borogove/Caps.h>
#endif
#ifndef INCLUDED__UnicodeString_UnicodeString_Impl_
#include <_UnicodeString/UnicodeString_Impl_.h>
@@ -996,17 +1044,17 @@ __files__boot();
::tink::core::Outcome_obj::__register();
::tink::core::FutureStatus_obj::__register();
::thenshim::fallback::PromiseState_obj::__register();
-::snikket::IqRequestType_obj::__register();
-::snikket::Node_obj::__register();
-::snikket::MessageStanza_obj::__register();
-::snikket::IqResult_obj::__register();
-::snikket::EventResult_obj::__register();
::hx::strings::internal::_Either2::_Either2_obj::__register();
::haxe::io::Error_obj::__register();
::haxe::io::Encoding_obj::__register();
::haxe::ds::Option_obj::__register();
::haxe::ds::Either_obj::__register();
::haxe::StackItem_obj::__register();
+::borogove::IqRequestType_obj::__register();
+::borogove::Node_obj::__register();
+::borogove::MessageStanza_obj::__register();
+::borogove::IqResult_obj::__register();
+::borogove::EventResult_obj::__register();
::ValueType_obj::__register();
::tink::io::_Worker::Worker_Impl__obj::__register();
::tink::io::_Source::Source_Impl__obj::__register();
@@ -1022,32 +1070,6 @@ __files__boot();
::sys::ssl::Certificate_obj::__register();
::sys::net::Host_obj::__register();
::sys::Http_obj::__register();
-::snikket::persistence::Sqlite_obj::__register();
-::snikket::persistence::MediaStoreFS_obj::__register();
-::snikket::persistence::Dummy_obj::__register();
-::snikket::jingle::InitiatedSession_obj::__register();
-::snikket::jingle::MediaStream_obj::__register();
-::snikket::jingle::MediaStreamTrack_obj::__register();
-::snikket::jingle::AudioFormat_obj::__register();
-::snikket::jingle::DTMFSender_obj::__register();
-::snikket::CustomEmojiReaction_obj::__register();
-::snikket::Reaction_obj::__register();
-::snikket::Persistence_obj::__register();
-::snikket::Participant_obj::__register();
-::snikket::Notification_obj::__register();
-::snikket::Hash_obj::__register();
-::snikket::EmojiUtil_obj::__register();
-::snikket::Config_obj::__register();
-::snikket::Client_obj::__register();
-::snikket::ChatMessageBuilder_obj::__register();
-::snikket::ChatMessage_obj::__register();
-::snikket::ChatAttachment_obj::__register();
-::snikket::AvailableChat_obj::__register();
-::snikket::Channel_obj::__register();
-::snikket::DirectChat_obj::__register();
-::snikket::Chat_obj::__register();
-::snikket::Autolink_obj::__register();
-::snikket::AttachmentSource_obj::__register();
::sha::_SHA256::SHA256_Fields__obj::__register();
::hx::strings::StringBuilder_obj::__register();
::hx::strings::RandomStrings_obj::__register();
@@ -1056,7 +1078,46 @@ __files__boot();
::haxe::crypto::Base64_obj::__register();
::haxe::Log_obj::__register();
::sys::thread::_Thread::HaxeThread_obj::__register();
-::Xml_obj::__register();
+::borogove::persistence::Sqlite_obj::__register();
+::borogove::persistence::MediaStoreFS_obj::__register();
+::borogove::persistence::Dummy_obj::__register();
+::borogove::calls::InitiatedSession_obj::__register();
+::borogove::calls::OutgoingProposedSession_obj::__register();
+::borogove::calls::IncomingProposedSession_obj::__register();
+::borogove::calls::MediaStream_obj::__register();
+::borogove::calls::MediaStreamTrack_obj::__register();
+::borogove::calls::AudioFormat_obj::__register();
+::borogove::calls::DTMFSender_obj::__register();
+::borogove::CustomEmojiReaction_obj::__register();
+::borogove::Reaction_obj::__register();
+::borogove::_Profile::Profile_Fields__obj::__register();
+::borogove::ProfileItem_obj::__register();
+::borogove::Profile_obj::__register();
+::borogove::Persistence_obj::__register();
+::borogove::Participant_obj::__register();
+::borogove::Notification_obj::__register();
+::borogove::NS_obj::__register();
+::borogove::Hash_obj::__register();
+::borogove::Form_obj::__register();
+::borogove::FormItem_obj::__register();
+::borogove::EncryptionInfo_obj::__register();
+::borogove::EmojiUtil_obj::__register();
+::borogove::FormOption_obj::__register();
+::borogove::FormField_obj::__register();
+::borogove::Config_obj::__register();
+::borogove::CommandSession_obj::__register();
+::borogove::Command_obj::__register();
+::borogove::Color_obj::__register();
+::borogove::Client_obj::__register();
+::borogove::ChatMessageBuilder_obj::__register();
+::borogove::ChatMessage_obj::__register();
+::borogove::ChatAttachment_obj::__register();
+::borogove::AvailableChat_obj::__register();
+::borogove::Channel_obj::__register();
+::borogove::DirectChat_obj::__register();
+::borogove::Chat_obj::__register();
+::borogove::Autolink_obj::__register();
+::borogove::AttachmentSource_obj::__register();
::_HaxeCBridge::Internal_obj::__register();
::tink::url::_Path::Path_Impl__obj::__register();
::tink::url::_Host::Host_Impl__obj::__register();
@@ -1173,70 +1234,6 @@ __files__boot();
::sys::db::ResultSet_obj::__register();
::sys::db::Connection_obj::__register();
::sys::FileSystem_obj::__register();
-::snikket::streams::XmppStropheStream_obj::__register();
-::snikket::queries::VcardTempGet_obj::__register();
-::snikket::queries::RosterGet_obj::__register();
-::snikket::queries::Push2Enable_obj::__register();
-::snikket::queries::Push2Disable_obj::__register();
-::snikket::queries::PubsubGet_obj::__register();
-::snikket::queries::MAMQuery_obj::__register();
-::snikket::queries::JabberIqGatewayGet_obj::__register();
-::snikket::queries::HttpUploadSlot_obj::__register();
-::snikket::queries::ExtDiscoGet_obj::__register();
-::snikket::queries::DiscoItemsGet_obj::__register();
-::snikket::queries::DiscoInfoGet_obj::__register();
-::snikket::queries::BoB_obj::__register();
-::snikket::queries::BlocklistGet_obj::__register();
-::snikket::queries::GenericQuery_obj::__register();
-::snikket::persistence::SqliteDriver_obj::__register();
-::snikket::persistence::MediaStore_obj::__register();
-::snikket::persistence::KeyValueStore_obj::__register();
-::snikket::jingle::Attribute_obj::__register();
-::snikket::jingle::IceCandidate_obj::__register();
-::snikket::jingle::Media_obj::__register();
-::snikket::jingle::TransportInfo_obj::__register();
-::snikket::jingle::SessionDescription_obj::__register();
-::snikket::jingle::_Session::Session_Fields__obj::__register();
-::snikket::jingle::OutgoingSession_obj::__register();
-::snikket::jingle::OutgoingProposedSession_obj::__register();
-::snikket::jingle::IncomingProposedSession_obj::__register();
-::snikket::jingle::Session_obj::__register();
-::snikket::jingle::PeerConnection_obj::__register();
-::snikket::jingle::Group_obj::__register();
-::snikket::XEP0393_obj::__register();
-::snikket::_Util::Util_Fields__obj::__register();
-::snikket::StringUtil_obj::__register();
-::snikket::Stanza_obj::__register();
-::snikket::StanzaError_obj::__register();
-::snikket::TextNodeClass_obj::__register();
-::snikket::_Stanza::NodeInterface_obj::__register();
-::snikket::ReactionUpdate_obj::__register();
-::snikket::Push_obj::__register();
-::snikket::PubsubEvent_obj::__register();
-::snikket::Presence_obj::__register();
-::snikket::ModerationAction_obj::__register();
-::snikket::MessageSync_obj::__register();
-::snikket::Message_obj::__register();
-::snikket::JsonPrinter_obj::__register();
-::snikket::JID_obj::__register();
-::snikket::Identicon_obj::__register();
-::snikket::ID_obj::__register();
-::snikket::GenericStream_obj::__register();
-::snikket::EventHandler_obj::__register();
-::snikket::Builder_obj::__register();
-::snikket::Other_obj::__register();
-::snikket::Emoji_obj::__register();
-::snikket::Symbol_obj::__register();
-::snikket::UnicodeBlocks_obj::__register();
-::snikket::UnicodeRange_obj::__register();
-::snikket::UnicodeList_obj::__register();
-::snikket::UnicodeSet_obj::__register();
-::snikket::Date_obj::__register();
-::snikket::Color_obj::__register();
-::snikket::EventEmitter_obj::__register();
-::snikket::SerializedChat_obj::__register();
-::snikket::Identity_obj::__register();
-::snikket::Caps_obj::__register();
::sha::SHA256_obj::__register();
::sha::Hash_obj::__register();
::hx::strings::Strings_obj::__register();
@@ -1247,7 +1244,6 @@ __files__boot();
::htmlparser::HtmlNodeElement_obj::__register();
::htmlparser::HtmlNode_obj::__register();
::htmlparser::HtmlAttribute_obj::__register();
-::haxe::xml::Printer_obj::__register();
::haxe::iterators::MapKeyValueIterator_obj::__register();
::haxe::iterators::ArrayIterator_obj::__register();
::haxe::io::Path_obj::__register();
@@ -1258,7 +1254,6 @@ __files__boot();
::haxe::io::Input_obj::__register();
::haxe::io::BytesBuffer_obj::__register();
::haxe::http::HttpBase_obj::__register();
-::haxe::format::JsonPrinter_obj::__register();
::haxe::format::JsonParser_obj::__register();
::haxe::exceptions::NotImplementedException_obj::__register();
::haxe::exceptions::PosException_obj::__register();
@@ -1266,6 +1261,7 @@ __files__boot();
::haxe::ds::ObjectMap_obj::__register();
::haxe::ds::_List::ListNode_obj::__register();
::haxe::ds::List_obj::__register();
+::haxe::ds::IntMap_obj::__register();
::haxe::ds::EnumValueMap_obj::__register();
::haxe::ds::TreeNode_obj::__register();
::haxe::ds::BalancedTree_obj::__register();
@@ -1293,7 +1289,75 @@ __files__boot();
::cpp::Lib_obj::__register();
::cpp::Int64Map_obj::__register();
::haxe::IMap_obj::__register();
-::_Xml::XmlType_Impl__obj::__register();
+::borogove::streams::XmppStropheStream_obj::__register();
+::borogove::queries::VcardTempGet_obj::__register();
+::borogove::queries::RosterGet_obj::__register();
+::borogove::queries::Push2Enable_obj::__register();
+::borogove::queries::Push2Disable_obj::__register();
+::borogove::queries::PubsubGet_obj::__register();
+::borogove::queries::MAMQuery_obj::__register();
+::borogove::queries::JabberIqGatewayGet_obj::__register();
+::borogove::queries::HttpUploadSlot_obj::__register();
+::borogove::queries::ExtDiscoGet_obj::__register();
+::borogove::queries::DiscoItemsGet_obj::__register();
+::borogove::queries::DiscoInfoGet_obj::__register();
+::borogove::queries::CommandExecute_obj::__register();
+::borogove::queries::BoB_obj::__register();
+::borogove::queries::BlocklistGet_obj::__register();
+::borogove::queries::GenericQuery_obj::__register();
+::borogove::persistence::SqliteDriver_obj::__register();
+::borogove::persistence::MediaStore_obj::__register();
+::borogove::persistence::KeyValueStore_obj::__register();
+::borogove::calls::Attribute_obj::__register();
+::borogove::calls::IceCandidate_obj::__register();
+::borogove::calls::Media_obj::__register();
+::borogove::calls::TransportInfo_obj::__register();
+::borogove::calls::SessionDescription_obj::__register();
+::borogove::calls::_Session::Session_Fields__obj::__register();
+::borogove::calls::OutgoingSession_obj::__register();
+::borogove::calls::Session_obj::__register();
+::borogove::calls::PeerConnection_obj::__register();
+::borogove::calls::Group_obj::__register();
+::borogove::XEP0393_obj::__register();
+::borogove::_Util::Util_Fields__obj::__register();
+::borogove::Util_obj::__register();
+::borogove::StringUtil_obj::__register();
+::borogove::Stanza_obj::__register();
+::borogove::StanzaError_obj::__register();
+::borogove::ReactionUpdate_obj::__register();
+::borogove::Push_obj::__register();
+::borogove::PubsubEvent_obj::__register();
+::borogove::ProfileBuilder_obj::__register();
+::borogove::Presence_obj::__register();
+::borogove::OutboxItem_obj::__register();
+::borogove::Outbox_obj::__register();
+::borogove::ModerationAction_obj::__register();
+::borogove::MessageSync_obj::__register();
+::borogove::Message_obj::__register();
+::borogove::JsonPrinter_obj::__register();
+::borogove::JID_obj::__register();
+::borogove::Identicon_obj::__register();
+::borogove::ID_obj::__register();
+::borogove::GenericStream_obj::__register();
+::borogove::FormLayoutSection_obj::__register();
+::borogove::FormSubmitBuilder_obj::__register();
+::borogove::FormSection_obj::__register();
+::borogove::EncryptionPolicy_obj::__register();
+::borogove::Builder_obj::__register();
+::borogove::Other_obj::__register();
+::borogove::Emoji_obj::__register();
+::borogove::Symbol_obj::__register();
+::borogove::UnicodeBlocks_obj::__register();
+::borogove::UnicodeRange_obj::__register();
+::borogove::UnicodeList_obj::__register();
+::borogove::UnicodeSet_obj::__register();
+::borogove::Date_obj::__register();
+::borogove::_DataForm::Field_Impl__obj::__register();
+::borogove::_DataForm::DataForm_Impl__obj::__register();
+::borogove::EventEmitter_obj::__register();
+::borogove::SerializedChat_obj::__register();
+::borogove::Identity_obj::__register();
+::borogove::Caps_obj::__register();
::_UnicodeString::UnicodeString_Impl__obj::__register();
::Type_obj::__register();
::Sys_obj::__register();
@@ -1320,17 +1384,17 @@ __files__boot();
::tink::core::Outcome_obj::__boot();
::tink::core::FutureStatus_obj::__boot();
::thenshim::fallback::PromiseState_obj::__boot();
-::snikket::IqRequestType_obj::__boot();
-::snikket::Node_obj::__boot();
-::snikket::MessageStanza_obj::__boot();
-::snikket::IqResult_obj::__boot();
-::snikket::EventResult_obj::__boot();
::hx::strings::internal::_Either2::_Either2_obj::__boot();
::haxe::io::Error_obj::__boot();
::haxe::io::Encoding_obj::__boot();
::haxe::ds::Option_obj::__boot();
::haxe::ds::Either_obj::__boot();
::haxe::StackItem_obj::__boot();
+::borogove::IqRequestType_obj::__boot();
+::borogove::Node_obj::__boot();
+::borogove::MessageStanza_obj::__boot();
+::borogove::IqResult_obj::__boot();
+::borogove::EventResult_obj::__boot();
::ValueType_obj::__boot();
::sys::thread::_Thread::HaxeThread_obj::__init__();
::sys::net::Host_obj::__init__();
@@ -1339,7 +1403,46 @@ __files__boot();
::sys::ssl::Socket_obj::__init__();
::haxe::Log_obj::__boot();
::_HaxeCBridge::Internal_obj::__boot();
-::Xml_obj::__boot();
+::borogove::AttachmentSource_obj::__boot();
+::borogove::Autolink_obj::__boot();
+::borogove::Chat_obj::__boot();
+::borogove::DirectChat_obj::__boot();
+::borogove::Channel_obj::__boot();
+::borogove::AvailableChat_obj::__boot();
+::borogove::ChatAttachment_obj::__boot();
+::borogove::ChatMessage_obj::__boot();
+::borogove::ChatMessageBuilder_obj::__boot();
+::borogove::Client_obj::__boot();
+::borogove::Color_obj::__boot();
+::borogove::Command_obj::__boot();
+::borogove::CommandSession_obj::__boot();
+::borogove::Config_obj::__boot();
+::borogove::FormField_obj::__boot();
+::borogove::FormOption_obj::__boot();
+::borogove::EmojiUtil_obj::__boot();
+::borogove::EncryptionInfo_obj::__boot();
+::borogove::FormItem_obj::__boot();
+::borogove::Form_obj::__boot();
+::borogove::Hash_obj::__boot();
+::borogove::NS_obj::__boot();
+::borogove::Notification_obj::__boot();
+::borogove::Participant_obj::__boot();
+::borogove::Persistence_obj::__boot();
+::borogove::Profile_obj::__boot();
+::borogove::ProfileItem_obj::__boot();
+::borogove::_Profile::Profile_Fields__obj::__boot();
+::borogove::Reaction_obj::__boot();
+::borogove::CustomEmojiReaction_obj::__boot();
+::borogove::calls::DTMFSender_obj::__boot();
+::borogove::calls::AudioFormat_obj::__boot();
+::borogove::calls::MediaStreamTrack_obj::__boot();
+::borogove::calls::MediaStream_obj::__boot();
+::borogove::calls::IncomingProposedSession_obj::__boot();
+::borogove::calls::OutgoingProposedSession_obj::__boot();
+::borogove::calls::InitiatedSession_obj::__boot();
+::borogove::persistence::Dummy_obj::__boot();
+::borogove::persistence::MediaStoreFS_obj::__boot();
+::borogove::persistence::Sqlite_obj::__boot();
::sys::thread::_Thread::HaxeThread_obj::__boot();
::haxe::crypto::Base64_obj::__boot();
::hsluv::Hsluv_obj::__boot();
@@ -1347,32 +1450,6 @@ __files__boot();
::hx::strings::RandomStrings_obj::__boot();
::hx::strings::StringBuilder_obj::__boot();
::sha::_SHA256::SHA256_Fields__obj::__boot();
-::snikket::AttachmentSource_obj::__boot();
-::snikket::Autolink_obj::__boot();
-::snikket::Chat_obj::__boot();
-::snikket::DirectChat_obj::__boot();
-::snikket::Channel_obj::__boot();
-::snikket::AvailableChat_obj::__boot();
-::snikket::ChatAttachment_obj::__boot();
-::snikket::ChatMessage_obj::__boot();
-::snikket::ChatMessageBuilder_obj::__boot();
-::snikket::Client_obj::__boot();
-::snikket::Config_obj::__boot();
-::snikket::EmojiUtil_obj::__boot();
-::snikket::Hash_obj::__boot();
-::snikket::Notification_obj::__boot();
-::snikket::Participant_obj::__boot();
-::snikket::Persistence_obj::__boot();
-::snikket::Reaction_obj::__boot();
-::snikket::CustomEmojiReaction_obj::__boot();
-::snikket::jingle::DTMFSender_obj::__boot();
-::snikket::jingle::AudioFormat_obj::__boot();
-::snikket::jingle::MediaStreamTrack_obj::__boot();
-::snikket::jingle::MediaStream_obj::__boot();
-::snikket::jingle::InitiatedSession_obj::__boot();
-::snikket::persistence::Dummy_obj::__boot();
-::snikket::persistence::MediaStoreFS_obj::__boot();
-::snikket::persistence::Sqlite_obj::__boot();
::sys::Http_obj::__boot();
::sys::net::Host_obj::__boot();
::sys::ssl::Certificate_obj::__boot();
diff --git a/Sources/c_snikket/src/__files__.cpp b/Sources/c_borogove/src/__files__.cpp
similarity index 68%
rename from Sources/c_snikket/src/__files__.cpp
rename to Sources/c_borogove/src/__files__.cpp
index f76bf4c..a2d35db 100644
--- a/Sources/c_snikket/src/__files__.cpp
+++ b/Sources/c_borogove/src/__files__.cpp
@@ -7,7 +7,6 @@ const char *__hxcpp_all_files[] = {
"/usr/local/lib/haxe/std/Lambda.hx",
"/usr/local/lib/haxe/std/StringTools.hx",
"/usr/local/lib/haxe/std/UnicodeString.hx",
-"/usr/local/lib/haxe/std/Xml.hx",
"/usr/local/lib/haxe/std/cpp/Int64Map.hx",
"/usr/local/lib/haxe/std/cpp/NativeString.hx",
"/usr/local/lib/haxe/std/cpp/_std/Date.hx",
@@ -20,6 +19,7 @@ const char *__hxcpp_all_files[] = {
"/usr/local/lib/haxe/std/cpp/_std/haxe/Exception.hx",
"/usr/local/lib/haxe/std/cpp/_std/haxe/Log.hx",
"/usr/local/lib/haxe/std/cpp/_std/haxe/NativeStackTrace.hx",
+"/usr/local/lib/haxe/std/cpp/_std/haxe/ds/IntMap.hx",
"/usr/local/lib/haxe/std/cpp/_std/haxe/ds/ObjectMap.hx",
"/usr/local/lib/haxe/std/cpp/_std/haxe/ds/StringMap.hx",
"/usr/local/lib/haxe/std/cpp/_std/sys/FileSystem.hx",
@@ -52,7 +52,6 @@ const char *__hxcpp_all_files[] = {
"/usr/local/lib/haxe/std/haxe/exceptions/NotImplementedException.hx",
"/usr/local/lib/haxe/std/haxe/exceptions/PosException.hx",
"/usr/local/lib/haxe/std/haxe/format/JsonParser.hx",
-"/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",
"/usr/local/lib/haxe/std/haxe/http/HttpBase.hx",
"/usr/local/lib/haxe/std/haxe/io/Bytes.hx",
"/usr/local/lib/haxe/std/haxe/io/BytesBuffer.hx",
@@ -64,7 +63,6 @@ const char *__hxcpp_all_files[] = {
"/usr/local/lib/haxe/std/haxe/io/Path.hx",
"/usr/local/lib/haxe/std/haxe/iterators/ArrayIterator.hx",
"/usr/local/lib/haxe/std/haxe/iterators/MapKeyValueIterator.hx",
-"/usr/local/lib/haxe/std/haxe/xml/Printer.hx",
"/usr/local/lib/haxe/std/sys/Http.hx",
"/usr/local/lib/haxe/std/sys/thread/ElasticThreadPool.hx",
"/usr/local/lib/haxe/std/sys/thread/EventLoop.hx",
@@ -72,6 +70,71 @@ const char *__hxcpp_all_files[] = {
"/usr/local/lib/haxe/std/sys/thread/NoEventLoopException.hx",
"/usr/local/lib/haxe/std/sys/thread/ThreadPoolException.hx",
"HaxeCBridge.hx",
+"borogove/AttachmentSource.cpp.hx",
+"borogove/Autolink.hx",
+"borogove/Caps.hx",
+"borogove/Chat.hx",
+"borogove/ChatMessage.hx",
+"borogove/ChatMessageBuilder.hx",
+"borogove/Client.hx",
+"borogove/Color.hx",
+"borogove/Command.hx",
+"borogove/Config.hx",
+"borogove/DataForm.hx",
+"borogove/Date.hx",
+"borogove/EmojiUtil.hx",
+"borogove/EncryptionInfo.hx",
+"borogove/EncryptionPolicy.hx",
+"borogove/EventEmitter.hx",
+"borogove/Form.hx",
+"borogove/GenericStream.hx",
+"borogove/Hash.hx",
+"borogove/ID.hx",
+"borogove/Identicon.hx",
+"borogove/JID.hx",
+"borogove/JsonPrinter.hx",
+"borogove/Message.hx",
+"borogove/MessageSync.hx",
+"borogove/ModerationAction.hx",
+"borogove/NS.hx",
+"borogove/Notification.hx",
+"borogove/Outbox.hx",
+"borogove/Participant.hx",
+"borogove/Persistence.hx",
+"borogove/Presence.hx",
+"borogove/Profile.hx",
+"borogove/PubsubEvent.hx",
+"borogove/Push.hx",
+"borogove/Reaction.hx",
+"borogove/ReactionUpdate.hx",
+"borogove/Stanza.hx",
+"borogove/StringUtil.hx",
+"borogove/Util.hx",
+"borogove/XEP0393.hx",
+"borogove/calls/Group.hx",
+"borogove/calls/PeerConnection.cpp.hx",
+"borogove/calls/Session.hx",
+"borogove/calls/SessionDescription.hx",
+"borogove/persistence/Dummy.hx",
+"borogove/persistence/MediaStoreFS.hx",
+"borogove/persistence/Sqlite.hx",
+"borogove/persistence/SqliteDriver.hx",
+"borogove/queries/BlocklistGet.hx",
+"borogove/queries/BoB.hx",
+"borogove/queries/CommandExecute.hx",
+"borogove/queries/DiscoInfoGet.hx",
+"borogove/queries/DiscoItemsGet.hx",
+"borogove/queries/ExtDiscoGet.hx",
+"borogove/queries/GenericQuery.hx",
+"borogove/queries/HttpUploadSlot.hx",
+"borogove/queries/JabberIqGatewayGet.hx",
+"borogove/queries/MAMQuery.hx",
+"borogove/queries/PubsubGet.hx",
+"borogove/queries/Push2Disable.hx",
+"borogove/queries/Push2Enable.hx",
+"borogove/queries/RosterGet.hx",
+"borogove/queries/VcardTempGet.hx",
+"borogove/streams/XmppStropheStream.hx",
"datetime/DateTime.hx",
"datetime/DateTimeInterval.hx",
"datetime/cores/DateTimeIntervalCore.hx",
@@ -91,63 +154,6 @@ const char *__hxcpp_all_files[] = {
"hx/strings/Strings.hx",
"sha/Hash.hx",
"sha/SHA256.hx",
-"snikket/AttachmentSource.cpp.hx",
-"snikket/Autolink.hx",
-"snikket/Caps.hx",
-"snikket/Chat.hx",
-"snikket/ChatMessage.hx",
-"snikket/ChatMessageBuilder.hx",
-"snikket/Client.hx",
-"snikket/Color.hx",
-"snikket/Config.hx",
-"snikket/Date.hx",
-"snikket/EmojiUtil.hx",
-"snikket/EventEmitter.hx",
-"snikket/EventHandler.hx",
-"snikket/GenericStream.hx",
-"snikket/Hash.hx",
-"snikket/ID.hx",
-"snikket/Identicon.hx",
-"snikket/JID.hx",
-"snikket/JsonPrinter.hx",
-"snikket/Message.hx",
-"snikket/MessageSync.hx",
-"snikket/ModerationAction.hx",
-"snikket/Notification.hx",
-"snikket/Participant.hx",
-"snikket/Persistence.hx",
-"snikket/Presence.hx",
-"snikket/PubsubEvent.hx",
-"snikket/Push.hx",
-"snikket/Reaction.hx",
-"snikket/ReactionUpdate.hx",
-"snikket/Stanza.hx",
-"snikket/StringUtil.hx",
-"snikket/Util.hx",
-"snikket/XEP0393.hx",
-"snikket/jingle/Group.hx",
-"snikket/jingle/PeerConnection.cpp.hx",
-"snikket/jingle/Session.hx",
-"snikket/jingle/SessionDescription.hx",
-"snikket/persistence/Dummy.hx",
-"snikket/persistence/MediaStoreFS.hx",
-"snikket/persistence/Sqlite.hx",
-"snikket/persistence/SqliteDriver.hx",
-"snikket/queries/BlocklistGet.hx",
-"snikket/queries/BoB.hx",
-"snikket/queries/DiscoInfoGet.hx",
-"snikket/queries/DiscoItemsGet.hx",
-"snikket/queries/ExtDiscoGet.hx",
-"snikket/queries/GenericQuery.hx",
-"snikket/queries/HttpUploadSlot.hx",
-"snikket/queries/JabberIqGatewayGet.hx",
-"snikket/queries/MAMQuery.hx",
-"snikket/queries/PubsubGet.hx",
-"snikket/queries/Push2Disable.hx",
-"snikket/queries/Push2Enable.hx",
-"snikket/queries/RosterGet.hx",
-"snikket/queries/VcardTempGet.hx",
-"snikket/streams/XmppStropheStream.hx",
"thenshim/Promise.hx",
"thenshim/PromiseTools.hx",
"thenshim/fallback/FallbackPromise.hx",
@@ -199,7 +205,6 @@ const char *__hxcpp_all_files_fullpath[] = {
"/usr/local/lib/haxe/std/Lambda.hx",
"/usr/local/lib/haxe/std/StringTools.hx",
"/usr/local/lib/haxe/std/UnicodeString.hx",
-"/usr/local/lib/haxe/std/Xml.hx",
"/usr/local/lib/haxe/std/cpp/Int64Map.hx",
"/usr/local/lib/haxe/std/cpp/NativeString.hx",
"/usr/local/lib/haxe/std/cpp/_std/Date.hx",
@@ -212,6 +217,7 @@ const char *__hxcpp_all_files_fullpath[] = {
"/usr/local/lib/haxe/std/cpp/_std/haxe/Exception.hx",
"/usr/local/lib/haxe/std/cpp/_std/haxe/Log.hx",
"/usr/local/lib/haxe/std/cpp/_std/haxe/NativeStackTrace.hx",
+"/usr/local/lib/haxe/std/cpp/_std/haxe/ds/IntMap.hx",
"/usr/local/lib/haxe/std/cpp/_std/haxe/ds/ObjectMap.hx",
"/usr/local/lib/haxe/std/cpp/_std/haxe/ds/StringMap.hx",
"/usr/local/lib/haxe/std/cpp/_std/sys/FileSystem.hx",
@@ -244,7 +250,6 @@ const char *__hxcpp_all_files_fullpath[] = {
"/usr/local/lib/haxe/std/haxe/exceptions/NotImplementedException.hx",
"/usr/local/lib/haxe/std/haxe/exceptions/PosException.hx",
"/usr/local/lib/haxe/std/haxe/format/JsonParser.hx",
-"/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",
"/usr/local/lib/haxe/std/haxe/http/HttpBase.hx",
"/usr/local/lib/haxe/std/haxe/io/Bytes.hx",
"/usr/local/lib/haxe/std/haxe/io/BytesBuffer.hx",
@@ -256,14 +261,78 @@ const char *__hxcpp_all_files_fullpath[] = {
"/usr/local/lib/haxe/std/haxe/io/Path.hx",
"/usr/local/lib/haxe/std/haxe/iterators/ArrayIterator.hx",
"/usr/local/lib/haxe/std/haxe/iterators/MapKeyValueIterator.hx",
-"/usr/local/lib/haxe/std/haxe/xml/Printer.hx",
"/usr/local/lib/haxe/std/sys/Http.hx",
"/usr/local/lib/haxe/std/sys/thread/ElasticThreadPool.hx",
"/usr/local/lib/haxe/std/sys/thread/EventLoop.hx",
"/usr/local/lib/haxe/std/sys/thread/FixedThreadPool.hx",
"/usr/local/lib/haxe/std/sys/thread/NoEventLoopException.hx",
"/usr/local/lib/haxe/std/sys/thread/ThreadPoolException.hx",
-"/Users/singpolyma/src/snikket-sdk/HaxeCBridge.hx",
+"/Users/singpolyma/src/borogove/HaxeCBridge.hx",
+"/Users/singpolyma/src/borogove/borogove/AttachmentSource.cpp.hx",
+"/Users/singpolyma/src/borogove/borogove/Autolink.hx",
+"/Users/singpolyma/src/borogove/borogove/Caps.hx",
+"/Users/singpolyma/src/borogove/borogove/Chat.hx",
+"/Users/singpolyma/src/borogove/borogove/ChatMessage.hx",
+"/Users/singpolyma/src/borogove/borogove/ChatMessageBuilder.hx",
+"/Users/singpolyma/src/borogove/borogove/Client.hx",
+"/Users/singpolyma/src/borogove/borogove/Color.hx",
+"/Users/singpolyma/src/borogove/borogove/Command.hx",
+"/Users/singpolyma/src/borogove/borogove/Config.hx",
+"/Users/singpolyma/src/borogove/borogove/DataForm.hx",
+"/Users/singpolyma/src/borogove/borogove/Date.hx",
+"/Users/singpolyma/src/borogove/borogove/EmojiUtil.hx",
+"/Users/singpolyma/src/borogove/borogove/EncryptionInfo.hx",
+"/Users/singpolyma/src/borogove/borogove/EncryptionPolicy.hx",
+"/Users/singpolyma/src/borogove/borogove/EventEmitter.hx",
+"/Users/singpolyma/src/borogove/borogove/Form.hx",
+"/Users/singpolyma/src/borogove/borogove/GenericStream.hx",
+"/Users/singpolyma/src/borogove/borogove/Hash.hx",
+"/Users/singpolyma/src/borogove/borogove/ID.hx",
+"/Users/singpolyma/src/borogove/borogove/Identicon.hx",
+"/Users/singpolyma/src/borogove/borogove/JID.hx",
+"/Users/singpolyma/src/borogove/borogove/JsonPrinter.hx",
+"/Users/singpolyma/src/borogove/borogove/Message.hx",
+"/Users/singpolyma/src/borogove/borogove/MessageSync.hx",
+"/Users/singpolyma/src/borogove/borogove/ModerationAction.hx",
+"/Users/singpolyma/src/borogove/borogove/NS.hx",
+"/Users/singpolyma/src/borogove/borogove/Notification.hx",
+"/Users/singpolyma/src/borogove/borogove/Outbox.hx",
+"/Users/singpolyma/src/borogove/borogove/Participant.hx",
+"/Users/singpolyma/src/borogove/borogove/Persistence.hx",
+"/Users/singpolyma/src/borogove/borogove/Presence.hx",
+"/Users/singpolyma/src/borogove/borogove/Profile.hx",
+"/Users/singpolyma/src/borogove/borogove/PubsubEvent.hx",
+"/Users/singpolyma/src/borogove/borogove/Push.hx",
+"/Users/singpolyma/src/borogove/borogove/Reaction.hx",
+"/Users/singpolyma/src/borogove/borogove/ReactionUpdate.hx",
+"/Users/singpolyma/src/borogove/borogove/Stanza.hx",
+"/Users/singpolyma/src/borogove/borogove/StringUtil.hx",
+"/Users/singpolyma/src/borogove/borogove/Util.hx",
+"/Users/singpolyma/src/borogove/borogove/XEP0393.hx",
+"/Users/singpolyma/src/borogove/borogove/calls/Group.hx",
+"/Users/singpolyma/src/borogove/borogove/calls/PeerConnection.cpp.hx",
+"/Users/singpolyma/src/borogove/borogove/calls/Session.hx",
+"/Users/singpolyma/src/borogove/borogove/calls/SessionDescription.hx",
+"/Users/singpolyma/src/borogove/borogove/persistence/Dummy.hx",
+"/Users/singpolyma/src/borogove/borogove/persistence/MediaStoreFS.hx",
+"/Users/singpolyma/src/borogove/borogove/persistence/Sqlite.hx",
+"/Users/singpolyma/src/borogove/borogove/persistence/SqliteDriver.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/BlocklistGet.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/BoB.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/CommandExecute.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/DiscoInfoGet.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/DiscoItemsGet.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/ExtDiscoGet.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/GenericQuery.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/HttpUploadSlot.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/JabberIqGatewayGet.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/MAMQuery.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/PubsubGet.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/Push2Disable.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/Push2Enable.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/RosterGet.hx",
+"/Users/singpolyma/src/borogove/borogove/queries/VcardTempGet.hx",
+"/Users/singpolyma/src/borogove/borogove/streams/XmppStropheStream.hx",
"/Users/singpolyma/.local/lib/haxe/lib/datetime/3,1,4/src/datetime/DateTime.hx",
"/Users/singpolyma/.local/lib/haxe/lib/datetime/3,1,4/src/datetime/DateTimeInterval.hx",
"/Users/singpolyma/.local/lib/haxe/lib/datetime/3,1,4/src/datetime/cores/DateTimeIntervalCore.hx",
@@ -283,63 +352,6 @@ const char *__hxcpp_all_files_fullpath[] = {
"/Users/singpolyma/.local/lib/haxe/lib/haxe-strings/7,0,5/src/hx/strings/Strings.hx",
"/Users/singpolyma/.local/lib/haxe/lib/sha/0,0,1/src/sha/Hash.hx",
"/Users/singpolyma/.local/lib/haxe/lib/sha/0,0,1/src/sha/SHA256.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/AttachmentSource.cpp.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Autolink.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Caps.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Chat.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/ChatMessage.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/ChatMessageBuilder.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Client.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Color.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Config.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Date.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/EmojiUtil.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/EventEmitter.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/EventHandler.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/GenericStream.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Hash.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/ID.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Identicon.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/JID.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/JsonPrinter.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Message.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/MessageSync.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/ModerationAction.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Notification.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Participant.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Persistence.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Presence.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/PubsubEvent.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Push.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Reaction.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/ReactionUpdate.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Stanza.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/StringUtil.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/Util.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/XEP0393.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/jingle/Group.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/jingle/PeerConnection.cpp.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/jingle/Session.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/jingle/SessionDescription.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/persistence/Dummy.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/persistence/MediaStoreFS.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/persistence/Sqlite.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/persistence/SqliteDriver.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/BlocklistGet.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/BoB.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/DiscoInfoGet.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/DiscoItemsGet.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/ExtDiscoGet.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/GenericQuery.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/HttpUploadSlot.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/JabberIqGatewayGet.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/MAMQuery.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/PubsubGet.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/Push2Disable.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/Push2Enable.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/RosterGet.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/queries/VcardTempGet.hx",
-"/Users/singpolyma/src/snikket-sdk/snikket/streams/XmppStropheStream.hx",
"/Users/singpolyma/.local/lib/haxe/lib/thenshim/1,1,2/src/thenshim/Promise.hx",
"/Users/singpolyma/.local/lib/haxe/lib/thenshim/1,1,2/src/thenshim/PromiseTools.hx",
"/Users/singpolyma/.local/lib/haxe/lib/thenshim/1,1,2/src/thenshim/fallback/FallbackPromise.hx",
@@ -400,8 +412,109 @@ const char *__hxcpp_all_classes[] = {
"Sys",
"Type",
"_UnicodeString.UnicodeString_Impl_",
-"_Xml.XmlType_Impl_",
-"Xml",
+"borogove.AttachmentSource",
+"borogove.Autolink",
+"borogove.Caps",
+"borogove.Identity",
+"borogove.Chat",
+"borogove.DirectChat",
+"borogove.Channel",
+"borogove.AvailableChat",
+"borogove.SerializedChat",
+"borogove.ChatAttachment",
+"borogove.ChatMessage",
+"borogove.ChatMessageBuilder",
+"borogove.EventEmitter",
+"borogove.Client",
+"borogove.Color",
+"borogove.Command",
+"borogove.CommandSession",
+"borogove.Config",
+"borogove._DataForm.DataForm_Impl_",
+"borogove._DataForm.Field_Impl_",
+"borogove.FormField",
+"borogove.FormOption",
+"borogove.Date",
+"borogove.UnicodeList",
+"borogove.UnicodeRange",
+"borogove.UnicodeBlocks",
+"borogove.EmojiUtil",
+"borogove.Symbol",
+"borogove.Emoji",
+"borogove.Other",
+"borogove.Builder",
+"borogove.EncryptionInfo",
+"borogove.EncryptionPolicy",
+"borogove.FormItem",
+"borogove.FormSubmitBuilder",
+"borogove.Form",
+"borogove.FormLayoutSection",
+"borogove.GenericStream",
+"borogove.Hash",
+"borogove.ID",
+"borogove.Identicon",
+"borogove.JID",
+"borogove.JsonPrinter",
+"borogove.Message",
+"borogove.MessageSync",
+"borogove.ModerationAction",
+"borogove.NS",
+"borogove.Notification",
+"borogove.Outbox",
+"borogove.OutboxItem",
+"borogove.Participant",
+"borogove.Presence",
+"borogove.Profile",
+"borogove.ProfileItem",
+"borogove.ProfileBuilder",
+"borogove._Profile.Profile_Fields_",
+"borogove.PubsubEvent",
+"borogove.Push",
+"borogove.Reaction",
+"borogove.CustomEmojiReaction",
+"borogove.ReactionUpdate",
+"borogove.StanzaError",
+"borogove.Stanza",
+"borogove.StringUtil",
+"borogove.Util",
+"borogove._Util.Util_Fields_",
+"borogove.XEP0393",
+"borogove.calls.Group",
+"borogove.calls.DTMFSender",
+"borogove.calls.AudioFormat",
+"borogove.calls.MediaStreamTrack",
+"borogove.calls.MediaStream",
+"borogove.calls.PeerConnection",
+"borogove.calls.IncomingProposedSession",
+"borogove.calls.OutgoingProposedSession",
+"borogove.calls.InitiatedSession",
+"borogove.calls.OutgoingSession",
+"borogove.calls._Session.Session_Fields_",
+"borogove.calls.SessionDescription",
+"borogove.calls.TransportInfo",
+"borogove.calls.Media",
+"borogove.calls.IceCandidate",
+"borogove.calls.Attribute",
+"borogove.persistence.Dummy",
+"borogove.persistence.MediaStoreFS",
+"borogove.persistence.Sqlite",
+"borogove.persistence.SqliteDriver",
+"borogove.queries.GenericQuery",
+"borogove.queries.BlocklistGet",
+"borogove.queries.BoB",
+"borogove.queries.CommandExecute",
+"borogove.queries.DiscoInfoGet",
+"borogove.queries.DiscoItemsGet",
+"borogove.queries.ExtDiscoGet",
+"borogove.queries.HttpUploadSlot",
+"borogove.queries.JabberIqGatewayGet",
+"borogove.queries.MAMQuery",
+"borogove.queries.PubsubGet",
+"borogove.queries.Push2Disable",
+"borogove.queries.Push2Enable",
+"borogove.queries.RosterGet",
+"borogove.queries.VcardTempGet",
+"borogove.streams.XmppStropheStream",
"cpp.Int64Map",
"cpp.Lib",
"cpp._NativeString.NativeString_Impl_",
@@ -431,6 +544,7 @@ const char *__hxcpp_all_classes[] = {
"haxe.ds.BalancedTree",
"haxe.ds.TreeNode",
"haxe.ds.EnumValueMap",
+"haxe.ds.IntMap",
"haxe.ds.List",
"haxe.ds._List.ListNode",
"haxe.ds.ObjectMap",
@@ -438,7 +552,6 @@ const char *__hxcpp_all_classes[] = {
"haxe.exceptions.PosException",
"haxe.exceptions.NotImplementedException",
"haxe.format.JsonParser",
-"haxe.format.JsonPrinter",
"haxe.http.HttpBase",
"haxe.io.BytesBuffer",
"haxe.io.Input",
@@ -449,7 +562,6 @@ const char *__hxcpp_all_classes[] = {
"haxe.io.Path",
"haxe.iterators.ArrayIterator",
"haxe.iterators.MapKeyValueIterator",
-"haxe.xml.Printer",
"hsluv.Hsluv",
"htmlparser.HtmlAttribute",
"htmlparser.HtmlNode",
@@ -465,90 +577,6 @@ const char *__hxcpp_all_classes[] = {
"sha.Hash",
"sha.SHA256",
"sha._SHA256.SHA256_Fields_",
-"snikket.AttachmentSource",
-"snikket.Autolink",
-"snikket.Caps",
-"snikket.Identity",
-"snikket.Chat",
-"snikket.DirectChat",
-"snikket.Channel",
-"snikket.AvailableChat",
-"snikket.SerializedChat",
-"snikket.ChatAttachment",
-"snikket.ChatMessage",
-"snikket.ChatMessageBuilder",
-"snikket.EventEmitter",
-"snikket.Client",
-"snikket.Color",
-"snikket.Config",
-"snikket.Date",
-"snikket.UnicodeList",
-"snikket.UnicodeRange",
-"snikket.UnicodeBlocks",
-"snikket.EmojiUtil",
-"snikket.Symbol",
-"snikket.Emoji",
-"snikket.Other",
-"snikket.Builder",
-"snikket.EventHandler",
-"snikket.GenericStream",
-"snikket.Hash",
-"snikket.ID",
-"snikket.Identicon",
-"snikket.JID",
-"snikket.JsonPrinter",
-"snikket.Message",
-"snikket.MessageSync",
-"snikket.ModerationAction",
-"snikket.Notification",
-"snikket.Participant",
-"snikket.Presence",
-"snikket.PubsubEvent",
-"snikket.Push",
-"snikket.Reaction",
-"snikket.CustomEmojiReaction",
-"snikket.ReactionUpdate",
-"snikket.TextNodeClass",
-"snikket.StanzaError",
-"snikket.Stanza",
-"snikket.StringUtil",
-"snikket._Util.Util_Fields_",
-"snikket.XEP0393",
-"snikket.jingle.Group",
-"snikket.jingle.DTMFSender",
-"snikket.jingle.AudioFormat",
-"snikket.jingle.MediaStreamTrack",
-"snikket.jingle.MediaStream",
-"snikket.jingle.PeerConnection",
-"snikket.jingle.IncomingProposedSession",
-"snikket.jingle.OutgoingProposedSession",
-"snikket.jingle.InitiatedSession",
-"snikket.jingle.OutgoingSession",
-"snikket.jingle._Session.Session_Fields_",
-"snikket.jingle.SessionDescription",
-"snikket.jingle.TransportInfo",
-"snikket.jingle.Media",
-"snikket.jingle.IceCandidate",
-"snikket.jingle.Attribute",
-"snikket.persistence.Dummy",
-"snikket.persistence.MediaStoreFS",
-"snikket.persistence.Sqlite",
-"snikket.persistence.SqliteDriver",
-"snikket.queries.GenericQuery",
-"snikket.queries.BlocklistGet",
-"snikket.queries.BoB",
-"snikket.queries.DiscoInfoGet",
-"snikket.queries.DiscoItemsGet",
-"snikket.queries.ExtDiscoGet",
-"snikket.queries.HttpUploadSlot",
-"snikket.queries.JabberIqGatewayGet",
-"snikket.queries.MAMQuery",
-"snikket.queries.PubsubGet",
-"snikket.queries.Push2Disable",
-"snikket.queries.Push2Enable",
-"snikket.queries.RosterGet",
-"snikket.queries.VcardTempGet",
-"snikket.streams.XmppStropheStream",
"sys.FileSystem",
"sys.Http",
"sys.db._Sqlite.SqliteConnection",
diff --git a/Sources/c_snikket/src/__lib__.cpp b/Sources/c_borogove/src/__lib__.cpp
similarity index 100%
rename from Sources/c_snikket/src/__lib__.cpp
rename to Sources/c_borogove/src/__lib__.cpp
diff --git a/Sources/c_snikket/src/__resources__.cpp b/Sources/c_borogove/src/__resources__.cpp
similarity index 100%
rename from Sources/c_snikket/src/__resources__.cpp
rename to Sources/c_borogove/src/__resources__.cpp
diff --git a/Sources/c_snikket/src/snikket/AttachmentSource.cpp b/Sources/c_borogove/src/borogove/AttachmentSource.cpp
similarity index 78%
rename from Sources/c_snikket/src/snikket/AttachmentSource.cpp
rename to Sources/c_borogove/src/borogove/AttachmentSource.cpp
index 9616206..63e3953 100644
--- a/Sources/c_snikket/src/snikket/AttachmentSource.cpp
+++ b/Sources/c_borogove/src/borogove/AttachmentSource.cpp
@@ -1,6 +1,9 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
+#ifndef INCLUDED_borogove_AttachmentSource
+#include <borogove/AttachmentSource.h>
+#endif
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
@@ -10,9 +13,6 @@
#ifndef INCLUDED_haxe_io_Path
#include <haxe/io/Path.h>
#endif
-#ifndef INCLUDED_snikket_AttachmentSource
-#include <snikket/AttachmentSource.h>
-#endif
#ifndef INCLUDED_sys_FileSystem
#include <sys/FileSystem.h>
#endif
@@ -41,17 +41,17 @@
#include <tink/streams/StreamObject.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_1589e03dacb7e96d_18_new,"snikket.AttachmentSource","new",0xbdfe18c1,"snikket.AttachmentSource.new","snikket/AttachmentSource.cpp.hx",18,0x88ae23d9)
-HX_LOCAL_STACK_FRAME(_hx_pos_178ee577f3d4b8ba_355_path__fromC,"snikket.AttachmentSource","path__fromC",0xcaffcad5,"snikket.AttachmentSource.path__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_178ee577f3d4b8ba_355_type__fromC,"snikket.AttachmentSource","type__fromC",0xde17ba60,"snikket.AttachmentSource.type__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_178ee577f3d4b8ba_355_name__fromC,"snikket.AttachmentSource","name__fromC",0x5911beef,"snikket.AttachmentSource.name__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_178ee577f3d4b8ba_355_size__fromC,"snikket.AttachmentSource","size__fromC",0x95ffeb39,"snikket.AttachmentSource.size__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1589e03dacb7e96d_27_tinkSource,"snikket.AttachmentSource","tinkSource",0x8a7a292c,"snikket.AttachmentSource.tinkSource","snikket/AttachmentSource.cpp.hx",27,0x88ae23d9)
-HX_LOCAL_STACK_FRAME(_hx_pos_1589e03dacb7e96d_12_boot,"snikket.AttachmentSource","boot",0x787090b1,"snikket.AttachmentSource.boot","snikket/AttachmentSource.cpp.hx",12,0x88ae23d9)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_d724c8a9c8534014_18_new,"borogove.AttachmentSource","new",0x6c43ff9d,"borogove.AttachmentSource.new","borogove/AttachmentSource.cpp.hx",18,0xec06ee7d)
+HX_LOCAL_STACK_FRAME(_hx_pos_25944cb2fc8f2627_423_path__fromC,"borogove.AttachmentSource","path__fromC",0xf211edb1,"borogove.AttachmentSource.path__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_25944cb2fc8f2627_423_type__fromC,"borogove.AttachmentSource","type__fromC",0x0529dd3c,"borogove.AttachmentSource.type__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_25944cb2fc8f2627_423_name__fromC,"borogove.AttachmentSource","name__fromC",0x8023e1cb,"borogove.AttachmentSource.name__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_25944cb2fc8f2627_423_size__fromC,"borogove.AttachmentSource","size__fromC",0xbd120e15,"borogove.AttachmentSource.size__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_d724c8a9c8534014_27_tinkSource,"borogove.AttachmentSource","tinkSource",0xd8b715d0,"borogove.AttachmentSource.tinkSource","borogove/AttachmentSource.cpp.hx",27,0xec06ee7d)
+HX_LOCAL_STACK_FRAME(_hx_pos_d724c8a9c8534014_12_boot,"borogove.AttachmentSource","boot",0x4754aa55,"borogove.AttachmentSource.boot","borogove/AttachmentSource.cpp.hx",12,0xec06ee7d)
+namespace borogove{
void AttachmentSource_obj::__construct(::String path,::String mime){
- HX_STACKFRAME(&_hx_pos_1589e03dacb7e96d_18_new)
+ HX_STACKFRAME(&_hx_pos_d724c8a9c8534014_18_new)
HXLINE( 19) this->name = ::haxe::io::Path_obj::withoutDirectory(path);
HXLINE( 20) this->path = ::sys::FileSystem_obj::fullPath(path);
HXLINE( 21) this->size = ( (int)(::sys::FileSystem_obj::stat(this->path)->__Field(HX_("size",c1,a0,53,4c),::hx::paccDynamic)) );
@@ -70,49 +70,47 @@ Dynamic AttachmentSource_obj::__Create(::hx::DynamicArray inArgs)
}
bool AttachmentSource_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x3b403b17;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x0882961f;
}
::String AttachmentSource_obj::path__fromC(){
- HX_STACKFRAME(&_hx_pos_178ee577f3d4b8ba_355_path__fromC)
-HXDLIN( 355) return this->path;
+ HX_STACKFRAME(&_hx_pos_25944cb2fc8f2627_423_path__fromC)
+HXDLIN( 423) return this->path;
}
HX_DEFINE_DYNAMIC_FUNC0(AttachmentSource_obj,path__fromC,return )
::String AttachmentSource_obj::type__fromC(){
- HX_STACKFRAME(&_hx_pos_178ee577f3d4b8ba_355_type__fromC)
-HXDLIN( 355) return this->type;
+ HX_STACKFRAME(&_hx_pos_25944cb2fc8f2627_423_type__fromC)
+HXDLIN( 423) return this->type;
}
HX_DEFINE_DYNAMIC_FUNC0(AttachmentSource_obj,type__fromC,return )
::String AttachmentSource_obj::name__fromC(){
- HX_STACKFRAME(&_hx_pos_178ee577f3d4b8ba_355_name__fromC)
-HXDLIN( 355) return this->name;
+ HX_STACKFRAME(&_hx_pos_25944cb2fc8f2627_423_name__fromC)
+HXDLIN( 423) return this->name;
}
HX_DEFINE_DYNAMIC_FUNC0(AttachmentSource_obj,name__fromC,return )
int AttachmentSource_obj::size__fromC(){
- HX_STACKFRAME(&_hx_pos_178ee577f3d4b8ba_355_size__fromC)
-HXDLIN( 355) return this->size;
+ HX_STACKFRAME(&_hx_pos_25944cb2fc8f2627_423_size__fromC)
+HXDLIN( 423) return this->size;
}
HX_DEFINE_DYNAMIC_FUNC0(AttachmentSource_obj,size__fromC,return )
::Dynamic AttachmentSource_obj::tinkSource(){
- HX_GC_STACKFRAME(&_hx_pos_1589e03dacb7e96d_27_tinkSource)
+ HX_GC_STACKFRAME(&_hx_pos_d724c8a9c8534014_27_tinkSource)
HXDLIN( 27) ::String name = this->name;
HXDLIN( 27) ::haxe::io::Input input = ::sys::io::File_obj::read(this->path,null());
HXDLIN( 27) ::Dynamic options = null();
-HXDLIN( 27) if (::hx::IsNull( options )) {
-HXDLIN( 27) options = ::Dynamic(::hx::Anon_obj::Create(0));
- }
+HXDLIN( 27) options = ::Dynamic(::hx::Anon_obj::Create(0));
HXDLIN( 27) ::Dynamic _hx_tmp = ::tink::io::_Worker::Worker_Impl__obj::ensure( ::Dynamic(options->__Field(HX_("worker",7e,30,9e,c9),::hx::paccDynamic)));
HXDLIN( 27) ::Dynamic _g = options->__Field(HX_("chunkSize",ce,cd,77,9f),::hx::paccDynamic);
HXDLIN( 27) int _hx_tmp1;
@@ -120,8 +118,7 @@ HXDLIN( 27) if (::hx::IsNull( _g )) {
HXDLIN( 27) _hx_tmp1 = 65536;
}
else {
-HXDLIN( 27) ::Dynamic v = _g;
-HXDLIN( 27) _hx_tmp1 = ( (int)(v) );
+HXDLIN( 27) _hx_tmp1 = ( (int)(_g) );
}
HXDLIN( 27) return ::tink::io::std::InputSource_obj::__alloc( HX_CTX ,name,input,_hx_tmp,::haxe::io::Bytes_obj::alloc(_hx_tmp1),0);
}
@@ -137,7 +134,7 @@ HX_DEFINE_DYNAMIC_FUNC0(AttachmentSource_obj,tinkSource,return )
}
::hx::ObjectPtr< AttachmentSource_obj > AttachmentSource_obj::__alloc(::hx::Ctx *_hx_ctx,::String path,::String mime) {
- AttachmentSource_obj *__this = (AttachmentSource_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(AttachmentSource_obj), true, "snikket.AttachmentSource"));
+ AttachmentSource_obj *__this = (AttachmentSource_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(AttachmentSource_obj), true, "borogove.AttachmentSource"));
*(void **)__this = AttachmentSource_obj::_hx_vtable;
__this->__construct(path,mime);
return __this;
@@ -237,7 +234,7 @@ void AttachmentSource_obj::__register()
AttachmentSource_obj _hx_dummy;
AttachmentSource_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.AttachmentSource",4f,a4,78,4f);
+ __mClass->mName = HX_("borogove.AttachmentSource",2b,ed,d2,c2);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -258,7 +255,7 @@ void AttachmentSource_obj::__register()
void AttachmentSource_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_1589e03dacb7e96d_12_boot)
+ HX_STACKFRAME(&_hx_pos_d724c8a9c8534014_12_boot)
HXDLIN( 12) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(4)
->setFixed(0,HX_("path__fromC",74,b9,54,80), ::Dynamic(::hx::Anon_obj::Create(1)
@@ -272,4 +269,4 @@ HXDLIN( 12) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
}
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/Autolink.cpp b/Sources/c_borogove/src/borogove/Autolink.cpp
similarity index 69%
rename from Sources/c_snikket/src/snikket/Autolink.cpp
rename to Sources/c_borogove/src/borogove/Autolink.cpp
index 772db6a..9042bb1 100644
--- a/Sources/c_snikket/src/snikket/Autolink.cpp
+++ b/Sources/c_borogove/src/borogove/Autolink.cpp
@@ -7,49 +7,49 @@
#ifndef INCLUDED_Lambda
#include <Lambda.h>
#endif
-#ifndef INCLUDED_snikket_Autolink
-#include <snikket/Autolink.h>
+#ifndef INCLUDED_StringTools
+#include <StringTools.h>
#endif
-#ifndef INCLUDED_snikket_Node
-#include <snikket/Node.h>
+#ifndef INCLUDED_borogove_Autolink
+#include <borogove/Autolink.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Node
+#include <borogove/Node.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_348_one,"snikket.Autolink","one",0x4e62ad12,"snikket.Autolink.one","snikket/Autolink.hx",348,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_349_one,"snikket.Autolink","one",0x4e62ad12,"snikket.Autolink.one","snikket/Autolink.hx",349,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_341_one,"snikket.Autolink","one",0x4e62ad12,"snikket.Autolink.one","snikket/Autolink.hx",341,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_355_match,"snikket.Autolink","match",0x7edc5ef1,"snikket.Autolink.match","snikket/Autolink.hx",355,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_28_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",28,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_40_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",40,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_162_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",162,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_164_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",164,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_181_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",181,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_204_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",204,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_231_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",231,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_240_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",240,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_244_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",244,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_249_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",249,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_251_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",251,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_252_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",252,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_255_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",255,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_256_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",256,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_259_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",259,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_276_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",276,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_281_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",281,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_288_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",288,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_293_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",293,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_298_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",298,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_311_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",311,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_328_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",328,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_331_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",331,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_334_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",334,0x041baf83)
-HX_LOCAL_STACK_FRAME(_hx_pos_e03e81a8315e14a8_336_boot,"snikket.Autolink","boot",0x3f5dc806,"snikket.Autolink.boot","snikket/Autolink.hx",336,0x041baf83)
-namespace snikket{
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_349_one,"borogove.Autolink","one",0xc87857ee,"borogove.Autolink.one","borogove/Autolink.hx",349,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_350_one,"borogove.Autolink","one",0xc87857ee,"borogove.Autolink.one","borogove/Autolink.hx",350,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_342_one,"borogove.Autolink","one",0xc87857ee,"borogove.Autolink.one","borogove/Autolink.hx",342,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_356_match,"borogove.Autolink","match",0xe9d778cd,"borogove.Autolink.match","borogove/Autolink.hx",356,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_29_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",29,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_41_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",41,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_163_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",163,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_165_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",165,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_182_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",182,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_205_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",205,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_232_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",232,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_241_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",241,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_245_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",245,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_250_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",250,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_252_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",252,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_253_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",253,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_256_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",256,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_257_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",257,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_260_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",260,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_277_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",277,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_282_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",282,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_289_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",289,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_294_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",294,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_299_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",299,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_312_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",312,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_329_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",329,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_332_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",332,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_335_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",335,0x8c1e1427)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_337_boot,"borogove.Autolink","boot",0x983d9daa,"borogove.Autolink.boot","borogove/Autolink.hx",337,0x8c1e1427)
+namespace borogove{
void Autolink_obj::__construct() { }
@@ -65,7 +65,7 @@ Dynamic Autolink_obj::__Create(::hx::DynamicArray inArgs)
}
bool Autolink_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x257fedc6;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x0ab0594e;
}
::String Autolink_obj::IANA_TOP_LEVEL_DOMAINS;
@@ -119,70 +119,90 @@ bool Autolink_obj::_hx_isInstanceOf(int inClassId) {
::Dynamic Autolink_obj::one(::String s,int start){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
int _hx_run( ::Dynamic x, ::Dynamic y){
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_348_one)
-HXLINE( 348) return (( (int)(x->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic)) ) - ( (int)(y->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic)) ));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_349_one)
+HXLINE( 349) return (( (int)(x->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic)) ) - ( (int)(y->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic)) ));
}
HX_END_LOCAL_FUNC2(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
bool _hx_run( ::Dynamic match){
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_349_one)
-HXLINE( 349) return ::hx::IsNotNull( match->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic) );
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_350_one)
+HXLINE( 350) return ::hx::IsNotNull( match->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic) );
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_341_one)
-HXLINE( 343) ::Dynamic matches = ::snikket::Autolink_obj::match(s,start,::snikket::Autolink_obj::XMPP_URI,false);
-HXLINE( 344) ::Dynamic matches1 = ::snikket::Autolink_obj::match(s,start,::snikket::Autolink_obj::TEL_URI,false);
-HXLINE( 345) ::Dynamic matches2 = ::snikket::Autolink_obj::match(s,start,::snikket::Autolink_obj::SMS_URI,false);
-HXLINE( 342) ::Array< ::Dynamic> matches3 = ::Array_obj< ::Dynamic>::__new(4)->init(0,matches)->init(1,matches1)->init(2,matches2)->init(3,::snikket::Autolink_obj::match(s,start,::snikket::Autolink_obj::AUTOLINK_WEB_URL,true));
-HXLINE( 348) matches3->sort( ::Dynamic(new _hx_Closure_0()));
-HXLINE( 349) ::Dynamic tmp = ::Lambda_obj::find(matches3, ::Dynamic(new _hx_Closure_1()));
-HXDLIN( 349) if (::hx::IsNotNull( tmp )) {
-HXLINE( 349) return tmp;
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_342_one)
+HXLINE( 344) ::Dynamic matches = ::borogove::Autolink_obj::match(s,start,::borogove::Autolink_obj::XMPP_URI,false);
+HXLINE( 345) ::Dynamic matches1 = ::borogove::Autolink_obj::match(s,start,::borogove::Autolink_obj::TEL_URI,false);
+HXLINE( 346) ::Dynamic matches2 = ::borogove::Autolink_obj::match(s,start,::borogove::Autolink_obj::SMS_URI,false);
+HXLINE( 343) ::Array< ::Dynamic> matches3 = ::Array_obj< ::Dynamic>::__new(4)->init(0,matches)->init(1,matches1)->init(2,matches2)->init(3,::borogove::Autolink_obj::match(s,start,::borogove::Autolink_obj::AUTOLINK_WEB_URL,true));
+HXLINE( 349) matches3->sort( ::Dynamic(new _hx_Closure_0()));
+HXLINE( 350) ::Dynamic tmp = ::Lambda_obj::find(matches3, ::Dynamic(new _hx_Closure_1()));
+HXDLIN( 350) if (::hx::IsNotNull( tmp )) {
+HXLINE( 350) return tmp;
}
else {
-HXLINE( 349) return matches3->__get(0);
+HXLINE( 350) return matches3->__get(0);
}
-HXDLIN( 349) return null();
+HXDLIN( 350) return null();
}
STATIC_HX_DEFINE_DYNAMIC_FUNC2(Autolink_obj,one,return )
::Dynamic Autolink_obj::match(::String s,int start, ::EReg pattern,bool addHttps){
- HX_GC_STACKFRAME(&_hx_pos_e03e81a8315e14a8_355_match)
-HXDLIN( 355) if (pattern->matchSub(s,start,null())) {
-HXLINE( 356) ::Dynamic pos = pattern->matchedPos();
-HXLINE( 357) ::String link = pattern->matched(0);
-HXLINE( 358) ::String uri;
-HXDLIN( 358) bool uri1;
-HXDLIN( 358) if (addHttps) {
-HXLINE( 358) uri1 = (link.indexOf(HX_("://",da,2b,2c,00),null()) != -1);
+ HX_GC_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_356_match)
+HXDLIN( 356) if (pattern->matchSub(s,start,null())) {
+HXLINE( 357) ::Dynamic pos = pattern->matchedPos();
+HXLINE( 358) ::String link = pattern->matched(0);
+HXLINE( 359) ::String uri;
+HXDLIN( 359) bool uri1;
+HXDLIN( 359) if (addHttps) {
+HXLINE( 359) uri1 = (link.indexOf(HX_("://",da,2b,2c,00),null()) != -1);
}
else {
-HXLINE( 358) uri1 = true;
+HXLINE( 359) uri1 = true;
}
-HXDLIN( 358) if (uri1) {
-HXLINE( 358) uri = link;
+HXDLIN( 359) if (uri1) {
+HXLINE( 359) uri = link;
}
else {
-HXLINE( 358) uri = (HX_("https://",cf,b4,ae,3e) + link);
+HXLINE( 359) uri = (HX_("https://",cf,b4,ae,3e) + link);
}
-HXLINE( 360) ::snikket::Node _hx_tmp = ::snikket::Node_obj::Element( ::snikket::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(link));
-HXDLIN( 360) return ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 360) ::String text;
+HXDLIN( 360) if (::StringTools_obj::startsWith(link,HX_("xmpp:",65,3c,77,60))) {
+HXLINE( 360) text = ::EReg_obj::__alloc( HX_CTX ,HX_("omemo-sid[^;]+;?",a0,16,8d,49),HX_("",00,00,00,00))->replace(link,HX_("",00,00,00,00));
+ }
+ else {
+HXLINE( 360) text = link;
+ }
+HXLINE( 361) bool text1;
+HXDLIN( 361) if (::StringTools_obj::startsWith(link,HX_("xmpp:",65,3c,77,60))) {
+HXLINE( 361) text1 = ::StringTools_obj::endsWith(text,HX_(";",3b,00,00,00));
+ }
+ else {
+HXLINE( 361) text1 = false;
+ }
+HXDLIN( 361) if (text1) {
+HXLINE( 361) text = text.substr(0,(text.length - 1));
+ }
+HXLINE( 362) if (::StringTools_obj::endsWith(text,HX_("?",3f,00,00,00))) {
+HXLINE( 362) text = text.substr(0,(text.length - 1));
+ }
+HXLINE( 364) ::borogove::Node _hx_tmp = ::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));
+HXDLIN( 364) 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) + pos->__Field(HX_("len",d5,4b,52,00),::hx::paccDynamic))))
->setFixed(2,HX_("span",ca,da,58,4c),_hx_tmp));
}
else {
-HXLINE( 362) return ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 366) return ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("start",62,74,0b,84),s.length)
->setFixed(1,HX_("end",db,03,4d,00),s.length)
->setFixed(2,HX_("span",ca,da,58,4c),null()));
}
-HXLINE( 355) return null();
+HXLINE( 356) return null();
}
@@ -440,7 +460,7 @@ void Autolink_obj::__register()
Autolink_obj _hx_dummy;
Autolink_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Autolink",1a,ad,e0,f4);
+ __mClass->mName = HX_("borogove.Autolink",f6,b9,d8,17);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -465,108 +485,108 @@ void Autolink_obj::__register()
void Autolink_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_28_boot)
-HXDLIN( 28) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_29_boot)
+HXDLIN( 29) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("statics",05,3c,65,36), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("GOOD_IRI_CHAR",f7,b8,57,73), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("Deprecated",93,03,d4,7a),null()))))));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_40_boot)
-HXDLIN( 40) IANA_TOP_LEVEL_DOMAINS = ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((HX_("(?:",43,91,1e,00) + HX_("(?:aaa|aarp|abb|abbott|abogado|academy|accenture|accountant|accountants|aco|active",90,12,72,e0)) + HX_("|actor|ads|adult|aeg|aero|afl|agency|aig|airforce|airtel|allfinanz|alsace|amica|amsterdam",4b,e1,62,2e)) + HX_("|android|apartments|app|apple|aquarelle|aramco|archi|army|arpa|arte|asia|associates",8f,9a,6b,09)) + HX_("|attorney|auction|audio|auto|autos|axa|azure|a[cdefgilmoqrstuwxz])",ff,35,8a,a6)) + HX_("|(?:band|bank|bar|barcelona|barclaycard|barclays|bargains|bauhaus|bayern|bbc|bbva",fa,5a,d9,ba)) + HX_("|bcn|beats|beer|bentley|berlin|best|bet|bharti|bible|bid|bike|bing|bingo|bio|biz|black",cd,34,df,8a)) + HX_("|blackfriday|bloomberg|blue|bms|bmw|bnl|bnpparibas|boats|bom|bond|boo|boots|boutique",a0,59,71,55)) + HX_("|bradesco|bridgestone|broadway|broker|brother|brussels|budapest|build|builders|business",d2,de,1e,e1)) + HX_("|buzz|bzh|b[abdefghijmnorstvwyz])",87,31,5b,fc)) + HX_("|(?:cab|cafe|cal|camera|camp|cancerresearch|canon|capetown|capital|car|caravan|cards",26,5e,8c,48)) + HX_("|care|career|careers|cars|cartier|casa|cash|casino|cat|catering|cba|cbn|ceb|center|ceo",7f,64,bf,5f)) + HX_("|cern|cfa|cfd|chanel|channel|chat|cheap|chloe|christmas|chrome|church|cipriani|cisco",f4,85,3e,a7)) + HX_("|citic|city|cityeats|claims|cleaning|click|clinic|clothing|cloud|club|clubmed|coach",fc,f4,94,ae)) + HX_("|codes|coffee|college|cologne|com|commbank|community|company|computer|comsec|condos",4c,80,70,64)) + HX_("|construction|consulting|contractors|cooking|cool|coop|corsica|country|coupons|courses",ce,0a,99,55)) + HX_("|credit|creditcard|creditunion|cricket|crown|crs|cruises|csc|cuisinella|cymru|cyou|c[acdfghiklmnoruvwxyz])",40,d2,44,eb)) + HX_("|(?:dabur|dad|dance|date|dating|datsun|day|dclk|deals|degree|delivery|dell|delta",23,e0,18,1d)) + HX_("|democrat|dental|dentist|desi|design|dev|diamonds|diet|digital|direct|directory|discount",0c,44,48,a2)) + HX_("|dnp|docs|dog|doha|domains|doosan|download|drive|durban|dvag|d[ejkmoz])",47,96,49,b1)) + HX_("|(?:earth|eat|edu|education|email|emerck|energy|engineer|engineering|enterprises",48,37,7e,b3)) + HX_("|epson|equipment|erni|esq|estate|eurovision|eus|events|everbank|exchange|expert|exposed",ea,8d,a9,49)) + HX_("|express|e[cegrstu])",95,df,9a,c7)) + HX_("|(?:fage|fail|fairwinds|faith|family|fan|fans|farm|fashion|feedback|ferrero|film",b6,d0,f7,65)) + HX_("|final|finance|financial|firmdale|fish|fishing|fit|fitness|flights|florist|flowers|flsmidth",cb,ea,89,98)) + HX_("|fly|foo|football|forex|forsale|forum|foundation|frl|frogans|fund|furniture|futbol|fyi",31,b9,85,c5)) + HX_("|f[ijkmor])",03,5c,5e,87)) + HX_("|(?:gal|gallery|game|garden|gbiz|gdn|gea|gent|genting|ggee|gift|gifts|gives|giving",cb,a8,f7,39)) + HX_("|glass|gle|global|globo|gmail|gmo|gmx|gold|goldpoint|golf|goo|goog|google|gop|gov|grainger",2a,8a,a8,8e)) + HX_("|graphics|gratis|green|gripe|group|gucci|guge|guide|guitars|guru|g[abdefghilmnpqrstuwy])",1f,1b,e4,52)) + HX_("|(?:hamburg|hangout|haus|healthcare|help|here|hermes|hiphop|hitachi|hiv|hockey|holdings",2e,43,06,62)) + HX_("|holiday|homedepot|homes|honda|horse|host|hosting|hoteles|hotmail|house|how|hsbc|hyundai",9c,5b,64,3e)) + HX_("|h[kmnrtu])",c2,e7,7b,0e)) + HX_("|(?:ibm|icbc|ice|icu|ifm|iinet|immo|immobilien|industries|infiniti|info|ing|ink|institute",3d,b0,f2,8e)) + HX_("|insure|int|international|investments|ipiranga|irish|ist|istanbul|itau|iwc|i[delmnoqrst])",2e,f1,11,5d)) + HX_("|(?:jaguar|java|jcb|jetzt|jewelry|jlc|jll|jobs|joburg|jprs|juegos|j[emop])",bb,82,cb,ba)) + HX_("|(?:kaufen|kddi|kia|kim|kinder|kitchen|kiwi|koeln|komatsu|krd|kred|kyoto|k[eghimnprwyz])",46,a6,bf,15)) + HX_("|(?:lacaixa|lancaster|land|landrover|lasalle|lat|latrobe|law|lawyer|lds|lease|leclerc",fe,35,4b,75)) + HX_("|legal|lexus|lgbt|liaison|lidl|life|lifestyle|lighting|limited|limo|linde|link|live",29,e6,bf,f7)) + HX_("|lixil|loan|loans|lol|london|lotte|lotto|love|ltd|ltda|lupin|luxe|luxury|l[abcikrstuvy])",50,fd,87,80)) + HX_("|(?:madrid|maif|maison|man|management|mango|market|marketing|markets|marriott|mba",00,a2,ea,8e)) + HX_("|media|meet|melbourne|meme|memorial|men|menu|meo|miami|microsoft|mil|mini|mma|mobi|moda",07,7c,ba,11)) + HX_("|moe|moi|mom|monash|money|montblanc|mormon|mortgage|moscow|motorcycles|mov|movie|movistar",ac,41,4a,c3)) + HX_("|mtn|mtpc|mtr|museum|mutuelle|m[acdeghklmnopqrstuvwxyz])",b1,03,a3,ca)) + HX_("|(?:nadex|nagoya|name|navy|nec|net|netbank|network|neustar|new|news|nexus|ngo|nhk",fc,80,12,90)) + HX_("|nico|ninja|nissan|nokia|nra|nrw|ntt|nyc|n[acefgilopruz])",e5,7d,53,82)) + HX_("|(?:obi|office|okinawa|omega|one|ong|onl|online|ooo|oracle|orange|org|organic|osaka",5d,86,2b,53)) + HX_("|otsuka|ovh|om)",0d,48,d1,07)) + HX_("|(?:page|panerai|paris|partners|parts|party|pet|pharmacy|philips|photo|photography",be,5b,5c,40)) + HX_("|photos|physio|piaget|pics|pictet|pictures|ping|pink|pizza|place|play|playstation|plumbing",65,ea,54,41)) + HX_("|plus|pohl|poker|porn|post|praxi|press|pro|prod|productions|prof|properties|property",3d,f7,19,81)) + HX_("|protection|pub|p[aefghklmnrstwy])",6d,00,62,8f)) + HX_("|(?:qpon|quebec|qa)",d3,62,8c,00)) + HX_("|(?:racing|realtor|realty|recipes|red|redstone|rehab|reise|reisen|reit|ren|rent|rentals",e6,72,5b,c0)) + HX_("|repair|report|republican|rest|restaurant|review|reviews|rich|ricoh|rio|rip|rocher|rocks",4f,a5,81,71)) + HX_("|rodeo|rsvp|ruhr|run|rwe|ryukyu|r[eosuw])",0d,f8,7c,93)) + HX_("|(?:saarland|sakura|sale|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|saxo",b4,fd,07,1b)) + HX_("|sbs|sca|scb|schmidt|scholarships|school|schule|schwarz|science|scor|scot|seat|security",e7,bf,c7,9c)) + HX_("|seek|sener|services|seven|sew|sex|sexy|shiksha|shoes|show|shriram|singles|site|ski",b1,33,76,93)) + HX_("|sky|skype|sncf|soccer|social|software|sohu|solar|solutions|sony|soy|space|spiegel|spreadbetting",73,b6,26,86)) + HX_("|srl|stada|starhub|statoil|stc|stcgroup|stockholm|studio|study|style|sucks|supplies",e2,19,59,1c)) + HX_("|supply|support|surf|surgery|suzuki|swatch|swiss|sydney|systems|s[abcdeghijklmnortuvxyz])",27,0f,08,e0)) + HX_("|(?:tab|taipei|tatamotors|tatar|tattoo|tax|taxi|team|tech|technology|tel|telefonica",06,b2,cb,da)) + HX_("|temasek|tennis|thd|theater|theatre|tickets|tienda|tips|tires|tirol|today|tokyo|tools",46,a4,93,59)) + HX_("|top|toray|toshiba|tours|town|toyota|toys|trade|trading|training|travel|trust|tui|t[cdfghjklmnortvwz])",4a,a8,cf,d8)) + HX_("|(?:ubs|university|uno|uol|u[agksyz])",62,2b,28,35)) + HX_("|(?:vacations|vana|vegas|ventures|versicherung|vet|viajes|video|villas|vin|virgin",89,ce,ff,38)) + HX_("|vision|vista|vistaprint|viva|vlaanderen|vodka|vote|voting|voto|voyage|v[aceginu])",8f,f6,66,49)) + HX_("|(?:wales|walter|wang|watch|webcam|website|wed|wedding|weir|whoswho|wien|wiki|williamhill",55,25,7c,0c)) + HX_("|win|windows|wine|wme|work|works|world|wtc|wtf|w[fs])",8a,06,13,28)) + HX_W(u"|(?:\u03b5\u03bb|\u0431\u0435\u043b|\u0434\u0435\u0442\u0438|\u043a\u043e\u043c|\u043c\u043a\u0434",20c2,d82d)) + HX_W(u"|\u043c\u043e\u043d|\u043c\u043e\u0441\u043a\u0432\u0430|\u043e\u043d\u043b\u0430\u0439\u043d",af29,60d6)) + HX_W(u"|\u043e\u0440\u0433|\u0440\u0443\u0441|\u0440\u0444|\u0441\u0430\u0439\u0442|\u0441\u0440\u0431",8703,6750)) + HX_W(u"|\u0443\u043a\u0440|\u049b\u0430\u0437|\u0570\u0561\u0575|\u05e7\u05d5\u05dd|\u0627\u0631\u0627\u0645\u0643\u0648",d486,b572)) + HX_W(u"|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629",ea02,31c4)) + HX_W(u"|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0627\u06cc\u0631\u0627\u0646",a05e,3858)) + HX_W(u"|\u0628\u0627\u0632\u0627\u0631|\u0628\u06be\u0627\u0631\u062a|\u062a\u0648\u0646\u0633",ae38,f5ba)) + HX_W(u"|\u0633\u0648\u062f\u0627\u0646|\u0633\u0648\u0631\u064a\u0629|\u0634\u0628\u0643\u0629",54db,e7f3)) + HX_W(u"|\u0639\u0631\u0627\u0642|\u0639\u0645\u0627\u0646|\u0641\u0644\u0633\u0637\u064a\u0646",bc90,2d48)) + HX_W(u"|\u0642\u0637\u0631|\u0643\u0648\u0645|\u0645\u0635\u0631|\u0645\u0644\u064a\u0633\u064a\u0627",b1a5,4ee2)) + HX_W(u"|\u0645\u0648\u0642\u0639|\u0915\u0949\u092e|\u0928\u0947\u091f|\u092d\u093e\u0930\u0924",8084,0878)) + HX_W(u"|\u0938\u0902\u0917\u0920\u0928|\u09ad\u09be\u09b0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4",0d0c,87cd)) + HX_W(u"|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd",9669,715f)) + HX_W(u"|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0dbd\u0d82\u0d9a\u0dcf|\u0e04\u0e2d\u0e21|\u0e44\u0e17\u0e22",c9f8,03d8)) + HX_W(u"|\u10d2\u10d4|\u307f\u3093\u306a|\u30b0\u30fc\u30b0\u30eb|\u30b3\u30e0|\u4e16\u754c",3e56,d9f4)) + HX_W(u"|\u4e2d\u4fe1|\u4e2d\u56fd|\u4e2d\u570b|\u4e2d\u6587\u7f51|\u4f01\u4e1a|\u4f5b\u5c71",98dd,a513)) + HX_W(u"|\u4fe1\u606f|\u5065\u5eb7|\u516b\u5366|\u516c\u53f8|\u516c\u76ca|\u53f0\u6e7e|\u53f0\u7063",726a,464b)) + HX_W(u"|\u5546\u57ce|\u5546\u5e97|\u5546\u6807|\u5728\u7ebf|\u5927\u62ff|\u5a31\u4e50|\u5de5\u884c",9c2f,d387)) + HX_W(u"|\u5e7f\u4e1c|\u6148\u5584|\u6211\u7231\u4f60|\u624b\u673a|\u653f\u52a1|\u653f\u5e9c",628c,454d)) + HX_W(u"|\u65b0\u52a0\u5761|\u65b0\u95fb|\u65f6\u5c1a|\u673a\u6784|\u6de1\u9a6c\u9521|\u6e38\u620f",7310,b961)) + HX_W(u"|\u70b9\u770b|\u79fb\u52a8|\u7ec4\u7ec7\u673a\u6784|\u7f51\u5740|\u7f51\u5e97|\u7f51\u7edc",a798,3a2c)) + HX_W(u"|\u8c37\u6b4c|\u96c6\u56e2|\u98de\u5229\u6d66|\u9910\u5385|\u9999\u6e2f|\ub2f7\ub137",68ee,8358)) + HX_W(u"|\ub2f7\ucef4|\uc0bc\uc131|\ud55c\uad6d|xbox",e96a,311e)) + HX_("|xerox|xin|xn\\-\\-11b4c3d|xn\\-\\-1qqw23a|xn\\-\\-30rr7y|xn\\-\\-3bst00m|xn\\-\\-3ds443g",57,7e,62,ed)) + HX_("|xn\\-\\-3e0b707e|xn\\-\\-3pxu8k|xn\\-\\-42c2d9a|xn\\-\\-45brj9c|xn\\-\\-45q11c|xn\\-\\-4gbrim",d0,1e,fc,bc)) + HX_("|xn\\-\\-55qw42g|xn\\-\\-55qx5d|xn\\-\\-6frz82g|xn\\-\\-6qq986b3xl|xn\\-\\-80adxhks",69,cd,8a,d8)) + HX_("|xn\\-\\-80ao21a|xn\\-\\-80asehdb|xn\\-\\-80aswg|xn\\-\\-90a3ac|xn\\-\\-90ais|xn\\-\\-9dbq2a",15,39,69,5f)) + HX_("|xn\\-\\-9et52u|xn\\-\\-b4w605ferd|xn\\-\\-c1avg|xn\\-\\-c2br7g|xn\\-\\-cg4bki|xn\\-\\-clchc0ea0b2g2a9gcd",48,af,c0,fd)) + HX_("|xn\\-\\-czr694b|xn\\-\\-czrs0t|xn\\-\\-czru2d|xn\\-\\-d1acj3b|xn\\-\\-d1alf|xn\\-\\-efvy88h",88,69,2a,f4)) + HX_("|xn\\-\\-estv75g|xn\\-\\-fhbei|xn\\-\\-fiq228c5hs|xn\\-\\-fiq64b|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s",2a,cc,fa,7f)) + HX_("|xn\\-\\-fjq720a|xn\\-\\-flw351e|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-gecrj9c",6c,32,a5,ee)) + HX_("|xn\\-\\-h2brj9c|xn\\-\\-hxt814e|xn\\-\\-i1b6b1a6a2e|xn\\-\\-imr513n|xn\\-\\-io0a7i",2c,7e,dd,fd)) + HX_("|xn\\-\\-j1aef|xn\\-\\-j1amh|xn\\-\\-j6w193g|xn\\-\\-kcrx77d1x4a|xn\\-\\-kprw13d|xn\\-\\-kpry57d",c7,1f,00,ba)) + HX_("|xn\\-\\-kput3i|xn\\-\\-l1acc|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgb9awbf|xn\\-\\-mgba3a3ejt",b2,56,7b,5e)) + HX_("|xn\\-\\-mgba3a4f16a|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbab2bd|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e",ff,4d,c9,1b)) + HX_("|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-mgbpl2fh|xn\\-\\-mgbtx2b|xn\\-\\-mgbx4cd0ab",44,2b,3c,25)) + HX_("|xn\\-\\-mk1bu44c|xn\\-\\-mxtq1m|xn\\-\\-ngbc5azd|xn\\-\\-node|xn\\-\\-nqv7f|xn\\-\\-nqv7fs00ema",7b,d7,30,dc)) + HX_("|xn\\-\\-nyqy26a|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1acf|xn\\-\\-p1ai|xn\\-\\-pgbs0dh",7e,50,60,09)) + HX_("|xn\\-\\-pssy2u|xn\\-\\-q9jyb4c|xn\\-\\-qcka1pmc|xn\\-\\-qxam|xn\\-\\-rhqv96g|xn\\-\\-s9brj9c",81,31,e0,2c)) + HX_("|xn\\-\\-ses554g|xn\\-\\-t60b56a|xn\\-\\-tckwe|xn\\-\\-unup4y|xn\\-\\-vermgensberater\\-ctb",53,43,3d,7f)) + HX_("|xn\\-\\-vermgensberatung\\-pwb|xn\\-\\-vhquv|xn\\-\\-vuq861b|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a",93,33,8f,07)) + HX_("|xn\\-\\-xhq521b|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-y9a3aq|xn\\-\\-yfro4i67o",9a,35,82,bc)) + HX_("|xn\\-\\-ygbi2ammx|xn\\-\\-zfr164b|xperia|xxx|xyz)",dc,3c,8a,29)) + HX_("|(?:yachts|yamaxun|yandex|yodobashi|yoga|yokohama|youtube|y[et])",a2,ef,ff,21)) + HX_("|(?:zara|zip|zone|zuerich|z[amw]))",9f,cf,ff,38));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_41_boot)
+HXDLIN( 41) IANA_TOP_LEVEL_DOMAINS = ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((HX_("(?:",43,91,1e,00) + HX_("(?:aaa|aarp|abb|abbott|abogado|academy|accenture|accountant|accountants|aco|active",90,12,72,e0)) + HX_("|actor|ads|adult|aeg|aero|afl|agency|aig|airforce|airtel|allfinanz|alsace|amica|amsterdam",4b,e1,62,2e)) + HX_("|android|apartments|app|apple|aquarelle|aramco|archi|army|arpa|arte|asia|associates",8f,9a,6b,09)) + HX_("|attorney|auction|audio|auto|autos|axa|azure|a[cdefgilmoqrstuwxz])",ff,35,8a,a6)) + HX_("|(?:band|bank|bar|barcelona|barclaycard|barclays|bargains|bauhaus|bayern|bbc|bbva",fa,5a,d9,ba)) + HX_("|bcn|beats|beer|bentley|berlin|best|bet|bharti|bible|bid|bike|bing|bingo|bio|biz|black",cd,34,df,8a)) + HX_("|blackfriday|bloomberg|blue|bms|bmw|bnl|bnpparibas|boats|bom|bond|boo|boots|boutique",a0,59,71,55)) + HX_("|bradesco|bridgestone|broadway|broker|brother|brussels|budapest|build|builders|business",d2,de,1e,e1)) + HX_("|buzz|bzh|b[abdefghijmnorstvwyz])",87,31,5b,fc)) + HX_("|(?:cab|cafe|cal|camera|camp|cancerresearch|canon|capetown|capital|car|caravan|cards",26,5e,8c,48)) + HX_("|care|career|careers|cars|cartier|casa|cash|casino|cat|catering|cba|cbn|ceb|center|ceo",7f,64,bf,5f)) + HX_("|cern|cfa|cfd|chanel|channel|chat|cheap|chloe|christmas|chrome|church|cipriani|cisco",f4,85,3e,a7)) + HX_("|citic|city|cityeats|claims|cleaning|click|clinic|clothing|cloud|club|clubmed|coach",fc,f4,94,ae)) + HX_("|codes|coffee|college|cologne|com|commbank|community|company|computer|comsec|condos",4c,80,70,64)) + HX_("|construction|consulting|contractors|cooking|cool|coop|corsica|country|coupons|courses",ce,0a,99,55)) + HX_("|credit|creditcard|creditunion|cricket|crown|crs|cruises|csc|cuisinella|cymru|cyou|c[acdfghiklmnoruvwxyz])",40,d2,44,eb)) + HX_("|(?:dabur|dad|dance|date|dating|datsun|day|dclk|deals|degree|delivery|dell|delta",23,e0,18,1d)) + HX_("|democrat|dental|dentist|desi|design|dev|diamonds|diet|digital|direct|directory|discount",0c,44,48,a2)) + HX_("|dnp|docs|dog|doha|domains|doosan|download|drive|durban|dvag|d[ejkmoz])",47,96,49,b1)) + HX_("|(?:earth|eat|edu|education|email|emerck|energy|engineer|engineering|enterprises",48,37,7e,b3)) + HX_("|epson|equipment|erni|esq|estate|eurovision|eus|events|everbank|exchange|expert|exposed",ea,8d,a9,49)) + HX_("|express|e[cegrstu])",95,df,9a,c7)) + HX_("|(?:fage|fail|fairwinds|faith|family|fan|fans|farm|fashion|feedback|ferrero|film",b6,d0,f7,65)) + HX_("|final|finance|financial|firmdale|fish|fishing|fit|fitness|flights|florist|flowers|flsmidth",cb,ea,89,98)) + HX_("|fly|foo|football|forex|forsale|forum|foundation|frl|frogans|fund|furniture|futbol|fyi",31,b9,85,c5)) + HX_("|f[ijkmor])",03,5c,5e,87)) + HX_("|(?:gal|gallery|game|garden|gbiz|gdn|gea|gent|genting|ggee|gift|gifts|gives|giving",cb,a8,f7,39)) + HX_("|glass|gle|global|globo|gmail|gmo|gmx|gold|goldpoint|golf|goo|goog|google|gop|gov|grainger",2a,8a,a8,8e)) + HX_("|graphics|gratis|green|gripe|group|gucci|guge|guide|guitars|guru|g[abdefghilmnpqrstuwy])",1f,1b,e4,52)) + HX_("|(?:hamburg|hangout|haus|healthcare|help|here|hermes|hiphop|hitachi|hiv|hockey|holdings",2e,43,06,62)) + HX_("|holiday|homedepot|homes|honda|horse|host|hosting|hoteles|hotmail|house|how|hsbc|hyundai",9c,5b,64,3e)) + HX_("|h[kmnrtu])",c2,e7,7b,0e)) + HX_("|(?:ibm|icbc|ice|icu|ifm|iinet|immo|immobilien|industries|infiniti|info|ing|ink|institute",3d,b0,f2,8e)) + HX_("|insure|int|international|investments|ipiranga|irish|ist|istanbul|itau|iwc|i[delmnoqrst])",2e,f1,11,5d)) + HX_("|(?:jaguar|java|jcb|jetzt|jewelry|jlc|jll|jobs|joburg|jprs|juegos|j[emop])",bb,82,cb,ba)) + HX_("|(?:kaufen|kddi|kia|kim|kinder|kitchen|kiwi|koeln|komatsu|krd|kred|kyoto|k[eghimnprwyz])",46,a6,bf,15)) + HX_("|(?:lacaixa|lancaster|land|landrover|lasalle|lat|latrobe|law|lawyer|lds|lease|leclerc",fe,35,4b,75)) + HX_("|legal|lexus|lgbt|liaison|lidl|life|lifestyle|lighting|limited|limo|linde|link|live",29,e6,bf,f7)) + HX_("|lixil|loan|loans|lol|london|lotte|lotto|love|ltd|ltda|lupin|luxe|luxury|l[abcikrstuvy])",50,fd,87,80)) + HX_("|(?:madrid|maif|maison|man|management|mango|market|marketing|markets|marriott|mba",00,a2,ea,8e)) + HX_("|media|meet|melbourne|meme|memorial|men|menu|meo|miami|microsoft|mil|mini|mma|mobi|moda",07,7c,ba,11)) + HX_("|moe|moi|mom|monash|money|montblanc|mormon|mortgage|moscow|motorcycles|mov|movie|movistar",ac,41,4a,c3)) + HX_("|mtn|mtpc|mtr|museum|mutuelle|m[acdeghklmnopqrstuvwxyz])",b1,03,a3,ca)) + HX_("|(?:nadex|nagoya|name|navy|nec|net|netbank|network|neustar|new|news|nexus|ngo|nhk",fc,80,12,90)) + HX_("|nico|ninja|nissan|nokia|nra|nrw|ntt|nyc|n[acefgilopruz])",e5,7d,53,82)) + HX_("|(?:obi|office|okinawa|omega|one|ong|onl|online|ooo|oracle|orange|org|organic|osaka",5d,86,2b,53)) + HX_("|otsuka|ovh|om)",0d,48,d1,07)) + HX_("|(?:page|panerai|paris|partners|parts|party|pet|pharmacy|philips|photo|photography",be,5b,5c,40)) + HX_("|photos|physio|piaget|pics|pictet|pictures|ping|pink|pizza|place|play|playstation|plumbing",65,ea,54,41)) + HX_("|plus|pohl|poker|porn|post|praxi|press|pro|prod|productions|prof|properties|property",3d,f7,19,81)) + HX_("|protection|pub|p[aefghklmnrstwy])",6d,00,62,8f)) + HX_("|(?:qpon|quebec|qa)",d3,62,8c,00)) + HX_("|(?:racing|realtor|realty|recipes|red|redstone|rehab|reise|reisen|reit|ren|rent|rentals",e6,72,5b,c0)) + HX_("|repair|report|republican|rest|restaurant|review|reviews|rich|ricoh|rio|rip|rocher|rocks",4f,a5,81,71)) + HX_("|rodeo|rsvp|ruhr|run|rwe|ryukyu|r[eosuw])",0d,f8,7c,93)) + HX_("|(?:saarland|sakura|sale|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|saxo",b4,fd,07,1b)) + HX_("|sbs|sca|scb|schmidt|scholarships|school|schule|schwarz|science|scor|scot|seat|security",e7,bf,c7,9c)) + HX_("|seek|sener|services|seven|sew|sex|sexy|shiksha|shoes|show|shriram|singles|site|ski",b1,33,76,93)) + HX_("|sky|skype|sncf|soccer|social|software|sohu|solar|solutions|sony|soy|space|spiegel|spreadbetting",73,b6,26,86)) + HX_("|srl|stada|starhub|statoil|stc|stcgroup|stockholm|studio|study|style|sucks|supplies",e2,19,59,1c)) + HX_("|supply|support|surf|surgery|suzuki|swatch|swiss|sydney|systems|s[abcdeghijklmnortuvxyz])",27,0f,08,e0)) + HX_("|(?:tab|taipei|tatamotors|tatar|tattoo|tax|taxi|team|tech|technology|tel|telefonica",06,b2,cb,da)) + HX_("|temasek|tennis|thd|theater|theatre|tickets|tienda|tips|tires|tirol|today|tokyo|tools",46,a4,93,59)) + HX_("|top|toray|toshiba|tours|town|toyota|toys|trade|trading|training|travel|trust|tui|t[cdfghjklmnortvwz])",4a,a8,cf,d8)) + HX_("|(?:ubs|university|uno|uol|u[agksyz])",62,2b,28,35)) + HX_("|(?:vacations|vana|vegas|ventures|versicherung|vet|viajes|video|villas|vin|virgin",89,ce,ff,38)) + HX_("|vision|vista|vistaprint|viva|vlaanderen|vodka|vote|voting|voto|voyage|v[aceginu])",8f,f6,66,49)) + HX_("|(?:wales|walter|wang|watch|webcam|website|wed|wedding|weir|whoswho|wien|wiki|williamhill",55,25,7c,0c)) + HX_("|win|windows|wine|wme|work|works|world|wtc|wtf|w[fs])",8a,06,13,28)) + HX_W(u"|(?:\u03b5\u03bb|\u0431\u0435\u043b|\u0434\u0435\u0442\u0438|\u043a\u043e\u043c|\u043c\u043a\u0434",20c2,d82d)) + HX_W(u"|\u043c\u043e\u043d|\u043c\u043e\u0441\u043a\u0432\u0430|\u043e\u043d\u043b\u0430\u0439\u043d",af29,60d6)) + HX_W(u"|\u043e\u0440\u0433|\u0440\u0443\u0441|\u0440\u0444|\u0441\u0430\u0439\u0442|\u0441\u0440\u0431",8703,6750)) + HX_W(u"|\u0443\u043a\u0440|\u049b\u0430\u0437|\u0570\u0561\u0575|\u05e7\u05d5\u05dd|\u0627\u0631\u0627\u0645\u0643\u0648",d486,b572)) + HX_W(u"|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629",ea02,31c4)) + HX_W(u"|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0627\u06cc\u0631\u0627\u0646",a05e,3858)) + HX_W(u"|\u0628\u0627\u0632\u0627\u0631|\u0628\u06be\u0627\u0631\u062a|\u062a\u0648\u0646\u0633",ae38,f5ba)) + HX_W(u"|\u0633\u0648\u062f\u0627\u0646|\u0633\u0648\u0631\u064a\u0629|\u0634\u0628\u0643\u0629",54db,e7f3)) + HX_W(u"|\u0639\u0631\u0627\u0642|\u0639\u0645\u0627\u0646|\u0641\u0644\u0633\u0637\u064a\u0646",bc90,2d48)) + HX_W(u"|\u0642\u0637\u0631|\u0643\u0648\u0645|\u0645\u0635\u0631|\u0645\u0644\u064a\u0633\u064a\u0627",b1a5,4ee2)) + HX_W(u"|\u0645\u0648\u0642\u0639|\u0915\u0949\u092e|\u0928\u0947\u091f|\u092d\u093e\u0930\u0924",8084,0878)) + HX_W(u"|\u0938\u0902\u0917\u0920\u0928|\u09ad\u09be\u09b0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4",0d0c,87cd)) + HX_W(u"|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd",9669,715f)) + HX_W(u"|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0dbd\u0d82\u0d9a\u0dcf|\u0e04\u0e2d\u0e21|\u0e44\u0e17\u0e22",c9f8,03d8)) + HX_W(u"|\u10d2\u10d4|\u307f\u3093\u306a|\u30b0\u30fc\u30b0\u30eb|\u30b3\u30e0|\u4e16\u754c",3e56,d9f4)) + HX_W(u"|\u4e2d\u4fe1|\u4e2d\u56fd|\u4e2d\u570b|\u4e2d\u6587\u7f51|\u4f01\u4e1a|\u4f5b\u5c71",98dd,a513)) + HX_W(u"|\u4fe1\u606f|\u5065\u5eb7|\u516b\u5366|\u516c\u53f8|\u516c\u76ca|\u53f0\u6e7e|\u53f0\u7063",726a,464b)) + HX_W(u"|\u5546\u57ce|\u5546\u5e97|\u5546\u6807|\u5728\u7ebf|\u5927\u62ff|\u5a31\u4e50|\u5de5\u884c",9c2f,d387)) + HX_W(u"|\u5e7f\u4e1c|\u6148\u5584|\u6211\u7231\u4f60|\u624b\u673a|\u653f\u52a1|\u653f\u5e9c",628c,454d)) + HX_W(u"|\u65b0\u52a0\u5761|\u65b0\u95fb|\u65f6\u5c1a|\u673a\u6784|\u6de1\u9a6c\u9521|\u6e38\u620f",7310,b961)) + HX_W(u"|\u70b9\u770b|\u79fb\u52a8|\u7ec4\u7ec7\u673a\u6784|\u7f51\u5740|\u7f51\u5e97|\u7f51\u7edc",a798,3a2c)) + HX_W(u"|\u8c37\u6b4c|\u96c6\u56e2|\u98de\u5229\u6d66|\u9910\u5385|\u9999\u6e2f|\ub2f7\ub137",68ee,8358)) + HX_W(u"|\ub2f7\ucef4|\uc0bc\uc131|\ud55c\uad6d|xbox",e96a,311e)) + HX_("|xerox|xin|xn\\-\\-11b4c3d|xn\\-\\-1qqw23a|xn\\-\\-30rr7y|xn\\-\\-3bst00m|xn\\-\\-3ds443g",57,7e,62,ed)) + HX_("|xn\\-\\-3e0b707e|xn\\-\\-3pxu8k|xn\\-\\-42c2d9a|xn\\-\\-45brj9c|xn\\-\\-45q11c|xn\\-\\-4gbrim",d0,1e,fc,bc)) + HX_("|xn\\-\\-55qw42g|xn\\-\\-55qx5d|xn\\-\\-6frz82g|xn\\-\\-6qq986b3xl|xn\\-\\-80adxhks",69,cd,8a,d8)) + HX_("|xn\\-\\-80ao21a|xn\\-\\-80asehdb|xn\\-\\-80aswg|xn\\-\\-90a3ac|xn\\-\\-90ais|xn\\-\\-9dbq2a",15,39,69,5f)) + HX_("|xn\\-\\-9et52u|xn\\-\\-b4w605ferd|xn\\-\\-c1avg|xn\\-\\-c2br7g|xn\\-\\-cg4bki|xn\\-\\-clchc0ea0b2g2a9gcd",48,af,c0,fd)) + HX_("|xn\\-\\-czr694b|xn\\-\\-czrs0t|xn\\-\\-czru2d|xn\\-\\-d1acj3b|xn\\-\\-d1alf|xn\\-\\-efvy88h",88,69,2a,f4)) + HX_("|xn\\-\\-estv75g|xn\\-\\-fhbei|xn\\-\\-fiq228c5hs|xn\\-\\-fiq64b|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s",2a,cc,fa,7f)) + HX_("|xn\\-\\-fjq720a|xn\\-\\-flw351e|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-gecrj9c",6c,32,a5,ee)) + HX_("|xn\\-\\-h2brj9c|xn\\-\\-hxt814e|xn\\-\\-i1b6b1a6a2e|xn\\-\\-imr513n|xn\\-\\-io0a7i",2c,7e,dd,fd)) + HX_("|xn\\-\\-j1aef|xn\\-\\-j1amh|xn\\-\\-j6w193g|xn\\-\\-kcrx77d1x4a|xn\\-\\-kprw13d|xn\\-\\-kpry57d",c7,1f,00,ba)) + HX_("|xn\\-\\-kput3i|xn\\-\\-l1acc|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgb9awbf|xn\\-\\-mgba3a3ejt",b2,56,7b,5e)) + HX_("|xn\\-\\-mgba3a4f16a|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbab2bd|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e",ff,4d,c9,1b)) + HX_("|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-mgbpl2fh|xn\\-\\-mgbtx2b|xn\\-\\-mgbx4cd0ab",44,2b,3c,25)) + HX_("|xn\\-\\-mk1bu44c|xn\\-\\-mxtq1m|xn\\-\\-ngbc5azd|xn\\-\\-node|xn\\-\\-nqv7f|xn\\-\\-nqv7fs00ema",7b,d7,30,dc)) + HX_("|xn\\-\\-nyqy26a|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1acf|xn\\-\\-p1ai|xn\\-\\-pgbs0dh",7e,50,60,09)) + HX_("|xn\\-\\-pssy2u|xn\\-\\-q9jyb4c|xn\\-\\-qcka1pmc|xn\\-\\-qxam|xn\\-\\-rhqv96g|xn\\-\\-s9brj9c",81,31,e0,2c)) + HX_("|xn\\-\\-ses554g|xn\\-\\-t60b56a|xn\\-\\-tckwe|xn\\-\\-unup4y|xn\\-\\-vermgensberater\\-ctb",53,43,3d,7f)) + HX_("|xn\\-\\-vermgensberatung\\-pwb|xn\\-\\-vhquv|xn\\-\\-vuq861b|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a",93,33,8f,07)) + HX_("|xn\\-\\-xhq521b|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-y9a3aq|xn\\-\\-yfro4i67o",9a,35,82,bc)) + HX_("|xn\\-\\-ygbi2ammx|xn\\-\\-zfr164b|xperia|xxx|xyz)",dc,3c,8a,29)) + HX_("|(?:yachts|yamaxun|yandex|yodobashi|yoga|yokohama|youtube|y[et])",a2,ef,ff,21)) + HX_("|(?:zara|zip|zone|zuerich|z[amw]))",9f,cf,ff,38));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_162_boot)
-HXDLIN( 162) GOOD_IRI_CHAR = HX_W(u"a-zA-Z0-9\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef",428f,00c6);
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_163_boot)
+HXDLIN( 163) GOOD_IRI_CHAR = HX_W(u"a-zA-Z0-9\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef",428f,00c6);
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_164_boot)
-HXDLIN( 164) IP_ADDRESS = (((HX_("((25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(25[0-5]|2[0-4]",77,34,c5,07) + HX_("[0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]",27,09,31,49)) + HX_("[0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}",8d,b1,49,66)) + HX_("|[1-9][0-9]|[0-9]))",fd,a4,5b,ea));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_165_boot)
+HXDLIN( 165) IP_ADDRESS = (((HX_("((25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(25[0-5]|2[0-4]",77,34,c5,07) + HX_("[0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]",27,09,31,49)) + HX_("[0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}",8d,b1,49,66)) + HX_("|[1-9][0-9]|[0-9]))",fd,a4,5b,ea));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_181_boot)
-HXDLIN( 181) IP6_ADDRESS = (((((((((((((((((HX_("\\[",7f,50,00,00) + HX_("(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|",95,9e,ad,bb)) + HX_("([0-9a-fA-F]{1,4}:){1,7}:|",24,ce,ee,30)) + HX_("([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|",a2,da,a4,21)) + HX_("([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|",4b,b7,dc,9c)) + HX_("([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|",4b,bc,50,d7)) + HX_("([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|",4b,c1,c4,11)) + HX_("([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|",4b,c6,38,4c)) + HX_("[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|",4d,77,45,e4)) + HX_(":((:[0-9a-fA-F]{1,4}){1,7}|:)|",27,df,3d,33)) + HX_("fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|",ee,41,f7,25)) + HX_("::(ffff(:0{1,4}){0,1}:){0,1}",b1,6f,8b,25)) + HX_("((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}",34,d9,ed,ae)) + HX_("(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|",97,b1,d5,90)) + HX_("([0-9a-fA-F]{1,4}:){1,4}:",95,58,1a,e8)) + HX_("((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}",34,d9,ed,ae)) + HX_("(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))",44,b1,d5,90)) + HX_("\\]",81,50,00,00));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_182_boot)
+HXDLIN( 182) IP6_ADDRESS = (((((((((((((((((HX_("\\[",7f,50,00,00) + HX_("(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|",95,9e,ad,bb)) + HX_("([0-9a-fA-F]{1,4}:){1,7}:|",24,ce,ee,30)) + HX_("([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|",a2,da,a4,21)) + HX_("([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|",4b,b7,dc,9c)) + HX_("([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|",4b,bc,50,d7)) + HX_("([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|",4b,c1,c4,11)) + HX_("([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|",4b,c6,38,4c)) + HX_("[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|",4d,77,45,e4)) + HX_(":((:[0-9a-fA-F]{1,4}){1,7}|:)|",27,df,3d,33)) + HX_("fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|",ee,41,f7,25)) + HX_("::(ffff(:0{1,4}){0,1}:){0,1}",b1,6f,8b,25)) + HX_("((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}",34,d9,ed,ae)) + HX_("(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|",97,b1,d5,90)) + HX_("([0-9a-fA-F]{1,4}:){1,4}:",95,58,1a,e8)) + HX_("((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}",34,d9,ed,ae)) + HX_("(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))",44,b1,d5,90)) + HX_("\\]",81,50,00,00));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_204_boot)
-HXDLIN( 204) UCS_CHAR = ((HX_("\\x{00A0}-\\x{D7FF}",29,32,b0,f1) + HX_("\\x{F900}-\\x{FDCF}",9f,26,06,f2)) + HX_("\\x{FDF0}-\\x{FFEF}",94,e8,12,99));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_205_boot)
+HXDLIN( 205) UCS_CHAR = ((HX_("\\x{00A0}-\\x{D7FF}",29,32,b0,f1) + HX_("\\x{F900}-\\x{FDCF}",9f,26,06,f2)) + HX_("\\x{FDF0}-\\x{FFEF}",94,e8,12,99));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_231_boot)
-HXDLIN( 231) LABEL_CHAR = (HX_("a-zA-Z0-9",1c,c7,6d,ee) + ::snikket::Autolink_obj::UCS_CHAR);
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_232_boot)
+HXDLIN( 232) LABEL_CHAR = (HX_("a-zA-Z0-9",1c,c7,6d,ee) + ::borogove::Autolink_obj::UCS_CHAR);
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_240_boot)
-HXDLIN( 240) IRI_LABEL = ((((((HX_("[",5b,00,00,00) + ::snikket::Autolink_obj::LABEL_CHAR) + HX_("](?:[",95,7c,e4,a6)) + ::snikket::Autolink_obj::LABEL_CHAR) + HX_("\\-]{0,61}[",84,06,f0,9b)) + ::snikket::Autolink_obj::LABEL_CHAR) + HX_("]){0,1}",77,15,13,72));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_241_boot)
+HXDLIN( 241) IRI_LABEL = ((((((HX_("[",5b,00,00,00) + ::borogove::Autolink_obj::LABEL_CHAR) + HX_("](?:[",95,7c,e4,a6)) + ::borogove::Autolink_obj::LABEL_CHAR) + HX_("\\-]{0,61}[",84,06,f0,9b)) + ::borogove::Autolink_obj::LABEL_CHAR) + HX_("]){0,1}",77,15,13,72));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_244_boot)
-HXDLIN( 244) PUNYCODE_TLD = HX_("xn\\-\\-[\\w\\-]{0,58}\\w",0c,c7,30,ad);
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_245_boot)
+HXDLIN( 245) PUNYCODE_TLD = HX_("xn\\-\\-[\\w\\-]{0,58}\\w",0c,c7,30,ad);
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_249_boot)
-HXDLIN( 249) PROTOCOL = HX_("(?:http|https|rtsp):\\/\\/",38,1d,38,84);
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_250_boot)
+HXDLIN( 250) PROTOCOL = HX_("(?:http|https|rtsp):\\/\\/",38,1d,38,84);
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_251_boot)
-HXDLIN( 251) WORD_BOUNDARY = HX_("(?:\\b|$|^)",36,7d,03,89);
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_252_boot)
+HXDLIN( 252) WORD_BOUNDARY = HX_("(?:\\b|$|^)",36,7d,03,89);
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_252_boot)
-HXDLIN( 252) USER_INFO = ((HX_("(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)",98,4a,e0,1a) + HX_("\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,64}(?:\\:(?:[a-zA-Z0-9\\$\\-\\_",82,eb,76,e5)) + HX_("\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,25})?\\@",60,f3,93,36));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_253_boot)
+HXDLIN( 253) USER_INFO = ((HX_("(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)",98,4a,e0,1a) + HX_("\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,64}(?:\\:(?:[a-zA-Z0-9\\$\\-\\_",82,eb,76,e5)) + HX_("\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,25})?\\@",60,f3,93,36));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_255_boot)
-HXDLIN( 255) PORT_NUMBER = HX_("\\:\\d{1,5}",18,ba,64,a4);
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_256_boot)
+HXDLIN( 256) PORT_NUMBER = HX_("\\:\\d{1,5}",18,ba,64,a4);
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_256_boot)
-HXDLIN( 256) PATH_CHAR = (((HX_("(?:(?:[",7b,78,b4,2f) + ::snikket::Autolink_obj::LABEL_CHAR) + HX_("\\;\\/\\?\\:\\@\\&\\=\\#\\~",6b,f2,13,64)) + HX_("\\-\\.\\+\\!\\*\\'\\(\\)\\,\\_\\$])|(?:\\%[a-fA-F0-9]{2}))",ca,f2,2d,5c));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_257_boot)
+HXDLIN( 257) PATH_CHAR = (((HX_("(?:(?:[",7b,78,b4,2f) + ::borogove::Autolink_obj::LABEL_CHAR) + HX_("\\;\\/\\?\\:\\@\\&\\=\\#\\~",6b,f2,13,64)) + HX_("\\-\\.\\+\\!\\*\\'\\(\\)\\,\\_\\$])|(?:\\%[a-fA-F0-9]{2}))",ca,f2,2d,5c));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_259_boot)
-HXDLIN( 259) PATH_AND_QUERY = ((HX_("\\/",53,50,00,00) + ::snikket::Autolink_obj::PATH_CHAR) + HX_("*",2a,00,00,00));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_260_boot)
+HXDLIN( 260) PATH_AND_QUERY = ((HX_("\\/",53,50,00,00) + ::borogove::Autolink_obj::PATH_CHAR) + HX_("*",2a,00,00,00));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_276_boot)
-HXDLIN( 276) STRICT_TLD = ((((HX_("(?:",43,91,1e,00) + ::snikket::Autolink_obj::IANA_TOP_LEVEL_DOMAINS) + HX_("|",7c,00,00,00)) + ::snikket::Autolink_obj::PUNYCODE_TLD) + HX_(")",29,00,00,00));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_277_boot)
+HXDLIN( 277) STRICT_TLD = ((((HX_("(?:",43,91,1e,00) + ::borogove::Autolink_obj::IANA_TOP_LEVEL_DOMAINS) + HX_("|",7c,00,00,00)) + ::borogove::Autolink_obj::PUNYCODE_TLD) + HX_(")",29,00,00,00));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_281_boot)
-HXDLIN( 281) STRICT_HOST_NAME = ((((HX_("(?:(?:",e0,eb,f9,6a) + ::snikket::Autolink_obj::IRI_LABEL) + HX_("\\.)+",b4,ac,f2,3c)) + ::snikket::Autolink_obj::STRICT_TLD) + HX_(")",29,00,00,00));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_282_boot)
+HXDLIN( 282) STRICT_HOST_NAME = ((((HX_("(?:(?:",e0,eb,f9,6a) + ::borogove::Autolink_obj::IRI_LABEL) + HX_("\\.)+",b4,ac,f2,3c)) + ::borogove::Autolink_obj::STRICT_TLD) + HX_(")",29,00,00,00));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_288_boot)
-HXDLIN( 288) STRICT_DOMAIN_NAME = ((((((HX_("(?:",43,91,1e,00) + ::snikket::Autolink_obj::STRICT_HOST_NAME) + HX_("|",7c,00,00,00)) + ::snikket::Autolink_obj::IP_ADDRESS) + HX_("|",7c,00,00,00)) + ::snikket::Autolink_obj::IP6_ADDRESS) + HX_(")",29,00,00,00));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_289_boot)
+HXDLIN( 289) STRICT_DOMAIN_NAME = ((((((HX_("(?:",43,91,1e,00) + ::borogove::Autolink_obj::STRICT_HOST_NAME) + HX_("|",7c,00,00,00)) + ::borogove::Autolink_obj::IP_ADDRESS) + HX_("|",7c,00,00,00)) + ::borogove::Autolink_obj::IP6_ADDRESS) + HX_(")",29,00,00,00));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_293_boot)
-HXDLIN( 293) RELAXED_DOMAIN_NAME = (((((((((HX_("(?:",43,91,1e,00) + HX_("(?:",43,91,1e,00)) + ::snikket::Autolink_obj::IRI_LABEL) + HX_("(?:\\.(?=\\S))",a8,58,ad,af)) + HX_("?)+",e1,f1,2f,00)) + HX_("|",7c,00,00,00)) + ::snikket::Autolink_obj::IP_ADDRESS) + HX_("|",7c,00,00,00)) + ::snikket::Autolink_obj::IP6_ADDRESS) + HX_(")",29,00,00,00));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_294_boot)
+HXDLIN( 294) RELAXED_DOMAIN_NAME = (((((((((HX_("(?:",43,91,1e,00) + HX_("(?:",43,91,1e,00)) + ::borogove::Autolink_obj::IRI_LABEL) + HX_("(?:\\.(?=\\S))",a8,58,ad,af)) + HX_("?)+",e1,f1,2f,00)) + HX_("|",7c,00,00,00)) + ::borogove::Autolink_obj::IP_ADDRESS) + HX_("|",7c,00,00,00)) + ::borogove::Autolink_obj::IP6_ADDRESS) + HX_(")",29,00,00,00));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_298_boot)
-HXDLIN( 298) WEB_URL_WITHOUT_PROTOCOL = ((((((((((((((HX_("(",28,00,00,00) + ::snikket::Autolink_obj::WORD_BOUNDARY) + HX_("(?<!:\\/\\/)",c5,eb,09,02)) + HX_("(",28,00,00,00)) + HX_("(?:",43,91,1e,00)) + ::snikket::Autolink_obj::STRICT_DOMAIN_NAME) + HX_(")",29,00,00,00)) + HX_("(?:",43,91,1e,00)) + ::snikket::Autolink_obj::PORT_NUMBER) + HX_(")?",f6,23,00,00)) + HX_(")",29,00,00,00)) + HX_("(?:",43,91,1e,00)) + ::snikket::Autolink_obj::PATH_AND_QUERY) + HX_(")?",f6,23,00,00)) + HX_(")",29,00,00,00));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_299_boot)
+HXDLIN( 299) WEB_URL_WITHOUT_PROTOCOL = ((((((((((((((HX_("(",28,00,00,00) + ::borogove::Autolink_obj::WORD_BOUNDARY) + HX_("(?<!:\\/\\/)",c5,eb,09,02)) + HX_("(",28,00,00,00)) + HX_("(?:",43,91,1e,00)) + ::borogove::Autolink_obj::STRICT_DOMAIN_NAME) + HX_(")",29,00,00,00)) + HX_("(?:",43,91,1e,00)) + ::borogove::Autolink_obj::PORT_NUMBER) + HX_(")?",f6,23,00,00)) + HX_(")",29,00,00,00)) + HX_("(?:",43,91,1e,00)) + ::borogove::Autolink_obj::PATH_AND_QUERY) + HX_(")?",f6,23,00,00)) + HX_(")",29,00,00,00));
}
{
- HX_STACKFRAME(&_hx_pos_e03e81a8315e14a8_311_boot)
-HXDLIN( 311) WEB_URL_WITH_PROTOCOL = (((((((((((((((((((HX_("(",28,00,00,00) + ::snikket::Autolink_obj::WORD_BOUNDARY) + HX_("(?:",43,91,1e,00)) + HX_("(?:",43,91,1e,00)) + ::snikket::Autolink_obj::PROTOCOL) + HX_("(?:",43,91,1e,00)) + ::snikket::Autolink_obj::USER_INFO) + HX_(")?",f6,23,00,00)) + HX_(")",29,00,00,00)) + HX_("(?:",43,91,1e,00)) + ::snikket::Autolink_obj::RELAXED_DOMAIN_NAME) + HX_(")?",f6,23,00,00)) + HX_("(?:",43,91,1e,00)) + ::snikket::Autolink_obj::PORT_NUMBER) + HX_(")?",f6,23,00,00)) + HX_(")",29,00,00,00)) + HX_("(?:",43,91,1e,00)) + ::snikket::Autolink_obj::PATH_AND_QUERY) + HX_(")?",f6,23,00,00)) + HX_(")",29,00,00,00));
+ HX_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_312_boot)
+HXDLIN( 312) WEB_URL_WITH_PROTOCOL = (((((((((((((((((((HX_("(",28,00,00,00) + ::borogove::Autolink_obj::WORD_BOUNDARY) + HX_("(?:",43,91,1e,00)) + HX_("(?:",43,91,1e,00)) + ::borogove::Autolink_obj::PROTOCOL) + HX_("(?:",43,91,1e,00)) + ::borogove::Autolink_obj::USER_INFO) + HX_(")?",f6,23,00,00)) + HX_(")",29,00,00,00)) + HX_("(?:",43,91,1e,00)) + ::borogove::Autolink_obj::RELAXED_DOMAIN_NAME) + HX_(")?",f6,23,00,00)) + HX_("(?:",43,91,1e,00)) + ::borogove::Autolink_obj::PORT_NUMBER) + HX_(")?",f6,23,00,00)) + HX_(")",29,00,00,00)) + HX_("(?:",43,91,1e,00)) + ::borogove::Autolink_obj::PATH_AND_QUERY) + HX_(")?",f6,23,00,00)) + HX_(")",29,00,00,00));
}
{
- HX_GC_STACKFRAME(&_hx_pos_e03e81a8315e14a8_328_boot)
-HXDLIN( 328) AUTOLINK_WEB_URL = ::EReg_obj::__alloc( HX_CTX ,(((((HX_("(",28,00,00,00) + ::snikket::Autolink_obj::WEB_URL_WITH_PROTOCOL) + HX_("|",7c,00,00,00)) + ::snikket::Autolink_obj::WEB_URL_WITHOUT_PROTOCOL) + HX_(")",29,00,00,00)) + ::snikket::Autolink_obj::WORD_BOUNDARY),HX_("u",75,00,00,00));
+ HX_GC_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_329_boot)
+HXDLIN( 329) AUTOLINK_WEB_URL = ::EReg_obj::__alloc( HX_CTX ,(((((HX_("(",28,00,00,00) + ::borogove::Autolink_obj::WEB_URL_WITH_PROTOCOL) + HX_("|",7c,00,00,00)) + ::borogove::Autolink_obj::WEB_URL_WITHOUT_PROTOCOL) + HX_(")",29,00,00,00)) + ::borogove::Autolink_obj::WORD_BOUNDARY),HX_("u",75,00,00,00));
}
{
- HX_GC_STACKFRAME(&_hx_pos_e03e81a8315e14a8_331_boot)
-HXDLIN( 331) TEL_URI = ::EReg_obj::__alloc( HX_CTX ,((HX_("tel:(?:(?:\\+\\d+)|(?:\\d+;phone-context=",00,31,ab,3d) + ::snikket::Autolink_obj::PATH_CHAR) + HX_("+))",cb,c4,20,00)),HX_("u",75,00,00,00));
+ HX_GC_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_332_boot)
+HXDLIN( 332) TEL_URI = ::EReg_obj::__alloc( HX_CTX ,((HX_("tel:(?:(?:\\+\\d+)|(?:\\d+;phone-context=",00,31,ab,3d) + ::borogove::Autolink_obj::PATH_CHAR) + HX_("+))",cb,c4,20,00)),HX_("u",75,00,00,00));
}
{
- HX_GC_STACKFRAME(&_hx_pos_e03e81a8315e14a8_334_boot)
-HXDLIN( 334) SMS_URI = ::EReg_obj::__alloc( HX_CTX ,((HX_("sms:(?:(?:\\+\\d+)|(?:\\d+;phone-context=",02,3f,54,78) + ::snikket::Autolink_obj::PATH_CHAR) + HX_("+))",cb,c4,20,00)),HX_("u",75,00,00,00));
+ HX_GC_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_335_boot)
+HXDLIN( 335) SMS_URI = ::EReg_obj::__alloc( HX_CTX ,((HX_("sms:(?:(?:\\+\\d+)|(?:\\d+;phone-context=",02,3f,54,78) + ::borogove::Autolink_obj::PATH_CHAR) + HX_("+))",cb,c4,20,00)),HX_("u",75,00,00,00));
}
{
- HX_GC_STACKFRAME(&_hx_pos_e03e81a8315e14a8_336_boot)
-HXDLIN( 336) XMPP_URI = ::EReg_obj::__alloc( HX_CTX ,(((HX_("xmpp\\:(?:(?:[",08,ef,83,26) + ::snikket::Autolink_obj::GOOD_IRI_CHAR) + HX_("\\;\\/\\?\\@\\&\\=\\#\\~\\-\\.\\+\\!\\*\\'\\(\\)\\,\\_])",75,2a,04,95)) + HX_("|(?:\\%[a-fA-F0-9]{2}))+",d1,f8,1c,37)),HX_("u",75,00,00,00));
+ HX_GC_STACKFRAME(&_hx_pos_b6a92d28a7d85bf6_337_boot)
+HXDLIN( 337) XMPP_URI = ::EReg_obj::__alloc( HX_CTX ,(((HX_("xmpp\\:(?:(?:[",08,ef,83,26) + ::borogove::Autolink_obj::GOOD_IRI_CHAR) + HX_("\\;\\/\\?\\@\\&\\=\\#\\~\\-\\.\\+\\!\\*\\'\\(\\)\\,\\_])",75,2a,04,95)) + HX_("|(?:\\%[a-fA-F0-9]{2}))+",d1,f8,1c,37)),HX_("u",75,00,00,00));
}
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/AvailableChat.cpp b/Sources/c_borogove/src/borogove/AvailableChat.cpp
similarity index 70%
rename from Sources/c_snikket/src/snikket/AvailableChat.cpp
rename to Sources/c_borogove/src/borogove/AvailableChat.cpp
index e9e8d03..f93538d 100644
--- a/Sources/c_snikket/src/snikket/AvailableChat.cpp
+++ b/Sources/c_borogove/src/borogove/AvailableChat.cpp
@@ -1,27 +1,27 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_AvailableChat
-#include <snikket/AvailableChat.h>
+#ifndef INCLUDED_borogove_AvailableChat
+#include <borogove/AvailableChat.h>
#endif
-#ifndef INCLUDED_snikket_Caps
-#include <snikket/Caps.h>
+#ifndef INCLUDED_borogove_Caps
+#include <borogove/Caps.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_eb4b7fa35bcf9ef4_1571_new,"snikket.AvailableChat","new",0xe206b262,"snikket.AvailableChat.new","snikket/Chat.hx",1571,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_84f492ff0c9cb600_355_chatId__fromC,"snikket.AvailableChat","chatId__fromC",0xa5503488,"snikket.AvailableChat.chatId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_84f492ff0c9cb600_355_displayName__fromC,"snikket.AvailableChat","displayName__fromC",0x0c214eaa,"snikket.AvailableChat.displayName__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_84f492ff0c9cb600_355_note__fromC,"snikket.AvailableChat","note__fromC",0xff5acec9,"snikket.AvailableChat.note__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_eb4b7fa35bcf9ef4_1567_isChannel,"snikket.AvailableChat","isChannel",0x4a03cd7b,"snikket.AvailableChat.isChannel","snikket/Chat.hx",1567,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_eb4b7fa35bcf9ef4_1547_boot,"snikket.AvailableChat","boot",0xdbee63f0,"snikket.AvailableChat.boot","snikket/Chat.hx",1547,0x18616bf4)
-namespace snikket{
-
-void AvailableChat_obj::__construct(::String chatId,::String displayName,::String note, ::snikket::Caps caps){
- HX_STACKFRAME(&_hx_pos_eb4b7fa35bcf9ef4_1571_new)
-HXLINE(1572) this->chatId = chatId;
-HXLINE(1573) this->displayName = displayName;
-HXLINE(1574) this->note = note;
-HXLINE(1575) this->caps = caps;
+HX_DEFINE_STACK_FRAME(_hx_pos_eed68530cdcabc2a_1918_new,"borogove.AvailableChat","new",0x5dac2a06,"borogove.AvailableChat.new","borogove/Chat.hx",1918,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_5767937a9c3c6668_423_chatId__fromC,"borogove.AvailableChat","chatId__fromC",0xf38d212c,"borogove.AvailableChat.chatId__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_5767937a9c3c6668_423_displayName__fromC,"borogove.AvailableChat","displayName__fromC",0x70140f86,"borogove.AvailableChat.displayName__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_5767937a9c3c6668_423_note__fromC,"borogove.AvailableChat","note__fromC",0x82768a6d,"borogove.AvailableChat.note__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_eed68530cdcabc2a_1914_isChannel,"borogove.AvailableChat","isChannel",0xad5c981f,"borogove.AvailableChat.isChannel","borogove/Chat.hx",1914,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_eed68530cdcabc2a_1894_boot,"borogove.AvailableChat","boot",0x91119bcc,"borogove.AvailableChat.boot","borogove/Chat.hx",1894,0x1763ae98)
+namespace borogove{
+
+void AvailableChat_obj::__construct(::String chatId,::String displayName,::String note, ::borogove::Caps caps){
+ HX_STACKFRAME(&_hx_pos_eed68530cdcabc2a_1918_new)
+HXLINE(1919) this->chatId = chatId;
+HXLINE(1920) this->displayName = displayName;
+HXLINE(1921) this->note = note;
+HXLINE(1922) this->caps = caps;
}
Dynamic AvailableChat_obj::__CreateEmpty() { return new AvailableChat_obj; }
@@ -36,50 +36,50 @@ Dynamic AvailableChat_obj::__Create(::hx::DynamicArray inArgs)
}
bool AvailableChat_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x7aa46944;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x579930bc;
}
::String AvailableChat_obj::chatId__fromC(){
- HX_STACKFRAME(&_hx_pos_84f492ff0c9cb600_355_chatId__fromC)
-HXDLIN( 355) return this->chatId;
+ HX_STACKFRAME(&_hx_pos_5767937a9c3c6668_423_chatId__fromC)
+HXDLIN( 423) return this->chatId;
}
HX_DEFINE_DYNAMIC_FUNC0(AvailableChat_obj,chatId__fromC,return )
::String AvailableChat_obj::displayName__fromC(){
- HX_STACKFRAME(&_hx_pos_84f492ff0c9cb600_355_displayName__fromC)
-HXDLIN( 355) return this->displayName;
+ HX_STACKFRAME(&_hx_pos_5767937a9c3c6668_423_displayName__fromC)
+HXDLIN( 423) return this->displayName;
}
HX_DEFINE_DYNAMIC_FUNC0(AvailableChat_obj,displayName__fromC,return )
::String AvailableChat_obj::note__fromC(){
- HX_STACKFRAME(&_hx_pos_84f492ff0c9cb600_355_note__fromC)
-HXDLIN( 355) return this->note;
+ HX_STACKFRAME(&_hx_pos_5767937a9c3c6668_423_note__fromC)
+HXDLIN( 423) return this->note;
}
HX_DEFINE_DYNAMIC_FUNC0(AvailableChat_obj,note__fromC,return )
bool AvailableChat_obj::isChannel(){
- HX_STACKFRAME(&_hx_pos_eb4b7fa35bcf9ef4_1567_isChannel)
-HXDLIN(1567) return this->caps->isChannel(this->chatId);
+ HX_STACKFRAME(&_hx_pos_eed68530cdcabc2a_1914_isChannel)
+HXDLIN(1914) return this->caps->isChannel(this->chatId);
}
HX_DEFINE_DYNAMIC_FUNC0(AvailableChat_obj,isChannel,return )
-::hx::ObjectPtr< AvailableChat_obj > AvailableChat_obj::__new(::String chatId,::String displayName,::String note, ::snikket::Caps caps) {
+::hx::ObjectPtr< AvailableChat_obj > AvailableChat_obj::__new(::String chatId,::String displayName,::String note, ::borogove::Caps caps) {
::hx::ObjectPtr< AvailableChat_obj > __this = new AvailableChat_obj();
__this->__construct(chatId,displayName,note,caps);
return __this;
}
-::hx::ObjectPtr< AvailableChat_obj > AvailableChat_obj::__alloc(::hx::Ctx *_hx_ctx,::String chatId,::String displayName,::String note, ::snikket::Caps caps) {
- AvailableChat_obj *__this = (AvailableChat_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(AvailableChat_obj), true, "snikket.AvailableChat"));
+::hx::ObjectPtr< AvailableChat_obj > AvailableChat_obj::__alloc(::hx::Ctx *_hx_ctx,::String chatId,::String displayName,::String note, ::borogove::Caps caps) {
+ 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);
return __this;
@@ -138,7 +138,7 @@ void AvailableChat_obj::__Visit(HX_VISIT_PARAMS)
switch(inName.length) {
case 4:
if (HX_FIELD_EQ(inName,"note") ) { note=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"caps") ) { caps=inValue.Cast< ::snikket::Caps >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"caps") ) { caps=inValue.Cast< ::borogove::Caps >(); return inValue; }
break;
case 6:
if (HX_FIELD_EQ(inName,"chatId") ) { chatId=inValue.Cast< ::String >(); return inValue; }
@@ -163,7 +163,7 @@ static ::hx::StorageInfo AvailableChat_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(AvailableChat_obj,chatId),HX_("chatId",d3,04,77,b7)},
{::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 /* ::snikket::Caps */ ,(int)offsetof(AvailableChat_obj,caps),HX_("caps",21,1c,ba,41)},
+ {::hx::fsObject /* ::borogove::Caps */ ,(int)offsetof(AvailableChat_obj,caps),HX_("caps",21,1c,ba,41)},
{ ::hx::fsUnknown, 0, null()}
};
static ::hx::StaticInfo *AvailableChat_obj_sStaticStorageInfo = 0;
@@ -187,7 +187,7 @@ void AvailableChat_obj::__register()
AvailableChat_obj _hx_dummy;
AvailableChat_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.AvailableChat",70,99,29,af);
+ __mClass->mName = HX_("borogove.AvailableChat",14,6f,09,08);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -208,8 +208,8 @@ void AvailableChat_obj::__register()
void AvailableChat_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_eb4b7fa35bcf9ef4_1547_boot)
-HXDLIN(1547) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_eed68530cdcabc2a_1894_boot)
+HXDLIN(1894) __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())))
@@ -220,4 +220,4 @@ HXDLIN(1547) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
}
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/Builder.cpp b/Sources/c_borogove/src/borogove/Builder.cpp
similarity index 62%
rename from Sources/c_snikket/src/snikket/Builder.cpp
rename to Sources/c_borogove/src/borogove/Builder.cpp
index cb6b08f..11ba02f 100644
--- a/Sources/c_snikket/src/snikket/Builder.cpp
+++ b/Sources/c_borogove/src/borogove/Builder.cpp
@@ -1,39 +1,39 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_Builder
-#include <snikket/Builder.h>
+#ifndef INCLUDED_borogove_Builder
+#include <borogove/Builder.h>
#endif
-#ifndef INCLUDED_snikket_Emoji
-#include <snikket/Emoji.h>
+#ifndef INCLUDED_borogove_Emoji
+#include <borogove/Emoji.h>
#endif
-#ifndef INCLUDED_snikket_EmojiUtil
-#include <snikket/EmojiUtil.h>
+#ifndef INCLUDED_borogove_EmojiUtil
+#include <borogove/EmojiUtil.h>
#endif
-#ifndef INCLUDED_snikket_Other
-#include <snikket/Other.h>
+#ifndef INCLUDED_borogove_Other
+#include <borogove/Other.h>
#endif
-#ifndef INCLUDED_snikket_Symbol
-#include <snikket/Symbol.h>
+#ifndef INCLUDED_borogove_Symbol
+#include <borogove/Symbol.h>
#endif
-#ifndef INCLUDED_snikket_UnicodeBlocks
-#include <snikket/UnicodeBlocks.h>
+#ifndef INCLUDED_borogove_UnicodeBlocks
+#include <borogove/UnicodeBlocks.h>
#endif
-#ifndef INCLUDED_snikket_UnicodeRange
-#include <snikket/UnicodeRange.h>
+#ifndef INCLUDED_borogove_UnicodeRange
+#include <borogove/UnicodeRange.h>
#endif
-#ifndef INCLUDED_snikket_UnicodeSet
-#include <snikket/UnicodeSet.h>
+#ifndef INCLUDED_borogove_UnicodeSet
+#include <borogove/UnicodeSet.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_ac332627541f656c_155_new,"snikket.Builder","new",0xc6a387fc,"snikket.Builder.new","snikket/EmojiUtil.hx",155,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_ac332627541f656c_159_offer,"snikket.Builder","offer",0xf095bc38,"snikket.Builder.offer","snikket/EmojiUtil.hx",159,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_ac332627541f656c_203_build,"snikket.Builder","build",0x7e4cb1ca,"snikket.Builder.build","snikket/EmojiUtil.hx",203,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_ac332627541f656c_200_isMerger,"snikket.Builder","isMerger",0x0a768d28,"snikket.Builder.isMerger","snikket/EmojiUtil.hx",200,0x30de6948)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_38ecfe6debe5c00d_155_new,"borogove.Builder","new",0x4ea5eca0,"borogove.Builder.new","borogove/EmojiUtil.hx",155,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_38ecfe6debe5c00d_159_offer,"borogove.Builder","offer",0x497591dc,"borogove.Builder.offer","borogove/EmojiUtil.hx",159,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_38ecfe6debe5c00d_203_build,"borogove.Builder","build",0xd72c876e,"borogove.Builder.build","borogove/EmojiUtil.hx",203,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_38ecfe6debe5c00d_200_isMerger,"borogove.Builder","isMerger",0x7dd0d604,"borogove.Builder.isMerger","borogove/EmojiUtil.hx",200,0xaaf41424)
+namespace borogove{
void Builder_obj::__construct(){
- HX_STACKFRAME(&_hx_pos_ac332627541f656c_155_new)
+ HX_STACKFRAME(&_hx_pos_38ecfe6debe5c00d_155_new)
HXDLIN( 155) this->codepoints = ::Array_obj< int >::__new(0);
}
@@ -49,31 +49,31 @@ Dynamic Builder_obj::__Create(::hx::DynamicArray inArgs)
}
bool Builder_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x7b0e9a2a;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x638ca23a;
}
bool Builder_obj::offer(int codepoint){
- HX_STACKFRAME(&_hx_pos_ac332627541f656c_159_offer)
+ HX_STACKFRAME(&_hx_pos_38ecfe6debe5c00d_159_offer)
HXLINE( 160) bool add = false;
HXLINE( 161) if ((this->codepoints->length == 0)) {
-HXLINE( 162) if (::snikket::EmojiUtil_obj::SYMBOLIZE->contains(codepoint)) {
+HXLINE( 162) if (::borogove::EmojiUtil_obj::SYMBOLIZE->contains(codepoint)) {
HXLINE( 163) add = true;
}
else {
-HXLINE( 164) if (::snikket::EmojiUtil_obj::REGIONAL_INDICATORS->contains(codepoint)) {
+HXLINE( 164) if (::borogove::EmojiUtil_obj::REGIONAL_INDICATORS->contains(codepoint)) {
HXLINE( 165) add = true;
}
else {
HXLINE( 166) bool _hx_tmp;
HXDLIN( 166) bool _hx_tmp1;
-HXDLIN( 166) if (::snikket::EmojiUtil_obj::EMOJIS->contains(codepoint)) {
-HXLINE( 166) _hx_tmp1 = !(::snikket::EmojiUtil_obj::FITZPATRICK->contains(codepoint));
+HXDLIN( 166) if (::borogove::EmojiUtil_obj::EMOJIS->contains(codepoint)) {
+HXLINE( 166) _hx_tmp1 = !(::borogove::EmojiUtil_obj::FITZPATRICK->contains(codepoint));
}
else {
HXLINE( 166) _hx_tmp1 = false;
}
HXDLIN( 166) if (_hx_tmp1) {
-HXLINE( 166) _hx_tmp = (codepoint != ::snikket::EmojiUtil_obj::ZWJ);
+HXLINE( 166) _hx_tmp = (codepoint != ::borogove::EmojiUtil_obj::ZWJ);
}
else {
HXLINE( 166) _hx_tmp = false;
@@ -86,26 +86,26 @@ HXLINE( 167) add = true;
}
else {
HXLINE( 170) int previous = this->codepoints->__get((this->codepoints->length - 1));
-HXLINE( 171) if ((this->codepoints->__get(0) == ::snikket::EmojiUtil_obj::BLACK_FLAG)) {
-HXLINE( 172) add = ::snikket::EmojiUtil_obj::TAGS->contains(codepoint);
+HXLINE( 171) if ((this->codepoints->__get(0) == ::borogove::EmojiUtil_obj::BLACK_FLAG)) {
+HXLINE( 172) add = ::borogove::EmojiUtil_obj::TAGS->contains(codepoint);
}
else {
-HXLINE( 173) if ((::snikket::EmojiUtil_obj::COMBINING_ENCLOSING_KEYCAP == codepoint)) {
-HXLINE( 174) if (!(::snikket::EmojiUtil_obj::KEYCAP_COMBINEABLE->contains(previous))) {
-HXLINE( 174) add = (previous == ::snikket::EmojiUtil_obj::VARIATION_16);
+HXLINE( 173) if ((::borogove::EmojiUtil_obj::COMBINING_ENCLOSING_KEYCAP == codepoint)) {
+HXLINE( 174) if (!(::borogove::EmojiUtil_obj::KEYCAP_COMBINEABLE->contains(previous))) {
+HXLINE( 174) add = (previous == ::borogove::EmojiUtil_obj::VARIATION_16);
}
else {
HXLINE( 174) add = true;
}
}
else {
-HXLINE( 175) if (::snikket::EmojiUtil_obj::SYMBOLIZE->contains(previous)) {
-HXLINE( 176) add = (codepoint == ::snikket::EmojiUtil_obj::VARIATION_16);
+HXLINE( 175) if (::borogove::EmojiUtil_obj::SYMBOLIZE->contains(previous)) {
+HXLINE( 176) add = (codepoint == ::borogove::EmojiUtil_obj::VARIATION_16);
}
else {
HXLINE( 177) bool _hx_tmp2;
-HXDLIN( 177) if (::snikket::EmojiUtil_obj::REGIONAL_INDICATORS->contains(previous)) {
-HXLINE( 177) _hx_tmp2 = ::snikket::EmojiUtil_obj::REGIONAL_INDICATORS->contains(codepoint);
+HXDLIN( 177) if (::borogove::EmojiUtil_obj::REGIONAL_INDICATORS->contains(previous)) {
+HXLINE( 177) _hx_tmp2 = ::borogove::EmojiUtil_obj::REGIONAL_INDICATORS->contains(codepoint);
}
else {
HXLINE( 177) _hx_tmp2 = false;
@@ -114,30 +114,30 @@ HXDLIN( 177) if (_hx_tmp2) {
HXLINE( 178) add = (this->codepoints->length == 1);
}
else {
-HXLINE( 179) if ((previous == ::snikket::EmojiUtil_obj::VARIATION_16)) {
-HXLINE( 180) if (!(::snikket::Builder_obj::isMerger(codepoint))) {
-HXLINE( 180) add = (codepoint == ::snikket::EmojiUtil_obj::VARIATION_16);
+HXLINE( 179) if ((previous == ::borogove::EmojiUtil_obj::VARIATION_16)) {
+HXLINE( 180) if (!(::borogove::Builder_obj::isMerger(codepoint))) {
+HXLINE( 180) add = (codepoint == ::borogove::EmojiUtil_obj::VARIATION_16);
}
else {
HXLINE( 180) add = true;
}
}
else {
-HXLINE( 181) if (::snikket::EmojiUtil_obj::FITZPATRICK->contains(previous)) {
-HXLINE( 182) add = (codepoint == ::snikket::EmojiUtil_obj::ZWJ);
+HXLINE( 181) if (::borogove::EmojiUtil_obj::FITZPATRICK->contains(previous)) {
+HXLINE( 182) add = (codepoint == ::borogove::EmojiUtil_obj::ZWJ);
}
else {
-HXLINE( 183) if ((::snikket::EmojiUtil_obj::ZWJ == previous)) {
-HXLINE( 184) add = ::snikket::EmojiUtil_obj::EMOJIS->contains(codepoint);
+HXLINE( 183) if ((::borogove::EmojiUtil_obj::ZWJ == previous)) {
+HXLINE( 184) add = ::borogove::EmojiUtil_obj::EMOJIS->contains(codepoint);
}
else {
-HXLINE( 185) if (::snikket::Builder_obj::isMerger(codepoint)) {
+HXLINE( 185) if (::borogove::Builder_obj::isMerger(codepoint)) {
HXLINE( 186) add = true;
}
else {
HXLINE( 187) bool _hx_tmp3;
-HXDLIN( 187) if ((codepoint == ::snikket::EmojiUtil_obj::VARIATION_16)) {
-HXLINE( 187) _hx_tmp3 = ::snikket::EmojiUtil_obj::EMOJIS->contains(previous);
+HXDLIN( 187) if ((codepoint == ::borogove::EmojiUtil_obj::VARIATION_16)) {
+HXLINE( 187) _hx_tmp3 = ::borogove::EmojiUtil_obj::EMOJIS->contains(previous);
}
else {
HXLINE( 187) _hx_tmp3 = false;
@@ -167,42 +167,42 @@ HXLINE( 191) return false;
HX_DEFINE_DYNAMIC_FUNC1(Builder_obj,offer,return )
- ::snikket::Symbol Builder_obj::build(){
- HX_GC_STACKFRAME(&_hx_pos_ac332627541f656c_203_build)
+ ::borogove::Symbol Builder_obj::build(){
+ HX_GC_STACKFRAME(&_hx_pos_38ecfe6debe5c00d_203_build)
HXLINE( 204) bool _hx_tmp;
HXDLIN( 204) if ((this->codepoints->length > 0)) {
-HXLINE( 204) _hx_tmp = ::snikket::EmojiUtil_obj::SYMBOLIZE->contains(this->codepoints->__get((this->codepoints->length - 1)));
+HXLINE( 204) _hx_tmp = ::borogove::EmojiUtil_obj::SYMBOLIZE->contains(this->codepoints->__get((this->codepoints->length - 1)));
}
else {
HXLINE( 204) _hx_tmp = false;
}
HXDLIN( 204) if (_hx_tmp) {
-HXLINE( 205) return ::snikket::Other_obj::__alloc( HX_CTX ,this->codepoints);
+HXLINE( 205) return ::borogove::Other_obj::__alloc( HX_CTX ,this->codepoints);
}
else {
HXLINE( 206) bool _hx_tmp1;
HXDLIN( 206) bool _hx_tmp2;
HXDLIN( 206) if ((this->codepoints->length > 1)) {
-HXLINE( 206) _hx_tmp2 = ::snikket::EmojiUtil_obj::KEYCAP_COMBINEABLE->contains(this->codepoints->__get(0));
+HXLINE( 206) _hx_tmp2 = ::borogove::EmojiUtil_obj::KEYCAP_COMBINEABLE->contains(this->codepoints->__get(0));
}
else {
HXLINE( 206) _hx_tmp2 = false;
}
HXDLIN( 206) if (_hx_tmp2) {
-HXLINE( 206) _hx_tmp1 = (this->codepoints->__get((this->codepoints->length - 1)) != ::snikket::EmojiUtil_obj::COMBINING_ENCLOSING_KEYCAP);
+HXLINE( 206) _hx_tmp1 = (this->codepoints->__get((this->codepoints->length - 1)) != ::borogove::EmojiUtil_obj::COMBINING_ENCLOSING_KEYCAP);
}
else {
HXLINE( 206) _hx_tmp1 = false;
}
HXDLIN( 206) if (_hx_tmp1) {
-HXLINE( 207) return ::snikket::Other_obj::__alloc( HX_CTX ,this->codepoints);
+HXLINE( 207) return ::borogove::Other_obj::__alloc( HX_CTX ,this->codepoints);
}
}
HXLINE( 209) if ((this->codepoints->length == 0)) {
-HXLINE( 209) return ::snikket::Other_obj::__alloc( HX_CTX ,this->codepoints);
+HXLINE( 209) return ::borogove::Other_obj::__alloc( HX_CTX ,this->codepoints);
}
else {
-HXLINE( 209) return ::snikket::Emoji_obj::__alloc( HX_CTX ,this->codepoints);
+HXLINE( 209) return ::borogove::Emoji_obj::__alloc( HX_CTX ,this->codepoints);
}
HXDLIN( 209) return null();
}
@@ -211,9 +211,9 @@ HXDLIN( 209) return null();
HX_DEFINE_DYNAMIC_FUNC0(Builder_obj,build,return )
bool Builder_obj::isMerger(int codepoint){
- HX_STACKFRAME(&_hx_pos_ac332627541f656c_200_isMerger)
-HXDLIN( 200) if ((codepoint != ::snikket::EmojiUtil_obj::ZWJ)) {
-HXDLIN( 200) return ::snikket::EmojiUtil_obj::FITZPATRICK->contains(codepoint);
+ HX_STACKFRAME(&_hx_pos_38ecfe6debe5c00d_200_isMerger)
+HXDLIN( 200) if ((codepoint != ::borogove::EmojiUtil_obj::ZWJ)) {
+HXDLIN( 200) return ::borogove::EmojiUtil_obj::FITZPATRICK->contains(codepoint);
}
else {
HXDLIN( 200) return true;
@@ -232,7 +232,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(Builder_obj,isMerger,return )
}
::hx::ObjectPtr< Builder_obj > Builder_obj::__alloc(::hx::Ctx *_hx_ctx) {
- Builder_obj *__this = (Builder_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Builder_obj), true, "snikket.Builder"));
+ Builder_obj *__this = (Builder_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Builder_obj), true, "borogove.Builder"));
*(void **)__this = Builder_obj::_hx_vtable;
__this->__construct();
return __this;
@@ -317,7 +317,7 @@ void Builder_obj::__register()
Builder_obj _hx_dummy;
Builder_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Builder",0a,1a,51,7e);
+ __mClass->mName = HX_("borogove.Builder",ae,5c,53,7d);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -335,4 +335,4 @@ void Builder_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Caps.cpp b/Sources/c_borogove/src/borogove/Caps.cpp
new file mode 100644
index 0000000..51f5c8e
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Caps.cpp
@@ -0,0 +1,689 @@
+// 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_borogove_Caps
+#include <borogove/Caps.h>
+#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
+#ifndef INCLUDED_borogove_Identity
+#include <borogove/Identity.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_borogove__DataForm_Field_Impl_
+#include <borogove/_DataForm/Field_Impl_.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_Encoding
+#include <haxe/io/Encoding.h>
+#endif
+#ifndef INCLUDED_haxe_io_Output
+#include <haxe/io/Output.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_16_new,"borogove.Caps","new",0xd5c5c0a0,"borogove.Caps.new","borogove/Caps.hx",16,0xed3da4ef)
+HX_DEFINE_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_56_new,"borogove.Caps","new",0xd5c5c0a0,"borogove.Caps.new","borogove/Caps.hx",56,0xed3da4ef)
+HX_DEFINE_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_57_new,"borogove.Caps","new",0xd5c5c0a0,"borogove.Caps.new","borogove/Caps.hx",57,0xed3da4ef)
+HX_DEFINE_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_58_new,"borogove.Caps","new",0xd5c5c0a0,"borogove.Caps.new","borogove/Caps.hx",58,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_70_isChannel,"borogove.Caps","isChannel",0x55b41e39,"borogove.Caps.isChannel","borogove/Caps.hx",70,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_72_isChannel,"borogove.Caps","isChannel",0x55b41e39,"borogove.Caps.isChannel","borogove/Caps.hx",72,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_75_discoReply,"borogove.Caps","discoReply",0x066a3310,"borogove.Caps.discoReply","borogove/Caps.hx",75,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_87_addC,"borogove.Caps","addC",0x2eaa32c2,"borogove.Caps.addC","borogove/Caps.hx",87,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_104_hashInput,"borogove.Caps","hashInput",0x77a0999c,"borogove.Caps.hashInput","borogove/Caps.hx",104,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_117_hashInput,"borogove.Caps","hashInput",0x77a0999c,"borogove.Caps.hashInput","borogove/Caps.hx",117,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_135_computeVer,"borogove.Caps","computeVer",0xf6e0aeec,"borogove.Caps.computeVer","borogove/Caps.hx",135,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_146_computeVer,"borogove.Caps","computeVer",0xf6e0aeec,"borogove.Caps.computeVer","borogove/Caps.hx",146,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_161_verRaw,"borogove.Caps","verRaw",0xd5dfc305,"borogove.Caps.verRaw","borogove/Caps.hx",161,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_167_ver,"borogove.Caps","ver",0xd5cbd2a3,"borogove.Caps.ver","borogove/Caps.hx",167,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_24_withIdentity,"borogove.Caps","withIdentity",0x2955f524,"borogove.Caps.withIdentity","borogove/Caps.hx",24,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_39_withFeature,"borogove.Caps","withFeature",0xbcdb4190,"borogove.Caps.withFeature","borogove/Caps.hx",39,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_16_new)
+HXLINE( 21) this->_ver = null();
+HXLINE( 54) 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_56_new)
+HXLINE( 56) if ((x == y)) {
+HXLINE( 56) return 0;
+ }
+ else {
+HXLINE( 56) if ((x < y)) {
+HXLINE( 56) return -1;
+ }
+ else {
+HXLINE( 56) return 1;
+ }
+ }
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+ 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_57_new)
+HXLINE( 57) ::String _hx_tmp = x->ver();
+HXDLIN( 57) if ((_hx_tmp == y->ver())) {
+HXLINE( 57) return 0;
+ }
+ else {
+HXLINE( 57) ::String _hx_tmp1 = x->ver();
+HXDLIN( 57) if ((_hx_tmp1 < y->ver())) {
+HXLINE( 57) return -1;
+ }
+ else {
+HXLINE( 57) return 1;
+ }
+ }
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+ 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_58_new)
+HXLINE( 58) ::borogove::Stanza tmp = ::borogove::_DataForm::DataForm_Impl__obj::field(x,HX_("FORM_TYPE",d5,96,c9,5a));
+HXDLIN( 58) ::Array< ::String > tmp1;
+HXDLIN( 58) if (::hx::IsNotNull( tmp )) {
+HXLINE( 58) tmp1 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp);
+ }
+ else {
+HXLINE( 58) tmp1 = null();
+ }
+HXDLIN( 58) ::Array< ::String > _hx_tmp;
+HXDLIN( 58) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 58) _hx_tmp = tmp1;
+ }
+ else {
+HXLINE( 58) _hx_tmp = ::Array_obj< ::String >::__new(0);
+ }
+HXDLIN( 58) ::String _hx_tmp1 = _hx_tmp->join(HX_("\n",0a,00,00,00));
+HXDLIN( 58) ::borogove::Stanza tmp2 = ::borogove::_DataForm::DataForm_Impl__obj::field(y,HX_("FORM_TYPE",d5,96,c9,5a));
+HXDLIN( 58) ::Array< ::String > tmp3;
+HXDLIN( 58) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 58) tmp3 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp2);
+ }
+ else {
+HXLINE( 58) tmp3 = null();
+ }
+HXDLIN( 58) ::Array< ::String > _hx_tmp2;
+HXDLIN( 58) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 58) _hx_tmp2 = tmp3;
+ }
+ else {
+HXLINE( 58) _hx_tmp2 = ::Array_obj< ::String >::__new(0);
+ }
+HXDLIN( 58) return ::Reflect_obj::compare(_hx_tmp1,_hx_tmp2->join(HX_("\n",0a,00,00,00)));
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXLINE( 56) features->sort( ::Dynamic(new _hx_Closure_0()));
+HXLINE( 57) identities->sort( ::Dynamic(new _hx_Closure_1()));
+HXLINE( 58) data->sort( ::Dynamic(new _hx_Closure_2()));
+ }
+HXLINE( 61) this->node = node;
+HXLINE( 62) this->identities = identities;
+HXLINE( 63) this->features = features;
+HXLINE( 64) this->data = data;
+HXLINE( 65) if (::hx::IsNotNull( ver )) {
+HXLINE( 66) this->_ver = ::borogove::Hash_obj::__alloc( HX_CTX ,HX_("sha-1",90,a8,1c,7c),ver);
+ }
+ }
+
+Dynamic Caps_obj::__CreateEmpty() { return new Caps_obj; }
+
+void *Caps_obj::_hx_vtable = 0;
+
+Dynamic Caps_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Caps_obj > _hx_result = new Caps_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4]);
+ return _hx_result;
+}
+
+bool Caps_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2aca3ba2;
+}
+
+bool Caps_obj::isChannel(::String chatId){
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_70_isChannel)
+HXLINE( 71) if ((chatId.indexOf(HX_("@",40,00,00,00),null()) < 0)) {
+HXLINE( 71) return false;
+ }
+HXLINE( 72) 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_72_isChannel)
+HXLINE( 72) return (identity->category == HX_("conference",1c,2b,83,41));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 72) return ::hx::IsNotNull( ::Lambda_obj::find(this->identities, ::Dynamic(new _hx_Closure_0())) );
+ }
+ else {
+HXLINE( 72) return false;
+ }
+HXDLIN( 72) return false;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Caps_obj,isChannel,return )
+
+ ::borogove::Stanza Caps_obj::discoReply(){
+ HX_GC_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_75_discoReply)
+HXLINE( 76) ::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( 77) {
+HXLINE( 77) int _g = 0;
+HXDLIN( 77) ::Array< ::Dynamic> _g1 = this->identities;
+HXDLIN( 77) while((_g < _g1->length)){
+HXLINE( 77) ::borogove::Identity identity = _g1->__get(_g).StaticCast< ::borogove::Identity >();
+HXDLIN( 77) _g = (_g + 1);
+HXLINE( 78) identity->addToDisco(query);
+ }
+ }
+HXLINE( 80) {
+HXLINE( 80) int _g2 = 0;
+HXDLIN( 80) ::Array< ::String > _g3 = this->features;
+HXDLIN( 80) while((_g2 < _g3->length)){
+HXLINE( 80) ::String feature = _g3->__get(_g2);
+HXDLIN( 80) _g2 = (_g2 + 1);
+HXLINE( 81) 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( 83) query->addChildren(this->data);
+HXLINE( 84) return query;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Caps_obj,discoReply,return )
+
+ ::borogove::Stanza Caps_obj::addC( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_87_addC)
+HXLINE( 91) ::String _hx_tmp = this->node;
+HXLINE( 88) 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( 94) ::borogove::Stanza _hx_tmp1 = 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( 98) ::String _hx_tmp2 = ::borogove::Hash_obj::sha256(this->hashInput())->toBase64();
+HXLINE( 94) _hx_tmp1->textTag(HX_("hash",ce,2f,08,45),_hx_tmp2, ::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();
+HXLINE( 101) return stanza;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Caps_obj,addC,return )
+
+ ::haxe::io::Bytes Caps_obj::hashInput(){
+ HX_GC_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_104_hashInput)
+HXLINE( 105) ::haxe::io::BytesOutput s = ::haxe::io::BytesOutput_obj::__alloc( HX_CTX );
+HXLINE( 106) {
+HXLINE( 106) int _g = 0;
+HXDLIN( 106) ::Array< ::String > _g1 = this->features;
+HXDLIN( 106) while((_g < _g1->length)){
+HXLINE( 106) ::String feature = _g1->__get(_g);
+HXDLIN( 106) _g = (_g + 1);
+HXLINE( 107) {
+HXLINE( 107) ::haxe::io::Bytes b = ::haxe::io::Bytes_obj::ofString(feature,null());
+HXDLIN( 107) s->writeBytes(b,0,b->length);
+ }
+HXLINE( 108) s->writeByte(31);
+ }
+ }
+HXLINE( 110) s->writeByte(28);
+HXLINE( 111) {
+HXLINE( 111) int _g2 = 0;
+HXDLIN( 111) ::Array< ::Dynamic> _g3 = this->identities;
+HXDLIN( 111) while((_g2 < _g3->length)){
+HXLINE( 111) ::borogove::Identity identity = _g3->__get(_g2).StaticCast< ::borogove::Identity >();
+HXDLIN( 111) _g2 = (_g2 + 1);
+HXLINE( 112) identity->writeTo(s);
+ }
+ }
+HXLINE( 114) s->writeByte(28);
+HXLINE( 115) {
+HXLINE( 115) int _g4 = 0;
+HXDLIN( 115) ::Array< ::Dynamic> _g5 = this->data;
+HXDLIN( 115) 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_117_hashInput)
+HXLINE( 117) ::String tmp = ( (::String)(::Reflect_obj::field(x->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 117) ::String _hx_tmp;
+HXDLIN( 117) if (::hx::IsNotNull( tmp )) {
+HXLINE( 117) _hx_tmp = tmp;
+ }
+ else {
+HXLINE( 117) _hx_tmp = HX_("",00,00,00,00);
+ }
+HXDLIN( 117) ::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( 117) ::String tmp1 = ( (::String)(::Reflect_obj::field(y->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 117) ::String _hx_tmp2;
+HXDLIN( 117) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 117) _hx_tmp2 = tmp1;
+ }
+ else {
+HXLINE( 117) _hx_tmp2 = HX_("",00,00,00,00);
+ }
+HXDLIN( 117) 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( 115) ::borogove::Stanza form = _g5->__get(_g4).StaticCast< ::borogove::Stanza >();
+HXDLIN( 115) _g4 = (_g4 + 1);
+HXLINE( 116) ::Array< ::Dynamic> fields = form->allTags(HX_("field",ba,94,93,00),null());
+HXLINE( 117) fields->sort( ::Dynamic(new _hx_Closure_0()));
+HXLINE( 118) {
+HXLINE( 118) int _g6 = 0;
+HXDLIN( 118) while((_g6 < fields->length)){
+HXLINE( 118) ::borogove::Stanza field = fields->__get(_g6).StaticCast< ::borogove::Stanza >();
+HXDLIN( 118) _g6 = (_g6 + 1);
+HXLINE( 119) ::Array< ::String > values = ::borogove::_DataForm::Field_Impl__obj::get_value(field);
+HXLINE( 120) values->sort(::Reflect_obj::compare_dyn());
+HXLINE( 121) {
+HXLINE( 121) ::String s1;
+HXDLIN( 121) ::String tmp = ( (::String)(::Reflect_obj::field(field->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 121) if (::hx::IsNotNull( tmp )) {
+HXLINE( 121) s1 = tmp;
+ }
+ else {
+HXLINE( 121) s1 = HX_("",00,00,00,00);
+ }
+HXDLIN( 121) ::haxe::io::Bytes b1 = ::haxe::io::Bytes_obj::ofString(s1,null());
+HXDLIN( 121) s->writeBytes(b1,0,b1->length);
+ }
+HXLINE( 122) s->writeByte(31);
+HXLINE( 123) {
+HXLINE( 123) int _g7 = 0;
+HXDLIN( 123) while((_g7 < values->length)){
+HXLINE( 123) ::String value = values->__get(_g7);
+HXDLIN( 123) _g7 = (_g7 + 1);
+HXLINE( 124) {
+HXLINE( 124) ::haxe::io::Bytes b2 = ::haxe::io::Bytes_obj::ofString(value,null());
+HXDLIN( 124) s->writeBytes(b2,0,b2->length);
+ }
+HXLINE( 125) s->writeByte(31);
+ }
+ }
+HXLINE( 127) s->writeByte(30);
+ }
+ }
+HXLINE( 129) s->writeByte(29);
+ }
+ }
+HXLINE( 131) s->writeByte(28);
+HXLINE( 132) return s->getBytes();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Caps_obj,hashInput,return )
+
+ ::borogove::Hash Caps_obj::computeVer(){
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_135_computeVer)
+HXLINE( 136) ::String s = HX_("",00,00,00,00);
+HXLINE( 137) {
+HXLINE( 137) int _g = 0;
+HXDLIN( 137) ::Array< ::Dynamic> _g1 = this->identities;
+HXDLIN( 137) while((_g < _g1->length)){
+HXLINE( 137) ::borogove::Identity identity = _g1->__get(_g).StaticCast< ::borogove::Identity >();
+HXDLIN( 137) _g = (_g + 1);
+HXLINE( 138) s = (s + (identity->ver() + HX_("<",3c,00,00,00)));
+ }
+ }
+HXLINE( 140) {
+HXLINE( 140) int _g2 = 0;
+HXDLIN( 140) ::Array< ::String > _g3 = this->features;
+HXDLIN( 140) while((_g2 < _g3->length)){
+HXLINE( 140) ::String feature = _g3->__get(_g2);
+HXDLIN( 140) _g2 = (_g2 + 1);
+HXLINE( 141) s = (s + (feature + HX_("<",3c,00,00,00)));
+ }
+ }
+HXLINE( 143) {
+HXLINE( 143) int _g4 = 0;
+HXDLIN( 143) ::Array< ::Dynamic> _g5 = this->data;
+HXDLIN( 143) 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_146_computeVer)
+HXLINE( 146) ::String _hx_tmp;
+HXDLIN( 146) ::String tmp = ( (::String)(::Reflect_obj::field(x->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 146) if (::hx::IsNotNull( tmp )) {
+HXLINE( 146) _hx_tmp = tmp;
+ }
+ else {
+HXLINE( 146) _hx_tmp = HX_("",00,00,00,00);
+ }
+HXDLIN( 146) ::String tmp1 = ( (::String)(::Reflect_obj::field(y->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 146) ::String _hx_tmp1;
+HXDLIN( 146) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 146) _hx_tmp1 = tmp1;
+ }
+ else {
+HXLINE( 146) _hx_tmp1 = HX_("",00,00,00,00);
+ }
+HXDLIN( 146) return ::Reflect_obj::compare(_hx_tmp,_hx_tmp1);
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXLINE( 143) ::borogove::Stanza form = _g5->__get(_g4).StaticCast< ::borogove::Stanza >();
+HXDLIN( 143) _g4 = (_g4 + 1);
+HXLINE( 144) s = (s + (::borogove::_DataForm::Field_Impl__obj::get_value(::borogove::_DataForm::DataForm_Impl__obj::field(form,HX_("FORM_TYPE",d5,96,c9,5a)))->__get(0) + HX_("<",3c,00,00,00)));
+HXLINE( 145) ::Array< ::Dynamic> fields = form->allTags(HX_("field",ba,94,93,00),null());
+HXLINE( 146) fields->sort( ::Dynamic(new _hx_Closure_0()));
+HXLINE( 147) {
+HXLINE( 147) int _g6 = 0;
+HXDLIN( 147) while((_g6 < fields->length)){
+HXLINE( 147) ::borogove::Stanza field = fields->__get(_g6).StaticCast< ::borogove::Stanza >();
+HXDLIN( 147) _g6 = (_g6 + 1);
+HXLINE( 148) ::String tmp = ( (::String)(::Reflect_obj::field(field->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 148) ::String _hx_tmp;
+HXDLIN( 148) if (::hx::IsNotNull( tmp )) {
+HXLINE( 148) _hx_tmp = tmp;
+ }
+ else {
+HXLINE( 148) _hx_tmp = HX_("",00,00,00,00);
+ }
+HXDLIN( 148) if ((_hx_tmp != HX_("FORM_TYPE",d5,96,c9,5a))) {
+HXLINE( 149) ::String tmp1 = ( (::String)(::Reflect_obj::field(field->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 149) ::String s1;
+HXDLIN( 149) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 149) s1 = tmp1;
+ }
+ else {
+HXLINE( 149) s1 = HX_("",00,00,00,00);
+ }
+HXDLIN( 149) s = (s + (s1 + HX_("<",3c,00,00,00)));
+HXLINE( 150) ::Array< ::String > values = ::borogove::_DataForm::Field_Impl__obj::get_value(field);
+HXLINE( 151) values->sort(::Reflect_obj::compare_dyn());
+HXLINE( 152) {
+HXLINE( 152) int _g7 = 0;
+HXDLIN( 152) while((_g7 < values->length)){
+HXLINE( 152) ::String value = values->__get(_g7);
+HXDLIN( 152) _g7 = (_g7 + 1);
+HXLINE( 153) s = (s + (value + HX_("<",3c,00,00,00)));
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+HXLINE( 158) 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_161_verRaw)
+HXLINE( 162) if (::hx::IsNull( this->_ver )) {
+HXLINE( 162) this->_ver = this->computeVer();
+ }
+HXLINE( 163) return this->_ver;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Caps_obj,verRaw,return )
+
+::String Caps_obj::ver(){
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_167_ver)
+HXDLIN( 167) return this->verRaw()->toBase64();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Caps_obj,ver,return )
+
+::Array< ::String > Caps_obj::withIdentity( ::Dynamic caps,::String category,::String type){
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_24_withIdentity)
+HXLINE( 25) ::Array< ::String > result = ::Array_obj< ::String >::__new(0);
+HXLINE( 26) while(( (bool)(caps->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 26) ::Dynamic cap = caps->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
+HXLINE( 27) if (::hx::IsNotNull( cap->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic) )) {
+HXLINE( 28) int _g = 0;
+HXDLIN( 28) ::Array< ::Dynamic> _g1 = ( ( ::borogove::Caps)(cap->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) )->identities;
+HXDLIN( 28) while((_g < _g1->length)){
+HXLINE( 28) ::borogove::Identity identity = _g1->__get(_g).StaticCast< ::borogove::Identity >();
+HXDLIN( 28) _g = (_g + 1);
+HXLINE( 29) bool _hx_tmp;
+HXDLIN( 29) bool _hx_tmp1;
+HXDLIN( 29) if (::hx::IsNotNull( category )) {
+HXLINE( 29) _hx_tmp1 = (category == identity->category);
+ }
+ else {
+HXLINE( 29) _hx_tmp1 = true;
+ }
+HXDLIN( 29) if (_hx_tmp1) {
+HXLINE( 29) if (::hx::IsNotNull( type )) {
+HXLINE( 29) _hx_tmp = (type == identity->type);
+ }
+ else {
+HXLINE( 29) _hx_tmp = true;
+ }
+ }
+ else {
+HXLINE( 29) _hx_tmp = false;
+ }
+HXDLIN( 29) if (_hx_tmp) {
+HXLINE( 30) result->push( ::Dynamic(cap->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)));
+ }
+ }
+ }
+ }
+HXLINE( 35) return result;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC3(Caps_obj,withIdentity,return )
+
+::Array< ::String > Caps_obj::withFeature( ::Dynamic caps,::String feature){
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_39_withFeature)
+HXLINE( 40) ::Array< ::String > result = ::Array_obj< ::String >::__new(0);
+HXLINE( 41) while(( (bool)(caps->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 41) ::Dynamic cap = caps->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
+HXLINE( 42) if (::hx::IsNotNull( cap->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic) )) {
+HXLINE( 43) int _g = 0;
+HXDLIN( 43) ::Array< ::String > _g1 = ( ( ::borogove::Caps)(cap->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) )->features;
+HXDLIN( 43) while((_g < _g1->length)){
+HXLINE( 43) ::String feat = _g1->__get(_g);
+HXDLIN( 43) _g = (_g + 1);
+HXLINE( 44) if ((feature == feat)) {
+HXLINE( 45) result->push( ::Dynamic(cap->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)));
+ }
+ }
+ }
+ }
+HXLINE( 50) return result;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(Caps_obj,withFeature,return )
+
+
+::hx::ObjectPtr< Caps_obj > Caps_obj::__new(::String node,::Array< ::Dynamic> identities,::Array< ::String > features,::Array< ::Dynamic> data,::Array< unsigned char > ver) {
+ ::hx::ObjectPtr< Caps_obj > __this = new Caps_obj();
+ __this->__construct(node,identities,features,data,ver);
+ return __this;
+}
+
+::hx::ObjectPtr< Caps_obj > Caps_obj::__alloc(::hx::Ctx *_hx_ctx,::String node,::Array< ::Dynamic> identities,::Array< ::String > features,::Array< ::Dynamic> data,::Array< unsigned char > ver) {
+ Caps_obj *__this = (Caps_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Caps_obj), true, "borogove.Caps"));
+ *(void **)__this = Caps_obj::_hx_vtable;
+ __this->__construct(node,identities,features,data,ver);
+ return __this;
+}
+
+Caps_obj::Caps_obj()
+{
+}
+
+void Caps_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Caps);
+ HX_MARK_MEMBER_NAME(node,"node");
+ HX_MARK_MEMBER_NAME(identities,"identities");
+ HX_MARK_MEMBER_NAME(features,"features");
+ HX_MARK_MEMBER_NAME(data,"data");
+ HX_MARK_MEMBER_NAME(_ver,"_ver");
+ HX_MARK_END_CLASS();
+}
+
+void Caps_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(node,"node");
+ HX_VISIT_MEMBER_NAME(identities,"identities");
+ HX_VISIT_MEMBER_NAME(features,"features");
+ HX_VISIT_MEMBER_NAME(data,"data");
+ HX_VISIT_MEMBER_NAME(_ver,"_ver");
+}
+
+::hx::Val Caps_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"ver") ) { return ::hx::Val( ver_dyn() ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"node") ) { return ::hx::Val( node ); }
+ if (HX_FIELD_EQ(inName,"data") ) { return ::hx::Val( data ); }
+ if (HX_FIELD_EQ(inName,"_ver") ) { return ::hx::Val( _ver ); }
+ if (HX_FIELD_EQ(inName,"addC") ) { return ::hx::Val( addC_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"verRaw") ) { return ::hx::Val( verRaw_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"features") ) { return ::hx::Val( features ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"isChannel") ) { return ::hx::Val( isChannel_dyn() ); }
+ if (HX_FIELD_EQ(inName,"hashInput") ) { return ::hx::Val( hashInput_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"identities") ) { return ::hx::Val( identities ); }
+ if (HX_FIELD_EQ(inName,"discoReply") ) { return ::hx::Val( discoReply_dyn() ); }
+ if (HX_FIELD_EQ(inName,"computeVer") ) { return ::hx::Val( computeVer_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool Caps_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 11:
+ if (HX_FIELD_EQ(inName,"withFeature") ) { outValue = withFeature_dyn(); return true; }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"withIdentity") ) { outValue = withIdentity_dyn(); return true; }
+ }
+ return false;
+}
+
+::hx::Val Caps_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"node") ) { node=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"data") ) { data=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"_ver") ) { _ver=inValue.Cast< ::borogove::Hash >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"features") ) { features=inValue.Cast< ::Array< ::String > >(); return inValue; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"identities") ) { identities=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void Caps_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("node",02,0a,0a,49));
+ outFields->push(HX_("identities",1c,c5,6d,d7));
+ outFields->push(HX_("features",fd,6c,d7,12));
+ outFields->push(HX_("data",2a,56,63,42));
+ outFields->push(HX_("_ver",64,27,25,3f));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo Caps_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(Caps_obj,node),HX_("node",02,0a,0a,49)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(Caps_obj,identities),HX_("identities",1c,c5,6d,d7)},
+ {::hx::fsObject /* ::Array< ::String > */ ,(int)offsetof(Caps_obj,features),HX_("features",fd,6c,d7,12)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(Caps_obj,data),HX_("data",2a,56,63,42)},
+ {::hx::fsObject /* ::borogove::Hash */ ,(int)offsetof(Caps_obj,_ver),HX_("_ver",64,27,25,3f)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *Caps_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Caps_obj_sMemberFields[] = {
+ HX_("node",02,0a,0a,49),
+ HX_("identities",1c,c5,6d,d7),
+ HX_("features",fd,6c,d7,12),
+ HX_("data",2a,56,63,42),
+ HX_("_ver",64,27,25,3f),
+ HX_("isChannel",f9,7d,d0,d0),
+ HX_("discoReply",50,9b,21,44),
+ HX_("addC",02,eb,69,40),
+ HX_("hashInput",5c,f9,bc,f2),
+ HX_("computeVer",2c,17,98,34),
+ HX_("verRaw",45,0b,2e,a1),
+ HX_("ver",63,e2,59,00),
+ ::String(null()) };
+
+::hx::Class Caps_obj::__mClass;
+
+static ::String Caps_obj_sStaticFields[] = {
+ HX_("withIdentity",64,ed,e7,d1),
+ HX_("withFeature",50,11,9f,7f),
+ ::String(null())
+};
+
+void Caps_obj::__register()
+{
+ Caps_obj _hx_dummy;
+ Caps_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Caps",ae,30,f9,da);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Caps_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Caps_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(Caps_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Caps_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Caps_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Caps_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Channel.cpp b/Sources/c_borogove/src/borogove/Channel.cpp
new file mode 100644
index 0000000..6c28b6e
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Channel.cpp
@@ -0,0 +1,2237 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Date
+#include <Date.h>
+#endif
+#ifndef INCLUDED_Lambda
+#include <Lambda.h>
+#endif
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_borogove_Caps
+#include <borogove/Caps.h>
+#endif
+#ifndef INCLUDED_borogove_Channel
+#include <borogove/Channel.h>
+#endif
+#ifndef INCLUDED_borogove_Chat
+#include <borogove/Chat.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessageBuilder
+#include <borogove/ChatMessageBuilder.h>
+#endif
+#ifndef INCLUDED_borogove_Client
+#include <borogove/Client.h>
+#endif
+#ifndef INCLUDED_borogove_Color
+#include <borogove/Color.h>
+#endif
+#ifndef INCLUDED_borogove_CustomEmojiReaction
+#include <borogove/CustomEmojiReaction.h>
+#endif
+#ifndef INCLUDED_borogove_Date
+#include <borogove/Date.h>
+#endif
+#ifndef INCLUDED_borogove_DirectChat
+#include <borogove/DirectChat.h>
+#endif
+#ifndef INCLUDED_borogove_EncryptionInfo
+#include <borogove/EncryptionInfo.h>
+#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
+#endif
+#ifndef INCLUDED_borogove_GenericStream
+#include <borogove/GenericStream.h>
+#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
+#endif
+#ifndef INCLUDED_borogove_Identity
+#include <borogove/Identity.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_MessageSync
+#include <borogove/MessageSync.h>
+#endif
+#ifndef INCLUDED_borogove_ModerationAction
+#include <borogove/ModerationAction.h>
+#endif
+#ifndef INCLUDED_borogove_Outbox
+#include <borogove/Outbox.h>
+#endif
+#ifndef INCLUDED_borogove_OutboxItem
+#include <borogove/OutboxItem.h>
+#endif
+#ifndef INCLUDED_borogove_Participant
+#include <borogove/Participant.h>
+#endif
+#ifndef INCLUDED_borogove_Persistence
+#include <borogove/Persistence.h>
+#endif
+#ifndef INCLUDED_borogove_Presence
+#include <borogove/Presence.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_borogove_Util
+#include <borogove/Util.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_queries_DiscoInfoGet
+#include <borogove/queries/DiscoInfoGet.h>
+#endif
+#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_Timer
+#include <haxe/Timer.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
+#ifndef INCLUDED_haxe_iterators_MapKeyValueIterator
+#include <haxe/iterators/MapKeyValueIterator.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_bf6e937f28c6df5e_1234_new,"borogove.Channel","new",0x12050648,"borogove.Channel.new","borogove/Chat.hx",1234,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_1281_selfPing,"borogove.Channel","selfPing",0x11d6c136,"borogove.Channel.selfPing","borogove/Chat.hx",1281,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1270_selfPing,"borogove.Channel","selfPing",0x11d6c136,"borogove.Channel.selfPing","borogove/Chat.hx",1270,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1256_selfPing,"borogove.Channel","selfPing",0x11d6c136,"borogove.Channel.selfPing","borogove/Chat.hx",1256,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1262_selfPing,"borogove.Channel","selfPing",0x11d6c136,"borogove.Channel.selfPing","borogove/Chat.hx",1262,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1311_join,"borogove.Channel","join",0xafc32902,"borogove.Channel.join","borogove/Chat.hx",1311,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1297_join,"borogove.Channel","join",0xafc32902,"borogove.Channel.join","borogove/Chat.hx",1297,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1322_selfPingSuccess,"borogove.Channel","selfPingSuccess",0x1336bf2d,"borogove.Channel.selfPingSuccess","borogove/Chat.hx",1322,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1333_getDisplayName,"borogove.Channel","getDisplayName",0x49aca7cf,"borogove.Channel.getDisplayName","borogove/Chat.hx",1333,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1343_description,"borogove.Channel","description",0x2f5266e4,"borogove.Channel.description","borogove/Chat.hx",1343,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1347_info,"borogove.Channel","info",0xaf192d86,"borogove.Channel.info","borogove/Chat.hx",1347,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1351_invite,"borogove.Channel","invite",0x94735ce1,"borogove.Channel.invite","borogove/Chat.hx",1351,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1364_canInvite,"borogove.Channel","canInvite",0x7f9cd9e1,"borogove.Channel.canInvite","borogove/Chat.hx",1364,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1376_canSend,"borogove.Channel","canSend",0x7a8ebf60,"borogove.Channel.canSend","borogove/Chat.hx",1376,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1388_getCaps,"borogove.Channel","getCaps",0x242315bf,"borogove.Channel.getCaps","borogove/Chat.hx",1388,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1392_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1392,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1393_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1393,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1403_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1403,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1411_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1411,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1434_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1434,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1470_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1470,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1497_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1497,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1505_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1505,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1440_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1440,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1464_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1464,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1456_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1456,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1452_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1452,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1515_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1515,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1417_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1417,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1527_setTrusted,"borogove.Channel","setTrusted",0xa74cb38d,"borogove.Channel.setTrusted","borogove/Chat.hx",1527,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1533_isTrusted,"borogove.Channel","isTrusted",0xa81fc915,"borogove.Channel.isTrusted","borogove/Chat.hx",1533,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1537_isPrivate,"borogove.Channel","isPrivate",0x1ae83e21,"borogove.Channel.isPrivate","borogove/Chat.hx",1537,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1541_setupNotifications,"borogove.Channel","setupNotifications",0xe0d25d83,"borogove.Channel.setupNotifications","borogove/Chat.hx",1541,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1549_refreshDisco,"borogove.Channel","refreshDisco",0x4bcfccb7,"borogove.Channel.refreshDisco","borogove/Chat.hx",1549,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1547_refreshDisco,"borogove.Channel","refreshDisco",0x4bcfccb7,"borogove.Channel.refreshDisco","borogove/Chat.hx",1547,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1560_preview,"borogove.Channel","preview",0x4bc129f0,"borogove.Channel.preview","borogove/Chat.hx",1560,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1567_livePresence,"borogove.Channel","livePresence",0x1293c65f,"borogove.Channel.livePresence","borogove/Chat.hx",1567,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1574_syncing,"borogove.Channel","syncing",0xb70d474f,"borogove.Channel.syncing","borogove/Chat.hx",1574,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1578_canAudioCall,"borogove.Channel","canAudioCall",0x430d177c,"borogove.Channel.canAudioCall","borogove/Chat.hx",1578,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1582_canVideoCall,"borogove.Channel","canVideoCall",0x490fe9a1,"borogove.Channel.canVideoCall","borogove/Chat.hx",1582,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1586_nickInUse,"borogove.Channel","nickInUse",0xd519bea7,"borogove.Channel.nickInUse","borogove/Chat.hx",1586,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1590_getFullJid,"borogove.Channel","getFullJid",0x5d591998,"borogove.Channel.getFullJid","borogove/Chat.hx",1590,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1596_getParticipants,"borogove.Channel","getParticipants",0x9c657cfe,"borogove.Channel.getParticipants","borogove/Chat.hx",1596,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1594_getParticipants,"borogove.Channel","getParticipants",0x9c657cfe,"borogove.Channel.getParticipants","borogove/Chat.hx",1594,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1601_getParticipantDetails,"borogove.Channel","getParticipantDetails",0xe879fb6d,"borogove.Channel.getParticipantDetails","borogove/Chat.hx",1601,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1615_getMessagesBefore,"borogove.Channel","getMessagesBefore",0x72d1ad89,"borogove.Channel.getMessagesBefore","borogove/Chat.hx",1615,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1621_getMessagesBefore,"borogove.Channel","getMessagesBefore",0x72d1ad89,"borogove.Channel.getMessagesBefore","borogove/Chat.hx",1621,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1613_getMessagesBefore,"borogove.Channel","getMessagesBefore",0x72d1ad89,"borogove.Channel.getMessagesBefore","borogove/Chat.hx",1613,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1637_getMessagesAfter,"borogove.Channel","getMessagesAfter",0x9a967c52,"borogove.Channel.getMessagesAfter","borogove/Chat.hx",1637,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1643_getMessagesAfter,"borogove.Channel","getMessagesAfter",0x9a967c52,"borogove.Channel.getMessagesAfter","borogove/Chat.hx",1643,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1632_getMessagesAfter,"borogove.Channel","getMessagesAfter",0x9a967c52,"borogove.Channel.getMessagesAfter","borogove/Chat.hx",1632,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1656_getMessagesAround,"borogove.Channel","getMessagesAround",0x8ea35157,"borogove.Channel.getMessagesAround","borogove/Chat.hx",1656,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1660_prepareIncomingMessage,"borogove.Channel","prepareIncomingMessage",0xe60006d2,"borogove.Channel.prepareIncomingMessage","borogove/Chat.hx",1660,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1671_prepareOutgoingMessage,"borogove.Channel","prepareOutgoingMessage",0x4c2ccc0c,"borogove.Channel.prepareOutgoingMessage","borogove/Chat.hx",1671,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1690_correctMessage,"borogove.Channel","correctMessage",0x85df7995,"borogove.Channel.correctMessage","borogove/Chat.hx",1690,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1684_correctMessage,"borogove.Channel","correctMessage",0x85df7995,"borogove.Channel.correctMessage","borogove/Chat.hx",1684,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1703_sendMessage,"borogove.Channel","sendMessage",0xf452e747,"borogove.Channel.sendMessage","borogove/Chat.hx",1703,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1721_sendMessage,"borogove.Channel","sendMessage",0xf452e747,"borogove.Channel.sendMessage","borogove/Chat.hx",1721,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1728_sendMessage,"borogove.Channel","sendMessage",0xf452e747,"borogove.Channel.sendMessage","borogove/Chat.hx",1728,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1760_removeReaction,"borogove.Channel","removeReaction",0x52276725,"borogove.Channel.removeReaction","borogove/Chat.hx",1760,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1739_removeReaction,"borogove.Channel","removeReaction",0x52276725,"borogove.Channel.removeReaction","borogove/Chat.hx",1739,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1754_removeReaction,"borogove.Channel","removeReaction",0x52276725,"borogove.Channel.removeReaction","borogove/Chat.hx",1754,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1772_sendMessageStanza,"borogove.Channel","sendMessageStanza",0x9ef9e89c,"borogove.Channel.sendMessageStanza","borogove/Chat.hx",1772,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1766_sendMessageStanza,"borogove.Channel","sendMessageStanza",0x9ef9e89c,"borogove.Channel.sendMessageStanza","borogove/Chat.hx",1766,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1777_lastMessageId,"borogove.Channel","lastMessageId",0x760f3834,"borogove.Channel.lastMessageId","borogove/Chat.hx",1777,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1782_markReadUpTo,"borogove.Channel","markReadUpTo",0x4caa3571,"borogove.Channel.markReadUpTo","borogove/Chat.hx",1782,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1797_markReadUpTo,"borogove.Channel","markReadUpTo",0x4caa3571,"borogove.Channel.markReadUpTo","borogove/Chat.hx",1797,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1781_markReadUpTo,"borogove.Channel","markReadUpTo",0x4caa3571,"borogove.Channel.markReadUpTo","borogove/Chat.hx",1781,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1823_bookmark,"borogove.Channel","bookmark",0x0c8bedce,"borogove.Channel.bookmark","borogove/Chat.hx",1823,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1841_bookmark,"borogove.Channel","bookmark",0x0c8bedce,"borogove.Channel.bookmark","borogove/Chat.hx",1841,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1801_bookmark,"borogove.Channel","bookmark",0x0c8bedce,"borogove.Channel.bookmark","borogove/Chat.hx",1801,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1852_sendChatState,"borogove.Channel","sendChatState",0xbd4bc999,"borogove.Channel.sendChatState","borogove/Chat.hx",1852,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1868_close,"borogove.Channel","close",0x113b97a0,"borogove.Channel.close","borogove/Chat.hx",1868,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1234_boot,"borogove.Channel","boot",0xaa79794a,"borogove.Channel.boot","borogove/Chat.hx",1234,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_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy, ::borogove::Caps disco){
+ int uiState = __o_uiState.Default(1);
+ bool isBlocked = __o_isBlocked.Default(false);
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1234_new)
+HXLINE(1240) this->_nickInUse = null();
+HXLINE(1239) this->forceLive = false;
+HXLINE(1238) this->sync = null();
+HXLINE(1237) this->inSync = true;
+HXLINE(1236) 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(1244) super::__construct(client,stream,persistence,chatId,uiState,isBlocked,extensions,readUpToId,readUpToBy,null());
+HXLINE(1245) if (::hx::IsNotNull( disco )) {
+HXLINE(1246) this->disco = disco;
+HXLINE(1247) if (!(disco->features->contains(HX_("http://jabber.org/protocol/muc",07,b2,7f,c6)))) {
+HXLINE(1249) this->forceLive = true;
+HXLINE(1250) this->outbox->start();
+ }
+ }
+ }
+
+Dynamic Channel_obj::__CreateEmpty() { return new Channel_obj; }
+
+void *Channel_obj::_hx_vtable = 0;
+
+Dynamic Channel_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Channel_obj > _hx_result = new Channel_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4],inArgs[5],inArgs[6],inArgs[7],inArgs[8],inArgs[9]);
+ return _hx_result;
+}
+
+bool Channel_obj::_hx_isInstanceOf(int inClassId) {
+ if (inClassId<=(int)0x2acf7e59) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2acf7e59;
+ } else {
+ return inClassId==(int)0x7f70c446;
+ }
+}
+
+void Channel_obj::selfPing(bool refresh){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::borogove::Channel,_gthis) HXARGC(0)
+ 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_1281_selfPing)
+HXLINE(1281) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
+HXLINE(1282) ::borogove::Stanza tmp = response->getChild(HX_("error",c8,cb,29,73),null());
+HXDLIN(1282) ::borogove::Stanza err;
+HXDLIN(1282) if (::hx::IsNotNull( tmp )) {
+HXLINE(1282) err = tmp->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
+ }
+ else {
+HXLINE(1282) err = null();
+ }
+HXLINE(1283) bool _hx_tmp;
+HXDLIN(1283) if ((err->name != HX_("service-unavailable",f8,3c,11,1c))) {
+HXLINE(1283) _hx_tmp = (err->name == HX_("feature-not-implemented",71,20,2e,96));
+ }
+ else {
+HXLINE(1283) _hx_tmp = true;
+ }
+HXDLIN(1283) if (_hx_tmp) {
+HXLINE(1283) _gthis->selfPingSuccess();
+HXDLIN(1283) return;
+ }
+HXLINE(1284) bool _hx_tmp1;
+HXDLIN(1284) if ((err->name != HX_("remote-server-not-found",e5,4f,ca,aa))) {
+HXLINE(1284) _hx_tmp1 = (err->name == HX_("remote-server-timeout",fe,b0,ee,1a));
+ }
+ else {
+HXLINE(1284) _hx_tmp1 = true;
+ }
+HXDLIN(1284) if (_hx_tmp1) {
+HXLINE(1284) _gthis->selfPingSuccess();
+HXDLIN(1284) return;
+ }
+HXLINE(1285) if ((err->name == HX_("item-not-found",4e,b5,9b,5b))) {
+HXLINE(1285) _gthis->selfPingSuccess();
+HXDLIN(1285) return;
+ }
+HXLINE(1286) ::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),1286)));
+HXLINE(1287) _gthis->join();
+ }
+ else {
+HXLINE(1289) _gthis->selfPingSuccess();
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1270_selfPing)
+HXLINE(1271) if (!(_gthis->disco->features->contains(HX_("http://jabber.org/protocol/muc",07,b2,7f,c6)))) {
+HXLINE(1273) _gthis->forceLive = true;
+HXLINE(1274) _gthis->outbox->start();
+HXLINE(1275) return;
+ }
+HXLINE(1277) ::borogove::GenericStream _gthis1 = _gthis->stream;
+HXLINE(1278) ::String _hx_tmp = _gthis->getFullJid()->asString();
+HXLINE(1277) _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)));
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1256_selfPing)
+HXDLIN(1256) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1257) if ((this->uiState == 3)) {
+HXLINE(1257) return;
+ }
+HXLINE(1259) 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_1262_selfPing)
+HXLINE(1263) ::Reflect_obj::setField(stanza->attr,HX_("type",ba,f2,08,4d),HX_("unavailable",50,e0,29,fd));
+HXLINE(1264) return stanza;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1260) ::borogove::Client _hx_tmp = this->client;
+HXDLIN(1260) _hx_tmp->sendPresence(this->getFullJid()->asString(), ::Dynamic(new _hx_Closure_0()));
+HXLINE(1267) return;
+ }
+HXLINE(1270) ::Dynamic _hx_tmp1;
+HXDLIN(1270) if (refresh) {
+HXLINE(1270) _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_1270_selfPing)
+HXLINE(1270) cb();
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(1270) _hx_tmp1 = ::Dynamic(new _hx_Closure_1());
+ }
+HXDLIN(1270) _hx_tmp1( ::Dynamic(new _hx_Closure_3(_gthis)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Channel_obj,selfPing,(void))
+
+void Channel_obj::join(){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis) HXARGC(1)
+ ::borogove::Stanza _hx_run( ::borogove::Stanza stanza){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1311_join)
+HXLINE(1312) 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))));
+HXLINE(1313) if (_gthis->disco->features->contains(HX_("urn:xmpp:mam:2",f5,ef,8c,da))) {
+HXLINE(1313) 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(1315) stanza->up();
+HXLINE(1316) return stanza;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1297_join)
+HXDLIN(1297) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1298) bool _hx_tmp;
+HXDLIN(1298) if ((this->uiState != 3)) {
+HXLINE(1298) _hx_tmp = (this->uiState == 2);
+ }
+ else {
+HXLINE(1298) _hx_tmp = true;
+ }
+HXDLIN(1298) if (_hx_tmp) {
+HXLINE(1300) return;
+ }
+HXLINE(1303) this->presence = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(1304) this->_nickInUse = null();
+HXLINE(1305) this->outbox->pause();
+HXLINE(1306) this->inSync = false;
+HXLINE(1307) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE(1308) ::borogove::JID desiredFullJid = ::borogove::JID_obj::parse(this->chatId);
+HXDLIN(1308) ::borogove::JID desiredFullJid1 = desiredFullJid->withResource(this->client->displayName());
+HXLINE(1309) ::borogove::Client _hx_tmp1 = this->client;
+HXDLIN(1309) _hx_tmp1->sendPresence(desiredFullJid1->asString(), ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE(1319) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(1319) ::String _hx_tmp3 = this->client->accountId();
+HXDLIN(1319) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::lastId(_hx_tmp2,_hx_tmp3,this->chatId),this->doSync_dyn(),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,join,(void))
+
+void Channel_obj::selfPingSuccess(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1322_selfPingSuccess)
+HXLINE(1323) ::String _hx_tmp = this->nickInUse();
+HXDLIN(1323) if ((_hx_tmp != this->client->displayName())) {
+HXLINE(1324) ::borogove::JID desiredFullJid = ::borogove::JID_obj::parse(this->chatId);
+HXDLIN(1324) ::borogove::JID desiredFullJid1 = desiredFullJid->withResource(this->client->displayName());
+HXLINE(1325) ::borogove::Client _hx_tmp1 = this->client;
+HXDLIN(1325) _hx_tmp1->sendPresence(desiredFullJid1->asString(),null());
+ }
+HXLINE(1329) this->inSync = false;
+HXLINE(1330) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(1330) ::String _hx_tmp3 = this->client->accountId();
+HXDLIN(1330) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::lastId(_hx_tmp2,_hx_tmp3,this->chatId),this->doSync_dyn(),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,selfPingSuccess,(void))
+
+::String Channel_obj::getDisplayName(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1333_getDisplayName)
+HXLINE(1334) if ((this->displayName == this->chatId)) {
+HXLINE(1335) ::borogove::Stanza tmp = this->info();
+HXDLIN(1335) ::borogove::Stanza tmp1;
+HXDLIN(1335) if (::hx::IsNotNull( tmp )) {
+HXLINE(1335) tmp1 = ::borogove::_DataForm::DataForm_Impl__obj::field(tmp,HX_("muc#roomconfig_roomname",c0,87,9a,72));
+ }
+ else {
+HXLINE(1335) tmp1 = null();
+ }
+HXDLIN(1335) ::Array< ::String > tmp2;
+HXDLIN(1335) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1335) tmp2 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp1);
+ }
+ else {
+HXLINE(1335) tmp2 = null();
+ }
+HXDLIN(1335) ::Array< ::String > title;
+HXDLIN(1335) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(1335) title = tmp2;
+ }
+ else {
+HXLINE(1335) title = ::Array_obj< ::String >::__new(0);
+ }
+HXDLIN(1335) ::String title1 = title->join(HX_("\n",0a,00,00,00));
+HXLINE(1336) bool _hx_tmp;
+HXDLIN(1336) if (::hx::IsNotNull( title1 )) {
+HXLINE(1336) _hx_tmp = (title1 != HX_("",00,00,00,00));
+ }
+ else {
+HXLINE(1336) _hx_tmp = false;
+ }
+HXDLIN(1336) if (_hx_tmp) {
+HXLINE(1336) return title1;
+ }
+ }
+HXLINE(1339) return this->super::getDisplayName();
+ }
+
+
+::String Channel_obj::description(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1343_description)
+HXDLIN(1343) ::borogove::Stanza tmp = this->info();
+HXDLIN(1343) ::borogove::Stanza tmp1;
+HXDLIN(1343) if (::hx::IsNotNull( tmp )) {
+HXDLIN(1343) tmp1 = ::borogove::_DataForm::DataForm_Impl__obj::field(tmp,HX_("muc#roominfo_description",4e,e4,04,f2));
+ }
+ else {
+HXDLIN(1343) tmp1 = null();
+ }
+HXDLIN(1343) ::Array< ::String > tmp2;
+HXDLIN(1343) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN(1343) tmp2 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp1);
+ }
+ else {
+HXDLIN(1343) tmp2 = null();
+ }
+HXDLIN(1343) ::Array< ::String > _hx_tmp;
+HXDLIN(1343) if (::hx::IsNotNull( tmp2 )) {
+HXDLIN(1343) _hx_tmp = tmp2;
+ }
+ else {
+HXDLIN(1343) _hx_tmp = ::Array_obj< ::String >::__new(0);
+ }
+HXDLIN(1343) 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_1347_info)
+HXDLIN(1347) ::borogove::Caps tmp = this->disco;
+HXDLIN(1347) ::Array< ::Dynamic> tmp1;
+HXDLIN(1347) if (::hx::IsNotNull( tmp )) {
+HXDLIN(1347) tmp1 = tmp->data;
+ }
+ else {
+HXDLIN(1347) tmp1 = null();
+ }
+HXDLIN(1347) 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_1347_info)
+HXDLIN(1347) ::borogove::Stanza tmp = ::borogove::_DataForm::DataForm_Impl__obj::field(d,HX_("FORM_TYPE",d5,96,c9,5a));
+HXDLIN(1347) ::Array< ::String > tmp1;
+HXDLIN(1347) if (::hx::IsNotNull( tmp )) {
+HXDLIN(1347) tmp1 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp);
+ }
+ else {
+HXDLIN(1347) tmp1 = null();
+ }
+HXDLIN(1347) ::String _hx_tmp;
+HXDLIN(1347) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN(1347) _hx_tmp = tmp1->__get(0);
+ }
+ else {
+HXDLIN(1347) _hx_tmp = null();
+ }
+HXDLIN(1347) return (_hx_tmp == HX_("http://jabber.org/protocol/muc#roominfo",45,80,4f,bc));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXDLIN(1347) return ( ( ::borogove::Stanza)(::Lambda_obj::find(tmp1, ::Dynamic(new _hx_Closure_0()))) );
+ }
+ else {
+HXDLIN(1347) return null();
+ }
+HXDLIN(1347) 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_1351_invite)
+HXLINE(1352) if (this->isPrivate()) {
+HXLINE(1353) ::borogove::Client _hx_tmp = this->client;
+HXDLIN(1353) _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)
+ ->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());
+ }
+HXLINE(1361) this->super::invite(chat,threadId);
+ }
+
+
+bool Channel_obj::canInvite(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1364_canInvite)
+HXLINE(1365) if (!(this->isPrivate())) {
+HXLINE(1365) return true;
+ }
+HXLINE(1366) if (::hx::IsNull( this->_nickInUse )) {
+HXLINE(1366) return false;
+ }
+HXLINE(1368) ::borogove::Presence p = ( ( ::borogove::Presence)(this->presence->get(this->_nickInUse)) );
+HXLINE(1369) if (::hx::IsNull( p )) {
+HXLINE(1369) return false;
+ }
+HXLINE(1371) ::String _hx_tmp;
+HXDLIN(1371) ::borogove::Stanza tmp = p->mucUser->getChild(HX_("item",13,c5,bf,45),null());
+HXDLIN(1371) ::Dynamic tmp1;
+HXDLIN(1371) if (::hx::IsNotNull( tmp )) {
+HXLINE(1371) tmp1 = tmp->attr;
+ }
+ else {
+HXLINE(1371) tmp1 = null();
+ }
+HXDLIN(1371) ::String tmp2;
+HXDLIN(1371) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1371) tmp2 = ( (::String)(::Reflect_obj::field(tmp1,HX_("role",76,eb,ae,4b))) );
+ }
+ else {
+HXLINE(1371) tmp2 = null();
+ }
+HXDLIN(1371) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(1371) _hx_tmp = tmp2;
+ }
+ else {
+HXLINE(1371) _hx_tmp = HX_("none",b8,12,0a,49);
+ }
+HXDLIN(1371) if ((_hx_tmp == HX_("moderator",05,40,3b,22))) {
+HXLINE(1371) return true;
+ }
+HXLINE(1373) return false;
+ }
+
+
+bool Channel_obj::canSend(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1376_canSend)
+HXLINE(1377) if (!(this->super::canSend())) {
+HXLINE(1377) return false;
+ }
+HXLINE(1378) if (::hx::IsNull( this->_nickInUse )) {
+HXLINE(1378) return true;
+ }
+HXLINE(1380) ::borogove::Presence p = ( ( ::borogove::Presence)(this->presence->get(this->_nickInUse)) );
+HXLINE(1381) if (::hx::IsNull( p )) {
+HXLINE(1381) return true;
+ }
+HXLINE(1383) ::String _hx_tmp;
+HXDLIN(1383) ::borogove::Stanza tmp = p->mucUser->getChild(HX_("item",13,c5,bf,45),null());
+HXDLIN(1383) ::Dynamic tmp1;
+HXDLIN(1383) if (::hx::IsNotNull( tmp )) {
+HXLINE(1383) tmp1 = tmp->attr;
+ }
+ else {
+HXLINE(1383) tmp1 = null();
+ }
+HXDLIN(1383) ::String tmp2;
+HXDLIN(1383) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1383) tmp2 = ( (::String)(::Reflect_obj::field(tmp1,HX_("role",76,eb,ae,4b))) );
+ }
+ else {
+HXLINE(1383) tmp2 = null();
+ }
+HXDLIN(1383) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(1383) _hx_tmp = tmp2;
+ }
+ else {
+HXLINE(1383) _hx_tmp = HX_("none",b8,12,0a,49);
+ }
+HXDLIN(1383) return (_hx_tmp != HX_("visitor",ae,23,32,a3));
+ }
+
+
+ ::Dynamic Channel_obj::getCaps(){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1388_getCaps)
+HXDLIN(1388) ::haxe::ds::StringMap _g = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXDLIN(1388) _g->set(HX_("",00,00,00,00),this->disco);
+HXDLIN(1388) return ::haxe::iterators::MapKeyValueIterator_obj::__alloc( HX_CTX ,_g);
+ }
+
+
+void Channel_obj::setPresence(::String resource, ::borogove::Presence presence){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1392_setPresence)
+HXLINE(1393) ::borogove::Stanza tmp;
+HXDLIN(1393) if (::hx::IsNotNull( presence )) {
+HXLINE(1393) tmp = presence->mucUser;
+ }
+ else {
+HXLINE(1393) tmp = null();
+ }
+HXDLIN(1393) ::Array< ::String > tmp1;
+HXDLIN(1393) if (::hx::IsNotNull( tmp )) {
+HXLINE(1393) ::Array< ::Dynamic> _this = tmp->allTags(HX_("status",32,e7,fb,05),null());
+HXDLIN(1393) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN(1393) {
+HXLINE(1393) int _g = 0;
+HXDLIN(1393) int _g1 = _this->length;
+HXDLIN(1393) while((_g < _g1)){
+HXLINE(1393) _g = (_g + 1);
+HXDLIN(1393) int i = (_g - 1);
+HXDLIN(1393) {
+HXLINE(1393) ::String inValue = ( (::String)(::Reflect_obj::field(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->attr,HX_("code",2d,b1,c4,41))) );
+HXDLIN(1393) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN(1393) tmp1 = result;
+ }
+ else {
+HXLINE(1393) tmp1 = null();
+ }
+HXDLIN(1393) ::String oneTen;
+HXDLIN(1393) 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_1393_setPresence)
+HXLINE(1393) return (status == HX_("110",50,59,25,00));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1393) oneTen = ( (::String)(::Lambda_obj::find(tmp1, ::Dynamic(new _hx_Closure_0()))) );
+ }
+ else {
+HXLINE(1393) oneTen = null();
+ }
+HXLINE(1394) if (::hx::IsNotNull( oneTen )) {
+HXLINE(1395) this->_nickInUse = resource;
+HXLINE(1396) this->outbox->start();
+ }
+ else {
+HXLINE(1397) if ((resource == this->_nickInUse)) {
+HXLINE(1398) this->_nickInUse = null();
+HXLINE(1399) this->outbox->pause();
+ }
+ }
+HXLINE(1401) bool _hx_tmp;
+HXDLIN(1401) bool _hx_tmp1;
+HXDLIN(1401) if (::hx::IsNotNull( presence )) {
+HXLINE(1401) _hx_tmp1 = ::hx::IsNotNull( presence->mucUser );
+ }
+ else {
+HXLINE(1401) _hx_tmp1 = false;
+ }
+HXDLIN(1401) if (_hx_tmp1) {
+HXLINE(1401) _hx_tmp = ::hx::IsNull( oneTen );
+ }
+ else {
+HXLINE(1401) _hx_tmp = false;
+ }
+HXDLIN(1401) if (_hx_tmp) {
+HXLINE(1402) ::borogove::Presence existing = ( ( ::borogove::Presence)(this->presence->get(resource)) );
+HXLINE(1403) bool _hx_tmp2;
+HXDLIN(1403) if (::hx::IsNotNull( existing )) {
+HXLINE(1403) ::borogove::Stanza tmp2;
+HXDLIN(1403) if (::hx::IsNotNull( existing )) {
+HXLINE(1403) tmp2 = existing->mucUser;
+ }
+ else {
+HXLINE(1403) tmp2 = null();
+ }
+HXDLIN(1403) ::Array< ::String > tmp3;
+HXDLIN(1403) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(1403) ::Array< ::Dynamic> _this1 = tmp2->allTags(HX_("status",32,e7,fb,05),null());
+HXDLIN(1403) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
+HXDLIN(1403) {
+HXLINE(1403) int _g2 = 0;
+HXDLIN(1403) int _g3 = _this1->length;
+HXDLIN(1403) while((_g2 < _g3)){
+HXLINE(1403) _g2 = (_g2 + 1);
+HXDLIN(1403) int i1 = (_g2 - 1);
+HXDLIN(1403) {
+HXLINE(1403) ::String inValue1 = ( (::String)(::Reflect_obj::field(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this1,i1)) )->attr,HX_("code",2d,b1,c4,41))) );
+HXDLIN(1403) result1->__unsafe_set(i1,inValue1);
+ }
+ }
+ }
+HXDLIN(1403) tmp3 = result1;
+ }
+ else {
+HXLINE(1403) tmp3 = null();
+ }
+HXDLIN(1403) ::String _hx_tmp3;
+HXDLIN(1403) if (::hx::IsNotNull( tmp3 )) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
+ bool _hx_run(::String status){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1403_setPresence)
+HXLINE(1403) return (status == HX_("110",50,59,25,00));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1403) _hx_tmp3 = ( (::String)(::Lambda_obj::find(tmp3, ::Dynamic(new _hx_Closure_1()))) );
+ }
+ else {
+HXLINE(1403) _hx_tmp3 = null();
+ }
+HXDLIN(1403) _hx_tmp2 = ::hx::IsNotNull( _hx_tmp3 );
+ }
+ else {
+HXLINE(1403) _hx_tmp2 = false;
+ }
+HXDLIN(1403) if (_hx_tmp2) {
+HXLINE(1405) presence->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(1406) this->setPresence(resource,presence);
+HXLINE(1407) return;
+ }
+ }
+HXLINE(1410) this->super::setPresence(resource,presence);
+HXLINE(1411) ::borogove::Stanza tmp4;
+HXDLIN(1411) if (::hx::IsNotNull( presence )) {
+HXLINE(1411) tmp4 = presence->mucUser;
+ }
+ else {
+HXLINE(1411) tmp4 = null();
+ }
+HXDLIN(1411) ::Array< ::String > tmp5;
+HXDLIN(1411) if (::hx::IsNotNull( tmp4 )) {
+HXLINE(1411) ::Array< ::Dynamic> _this2 = tmp4->allTags(HX_("status",32,e7,fb,05),null());
+HXDLIN(1411) ::Array< ::String > result2 = ::Array_obj< ::String >::__new(_this2->length);
+HXDLIN(1411) {
+HXLINE(1411) int _g4 = 0;
+HXDLIN(1411) int _g5 = _this2->length;
+HXDLIN(1411) while((_g4 < _g5)){
+HXLINE(1411) _g4 = (_g4 + 1);
+HXDLIN(1411) int i2 = (_g4 - 1);
+HXDLIN(1411) {
+HXLINE(1411) ::String inValue2 = ( (::String)(::Reflect_obj::field(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this2,i2)) )->attr,HX_("code",2d,b1,c4,41))) );
+HXDLIN(1411) result2->__unsafe_set(i2,inValue2);
+ }
+ }
+ }
+HXDLIN(1411) tmp5 = result2;
+ }
+ else {
+HXLINE(1411) tmp5 = null();
+ }
+HXDLIN(1411) ::String tripleThree;
+HXDLIN(1411) if (::hx::IsNotNull( tmp5 )) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
+ bool _hx_run(::String status){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1411_setPresence)
+HXLINE(1411) return (status == HX_("333",93,df,26,00));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1411) tripleThree = ( (::String)(::Lambda_obj::find(tmp5, ::Dynamic(new _hx_Closure_2()))) );
+ }
+ else {
+HXLINE(1411) tripleThree = null();
+ }
+HXLINE(1412) bool _hx_tmp4;
+HXDLIN(1412) if (::hx::IsNotNull( oneTen )) {
+HXLINE(1412) _hx_tmp4 = ::hx::IsNotNull( tripleThree );
+ }
+ else {
+HXLINE(1412) _hx_tmp4 = false;
+ }
+HXDLIN(1412) if (_hx_tmp4) {
+HXLINE(1413) this->selfPing(true);
+ }
+ }
+
+
+void Channel_obj::doSync(::String lastId){
+ 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_1434_doSync)
+HXLINE(1435) builder = _gthis->prepareIncomingMessage(builder,stanza);
+HXLINE(1436) builder->syncPoint = true;
+HXLINE(1437) return builder;
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_9, ::borogove::Channel,_gthis,::Array< ::Dynamic>,chatMessages) HXARGC(1)
+ void _hx_run( ::Dynamic messageList){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_8, ::borogove::Channel,_gthis,::Array< ::Dynamic>,chatMessages) HXARGC(1)
+ void _hx_run(::Array< ::Dynamic> stored){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1470_doSync)
+HXLINE(1471) {
+HXLINE(1471) int _g = 0;
+HXDLIN(1471) while((_g < stored->length)){
+HXLINE(1471) ::Array< ::Dynamic> messages = stored->__get(_g).StaticCast< ::Array< ::Dynamic> >();
+HXDLIN(1471) _g = (_g + 1);
+HXLINE(1472) if (::hx::IsNotNull( messages )) {
+HXLINE(1473) int _g1 = 0;
+HXDLIN(1473) while((_g1 < messages->length)){
+HXLINE(1473) ::borogove::ChatMessage message = messages->__get(_g1).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1473) _g1 = (_g1 + 1);
+HXLINE(1474) _gthis->client->notifySyncMessageHandlers(message);
+HXLINE(1475) bool _hx_tmp;
+HXDLIN(1475) if (::hx::IsNotNull( message )) {
+HXLINE(1475) ::String _hx_tmp1 = message->chatId();
+HXDLIN(1475) _hx_tmp = (_hx_tmp1 == _gthis->chatId);
+ }
+ else {
+HXLINE(1475) _hx_tmp = false;
+ }
+HXDLIN(1475) if (_hx_tmp) {
+HXLINE(1475) chatMessages->push(message);
+ }
+HXLINE(1476) if ((chatMessages->length > 1000)) {
+HXLINE(1476) chatMessages->shift().StaticCast< ::borogove::ChatMessage >();
+ }
+ }
+ }
+ }
+ }
+HXLINE(1480) if (_gthis->sync->hasMore()) {
+HXLINE(1481) _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_1497_doSync)
+HXLINE(1497) return ::Reflect_obj::compare(x->timestamp,y->timestamp);
+ }
+ 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_1505_doSync)
+HXLINE(1505) ::String m1 = m->serverId;
+HXDLIN(1505) if ((m1 != _gthis->readUpTo())) {
+HXLINE(1505) return !(m->isIncoming());
+ }
+ else {
+HXLINE(1505) return true;
+ }
+HXDLIN(1505) return false;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1483) _gthis->inSync = true;
+HXLINE(1484) _gthis->sync = null();
+HXLINE(1486) ::haxe::ds::StringMap serverIds = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(1487) ::Array< ::Dynamic> dedupedMessages = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1488) chatMessages->reverse();
+HXLINE(1489) {
+HXLINE(1489) int _g2 = 0;
+HXDLIN(1489) while((_g2 < chatMessages->length)){
+HXLINE(1489) ::borogove::ChatMessage m = chatMessages->__get(_g2).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1489) _g2 = (_g2 + 1);
+HXLINE(1490) ::Dynamic tmp = serverIds->get(m->serverId);
+HXDLIN(1490) bool _hx_tmp2;
+HXDLIN(1490) if (::hx::IsNotNull( tmp )) {
+HXLINE(1490) _hx_tmp2 = ( (bool)(tmp) );
+ }
+ else {
+HXLINE(1490) _hx_tmp2 = false;
+ }
+HXDLIN(1490) if (!(_hx_tmp2)) {
+HXLINE(1491) dedupedMessages->unshift(m);
+HXLINE(1492) serverIds->set(m->serverId,true);
+ }
+ }
+ }
+HXLINE(1497) dedupedMessages->sort( ::Dynamic(new _hx_Closure_6()));
+HXLINE(1499) ::borogove::ChatMessage lastFromSync = dedupedMessages->__get((dedupedMessages->length - 1)).StaticCast< ::borogove::ChatMessage >();
+HXLINE(1500) bool _hx_tmp3;
+HXDLIN(1500) if (::hx::IsNotNull( lastFromSync )) {
+HXLINE(1500) ::borogove::ChatMessage tmp1 = _gthis->lastMessage;
+HXDLIN(1500) ::String _hx_tmp4;
+HXDLIN(1500) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1500) _hx_tmp4 = tmp1->timestamp;
+ }
+ else {
+HXLINE(1500) _hx_tmp4 = null();
+ }
+HXDLIN(1500) if (::hx::IsNotNull( _hx_tmp4 )) {
+HXLINE(1500) ::borogove::ChatMessage tmp2 = _gthis->lastMessage;
+HXDLIN(1500) ::String _hx_tmp5;
+HXDLIN(1500) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(1500) _hx_tmp5 = tmp2->timestamp;
+ }
+ else {
+HXLINE(1500) _hx_tmp5 = null();
+ }
+HXDLIN(1500) _hx_tmp3 = (::Reflect_obj::compare(lastFromSync->timestamp,_hx_tmp5) > 0);
+ }
+ else {
+HXLINE(1500) _hx_tmp3 = true;
+ }
+ }
+ else {
+HXLINE(1500) _hx_tmp3 = false;
+ }
+HXDLIN(1500) if (_hx_tmp3) {
+HXLINE(1501) _gthis->setLastMessage(lastFromSync);
+HXLINE(1502) _gthis->client->sortChats();
+ }
+HXLINE(1505) int readIndex = ::borogove::Util_obj::findLastIndex(dedupedMessages, ::Dynamic(new _hx_Closure_7(_gthis)));
+HXLINE(1506) if ((readIndex < 0)) {
+HXLINE(1507) ::borogove::Channel _gthis1 = _gthis;
+HXDLIN(1507) int _hx_tmp6 = _gthis->unreadCount();
+HXDLIN(1507) _gthis1->setUnreadCount((_hx_tmp6 + dedupedMessages->length));
+ }
+ else {
+HXLINE(1509) _gthis->setUnreadCount(((dedupedMessages->length - readIndex) - 1));
+ }
+HXLINE(1511) _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_1440_doSync)
+HXLINE(1441) ::Array< ::Dynamic> promises = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1442) ::Array< ::Dynamic> pageChatMessages = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1443) {
+HXLINE(1443) int _g = 0;
+HXDLIN(1443) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(messageList->__Field(HX_("messages",cc,d8,fd,34),::hx::paccDynamic)) );
+HXDLIN(1443) while((_g < _g1->length)){
+HXLINE(1443) ::borogove::Message m = _g1->__get(_g).StaticCast< ::borogove::Message >();
+HXDLIN(1443) _g = (_g + 1);
+HXLINE(1444) {
+HXLINE(1444) ::borogove::MessageStanza _g2 = m->parsed;
+HXDLIN(1444) 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_1464_doSync)
+HXLINE(1464) 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_1464_doSync)
+HXLINE(1464) return ::Array_obj< ::Dynamic>::__new(0);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1459) ::Dynamic _gthis1 = _gthis->persistence;
+HXLINE(1460) ::String _hx_tmp = _gthis->client->accountId();
+HXLINE(1459) 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(1445) ::borogove::ChatMessage _g3 = _g2->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1445) {
+HXLINE(1446) {
+HXLINE(1446) int _g4 = 0;
+HXDLIN(1446) ::Array< ::Dynamic> _g5 = _g3->inlineHashReferences();
+HXDLIN(1446) while((_g4 < _g5->length)){
+HXLINE(1446) ::borogove::Hash hash = _g5->__get(_g4).StaticCast< ::borogove::Hash >();
+HXDLIN(1446) _g4 = (_g4 + 1);
+HXLINE(1447) _gthis->client->fetchMediaByHash(::Array_obj< ::Dynamic>::__new(1)->init(0,hash),::Array_obj< ::Dynamic>::__new(1)->init(0,_g3->from));
+ }
+ }
+HXLINE(1449) pageChatMessages->push(_g3);
+ }
+ }
+ break;
+ case (int)2: {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_4, ::borogove::Channel,_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)
+ void _hx_run( ::borogove::ChatMessage _){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1456_doSync)
+HXLINE(1456) resolve(null());
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1456_doSync)
+HXLINE(1456) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->client->moderateMessage(action), ::Dynamic(new _hx_Closure_3(resolve)),null());
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+HXLINE(1454) ::borogove::ModerationAction action = _g2->_hx_getObject(0).StaticCast< ::borogove::ModerationAction >();
+HXLINE(1455) promises->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_4(_gthis,action))));
+ }
+ break;
+ case (int)3: {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_5) HXARGC(1)
+ ::Dynamic _hx_run( ::borogove::ChatMessage _){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1452_doSync)
+HXLINE(1452) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1452) ::Dynamic _gthis2 = _gthis->persistence;
+HXLINE(1451) 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:{
+ }
+ }
+ }
+ }
+ }
+HXLINE(1469) promises->push(_gthis->client->storeMessages(pageChatMessages));
+HXLINE(1470) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(promises), ::Dynamic(new _hx_Closure_8(_gthis,chatMessages)),null());
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_10, ::borogove::Channel,_gthis,::String,lastId) HXARGC(1)
+ void _hx_run( ::borogove::Stanza stanza){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1515_doSync)
+HXLINE(1516) _gthis->sync = null();
+HXLINE(1517) if (::hx::IsNotNull( lastId )) {
+HXLINE(1519) _gthis->doSync(null());
+ }
+ else {
+HXLINE(1521) ::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),1521)));
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1417_doSync)
+HXDLIN(1417) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1418) if (!(this->disco->features->contains(HX_("urn:xmpp:mam:2",f5,ef,8c,da)))) {
+HXLINE(1419) this->inSync = true;
+HXLINE(1420) return;
+ }
+HXLINE(1422) if (::hx::IsNotNull( this->sync )) {
+HXLINE(1422) return;
+ }
+HXLINE(1424) ::String threeDaysAgo = ::borogove::Date_obj::format(::Date_obj::fromTime((::Date_obj::now()->getTime() + ((Float)-259200000.))));
+HXLINE(1430) ::Dynamic _hx_tmp;
+HXDLIN(1430) if (::hx::IsNull( lastId )) {
+HXLINE(1430) _hx_tmp = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("startTime",8f,45,f0,05),threeDaysAgo));
+ }
+ else {
+HXLINE(1430) _hx_tmp = ::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),lastId))));
+ }
+HXLINE(1427) this->sync = ::borogove::MessageSync_obj::__alloc( HX_CTX ,this->client,this->stream,_hx_tmp,this->chatId);
+HXLINE(1433) this->sync->setNewestPageFirst(false);
+HXLINE(1434) this->sync->addContext( ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE(1439) ::Array< ::Dynamic> chatMessages = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1440) this->sync->onMessages( ::Dynamic(new _hx_Closure_9(_gthis,chatMessages)));
+HXLINE(1515) this->sync->onError( ::Dynamic(new _hx_Closure_10(_gthis,lastId)));
+HXLINE(1524) this->sync->fetchNext();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Channel_obj,doSync,(void))
+
+void Channel_obj::setTrusted(bool trusted){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1527_setTrusted)
+HXLINE(1528) this->super::setTrusted(trusted);
+HXLINE(1529) if (trusted) {
+HXLINE(1529) this->selfPing(true);
+ }
+ }
+
+
+bool Channel_obj::isTrusted(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1533_isTrusted)
+HXDLIN(1533) if ((this->uiState != 2)) {
+HXDLIN(1533) return (this->uiState != 3);
+ }
+ else {
+HXDLIN(1533) return false;
+ }
+HXDLIN(1533) return false;
+ }
+
+
+bool Channel_obj::isPrivate(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1537_isPrivate)
+HXDLIN(1537) 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_1541_setupNotifications)
+HXLINE(1542) if (::hx::IsNull( this->disco )) {
+HXLINE(1542) return;
+ }
+HXLINE(1543) if (!(this->isPrivate())) {
+HXLINE(1543) 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));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,setupNotifications,(void))
+
+void Channel_obj::refreshDisco( ::Dynamic callback){
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis, ::borogove::queries::DiscoInfoGet,discoGet, ::Dynamic,callback) HXARGC(0)
+ void _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1549_refreshDisco)
+HXLINE(1550) if (::hx::IsNotNull( discoGet->getResult() )) {
+HXLINE(1551) _gthis->disco = discoGet->getResult();
+HXLINE(1552) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(1552) ::borogove::Persistence_obj::storeCaps(_gthis1,discoGet->getResult());
+HXLINE(1553) ::Dynamic _gthis2 = _gthis->persistence;
+HXDLIN(1553) ::String _hx_tmp = _gthis->client->accountId();
+HXDLIN(1553) ::borogove::Persistence_obj::storeChats(_gthis2,_hx_tmp,::Array_obj< ::Dynamic>::__new(1)->init(0,_gthis));
+ }
+HXLINE(1555) if (::hx::IsNotNull( callback )) {
+HXLINE(1555) callback();
+ }
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1547_refreshDisco)
+HXDLIN(1547) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1548) ::borogove::queries::DiscoInfoGet discoGet = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,this->chatId,null());
+HXLINE(1549) discoGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,discoGet,callback)));
+HXLINE(1557) this->client->sendQuery(discoGet);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Channel_obj,refreshDisco,(void))
+
+::String Channel_obj::preview(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1560_preview)
+HXLINE(1561) if (::hx::IsNull( this->lastMessage )) {
+HXLINE(1561) return this->super::preview();
+ }
+HXLINE(1563) ::String _hx_tmp = (this->getParticipantDetails(this->lastMessage->senderId)->displayName + HX_(": ",a6,32,00,00));
+HXDLIN(1563) return (_hx_tmp + this->super::preview());
+ }
+
+
+bool Channel_obj::livePresence(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1567_livePresence)
+HXLINE(1568) if (this->forceLive) {
+HXLINE(1568) return true;
+ }
+HXLINE(1570) return ::hx::IsNotNull( this->_nickInUse );
+ }
+
+
+bool Channel_obj::syncing(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1574_syncing)
+HXDLIN(1574) if (this->inSync) {
+HXDLIN(1574) return !(this->livePresence());
+ }
+ else {
+HXDLIN(1574) return true;
+ }
+HXDLIN(1574) return false;
+ }
+
+
+bool Channel_obj::canAudioCall(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1578_canAudioCall)
+HXDLIN(1578) ::borogove::Caps tmp = this->disco;
+HXDLIN(1578) ::Array< ::String > tmp1;
+HXDLIN(1578) if (::hx::IsNotNull( tmp )) {
+HXDLIN(1578) tmp1 = tmp->features;
+ }
+ else {
+HXDLIN(1578) tmp1 = null();
+ }
+HXDLIN(1578) ::Dynamic tmp2;
+HXDLIN(1578) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN(1578) tmp2 = tmp1->contains(HX_("urn:xmpp:jingle:apps:rtp:audio",0f,8b,54,6c));
+ }
+ else {
+HXDLIN(1578) tmp2 = null();
+ }
+HXDLIN(1578) if (::hx::IsNotNull( tmp2 )) {
+HXDLIN(1578) return ( (bool)(tmp2) );
+ }
+ else {
+HXDLIN(1578) return false;
+ }
+HXDLIN(1578) return false;
+ }
+
+
+bool Channel_obj::canVideoCall(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1582_canVideoCall)
+HXDLIN(1582) ::borogove::Caps tmp = this->disco;
+HXDLIN(1582) ::Array< ::String > tmp1;
+HXDLIN(1582) if (::hx::IsNotNull( tmp )) {
+HXDLIN(1582) tmp1 = tmp->features;
+ }
+ else {
+HXDLIN(1582) tmp1 = null();
+ }
+HXDLIN(1582) ::Dynamic tmp2;
+HXDLIN(1582) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN(1582) tmp2 = tmp1->contains(HX_("urn:xmpp:jingle:apps:rtp:video",b4,26,d0,7b));
+ }
+ else {
+HXDLIN(1582) tmp2 = null();
+ }
+HXDLIN(1582) if (::hx::IsNotNull( tmp2 )) {
+HXDLIN(1582) return ( (bool)(tmp2) );
+ }
+ else {
+HXDLIN(1582) return false;
+ }
+HXDLIN(1582) return false;
+ }
+
+
+::String Channel_obj::nickInUse(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1586_nickInUse)
+HXDLIN(1586) ::String tmp = this->_nickInUse;
+HXDLIN(1586) if (::hx::IsNotNull( tmp )) {
+HXDLIN(1586) return tmp;
+ }
+ else {
+HXDLIN(1586) return this->client->displayName();
+ }
+HXDLIN(1586) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,nickInUse,return )
+
+ ::borogove::JID Channel_obj::getFullJid(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1590_getFullJid)
+HXDLIN(1590) ::borogove::JID _hx_tmp = ::borogove::JID_obj::parse(this->chatId);
+HXDLIN(1590) return _hx_tmp->withResource(this->nickInUse());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,getFullJid,return )
+
+::Array< ::String > Channel_obj::getParticipants(){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis) HXARGC(0)
+ ::Dynamic _hx_run(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1596_getParticipants)
+HXLINE(1596) return _gthis->presence->keys();
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
+ bool _hx_run(::String resource){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1596_getParticipants)
+HXLINE(1596) return ::hx::IsNotNull( resource );
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1594_getParticipants)
+HXDLIN(1594) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1595) ::borogove::JID jid = ::borogove::JID_obj::parse(this->chatId);
+HXLINE(1596) ::Array< ::String > _this = ::Lambda_obj::filter( ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(_gthis)))), ::Dynamic(new _hx_Closure_1()));
+HXDLIN(1596) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN(1596) {
+HXLINE(1596) int _g = 0;
+HXDLIN(1596) int _g1 = _this->length;
+HXDLIN(1596) while((_g < _g1)){
+HXLINE(1596) _g = (_g + 1);
+HXDLIN(1596) int i = (_g - 1);
+HXDLIN(1596) {
+HXLINE(1596) ::String resource = ( (::String)(_hx_array_unsafe_get(_this,i)) );
+HXDLIN(1596) ::String inValue = ::borogove::JID_obj::__alloc( HX_CTX ,jid->node,jid->domain,resource,null())->asString();
+HXDLIN(1596) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN(1596) return result;
+ }
+
+
+ ::borogove::Participant Channel_obj::getParticipantDetails(::String participantId){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1601_getParticipantDetails)
+HXDLIN(1601) if ((participantId == this->getFullJid()->asString())) {
+HXLINE(1602) ::borogove::Client chat = this->client;
+HXDLIN(1602) ::borogove::DirectChat chat1 = chat->getDirectChat(this->client->accountId(),false);
+HXLINE(1603) ::String _hx_tmp = this->client->displayName();
+HXDLIN(1603) ::String _hx_tmp1 = chat1->getPhoto();
+HXDLIN(1603) ::String _hx_tmp2 = chat1->getPlaceholder();
+HXDLIN(1603) return ::borogove::Participant_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,_hx_tmp2,true,::borogove::JID_obj::parse(chat1->chatId));
+ }
+ else {
+HXLINE(1605) ::borogove::JID jid = ::borogove::JID_obj::parse(participantId);
+HXLINE(1606) ::String nick = jid->resource;
+HXLINE(1607) ::String placeholderUri;
+HXDLIN(1607) if (::hx::IsNull( nick )) {
+HXLINE(1607) placeholderUri = HX_(" ",20,00,00,00);
+ }
+ else {
+HXLINE(1607) placeholderUri = nick.charAt(0);
+ }
+HXDLIN(1607) ::String placeholderUri1 = ::borogove::Color_obj::defaultPhoto(participantId,placeholderUri);
+HXLINE(1608) ::String _hx_tmp3;
+HXDLIN(1608) if (::hx::IsNotNull( nick )) {
+HXLINE(1608) _hx_tmp3 = nick;
+ }
+ else {
+HXLINE(1608) _hx_tmp3 = HX_("",00,00,00,00);
+ }
+HXDLIN(1608) ::borogove::Presence tmp = ( ( ::borogove::Presence)(this->presence->get(nick)) );
+HXDLIN(1608) ::borogove::Hash tmp1;
+HXDLIN(1608) if (::hx::IsNotNull( tmp )) {
+HXLINE(1608) tmp1 = tmp->avatarHash;
+ }
+ else {
+HXLINE(1608) tmp1 = null();
+ }
+HXDLIN(1608) ::String _hx_tmp4;
+HXDLIN(1608) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1608) _hx_tmp4 = tmp1->toUri();
+ }
+ else {
+HXLINE(1608) _hx_tmp4 = null();
+ }
+HXDLIN(1608) return ::borogove::Participant_obj::__alloc( HX_CTX ,_hx_tmp3,_hx_tmp4,placeholderUri1,false,jid);
+ }
+HXLINE(1601) return null();
+ }
+
+
+::Dynamic Channel_obj::getMessagesBefore(::String beforeId,::String beforeTime){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis,::String,beforeId) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> messages){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1615_getMessagesBefore)
+HXLINE(1615) if ((messages->length > 0)) {
+HXLINE(1616) 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_1621_getMessagesBefore)
+HXLINE(1622) builder = _gthis->prepareIncomingMessage(builder,stanza);
+HXLINE(1623) builder->syncPoint = false;
+HXLINE(1624) return builder;
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXLINE(1618) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(0));
+HXLINE(1619) if (::hx::IsNotNull( beforeId )) {
+HXLINE(1619) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("before",7f,54,32,9a),beforeId)),::hx::paccDynamic);
+ }
+HXLINE(1620) ::borogove::MessageSync sync = ::borogove::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,_gthis->chatId);
+HXLINE(1621) sync->addContext( ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE(1626) return _gthis->fetchFromSync(sync);
+ }
+HXLINE(1615) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1613_getMessagesBefore)
+HXDLIN(1613) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1614) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(1614) ::String _hx_tmp1 = this->client->accountId();
+HXDLIN(1614) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesBefore(_hx_tmp,_hx_tmp1,this->chatId,beforeId,beforeTime), ::Dynamic(new _hx_Closure_1(_gthis,beforeId)),null());
+ }
+
+
+::Dynamic Channel_obj::getMessagesAfter(::String afterId,::String afterTime){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis,::String,afterId) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> messages){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1637_getMessagesAfter)
+HXLINE(1637) if ((messages->length > 0)) {
+HXLINE(1638) 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_1643_getMessagesAfter)
+HXLINE(1644) builder = _gthis->prepareIncomingMessage(builder,stanza);
+HXLINE(1645) builder->syncPoint = false;
+HXLINE(1646) return builder;
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXLINE(1640) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(0));
+HXLINE(1641) if (::hx::IsNotNull( afterId )) {
+HXLINE(1641) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("after",1c,66,a2,1d),afterId)),::hx::paccDynamic);
+ }
+HXLINE(1642) ::borogove::MessageSync sync = ::borogove::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,_gthis->chatId);
+HXLINE(1643) sync->addContext( ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE(1648) return _gthis->fetchFromSync(sync);
+ }
+HXLINE(1637) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1632_getMessagesAfter)
+HXDLIN(1632) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1633) bool _hx_tmp;
+HXDLIN(1633) ::String afterId1 = afterId;
+HXDLIN(1633) if ((afterId1 == this->lastMessageId())) {
+HXLINE(1633) _hx_tmp = !(this->syncing());
+ }
+ else {
+HXLINE(1633) _hx_tmp = false;
+ }
+HXDLIN(1633) if (_hx_tmp) {
+HXLINE(1634) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+HXLINE(1636) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN(1636) ::String _hx_tmp2 = this->client->accountId();
+HXDLIN(1636) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesAfter(_hx_tmp1,_hx_tmp2,this->chatId,afterId,afterTime), ::Dynamic(new _hx_Closure_1(_gthis,afterId)),null());
+ }
+
+
+::Dynamic Channel_obj::getMessagesAround(::String aroundId,::String aroundTime){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1656_getMessagesAround)
+HXDLIN(1656) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(1656) ::String _hx_tmp1 = this->client->accountId();
+HXDLIN(1656) return ::borogove::Persistence_obj::getMessagesAround(_hx_tmp,_hx_tmp1,this->chatId,aroundId,aroundTime);
+ }
+
+
+ ::borogove::ChatMessageBuilder Channel_obj::prepareIncomingMessage( ::borogove::ChatMessageBuilder message, ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1660_prepareIncomingMessage)
+HXLINE(1661) message->syncPoint = !(this->syncing());
+HXLINE(1662) if ((message->type == 0)) {
+HXLINE(1662) message->type = 3;
+ }
+HXLINE(1663) message->senderId = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
+HXLINE(1664) ::String _hx_tmp = message->get_senderId();
+HXDLIN(1664) if ((_hx_tmp == this->getFullJid()->asString())) {
+HXLINE(1665) message->recipients = message->replyTo;
+HXLINE(1666) message->direction = 1;
+ }
+HXLINE(1668) return message;
+ }
+
+
+ ::borogove::ChatMessageBuilder Channel_obj::prepareOutgoingMessage( ::borogove::ChatMessageBuilder message){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1671_prepareOutgoingMessage)
+HXLINE(1672) message->type = 2;
+HXLINE(1673) ::String tmp = message->timestamp;
+HXDLIN(1673) ::String _hx_tmp;
+HXDLIN(1673) if (::hx::IsNotNull( tmp )) {
+HXLINE(1673) _hx_tmp = tmp;
+ }
+ else {
+HXLINE(1673) _hx_tmp = ::borogove::Date_obj::format(::Date_obj::now());
+ }
+HXDLIN(1673) message->timestamp = _hx_tmp;
+HXLINE(1674) message->direction = 1;
+HXLINE(1675) message->from = this->client->jid;
+HXLINE(1676) message->sender = this->getFullJid();
+HXLINE(1677) message->replyTo = ::Array_obj< ::Dynamic>::__new(1)->init(0,message->sender);
+HXLINE(1678) message->to = ::borogove::JID_obj::parse(this->chatId);
+HXLINE(1679) message->recipients = ::Array_obj< ::Dynamic>::__new(1)->init(0,message->to);
+HXLINE(1680) return message;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Channel_obj,prepareOutgoingMessage,return )
+
+void Channel_obj::correctMessage(::String localId, ::borogove::ChatMessageBuilder message){
+ HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis,::Array< ::Dynamic>,message1,::String,localId,::String,toSendId, ::borogove::OutboxItem,outboxItem) HXARGC(1)
+ void _hx_run(::Array< ::Dynamic> corrected){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1690_correctMessage)
+HXLINE(1691) ::Array< ::Dynamic> _hx_tmp;
+HXDLIN(1691) ::borogove::ChatMessage tmp = corrected->__get(0).StaticCast< ::borogove::ChatMessage >()->versions->__get(0).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1691) ::String _hx_tmp1;
+HXDLIN(1691) if (::hx::IsNotNull( tmp )) {
+HXLINE(1691) _hx_tmp1 = tmp->localId;
+ }
+ else {
+HXLINE(1691) _hx_tmp1 = null();
+ }
+HXDLIN(1691) if ((_hx_tmp1 == localId)) {
+HXLINE(1691) _hx_tmp = corrected->__get(0).StaticCast< ::borogove::ChatMessage >()->versions;
+ }
+ else {
+HXLINE(1691) _hx_tmp = ::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build());
+ }
+HXDLIN(1691) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->versions = _hx_tmp;
+HXLINE(1692) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId = toSendId;
+HXLINE(1693) ::borogove::Channel _gthis1 = _gthis;
+HXDLIN(1693) ::borogove::Stanza _hx_tmp2 = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
+HXDLIN(1693) _gthis1->sendMessageStanza(_hx_tmp2,outboxItem);
+HXLINE(1694) _gthis->client->notifyMessageHandlers(corrected->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
+HXLINE(1695) ::borogove::ChatMessage tmp1 = _gthis->lastMessage;
+HXDLIN(1695) ::String _hx_tmp3;
+HXDLIN(1695) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1695) _hx_tmp3 = tmp1->localId;
+ }
+ else {
+HXLINE(1695) _hx_tmp3 = null();
+ }
+HXDLIN(1695) if ((localId == _hx_tmp3)) {
+HXLINE(1696) _gthis->setLastMessage(corrected->__get(0).StaticCast< ::borogove::ChatMessage >());
+HXLINE(1697) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1684_correctMessage)
+HXDLIN(1684) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
+HXDLIN(1684) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1685) ::String toSendId = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId;
+HXLINE(1686) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >());
+HXLINE(1687) ::borogove::ChatMessage _hx_tmp = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build();
+HXDLIN(1687) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,_hx_tmp);
+HXLINE(1688) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId = localId;
+HXLINE(1689) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
+HXLINE(1690) ::borogove::Client _hx_tmp1 = this->client;
+HXDLIN(1690) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp1->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build())), ::Dynamic(new _hx_Closure_0(_gthis,message1,localId,toSendId,outboxItem)),null());
+ }
+
+
+void Channel_obj::sendMessage( ::borogove::ChatMessageBuilder message){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1703_sendMessage)
+HXDLIN(1703) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1704) if ((this->uiState == 3)) {
+HXLINE(1704) this->uiState = 1;
+ }
+HXLINE(1705) if (::hx::IsNotNull( this->typingTimer )) {
+HXLINE(1705) this->typingTimer->stop();
+ }
+HXLINE(1706) this->client->chatActivity(::hx::ObjectPtr<OBJ_>(this),null());
+HXLINE(1707) message = this->prepareOutgoingMessage(message);
+HXLINE(1708) ::borogove::Stanza stanza = message->build()->asStanza();
+HXLINE(1710) {
+HXLINE(1710) ::Dynamic this1 = stanza->attr;
+HXDLIN(1710) ::Reflect_obj::setField(this1,HX_("from",6a,a5,c2,43),this->getFullJid()->asString());
+ }
+HXLINE(1711) ::borogove::MessageStanza fromStanza = ::borogove::Message_obj::fromStanza(stanza,this->client->jid,null(),null())->parsed;
+HXLINE(1712) {
+HXLINE(1712) ::Dynamic this2 = stanza->attr;
+HXDLIN(1712) ::Reflect_obj::setField(this2,HX_("from",6a,a5,c2,43),this->client->jid->asString());
+ }
+HXLINE(1713) switch((int)(fromStanza->_hx_getIndex())){
+ case (int)1: {
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis, ::borogove::OutboxItem,outboxItem, ::borogove::Stanza,stanza) HXARGC(1)
+ ::borogove::EventResult _hx_run(::Array< ::Dynamic> stored){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1721_sendMessage)
+HXLINE(1722) _gthis->sendMessageStanza(stanza,outboxItem);
+HXLINE(1723) _gthis->setLastMessage(stored->__get(0).StaticCast< ::borogove::ChatMessage >());
+HXLINE(1724) int _hx_tmp;
+HXDLIN(1724) if ((stored->__get(0).StaticCast< ::borogove::ChatMessage >()->versions->length > 1)) {
+HXLINE(1724) _hx_tmp = 1;
+ }
+ else {
+HXLINE(1724) _hx_tmp = 0;
+ }
+HXDLIN(1724) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),_hx_tmp);
+HXLINE(1725) 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(1715) if (::hx::IsNotNull( this->isActive )) {
+HXLINE(1716) this->isActive = true;
+HXLINE(1717) this->activeThread = message->threadId;
+HXLINE(1718) 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(1720) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
+HXLINE(1721) ::borogove::Client _hx_tmp = this->client;
+HXDLIN(1721) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,message->build())), ::Dynamic(new _hx_Closure_0(_gthis,outboxItem,stanza)),null());
+ }
+ break;
+ case (int)3: {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis, ::borogove::Stanza,stanza) HXARGC(1)
+ void _hx_run( ::borogove::ChatMessage stored){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1728_sendMessage)
+HXLINE(1729) _gthis->client->sendStanza(stanza);
+HXLINE(1730) if (::hx::IsNotNull( stored )) {
+HXLINE(1730) _gthis->client->notifyMessageHandlers(stored,2);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(1728) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN(1728) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp1,this->client->accountId(),fromStanza->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >()), ::Dynamic(new _hx_Closure_1(_gthis,stanza)),null());
+ }
+ break;
+ default:{
+HXLINE(1733) ::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),1733)));
+HXLINE(1734) HX_STACK_DO_THROW(HX_("Trying to send invalid message.",dc,74,a0,91));
+ }
+ }
+ }
+
+
+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_1760_removeReaction)
+HXLINE(1761) ::borogove::Channel _gthis1 = _gthis;
+HXDLIN(1761) ::borogove::Stanza _hx_tmp = update4->asStanza();
+HXDLIN(1761) _gthis1->sendMessageStanza(_hx_tmp,outboxItem);
+HXLINE(1762) if (::hx::IsNotNull( stored )) {
+HXLINE(1762) _gthis->client->notifyMessageHandlers(stored,2);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1739_removeReaction)
+HXDLIN(1739) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1740) if (::Std_obj::isOfType(reaction,::hx::ClassOf< ::borogove::CustomEmojiReaction >())) {
+HXLINE(1741) if (::hx::IsNull( reaction->envelopeId )) {
+HXLINE(1741) HX_STACK_DO_THROW(HX_("Cannot remove custom emoji reaction without envelopeId",90,e6,80,fb));
+ }
+HXLINE(1742) ::borogove::ChatMessageBuilder correct = m->reply();
+HXLINE(1743) correct->localId = ::borogove::ID_obj::_hx_long();
+HXLINE(1744) correct->setHtml(HX_("",00,00,00,00));
+HXLINE(1745) correct->text = null();
+HXLINE(1746) this->correctMessage(reaction->envelopeId,correct);
+HXLINE(1747) return;
+ }
+HXLINE(1751) ::Array< ::Dynamic> reactions = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1752) {
+HXLINE(1752) ::Dynamic this1 = m->reactions;
+HXDLIN(1752) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN(1752) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1752) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(1752) ::Array< ::Dynamic> _g_value = ( (::Array< ::Dynamic>)(::haxe::IMap_obj::get(this1,key)) );
+HXLINE(1753) 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_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1754_removeReaction)
+HXLINE(1754) ::String r1 = r->senderId;
+HXDLIN(1754) return (r1 == _gthis->getFullJid()->asString());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1754) ::borogove::Reaction react = ( ( ::borogove::Reaction)(::Lambda_obj::find(_g_value, ::Dynamic(new _hx_Closure_0(_gthis)))) );
+HXLINE(1755) bool _hx_tmp;
+HXDLIN(1755) if (::hx::IsNotNull( react )) {
+HXLINE(1755) _hx_tmp = !(::Std_obj::isOfType(react,::hx::ClassOf< ::borogove::CustomEmojiReaction >()));
+ }
+ else {
+HXLINE(1755) _hx_tmp = false;
+ }
+HXDLIN(1755) if (_hx_tmp) {
+HXLINE(1755) reactions->push(react);
+ }
+ }
+ }
+ }
+HXLINE(1758) ::String update = ::borogove::ID_obj::_hx_long();
+HXDLIN(1758) ::String m1 = m->serverId;
+HXDLIN(1758) ::String update1 = m->chatId();
+HXDLIN(1758) ::String update2 = m->chatId();
+HXDLIN(1758) ::String update3 = this->getFullJid()->asString();
+HXDLIN(1758) ::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(1759) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
+HXLINE(1760) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN(1760) ::String _hx_tmp2 = this->client->accountId();
+HXDLIN(1760) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp1,_hx_tmp2,update4), ::Dynamic(new _hx_Closure_1(_gthis,update4,outboxItem)),null());
+ }
+
+
+void Channel_obj::sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem){
+ 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_1772_sendMessageStanza)
+HXLINE(1772) _gthis->client->sendStanza(stanza);
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1766_sendMessageStanza)
+HXDLIN(1766) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1767) if ((stanza->name != HX_("message",c7,35,11,9a))) {
+HXLINE(1767) HX_STACK_DO_THROW(HX_("Can only send message stanza this way",cb,e1,b3,60));
+ }
+HXLINE(1769) if (::hx::IsNull( outboxItem )) {
+HXLINE(1769) outboxItem = this->outbox->newItem();
+ }
+HXLINE(1770) ::Reflect_obj::setField(stanza->attr,HX_("type",ba,f2,08,4d),HX_("groupchat",97,1d,c8,e5));
+HXLINE(1771) ::Reflect_obj::setField(stanza->attr,HX_("to",7b,65,00,00),this->chatId);
+HXLINE(1772) outboxItem->handle( ::Dynamic(new _hx_Closure_0(_gthis,stanza)));
+ }
+
+
+::String Channel_obj::lastMessageId(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1777_lastMessageId)
+HXDLIN(1777) ::borogove::ChatMessage tmp = this->lastMessage;
+HXDLIN(1777) if (::hx::IsNotNull( tmp )) {
+HXDLIN(1777) return tmp->serverId;
+ }
+ else {
+HXDLIN(1777) return null();
+ }
+HXDLIN(1777) return null();
+ }
+
+
+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_1782_markReadUpTo)
+HXLINE(1785) bool _hx_tmp;
+HXDLIN(1785) if (message->isIncoming()) {
+HXLINE(1785) _hx_tmp = ::hx::IsNotNull( message->serverId );
+ }
+ else {
+HXLINE(1785) _hx_tmp = false;
+ }
+HXDLIN(1785) if (_hx_tmp) {
+HXLINE(1786) ::String _gthis1 = _gthis->chatId;
+HXDLIN(1786) ::String stanza = ::borogove::ID_obj::_hx_long();
+HXDLIN(1786) ::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(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(1788) if (::hx::IsNotNull( message->threadId )) {
+HXLINE(1789) stanza1->textTag(HX_("thread",ca,7a,b9,8e),message->threadId,null());
+ }
+HXLINE(1791) _gthis->client->sendStanza(stanza1);
+ }
+HXLINE(1794) _gthis->publishMds();
+HXLINE(1795) _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_1797_markReadUpTo)
+HXLINE(1797) if (::hx::IsNotNull( e )) {
+HXLINE(1797) return ::thenshim::_Promise::Promise_Impl__obj::reject(e);
+ }
+ else {
+HXLINE(1797) return null();
+ }
+HXDLIN(1797) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1781_markReadUpTo)
+HXDLIN(1781) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1782) ::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_1823_bookmark)
+HXLINE(1823) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
+HXLINE(1824) ::borogove::Stanza tmp = response->getChild(HX_("error",c8,cb,29,73),null());
+HXDLIN(1824) ::borogove::Stanza preconditionError;
+HXDLIN(1824) if (::hx::IsNotNull( tmp )) {
+HXLINE(1824) preconditionError = tmp->getChild(HX_("precondition-not-met",2d,db,78,db),HX_("http://jabber.org/protocol/pubsub#errors",97,74,3a,a8));
+ }
+ else {
+HXLINE(1824) preconditionError = null();
+ }
+HXLINE(1825) 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_1841_bookmark)
+HXLINE(1841) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("result",dd,68,84,08))) {
+HXLINE(1842) _gthis->bookmark();
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(1827) ::borogove::GenericStream _gthis1 = _gthis->stream;
+HXDLIN(1827) _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_1801_bookmark)
+HXDLIN(1801) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1802) if ((this->uiState == 3)) {
+HXLINE(1802) this->uiState = 1;
+ }
+HXLINE(1803) ::borogove::GenericStream _hx_tmp = this->stream;
+HXLINE(1804) ::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(1808) ::String _hx_tmp2 = this->getDisplayName();
+HXDLIN(1808) ::String _hx_tmp3;
+HXDLIN(1808) bool _hx_tmp4;
+HXDLIN(1808) if ((this->uiState != 2)) {
+HXLINE(1808) _hx_tmp4 = (this->uiState == 3);
+ }
+ else {
+HXLINE(1808) _hx_tmp4 = true;
+ }
+HXDLIN(1808) if (_hx_tmp4) {
+HXLINE(1808) _hx_tmp3 = HX_("false",a3,35,4f,fb);
+ }
+ else {
+HXLINE(1808) _hx_tmp3 = HX_("true",4e,a7,03,4d);
+ }
+HXLINE(1804) ::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(1809) ::String _hx_tmp6 = this->client->displayName();
+HXLINE(1803) _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(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()->up(), ::Dynamic(new _hx_Closure_1(_gthis)));
+ }
+
+
+void Channel_obj::sendChatState(::String state,::String threadId){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1852_sendChatState)
+HXLINE(1854) ::String stanza = ::borogove::ID_obj::_hx_long();
+HXLINE(1856) ::String stanza1 = this->client->jid->asString();
+HXLINE(1853) ::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(1861) if (::hx::IsNotNull( threadId )) {
+HXLINE(1862) stanza2->textTag(HX_("thread",ca,7a,b9,8e),threadId,null());
+ }
+HXLINE(1864) this->stream->sendStanza(stanza2);
+ }
+
+
+void Channel_obj::close(){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1868_close)
+HXLINE(1869) if (::hx::IsNotNull( this->typingTimer )) {
+HXLINE(1869) this->typingTimer->stop();
+ }
+HXLINE(1870) if ((this->uiState == 3)) {
+HXLINE(1871) int _g = 0;
+HXDLIN(1871) ::Array< ::Dynamic> _g1 = this->invites();
+HXDLIN(1871) while((_g < _g1->length)){
+HXLINE(1871) ::borogove::Stanza invite = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN(1871) _g = (_g + 1);
+HXLINE(1872) ::borogove::Client _hx_tmp = this->client;
+HXLINE(1873) ::String _hx_tmp1 = ::borogove::ID_obj::_hx_long();
+HXDLIN(1873) ::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(1872) _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(1880) this->uiState = 2;
+HXLINE(1881) ::Dynamic _hx_tmp3 = this->persistence;
+HXDLIN(1881) ::borogove::Persistence_obj::storeChats(_hx_tmp3,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE(1882) this->selfPing(false);
+HXLINE(1883) this->bookmark();
+HXLINE(1884) this->sendChatState(HX_("gone",5f,94,69,44),null());
+HXLINE(1885) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+ }
+
+
+
+::hx::ObjectPtr< Channel_obj > Channel_obj::__new( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy, ::borogove::Caps disco) {
+ ::hx::ObjectPtr< Channel_obj > __this = new Channel_obj();
+ __this->__construct(client,stream,persistence,chatId,__o_uiState,__o_isBlocked,extensions,readUpToId,readUpToBy,disco);
+ return __this;
+}
+
+::hx::ObjectPtr< Channel_obj > Channel_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy, ::borogove::Caps disco) {
+ Channel_obj *__this = (Channel_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Channel_obj), true, "borogove.Channel"));
+ *(void **)__this = Channel_obj::_hx_vtable;
+ __this->__construct(client,stream,persistence,chatId,__o_uiState,__o_isBlocked,extensions,readUpToId,readUpToBy,disco);
+ return __this;
+}
+
+Channel_obj::Channel_obj()
+{
+}
+
+void Channel_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Channel);
+ HX_MARK_MEMBER_NAME(disco,"disco");
+ HX_MARK_MEMBER_NAME(inSync,"inSync");
+ HX_MARK_MEMBER_NAME(sync,"sync");
+ HX_MARK_MEMBER_NAME(forceLive,"forceLive");
+ HX_MARK_MEMBER_NAME(_nickInUse,"_nickInUse");
+ ::borogove::Chat_obj::__Mark(HX_MARK_ARG);
+ HX_MARK_END_CLASS();
+}
+
+void Channel_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(disco,"disco");
+ HX_VISIT_MEMBER_NAME(inSync,"inSync");
+ HX_VISIT_MEMBER_NAME(sync,"sync");
+ HX_VISIT_MEMBER_NAME(forceLive,"forceLive");
+ HX_VISIT_MEMBER_NAME(_nickInUse,"_nickInUse");
+ ::borogove::Chat_obj::__Visit(HX_VISIT_ARG);
+}
+
+::hx::Val Channel_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"sync") ) { return ::hx::Val( sync ); }
+ if (HX_FIELD_EQ(inName,"join") ) { return ::hx::Val( join_dyn() ); }
+ if (HX_FIELD_EQ(inName,"info") ) { return ::hx::Val( info_dyn() ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"disco") ) { return ::hx::Val( disco ); }
+ if (HX_FIELD_EQ(inName,"close") ) { return ::hx::Val( close_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"inSync") ) { return ::hx::Val( inSync ); }
+ if (HX_FIELD_EQ(inName,"invite") ) { return ::hx::Val( invite_dyn() ); }
+ if (HX_FIELD_EQ(inName,"doSync") ) { return ::hx::Val( doSync_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"canSend") ) { return ::hx::Val( canSend_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() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"selfPing") ) { return ::hx::Val( selfPing_dyn() ); }
+ if (HX_FIELD_EQ(inName,"bookmark") ) { return ::hx::Val( bookmark_dyn() ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"forceLive") ) { return ::hx::Val( forceLive ); }
+ if (HX_FIELD_EQ(inName,"canInvite") ) { return ::hx::Val( canInvite_dyn() ); }
+ if (HX_FIELD_EQ(inName,"isTrusted") ) { return ::hx::Val( isTrusted_dyn() ); }
+ if (HX_FIELD_EQ(inName,"isPrivate") ) { return ::hx::Val( isPrivate_dyn() ); }
+ if (HX_FIELD_EQ(inName,"nickInUse") ) { return ::hx::Val( nickInUse_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"_nickInUse") ) { return ::hx::Val( _nickInUse ); }
+ if (HX_FIELD_EQ(inName,"setTrusted") ) { return ::hx::Val( setTrusted_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getFullJid") ) { return ::hx::Val( getFullJid_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"description") ) { return ::hx::Val( description_dyn() ); }
+ if (HX_FIELD_EQ(inName,"setPresence") ) { return ::hx::Val( setPresence_dyn() ); }
+ if (HX_FIELD_EQ(inName,"sendMessage") ) { return ::hx::Val( sendMessage_dyn() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"refreshDisco") ) { return ::hx::Val( refreshDisco_dyn() ); }
+ if (HX_FIELD_EQ(inName,"livePresence") ) { return ::hx::Val( livePresence_dyn() ); }
+ if (HX_FIELD_EQ(inName,"canAudioCall") ) { return ::hx::Val( canAudioCall_dyn() ); }
+ if (HX_FIELD_EQ(inName,"canVideoCall") ) { return ::hx::Val( canVideoCall_dyn() ); }
+ if (HX_FIELD_EQ(inName,"markReadUpTo") ) { return ::hx::Val( markReadUpTo_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"lastMessageId") ) { return ::hx::Val( lastMessageId_dyn() ); }
+ if (HX_FIELD_EQ(inName,"sendChatState") ) { return ::hx::Val( sendChatState_dyn() ); }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"getDisplayName") ) { return ::hx::Val( getDisplayName_dyn() ); }
+ if (HX_FIELD_EQ(inName,"correctMessage") ) { return ::hx::Val( correctMessage_dyn() ); }
+ if (HX_FIELD_EQ(inName,"removeReaction") ) { return ::hx::Val( removeReaction_dyn() ); }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"selfPingSuccess") ) { return ::hx::Val( selfPingSuccess_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getParticipants") ) { return ::hx::Val( getParticipants_dyn() ); }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"getMessagesAfter") ) { return ::hx::Val( getMessagesAfter_dyn() ); }
+ break;
+ case 17:
+ 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,"sendMessageStanza") ) { return ::hx::Val( sendMessageStanza_dyn() ); }
+ break;
+ case 18:
+ if (HX_FIELD_EQ(inName,"setupNotifications") ) { return ::hx::Val( setupNotifications_dyn() ); }
+ break;
+ case 21:
+ if (HX_FIELD_EQ(inName,"getParticipantDetails") ) { return ::hx::Val( getParticipantDetails_dyn() ); }
+ break;
+ case 22:
+ if (HX_FIELD_EQ(inName,"prepareIncomingMessage") ) { return ::hx::Val( prepareIncomingMessage_dyn() ); }
+ if (HX_FIELD_EQ(inName,"prepareOutgoingMessage") ) { return ::hx::Val( prepareOutgoingMessage_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val Channel_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"sync") ) { sync=inValue.Cast< ::borogove::MessageSync >(); return inValue; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"disco") ) { disco=inValue.Cast< ::borogove::Caps >(); return inValue; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"inSync") ) { inSync=inValue.Cast< bool >(); return inValue; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"forceLive") ) { forceLive=inValue.Cast< bool >(); return inValue; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"_nickInUse") ) { _nickInUse=inValue.Cast< ::String >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void Channel_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("disco",7a,03,d1,d9));
+ outFields->push(HX_("inSync",e0,98,c5,88));
+ outFields->push(HX_("sync",5b,ba,5f,4c));
+ outFields->push(HX_("forceLive",77,ce,f7,4c));
+ outFields->push(HX_("_nickInUse",80,a6,41,a3));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo Channel_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::Caps */ ,(int)offsetof(Channel_obj,disco),HX_("disco",7a,03,d1,d9)},
+ {::hx::fsBool,(int)offsetof(Channel_obj,inSync),HX_("inSync",e0,98,c5,88)},
+ {::hx::fsObject /* ::borogove::MessageSync */ ,(int)offsetof(Channel_obj,sync),HX_("sync",5b,ba,5f,4c)},
+ {::hx::fsBool,(int)offsetof(Channel_obj,forceLive),HX_("forceLive",77,ce,f7,4c)},
+ {::hx::fsString,(int)offsetof(Channel_obj,_nickInUse),HX_("_nickInUse",80,a6,41,a3)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *Channel_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Channel_obj_sMemberFields[] = {
+ HX_("disco",7a,03,d1,d9),
+ HX_("inSync",e0,98,c5,88),
+ HX_("sync",5b,ba,5f,4c),
+ HX_("forceLive",77,ce,f7,4c),
+ HX_("_nickInUse",80,a6,41,a3),
+ HX_("selfPing",1e,60,3c,38),
+ HX_("join",ea,33,65,46),
+ HX_("selfPingSuccess",45,4d,98,ab),
+ HX_("getDisplayName",b7,64,90,b8),
+ 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_("getCaps",d7,cb,3c,14),
+ HX_("setPresence",fd,1b,38,97),
+ HX_("doSync",86,5f,63,1c),
+ HX_("setTrusted",75,dc,85,69),
+ HX_("isTrusted",2d,35,a5,1a),
+ HX_("isPrivate",39,aa,6d,8d),
+ HX_("setupNotifications",6b,ae,3a,e7),
+ HX_("refreshDisco",9f,ff,52,ed),
+ HX_("preview",08,e0,da,3b),
+ HX_("livePresence",47,f9,16,b4),
+ HX_("syncing",67,fd,26,a7),
+ HX_("canAudioCall",64,4a,90,e4),
+ HX_("canVideoCall",89,1c,93,ea),
+ HX_("nickInUse",bf,2a,9f,47),
+ HX_("getFullJid",80,42,92,1f),
+ HX_("getParticipants",16,0b,c7,34),
+ HX_("getParticipantDetails",85,2b,7d,4d),
+ HX_("getMessagesBefore",a1,f1,44,11),
+ HX_("getMessagesAfter",3a,43,91,57),
+ HX_("getMessagesAround",6f,95,16,2d),
+ HX_("prepareIncomingMessage",ba,eb,c6,e3),
+ HX_("prepareOutgoingMessage",f4,b0,f3,49),
+ HX_("correctMessage",7d,36,c3,f4),
+ HX_("sendMessage",5f,89,1d,24),
+ HX_("removeReaction",0d,24,0b,c1),
+ HX_("sendMessageStanza",b4,2c,6d,3d),
+ HX_("lastMessageId",4c,90,58,27),
+ HX_("markReadUpTo",59,68,2d,ee),
+ HX_("bookmark",b6,8c,f1,32),
+ HX_("sendChatState",b1,21,95,6e),
+ HX_("close",b8,17,63,48),
+ ::String(null()) };
+
+::hx::Class Channel_obj::__mClass;
+
+void Channel_obj::__register()
+{
+ Channel_obj _hx_dummy;
+ Channel_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Channel",56,82,6a,da);
+ __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(Channel_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Channel_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Channel_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Channel_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void Channel_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1234_boot)
+HXDLIN(1234) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(25)
+ ->setFixed(0,HX_("setPresence",fd,1b,38,97), ::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(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(2,HX_("syncing",67,fd,26,a7), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(3,HX_("livePresence",47,f9,16,b4), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(4,HX_("getDisplayName",b7,64,90,b8), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(5,HX_("removeReaction",0d,24,0b,c1), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(6,HX_("canAudioCall",64,4a,90,e4), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(7,HX_("canVideoCall",89,1c,93,ea), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(8,HX_("markReadUpTo",59,68,2d,ee), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(9,HX_("canInvite",f9,45,22,f2), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(10,HX_("correctMessage",7d,36,c3,f4), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(11,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(12,HX_("getCaps",d7,cb,3c,14), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(13,HX_("isTrusted",2d,35,a5,1a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(14,HX_("sendMessage",5f,89,1d,24), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(15,HX_("lastMessageId",4c,90,58,27), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(16,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(17,HX_("bookmark",b6,8c,f1,32), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(18,HX_("getParticipants",16,0b,c7,34), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(19,HX_("preview",08,e0,da,3b), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(20,HX_("close",b8,17,63,48), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(21,HX_("getParticipantDetails",85,2b,7d,4d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(22,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(23,HX_("setTrusted",75,dc,85,69), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(24,HX_("canSend",78,75,a8,6a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
+ }
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Chat.cpp b/Sources/c_borogove/src/borogove/Chat.cpp
new file mode 100644
index 0000000..525410f
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Chat.cpp
@@ -0,0 +1,2853 @@
+// 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_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_StringTools
+#include <StringTools.h>
+#endif
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.h>
+#endif
+#ifndef INCLUDED_borogove_Caps
+#include <borogove/Caps.h>
+#endif
+#ifndef INCLUDED_borogove_Channel
+#include <borogove/Channel.h>
+#endif
+#ifndef INCLUDED_borogove_Chat
+#include <borogove/Chat.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessageBuilder
+#include <borogove/ChatMessageBuilder.h>
+#endif
+#ifndef INCLUDED_borogove_Client
+#include <borogove/Client.h>
+#endif
+#ifndef INCLUDED_borogove_Color
+#include <borogove/Color.h>
+#endif
+#ifndef INCLUDED_borogove_Command
+#include <borogove/Command.h>
+#endif
+#ifndef INCLUDED_borogove_DirectChat
+#include <borogove/DirectChat.h>
+#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
+#endif
+#ifndef INCLUDED_borogove_GenericStream
+#include <borogove/GenericStream.h>
+#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
+#endif
+#ifndef INCLUDED_borogove_Identity
+#include <borogove/Identity.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_MessageSync
+#include <borogove/MessageSync.h>
+#endif
+#ifndef INCLUDED_borogove_ModerationAction
+#include <borogove/ModerationAction.h>
+#endif
+#ifndef INCLUDED_borogove_Outbox
+#include <borogove/Outbox.h>
+#endif
+#ifndef INCLUDED_borogove_OutboxItem
+#include <borogove/OutboxItem.h>
+#endif
+#ifndef INCLUDED_borogove_Participant
+#include <borogove/Participant.h>
+#endif
+#ifndef INCLUDED_borogove_Persistence
+#include <borogove/Persistence.h>
+#endif
+#ifndef INCLUDED_borogove_Presence
+#include <borogove/Presence.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_borogove__Util_Util_Fields_
+#include <borogove/_Util/Util_Fields_.h>
+#endif
+#ifndef INCLUDED_borogove_calls_DTMFSender
+#include <borogove/calls/DTMFSender.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStream
+#include <borogove/calls/MediaStream.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStreamTrack
+#include <borogove/calls/MediaStreamTrack.h>
+#endif
+#ifndef INCLUDED_borogove_calls_OutgoingProposedSession
+#include <borogove/calls/OutgoingProposedSession.h>
+#endif
+#ifndef INCLUDED_borogove_calls_Session
+#include <borogove/calls/Session.h>
+#endif
+#ifndef INCLUDED_borogove_queries_DiscoItemsGet
+#include <borogove/queries/DiscoItemsGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
+#endif
+#ifndef INCLUDED_cpp_Int64Map
+#include <cpp/Int64Map.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
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+#ifndef INCLUDED_haxe_iterators_MapKeyValueIterator
+#include <haxe/iterators/MapKeyValueIterator.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_9cc1265c56ba593e_60_new,"borogove.Chat","new",0x8ce82ad7,"borogove.Chat.new","borogove/Chat.hx",60,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_371_chatId__fromC,"borogove.Chat","chatId__fromC",0x3b5eb13d,"borogove.Chat.chatId__fromC","HaxeCBridge.hx",371,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_371_uiState__fromC,"borogove.Chat","uiState__fromC",0xeee409e5,"borogove.Chat.uiState__fromC","HaxeCBridge.hx",371,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_371_isBlocked__fromC,"borogove.Chat","isBlocked__fromC",0x8b7ec7c0,"borogove.Chat.isBlocked__fromC","HaxeCBridge.hx",371,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_371_lastMessage__fromC,"borogove.Chat","lastMessage__fromC",0xda1e5df1,"borogove.Chat.lastMessage__fromC","HaxeCBridge.hx",371,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_371_isBookmarked__fromC,"borogove.Chat","isBookmarked__fromC",0x59d3f3b1,"borogove.Chat.isBookmarked__fromC","HaxeCBridge.hx",371,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_313_getMessagesBefore__fromC,"borogove.Chat","getMessagesBefore__fromC",0x7fc75d21,"borogove.Chat.getMessagesBefore__fromC","HaxeCBridge.hx",313,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_313_getMessagesAfter__fromC,"borogove.Chat","getMessagesAfter__fromC",0xee116876,"borogove.Chat.getMessagesAfter__fromC","HaxeCBridge.hx",313,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_313_getMessagesAround__fromC,"borogove.Chat","getMessagesAround__fromC",0x1557ef13,"borogove.Chat.getMessagesAround__fromC","HaxeCBridge.hx",313,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_167_fetchFromSync,"borogove.Chat","fetchFromSync",0x5969d876,"borogove.Chat.fetchFromSync","borogove/Chat.hx",167,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_191_fetchFromSync,"borogove.Chat","fetchFromSync",0x5969d876,"borogove.Chat.fetchFromSync","borogove/Chat.hx",191,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_166_fetchFromSync,"borogove.Chat","fetchFromSync",0x5969d876,"borogove.Chat.fetchFromSync","borogove/Chat.hx",166,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_165_fetchFromSync,"borogove.Chat","fetchFromSync",0x5969d876,"borogove.Chat.fetchFromSync","borogove/Chat.hx",165,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_315_sendMessage__fromC,"borogove.Chat","sendMessage__fromC",0x32fe6463,"borogove.Chat.sendMessage__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_315_markReadUpTo__fromC,"borogove.Chat","markReadUpTo__fromC",0x3f04adb7,"borogove.Chat.markReadUpTo__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_315_bookmark__fromC,"borogove.Chat","bookmark__fromC",0x618f377a,"borogove.Chat.bookmark__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_311_getParticipants__fromC,"borogove.Chat","getParticipants__fromC",0xa2d7000c,"borogove.Chat.getParticipants__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_315_getParticipantDetails__fromC,"borogove.Chat","getParticipantDetails__fromC",0x40afb03d,"borogove.Chat.getParticipantDetails__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_315_correctMessage__fromC,"borogove.Chat","correctMessage__fromC",0xb004f7d3,"borogove.Chat.correctMessage__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_256_addReaction,"borogove.Chat","addReaction",0x55c74861,"borogove.Chat.addReaction","borogove/Chat.hx",256,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_260_addReaction,"borogove.Chat","addReaction",0x55c74861,"borogove.Chat.addReaction","borogove/Chat.hx",260,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_252_addReaction,"borogove.Chat","addReaction",0x55c74861,"borogove.Chat.addReaction","borogove/Chat.hx",252,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_315_removeReaction__fromC,"borogove.Chat","removeReaction__fromC",0xeaa4dc43,"borogove.Chat.removeReaction__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_306_typing,"borogove.Chat","typing",0xab024860,"borogove.Chat.typing","borogove/Chat.hx",306,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_285_typing,"borogove.Chat","typing",0xab024860,"borogove.Chat.typing","borogove/Chat.hx",285,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_300_typing,"borogove.Chat","typing",0xab024860,"borogove.Chat.typing","borogove/Chat.hx",300,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_324_setActive,"borogove.Chat","setActive",0x89bbc4bf,"borogove.Chat.setActive","borogove/Chat.hx",324,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_315_close__fromC,"borogove.Chat","close__fromC",0xc11a5e6a,"borogove.Chat.close__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_349_togglePinned,"borogove.Chat","togglePinned",0xfddcd475,"borogove.Chat.togglePinned","borogove/Chat.hx",349,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_359_block,"borogove.Chat","block",0xd3359b84,"borogove.Chat.block","borogove/Chat.hx",359,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_378_block,"borogove.Chat","block",0xd3359b84,"borogove.Chat.block","borogove/Chat.hx",378,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_406_block,"borogove.Chat","block",0xd3359b84,"borogove.Chat.block","borogove/Chat.hx",406,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_413_unblock,"borogove.Chat","unblock",0xad05ce4b,"borogove.Chat.unblock","borogove/Chat.hx",413,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_423_unblock,"borogove.Chat","unblock",0xad05ce4b,"borogove.Chat.unblock","borogove/Chat.hx",423,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_430_setNotificationsInternal,"borogove.Chat","setNotificationsInternal",0x95c15fac,"borogove.Chat.setNotificationsInternal","borogove/Chat.hx",430,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_440_setNotifications,"borogove.Chat","setNotifications",0x82bcd54f,"borogove.Chat.setNotifications","borogove/Chat.hx",440,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_451_notificationsFiltered,"borogove.Chat","notificationsFiltered",0xcab45596,"borogove.Chat.notificationsFiltered","borogove/Chat.hx",451,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_458_notifyMention,"borogove.Chat","notifyMention",0x00cf7c58,"borogove.Chat.notifyMention","borogove/Chat.hx",458,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_465_notifyReply,"borogove.Chat","notifyReply",0x65560f18,"borogove.Chat.notifyReply","borogove/Chat.hx",465,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_315_lastMessageId__fromC,"borogove.Chat","lastMessageId__fromC",0x7b1a3156,"borogove.Chat.lastMessageId__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_474_updateFromBookmark,"borogove.Chat","updateFromBookmark",0x8ad9a752,"borogove.Chat.updateFromBookmark","borogove/Chat.hx",474,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_484_updateFromRoster,"borogove.Chat","updateFromRoster",0xec826927,"borogove.Chat.updateFromRoster","borogove/Chat.hx",484,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_494_getPhoto,"borogove.Chat","getPhoto",0x2fa82e65,"borogove.Chat.getPhoto","borogove/Chat.hx",494,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_503_getPlaceholder,"borogove.Chat","getPlaceholder",0x7303a166,"borogove.Chat.getPlaceholder","borogove/Chat.hx",503,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_510_readUpTo,"borogove.Chat","readUpTo",0x83806d55,"borogove.Chat.readUpTo","borogove/Chat.hx",510,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_517_unreadCount,"borogove.Chat","unreadCount",0xcea74197,"borogove.Chat.unreadCount","borogove/Chat.hx",517,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_522_setUnreadCount,"borogove.Chat","setUnreadCount",0x79212e87,"borogove.Chat.setUnreadCount","borogove/Chat.hx",522,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_528_preview,"borogove.Chat","preview",0x375341ff,"borogove.Chat.preview","borogove/Chat.hx",528,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_541_setLastMessage,"borogove.Chat","setLastMessage",0x26ed0078,"borogove.Chat.setLastMessage","borogove/Chat.hx",541,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_549_setDisplayName,"borogove.Chat","setDisplayName",0x09222814,"borogove.Chat.setDisplayName","borogove/Chat.hx",549,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_557_getDisplayName,"borogove.Chat","getDisplayName",0xe9023fa0,"borogove.Chat.getDisplayName","borogove/Chat.hx",557,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_577_setPresence,"borogove.Chat","setPresence",0xc4ee4574,"borogove.Chat.setPresence","borogove/Chat.hx",577,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_581_setCaps,"borogove.Chat","setCaps",0x02b6beda,"borogove.Chat.setCaps","borogove/Chat.hx",581,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_593_removePresence,"borogove.Chat","removePresence",0x619f6988,"borogove.Chat.removePresence","borogove/Chat.hx",593,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_601_getCaps,"borogove.Chat","getCaps",0x0fb52dce,"borogove.Chat.getCaps","borogove/Chat.hx",601,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_597_getCaps,"borogove.Chat","getCaps",0x0fb52dce,"borogove.Chat.getCaps","borogove/Chat.hx",597,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_610_getResourceCaps,"borogove.Chat","getResourceCaps",0xdf352abc,"borogove.Chat.getResourceCaps","borogove/Chat.hx",610,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_615_setAvatarSha1,"borogove.Chat","setAvatarSha1",0x86f1e8b7,"borogove.Chat.setAvatarSha1","borogove/Chat.hx",615,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_623_setTrusted,"borogove.Chat","setTrusted",0xaa03cede,"borogove.Chat.setTrusted","borogove/Chat.hx",623,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_635_isTrusted,"borogove.Chat","isTrusted",0x2e7342e4,"borogove.Chat.isTrusted","borogove/Chat.hx",635,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_640_livePresence,"borogove.Chat","livePresence",0x85c517f0,"borogove.Chat.livePresence","borogove/Chat.hx",640,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_647_syncing,"borogove.Chat","syncing",0xa29f5f5e,"borogove.Chat.syncing","borogove/Chat.hx",647,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_653_canAudioCall,"borogove.Chat","canAudioCall",0xb63e690d,"borogove.Chat.canAudioCall","borogove/Chat.hx",653,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_665_canVideoCall,"borogove.Chat","canVideoCall",0xbc413b32,"borogove.Chat.canVideoCall","borogove/Chat.hx",665,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_681_startCall,"borogove.Chat","startCall",0x0e7b9fd7,"borogove.Chat.startCall","borogove/Chat.hx",681,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_690_addMedia,"borogove.Chat","addMedia",0x8cf6812c,"borogove.Chat.addMedia","borogove/Chat.hx",690,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_698_acceptCall,"borogove.Chat","acceptCall",0xf591ee2f,"borogove.Chat.acceptCall","borogove/Chat.hx",698,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_709_hangup,"borogove.Chat","hangup",0x0bc81c36,"borogove.Chat.hangup","borogove/Chat.hx",709,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_718_callStatus,"borogove.Chat","callStatus",0x71a9b0d9,"borogove.Chat.callStatus","borogove/Chat.hx",718,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_729_dtmf,"borogove.Chat","dtmf",0xb7ac8892,"borogove.Chat.dtmf","borogove/Chat.hx",729,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_742_videoTracks,"borogove.Chat","videoTracks",0xebdaebda,"borogove.Chat.videoTracks","borogove/Chat.hx",742,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_311_videoTracks__fromC,"borogove.Chat","videoTracks__fromC",0x180a13df,"borogove.Chat.videoTracks__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_749_encryptionMode,"borogove.Chat","encryptionMode",0xd881b46f,"borogove.Chat.encryptionMode","borogove/Chat.hx",749,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_761_canSend,"borogove.Chat","canSend",0x6620d76f,"borogove.Chat.canSend","borogove/Chat.hx",761,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_767_invite,"borogove.Chat","invite",0xf3a43bb2,"borogove.Chat.invite","borogove/Chat.hx",767,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_785_canInvite,"borogove.Chat","canInvite",0x05f053b0,"borogove.Chat.canInvite","borogove/Chat.hx",785,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_791_isApp,"borogove.Chat","isApp",0xdf814d0e,"borogove.Chat.isApp","borogove/Chat.hx",791,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_819_hasCommands,"borogove.Chat","hasCommands",0xbec2bfb9,"borogove.Chat.hasCommands","borogove/Chat.hx",819,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_834_commands,"borogove.Chat","commands",0xcc3306f1,"borogove.Chat.commands","borogove/Chat.hx",834,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_822_commands,"borogove.Chat","commands",0xcc3306f1,"borogove.Chat.commands","borogove/Chat.hx",822,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_825_commands,"borogove.Chat","commands",0xcc3306f1,"borogove.Chat.commands","borogove/Chat.hx",825,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_823_commands,"borogove.Chat","commands",0xcc3306f1,"borogove.Chat.commands","borogove/Chat.hx",823,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_313_commands__fromC,"borogove.Chat","commands__fromC",0xe84399a8,"borogove.Chat.commands__fromC","HaxeCBridge.hx",313,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_837_commandJids,"borogove.Chat","commandJids",0x11776a70,"borogove.Chat.commandJids","borogove/Chat.hx",837,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_852_invitedBy,"borogove.Chat","invitedBy",0x6066bae9,"borogove.Chat.invitedBy","borogove/Chat.hx",852,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_870_invites,"borogove.Chat","invites",0x3c100081,"borogove.Chat.invites","borogove/Chat.hx",870,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_874_recomputeUnread,"borogove.Chat","recomputeUnread",0x2d8f3a6a,"borogove.Chat.recomputeUnread","borogove/Chat.hx",874,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_873_recomputeUnread,"borogove.Chat","recomputeUnread",0x2d8f3a6a,"borogove.Chat.recomputeUnread","borogove/Chat.hx",873,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_884_markReadUpToId,"borogove.Chat","markReadUpToId",0x130d0b7d,"borogove.Chat.markReadUpToId","borogove/Chat.hx",884,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_902_markReadUpToMessage,"borogove.Chat","markReadUpToMessage",0x357a9ae5,"borogove.Chat.markReadUpToMessage","borogove/Chat.hx",902,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_894_markReadUpToMessage,"borogove.Chat","markReadUpToMessage",0x357a9ae5,"borogove.Chat.markReadUpToMessage","borogove/Chat.hx",894,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_912_publishMds,"borogove.Chat","publishMds",0xb14bb956,"borogove.Chat.publishMds","borogove/Chat.hx",912,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_60_boot,"borogove.Chat","boot",0xb65651db,"borogove.Chat.boot","borogove/Chat.hx",60,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_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy,::Array< int > omemoContactDeviceIDs){
+ int uiState = __o_uiState.Default(1);
+ bool isBlocked = __o_isBlocked.Default(false);
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_60_new)
+HXLINE( 112) this->omemoContactDeviceIDs = null();
+HXLINE( 109) this->_encryptionMode = 0;
+HXLINE( 108) this->outbox = ::borogove::Outbox_obj::__alloc( HX_CTX );
+HXLINE( 107) this->notificationSettings = null();
+HXLINE( 106) this->activeThread = null();
+HXLINE( 105) this->isActive = null();
+HXLINE( 104) this->typingTimer = null();
+HXLINE( 103) this->typingThread = null();
+HXLINE( 102) this->isTyping = false;
+HXLINE( 98) this->_unreadCount = 0;
+HXLINE( 95) this->isBookmarked = false;
+HXLINE( 87) this->isBlocked = false;
+HXLINE( 83) this->uiState = 1;
+HXLINE( 75) this->jingleSessions = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 68) this->trusted = false;
+HXLINE( 67) this->presence = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 65) this->avatarSha1 = null();
+HXLINE( 116) bool _hx_tmp;
+HXDLIN( 116) if (::hx::IsNotNull( chatId )) {
+HXLINE( 116) _hx_tmp = (chatId == HX_("",00,00,00,00));
+ }
+ else {
+HXLINE( 116) _hx_tmp = true;
+ }
+HXDLIN( 116) if (_hx_tmp) {
+HXLINE( 117) HX_STACK_DO_THROW(HX_("chatId may not be empty",65,1d,3c,b1));
+ }
+HXLINE( 119) this->client = client;
+HXLINE( 120) this->stream = stream;
+HXLINE( 121) this->persistence = persistence;
+HXLINE( 122) this->chatId = chatId;
+HXLINE( 123) this->uiState = uiState;
+HXLINE( 124) this->isBlocked = isBlocked;
+HXLINE( 125) ::borogove::Stanza _hx_tmp1;
+HXDLIN( 125) if (::hx::IsNotNull( extensions )) {
+HXLINE( 125) _hx_tmp1 = extensions;
+ }
+ else {
+HXLINE( 125) _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))));
+ }
+HXDLIN( 125) this->extensions = _hx_tmp1;
+HXLINE( 126) this->readUpToId = readUpToId;
+HXLINE( 127) this->readUpToBy = readUpToBy;
+HXLINE( 128) this->displayName = chatId;
+HXLINE( 129) this->omemoContactDeviceIDs = omemoContactDeviceIDs;
+ }
+
+bool Chat_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2acf7e59;
+}
+
+::String Chat_obj::chatId__fromC(){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_371_chatId__fromC)
+HXDLIN( 371) return this->chatId;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,chatId__fromC,return )
+
+int Chat_obj::uiState__fromC(){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_371_uiState__fromC)
+HXDLIN( 371) return this->uiState;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,uiState__fromC,return )
+
+bool Chat_obj::isBlocked__fromC(){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_371_isBlocked__fromC)
+HXDLIN( 371) return this->isBlocked;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,isBlocked__fromC,return )
+
+ ::borogove::ChatMessage Chat_obj::lastMessage__fromC(){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_371_lastMessage__fromC)
+HXDLIN( 371) return this->lastMessage;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,lastMessage__fromC,return )
+
+bool Chat_obj::isBookmarked__fromC(){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_371_isBookmarked__fromC)
+HXDLIN( 371) return this->isBookmarked;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,isBookmarked__fromC,return )
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,prepareIncomingMessage,return )
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,getMessagesBefore,return )
+
+void Chat_obj::getMessagesBefore__fromC(::String beforeId,::String beforeTime,::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_313_getMessagesBefore__fromC)
+HXDLIN( 313) if (::hx::IsNull( handler )) {
+HXDLIN( 313) this->getMessagesBefore(beforeId,beforeTime);
+ }
+ else {
+ 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_a94f40d98d9e57cb_313_getMessagesBefore__fromC)
+HXDLIN( 313) ::cpp::Function< void (void**,size_t,void*) > handler1 = handler;
+HXLINE( 291) {
+HXLINE( 291) int _g = 0;
+HXDLIN( 291) while((_g < v->length)){
+HXLINE( 291) ::borogove::ChatMessage el = v->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 291) _g = (_g + 1);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic haxeObject = el;
+HXDLIN( 291) void* ptr = haxeObject.mPtr;
+HXDLIN( 291) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 291) if (::hx::IsNull( store )) {
+HXLINE( 291) 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( 291) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 291) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 291) void** ptr1 = (void**)v->getBase();
+HXDLIN( 291) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 291) if (::hx::IsNull( store1 )) {
+HXLINE( 291) store1 = ::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( 291) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXLINE( 291) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 313) handler1(ptr1,( (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_a94f40d98d9e57cb_313_getMessagesBefore__fromC)
+HXDLIN( 313) handler(null(),( (size_t)(0) ),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 313) ::thenshim::_Promise::Promise_Impl__obj::then(this->getMessagesBefore(beforeId,beforeTime), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,getMessagesAfter,return )
+
+void Chat_obj::getMessagesAfter__fromC(::String afterId,::String afterTime,::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_313_getMessagesAfter__fromC)
+HXDLIN( 313) if (::hx::IsNull( handler )) {
+HXDLIN( 313) this->getMessagesAfter(afterId,afterTime);
+ }
+ else {
+ 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_a94f40d98d9e57cb_313_getMessagesAfter__fromC)
+HXDLIN( 313) ::cpp::Function< void (void**,size_t,void*) > handler1 = handler;
+HXLINE( 291) {
+HXLINE( 291) int _g = 0;
+HXDLIN( 291) while((_g < v->length)){
+HXLINE( 291) ::borogove::ChatMessage el = v->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 291) _g = (_g + 1);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic haxeObject = el;
+HXDLIN( 291) void* ptr = haxeObject.mPtr;
+HXDLIN( 291) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 291) if (::hx::IsNull( store )) {
+HXLINE( 291) 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( 291) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 291) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 291) void** ptr1 = (void**)v->getBase();
+HXDLIN( 291) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 291) if (::hx::IsNull( store1 )) {
+HXLINE( 291) store1 = ::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( 291) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXLINE( 291) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 313) handler1(ptr1,( (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_a94f40d98d9e57cb_313_getMessagesAfter__fromC)
+HXDLIN( 313) handler(null(),( (size_t)(0) ),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 313) ::thenshim::_Promise::Promise_Impl__obj::then(this->getMessagesAfter(afterId,afterTime), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,getMessagesAround,return )
+
+void Chat_obj::getMessagesAround__fromC(::String aroundId,::String aroundTime,::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_313_getMessagesAround__fromC)
+HXDLIN( 313) if (::hx::IsNull( handler )) {
+HXDLIN( 313) this->getMessagesAround(aroundId,aroundTime);
+ }
+ else {
+ 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_a94f40d98d9e57cb_313_getMessagesAround__fromC)
+HXDLIN( 313) ::cpp::Function< void (void**,size_t,void*) > handler1 = handler;
+HXLINE( 291) {
+HXLINE( 291) int _g = 0;
+HXDLIN( 291) while((_g < v->length)){
+HXLINE( 291) ::borogove::ChatMessage el = v->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 291) _g = (_g + 1);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic haxeObject = el;
+HXDLIN( 291) void* ptr = haxeObject.mPtr;
+HXDLIN( 291) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 291) if (::hx::IsNull( store )) {
+HXLINE( 291) 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( 291) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 291) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 291) void** ptr1 = (void**)v->getBase();
+HXDLIN( 291) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 291) if (::hx::IsNull( store1 )) {
+HXLINE( 291) store1 = ::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( 291) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXLINE( 291) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 313) handler1(ptr1,( (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_a94f40d98d9e57cb_313_getMessagesAround__fromC)
+HXDLIN( 313) handler(null(),( (size_t)(0) ),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 313) ::thenshim::_Promise::Promise_Impl__obj::then(this->getMessagesAround(aroundId,aroundTime), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+ }
+ }
+
+
+::Dynamic Chat_obj::fetchFromSync( ::borogove::MessageSync sync){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::borogove::Chat,_gthis, ::borogove::MessageSync,sync) HXARGC(2)
+ 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_167_fetchFromSync)
+HXLINE( 168) ::Array< ::Dynamic> chatMessages = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 169) {
+HXLINE( 169) int _g = 0;
+HXDLIN( 169) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(messageList->__Field(HX_("messages",cc,d8,fd,34),::hx::paccDynamic)) );
+HXDLIN( 169) while((_g < _g1->length)){
+HXLINE( 169) ::borogove::Message m = _g1->__get(_g).StaticCast< ::borogove::Message >();
+HXDLIN( 169) _g = (_g + 1);
+HXLINE( 170) {
+HXLINE( 170) ::borogove::MessageStanza _g2 = m->parsed;
+HXDLIN( 170) switch((int)(_g2->_hx_getIndex())){
+ case (int)0: {
+HXLINE( 178) ::Dynamic _gthis1 = _gthis->persistence;
+HXLINE( 179) ::String _hx_tmp = _gthis->client->accountId();
+HXLINE( 178) ::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( 172) chatMessages->push(_g2->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >());
+ }
+ break;
+ case (int)2: {
+HXLINE( 176) _gthis->client->moderateMessage(_g2->_hx_getObject(0).StaticCast< ::borogove::ModerationAction >());
+ }
+ break;
+ case (int)3: {
+HXLINE( 174) ::Dynamic _gthis2 = _gthis->persistence;
+HXDLIN( 174) ::borogove::Persistence_obj::storeReaction(_gthis2,_gthis->client->accountId(),_g2->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >());
+ }
+ break;
+ default:{
+ }
+ }
+ }
+ }
+ }
+HXLINE( 188) bool _hx_tmp1;
+HXDLIN( 188) if ((chatMessages->length < 1)) {
+HXLINE( 188) _hx_tmp1 = sync->hasMore();
+ }
+ else {
+HXLINE( 188) _hx_tmp1 = false;
+ }
+HXDLIN( 188) if (_hx_tmp1) {
+HXLINE( 189) 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_191_fetchFromSync)
+HXLINE( 192) ::Dynamic resolve1 = resolve;
+HXDLIN( 192) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 192) {
+HXLINE( 192) int _g1 = 0;
+HXDLIN( 192) while((_g1 < chatMessages->length)){
+HXLINE( 192) ::borogove::ChatMessage v = chatMessages->__get(_g1).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 192) _g1 = (_g1 + 1);
+HXDLIN( 192) bool _hx_tmp;
+HXDLIN( 192) if (::hx::IsNotNull( v )) {
+HXLINE( 192) ::String _hx_tmp1 = v->chatId();
+HXDLIN( 192) _hx_tmp = (_hx_tmp1 == _gthis->chatId);
+ }
+ else {
+HXLINE( 192) _hx_tmp = false;
+ }
+HXDLIN( 192) if (_hx_tmp) {
+HXLINE( 192) _g->push(v);
+ }
+ }
+ }
+HXDLIN( 192) resolve1(_g);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 191) ::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_166_fetchFromSync)
+HXLINE( 167) sync->onMessages( ::Dynamic(new _hx_Closure_1(_gthis,sync,resolve)));
+HXLINE( 196) sync->onError(reject);
+HXLINE( 197) sync->fetchNext();
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_165_fetchFromSync)
+HXDLIN( 165) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 166) 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_315_sendMessage__fromC)
+HXDLIN( 315) this->sendMessage(message);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,sendMessage__fromC,(void))
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,sendMessageStanza,(void))
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,markReadUpTo,(void))
+
+void Chat_obj::markReadUpTo__fromC( ::borogove::ChatMessage message){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_315_markReadUpTo__fromC)
+HXDLIN( 315) this->markReadUpTo(message);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,markReadUpTo__fromC,(void))
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,bookmark,(void))
+
+void Chat_obj::bookmark__fromC(){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_315_bookmark__fromC)
+HXDLIN( 315) this->bookmark();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,bookmark__fromC,(void))
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,getParticipants,return )
+
+size_t Chat_obj::getParticipants__fromC(const char*** outPtr){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_311_getParticipants__fromC)
+HXDLIN( 311) ::Array< ::String > out = this->getParticipants();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< const char** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) ::Array< size_t > arr = ::Array_obj< size_t >::__new(out->length);
+HXDLIN( 311) {
+HXDLIN( 311) int _g_current = 0;
+HXDLIN( 311) ::Array< ::String > _g_array = out;
+HXDLIN( 311) while((_g_current < _g_array->length)){
+HXDLIN( 311) ::String _g_value = _g_array->__get(_g_current);
+HXDLIN( 311) _g_current = (_g_current + 1);
+HXDLIN( 311) ::String el = _g_value;
+HXDLIN( 311) {
+HXDLIN( 311) const char* cStrPtr = el.utf8_str();
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) const char* ptr = cStrPtr;
+HXDLIN( 311) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)arr->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(( (const char**)(ptr1) ));
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,getParticipantDetails,return )
+
+ ::borogove::Participant Chat_obj::getParticipantDetails__fromC(::String participantId){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_315_getParticipantDetails__fromC)
+HXDLIN( 315) return this->getParticipantDetails(participantId);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,getParticipantDetails__fromC,return )
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,correctMessage,(void))
+
+void Chat_obj::correctMessage__fromC(::String localId, ::borogove::ChatMessageBuilder message){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_315_correctMessage__fromC)
+HXDLIN( 315) this->correctMessage(localId,message);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,correctMessage__fromC,(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_256_addReaction)
+HXLINE( 257) toSend->text = ::StringTools_obj::replace(text,HX_W(u"\ufe0f",fb86,00b5),HX_("",00,00,00,00));
+HXLINE( 258) 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_STACKFRAME(&_hx_pos_9cc1265c56ba593e_260_addReaction)
+HXLINE( 261) ::borogove::Hash hash = ::borogove::Hash_obj::fromUri(uri);
+HXLINE( 262) ::borogove::ChatMessageBuilder toSend1 = toSend;
+HXDLIN( 262) ::String _hx_tmp = ((HX_("<img alt=\"",15,9f,1a,99) + ::borogove::_Util::Util_Fields__obj::xmlEscape(text)) + HX_("\" src=\"",ab,ae,ff,d3));
+HXDLIN( 262) ::String _hx_tmp1;
+HXDLIN( 262) if (::hx::IsNull( hash )) {
+HXLINE( 262) _hx_tmp1 = uri;
+ }
+ else {
+HXLINE( 262) _hx_tmp1 = hash->bobUri();
+ }
+HXDLIN( 262) toSend1->setHtml(((_hx_tmp + ::borogove::_Util::Util_Fields__obj::xmlEscape(_hx_tmp1)) + HX_("\" />",6d,b2,91,16)));
+HXLINE( 263) return HX_("",00,00,00,00);
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_252_addReaction)
+HXLINE( 253) ::borogove::ChatMessageBuilder toSend = m->reply();
+HXLINE( 254) toSend->localId = ::borogove::ID_obj::_hx_long();
+HXLINE( 255) reaction->render( ::Dynamic(new _hx_Closure_0(toSend)), ::Dynamic(new _hx_Closure_1(toSend)));
+HXLINE( 266) this->sendMessage(toSend);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,addReaction,(void))
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,removeReaction,(void))
+
+void Chat_obj::removeReaction__fromC( ::borogove::ChatMessage m, ::borogove::Reaction reaction){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_315_removeReaction__fromC)
+HXDLIN( 315) this->removeReaction(m,reaction);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,removeReaction__fromC,(void))
+
+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_306_typing)
+HXLINE( 307) _gthis->sendChatState(HX_("paused",ae,40,84,ef),_gthis->typingThread);
+HXLINE( 308) _gthis->isTyping = false;
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_285_typing)
+HXDLIN( 285) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 286) bool _hx_tmp;
+HXDLIN( 286) if ((threadId != this->typingThread)) {
+HXLINE( 286) _hx_tmp = this->isTyping;
+ }
+ else {
+HXLINE( 286) _hx_tmp = false;
+ }
+HXDLIN( 286) if (_hx_tmp) {
+HXLINE( 288) this->sendChatState(HX_("paused",ae,40,84,ef),this->typingThread);
+HXLINE( 289) this->isTyping = false;
+ }
+HXLINE( 292) this->typingThread = threadId;
+HXLINE( 293) if (::hx::IsNotNull( this->typingTimer )) {
+HXLINE( 293) this->typingTimer->stop();
+ }
+HXLINE( 295) if ((content == HX_("",00,00,00,00))) {
+HXLINE( 296) this->isTyping = false;
+HXLINE( 297) this->sendChatState(HX_("active",c6,41,46,16),this->typingThread);
+HXLINE( 298) 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_300_typing)
+HXLINE( 300) _gthis->sendChatState(HX_("inactive",6b,17,30,6a),_gthis->typingThread);
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+HXLINE( 299) this->typingTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_0(_gthis)),30000);
+ }
+HXLINE( 303) return;
+ }
+HXLINE( 306) this->typingTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(_gthis)),10000);
+HXLINE( 311) if (this->isTyping) {
+HXLINE( 311) return;
+ }
+HXLINE( 312) this->isTyping = true;
+HXLINE( 313) 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_324_setActive)
+HXLINE( 325) if (::hx::IsNotNull( this->typingTimer )) {
+HXLINE( 325) this->typingTimer->stop();
+ }
+HXLINE( 326) this->isTyping = false;
+HXLINE( 328) bool _hx_tmp;
+HXDLIN( 328) bool _hx_tmp1;
+HXDLIN( 328) if (( (bool)(this->isActive) )) {
+HXLINE( 328) _hx_tmp1 = active;
+ }
+ else {
+HXLINE( 328) _hx_tmp1 = false;
+ }
+HXDLIN( 328) if (_hx_tmp1) {
+HXLINE( 328) _hx_tmp = (threadId != this->activeThread);
+ }
+ else {
+HXLINE( 328) _hx_tmp = false;
+ }
+HXDLIN( 328) if (_hx_tmp) {
+HXLINE( 329) this->sendChatState(HX_("inactive",6b,17,30,6a),this->activeThread);
+HXLINE( 330) this->isActive = false;
+ }
+HXLINE( 332) if (::hx::IsNotNull( this->isActive )) {
+HXLINE( 333) bool _hx_tmp2;
+HXDLIN( 333) if (( (bool)(this->isActive) )) {
+HXLINE( 333) _hx_tmp2 = active;
+ }
+ else {
+HXLINE( 333) _hx_tmp2 = false;
+ }
+HXDLIN( 333) if (_hx_tmp2) {
+HXLINE( 333) return;
+ }
+HXLINE( 334) bool _hx_tmp3;
+HXDLIN( 334) if (!(( (bool)(this->isActive) ))) {
+HXLINE( 334) _hx_tmp3 = !(active);
+ }
+ else {
+HXLINE( 334) _hx_tmp3 = false;
+ }
+HXDLIN( 334) if (_hx_tmp3) {
+HXLINE( 334) return;
+ }
+ }
+HXLINE( 336) this->isActive = active;
+HXLINE( 337) this->activeThread = threadId;
+HXLINE( 338) ::String _hx_tmp4;
+HXDLIN( 338) if (active) {
+HXLINE( 338) _hx_tmp4 = HX_("active",c6,41,46,16);
+ }
+ else {
+HXLINE( 338) _hx_tmp4 = HX_("inactive",6b,17,30,6a);
+ }
+HXDLIN( 338) this->sendChatState(_hx_tmp4,this->activeThread);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,setActive,(void))
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,close,(void))
+
+void Chat_obj::close__fromC(){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_315_close__fromC)
+HXDLIN( 315) this->close();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,close__fromC,(void))
+
+void Chat_obj::togglePinned(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_349_togglePinned)
+HXLINE( 350) int _hx_tmp;
+HXDLIN( 350) if ((this->uiState != 0)) {
+HXLINE( 350) _hx_tmp = 0;
+ }
+ else {
+HXLINE( 350) _hx_tmp = 1;
+ }
+HXDLIN( 350) this->uiState = _hx_tmp;
+HXLINE( 351) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN( 351) ::borogove::Persistence_obj::storeChats(_hx_tmp1,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE( 352) this->client->sortChats();
+HXLINE( 353) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+ }
+
+
+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_359_block)
+HXLINE( 360) bool _hx_tmp;
+HXDLIN( 360) if (reportSpam) {
+HXLINE( 360) _hx_tmp = !(onServer);
+ }
+ else {
+HXLINE( 360) _hx_tmp = false;
+ }
+HXDLIN( 360) if (_hx_tmp) {
+HXLINE( 360) HX_STACK_DO_THROW(HX_("Can't report SPAM if not sending to server",60,59,79,c5));
+ }
+HXLINE( 362) bool _hx_tmp1;
+HXDLIN( 362) bool _hx_tmp2;
+HXDLIN( 362) if (onServer) {
+HXLINE( 362) _hx_tmp2 = (this->invites()->length > 0);
+ }
+ else {
+HXLINE( 362) _hx_tmp2 = false;
+ }
+HXDLIN( 362) if (_hx_tmp2) {
+HXLINE( 362) _hx_tmp1 = (this->uiState == 3);
+ }
+ else {
+HXLINE( 362) _hx_tmp1 = false;
+ }
+HXDLIN( 362) if (_hx_tmp1) {
+HXLINE( 364) {
+HXLINE( 364) int _g = 0;
+HXDLIN( 364) ::Array< ::Dynamic> _g1 = this->invites();
+HXDLIN( 364) 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_378_block)
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 364) ::borogove::Stanza invite = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN( 364) _g = (_g + 1);
+HXLINE( 365) ::borogove::JID inviteFrom = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(invite->attr,HX_("from",6a,a5,c2,43))) ));
+HXLINE( 366) ::borogove::Client inviteFromBareChat = this->client;
+HXDLIN( 366) ::borogove::Chat inviteFromBareChat1 = inviteFromBareChat->getChat(inviteFrom->asBare()->asString());
+HXLINE( 367) ::String toBlock;
+HXDLIN( 367) bool toBlock1;
+HXDLIN( 367) if (::hx::IsNotNull( inviteFromBareChat1 )) {
+HXLINE( 367) toBlock1 = ::Std_obj::isOfType(inviteFromBareChat1,::hx::ClassOf< ::borogove::Channel >());
+ }
+ else {
+HXLINE( 367) toBlock1 = false;
+ }
+HXDLIN( 367) if (toBlock1) {
+HXLINE( 367) toBlock = inviteFrom->asString();
+ }
+ else {
+HXLINE( 367) toBlock = inviteFrom->asBare()->asString();
+ }
+HXLINE( 369) ::String iq = ::borogove::ID_obj::_hx_short();
+HXDLIN( 369) ::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( 372) if (reportSpam) {
+HXLINE( 373) ::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( 374) ::borogove::Stanza stanzaIdEl = invite->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
+HXLINE( 375) if (::hx::IsNotNull( stanzaIdEl )) {
+HXLINE( 375) report->addChild(stanzaIdEl);
+ }
+HXLINE( 376) report->up();
+ }
+HXLINE( 378) this->stream->sendIq(iq1, ::Dynamic(new _hx_Closure_0()));
+ }
+ }
+HXLINE( 380) this->close();
+HXLINE( 381) return;
+ }
+HXLINE( 384) this->isBlocked = true;
+HXLINE( 385) if ((this->uiState == 2)) {
+HXLINE( 386) ::Dynamic _hx_tmp3 = this->persistence;
+HXDLIN( 386) ::borogove::Persistence_obj::storeChats(_hx_tmp3,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+ }
+ else {
+HXLINE( 388) this->close();
+ }
+HXLINE( 390) 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_406_block)
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 391) ::String iq2 = ::borogove::ID_obj::_hx_short();
+HXDLIN( 391) ::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( 394) if (reportSpam) {
+HXLINE( 395) ::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( 396) if (::hx::IsNotNull( spamMessage )) {
+HXLINE( 397) 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();
+ }
+ else {
+HXLINE( 399) int _g2 = 0;
+HXDLIN( 399) ::Array< ::Dynamic> _g3 = this->invites();
+HXDLIN( 399) while((_g2 < _g3->length)){
+HXLINE( 399) ::borogove::Stanza invite1 = _g3->__get(_g2).StaticCast< ::borogove::Stanza >();
+HXDLIN( 399) _g2 = (_g2 + 1);
+HXLINE( 400) ::borogove::Stanza stanzaIdEl1 = invite1->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
+HXLINE( 401) if (::hx::IsNotNull( stanzaIdEl1 )) {
+HXLINE( 401) report1->addChild(stanzaIdEl1);
+ }
+ }
+ }
+HXLINE( 404) report1->up();
+ }
+HXLINE( 406) this->stream->sendIq(iq3, ::Dynamic(new _hx_Closure_1()));
+ }
+ }
+
+
+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_413_unblock)
+HXLINE( 414) this->isBlocked = false;
+HXLINE( 415) this->uiState = 1;
+HXLINE( 416) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN( 416) ::borogove::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE( 417) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE( 418) 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_423_unblock)
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 419) ::borogove::GenericStream _hx_tmp1 = this->stream;
+HXLINE( 420) ::String _hx_tmp2 = ::borogove::ID_obj::_hx_short();
+HXLINE( 419) _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()));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,unblock,(void))
+
+void Chat_obj::setNotificationsInternal(bool filtered,bool mention,bool reply){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_430_setNotificationsInternal)
+HXDLIN( 430) if (filtered) {
+HXLINE( 431) 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( 433) 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_440_setNotifications)
+HXLINE( 441) this->setNotificationsInternal(filtered,mention,reply);
+HXLINE( 442) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN( 442) ::borogove::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE( 443) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE( 444) this->client->updatePushIfEnabled();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC3(Chat_obj,setNotifications,(void))
+
+bool Chat_obj::notificationsFiltered(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_451_notificationsFiltered)
+HXDLIN( 451) return ::hx::IsNotNull( this->notificationSettings );
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,notificationsFiltered,return )
+
+bool Chat_obj::notifyMention(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_458_notifyMention)
+HXDLIN( 458) if (::hx::IsNotNull( this->notificationSettings )) {
+HXDLIN( 458) return ( (bool)(this->notificationSettings->__Field(HX_("mention",ea,9e,bf,b9),::hx::paccDynamic)) );
+ }
+ else {
+HXDLIN( 458) return true;
+ }
+HXDLIN( 458) return false;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,notifyMention,return )
+
+bool Chat_obj::notifyReply(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_465_notifyReply)
+HXDLIN( 465) if (::hx::IsNotNull( this->notificationSettings )) {
+HXDLIN( 465) return ( (bool)(this->notificationSettings->__Field(HX_("reply",2a,09,c6,e6),::hx::paccDynamic)) );
+ }
+ else {
+HXDLIN( 465) return true;
+ }
+HXDLIN( 465) return false;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,notifyReply,return )
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,lastMessageId,return )
+
+::String Chat_obj::lastMessageId__fromC(){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_315_lastMessageId__fromC)
+HXDLIN( 315) return this->lastMessageId();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,lastMessageId__fromC,return )
+
+void Chat_obj::updateFromBookmark( ::borogove::Stanza item){
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_474_updateFromBookmark)
+HXLINE( 475) this->isBookmarked = true;
+HXLINE( 476) ::borogove::Stanza conf = item->getChild(HX_("conference",1c,2b,83,41),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d));
+HXLINE( 477) ::String fn = ( (::String)(::Reflect_obj::field(conf->attr,HX_("name",4b,72,ff,48))) );
+HXLINE( 478) if (::hx::IsNotNull( fn )) {
+HXLINE( 478) this->displayName = fn;
+ }
+HXLINE( 479) int _hx_tmp;
+HXDLIN( 479) bool _hx_tmp1;
+HXDLIN( 479) if ((( (::String)(::Reflect_obj::field(conf->attr,HX_("autojoin",d9,f6,b1,3e))) ) != HX_("1",31,00,00,00))) {
+HXLINE( 479) _hx_tmp1 = (( (::String)(::Reflect_obj::field(conf->attr,HX_("autojoin",d9,f6,b1,3e))) ) == HX_("true",4e,a7,03,4d));
+ }
+ else {
+HXLINE( 479) _hx_tmp1 = true;
+ }
+HXDLIN( 479) if (_hx_tmp1) {
+HXLINE( 479) if ((this->uiState == 0)) {
+HXLINE( 479) _hx_tmp = 0;
+ }
+ else {
+HXLINE( 479) _hx_tmp = 1;
+ }
+ }
+ else {
+HXLINE( 479) _hx_tmp = 2;
+ }
+HXDLIN( 479) this->uiState = _hx_tmp;
+HXLINE( 480) ::borogove::Stanza tmp = conf->getChild(HX_("extensions",14,7c,70,89),null());
+HXDLIN( 480) ::borogove::Stanza _hx_tmp2;
+HXDLIN( 480) if (::hx::IsNotNull( tmp )) {
+HXLINE( 480) _hx_tmp2 = tmp;
+ }
+ else {
+HXLINE( 480) _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))));
+ }
+HXDLIN( 480) this->extensions = _hx_tmp2;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,updateFromBookmark,(void))
+
+void Chat_obj::updateFromRoster( ::Dynamic item){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_484_updateFromRoster)
+HXLINE( 485) this->isBookmarked = true;
+HXLINE( 486) bool _hx_tmp;
+HXDLIN( 486) if (::hx::IsNotEq( item->__Field(HX_("subscription",1d,ff,00,36),::hx::paccDynamic),HX_("both",81,88,1b,41) )) {
+HXLINE( 486) _hx_tmp = ::hx::IsEq( item->__Field(HX_("subscription",1d,ff,00,36),::hx::paccDynamic),HX_("from",6a,a5,c2,43) );
+ }
+ else {
+HXLINE( 486) _hx_tmp = true;
+ }
+HXDLIN( 486) this->setTrusted(_hx_tmp);
+HXLINE( 487) bool _hx_tmp1;
+HXDLIN( 487) if (::hx::IsNotNull( item->__Field(HX_("fn",48,59,00,00),::hx::paccDynamic) )) {
+HXLINE( 487) _hx_tmp1 = ::hx::IsNotEq( item->__Field(HX_("fn",48,59,00,00),::hx::paccDynamic),HX_("",00,00,00,00) );
+ }
+ else {
+HXLINE( 487) _hx_tmp1 = false;
+ }
+HXDLIN( 487) if (_hx_tmp1) {
+HXLINE( 487) this->displayName = ( (::String)(item->__Field(HX_("fn",48,59,00,00),::hx::paccDynamic)) );
+ }
+HXLINE( 488) if ((this->uiState == 3)) {
+HXLINE( 488) this->uiState = 1;
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,updateFromRoster,(void))
+
+::String Chat_obj::getPhoto(){
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_494_getPhoto)
+HXLINE( 495) bool _hx_tmp;
+HXDLIN( 495) if (::hx::IsNotNull( this->avatarSha1 )) {
+HXLINE( 495) _hx_tmp = (::haxe::io::Bytes_obj::ofData(this->avatarSha1)->length < 1);
+ }
+ else {
+HXLINE( 495) _hx_tmp = true;
+ }
+HXDLIN( 495) if (_hx_tmp) {
+HXLINE( 495) return null();
+ }
+HXLINE( 496) 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_503_getPlaceholder)
+HXDLIN( 503) ::String _hx_tmp = this->chatId;
+HXDLIN( 503) return ::borogove::Color_obj::defaultPhoto(_hx_tmp,this->getDisplayName().charAt(0).toUpperCase());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,getPlaceholder,return )
+
+::String Chat_obj::readUpTo(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_510_readUpTo)
+HXDLIN( 510) return this->readUpToId;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,readUpTo,return )
+
+int Chat_obj::unreadCount(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_517_unreadCount)
+HXDLIN( 517) return this->_unreadCount;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,unreadCount,return )
+
+void Chat_obj::setUnreadCount(int count){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_522_setUnreadCount)
+HXDLIN( 522) this->_unreadCount = count;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setUnreadCount,(void))
+
+::String Chat_obj::preview(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_528_preview)
+HXLINE( 529) if (::hx::IsNull( this->lastMessage )) {
+HXLINE( 529) return HX_("",00,00,00,00);
+ }
+HXLINE( 531) if ((this->lastMessage->type == 1)) {
+HXLINE( 533) if (this->lastMessage->isIncoming()) {
+HXLINE( 533) return HX_("Incoming Call",18,e2,4d,47);
+ }
+ else {
+HXLINE( 533) return HX_("Outgoing Call",d2,04,61,e8);
+ }
+ }
+ else {
+HXLINE( 535) return this->lastMessage->text;
+ }
+HXLINE( 531) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,preview,return )
+
+void Chat_obj::setLastMessage( ::borogove::ChatMessage message){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_541_setLastMessage)
+HXDLIN( 541) this->lastMessage = message;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setLastMessage,(void))
+
+void Chat_obj::setDisplayName(::String displayName){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_549_setDisplayName)
+HXLINE( 550) this->displayName = displayName;
+HXLINE( 551) this->bookmark();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setDisplayName,(void))
+
+::String Chat_obj::getDisplayName(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_557_getDisplayName)
+HXLINE( 558) if ((this->displayName == this->chatId)) {
+HXLINE( 559) ::String _hx_tmp = this->chatId;
+HXDLIN( 559) if ((_hx_tmp == this->client->accountId())) {
+HXLINE( 559) return this->client->displayName();
+ }
+HXLINE( 561) ::Array< ::String > participants = this->getParticipants();
+HXLINE( 562) bool _hx_tmp1;
+HXDLIN( 562) if ((participants->length > 2)) {
+HXLINE( 562) _hx_tmp1 = (participants->length < 20);
+ }
+ else {
+HXLINE( 562) _hx_tmp1 = false;
+ }
+HXDLIN( 562) if (_hx_tmp1) {
+HXLINE( 563) ::Array< ::String > result = ::Array_obj< ::String >::__new(participants->length);
+HXDLIN( 563) {
+HXLINE( 563) int _g = 0;
+HXDLIN( 563) int _g1 = participants->length;
+HXDLIN( 563) while((_g < _g1)){
+HXLINE( 563) _g = (_g + 1);
+HXDLIN( 563) int i = (_g - 1);
+HXDLIN( 563) {
+HXLINE( 563) ::String id = ( (::String)(_hx_array_unsafe_get(participants,i)) );
+HXLINE( 564) ::borogove::Participant p;
+HXDLIN( 564) if ((id == this->chatId)) {
+HXLINE( 564) p = null();
+ }
+ else {
+HXLINE( 564) p = this->getParticipantDetails(id);
+ }
+HXLINE( 563) ::String inValue;
+HXLINE( 565) bool inValue1;
+HXDLIN( 565) if (::hx::IsNotNull( p )) {
+HXLINE( 565) inValue1 = p->isSelf;
+ }
+ else {
+HXLINE( 565) inValue1 = true;
+ }
+HXDLIN( 565) if (inValue1) {
+HXLINE( 563) inValue = null();
+ }
+ else {
+HXLINE( 563) inValue = p->displayName;
+ }
+HXDLIN( 563) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 563) ::Array< ::String > _g2 = ::Array_obj< ::String >::__new(0);
+HXDLIN( 563) {
+HXLINE( 563) int _g3 = 0;
+HXDLIN( 563) while((_g3 < result->length)){
+HXLINE( 563) ::String v = result->__get(_g3);
+HXDLIN( 563) _g3 = (_g3 + 1);
+HXDLIN( 563) if (::hx::IsNotNull( v )) {
+HXLINE( 563) _g2->push(v);
+ }
+ }
+ }
+HXDLIN( 563) return _g2->join(HX_(", ",74,26,00,00));
+ }
+ }
+ else {
+HXLINE( 568) if ((this->uiState == 3)) {
+HXLINE( 569) return ((((HX_("",00,00,00,00) + this->displayName) + HX_(" (",08,1c,00,00)) + this->chatId) + HX_(")",29,00,00,00));
+ }
+ }
+HXLINE( 572) return this->displayName;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,getDisplayName,return )
+
+void Chat_obj::setPresence(::String resource, ::borogove::Presence presence){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_577_setPresence)
+HXDLIN( 577) this->presence->set(resource,presence);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,setPresence,(void))
+
+void Chat_obj::setCaps(::String resource, ::borogove::Caps caps){
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_581_setCaps)
+HXLINE( 582) ::borogove::Presence presence = ( ( ::borogove::Presence)(this->presence->get(resource)) );
+HXLINE( 583) if (::hx::IsNotNull( presence )) {
+HXLINE( 584) presence->caps = caps;
+HXLINE( 585) this->setPresence(resource,presence);
+ }
+ else {
+HXLINE( 587) this->setPresence(resource, ::borogove::Presence_obj::__alloc( HX_CTX ,caps,null(),null()));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,setCaps,(void))
+
+void Chat_obj::removePresence(::String resource){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_593_removePresence)
+HXDLIN( 593) this->presence->remove(resource);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,removePresence,(void))
+
+ ::Dynamic Chat_obj::getCaps(){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,iter) HXARGC(0)
+ ::Dynamic _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_601_getCaps)
+HXLINE( 602) ::Dynamic n = iter->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
+HXLINE( 603) return ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("key",9f,89,51,00), ::Dynamic(n->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)))
+ ->setFixed(1,HX_("value",71,7f,b8,31),( ( ::borogove::Presence)(n->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) )->caps));
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_597_getCaps)
+HXLINE( 598) ::Dynamic iter = ::haxe::iterators::MapKeyValueIterator_obj::__alloc( HX_CTX ,this->presence);
+HXLINE( 599) 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(iter))));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,getCaps,return )
+
+ ::borogove::Caps Chat_obj::getResourceCaps(::String resource){
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_610_getResourceCaps)
+HXDLIN( 610) ::borogove::Presence tmp = ( ( ::borogove::Presence)(this->presence->get(resource)) );
+HXDLIN( 610) ::borogove::Caps tmp1;
+HXDLIN( 610) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 610) tmp1 = tmp->caps;
+ }
+ else {
+HXDLIN( 610) tmp1 = null();
+ }
+HXDLIN( 610) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN( 610) return tmp1;
+ }
+ else {
+HXDLIN( 610) return ::borogove::Caps_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::__new(0),::Array_obj< ::Dynamic>::__new(0),null());
+ }
+HXDLIN( 610) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,getResourceCaps,return )
+
+void Chat_obj::setAvatarSha1(::Array< unsigned char > sha1){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_615_setAvatarSha1)
+HXDLIN( 615) this->avatarSha1 = sha1;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setAvatarSha1,(void))
+
+void Chat_obj::setTrusted(bool trusted){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_623_setTrusted)
+HXLINE( 624) this->trusted = trusted;
+HXLINE( 625) bool _hx_tmp;
+HXDLIN( 625) if (trusted) {
+HXLINE( 625) _hx_tmp = (this->uiState == 3);
+ }
+ else {
+HXLINE( 625) _hx_tmp = false;
+ }
+HXDLIN( 625) if (_hx_tmp) {
+HXLINE( 626) this->uiState = 1;
+HXLINE( 627) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setTrusted,(void))
+
+bool Chat_obj::isTrusted(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_635_isTrusted)
+HXDLIN( 635) if (!(this->trusted)) {
+HXDLIN( 635) ::String _hx_tmp = this->chatId;
+HXDLIN( 635) return (_hx_tmp == this->client->accountId());
+ }
+ else {
+HXDLIN( 635) return true;
+ }
+HXDLIN( 635) return false;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,isTrusted,return )
+
+bool Chat_obj::livePresence(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_640_livePresence)
+HXDLIN( 640) return true;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,livePresence,return )
+
+bool Chat_obj::syncing(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_647_syncing)
+HXDLIN( 647) return !(this->client->inSync);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,syncing,return )
+
+bool Chat_obj::canAudioCall(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_653_canAudioCall)
+HXLINE( 655) {
+HXLINE( 655) ::Dynamic this1 = this->presence;
+HXDLIN( 655) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN( 655) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 656) bool _hx_tmp;
+HXDLIN( 656) ::borogove::Caps tmp = ( ( ::borogove::Presence)(::haxe::IMap_obj::get(this1,_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)())) )->caps;
+HXDLIN( 656) ::Array< ::String > tmp1;
+HXDLIN( 656) if (::hx::IsNotNull( tmp )) {
+HXLINE( 656) tmp1 = tmp->features;
+ }
+ else {
+HXLINE( 656) tmp1 = null();
+ }
+HXDLIN( 656) ::Dynamic tmp2;
+HXDLIN( 656) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 656) tmp2 = tmp1->contains(HX_("urn:xmpp:jingle:apps:rtp:audio",0f,8b,54,6c));
+ }
+ else {
+HXLINE( 656) tmp2 = null();
+ }
+HXDLIN( 656) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 656) _hx_tmp = ( (bool)(tmp2) );
+ }
+ else {
+HXLINE( 656) _hx_tmp = false;
+ }
+HXDLIN( 656) if (_hx_tmp) {
+HXLINE( 656) return true;
+ }
+ }
+ }
+HXLINE( 659) return false;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,canAudioCall,return )
+
+bool Chat_obj::canVideoCall(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_665_canVideoCall)
+HXLINE( 667) {
+HXLINE( 667) ::Dynamic this1 = this->presence;
+HXDLIN( 667) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN( 667) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 668) bool _hx_tmp;
+HXDLIN( 668) ::borogove::Caps tmp = ( ( ::borogove::Presence)(::haxe::IMap_obj::get(this1,_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)())) )->caps;
+HXDLIN( 668) ::Array< ::String > tmp1;
+HXDLIN( 668) if (::hx::IsNotNull( tmp )) {
+HXLINE( 668) tmp1 = tmp->features;
+ }
+ else {
+HXLINE( 668) tmp1 = null();
+ }
+HXDLIN( 668) ::Dynamic tmp2;
+HXDLIN( 668) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 668) tmp2 = tmp1->contains(HX_("urn:xmpp:jingle:apps:rtp:video",b4,26,d0,7b));
+ }
+ else {
+HXLINE( 668) tmp2 = null();
+ }
+HXDLIN( 668) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 668) _hx_tmp = ( (bool)(tmp2) );
+ }
+ else {
+HXLINE( 668) _hx_tmp = false;
+ }
+HXDLIN( 668) if (_hx_tmp) {
+HXLINE( 668) return true;
+ }
+ }
+ }
+HXLINE( 671) return false;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,canVideoCall,return )
+
+::Dynamic Chat_obj::startCall(bool audio,bool video){
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_681_startCall)
+HXLINE( 682) if ((this->uiState == 3)) {
+HXLINE( 682) this->uiState = 1;
+ }
+HXLINE( 683) ::borogove::Client session = this->client;
+HXDLIN( 683) ::borogove::calls::OutgoingProposedSession session1 = ::borogove::calls::OutgoingProposedSession_obj::__alloc( HX_CTX ,session,::borogove::JID_obj::parse(this->chatId));
+HXLINE( 684) {
+HXLINE( 684) ::Dynamic this1 = this->jingleSessions;
+HXDLIN( 684) ( ( ::haxe::ds::StringMap)(this1) )->set(session1->get_sid(),session1);
+ }
+HXLINE( 685) session1->propose(audio,video);
+HXLINE( 686) return session1;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,startCall,return )
+
+void Chat_obj::addMedia(::Array< ::Dynamic> streams){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_690_addMedia)
+HXLINE( 691) if ((this->callStatus() != 4)) {
+HXLINE( 691) HX_STACK_DO_THROW(HX_("cannot add media when no call ongoing",6a,0b,2b,6e));
+ }
+HXLINE( 692) ::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_698_acceptCall)
+HXLINE( 699) if ((this->uiState == 3)) {
+HXLINE( 699) this->uiState = 1;
+ }
+HXLINE( 700) {
+HXLINE( 700) ::Dynamic session = this->jingleSessions->iterator();
+HXDLIN( 700) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 701) ::borogove::calls::Session_obj::accept(session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ }
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,acceptCall,(void))
+
+void Chat_obj::hangup(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_709_hangup)
+HXDLIN( 709) ::Dynamic session = this->jingleSessions->iterator();
+HXDLIN( 709) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXDLIN( 709) ::Dynamic session1 = session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
+HXLINE( 710) ::borogove::calls::Session_obj::hangup(session1);
+HXLINE( 711) {
+HXLINE( 711) ::Dynamic this1 = this->jingleSessions;
+HXDLIN( 711) ( ( ::haxe::ds::StringMap)(this1) )->remove(::borogove::calls::Session_obj::get_sid(session1));
+ }
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,hangup,(void))
+
+int Chat_obj::callStatus(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_718_callStatus)
+HXLINE( 719) {
+HXLINE( 719) ::Dynamic session = this->jingleSessions->iterator();
+HXDLIN( 719) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 720) return ::borogove::calls::Session_obj::callStatus(session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ }
+ }
+HXLINE( 723) return 0;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,callStatus,return )
+
+ ::borogove::calls::DTMFSender Chat_obj::dtmf(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_729_dtmf)
+HXLINE( 730) {
+HXLINE( 730) ::Dynamic session = this->jingleSessions->iterator();
+HXDLIN( 730) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 731) ::borogove::calls::DTMFSender dtmf = ::borogove::calls::Session_obj::dtmf(session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+HXLINE( 732) if (::hx::IsNotNull( dtmf )) {
+HXLINE( 732) return dtmf;
+ }
+ }
+ }
+HXLINE( 735) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,dtmf,return )
+
+::Array< ::Dynamic> Chat_obj::videoTracks(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_742_videoTracks)
+HXDLIN( 742) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 742) {
+HXDLIN( 742) ::Dynamic x = this->jingleSessions->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 742) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXDLIN( 742) _g->push(::borogove::calls::Session_obj::videoTracks(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()));
+ }
+ }
+HXDLIN( 742) ::Array< ::Dynamic> _g1 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 742) {
+HXDLIN( 742) ::Dynamic e = _g->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 742) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXDLIN( 742) ::Dynamic x1 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 742) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXDLIN( 742) _g1->push(x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ }
+ }
+ }
+HXDLIN( 742) return _g1;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,videoTracks,return )
+
+size_t Chat_obj::videoTracks__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_311_videoTracks__fromC)
+HXDLIN( 311) ::Array< ::Dynamic> out = this->videoTracks();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) {
+HXDLIN( 311) int _g = 0;
+HXDLIN( 311) while((_g < out->length)){
+HXDLIN( 311) ::borogove::calls::MediaStreamTrack el = out->__get(_g).StaticCast< ::borogove::calls::MediaStreamTrack >();
+HXDLIN( 311) _g = (_g + 1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic haxeObject = el;
+HXDLIN( 311) void* ptr = haxeObject.mPtr;
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXDLIN( 311) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)out->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXDLIN( 311) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),out));
+HXDLIN( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+::String Chat_obj::encryptionMode(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_749_encryptionMode)
+HXDLIN( 749) switch((int)(this->_encryptionMode)){
+ case (int)0: {
+HXLINE( 751) return HX_("unencrypted",8b,80,ea,f1);
+ }
+ break;
+ case (int)1: {
+HXLINE( 753) return HX_("omemo",a9,a8,d3,31);
+ }
+ break;
+ }
+HXLINE( 749) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,encryptionMode,return )
+
+bool Chat_obj::canSend(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_761_canSend)
+HXDLIN( 761) return (::borogove::Caps_obj::withFeature(this->getCaps(),HX_("urn:xmpp:noreply:0",a3,10,eb,d5))->length < 1);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,canSend,return )
+
+void Chat_obj::invite( ::borogove::Chat other,::String threadId){
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_767_invite)
+HXLINE( 768) ::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( 772) if (::hx::IsNotNull( threadId )) {
+HXLINE( 773) ::Reflect_obj::setField(attr,HX_("continue",67,e0,c8,31),HX_("true",4e,a7,03,4d));
+HXLINE( 774) ::Reflect_obj::setField(attr,HX_("thread",ca,7a,b9,8e),threadId);
+ }
+HXLINE( 776) 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());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,invite,(void))
+
+bool Chat_obj::canInvite(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_785_canInvite)
+HXDLIN( 785) return false;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,canInvite,return )
+
+bool Chat_obj::isApp(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_791_isApp)
+HXLINE( 792) 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( 794) if ((this->chatId.indexOf(HX_("@",40,00,00,00),null()) < 0)) {
+HXLINE( 794) return this->hasCommands();
+ }
+ else {
+HXLINE( 794) return false;
+ }
+ }
+HXLINE( 797) bool bot = (::borogove::Caps_obj::withIdentity(this->getCaps(),HX_("client",4b,ca,4f,0a),HX_("bot",07,be,4a,00))->length > 0);
+HXLINE( 798) bool client = (::borogove::Caps_obj::withIdentity(this->getCaps(),HX_("client",4b,ca,4f,0a),null())->length > 0);
+HXLINE( 799) bool account = (::borogove::Caps_obj::withIdentity(this->getCaps(),HX_("account",ad,fc,59,a1),null())->length > 0);
+HXLINE( 801) bool _hx_tmp;
+HXDLIN( 801) bool _hx_tmp1;
+HXDLIN( 801) if (!(client)) {
+HXLINE( 801) _hx_tmp1 = account;
+ }
+ else {
+HXLINE( 801) _hx_tmp1 = true;
+ }
+HXDLIN( 801) if (_hx_tmp1) {
+HXLINE( 801) _hx_tmp = !(bot);
+ }
+ else {
+HXLINE( 801) _hx_tmp = false;
+ }
+HXDLIN( 801) if (_hx_tmp) {
+HXLINE( 801) return false;
+ }
+HXLINE( 803) bool noReply = (::borogove::Caps_obj::withFeature(this->getCaps(),HX_("urn:xmpp:noreply:0",a3,10,eb,d5))->length > 0);
+HXLINE( 805) bool _hx_tmp2;
+HXDLIN( 805) if (bot) {
+HXLINE( 805) _hx_tmp2 = noReply;
+ }
+ else {
+HXLINE( 805) _hx_tmp2 = false;
+ }
+HXDLIN( 805) if (_hx_tmp2) {
+HXLINE( 805) return this->hasCommands();
+ }
+HXLINE( 807) bool conference = (::borogove::Caps_obj::withIdentity(this->getCaps(),HX_("conference",1c,2b,83,41),null())->length > 0);
+HXLINE( 809) bool _hx_tmp3;
+HXDLIN( 809) if (conference) {
+HXLINE( 809) _hx_tmp3 = (this->chatId.indexOf(HX_("@",40,00,00,00),null()) < 0);
+ }
+ else {
+HXLINE( 809) _hx_tmp3 = false;
+ }
+HXDLIN( 809) if (_hx_tmp3) {
+HXLINE( 809) return this->hasCommands();
+ }
+HXLINE( 812) bool _hx_tmp4;
+HXDLIN( 812) if (!(client)) {
+HXLINE( 812) _hx_tmp4 = !(conference);
+ }
+ else {
+HXLINE( 812) _hx_tmp4 = false;
+ }
+HXDLIN( 812) if (_hx_tmp4) {
+HXLINE( 812) return this->hasCommands();
+ }
+ else {
+HXLINE( 812) return false;
+ }
+HXDLIN( 812) return false;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,isApp,return )
+
+bool Chat_obj::hasCommands(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_819_hasCommands)
+HXDLIN( 819) return (this->commandJids()->length > 0);
+ }
+
+
+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_834_commands)
+HXLINE( 834) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 834) {
+HXLINE( 834) int _g_current = 0;
+HXDLIN( 834) while((_g_current < commands->length)){
+HXLINE( 834) _g_current = (_g_current + 1);
+HXDLIN( 834) {
+HXLINE( 834) ::Dynamic x = commands->__get((_g_current - 1)).StaticCast< ::Array< ::Dynamic> >()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 834) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 834) _g->push(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ }
+ }
+ }
+ }
+HXDLIN( 834) return _g;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_822_commands)
+HXDLIN( 822) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 823) ::Array< ::Dynamic> _this = this->commandJids();
+HXDLIN( 823) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN( 823) {
+HXLINE( 823) int _g = 0;
+HXDLIN( 823) int _g1 = _this->length;
+HXDLIN( 823) while((_g < _g1)){
+HXLINE( 823) _g = (_g + 1);
+HXDLIN( 823) int i = (_g - 1);
+HXDLIN( 823) {
+ 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_825_commands)
+HXLINE( 826) jid->asBare();
+HXLINE( 827) ::Dynamic resolve1 = resolve;
+HXDLIN( 827) ::Array< ::Dynamic> _this;
+HXDLIN( 827) ::Array< ::Dynamic> tmp = itemsGet->getResult();
+HXDLIN( 827) if (::hx::IsNotNull( tmp )) {
+HXLINE( 827) _this = tmp;
+ }
+ else {
+HXLINE( 827) _this = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN( 827) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 827) {
+HXLINE( 827) int _g1 = 0;
+HXDLIN( 827) ::Array< ::Dynamic> _g2 = _this;
+HXDLIN( 827) while((_g1 < _g2->length)){
+HXLINE( 827) ::Dynamic v = _g2->__get(_g1);
+HXDLIN( 827) _g1 = (_g1 + 1);
+HXLINE( 830) bool inValue;
+HXDLIN( 830) bool inValue1;
+HXDLIN( 830) if (::hx::IsNotNull( v->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic) )) {
+HXLINE( 830) inValue1 = ( ( ::borogove::JID)(v->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) )->asBare()->equals(jid);
+ }
+ else {
+HXLINE( 830) inValue1 = false;
+ }
+HXDLIN( 830) if (inValue1) {
+HXLINE( 830) inValue = ::hx::IsNotNull( v->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic) );
+ }
+ else {
+HXLINE( 830) inValue = false;
+ }
+HXLINE( 827) if (inValue) {
+HXLINE( 827) _g->push(v);
+ }
+ }
+ }
+HXDLIN( 827) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
+HXDLIN( 827) {
+HXLINE( 827) int _g3 = 0;
+HXDLIN( 827) int _g4 = _g->length;
+HXDLIN( 827) while((_g3 < _g4)){
+HXLINE( 827) _g3 = (_g3 + 1);
+HXDLIN( 827) int i = (_g3 - 1);
+HXDLIN( 827) {
+HXLINE( 831) ::Dynamic item = _hx_array_unsafe_get(_g,i);
+HXLINE( 827) result->__unsafe_set(i, ::borogove::Command_obj::__alloc( HX_CTX ,_gthis->client,item));
+ }
+ }
+ }
+HXDLIN( 827) resolve1(result);
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_823_commands)
+HXLINE( 824) ::borogove::queries::DiscoItemsGet itemsGet = ::borogove::queries::DiscoItemsGet_obj::__alloc( HX_CTX ,jid->asString(),HX_("http://jabber.org/protocol/commands",3c,af,11,6d));
+HXLINE( 825) itemsGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,resolve,jid,itemsGet)));
+HXLINE( 833) _gthis->client->sendQuery(itemsGet);
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+HXLINE( 823) ::borogove::JID jid = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this,i)) );
+HXDLIN( 823) ::Dynamic inValue = ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,jid)));
+HXDLIN( 823) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 823) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(result), ::Dynamic(new _hx_Closure_2()),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,commands,return )
+
+void Chat_obj::commands__fromC(::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_313_commands__fromC)
+HXDLIN( 313) if (::hx::IsNull( handler )) {
+HXDLIN( 313) this->commands();
+ }
+ else {
+ 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_a94f40d98d9e57cb_313_commands__fromC)
+HXDLIN( 313) ::cpp::Function< void (void**,size_t,void*) > handler1 = handler;
+HXLINE( 291) {
+HXLINE( 291) int _g = 0;
+HXDLIN( 291) while((_g < v->length)){
+HXLINE( 291) ::borogove::Command el = v->__get(_g).StaticCast< ::borogove::Command >();
+HXDLIN( 291) _g = (_g + 1);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic haxeObject = el;
+HXDLIN( 291) void* ptr = haxeObject.mPtr;
+HXDLIN( 291) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 291) if (::hx::IsNull( store )) {
+HXLINE( 291) 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( 291) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 291) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 291) void** ptr1 = (void**)v->getBase();
+HXDLIN( 291) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 291) if (::hx::IsNull( store1 )) {
+HXLINE( 291) store1 = ::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( 291) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXLINE( 291) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 313) handler1(ptr1,( (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_a94f40d98d9e57cb_313_commands__fromC)
+HXDLIN( 313) handler(null(),( (size_t)(0) ),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 313) ::thenshim::_Promise::Promise_Impl__obj::then(this->commands(), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+ }
+ }
+
+
+::Array< ::Dynamic> Chat_obj::commandJids(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_837_commandJids)
+HXLINE( 838) ::Array< ::Dynamic> jids = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 839) ::borogove::JID jid = ::borogove::JID_obj::parse(this->chatId);
+HXLINE( 840) {
+HXLINE( 840) int _g = 0;
+HXDLIN( 840) ::Array< ::String > _g1 = ::borogove::Caps_obj::withFeature(this->getCaps(),HX_("http://jabber.org/protocol/commands",3c,af,11,6d));
+HXDLIN( 840) while((_g < _g1->length)){
+HXLINE( 840) ::String resource = _g1->__get(_g);
+HXDLIN( 840) _g = (_g + 1);
+HXLINE( 841) ::borogove::JID _hx_tmp;
+HXDLIN( 841) bool _hx_tmp1;
+HXDLIN( 841) if ((resource != HX_("",00,00,00,00))) {
+HXLINE( 841) _hx_tmp1 = ::hx::IsNull( resource );
+ }
+ else {
+HXLINE( 841) _hx_tmp1 = true;
+ }
+HXDLIN( 841) if (_hx_tmp1) {
+HXLINE( 841) _hx_tmp = jid;
+ }
+ else {
+HXLINE( 841) _hx_tmp = jid->withResource(resource);
+ }
+HXDLIN( 841) jids->push(_hx_tmp);
+ }
+ }
+HXLINE( 843) bool _hx_tmp2;
+HXDLIN( 843) if ((jids->length < 1)) {
+HXLINE( 843) _hx_tmp2 = jid->isDomain();
+ }
+ else {
+HXLINE( 843) _hx_tmp2 = false;
+ }
+HXDLIN( 843) if (_hx_tmp2) {
+HXLINE( 844) jids->push(jid);
+ }
+HXLINE( 846) return jids;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,commandJids,return )
+
+ ::borogove::Participant Chat_obj::invitedBy(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_852_invitedBy)
+HXLINE( 853) ::Array< ::Dynamic> inviteEls = this->invites();
+HXLINE( 854) if ((inviteEls->length < 1)) {
+HXLINE( 854) return null();
+ }
+HXLINE( 856) ::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( 857) ::String bare = inviteFrom->asBare()->asString();
+HXLINE( 858) ::borogove::Chat maybeChannel = this->client->getChat(bare);
+HXLINE( 859) if (::hx::IsNotNull( maybeChannel )) {
+HXLINE( 860) ::borogove::Channel channel = ( ( ::borogove::Channel)(::borogove::_Util::Util_Fields__obj::downcast(maybeChannel,::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE( 861) if (::hx::IsNotNull( channel )) {
+HXLINE( 862) return channel->getParticipantDetails(inviteFrom->asString());
+ }
+ }
+HXLINE( 866) ::borogove::Chat _hx_tmp;
+HXDLIN( 866) if (::hx::IsNotNull( maybeChannel )) {
+HXLINE( 866) _hx_tmp = maybeChannel;
+ }
+ else {
+HXLINE( 866) _hx_tmp = this->client->getDirectChat(bare,null());
+ }
+HXDLIN( 866) return _hx_tmp->getParticipantDetails(bare);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,invitedBy,return )
+
+::Array< ::Dynamic> Chat_obj::invites(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_870_invites)
+HXDLIN( 870) return this->extensions->allTags(HX_("invite",c9,f1,db,9f),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+ }
+
+
+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_874_recomputeUnread)
+HXLINE( 875) int i = messages->length;
+HXLINE( 876) while(true){
+HXLINE( 876) i = (i - 1);
+HXDLIN( 876) if (!((i >= 0))) {
+HXLINE( 876) goto _hx_goto_121;
+ }
+HXLINE( 877) bool _hx_tmp;
+HXDLIN( 877) if ((messages->__get(i).StaticCast< ::borogove::ChatMessage >()->serverId != _gthis->readUpToId)) {
+HXLINE( 877) _hx_tmp = !(messages->__get(i).StaticCast< ::borogove::ChatMessage >()->isIncoming());
+ }
+ else {
+HXLINE( 877) _hx_tmp = true;
+ }
+HXDLIN( 877) if (_hx_tmp) {
+HXLINE( 877) goto _hx_goto_121;
+ }
+ }
+ _hx_goto_121:;
+HXLINE( 879) _gthis->setUnreadCount((messages->length - (i + 1)));
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_873_recomputeUnread)
+HXDLIN( 873) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 874) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN( 874) ::String _hx_tmp1 = this->client->accountId();
+HXDLIN( 874) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesBefore(_hx_tmp,_hx_tmp1,this->chatId,null(),null()), ::Dynamic(new _hx_Closure_0(_gthis)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,recomputeUnread,return )
+
+::Dynamic Chat_obj::markReadUpToId(::String upTo,::String upToBy){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_884_markReadUpToId)
+HXLINE( 885) if (::hx::IsNull( upTo )) {
+HXLINE( 885) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
+ }
+HXLINE( 886) if ((this->readUpTo() == upTo)) {
+HXLINE( 886) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
+ }
+HXLINE( 888) this->readUpToId = upTo;
+HXLINE( 889) this->readUpToBy = upToBy;
+HXLINE( 890) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN( 890) ::borogove::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE( 891) return this->recomputeUnread();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(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_902_markReadUpToMessage)
+HXLINE( 903) bool _hx_tmp;
+HXDLIN( 903) if (::hx::IsNotNull( readMessage )) {
+HXLINE( 903) _hx_tmp = (::Reflect_obj::compare(message->timestamp,readMessage->timestamp) <= 0);
+ }
+ else {
+HXLINE( 903) _hx_tmp = false;
+ }
+HXDLIN( 903) if (_hx_tmp) {
+HXLINE( 904) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
+ }
+HXLINE( 907) return _gthis->markReadUpToId(message->serverId,message->serverIdBy);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_894_markReadUpToMessage)
+HXDLIN( 894) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 895) bool _hx_tmp;
+HXDLIN( 895) if (::hx::IsNotNull( message->serverId )) {
+HXLINE( 895) ::String _hx_tmp1 = message->chatId();
+HXDLIN( 895) _hx_tmp = (_hx_tmp1 != this->chatId);
+ }
+ else {
+HXLINE( 895) _hx_tmp = true;
+ }
+HXDLIN( 895) if (_hx_tmp) {
+HXLINE( 895) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
+ }
+HXLINE( 896) ::String _hx_tmp2 = this->readUpTo();
+HXDLIN( 896) if ((_hx_tmp2 == message->serverId)) {
+HXLINE( 896) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
+ }
+HXLINE( 898) if (::hx::IsNull( this->readUpTo() )) {
+HXLINE( 899) return this->markReadUpToId(message->serverId,message->serverIdBy);
+ }
+HXLINE( 902) ::Dynamic _hx_tmp3 = this->persistence;
+HXDLIN( 902) ::String _hx_tmp4 = this->client->accountId();
+HXDLIN( 902) ::String _hx_tmp5 = this->chatId;
+HXDLIN( 902) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessage(_hx_tmp3,_hx_tmp4,_hx_tmp5,this->readUpTo(),null()), ::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_912_publishMds)
+HXDLIN( 912) ::borogove::Client _hx_tmp = this->client;
+HXLINE( 913) ::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))));
+HXLINE( 918) ::String _hx_tmp2 = this->readUpTo();
+HXLINE( 913) ::borogove::Stanza _hx_tmp3 = _hx_tmp1->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),_hx_tmp2)
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:sid:0",a8,4b,37,54))))->up()->up()->up();
+HXLINE( 912) _hx_tmp->publishWithOptions(_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(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());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,publishMds,(void))
+
+
+Chat_obj::Chat_obj()
+{
+}
+
+void Chat_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Chat);
+ HX_MARK_MEMBER_NAME(client,"client");
+ HX_MARK_MEMBER_NAME(stream,"stream");
+ HX_MARK_MEMBER_NAME(persistence,"persistence");
+ HX_MARK_MEMBER_NAME(avatarSha1,"avatarSha1");
+ HX_MARK_MEMBER_NAME(presence,"presence");
+ HX_MARK_MEMBER_NAME(trusted,"trusted");
+ HX_MARK_MEMBER_NAME(chatId,"chatId");
+ HX_MARK_MEMBER_NAME(jingleSessions,"jingleSessions");
+ HX_MARK_MEMBER_NAME(displayName,"displayName");
+ HX_MARK_MEMBER_NAME(uiState,"uiState");
+ HX_MARK_MEMBER_NAME(isBlocked,"isBlocked");
+ HX_MARK_MEMBER_NAME(lastMessage,"lastMessage");
+ HX_MARK_MEMBER_NAME(isBookmarked,"isBookmarked");
+ HX_MARK_MEMBER_NAME(extensions,"extensions");
+ HX_MARK_MEMBER_NAME(_unreadCount,"_unreadCount");
+ HX_MARK_MEMBER_NAME(readUpToId,"readUpToId");
+ HX_MARK_MEMBER_NAME(readUpToBy,"readUpToBy");
+ HX_MARK_MEMBER_NAME(isTyping,"isTyping");
+ HX_MARK_MEMBER_NAME(typingThread,"typingThread");
+ HX_MARK_MEMBER_NAME(typingTimer,"typingTimer");
+ HX_MARK_MEMBER_NAME(isActive,"isActive");
+ 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_END_CLASS();
+}
+
+void Chat_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(client,"client");
+ HX_VISIT_MEMBER_NAME(stream,"stream");
+ HX_VISIT_MEMBER_NAME(persistence,"persistence");
+ HX_VISIT_MEMBER_NAME(avatarSha1,"avatarSha1");
+ HX_VISIT_MEMBER_NAME(presence,"presence");
+ HX_VISIT_MEMBER_NAME(trusted,"trusted");
+ HX_VISIT_MEMBER_NAME(chatId,"chatId");
+ HX_VISIT_MEMBER_NAME(jingleSessions,"jingleSessions");
+ HX_VISIT_MEMBER_NAME(displayName,"displayName");
+ HX_VISIT_MEMBER_NAME(uiState,"uiState");
+ HX_VISIT_MEMBER_NAME(isBlocked,"isBlocked");
+ HX_VISIT_MEMBER_NAME(lastMessage,"lastMessage");
+ HX_VISIT_MEMBER_NAME(isBookmarked,"isBookmarked");
+ HX_VISIT_MEMBER_NAME(extensions,"extensions");
+ HX_VISIT_MEMBER_NAME(_unreadCount,"_unreadCount");
+ HX_VISIT_MEMBER_NAME(readUpToId,"readUpToId");
+ HX_VISIT_MEMBER_NAME(readUpToBy,"readUpToBy");
+ HX_VISIT_MEMBER_NAME(isTyping,"isTyping");
+ HX_VISIT_MEMBER_NAME(typingThread,"typingThread");
+ HX_VISIT_MEMBER_NAME(typingTimer,"typingTimer");
+ HX_VISIT_MEMBER_NAME(isActive,"isActive");
+ 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::Val Chat_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"dtmf") ) { return ::hx::Val( dtmf_dyn() ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"close") ) { return ::hx::Val( close_dyn() ); }
+ if (HX_FIELD_EQ(inName,"block") ) { return ::hx::Val( block_dyn() ); }
+ if (HX_FIELD_EQ(inName,"isApp") ) { return ::hx::Val( isApp_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"client") ) { return ::hx::Val( client ); }
+ if (HX_FIELD_EQ(inName,"stream") ) { return ::hx::Val( stream ); }
+ if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( chatId ); }
+ if (HX_FIELD_EQ(inName,"outbox") ) { return ::hx::Val( outbox ); }
+ if (HX_FIELD_EQ(inName,"typing") ) { return ::hx::Val( typing_dyn() ); }
+ if (HX_FIELD_EQ(inName,"hangup") ) { return ::hx::Val( hangup_dyn() ); }
+ if (HX_FIELD_EQ(inName,"invite") ) { return ::hx::Val( invite_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"trusted") ) { return ::hx::Val( trusted ); }
+ if (HX_FIELD_EQ(inName,"uiState") ) { return ::hx::Val( uiState ); }
+ 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,"setCaps") ) { return ::hx::Val( setCaps_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() ); }
+ if (HX_FIELD_EQ(inName,"invites") ) { return ::hx::Val( invites_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"presence") ) { return ::hx::Val( presence ); }
+ if (HX_FIELD_EQ(inName,"isTyping") ) { return ::hx::Val( isTyping ); }
+ if (HX_FIELD_EQ(inName,"isActive") ) { return ::hx::Val( isActive ); }
+ if (HX_FIELD_EQ(inName,"bookmark") ) { return ::hx::Val( bookmark_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getPhoto") ) { return ::hx::Val( getPhoto_dyn() ); }
+ if (HX_FIELD_EQ(inName,"readUpTo") ) { return ::hx::Val( readUpTo_dyn() ); }
+ if (HX_FIELD_EQ(inName,"addMedia") ) { return ::hx::Val( addMedia_dyn() ); }
+ if (HX_FIELD_EQ(inName,"commands") ) { return ::hx::Val( commands_dyn() ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"isBlocked") ) { return ::hx::Val( isBlocked ); }
+ if (HX_FIELD_EQ(inName,"setActive") ) { return ::hx::Val( setActive_dyn() ); }
+ if (HX_FIELD_EQ(inName,"isTrusted") ) { return ::hx::Val( isTrusted_dyn() ); }
+ if (HX_FIELD_EQ(inName,"startCall") ) { return ::hx::Val( startCall_dyn() ); }
+ if (HX_FIELD_EQ(inName,"canInvite") ) { return ::hx::Val( canInvite_dyn() ); }
+ if (HX_FIELD_EQ(inName,"invitedBy") ) { return ::hx::Val( invitedBy_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"avatarSha1") ) { return ::hx::Val( avatarSha1 ); }
+ if (HX_FIELD_EQ(inName,"extensions") ) { return ::hx::Val( extensions ); }
+ if (HX_FIELD_EQ(inName,"readUpToId") ) { return ::hx::Val( readUpToId ); }
+ if (HX_FIELD_EQ(inName,"readUpToBy") ) { return ::hx::Val( readUpToBy ); }
+ if (HX_FIELD_EQ(inName,"setTrusted") ) { return ::hx::Val( setTrusted_dyn() ); }
+ if (HX_FIELD_EQ(inName,"acceptCall") ) { return ::hx::Val( acceptCall_dyn() ); }
+ if (HX_FIELD_EQ(inName,"callStatus") ) { return ::hx::Val( callStatus_dyn() ); }
+ if (HX_FIELD_EQ(inName,"publishMds") ) { return ::hx::Val( publishMds_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"persistence") ) { return ::hx::Val( persistence ); }
+ if (HX_FIELD_EQ(inName,"displayName") ) { return ::hx::Val( displayName ); }
+ if (HX_FIELD_EQ(inName,"lastMessage") ) { return ::hx::Val( lastMessage ); }
+ if (HX_FIELD_EQ(inName,"typingTimer") ) { return ::hx::Val( typingTimer ); }
+ 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,"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() ); }
+ if (HX_FIELD_EQ(inName,"hasCommands") ) { return ::hx::Val( hasCommands_dyn() ); }
+ if (HX_FIELD_EQ(inName,"commandJids") ) { return ::hx::Val( commandJids_dyn() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"isBookmarked") ) { return ::hx::Val( isBookmarked ); }
+ if (HX_FIELD_EQ(inName,"_unreadCount") ) { return ::hx::Val( _unreadCount ); }
+ if (HX_FIELD_EQ(inName,"typingThread") ) { return ::hx::Val( typingThread ); }
+ if (HX_FIELD_EQ(inName,"activeThread") ) { return ::hx::Val( activeThread ); }
+ if (HX_FIELD_EQ(inName,"markReadUpTo") ) { return ::hx::Val( markReadUpTo_dyn() ); }
+ if (HX_FIELD_EQ(inName,"close__fromC") ) { return ::hx::Val( close__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"togglePinned") ) { return ::hx::Val( togglePinned_dyn() ); }
+ if (HX_FIELD_EQ(inName,"livePresence") ) { return ::hx::Val( livePresence_dyn() ); }
+ if (HX_FIELD_EQ(inName,"canAudioCall") ) { return ::hx::Val( canAudioCall_dyn() ); }
+ if (HX_FIELD_EQ(inName,"canVideoCall") ) { return ::hx::Val( canVideoCall_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"chatId__fromC") ) { return ::hx::Val( chatId__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"fetchFromSync") ) { return ::hx::Val( fetchFromSync_dyn() ); }
+ 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,"lastMessageId") ) { return ::hx::Val( lastMessageId_dyn() ); }
+ if (HX_FIELD_EQ(inName,"setAvatarSha1") ) { return ::hx::Val( setAvatarSha1_dyn() ); }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"jingleSessions") ) { return ::hx::Val( jingleSessions ); }
+ if (HX_FIELD_EQ(inName,"uiState__fromC") ) { return ::hx::Val( uiState__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"correctMessage") ) { return ::hx::Val( correctMessage_dyn() ); }
+ if (HX_FIELD_EQ(inName,"removeReaction") ) { return ::hx::Val( removeReaction_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getPlaceholder") ) { return ::hx::Val( getPlaceholder_dyn() ); }
+ if (HX_FIELD_EQ(inName,"setUnreadCount") ) { return ::hx::Val( setUnreadCount_dyn() ); }
+ 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,"removePresence") ) { return ::hx::Val( removePresence_dyn() ); }
+ if (HX_FIELD_EQ(inName,"encryptionMode") ) { return ::hx::Val( encryptionMode_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,"getParticipants") ) { return ::hx::Val( getParticipants_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getResourceCaps") ) { return ::hx::Val( getResourceCaps_dyn() ); }
+ if (HX_FIELD_EQ(inName,"recomputeUnread") ) { return ::hx::Val( recomputeUnread_dyn() ); }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"isBlocked__fromC") ) { return ::hx::Val( isBlocked__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getMessagesAfter") ) { return ::hx::Val( getMessagesAfter_dyn() ); }
+ if (HX_FIELD_EQ(inName,"setNotifications") ) { return ::hx::Val( setNotifications_dyn() ); }
+ if (HX_FIELD_EQ(inName,"updateFromRoster") ) { return ::hx::Val( updateFromRoster_dyn() ); }
+ break;
+ case 17:
+ 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,"sendMessageStanza") ) { return ::hx::Val( sendMessageStanza_dyn() ); }
+ 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:
+ if (HX_FIELD_EQ(inName,"isBookmarked__fromC") ) { return ::hx::Val( isBookmarked__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"markReadUpTo__fromC") ) { return ::hx::Val( markReadUpTo__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"markReadUpToMessage") ) { return ::hx::Val( markReadUpToMessage_dyn() ); }
+ break;
+ case 20:
+ if (HX_FIELD_EQ(inName,"notificationSettings") ) { return ::hx::Val( notificationSettings ); }
+ if (HX_FIELD_EQ(inName,"lastMessageId__fromC") ) { return ::hx::Val( lastMessageId__fromC_dyn() ); }
+ break;
+ case 21:
+ if (HX_FIELD_EQ(inName,"omemoContactDeviceIDs") ) { return ::hx::Val( omemoContactDeviceIDs ); }
+ if (HX_FIELD_EQ(inName,"getParticipantDetails") ) { return ::hx::Val( getParticipantDetails_dyn() ); }
+ if (HX_FIELD_EQ(inName,"correctMessage__fromC") ) { return ::hx::Val( correctMessage__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"removeReaction__fromC") ) { return ::hx::Val( removeReaction__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"notificationsFiltered") ) { return ::hx::Val( notificationsFiltered_dyn() ); }
+ break;
+ case 22:
+ if (HX_FIELD_EQ(inName,"prepareIncomingMessage") ) { return ::hx::Val( prepareIncomingMessage_dyn() ); }
+ break;
+ case 24:
+ if (HX_FIELD_EQ(inName,"setNotificationsInternal") ) { return ::hx::Val( setNotificationsInternal_dyn() ); }
+ break;
+ case 28:
+ if (HX_FIELD_EQ(inName,"getParticipantDetails__fromC") ) { return ::hx::Val( getParticipantDetails__fromC_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val Chat_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 6:
+ if (HX_FIELD_EQ(inName,"client") ) { client=inValue.Cast< ::borogove::Client >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"stream") ) { stream=inValue.Cast< ::borogove::GenericStream >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"chatId") ) { chatId=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"outbox") ) { outbox=inValue.Cast< ::borogove::Outbox >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"trusted") ) { trusted=inValue.Cast< bool >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"uiState") ) { uiState=inValue.Cast< int >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"presence") ) { presence=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"isTyping") ) { isTyping=inValue.Cast< bool >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"isActive") ) { isActive=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"isBlocked") ) { isBlocked=inValue.Cast< bool >(); return inValue; }
+ 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< ::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;
+ case 11:
+ if (HX_FIELD_EQ(inName,"persistence") ) { persistence=inValue.Cast< ::Dynamic >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"displayName") ) { displayName=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"lastMessage") ) { lastMessage=inValue.Cast< ::borogove::ChatMessage >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"typingTimer") ) { typingTimer=inValue.Cast< ::haxe::Timer >(); return inValue; }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"isBookmarked") ) { isBookmarked=inValue.Cast< bool >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"_unreadCount") ) { _unreadCount=inValue.Cast< int >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"typingThread") ) { typingThread=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"activeThread") ) { activeThread=inValue.Cast< ::String >(); return inValue; }
+ break;
+ 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; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void Chat_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("client",4b,ca,4f,0a));
+ outFields->push(HX_("stream",80,14,2d,11));
+ outFields->push(HX_("persistence",5f,17,c4,f6));
+ outFields->push(HX_("avatarSha1",3e,f5,cc,3e));
+ outFields->push(HX_("presence",3b,52,d7,66));
+ outFields->push(HX_("trusted",f7,b7,a6,16));
+ outFields->push(HX_("chatId",d3,04,77,b7));
+ outFields->push(HX_("jingleSessions",ae,50,4d,15));
+ outFields->push(HX_("displayName",ad,11,f2,30));
+ outFields->push(HX_("uiState",1d,0f,01,14));
+ outFields->push(HX_("isBlocked",22,f8,fc,48));
+ outFields->push(HX_("lastMessage",11,ea,bc,4e));
+ outFields->push(HX_("isBookmarked",1f,27,16,ce));
+ outFields->push(HX_("extensions",14,7c,70,89));
+ outFields->push(HX_("_unreadCount",21,c6,fa,06));
+ outFields->push(HX_("readUpToId",27,7a,f8,75));
+ outFields->push(HX_("readUpToBy",23,74,f8,75));
+ outFields->push(HX_("isTyping",01,9a,a3,af));
+ outFields->push(HX_("typingThread",a1,a0,94,6b));
+ outFields->push(HX_("typingTimer",ce,61,a8,b7));
+ outFields->push(HX_("isActive",50,dd,af,6e));
+ 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));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo Chat_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::Client */ ,(int)offsetof(Chat_obj,client),HX_("client",4b,ca,4f,0a)},
+ {::hx::fsObject /* ::borogove::GenericStream */ ,(int)offsetof(Chat_obj,stream),HX_("stream",80,14,2d,11)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(Chat_obj,persistence),HX_("persistence",5f,17,c4,f6)},
+ {::hx::fsObject /* ::Array< unsigned char > */ ,(int)offsetof(Chat_obj,avatarSha1),HX_("avatarSha1",3e,f5,cc,3e)},
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(Chat_obj,presence),HX_("presence",3b,52,d7,66)},
+ {::hx::fsBool,(int)offsetof(Chat_obj,trusted),HX_("trusted",f7,b7,a6,16)},
+ {::hx::fsString,(int)offsetof(Chat_obj,chatId),HX_("chatId",d3,04,77,b7)},
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(Chat_obj,jingleSessions),HX_("jingleSessions",ae,50,4d,15)},
+ {::hx::fsString,(int)offsetof(Chat_obj,displayName),HX_("displayName",ad,11,f2,30)},
+ {::hx::fsInt,(int)offsetof(Chat_obj,uiState),HX_("uiState",1d,0f,01,14)},
+ {::hx::fsBool,(int)offsetof(Chat_obj,isBlocked),HX_("isBlocked",22,f8,fc,48)},
+ {::hx::fsObject /* ::borogove::ChatMessage */ ,(int)offsetof(Chat_obj,lastMessage),HX_("lastMessage",11,ea,bc,4e)},
+ {::hx::fsBool,(int)offsetof(Chat_obj,isBookmarked),HX_("isBookmarked",1f,27,16,ce)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(Chat_obj,extensions),HX_("extensions",14,7c,70,89)},
+ {::hx::fsInt,(int)offsetof(Chat_obj,_unreadCount),HX_("_unreadCount",21,c6,fa,06)},
+ {::hx::fsString,(int)offsetof(Chat_obj,readUpToId),HX_("readUpToId",27,7a,f8,75)},
+ {::hx::fsString,(int)offsetof(Chat_obj,readUpToBy),HX_("readUpToBy",23,74,f8,75)},
+ {::hx::fsBool,(int)offsetof(Chat_obj,isTyping),HX_("isTyping",01,9a,a3,af)},
+ {::hx::fsString,(int)offsetof(Chat_obj,typingThread),HX_("typingThread",a1,a0,94,6b)},
+ {::hx::fsObject /* ::haxe::Timer */ ,(int)offsetof(Chat_obj,typingTimer),HX_("typingTimer",ce,61,a8,b7)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(Chat_obj,isActive),HX_("isActive",50,dd,af,6e)},
+ {::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::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *Chat_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Chat_obj_sMemberFields[] = {
+ HX_("client",4b,ca,4f,0a),
+ HX_("stream",80,14,2d,11),
+ HX_("persistence",5f,17,c4,f6),
+ HX_("avatarSha1",3e,f5,cc,3e),
+ HX_("presence",3b,52,d7,66),
+ HX_("trusted",f7,b7,a6,16),
+ HX_("chatId",d3,04,77,b7),
+ HX_("chatId__fromC",06,fc,b1,94),
+ HX_("jingleSessions",ae,50,4d,15),
+ HX_("displayName",ad,11,f2,30),
+ HX_("uiState",1d,0f,01,14),
+ HX_("uiState__fromC",fc,2e,72,be),
+ HX_("isBlocked",22,f8,fc,48),
+ HX_("isBlocked__fromC",97,a0,b1,f6),
+ HX_("lastMessage",11,ea,bc,4e),
+ HX_("lastMessage__fromC",88,5a,5a,9a),
+ HX_("isBookmarked",1f,27,16,ce),
+ HX_("isBookmarked__fromC",3a,fb,14,ce),
+ HX_("extensions",14,7c,70,89),
+ HX_("_unreadCount",21,c6,fa,06),
+ HX_("readUpToId",27,7a,f8,75),
+ HX_("readUpToBy",23,74,f8,75),
+ HX_("isTyping",01,9a,a3,af),
+ HX_("typingThread",a1,a0,94,6b),
+ HX_("typingTimer",ce,61,a8,b7),
+ HX_("isActive",50,dd,af,6e),
+ 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_("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),
+ HX_("bookmark",b6,8c,f1,32),
+ HX_("bookmark__fromC",83,86,61,2e),
+ HX_("getParticipants",16,0b,c7,34),
+ HX_("getParticipantDetails",85,2b,7d,4d),
+ HX_("getParticipantDetails__fromC",94,ef,6f,ad),
+ HX_("correctMessage",7d,36,c3,f4),
+ HX_("correctMessage__fromC",9c,b3,3d,7c),
+ HX_("addReaction",ea,1e,11,28),
+ HX_("removeReaction",0d,24,0b,c1),
+ HX_("removeReaction__fromC",0c,98,dd,b6),
+ HX_("sendChatState",b1,21,95,6e),
+ HX_("typing",77,fe,39,57),
+ HX_("setActive",08,b7,ed,75),
+ HX_("close",b8,17,63,48),
+ HX_("close__fromC",c1,3f,6c,ef),
+ HX_("togglePinned",cc,b5,2e,2c),
+ HX_("block",4d,75,fc,b4),
+ HX_("unblock",54,6c,8d,b1),
+ HX_("setNotificationsInternal",83,67,4b,5c),
+ HX_("setNotifications",26,ae,ef,ed),
+ HX_("notificationsFiltered",5f,11,ed,96),
+ HX_("notifyMention",21,c7,22,5a),
+ HX_("notifyReply",a1,e5,9f,37),
+ HX_("lastMessageId",4c,90,58,27),
+ HX_("lastMessageId__fromC",ad,c1,bf,bf),
+ HX_("updateFromBookmark",e9,a3,15,4b),
+ HX_("updateFromRoster",fe,41,b5,57),
+ HX_("getPhoto",3c,d8,ca,21),
+ HX_("getPlaceholder",7d,c6,91,42),
+ HX_("readUpTo",2c,17,a3,75),
+ HX_("unreadCount",20,18,f1,a0),
+ HX_("setUnreadCount",9e,53,af,48),
+ HX_("preview",08,e0,da,3b),
+ HX_("setLastMessage",8f,25,7b,f6),
+ HX_("setDisplayName",2b,4d,b0,d8),
+ HX_("getDisplayName",b7,64,90,b8),
+ HX_("setPresence",fd,1b,38,97),
+ HX_("setCaps",e3,5c,3e,07),
+ HX_("removePresence",9f,8e,2d,31),
+ HX_("getCaps",d7,cb,3c,14),
+ HX_("getResourceCaps",c5,79,07,ac),
+ HX_("setAvatarSha1",80,33,45,e0),
+ HX_("setTrusted",75,dc,85,69),
+ HX_("isTrusted",2d,35,a5,1a),
+ HX_("livePresence",47,f9,16,b4),
+ HX_("syncing",67,fd,26,a7),
+ HX_("canAudioCall",64,4a,90,e4),
+ HX_("canVideoCall",89,1c,93,ea),
+ HX_("startCall",20,92,ad,fa),
+ HX_("addMedia",03,2b,19,7f),
+ HX_("acceptCall",c6,fb,13,b5),
+ HX_("hangup",4d,d2,ff,b7),
+ 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_("invite",c9,f1,db,9f),
+ HX_("canInvite",f9,45,22,f2),
+ HX_("isApp",d7,26,48,c1),
+ HX_("hasCommands",42,96,0c,91),
+ HX_("commands",c8,b0,55,be),
+ HX_("commandJids",f9,40,c1,e3),
+ HX_("invitedBy",32,ad,98,4c),
+ HX_("invites",8a,9e,97,40),
+ HX_("recomputeUnread",73,89,61,fa),
+ HX_("markReadUpToId",94,30,9b,e2),
+ HX_("markReadUpToMessage",6e,a2,bb,a9),
+ HX_("publishMds",ed,c6,cd,70),
+ ::String(null()) };
+
+::hx::Class Chat_obj::__mClass;
+
+void Chat_obj::__register()
+{
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Chat",65,73,fe,da);
+ __mClass->mSuper = &super::__SGetClass();
+ __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(Chat_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Chat_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Chat_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Chat_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void Chat_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_60_boot)
+HXDLIN( 60) __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_("getParticipants__fromC",23,94,42,88), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(1,HX_("chatId__fromC",06,fc,b1,94), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(2,HX_("lastMessage__fromC",88,5a,5a,9a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(3,HX_("getParticipantDetails__fromC",94,ef,6f,ad), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(4,HX_("markReadUpTo__fromC",40,b5,45,b3), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(5,HX_("commands__fromC",b1,e8,15,b5), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(6,HX_("removeReaction__fromC",0c,98,dd,b6), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(7,HX_("videoTracks",63,c2,24,be), ::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_("commands",c8,b0,55,be), ::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_("uiState__fromC",fc,2e,72,be), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(10,HX_("lastMessageId__fromC",ad,c1,bf,bf), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(11,HX_("removeReaction",0d,24,0b,c1), ::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_("getMessagesAfter__fromC",7f,68,c7,c6), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(13,HX_("isBookmarked__fromC",3a,fb,14,ce), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(14,HX_("videoTracks__fromC",76,10,46,d8), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(15,HX_("getMessagesAround__fromC",ea,f6,e1,db), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(16,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(17,HX_("close__fromC",c1,3f,6c,ef), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(18,HX_("sendMessage__fromC",fa,60,3a,f3), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(19,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)))))
+ ->setFixed(20,HX_("isBlocked__fromC",97,a0,b1,f6), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(21,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(22,HX_("sendMessage",5f,89,1d,24), ::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_("lastMessageId",4c,90,58,27), ::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_("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(25,HX_("bookmark__fromC",83,86,61,2e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(26,HX_("bookmark",b6,8c,f1,32), ::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_("getParticipants",16,0b,c7,34), ::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__fromC",f8,64,51,46), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(29,HX_("close",b8,17,63,48), ::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_("getParticipantDetails",85,2b,7d,4d), ::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_("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(32,HX_("correctMessage__fromC",9c,b3,3d,7c), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(33,HX_("addMedia",03,2b,19,7f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
+ }
+}
+
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/ChatAttachment.cpp b/Sources/c_borogove/src/borogove/ChatAttachment.cpp
similarity index 60%
rename from Sources/c_snikket/src/snikket/ChatAttachment.cpp
rename to Sources/c_borogove/src/borogove/ChatAttachment.cpp
index f90f1b6..baa7ca6 100644
--- a/Sources/c_snikket/src/snikket/ChatAttachment.cpp
+++ b/Sources/c_borogove/src/borogove/ChatAttachment.cpp
@@ -4,36 +4,36 @@
#ifndef INCLUDED__HaxeCBridge_Internal
#include <_HaxeCBridge/Internal.h>
#endif
+#ifndef INCLUDED_borogove_ChatAttachment
+#include <borogove/ChatAttachment.h>
+#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
#ifndef INCLUDED_cpp_Int64Map
#include <cpp/Int64Map.h>
#endif
#ifndef INCLUDED_haxe_IMap
#include <haxe/IMap.h>
#endif
-#ifndef INCLUDED_snikket_ChatAttachment
-#include <snikket/ChatAttachment.h>
-#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
-#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_ca1a43507843787c_45_new,"snikket.ChatAttachment","new",0x546decbe,"snikket.ChatAttachment.new","snikket/ChatMessage.hx",45,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_78db3de7bf8d6ae8_355_name__fromC,"snikket.ChatAttachment","name__fromC",0xe8a157ec,"snikket.ChatAttachment.name__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_78db3de7bf8d6ae8_355_mime__fromC,"snikket.ChatAttachment","mime__fromC",0x6a16aba3,"snikket.ChatAttachment.mime__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_78db3de7bf8d6ae8_355_size__fromC,"snikket.ChatAttachment","size__fromC",0x258f8436,"snikket.ChatAttachment.size__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_78db3de7bf8d6ae8_334_uris__fromC,"snikket.ChatAttachment","uris__fromC",0x08a4d630,"snikket.ChatAttachment.uris__fromC","HaxeCBridge.hx",334,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_78db3de7bf8d6ae8_334_hashes__fromC,"snikket.ChatAttachment","hashes__fromC",0x7bbb061b,"snikket.ChatAttachment.hashes__fromC","HaxeCBridge.hx",334,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ca1a43507843787c_55_create,"snikket.ChatAttachment","create",0xf450d95e,"snikket.ChatAttachment.create","snikket/ChatMessage.hx",55,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_ca1a43507843787c_32_boot,"snikket.ChatAttachment","boot",0x83da3a14,"snikket.ChatAttachment.boot","snikket/ChatMessage.hx",32,0x79a8b101)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_eade94af8cfe154e_60_new,"borogove.ChatAttachment","new",0x0991249a,"borogove.ChatAttachment.new","borogove/ChatMessage.hx",60,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_824d5e0f7ace9ae5_423_name__fromC,"borogove.ChatAttachment","name__fromC",0x1dc9cbc8,"borogove.ChatAttachment.name__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_824d5e0f7ace9ae5_423_mime__fromC,"borogove.ChatAttachment","mime__fromC",0x9f3f1f7f,"borogove.ChatAttachment.mime__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_824d5e0f7ace9ae5_423_size__fromC,"borogove.ChatAttachment","size__fromC",0x5ab7f812,"borogove.ChatAttachment.size__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_824d5e0f7ace9ae5_397_uris__fromC,"borogove.ChatAttachment","uris__fromC",0x3dcd4a0c,"borogove.ChatAttachment.uris__fromC","HaxeCBridge.hx",397,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_824d5e0f7ace9ae5_397_hashes__fromC,"borogove.ChatAttachment","hashes__fromC",0xa2cd28f7,"borogove.ChatAttachment.hashes__fromC","HaxeCBridge.hx",397,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_eade94af8cfe154e_78_create,"borogove.ChatAttachment","create",0xc334f302,"borogove.ChatAttachment.create","borogove/ChatMessage.hx",78,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_eade94af8cfe154e_32_boot,"borogove.ChatAttachment","boot",0x4d87e2b8,"borogove.ChatAttachment.boot","borogove/ChatMessage.hx",32,0xe4a3cadd)
+namespace borogove{
void ChatAttachment_obj::__construct(::String name,::String mime, ::Dynamic size,::Array< ::String > uris,::Array< ::Dynamic> hashes){
- HX_STACKFRAME(&_hx_pos_ca1a43507843787c_45_new)
-HXLINE( 46) this->name = name;
-HXLINE( 47) this->mime = mime;
-HXLINE( 48) this->size = size;
-HXLINE( 49) this->uris = uris;
-HXLINE( 50) this->hashes = hashes;
+ HX_STACKFRAME(&_hx_pos_eade94af8cfe154e_60_new)
+HXLINE( 61) this->name = name;
+HXLINE( 62) this->mime = mime;
+HXLINE( 63) this->size = size;
+HXLINE( 64) this->uris = uris;
+HXLINE( 65) this->hashes = hashes;
}
Dynamic ChatAttachment_obj::__CreateEmpty() { return new ChatAttachment_obj; }
@@ -48,149 +48,147 @@ Dynamic ChatAttachment_obj::__Create(::hx::DynamicArray inArgs)
}
bool ChatAttachment_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x2f907f78;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x7dd0539c;
}
::String ChatAttachment_obj::name__fromC(){
- HX_STACKFRAME(&_hx_pos_78db3de7bf8d6ae8_355_name__fromC)
-HXDLIN( 355) return this->name;
+ HX_STACKFRAME(&_hx_pos_824d5e0f7ace9ae5_423_name__fromC)
+HXDLIN( 423) return this->name;
}
HX_DEFINE_DYNAMIC_FUNC0(ChatAttachment_obj,name__fromC,return )
::String ChatAttachment_obj::mime__fromC(){
- HX_STACKFRAME(&_hx_pos_78db3de7bf8d6ae8_355_mime__fromC)
-HXDLIN( 355) return this->mime;
+ HX_STACKFRAME(&_hx_pos_824d5e0f7ace9ae5_423_mime__fromC)
+HXDLIN( 423) return this->mime;
}
HX_DEFINE_DYNAMIC_FUNC0(ChatAttachment_obj,mime__fromC,return )
::Dynamic ChatAttachment_obj::size__fromC(){
- HX_STACKFRAME(&_hx_pos_78db3de7bf8d6ae8_355_size__fromC)
-HXDLIN( 355) return this->size;
+ HX_STACKFRAME(&_hx_pos_824d5e0f7ace9ae5_423_size__fromC)
+HXDLIN( 423) return this->size;
}
HX_DEFINE_DYNAMIC_FUNC0(ChatAttachment_obj,size__fromC,return )
size_t ChatAttachment_obj::uris__fromC(const char*** outPtr){
- HX_STACKFRAME(&_hx_pos_78db3de7bf8d6ae8_334_uris__fromC)
-HXDLIN( 334) ::Array< ::String > x = this->uris;
-HXDLIN( 334) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 334) ::cpp::Pointer< const char** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 334) ::Array< ::String > x1 = x;
-HXDLIN( 334) ::Array< size_t > arr = ::Array_obj< size_t >::__new(x1->length);
-HXDLIN( 334) {
-HXDLIN( 334) int _g_current = 0;
-HXDLIN( 334) ::Array< ::String > _g_array = x1;
-HXDLIN( 334) while((_g_current < _g_array->length)){
-HXDLIN( 334) ::String _g_value = _g_array->__get(_g_current);
-HXDLIN( 334) _g_current = (_g_current + 1);
-HXDLIN( 334) int _g_key = (_g_current - 1);
-HXDLIN( 334) int i = _g_key;
-HXDLIN( 334) ::String el = _g_value;
-HXDLIN( 334) {
-HXDLIN( 334) const char* cStrPtr = el.utf8_str();
-HXDLIN( 334) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 334) if (::hx::IsNull( store )) {
-HXLINE(2111) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_824d5e0f7ace9ae5_397_uris__fromC)
+HXDLIN( 397) ::Array< ::String > x = this->uris;
+HXDLIN( 397) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 397) ::cpp::Pointer< const char** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 397) ::Array< ::String > x1 = x;
+HXDLIN( 397) ::Array< size_t > arr = ::Array_obj< size_t >::__new(x1->length);
+HXDLIN( 397) {
+HXDLIN( 397) int _g_current = 0;
+HXDLIN( 397) ::Array< ::String > _g_array = x1;
+HXDLIN( 397) while((_g_current < _g_array->length)){
+HXDLIN( 397) ::String _g_value = _g_array->__get(_g_current);
+HXDLIN( 397) _g_current = (_g_current + 1);
+HXDLIN( 397) ::String el = _g_value;
+HXDLIN( 397) {
+HXDLIN( 397) const char* cStrPtr = el.utf8_str();
+HXDLIN( 397) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 397) if (::hx::IsNull( store )) {
+HXLINE(2192) 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( 334) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+HXLINE( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
}
else {
-HXDLIN( 334) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXDLIN( 397) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
-HXDLIN( 334) const char* ptr = cStrPtr;
-HXDLIN( 334) arr[i] = reinterpret_cast<size_t>(ptr);
+HXDLIN( 397) const char* ptr = cStrPtr;
+HXDLIN( 397) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
}
}
}
-HXDLIN( 334) void** ptr1 = (void**)arr->getBase();
-HXDLIN( 334) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 334) if (::hx::IsNull( store1 )) {
-HXLINE(2111) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN( 397) void** ptr1 = (void**)arr->getBase();
+HXDLIN( 397) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 397) if (::hx::IsNull( store1 )) {
+HXLINE(2192) 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( 334) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+HXLINE( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
}
else {
-HXDLIN( 334) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXDLIN( 397) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
-HXDLIN( 334) _hx_tmp->set_ref(( (const char**)(ptr1) ));
+HXDLIN( 397) _hx_tmp->set_ref(( (const char**)(ptr1) ));
}
-HXDLIN( 334) return ( (size_t)(x->length) );
+HXDLIN( 397) return ( (size_t)(x->length) );
}
size_t ChatAttachment_obj::hashes__fromC(void*** outPtr){
- HX_STACKFRAME(&_hx_pos_78db3de7bf8d6ae8_334_hashes__fromC)
-HXDLIN( 334) ::Array< ::Dynamic> x = this->hashes;
-HXDLIN( 334) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 334) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 334) ::Array< ::Dynamic> x1 = x;
-HXDLIN( 334) {
-HXDLIN( 334) int _g = 0;
-HXDLIN( 334) while((_g < x1->length)){
-HXDLIN( 334) ::snikket::Hash el = x1->__get(_g).StaticCast< ::snikket::Hash >();
-HXDLIN( 334) _g = (_g + 1);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic haxeObject = el;
-HXDLIN( 334) void* ptr = haxeObject.mPtr;
-HXDLIN( 334) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 334) if (::hx::IsNull( store )) {
-HXDLIN( 334) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_824d5e0f7ace9ae5_397_hashes__fromC)
+HXDLIN( 397) ::Array< ::Dynamic> x = this->hashes;
+HXDLIN( 397) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 397) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 397) ::Array< ::Dynamic> x1 = x;
+HXDLIN( 397) {
+HXDLIN( 397) int _g = 0;
+HXDLIN( 397) while((_g < x1->length)){
+HXDLIN( 397) ::borogove::Hash el = x1->__get(_g).StaticCast< ::borogove::Hash >();
+HXDLIN( 397) _g = (_g + 1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic haxeObject = el;
+HXDLIN( 397) void* ptr = haxeObject.mPtr;
+HXDLIN( 397) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 397) if (::hx::IsNull( store )) {
+HXDLIN( 397) 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);
+HXDLIN( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
}
else {
-HXDLIN( 334) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXDLIN( 397) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
}
}
}
-HXDLIN( 334) void** ptr1 = (void**)x1->getBase();
-HXDLIN( 334) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 334) if (::hx::IsNull( store1 )) {
-HXDLIN( 334) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN( 397) void** ptr1 = (void**)x1->getBase();
+HXDLIN( 397) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 397) if (::hx::IsNull( store1 )) {
+HXDLIN( 397) 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( 334) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+HXDLIN( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
}
else {
-HXDLIN( 334) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXDLIN( 397) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
-HXDLIN( 334) _hx_tmp->set_ref(ptr1);
+HXDLIN( 397) _hx_tmp->set_ref(ptr1);
}
-HXDLIN( 334) return ( (size_t)(x->length) );
+HXDLIN( 397) return ( (size_t)(x->length) );
}
- ::snikket::ChatAttachment ChatAttachment_obj::create(::String name,::String mime,int size,::String uri){
- HX_GC_STACKFRAME(&_hx_pos_ca1a43507843787c_55_create)
-HXDLIN( 55) ::Dynamic _hx_tmp;
-HXDLIN( 55) if ((size > 0)) {
-HXDLIN( 55) _hx_tmp = size;
+ ::borogove::ChatAttachment ChatAttachment_obj::create(::String name,::String mime,int size,::String uri){
+ HX_GC_STACKFRAME(&_hx_pos_eade94af8cfe154e_78_create)
+HXDLIN( 78) ::Dynamic _hx_tmp;
+HXDLIN( 78) if ((size > 0)) {
+HXDLIN( 78) _hx_tmp = size;
}
else {
-HXDLIN( 55) _hx_tmp = null();
+HXDLIN( 78) _hx_tmp = null();
}
-HXDLIN( 55) return ::snikket::ChatAttachment_obj::__alloc( HX_CTX ,name,mime,_hx_tmp,::Array_obj< ::String >::__new(1)->init(0,uri),::Array_obj< ::Dynamic>::__new(0));
+HXDLIN( 78) return ::borogove::ChatAttachment_obj::__alloc( HX_CTX ,name,mime,_hx_tmp,::Array_obj< ::String >::__new(1)->init(0,uri),::Array_obj< ::Dynamic>::__new(0));
}
@@ -204,7 +202,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC4(ChatAttachment_obj,create,return )
}
::hx::ObjectPtr< ChatAttachment_obj > ChatAttachment_obj::__alloc(::hx::Ctx *_hx_ctx,::String name,::String mime, ::Dynamic size,::Array< ::String > uris,::Array< ::Dynamic> hashes) {
- ChatAttachment_obj *__this = (ChatAttachment_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ChatAttachment_obj), true, "snikket.ChatAttachment"));
+ ChatAttachment_obj *__this = (ChatAttachment_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ChatAttachment_obj), true, "borogove.ChatAttachment"));
*(void **)__this = ChatAttachment_obj::_hx_vtable;
__this->__construct(name,mime,size,uris,hashes);
return __this;
@@ -323,7 +321,7 @@ void ChatAttachment_obj::__register()
ChatAttachment_obj _hx_dummy;
ChatAttachment_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.ChatAttachment",cc,75,95,ef);
+ __mClass->mName = HX_("borogove.ChatAttachment",a8,8f,90,5a);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -344,7 +342,7 @@ void ChatAttachment_obj::__register()
void ChatAttachment_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_ca1a43507843787c_32_boot)
+ HX_STACKFRAME(&_hx_pos_eade94af8cfe154e_32_boot)
HXDLIN( 32) __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_("mime__fromC",45,01,dc,8f), ::Dynamic(::hx::Anon_obj::Create(1)
@@ -360,4 +358,4 @@ HXDLIN( 32) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
}
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/ChatMessage.cpp b/Sources/c_borogove/src/borogove/ChatMessage.cpp
new file mode 100644
index 0000000..435524a
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/ChatMessage.cpp
@@ -0,0 +1,2016 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_EReg
+#include <EReg.h>
+#endif
+#ifndef INCLUDED_Lambda
+#include <Lambda.h>
+#endif
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_StringTools
+#include <StringTools.h>
+#endif
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.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_EmojiUtil
+#include <borogove/EmojiUtil.h>
+#endif
+#ifndef INCLUDED_borogove_EncryptionInfo
+#include <borogove/EncryptionInfo.h>
+#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
+#endif
+#ifndef INCLUDED_borogove_Identicon
+#include <borogove/Identicon.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_Node
+#include <borogove/Node.h>
+#endif
+#ifndef INCLUDED_borogove_Participant
+#include <borogove/Participant.h>
+#endif
+#ifndef INCLUDED_borogove_Reaction
+#include <borogove/Reaction.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_StringUtil
+#include <borogove/StringUtil.h>
+#endif
+#ifndef INCLUDED_borogove_XEP0393
+#include <borogove/XEP0393.h>
+#endif
+#ifndef INCLUDED_borogove__Util_Util_Fields_
+#include <borogove/_Util/Util_Fields_.h>
+#endif
+#ifndef INCLUDED_cpp_Int64Map
+#include <cpp/Int64Map.h>
+#endif
+#ifndef INCLUDED_datetime__DateTimeInterval_DateTimeInterval_Impl_
+#include <datetime/_DateTimeInterval/DateTimeInterval_Impl_.h>
+#endif
+#ifndef INCLUDED_datetime_cores_DateTimeIntervalCore
+#include <datetime/cores/DateTimeIntervalCore.h>
+#endif
+#ifndef INCLUDED_datetime_utils_DateTimeIntervalUtils
+#include <datetime/utils/DateTimeIntervalUtils.h>
+#endif
+#ifndef INCLUDED_datetime_utils_DateTimeUtils
+#include <datetime/utils/DateTimeUtils.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
+
+HX_DEFINE_STACK_FRAME(_hx_pos_20f00185d7354fd9_245_new,"borogove.ChatMessage","new",0x63820ad4,"borogove.ChatMessage.new","borogove/ChatMessage.hx",245,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_423_localId__fromC,"borogove.ChatMessage","localId__fromC",0x08ebd91f,"borogove.ChatMessage.localId__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_423_serverId__fromC,"borogove.ChatMessage","serverId__fromC",0x2996d32f,"borogove.ChatMessage.serverId__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_423_serverIdBy__fromC,"borogove.ChatMessage","serverIdBy__fromC",0xde126f98,"borogove.ChatMessage.serverIdBy__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_423_type__fromC,"borogove.ChatMessage","type__fromC",0x1bc87773,"borogove.ChatMessage.type__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_423_timestamp__fromC,"borogove.ChatMessage","timestamp__fromC",0x0b0acf6f,"borogove.ChatMessage.timestamp__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_423_senderId__fromC,"borogove.ChatMessage","senderId__fromC",0x731f27fd,"borogove.ChatMessage.senderId__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_371_replyToMessage__fromC,"borogove.ChatMessage","replyToMessage__fromC",0x9a6a4d2b,"borogove.ChatMessage.replyToMessage__fromC","HaxeCBridge.hx",371,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_423_threadId__fromC,"borogove.ChatMessage","threadId__fromC",0x2157ea48,"borogove.ChatMessage.threadId__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_397_attachments__fromC,"borogove.ChatMessage","attachments__fromC",0x5cad7f55,"borogove.ChatMessage.attachments__fromC","HaxeCBridge.hx",397,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_360_reactionKeys__fromC,"borogove.ChatMessage","reactionKeys__fromC",0x298e4650,"borogove.ChatMessage.reactionKeys__fromC","HaxeCBridge.hx",360,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_164_get_reactionKeys,"borogove.ChatMessage","get_reactionKeys",0xa96ab7d2,"borogove.ChatMessage.get_reactionKeys","borogove/ChatMessage.hx",164,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_171_reactionDetails,"borogove.ChatMessage","reactionDetails",0x6f916c8d,"borogove.ChatMessage.reactionDetails","borogove/ChatMessage.hx",171,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_311_reactionDetails__fromC,"borogove.ChatMessage","reactionDetails__fromC",0x4e695f8c,"borogove.ChatMessage.reactionDetails__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_423_text__fromC,"borogove.ChatMessage","text__fromC",0x077711e0,"borogove.ChatMessage.text__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_423_lang__fromC,"borogove.ChatMessage","lang__fromC",0xda5bf2bf,"borogove.ChatMessage.lang__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_423_direction__fromC,"borogove.ChatMessage","direction__fromC",0x7f45b126,"borogove.ChatMessage.direction__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_423_status__fromC,"borogove.ChatMessage","status__fromC",0xd2e906fb,"borogove.ChatMessage.status__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_423_statusText__fromC,"borogove.ChatMessage","statusText__fromC",0x6864dace,"borogove.ChatMessage.statusText__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_397_versions__fromC,"borogove.ChatMessage","versions__fromC",0xbcbe8bf2,"borogove.ChatMessage.versions__fromC","HaxeCBridge.hx",397,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_423_encryption__fromC,"borogove.ChatMessage","encryption__fromC",0xe59a97ca,"borogove.ChatMessage.encryption__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_286_reply,"borogove.ChatMessage","reply",0x1dcec89e,"borogove.ChatMessage.reply","borogove/ChatMessage.hx",286,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_295_getReplyId,"borogove.ChatMessage","getReplyId",0xd1e4a9bb,"borogove.ChatMessage.getReplyId","borogove/ChatMessage.hx",295,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_301_set_replyToMessage,"borogove.ChatMessage","set_replyToMessage",0xaa5f8a4b,"borogove.ChatMessage.set_replyToMessage","borogove/ChatMessage.hx",301,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_310_set_reactions,"borogove.ChatMessage","set_reactions",0x1fc2d601,"borogove.ChatMessage.set_reactions","borogove/ChatMessage.hx",310,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_311_set_reactions,"borogove.ChatMessage","set_reactions",0x1fc2d601,"borogove.ChatMessage.set_reactions","borogove/ChatMessage.hx",311,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_318_inlineHashReferences,"borogove.ChatMessage","inlineHashReferences",0x3ddc36fb,"borogove.ChatMessage.inlineHashReferences","borogove/ChatMessage.hx",318,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_316_inlineHashReferences,"borogove.ChatMessage","inlineHashReferences",0x3ddc36fb,"borogove.ChatMessage.inlineHashReferences","borogove/ChatMessage.hx",316,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_320_inlineHashReferences,"borogove.ChatMessage","inlineHashReferences",0x3ddc36fb,"borogove.ChatMessage.inlineHashReferences","borogove/ChatMessage.hx",320,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_347_html,"borogove.ChatMessage","html",0xaa5b8077,"borogove.ChatMessage.html","borogove/ChatMessage.hx",347,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_346_html,"borogove.ChatMessage","html",0xaa5b8077,"borogove.ChatMessage.html","borogove/ChatMessage.hx",346,0xe4a3cadd)
+static const bool _hx_array_data_424f50e2_43[] = {
+ 0,
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_351_html,"borogove.ChatMessage","html",0xaa5b8077,"borogove.ChatMessage.html","borogove/ChatMessage.hx",351,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_387_html,"borogove.ChatMessage","html",0xaa5b8077,"borogove.ChatMessage.html","borogove/ChatMessage.hx",387,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_392_html,"borogove.ChatMessage","html",0xaa5b8077,"borogove.ChatMessage.html","borogove/ChatMessage.hx",392,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_401_chatId,"borogove.ChatMessage","chatId",0xa815cadf,"borogove.ChatMessage.chatId","borogove/ChatMessage.hx",401,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_412_account,"borogove.ChatMessage","account",0x3ba88121,"borogove.ChatMessage.account","borogove/ChatMessage.hx",412,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_419_isIncoming,"borogove.ChatMessage","isIncoming",0x6d0d0efc,"borogove.ChatMessage.isIncoming","borogove/ChatMessage.hx",419,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_426_threadIcon,"borogove.ChatMessage","threadIcon",0x18c4776f,"borogove.ChatMessage.threadIcon","borogove/ChatMessage.hx",426,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_433_callStatus,"borogove.ChatMessage","callStatus",0x08747a7c,"borogove.ChatMessage.callStatus","borogove/ChatMessage.hx",433,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_440_callSid,"borogove.ChatMessage","callSid",0xeea27984,"borogove.ChatMessage.callSid","borogove/ChatMessage.hx",440,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_446_callDuration,"borogove.ChatMessage","callDuration",0x14c9891e,"borogove.ChatMessage.callDuration","borogove/ChatMessage.hx",446,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_470_asStanza,"borogove.ChatMessage","asStanza",0xff32c993,"borogove.ChatMessage.asStanza","borogove/ChatMessage.hx",470,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_518_asStanza,"borogove.ChatMessage","asStanza",0xff32c993,"borogove.ChatMessage.asStanza","borogove/ChatMessage.hx",518,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_275_fromStanza,"borogove.ChatMessage","fromStanza",0x20841f0b,"borogove.ChatMessage.fromStanza","borogove/ChatMessage.hx",275,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_89_boot,"borogove.ChatMessage","boot",0xa6606f3e,"borogove.ChatMessage.boot","borogove/ChatMessage.hx",89,0xe4a3cadd)
+namespace borogove{
+
+void ChatMessage_obj::__construct( ::Dynamic params){
+ HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_245_new)
+HXLINE( 246) this->localId = ( (::String)(params->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic)) );
+HXLINE( 247) this->serverId = ( (::String)(params->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic)) );
+HXLINE( 248) this->serverIdBy = ( (::String)(params->__Field(HX_("serverIdBy",f5,16,54,74),::hx::paccDynamic)) );
+HXLINE( 249) ::Dynamic tmp = params->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic);
+HXDLIN( 249) int _hx_tmp;
+HXDLIN( 249) if (::hx::IsNotNull( tmp )) {
+HXLINE( 249) _hx_tmp = ( (int)(tmp) );
+ }
+ else {
+HXLINE( 249) _hx_tmp = 0;
+ }
+HXDLIN( 249) this->type = _hx_tmp;
+HXLINE( 250) ::Dynamic tmp1 = params->__Field(HX_("syncPoint",f5,ff,94,98),::hx::paccDynamic);
+HXDLIN( 250) bool _hx_tmp1;
+HXDLIN( 250) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 250) _hx_tmp1 = ( (bool)(tmp1) );
+ }
+ else {
+HXLINE( 250) _hx_tmp1 = false;
+ }
+HXDLIN( 250) this->syncPoint = _hx_tmp1;
+HXLINE( 251) this->replyId = ( (::String)(params->__Field(HX_("replyId",a5,67,3a,ab),::hx::paccDynamic)) );
+HXLINE( 252) this->timestamp = ( (::String)(params->__Field(HX_("timestamp",d6,d4,ce,a5),::hx::paccDynamic)) );
+HXLINE( 253) this->to = ( ( ::borogove::JID)(params->__Field(HX_("to",7b,65,00,00),::hx::paccDynamic)) );
+HXLINE( 254) this->from = ( ( ::borogove::JID)(params->__Field(HX_("from",6a,a5,c2,43),::hx::paccDynamic)) );
+HXLINE( 255) this->senderId = ( (::String)(params->__Field(HX_("senderId",f0,1e,0e,ec),::hx::paccDynamic)) );
+HXLINE( 256) ::Array< ::Dynamic> tmp2 = ( (::Array< ::Dynamic>)(params->__Field(HX_("recipients",7a,62,59,87),::hx::paccDynamic)) );
+HXDLIN( 256) ::Array< ::Dynamic> _hx_tmp2;
+HXDLIN( 256) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 256) _hx_tmp2 = tmp2;
+ }
+ else {
+HXLINE( 256) _hx_tmp2 = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN( 256) this->recipients = _hx_tmp2;
+HXLINE( 257) ::Array< ::Dynamic> tmp3 = ( (::Array< ::Dynamic>)(params->__Field(HX_("replyTo",45,71,3a,ab),::hx::paccDynamic)) );
+HXDLIN( 257) ::Array< ::Dynamic> _hx_tmp3;
+HXDLIN( 257) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 257) _hx_tmp3 = tmp3;
+ }
+ else {
+HXLINE( 257) _hx_tmp3 = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN( 257) this->replyTo = _hx_tmp3;
+HXLINE( 258) this->replyToMessage = ( ( ::borogove::ChatMessage)(params->__Field(HX_("replyToMessage",02,cf,60,a6),::hx::paccDynamic)) );
+HXLINE( 259) this->threadId = ( (::String)(params->__Field(HX_("threadId",45,81,25,cc),::hx::paccDynamic)) );
+HXLINE( 260) ::Array< ::Dynamic> tmp4 = ( (::Array< ::Dynamic>)(params->__Field(HX_("attachments",30,df,33,e7),::hx::paccDynamic)) );
+HXDLIN( 260) ::Array< ::Dynamic> _hx_tmp4;
+HXDLIN( 260) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 260) _hx_tmp4 = tmp4;
+ }
+ else {
+HXLINE( 260) _hx_tmp4 = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN( 260) this->attachments = _hx_tmp4;
+HXLINE( 261) ::haxe::ds::StringMap tmp5 = ( ( ::haxe::ds::StringMap)(params->__Field(HX_("reactions",aa,cc,95,e7),::hx::paccDynamic)) );
+HXDLIN( 261) ::haxe::ds::StringMap _hx_tmp5;
+HXDLIN( 261) if (::hx::IsNotNull( tmp5 )) {
+HXLINE( 261) _hx_tmp5 = tmp5;
+ }
+ else {
+HXLINE( 261) _hx_tmp5 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+ }
+HXDLIN( 261) this->reactions = _hx_tmp5;
+HXLINE( 262) this->text = ( (::String)(params->__Field(HX_("text",ad,cc,f9,4c),::hx::paccDynamic)) );
+HXLINE( 263) this->lang = ( (::String)(params->__Field(HX_("lang",ee,05,ad,47),::hx::paccDynamic)) );
+HXLINE( 264) ::Dynamic tmp6 = params->__Field(HX_("direction",3f,62,40,10),::hx::paccDynamic);
+HXDLIN( 264) int _hx_tmp6;
+HXDLIN( 264) if (::hx::IsNotNull( tmp6 )) {
+HXLINE( 264) _hx_tmp6 = ( (int)(tmp6) );
+ }
+ else {
+HXLINE( 264) _hx_tmp6 = 1;
+ }
+HXDLIN( 264) this->direction = _hx_tmp6;
+HXLINE( 265) ::Dynamic tmp7 = params->__Field(HX_("status",32,e7,fb,05),::hx::paccDynamic);
+HXDLIN( 265) int _hx_tmp7;
+HXDLIN( 265) if (::hx::IsNotNull( tmp7 )) {
+HXLINE( 265) _hx_tmp7 = ( (int)(tmp7) );
+ }
+ else {
+HXLINE( 265) _hx_tmp7 = 0;
+ }
+HXDLIN( 265) this->status = _hx_tmp7;
+HXLINE( 266) this->statusText = ( (::String)(params->__Field(HX_("statusText",ff,60,57,b1),::hx::paccDynamic)) );
+HXLINE( 267) ::Array< ::Dynamic> tmp8 = ( (::Array< ::Dynamic>)(params->__Field(HX_("versions",5b,4e,b8,d6),::hx::paccDynamic)) );
+HXDLIN( 267) ::Array< ::Dynamic> _hx_tmp8;
+HXDLIN( 267) if (::hx::IsNotNull( tmp8 )) {
+HXLINE( 267) _hx_tmp8 = tmp8;
+ }
+ else {
+HXLINE( 267) _hx_tmp8 = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN( 267) this->versions = _hx_tmp8;
+HXLINE( 268) ::Array< ::Dynamic> tmp9 = ( (::Array< ::Dynamic>)(params->__Field(HX_("payloads",25,dd,d1,a1),::hx::paccDynamic)) );
+HXDLIN( 268) ::Array< ::Dynamic> _hx_tmp9;
+HXDLIN( 268) if (::hx::IsNotNull( tmp9 )) {
+HXLINE( 268) _hx_tmp9 = tmp9;
+ }
+ else {
+HXLINE( 268) _hx_tmp9 = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN( 268) this->payloads = _hx_tmp9;
+HXLINE( 269) this->encryption = ( ( ::borogove::EncryptionInfo)(params->__Field(HX_("encryption",83,dc,39,4f),::hx::paccDynamic)) );
+HXLINE( 270) this->stanza = ( ( ::borogove::Stanza)(params->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
+ }
+
+Dynamic ChatMessage_obj::__CreateEmpty() { return new ChatMessage_obj; }
+
+void *ChatMessage_obj::_hx_vtable = 0;
+
+Dynamic ChatMessage_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< ChatMessage_obj > _hx_result = new ChatMessage_obj();
+ _hx_result->__construct(inArgs[0]);
+ return _hx_result;
+}
+
+bool ChatMessage_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x7b284c6e;
+}
+
+::String ChatMessage_obj::localId__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_423_localId__fromC)
+HXDLIN( 423) return this->localId;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,localId__fromC,return )
+
+::String ChatMessage_obj::serverId__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_423_serverId__fromC)
+HXDLIN( 423) return this->serverId;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,serverId__fromC,return )
+
+::String ChatMessage_obj::serverIdBy__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_423_serverIdBy__fromC)
+HXDLIN( 423) return this->serverIdBy;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,serverIdBy__fromC,return )
+
+int ChatMessage_obj::type__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_423_type__fromC)
+HXDLIN( 423) return this->type;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,type__fromC,return )
+
+::String ChatMessage_obj::timestamp__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_423_timestamp__fromC)
+HXDLIN( 423) return this->timestamp;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,timestamp__fromC,return )
+
+::String ChatMessage_obj::senderId__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_423_senderId__fromC)
+HXDLIN( 423) return this->senderId;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,senderId__fromC,return )
+
+ ::borogove::ChatMessage ChatMessage_obj::replyToMessage__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_371_replyToMessage__fromC)
+HXDLIN( 371) return this->replyToMessage;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,replyToMessage__fromC,return )
+
+::String ChatMessage_obj::threadId__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_423_threadId__fromC)
+HXDLIN( 423) return this->threadId;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,threadId__fromC,return )
+
+size_t ChatMessage_obj::attachments__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_397_attachments__fromC)
+HXDLIN( 397) ::Array< ::Dynamic> x = this->attachments;
+HXDLIN( 397) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 397) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 397) ::Array< ::Dynamic> x1 = x;
+HXDLIN( 397) {
+HXDLIN( 397) int _g = 0;
+HXDLIN( 397) while((_g < x1->length)){
+HXDLIN( 397) ::borogove::ChatAttachment el = x1->__get(_g).StaticCast< ::borogove::ChatAttachment >();
+HXDLIN( 397) _g = (_g + 1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic haxeObject = el;
+HXDLIN( 397) void* ptr = haxeObject.mPtr;
+HXDLIN( 397) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 397) if (::hx::IsNull( store )) {
+HXDLIN( 397) 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( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 397) void** ptr1 = (void**)x1->getBase();
+HXDLIN( 397) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 397) if (::hx::IsNull( store1 )) {
+HXDLIN( 397) 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( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 397) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 397) return ( (size_t)(x->length) );
+ }
+
+
+size_t ChatMessage_obj::reactionKeys__fromC(const char*** outPtr){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_360_reactionKeys__fromC)
+HXDLIN( 360) ::Array< ::String > x = this->get_reactionKeys();
+HXDLIN( 360) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 360) ::cpp::Pointer< const char** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 360) ::Array< size_t > arr = ::Array_obj< size_t >::__new(x->length);
+HXDLIN( 360) {
+HXDLIN( 360) int _g_current = 0;
+HXDLIN( 360) ::Array< ::String > _g_array = x;
+HXDLIN( 360) while((_g_current < _g_array->length)){
+HXDLIN( 360) ::String _g_value = _g_array->__get(_g_current);
+HXDLIN( 360) _g_current = (_g_current + 1);
+HXDLIN( 360) ::String el = _g_value;
+HXDLIN( 360) {
+HXDLIN( 360) const char* cStrPtr = el.utf8_str();
+HXDLIN( 360) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 360) {
+HXDLIN( 360) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 360) if (::hx::IsNull( store )) {
+HXLINE(2192) 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( 360) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 360) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 360) const char* ptr = cStrPtr;
+HXDLIN( 360) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
+ }
+ }
+ }
+HXDLIN( 360) void** ptr1 = (void**)arr->getBase();
+HXDLIN( 360) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 360) {
+HXDLIN( 360) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 360) if (::hx::IsNull( store1 )) {
+HXLINE(2192) 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( 360) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 360) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 360) _hx_tmp->set_ref(( (const char**)(ptr1) ));
+ }
+HXDLIN( 360) 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_164_get_reactionKeys)
+HXDLIN( 164) return _e->keys();
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_164_get_reactionKeys)
+HXDLIN( 164) ::haxe::ds::StringMap _e = this->reactions;
+HXDLIN( 164) return ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(_e)))));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,get_reactionKeys,return )
+
+::Array< ::Dynamic> ChatMessage_obj::reactionDetails(::String reactionKey){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_171_reactionDetails)
+HXDLIN( 171) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(this->reactions->get(reactionKey)) );
+HXDLIN( 171) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 171) return tmp;
+ }
+ else {
+HXDLIN( 171) return ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN( 171) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessage_obj,reactionDetails,return )
+
+size_t ChatMessage_obj::reactionDetails__fromC(::String reactionKey,void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_311_reactionDetails__fromC)
+HXDLIN( 311) ::Array< ::Dynamic> out = this->reactionDetails(reactionKey);
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) {
+HXDLIN( 311) int _g = 0;
+HXDLIN( 311) while((_g < out->length)){
+HXDLIN( 311) ::borogove::Reaction el = out->__get(_g).StaticCast< ::borogove::Reaction >();
+HXDLIN( 311) _g = (_g + 1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic haxeObject = el;
+HXDLIN( 311) void* ptr = haxeObject.mPtr;
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXDLIN( 311) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)out->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXDLIN( 311) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),out));
+HXDLIN( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+::String ChatMessage_obj::text__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_423_text__fromC)
+HXDLIN( 423) return this->text;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,text__fromC,return )
+
+::String ChatMessage_obj::lang__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_423_lang__fromC)
+HXDLIN( 423) return this->lang;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,lang__fromC,return )
+
+int ChatMessage_obj::direction__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_423_direction__fromC)
+HXDLIN( 423) return this->direction;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,direction__fromC,return )
+
+int ChatMessage_obj::status__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_423_status__fromC)
+HXDLIN( 423) return this->status;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,status__fromC,return )
+
+::String ChatMessage_obj::statusText__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_423_statusText__fromC)
+HXDLIN( 423) return this->statusText;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,statusText__fromC,return )
+
+size_t ChatMessage_obj::versions__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_397_versions__fromC)
+HXDLIN( 397) ::Array< ::Dynamic> x = this->versions;
+HXDLIN( 397) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 397) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 397) ::Array< ::Dynamic> x1 = x;
+HXDLIN( 397) {
+HXDLIN( 397) int _g = 0;
+HXDLIN( 397) while((_g < x1->length)){
+HXDLIN( 397) ::borogove::ChatMessage el = x1->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 397) _g = (_g + 1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic haxeObject = el;
+HXDLIN( 397) void* ptr = haxeObject.mPtr;
+HXDLIN( 397) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 397) if (::hx::IsNull( store )) {
+HXDLIN( 397) 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( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 397) void** ptr1 = (void**)x1->getBase();
+HXDLIN( 397) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 397) if (::hx::IsNull( store1 )) {
+HXDLIN( 397) 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( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 397) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 397) return ( (size_t)(x->length) );
+ }
+
+
+ ::borogove::EncryptionInfo ChatMessage_obj::encryption__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_423_encryption__fromC)
+HXDLIN( 423) return this->encryption;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,encryption__fromC,return )
+
+ ::borogove::ChatMessageBuilder ChatMessage_obj::reply(){
+ HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_286_reply)
+HXLINE( 287) ::borogove::ChatMessageBuilder m = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
+HXLINE( 288) m->type = this->type;
+HXLINE( 289) ::String tmp = this->threadId;
+HXDLIN( 289) ::String _hx_tmp;
+HXDLIN( 289) if (::hx::IsNotNull( tmp )) {
+HXLINE( 289) _hx_tmp = tmp;
+ }
+ else {
+HXLINE( 289) _hx_tmp = ::borogove::ID_obj::_hx_long();
+ }
+HXDLIN( 289) m->threadId = _hx_tmp;
+HXLINE( 290) m->replyToMessage = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 291) return m;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,reply,return )
+
+::String ChatMessage_obj::getReplyId(){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_295_getReplyId)
+HXLINE( 296) if (::hx::IsNotNull( this->replyId )) {
+HXLINE( 296) return this->replyId;
+ }
+HXLINE( 297) bool _hx_tmp;
+HXDLIN( 297) if ((this->type != 2)) {
+HXLINE( 297) _hx_tmp = (this->type == 3);
+ }
+ else {
+HXLINE( 297) _hx_tmp = true;
+ }
+HXDLIN( 297) if (_hx_tmp) {
+HXLINE( 297) return this->serverId;
+ }
+ else {
+HXLINE( 297) return this->localId;
+ }
+HXDLIN( 297) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,getReplyId,return )
+
+ ::borogove::ChatMessage ChatMessage_obj::set_replyToMessage( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_301_set_replyToMessage)
+HXLINE( 302) ::borogove::ChatMessage rtm = this->replyToMessage;
+HXLINE( 303) if (::hx::IsNull( rtm )) {
+HXLINE( 303) HX_STACK_DO_THROW(HX_("Cannot hydrate null replyToMessage",f1,d9,4b,bf));
+ }
+HXLINE( 304) bool _hx_tmp;
+HXDLIN( 304) if (::hx::IsNotNull( rtm->serverId )) {
+HXLINE( 304) _hx_tmp = (rtm->serverId != m->serverId);
+ }
+ else {
+HXLINE( 304) _hx_tmp = false;
+ }
+HXDLIN( 304) if (_hx_tmp) {
+HXLINE( 304) HX_STACK_DO_THROW(HX_("Hydrate serverId mismatch",43,6c,05,df));
+ }
+HXLINE( 305) bool _hx_tmp1;
+HXDLIN( 305) if (::hx::IsNotNull( rtm->localId )) {
+HXLINE( 305) _hx_tmp1 = (rtm->localId != m->localId);
+ }
+ else {
+HXLINE( 305) _hx_tmp1 = false;
+ }
+HXDLIN( 305) if (_hx_tmp1) {
+HXLINE( 305) HX_STACK_DO_THROW(HX_("Hydrate localId mismatch",d5,ef,ca,42));
+ }
+HXLINE( 306) 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_310_set_reactions)
+HXDLIN( 310) ::borogove::ChatMessage _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 311) bool _hx_tmp;
+HXDLIN( 311) 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_311_set_reactions)
+HXLINE( 311) return _gthis->reactions->keys();
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+HXLINE( 311) _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( 311) _hx_tmp = false;
+ }
+HXDLIN( 311) if (_hx_tmp) {
+HXLINE( 311) HX_STACK_DO_THROW(HX_("Reactions already hydrated",4f,72,b8,9d));
+ }
+HXLINE( 312) return (this->reactions = r);
+ }
+
+
+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_318_inlineHashReferences)
+HXLINE( 318) 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( 318) return (p->name == HX_("html",6b,95,16,45));
+ }
+ else {
+HXLINE( 318) return false;
+ }
+HXDLIN( 318) return false;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_316_inlineHashReferences)
+HXLINE( 317) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 318) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
+HXDLIN( 318) ::borogove::Stanza htmlBody;
+HXDLIN( 318) if (::hx::IsNotNull( tmp )) {
+HXLINE( 318) htmlBody = tmp->getChild(HX_("body",a2,7a,1b,41),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8));
+ }
+ else {
+HXLINE( 318) htmlBody = null();
+ }
+HXLINE( 319) 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_320_inlineHashReferences)
+HXLINE( 321) if ((child->name == HX_("img",03,0c,50,00))) {
+HXLINE( 322) ::String src = ( (::String)(::Reflect_obj::field(child->attr,HX_("src",e4,a6,57,00))) );
+HXLINE( 323) if (::hx::IsNotNull( src )) {
+HXLINE( 324) ::borogove::Hash hash = ::borogove::Hash_obj::fromUri(src);
+HXLINE( 325) if (::hx::IsNotNull( hash )) {
+HXLINE( 327) result->push(hash);
+ }
+ }
+HXLINE( 330) return true;
+ }
+HXLINE( 332) return false;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 320) htmlBody->traverse( ::Dynamic(new _hx_Closure_1(result)));
+ }
+HXLINE( 336) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,inlineHashReferences,return )
+
+::String ChatMessage_obj::html( ::borogove::Participant sender){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ bool _hx_run( ::borogove::Stanza p){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_347_html)
+HXLINE( 347) 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( 347) return (p->name == HX_("html",6b,95,16,45));
+ }
+ else {
+HXLINE( 347) return false;
+ }
+HXDLIN( 347) return false;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_346_html)
+HXLINE( 347) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
+HXDLIN( 347) ::borogove::Stanza htmlBody;
+HXDLIN( 347) if (::hx::IsNotNull( tmp )) {
+HXLINE( 347) htmlBody = tmp->getChild(HX_("body",a2,7a,1b,41),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8));
+ }
+ else {
+HXLINE( 347) htmlBody = null();
+ }
+HXLINE( 348) ::String htmlSource = HX_("",00,00,00,00);
+HXLINE( 349) ::Array< bool > isAction = ::Array_obj< bool >::fromData( _hx_array_data_424f50e2_43,1);
+HXLINE( 350) if (::hx::IsNotNull( htmlBody )) {
+HXLINE( 351) ::Array< ::Dynamic> _this = htmlBody->children;
+HXDLIN( 351) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 351) {
+HXLINE( 351) int _g = 0;
+HXDLIN( 351) int _g1 = _this->length;
+HXDLIN( 351) while((_g < _g1)){
+HXLINE( 351) _g = (_g + 1);
+HXDLIN( 351) int i = (_g - 1);
+HXDLIN( 351) {
+HXLINE( 351) ::borogove::Node el = _hx_array_unsafe_get(_this,i);
+HXDLIN( 351) if ((el->_hx_getIndex() == 0)) {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Participant,sender,::Array< bool >,isAction) HXARGC(1)
+ bool _hx_run( ::borogove::Stanza child){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_351_html)
+HXLINE( 352) if ((child->name == HX_("img",03,0c,50,00))) {
+HXLINE( 353) ::String src = ( (::String)(::Reflect_obj::field(child->attr,HX_("src",e4,a6,57,00))) );
+HXLINE( 354) if (::hx::IsNotNull( src )) {
+HXLINE( 355) ::borogove::Hash hash = ::borogove::Hash_obj::fromUri(src);
+HXLINE( 356) if (::hx::IsNotNull( hash )) {
+HXLINE( 357) ::Dynamic this1 = child->attr;
+HXDLIN( 357) ::Reflect_obj::setField(this1,HX_("src",e4,a6,57,00),hash->toUri());
+ }
+ }
+HXLINE( 360) return true;
+ }
+HXLINE( 362) ::borogove::Participant senderP = sender;
+HXLINE( 363) bool this2;
+HXDLIN( 363) if (::hx::IsNotNull( senderP )) {
+HXLINE( 363) this2 = ::hx::IsNull( child->getFirstChild() );
+ }
+ else {
+HXLINE( 363) this2 = false;
+ }
+HXDLIN( 363) if (this2) {
+HXLINE( 364) ::String txt = child->getText();
+HXLINE( 365) if (::StringTools_obj::startsWith(txt,HX_("/me",47,09,24,00))) {
+HXLINE( 366) isAction[0] = true;
+HXLINE( 367) child->removeChildren(null(),null());
+HXLINE( 368) ::String senderP1 = senderP->displayName;
+HXDLIN( 368) child->text((senderP1 + txt.substr(3,null())));
+ }
+ }
+HXLINE( 371) return false;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 351) el->_hx_getObject(0).StaticCast< ::borogove::Stanza >()->traverse( ::Dynamic(new _hx_Closure_1(sender,isAction)));
+ }
+HXDLIN( 351) ::borogove::Node this1 = el;
+HXDLIN( 351) ::String inValue;
+HXDLIN( 351) switch((int)(this1->_hx_getIndex())){
+ case (int)0: {
+HXLINE( 351) inValue = this1->_hx_getObject(0).StaticCast< ::borogove::Stanza >()->serialize();
+ }
+ break;
+ case (int)1: {
+HXLINE( 351) inValue = ::borogove::_Util::Util_Fields__obj::xmlEscape(this1->_hx_getString(0));
+ }
+ break;
+ }
+HXDLIN( 351) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 351) htmlSource = result->join(HX_("",00,00,00,00));
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(2)
+ int _hx_run( ::Dynamic x, ::Dynamic y){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_387_html)
+HXLINE( 387) 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_3) HXARGC(1)
+ bool _hx_run( ::borogove::Stanza p){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_392_html)
+HXLINE( 392) if ((( (::String)(::Reflect_obj::field(p->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:styling:0",48,d3,aa,fb))) {
+HXLINE( 392) return (p->name == HX_("unstyled",2c,15,1a,18));
+ }
+ else {
+HXLINE( 392) return false;
+ }
+HXDLIN( 392) return false;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 374) ::String bodyText;
+HXDLIN( 374) ::String tmp1 = this->text;
+HXDLIN( 374) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 374) bodyText = tmp1;
+ }
+ else {
+HXLINE( 374) bodyText = HX_("",00,00,00,00);
+ }
+HXLINE( 375) bool _hx_tmp;
+HXDLIN( 375) if (::hx::IsNotNull( sender )) {
+HXLINE( 375) _hx_tmp = ::StringTools_obj::startsWith(bodyText,HX_("/me",47,09,24,00));
+ }
+ else {
+HXLINE( 375) _hx_tmp = false;
+ }
+HXDLIN( 375) if (_hx_tmp) {
+HXLINE( 376) isAction[0] = true;
+HXLINE( 377) ::String sender1 = sender->displayName;
+HXDLIN( 377) bodyText = (sender1 + bodyText.substr(3,null()));
+ }
+HXLINE( 379) ::Array< ::String > codepoints = ::borogove::StringUtil_obj::codepointArray(bodyText);
+HXLINE( 381) ::Array< ::Dynamic> _this1 = this->payloads;
+HXDLIN( 381) ::Array< ::Dynamic> _g2 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 381) {
+HXLINE( 381) int _g3 = 0;
+HXDLIN( 381) while((_g3 < _this1->length)){
+HXLINE( 381) ::borogove::Stanza v = _this1->__get(_g3).StaticCast< ::borogove::Stanza >();
+HXDLIN( 381) _g3 = (_g3 + 1);
+HXLINE( 382) bool fallbacks;
+HXDLIN( 382) if ((( (::String)(::Reflect_obj::field(v->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:fallback:0",74,aa,56,9b))) {
+HXLINE( 383) bool fallbacks1;
+HXDLIN( 383) bool fallbacks2;
+HXDLIN( 383) bool fallbacks3;
+HXDLIN( 383) if ((( (::String)(::Reflect_obj::field(v->attr,HX_("for",09,c7,4d,00))) ) != HX_("jabber:x:oob",aa,8a,5f,ef))) {
+HXLINE( 383) fallbacks3 = (( (::String)(::Reflect_obj::field(v->attr,HX_("for",09,c7,4d,00))) ) == HX_("urn:xmpp:sims:1",4f,1c,49,62));
+ }
+ else {
+HXLINE( 383) fallbacks3 = true;
+ }
+HXDLIN( 383) if (fallbacks3) {
+HXLINE( 383) fallbacks2 = (this->attachments->length > 0);
+ }
+ else {
+HXLINE( 383) fallbacks2 = false;
+ }
+HXDLIN( 383) if (!(fallbacks2)) {
+HXLINE( 384) if (::hx::IsNotNull( this->replyToMessage )) {
+HXLINE( 383) fallbacks1 = (( (::String)(::Reflect_obj::field(v->attr,HX_("for",09,c7,4d,00))) ) == HX_("urn:xmpp:reply:0",c4,d5,6f,90));
+ }
+ else {
+HXLINE( 383) fallbacks1 = false;
+ }
+ }
+ else {
+HXLINE( 383) fallbacks1 = true;
+ }
+HXDLIN( 383) if (!(fallbacks1)) {
+HXLINE( 382) fallbacks = (( (::String)(::Reflect_obj::field(v->attr,HX_("for",09,c7,4d,00))) ) == HX_("http://jabber.org/protocol/address",c0,fd,09,ed));
+ }
+ else {
+HXLINE( 382) fallbacks = true;
+ }
+ }
+ else {
+HXLINE( 382) fallbacks = false;
+ }
+HXLINE( 381) if (fallbacks) {
+HXLINE( 381) _g2->push(v);
+ }
+ }
+ }
+HXDLIN( 381) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(_g2->length);
+HXDLIN( 381) {
+HXLINE( 381) int _g4 = 0;
+HXDLIN( 381) int _g5 = _g2->length;
+HXDLIN( 381) while((_g4 < _g5)){
+HXLINE( 381) _g4 = (_g4 + 1);
+HXDLIN( 381) int i1 = (_g4 - 1);
+HXDLIN( 381) {
+HXLINE( 381) ::borogove::Stanza inValue1 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_g2,i1)) )->getChild(HX_("body",a2,7a,1b,41),null());
+HXDLIN( 381) result1->__unsafe_set(i1,inValue1);
+ }
+ }
+ }
+HXDLIN( 381) ::Array< ::Dynamic> result2 = ::Array_obj< ::Dynamic>::__new(result1->length);
+HXDLIN( 381) {
+HXLINE( 381) int _g6 = 0;
+HXDLIN( 381) int _g7 = result1->length;
+HXDLIN( 381) while((_g6 < _g7)){
+HXLINE( 381) _g6 = (_g6 + 1);
+HXDLIN( 381) int i2 = (_g6 - 1);
+HXDLIN( 381) {
+HXLINE( 386) ::borogove::Stanza b = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(result1,i2)) );
+HXLINE( 381) ::Dynamic inValue2;
+HXLINE( 386) if (::hx::IsNull( b )) {
+HXLINE( 381) inValue2 = null();
+ }
+ else {
+HXLINE( 386) int inValue3;
+HXDLIN( 386) ::String tmp2 = ( (::String)(::Reflect_obj::field(b->attr,HX_("start",62,74,0b,84))) );
+HXDLIN( 386) ::String tmp3;
+HXDLIN( 386) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 386) tmp3 = tmp2;
+ }
+ else {
+HXLINE( 386) tmp3 = HX_("0",30,00,00,00);
+ }
+HXDLIN( 386) ::Dynamic tmp4 = ::Std_obj::parseInt(tmp3);
+HXDLIN( 386) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 386) inValue3 = ( (int)(tmp4) );
+ }
+ else {
+HXLINE( 386) inValue3 = 0;
+ }
+HXDLIN( 386) ::String tmp5 = ( (::String)(::Reflect_obj::field(b->attr,HX_("end",db,03,4d,00))) );
+HXDLIN( 386) ::String tmp6;
+HXDLIN( 386) if (::hx::IsNotNull( tmp5 )) {
+HXLINE( 386) tmp6 = tmp5;
+ }
+ else {
+HXLINE( 386) tmp6 = ::Std_obj::string(codepoints->length);
+ }
+HXDLIN( 386) ::Dynamic tmp7 = ::Std_obj::parseInt(tmp6);
+HXDLIN( 386) int inValue4;
+HXDLIN( 386) if (::hx::IsNotNull( tmp7 )) {
+HXLINE( 386) inValue4 = ( (int)(tmp7) );
+ }
+ else {
+HXLINE( 386) inValue4 = codepoints->length;
+ }
+HXLINE( 381) inValue2 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("start",62,74,0b,84),inValue3)
+ ->setFixed(1,HX_("end",db,03,4d,00),inValue4));
+ }
+HXDLIN( 381) result2->__unsafe_set(i2,inValue2);
+ }
+ }
+ }
+HXDLIN( 381) ::Array< ::Dynamic> _g8 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 381) {
+HXLINE( 381) int _g9 = 0;
+HXDLIN( 381) while((_g9 < result2->length)){
+HXLINE( 381) ::Dynamic v1 = result2->__get(_g9);
+HXDLIN( 381) _g9 = (_g9 + 1);
+HXDLIN( 381) if (::hx::IsNotNull( v1 )) {
+HXLINE( 381) _g8->push(v1);
+ }
+ }
+ }
+HXLINE( 387) _g8->sort( ::Dynamic(new _hx_Closure_2()));
+HXLINE( 388) {
+HXLINE( 388) int _g10 = 0;
+HXDLIN( 388) while((_g10 < _g8->length)){
+HXLINE( 388) ::Dynamic fallback = _g8->__get(_g10);
+HXDLIN( 388) _g10 = (_g10 + 1);
+HXLINE( 389) 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( 391) ::String body = codepoints->join(HX_("",00,00,00,00));
+HXLINE( 392) if (::hx::IsNull( ::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_3())) )) {
+HXLINE( 392) ::Array< ::Dynamic> _this2 = ::borogove::XEP0393_obj::parse(body);
+HXDLIN( 392) ::Array< ::String > result3 = ::Array_obj< ::String >::__new(_this2->length);
+HXDLIN( 392) {
+HXLINE( 392) int _g11 = 0;
+HXDLIN( 392) int _g12 = _this2->length;
+HXDLIN( 392) while((_g11 < _g12)){
+HXLINE( 392) _g11 = (_g11 + 1);
+HXDLIN( 392) int i3 = (_g11 - 1);
+HXDLIN( 392) {
+HXLINE( 392) ::String inValue5 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this2,i3)) )->toString();
+HXDLIN( 392) result3->__unsafe_set(i3,inValue5);
+ }
+ }
+ }
+HXDLIN( 392) htmlSource = result3->join(HX_("",00,00,00,00));
+ }
+ else {
+HXLINE( 392) htmlSource = ::StringTools_obj::htmlEscape(body,null());
+ }
+ }
+HXLINE( 394) if (isAction->__get(0)) {
+HXLINE( 394) return ((HX_("<div class=\"action\">",04,0c,41,16) + htmlSource) + HX_("</div>",c0,53,a8,4f));
+ }
+ else {
+HXLINE( 394) return htmlSource;
+ }
+HXDLIN( 394) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessage_obj,html,return )
+
+::String ChatMessage_obj::chatId(){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_401_chatId)
+HXDLIN( 401) if (this->isIncoming()) {
+HXLINE( 402) ::Array< ::Dynamic> _this = this->replyTo;
+HXDLIN( 402) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 402) {
+HXLINE( 402) int _g = 0;
+HXDLIN( 402) int _g1 = _this->length;
+HXDLIN( 402) while((_g < _g1)){
+HXLINE( 402) _g = (_g + 1);
+HXDLIN( 402) int i = (_g - 1);
+HXDLIN( 402) {
+HXLINE( 402) ::String inValue = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this,i)) )->asBare()->asString();
+HXDLIN( 402) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 402) return result->join(HX_("\n",0a,00,00,00));
+ }
+ else {
+HXLINE( 404) ::Array< ::Dynamic> _this1 = this->recipients;
+HXDLIN( 404) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
+HXDLIN( 404) {
+HXLINE( 404) int _g2 = 0;
+HXDLIN( 404) int _g3 = _this1->length;
+HXDLIN( 404) while((_g2 < _g3)){
+HXLINE( 404) _g2 = (_g2 + 1);
+HXDLIN( 404) int i1 = (_g2 - 1);
+HXDLIN( 404) {
+HXLINE( 404) ::String inValue1 = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this1,i1)) )->asString();
+HXDLIN( 404) result1->__unsafe_set(i1,inValue1);
+ }
+ }
+ }
+HXDLIN( 404) return result1->join(HX_("\n",0a,00,00,00));
+ }
+HXLINE( 401) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,chatId,return )
+
+::String ChatMessage_obj::account(){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_412_account)
+HXDLIN( 412) ::String tmp;
+HXDLIN( 412) if (!(this->isIncoming())) {
+HXDLIN( 412) ::borogove::JID tmp1 = this->from;
+HXDLIN( 412) ::borogove::JID tmp2;
+HXDLIN( 412) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN( 412) tmp2 = tmp1->asBare();
+ }
+ else {
+HXDLIN( 412) tmp2 = null();
+ }
+HXDLIN( 412) if (::hx::IsNotNull( tmp2 )) {
+HXDLIN( 412) tmp = tmp2->asString();
+ }
+ else {
+HXDLIN( 412) tmp = null();
+ }
+ }
+ else {
+HXDLIN( 412) ::borogove::JID tmp3 = this->to;
+HXDLIN( 412) ::borogove::JID tmp4;
+HXDLIN( 412) if (::hx::IsNotNull( tmp3 )) {
+HXDLIN( 412) tmp4 = tmp3->asBare();
+ }
+ else {
+HXDLIN( 412) tmp4 = null();
+ }
+HXDLIN( 412) if (::hx::IsNotNull( tmp4 )) {
+HXDLIN( 412) tmp = tmp4->asString();
+ }
+ else {
+HXDLIN( 412) tmp = null();
+ }
+ }
+HXDLIN( 412) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 412) return tmp;
+ }
+ else {
+HXDLIN( 412) HX_STACK_DO_THROW(HX_("from or to is null",7f,19,89,e6));
+ }
+HXDLIN( 412) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,account,return )
+
+bool ChatMessage_obj::isIncoming(){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_419_isIncoming)
+HXDLIN( 419) return (this->direction == 0);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,isIncoming,return )
+
+::String ChatMessage_obj::threadIcon(){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_426_threadIcon)
+HXDLIN( 426) if (::hx::IsNull( this->threadId )) {
+HXDLIN( 426) return null();
+ }
+ else {
+HXDLIN( 426) return ::borogove::Identicon_obj::svg(this->threadId);
+ }
+HXDLIN( 426) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,threadIcon,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_433_callStatus)
+HXDLIN( 433) return (( (::String)(::Reflect_obj::field(el->attr,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_433_callStatus)
+HXDLIN( 433) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
+HXDLIN( 433) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 433) return tmp->name;
+ }
+ else {
+HXDLIN( 433) return null();
+ }
+HXDLIN( 433) return null();
+ }
+
+
+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_440_callSid)
+HXDLIN( 440) return (( (::String)(::Reflect_obj::field(el->attr,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_440_callSid)
+HXDLIN( 440) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
+HXDLIN( 440) ::Dynamic tmp1;
+HXDLIN( 440) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 440) tmp1 = tmp->attr;
+ }
+ else {
+HXDLIN( 440) tmp1 = null();
+ }
+HXDLIN( 440) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN( 440) return ( (::String)(::Reflect_obj::field(tmp1,HX_("id",db,5b,00,00))) );
+ }
+ else {
+HXDLIN( 440) return null();
+ }
+HXDLIN( 440) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,callSid,return )
+
+::String ChatMessage_obj::callDuration(){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_446_callDuration)
+HXLINE( 447) if ((this->versions->length < 2)) {
+HXLINE( 447) return null();
+ }
+HXLINE( 448) ::String startedStr = this->versions->__get((this->versions->length - 1)).StaticCast< ::borogove::ChatMessage >()->timestamp;
+HXLINE( 450) ::String _g = this->callStatus();
+HXDLIN( 450) if (::hx::IsNull( _g )) {
+HXLINE( 465) return null();
+ }
+ else {
+HXLINE( 450) ::String _hx_switch_0 = _g;
+ if ( (_hx_switch_0==HX_("finish",53,40,7f,86)) ){
+HXLINE( 452) ::String endedStr = this->versions->__get(0).StaticCast< ::borogove::ChatMessage >()->timestamp;
+HXLINE( 453) bool _hx_tmp;
+HXDLIN( 453) if (::hx::IsNotNull( startedStr )) {
+HXLINE( 453) _hx_tmp = ::hx::IsNull( endedStr );
+ }
+ else {
+HXLINE( 453) _hx_tmp = true;
+ }
+HXDLIN( 453) if (_hx_tmp) {
+HXLINE( 453) return null();
+ }
+HXLINE( 454) Float started = ::datetime::utils::DateTimeUtils_obj::fromString(startedStr);
+HXLINE( 457) 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( 451) goto _hx_goto_57;
+ }
+ if ( (_hx_switch_0==HX_("proceed",2e,96,4a,f1)) ){
+HXLINE( 459) if (::hx::IsNull( startedStr )) {
+HXLINE( 459) return null();
+ }
+HXLINE( 460) Float started1 = ::datetime::utils::DateTimeUtils_obj::fromString(startedStr);
+HXLINE( 463) 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( 458) goto _hx_goto_57;
+ }
+ /* default */{
+HXLINE( 465) return null();
+ }
+ _hx_goto_57:;
+ }
+HXLINE( 450) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,callDuration,return )
+
+ ::borogove::Stanza ChatMessage_obj::asStanza(){
+ HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_470_asStanza)
+HXDLIN( 470) ::borogove::ChatMessage _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 471) if (::hx::IsNotNull( this->stanza )) {
+HXLINE( 471) return this->stanza;
+ }
+HXLINE( 473) ::String body = this->text;
+HXLINE( 474) ::String attrs;
+HXDLIN( 474) if ((this->type == 2)) {
+HXLINE( 474) attrs = HX_("groupchat",97,1d,c8,e5);
+ }
+ else {
+HXLINE( 474) attrs = HX_("chat",d8,5e,bf,41);
+ }
+HXDLIN( 474) ::Dynamic attrs1 = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),attrs));
+HXLINE( 475) if (::hx::IsNotNull( this->from )) {
+HXLINE( 475) ::Reflect_obj::setField(attrs1,HX_("from",6a,a5,c2,43),this->from->asString());
+ }
+HXLINE( 476) if (::hx::IsNotNull( this->to )) {
+HXLINE( 476) ::Reflect_obj::setField(attrs1,HX_("to",7b,65,00,00),this->to->asString());
+ }
+HXLINE( 477) if (::hx::IsNotNull( this->localId )) {
+HXLINE( 477) ::Reflect_obj::setField(attrs1,HX_("id",db,5b,00,00),this->localId);
+ }
+HXLINE( 478) ::borogove::Stanza stanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a),attrs1);
+HXLINE( 479) bool _hx_tmp;
+HXDLIN( 479) if ((this->versions->length > 0)) {
+HXLINE( 479) _hx_tmp = ::hx::IsNotNull( this->versions->__get((this->versions->length - 1)).StaticCast< ::borogove::ChatMessage >()->localId );
+ }
+ else {
+HXLINE( 479) _hx_tmp = false;
+ }
+HXDLIN( 479) if (_hx_tmp) {
+HXLINE( 479) 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( 480) if (::hx::IsNotNull( this->threadId )) {
+HXLINE( 480) stanza->textTag(HX_("thread",ca,7a,b9,8e),this->threadId,null());
+ }
+HXLINE( 481) if ((this->recipients->length > 1)) {
+HXLINE( 482) ::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( 483) {
+HXLINE( 483) int _g = 0;
+HXDLIN( 483) ::Array< ::Dynamic> _g1 = this->recipients;
+HXDLIN( 483) while((_g < _g1->length)){
+HXLINE( 483) ::borogove::JID recipient = _g1->__get(_g).StaticCast< ::borogove::JID >();
+HXDLIN( 483) _g = (_g + 1);
+HXLINE( 484) 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();
+ }
+ }
+HXLINE( 486) addresses->up();
+ }
+ else {
+HXLINE( 487) bool _hx_tmp1;
+HXDLIN( 487) if ((this->recipients->length == 1)) {
+HXLINE( 487) _hx_tmp1 = ::hx::IsNull( this->to );
+ }
+ else {
+HXLINE( 487) _hx_tmp1 = false;
+ }
+HXDLIN( 487) if (_hx_tmp1) {
+HXLINE( 488) ::Reflect_obj::setField(attrs1,HX_("to",7b,65,00,00),this->recipients->__get(0).StaticCast< ::borogove::JID >()->asString());
+ }
+ }
+HXLINE( 491) ::borogove::ChatMessage replyToM = this->replyToMessage;
+HXLINE( 492) if (::hx::IsNotNull( replyToM )) {
+HXLINE( 493) ::String replyId = replyToM->getReplyId();
+HXLINE( 494) if (::hx::IsNotNull( body )) {
+HXLINE( 495) ::Array< ::String > lines;
+HXDLIN( 495) ::String tmp = replyToM->text;
+HXDLIN( 495) ::Array< ::String > tmp1;
+HXDLIN( 495) if (::hx::IsNotNull( tmp )) {
+HXLINE( 495) tmp1 = tmp.split(HX_("\n",0a,00,00,00));
+ }
+ else {
+HXLINE( 495) tmp1 = null();
+ }
+HXDLIN( 495) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 495) lines = tmp1;
+ }
+ else {
+HXLINE( 495) lines = ::Array_obj< ::String >::__new(0);
+ }
+HXLINE( 496) ::String quoteText = HX_("",00,00,00,00);
+HXLINE( 497) {
+HXLINE( 497) int _g2 = 0;
+HXDLIN( 497) while((_g2 < lines->length)){
+HXLINE( 497) ::String line = lines->__get(_g2);
+HXDLIN( 497) _g2 = (_g2 + 1);
+HXLINE( 498) if (!( ::EReg_obj::__alloc( HX_CTX ,HX_("^(?:> ?){3,}",7a,64,54,8e),HX_("",00,00,00,00))->match(line))) {
+HXLINE( 499) if ((line.charAt(0) == HX_(">",3e,00,00,00))) {
+HXLINE( 500) quoteText = (quoteText + ((HX_(">",3e,00,00,00) + line) + HX_("\n",0a,00,00,00)));
+ }
+ else {
+HXLINE( 502) quoteText = (quoteText + ((HX_("> ",22,36,00,00) + line) + HX_("\n",0a,00,00,00)));
+ }
+ }
+ }
+ }
+HXLINE( 506) if ((quoteText != HX_("",00,00,00,00))) {
+HXLINE( 506) quoteText = (quoteText + HX_("\n",0a,00,00,00));
+ }
+HXLINE( 507) ::String reaction;
+HXDLIN( 507) if (::borogove::EmojiUtil_obj::isEmoji(::StringTools_obj::trim(body))) {
+HXLINE( 507) reaction = ::StringTools_obj::trim(body);
+ }
+ else {
+HXLINE( 507) reaction = null();
+ }
+HXLINE( 508) body = (quoteText + body);
+HXLINE( 509) if (::hx::IsNotNull( replyId )) {
+HXLINE( 510) ::Array< ::String > codepoints = ::borogove::StringUtil_obj::codepointArray(quoteText);
+HXLINE( 511) if (::hx::IsNotNull( reaction )) {
+HXLINE( 512) ::haxe::ds::StringMap addedReactions = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 513) 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( 514) stanza->textTag(HX_("reaction",a9,e7,b4,f6),reaction,null());
+HXLINE( 515) addedReactions->set(reaction,true);
+HXLINE( 517) {
+HXLINE( 517) ::Dynamic this1 = replyToM->reactions;
+HXDLIN( 517) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN( 517) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 517) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN( 517) ::Array< ::Dynamic> _g_value = ( (::Array< ::Dynamic>)(::haxe::IMap_obj::get(this1,key)) );
+HXLINE( 518) bool _hx_tmp2;
+HXDLIN( 518) ::Dynamic tmp2 = addedReactions->get(key);
+HXDLIN( 518) bool _hx_tmp3;
+HXDLIN( 518) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 518) _hx_tmp3 = ( (bool)(tmp2) );
+ }
+ else {
+HXLINE( 518) _hx_tmp3 = false;
+ }
+HXDLIN( 518) if (!(_hx_tmp3)) {
+ 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_518_asStanza)
+HXLINE( 518) return (r->senderId == _gthis->senderId);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 518) _hx_tmp2 = ::hx::IsNotNull( ::Lambda_obj::find(_g_value, ::Dynamic(new _hx_Closure_0(_gthis))) );
+ }
+ else {
+HXLINE( 518) _hx_tmp2 = false;
+ }
+HXDLIN( 518) if (_hx_tmp2) {
+HXLINE( 519) addedReactions->set(key,true);
+HXLINE( 520) stanza->textTag(HX_("reaction",a9,e7,b4,f6),key,null());
+ }
+ }
+ }
+HXLINE( 523) stanza->up();
+HXLINE( 524) 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();
+ }
+HXLINE( 527) ::borogove::Stanza _hx_tmp4 = 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( 527) _hx_tmp4->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();
+ }
+ }
+HXLINE( 531) if (::hx::IsNotNull( replyId )) {
+HXLINE( 531) ::borogove::JID tmp3 = replyToM->from;
+HXDLIN( 531) ::String _hx_tmp5;
+HXDLIN( 531) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 531) _hx_tmp5 = tmp3->asString();
+ }
+ else {
+HXLINE( 531) _hx_tmp5 = null();
+ }
+HXDLIN( 531) 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();
+ }
+ }
+HXLINE( 534) {
+HXLINE( 534) int _g3 = 0;
+HXDLIN( 534) ::Array< ::Dynamic> _g4 = this->attachments;
+HXDLIN( 534) while((_g3 < _g4->length)){
+HXLINE( 534) ::borogove::ChatAttachment attachment = _g4->__get(_g3).StaticCast< ::borogove::ChatAttachment >();
+HXDLIN( 534) _g3 = (_g3 + 1);
+HXLINE( 535) 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( 539) 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( 540) if (::hx::IsNotNull( attachment->name )) {
+HXLINE( 540) stanza->textTag(HX_("name",4b,72,ff,48),attachment->name,null());
+ }
+HXLINE( 541) stanza->textTag(HX_("media-type",03,ce,a4,7d),attachment->mime,null());
+HXLINE( 542) if (::hx::IsNotNull( attachment->size )) {
+HXLINE( 542) stanza->textTag(HX_("size",c1,a0,53,4c),::Std_obj::string(attachment->size),null());
+ }
+HXLINE( 543) {
+HXLINE( 543) int _g5 = 0;
+HXDLIN( 543) ::Array< ::Dynamic> _g6 = attachment->hashes;
+HXDLIN( 543) while((_g5 < _g6->length)){
+HXLINE( 543) ::borogove::Hash hash = _g6->__get(_g5).StaticCast< ::borogove::Hash >();
+HXDLIN( 543) _g5 = (_g5 + 1);
+HXLINE( 544) ::String _hx_tmp6 = ::haxe::crypto::Base64_obj::encode(::haxe::io::Bytes_obj::ofData(hash->hash),null());
+HXDLIN( 544) 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( 546) stanza->up();
+HXLINE( 548) stanza->tag(HX_("sources",38,0f,49,b9),null());
+HXLINE( 549) {
+HXLINE( 549) int _g7 = 0;
+HXDLIN( 549) ::Array< ::String > _g8 = attachment->uris;
+HXDLIN( 549) while((_g7 < _g8->length)){
+HXLINE( 549) ::String uri = _g8->__get(_g7);
+HXDLIN( 549) _g7 = (_g7 + 1);
+HXLINE( 550) 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( 553) stanza->up()->up()->up();
+HXLINE( 555) if ((attachment->uris->length > 0)) {
+HXLINE( 556) 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( 557) if (::hx::IsNull( body )) {
+HXLINE( 557) body = HX_("",00,00,00,00);
+ }
+HXLINE( 559) int start = ::borogove::StringUtil_obj::codepointArray(body)->length;
+HXLINE( 560) int end = (start + attachment->uris->__get(0).length);
+HXLINE( 561) if ((body != HX_("",00,00,00,00))) {
+HXLINE( 562) body = (body + HX_("\n",0a,00,00,00));
+HXLINE( 563) end = (end + 1);
+ }
+HXLINE( 565) body = (body + attachment->uris->__get(0));
+HXLINE( 566) ::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( 568) ::String _hx_tmp8 = ::Std_obj::string(start);
+HXLINE( 566) _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();
+ }
+ }
+ }
+HXLINE( 571) if (::hx::IsNotNull( body )) {
+HXLINE( 571) stanza->textTag(HX_("body",a2,7a,1b,41),body,null());
+ }
+HXLINE( 572) {
+HXLINE( 572) int _g9 = 0;
+HXDLIN( 572) ::Array< ::Dynamic> _g10 = this->payloads;
+HXDLIN( 572) while((_g9 < _g10->length)){
+HXLINE( 572) ::borogove::Stanza payload = _g10->__get(_g9).StaticCast< ::borogove::Stanza >();
+HXDLIN( 572) _g9 = (_g9 + 1);
+HXLINE( 573) stanza->addDirectChild(::borogove::Node_obj::Element(payload));
+ }
+ }
+HXLINE( 575) 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_275_fromStanza)
+HXDLIN( 275) ::borogove::MessageStanza _g = ::borogove::Message_obj::fromStanza(stanza,localJid,addContext,null())->parsed;
+HXDLIN( 275) if ((_g->_hx_getIndex() == 1)) {
+HXLINE( 277) return _g->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >();
+ }
+ else {
+HXLINE( 279) return null();
+ }
+HXLINE( 275) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC3(ChatMessage_obj,fromStanza,return )
+
+
+::hx::ObjectPtr< ChatMessage_obj > ChatMessage_obj::__new( ::Dynamic params) {
+ ::hx::ObjectPtr< ChatMessage_obj > __this = new ChatMessage_obj();
+ __this->__construct(params);
+ return __this;
+}
+
+::hx::ObjectPtr< ChatMessage_obj > ChatMessage_obj::__alloc(::hx::Ctx *_hx_ctx, ::Dynamic params) {
+ ChatMessage_obj *__this = (ChatMessage_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ChatMessage_obj), true, "borogove.ChatMessage"));
+ *(void **)__this = ChatMessage_obj::_hx_vtable;
+ __this->__construct(params);
+ return __this;
+}
+
+ChatMessage_obj::ChatMessage_obj()
+{
+}
+
+void ChatMessage_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(ChatMessage);
+ HX_MARK_MEMBER_NAME(localId,"localId");
+ HX_MARK_MEMBER_NAME(serverId,"serverId");
+ HX_MARK_MEMBER_NAME(serverIdBy,"serverIdBy");
+ 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(to,"to");
+ HX_MARK_MEMBER_NAME(from,"from");
+ HX_MARK_MEMBER_NAME(recipients,"recipients");
+ HX_MARK_MEMBER_NAME(replyTo,"replyTo");
+ HX_MARK_MEMBER_NAME(senderId,"senderId");
+ HX_MARK_MEMBER_NAME(replyToMessage,"replyToMessage");
+ HX_MARK_MEMBER_NAME(threadId,"threadId");
+ HX_MARK_MEMBER_NAME(attachments,"attachments");
+ HX_MARK_MEMBER_NAME(reactions,"reactions");
+ HX_MARK_MEMBER_NAME(text,"text");
+ HX_MARK_MEMBER_NAME(lang,"lang");
+ HX_MARK_MEMBER_NAME(direction,"direction");
+ HX_MARK_MEMBER_NAME(status,"status");
+ HX_MARK_MEMBER_NAME(statusText,"statusText");
+ HX_MARK_MEMBER_NAME(versions,"versions");
+ HX_MARK_MEMBER_NAME(payloads,"payloads");
+ HX_MARK_MEMBER_NAME(encryption,"encryption");
+ HX_MARK_MEMBER_NAME(stanza,"stanza");
+ HX_MARK_END_CLASS();
+}
+
+void ChatMessage_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(localId,"localId");
+ HX_VISIT_MEMBER_NAME(serverId,"serverId");
+ HX_VISIT_MEMBER_NAME(serverIdBy,"serverIdBy");
+ 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(to,"to");
+ HX_VISIT_MEMBER_NAME(from,"from");
+ HX_VISIT_MEMBER_NAME(recipients,"recipients");
+ HX_VISIT_MEMBER_NAME(replyTo,"replyTo");
+ HX_VISIT_MEMBER_NAME(senderId,"senderId");
+ HX_VISIT_MEMBER_NAME(replyToMessage,"replyToMessage");
+ HX_VISIT_MEMBER_NAME(threadId,"threadId");
+ HX_VISIT_MEMBER_NAME(attachments,"attachments");
+ HX_VISIT_MEMBER_NAME(reactions,"reactions");
+ HX_VISIT_MEMBER_NAME(text,"text");
+ HX_VISIT_MEMBER_NAME(lang,"lang");
+ HX_VISIT_MEMBER_NAME(direction,"direction");
+ HX_VISIT_MEMBER_NAME(status,"status");
+ HX_VISIT_MEMBER_NAME(statusText,"statusText");
+ HX_VISIT_MEMBER_NAME(versions,"versions");
+ HX_VISIT_MEMBER_NAME(payloads,"payloads");
+ HX_VISIT_MEMBER_NAME(encryption,"encryption");
+ HX_VISIT_MEMBER_NAME(stanza,"stanza");
+}
+
+::hx::Val ChatMessage_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"to") ) { return ::hx::Val( to ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"type") ) { return ::hx::Val( type ); }
+ if (HX_FIELD_EQ(inName,"from") ) { return ::hx::Val( from ); }
+ if (HX_FIELD_EQ(inName,"text") ) { return ::hx::Val( text ); }
+ if (HX_FIELD_EQ(inName,"lang") ) { return ::hx::Val( lang ); }
+ if (HX_FIELD_EQ(inName,"html") ) { return ::hx::Val( html_dyn() ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"reply") ) { return ::hx::Val( reply_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"status") ) { return ::hx::Val( status ); }
+ if (HX_FIELD_EQ(inName,"stanza") ) { return ::hx::Val( stanza ); }
+ if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( chatId_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"localId") ) { return ::hx::Val( localId ); }
+ if (HX_FIELD_EQ(inName,"replyId") ) { return ::hx::Val( replyId ); }
+ if (HX_FIELD_EQ(inName,"replyTo") ) { return ::hx::Val( replyTo ); }
+ if (HX_FIELD_EQ(inName,"account") ) { return ::hx::Val( account_dyn() ); }
+ if (HX_FIELD_EQ(inName,"callSid") ) { return ::hx::Val( callSid_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"serverId") ) { return ::hx::Val( serverId ); }
+ 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 ); }
+ if (HX_FIELD_EQ(inName,"payloads") ) { return ::hx::Val( payloads ); }
+ if (HX_FIELD_EQ(inName,"asStanza") ) { return ::hx::Val( asStanza_dyn() ); }
+ 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;
+ case 10:
+ if (HX_FIELD_EQ(inName,"serverIdBy") ) { return ::hx::Val( serverIdBy ); }
+ if (HX_FIELD_EQ(inName,"recipients") ) { return ::hx::Val( recipients ); }
+ if (HX_FIELD_EQ(inName,"statusText") ) { return ::hx::Val( statusText ); }
+ if (HX_FIELD_EQ(inName,"encryption") ) { return ::hx::Val( encryption ); }
+ if (HX_FIELD_EQ(inName,"getReplyId") ) { return ::hx::Val( getReplyId_dyn() ); }
+ if (HX_FIELD_EQ(inName,"isIncoming") ) { return ::hx::Val( isIncoming_dyn() ); }
+ if (HX_FIELD_EQ(inName,"threadIcon") ) { return ::hx::Val( threadIcon_dyn() ); }
+ if (HX_FIELD_EQ(inName,"callStatus") ) { return ::hx::Val( callStatus_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"type__fromC") ) { return ::hx::Val( type__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"attachments") ) { return ::hx::Val( attachments ); }
+ if (HX_FIELD_EQ(inName,"text__fromC") ) { return ::hx::Val( text__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"lang__fromC") ) { return ::hx::Val( lang__fromC_dyn() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"reactionKeys") ) { if (inCallProp == ::hx::paccAlways) return ::hx::Val( get_reactionKeys() ); }
+ if (HX_FIELD_EQ(inName,"callDuration") ) { return ::hx::Val( callDuration_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"status__fromC") ) { return ::hx::Val( status__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"set_reactions") ) { return ::hx::Val( set_reactions_dyn() ); }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"localId__fromC") ) { return ::hx::Val( localId__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"replyToMessage") ) { return ::hx::Val( replyToMessage ); }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"serverId__fromC") ) { return ::hx::Val( serverId__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() ); }
+ 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() ); }
+ break;
+ case 17:
+ if (HX_FIELD_EQ(inName,"serverIdBy__fromC") ) { return ::hx::Val( serverIdBy__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"statusText__fromC") ) { return ::hx::Val( statusText__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"encryption__fromC") ) { return ::hx::Val( encryption__fromC_dyn() ); }
+ break;
+ case 18:
+ if (HX_FIELD_EQ(inName,"set_replyToMessage") ) { return ::hx::Val( set_replyToMessage_dyn() ); }
+ break;
+ case 20:
+ if (HX_FIELD_EQ(inName,"inlineHashReferences") ) { return ::hx::Val( inlineHashReferences_dyn() ); }
+ break;
+ case 21:
+ if (HX_FIELD_EQ(inName,"replyToMessage__fromC") ) { return ::hx::Val( replyToMessage__fromC_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool ChatMessage_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 10:
+ if (HX_FIELD_EQ(inName,"fromStanza") ) { outValue = fromStanza_dyn(); return true; }
+ }
+ return false;
+}
+
+::hx::Val ChatMessage_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"to") ) { to=inValue.Cast< ::borogove::JID >(); return inValue; }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"type") ) { type=inValue.Cast< int >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"from") ) { from=inValue.Cast< ::borogove::JID >(); return inValue; }
+ 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 6:
+ if (HX_FIELD_EQ(inName,"status") ) { status=inValue.Cast< int >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"stanza") ) { stanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"localId") ) { localId=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"replyId") ) { replyId=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"replyTo") ) { replyTo=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"serverId") ) { serverId=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; }
+ if (HX_FIELD_EQ(inName,"payloads") ) { payloads=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ 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;
+ case 10:
+ if (HX_FIELD_EQ(inName,"serverIdBy") ) { serverIdBy=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"recipients") ) { recipients=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"statusText") ) { statusText=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"encryption") ) { encryption=inValue.Cast< ::borogove::EncryptionInfo >(); return inValue; }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"attachments") ) { attachments=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"replyToMessage") ) { replyToMessage=inValue.Cast< ::borogove::ChatMessage >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void ChatMessage_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("localId",26,7a,c6,2d));
+ outFields->push(HX_("serverId",7e,01,b2,e2));
+ outFields->push(HX_("serverIdBy",f5,16,54,74));
+ 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_("to",7b,65,00,00));
+ outFields->push(HX_("from",6a,a5,c2,43));
+ outFields->push(HX_("recipients",7a,62,59,87));
+ outFields->push(HX_("replyTo",45,71,3a,ab));
+ outFields->push(HX_("senderId",f0,1e,0e,ec));
+ 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_("reactions",aa,cc,95,e7));
+ outFields->push(HX_("reactionKeys",3d,7e,4c,71));
+ outFields->push(HX_("text",ad,cc,f9,4c));
+ outFields->push(HX_("lang",ee,05,ad,47));
+ outFields->push(HX_("direction",3f,62,40,10));
+ outFields->push(HX_("status",32,e7,fb,05));
+ outFields->push(HX_("statusText",ff,60,57,b1));
+ outFields->push(HX_("versions",5b,4e,b8,d6));
+ outFields->push(HX_("payloads",25,dd,d1,a1));
+ outFields->push(HX_("encryption",83,dc,39,4f));
+ outFields->push(HX_("stanza",f5,5d,f7,05));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo ChatMessage_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(ChatMessage_obj,localId),HX_("localId",26,7a,c6,2d)},
+ {::hx::fsString,(int)offsetof(ChatMessage_obj,serverId),HX_("serverId",7e,01,b2,e2)},
+ {::hx::fsString,(int)offsetof(ChatMessage_obj,serverIdBy),HX_("serverIdBy",f5,16,54,74)},
+ {::hx::fsInt,(int)offsetof(ChatMessage_obj,type),HX_("type",ba,f2,08,4d)},
+ {::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::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)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessage_obj,replyTo),HX_("replyTo",45,71,3a,ab)},
+ {::hx::fsString,(int)offsetof(ChatMessage_obj,senderId),HX_("senderId",f0,1e,0e,ec)},
+ {::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 /* ::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)},
+ {::hx::fsInt,(int)offsetof(ChatMessage_obj,direction),HX_("direction",3f,62,40,10)},
+ {::hx::fsInt,(int)offsetof(ChatMessage_obj,status),HX_("status",32,e7,fb,05)},
+ {::hx::fsString,(int)offsetof(ChatMessage_obj,statusText),HX_("statusText",ff,60,57,b1)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessage_obj,versions),HX_("versions",5b,4e,b8,d6)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessage_obj,payloads),HX_("payloads",25,dd,d1,a1)},
+ {::hx::fsObject /* ::borogove::EncryptionInfo */ ,(int)offsetof(ChatMessage_obj,encryption),HX_("encryption",83,dc,39,4f)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(ChatMessage_obj,stanza),HX_("stanza",f5,5d,f7,05)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *ChatMessage_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String ChatMessage_obj_sMemberFields[] = {
+ HX_("localId",26,7a,c6,2d),
+ HX_("localId__fromC",13,27,c6,af),
+ HX_("serverId",7e,01,b2,e2),
+ HX_("serverId__fromC",bb,ba,c0,81),
+ HX_("serverIdBy",f5,16,54,74),
+ HX_("serverIdBy__fromC",24,52,2e,02),
+ HX_("type",ba,f2,08,4d),
+ HX_("type__fromC",ff,a8,6c,93),
+ 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_("to",7b,65,00,00),
+ HX_("from",6a,a5,c2,43),
+ HX_("recipients",7a,62,59,87),
+ HX_("replyTo",45,71,3a,ab),
+ HX_("senderId",f0,1e,0e,ec),
+ HX_("senderId__fromC",89,0f,49,cb),
+ HX_("replyToMessage",02,cf,60,a6),
+ HX_("replyToMessage__fromC",b7,65,38,93),
+ HX_("threadId",45,81,25,cc),
+ HX_("threadId__fromC",d4,d1,81,79),
+ HX_("attachments",30,df,33,e7),
+ HX_("reactions",aa,cc,95,e7),
+ HX_("get_reactionKeys",c6,6a,eb,75),
+ HX_("reactionDetails",19,54,bb,c7),
+ HX_("text",ad,cc,f9,4c),
+ HX_("text__fromC",6c,43,1b,7f),
+ HX_("lang",ee,05,ad,47),
+ HX_("lang__fromC",4b,24,00,52),
+ HX_("direction",3f,62,40,10),
+ HX_("direction__fromC",1a,64,c6,4b),
+ HX_("status",32,e7,fb,05),
+ HX_("status__fromC",87,b3,25,a1),
+ HX_("statusText",ff,60,57,b1),
+ HX_("statusText__fromC",5a,bd,80,8c),
+ HX_("versions",5b,4e,b8,d6),
+ HX_("payloads",25,dd,d1,a1),
+ HX_("encryption",83,dc,39,4f),
+ HX_("encryption__fromC",56,7a,b6,09),
+ HX_("stanza",f5,5d,f7,05),
+ HX_("reply",2a,09,c6,e6),
+ HX_("getReplyId",af,ed,9b,fa),
+ HX_("set_replyToMessage",3f,e2,a9,1e),
+ HX_("set_reactions",8d,82,ff,ed),
+ HX_("inlineHashReferences",ef,73,63,1b),
+ HX_("html",6b,95,16,45),
+ HX_("chatId",d3,04,77,b7),
+ HX_("account",ad,fc,59,a1),
+ HX_("isIncoming",f0,52,c4,95),
+ HX_("threadIcon",63,bb,7b,41),
+ HX_("callStatus",70,be,2b,31),
+ HX_("callSid",10,f5,53,54),
+ HX_("callDuration",12,b2,d0,4c),
+ HX_("asStanza",87,68,cd,94),
+ ::String(null()) };
+
+::hx::Class ChatMessage_obj::__mClass;
+
+static ::String ChatMessage_obj_sStaticFields[] = {
+ HX_("fromStanza",ff,62,3b,49),
+ ::String(null())
+};
+
+void ChatMessage_obj::__register()
+{
+ ChatMessage_obj _hx_dummy;
+ ChatMessage_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.ChatMessage",e2,50,4f,42);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &ChatMessage_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(ChatMessage_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(ChatMessage_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< ChatMessage_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = ChatMessage_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = ChatMessage_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void ChatMessage_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_89_boot)
+HXDLIN( 89) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(21)
+ ->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)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(2,HX_("replyToMessage__fromC",b7,65,38,93), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(3,HX_("type__fromC",ff,a8,6c,93), ::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(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(6,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(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(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(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(10,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(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(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(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(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(15,HX_("direction__fromC",1a,64,c6,4b), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(16,HX_("lang__fromC",4b,24,00,52), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(17,HX_("get_reactionKeys",c6,6a,eb,75), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(18,HX_("reactionKeys__fromC",dc,e3,50,76), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(19,HX_("threadId__fromC",d4,d1,81,79), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(20,HX_("text__fromC",6c,43,1b,7f), ::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/ChatMessageBuilder.cpp b/Sources/c_borogove/src/borogove/ChatMessageBuilder.cpp
new file mode 100644
index 0000000..8b1c40d
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/ChatMessageBuilder.cpp
@@ -0,0 +1,1404 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Date
+#include <Date.h>
+#endif
+#ifndef INCLUDED_Lambda
+#include <Lambda.h>
+#endif
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.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_Date
+#include <borogove/Date.h>
+#endif
+#ifndef INCLUDED_borogove_EncryptionInfo
+#include <borogove/EncryptionInfo.h>
+#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
+#endif
+#ifndef INCLUDED_borogove_Node
+#include <borogove/Node.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_XEP0393
+#include <borogove/XEP0393.h>
+#endif
+#ifndef INCLUDED_borogove__Util_Util_Fields_
+#include <borogove/_Util/Util_Fields_.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_htmlparser_HtmlAttribute
+#include <htmlparser/HtmlAttribute.h>
+#endif
+#ifndef INCLUDED_htmlparser_HtmlNode
+#include <htmlparser/HtmlNode.h>
+#endif
+#ifndef INCLUDED_htmlparser_HtmlNodeElement
+#include <htmlparser/HtmlNodeElement.h>
+#endif
+#ifndef INCLUDED_htmlparser_HtmlNodeText
+#include <htmlparser/HtmlNodeText.h>
+#endif
+#ifndef INCLUDED_htmlparser_HtmlParser
+#include <htmlparser/HtmlParser.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_c7017726c326afec_32_new,"borogove.ChatMessageBuilder","new",0xd3d5b3cb,"borogove.ChatMessageBuilder.new","borogove/ChatMessageBuilder.hx",32,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_423_localId__fromC,"borogove.ChatMessageBuilder","localId__fromC",0x331bf588,"borogove.ChatMessageBuilder.localId__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_434_set_localId__fromC,"borogove.ChatMessageBuilder","set_localId__fromC",0x6345e745,"borogove.ChatMessageBuilder.set_localId__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_423_serverId__fromC,"borogove.ChatMessageBuilder","serverId__fromC",0xe97f92a6,"borogove.ChatMessageBuilder.serverId__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_434_set_serverId__fromC,"borogove.ChatMessageBuilder","set_serverId__fromC",0xde092649,"borogove.ChatMessageBuilder.set_serverId__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_423_serverIdBy__fromC,"borogove.ChatMessageBuilder","serverIdBy__fromC",0xf9433acf,"borogove.ChatMessageBuilder.serverIdBy__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_434_set_serverIdBy__fromC,"borogove.ChatMessageBuilder","set_serverIdBy__fromC",0x52133d32,"borogove.ChatMessageBuilder.set_serverIdBy__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_423_type__fromC,"borogove.ChatMessageBuilder","type__fromC",0x8af06f6a,"borogove.ChatMessageBuilder.type__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_434_set_type__fromC,"borogove.ChatMessageBuilder","set_type__fromC",0xb7d8b58d,"borogove.ChatMessageBuilder.set_type__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_423_timestamp__fromC,"borogove.ChatMessageBuilder","timestamp__fromC",0x36c99818,"borogove.ChatMessageBuilder.timestamp__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_434_set_timestamp__fromC,"borogove.ChatMessageBuilder","set_timestamp__fromC",0x3aa13315,"borogove.ChatMessageBuilder.set_timestamp__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_371_senderId__fromC,"borogove.ChatMessageBuilder","senderId__fromC",0x3307e774,"borogove.ChatMessageBuilder.senderId__fromC","HaxeCBridge.hx",371,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_382_set_senderId__fromC,"borogove.ChatMessageBuilder","set_senderId__fromC",0x27917b17,"borogove.ChatMessageBuilder.set_senderId__fromC","HaxeCBridge.hx",382,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_423_replyToMessage__fromC,"borogove.ChatMessageBuilder","replyToMessage__fromC",0x10667fe2,"borogove.ChatMessageBuilder.replyToMessage__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_434_set_replyToMessage__fromC,"borogove.ChatMessageBuilder","set_replyToMessage__fromC",0xdf0aefc5,"borogove.ChatMessageBuilder.set_replyToMessage__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_423_threadId__fromC,"borogove.ChatMessageBuilder","threadId__fromC",0xe140a9bf,"borogove.ChatMessageBuilder.threadId__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_434_set_threadId__fromC,"borogove.ChatMessageBuilder","set_threadId__fromC",0xd5ca3d62,"borogove.ChatMessageBuilder.set_threadId__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_360_attachments__fromC,"borogove.ChatMessageBuilder","attachments__fromC",0x0c2e843e,"borogove.ChatMessageBuilder.attachments__fromC","HaxeCBridge.hx",360,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_423_text__fromC,"borogove.ChatMessageBuilder","text__fromC",0x769f09d7,"borogove.ChatMessageBuilder.text__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_434_set_text__fromC,"borogove.ChatMessageBuilder","set_text__fromC",0xa3874ffa,"borogove.ChatMessageBuilder.set_text__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_423_lang__fromC,"borogove.ChatMessageBuilder","lang__fromC",0x4983eab6,"borogove.ChatMessageBuilder.lang__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_434_set_lang__fromC,"borogove.ChatMessageBuilder","set_lang__fromC",0x766c30d9,"borogove.ChatMessageBuilder.set_lang__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_423_direction__fromC,"borogove.ChatMessageBuilder","direction__fromC",0xab0479cf,"borogove.ChatMessageBuilder.direction__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_434_set_direction__fromC,"borogove.ChatMessageBuilder","set_direction__fromC",0xaedc14cc,"borogove.ChatMessageBuilder.set_direction__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_423_status__fromC,"borogove.ChatMessageBuilder","status__fromC",0x55f82ab2,"borogove.ChatMessageBuilder.status__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_434_set_status__fromC,"borogove.ChatMessageBuilder","set_status__fromC",0xc2187f95,"borogove.ChatMessageBuilder.set_status__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_423_statusText__fromC,"borogove.ChatMessageBuilder","statusText__fromC",0x8395a605,"borogove.ChatMessageBuilder.statusText__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_434_set_statusText__fromC,"borogove.ChatMessageBuilder","set_statusText__fromC",0xdc65a868,"borogove.ChatMessageBuilder.set_statusText__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_412_set_versions__fromC,"borogove.ChatMessageBuilder","set_versions__fromC",0x7130df0c,"borogove.ChatMessageBuilder.set_versions__fromC","HaxeCBridge.hx",412,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_397_versions__fromC,"borogove.ChatMessageBuilder","versions__fromC",0x7ca74b69,"borogove.ChatMessageBuilder.versions__fromC","HaxeCBridge.hx",397,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_423_encryption__fromC,"borogove.ChatMessageBuilder","encryption__fromC",0x00cb6301,"borogove.ChatMessageBuilder.encryption__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_434_set_encryption__fromC,"borogove.ChatMessageBuilder","set_encryption__fromC",0x599b6564,"borogove.ChatMessageBuilder.set_encryption__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_230_attachSims,"borogove.ChatMessageBuilder","attachSims",0x7e2cb3d6,"borogove.ChatMessageBuilder.attachSims","borogove/ChatMessageBuilder.hx",230,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_251_addAttachment,"borogove.ChatMessageBuilder","addAttachment",0xfc8ec88f,"borogove.ChatMessageBuilder.addAttachment","borogove/ChatMessageBuilder.hx",251,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_273_setHtml,"borogove.ChatMessageBuilder","setHtml",0xc42a4b18,"borogove.ChatMessageBuilder.setHtml","borogove/ChatMessageBuilder.hx",273,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_258_setHtml,"borogove.ChatMessageBuilder","setHtml",0xc42a4b18,"borogove.ChatMessageBuilder.setHtml","borogove/ChatMessageBuilder.hx",258,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_279_htmlToNode,"borogove.ChatMessageBuilder","htmlToNode",0xfe6b10dd,"borogove.ChatMessageBuilder.htmlToNode","borogove/ChatMessageBuilder.hx",279,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_302_chatId,"borogove.ChatMessageBuilder","chatId",0x9cbed648,"borogove.ChatMessageBuilder.chatId","borogove/ChatMessageBuilder.hx",302,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_313_get_senderId,"borogove.ChatMessageBuilder","get_senderId",0x3cf1aa2e,"borogove.ChatMessageBuilder.get_senderId","borogove/ChatMessageBuilder.hx",313,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_318_isIncoming,"borogove.ChatMessageBuilder","isIncoming",0x47aa82e5,"borogove.ChatMessageBuilder.isIncoming","borogove/ChatMessageBuilder.hx",318,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_326_build,"borogove.ChatMessageBuilder","build",0xdd3caf59,"borogove.ChatMessageBuilder.build","borogove/ChatMessageBuilder.hx",326,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_199_makeModerated,"borogove.ChatMessageBuilder","makeModerated",0xcfb6a69e,"borogove.ChatMessageBuilder.makeModerated","borogove/ChatMessageBuilder.hx",199,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_32_boot,"borogove.ChatMessageBuilder","boot",0x7f409e67,"borogove.ChatMessageBuilder.boot","borogove/ChatMessageBuilder.hx",32,0xd0295864)
+namespace borogove{
+
+void ChatMessageBuilder_obj::__construct(){
+ HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_32_new)
+HXLINE( 144) this->stanza = null();
+HXLINE( 132) this->payloads = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 129) this->versions = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 124) this->statusText = null();
+HXLINE( 119) this->status = 0;
+HXLINE( 114) this->direction = 0;
+HXLINE( 109) this->lang = null();
+HXLINE( 104) this->text = null();
+HXLINE( 99) this->reactions = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 93) this->attachments = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 88) this->threadId = null();
+HXLINE( 83) this->replyToMessage = null();
+HXLINE( 78) this->senderId = null();
+HXLINE( 73) this->replyTo = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 71) this->recipients = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 69) this->sender = null();
+HXLINE( 67) this->from = null();
+HXLINE( 65) this->to = null();
+HXLINE( 62) this->timestamp = null();
+HXLINE( 57) this->replyId = null();
+HXLINE( 54) this->syncPoint = false;
+HXLINE( 51) this->type = 0;
+HXLINE( 46) this->serverIdBy = null();
+HXLINE( 41) this->serverId = null();
+HXLINE( 36) this->localId = null();
+ }
+
+Dynamic ChatMessageBuilder_obj::__CreateEmpty() { return new ChatMessageBuilder_obj; }
+
+void *ChatMessageBuilder_obj::_hx_vtable = 0;
+
+Dynamic ChatMessageBuilder_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< ChatMessageBuilder_obj > _hx_result = new ChatMessageBuilder_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool ChatMessageBuilder_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x208bfddd;
+}
+
+::String ChatMessageBuilder_obj::localId__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_423_localId__fromC)
+HXDLIN( 423) return this->localId;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,localId__fromC,return )
+
+void ChatMessageBuilder_obj::set_localId__fromC(::String value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_434_set_localId__fromC)
+HXDLIN( 434) this->localId = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_localId__fromC,(void))
+
+::String ChatMessageBuilder_obj::serverId__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_423_serverId__fromC)
+HXDLIN( 423) return this->serverId;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,serverId__fromC,return )
+
+void ChatMessageBuilder_obj::set_serverId__fromC(::String value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_434_set_serverId__fromC)
+HXDLIN( 434) this->serverId = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_serverId__fromC,(void))
+
+::String ChatMessageBuilder_obj::serverIdBy__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_423_serverIdBy__fromC)
+HXDLIN( 423) return this->serverIdBy;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,serverIdBy__fromC,return )
+
+void ChatMessageBuilder_obj::set_serverIdBy__fromC(::String value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_434_set_serverIdBy__fromC)
+HXDLIN( 434) this->serverIdBy = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_serverIdBy__fromC,(void))
+
+int ChatMessageBuilder_obj::type__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_423_type__fromC)
+HXDLIN( 423) return this->type;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,type__fromC,return )
+
+void ChatMessageBuilder_obj::set_type__fromC(int value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_434_set_type__fromC)
+HXDLIN( 434) this->type = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_type__fromC,(void))
+
+::String ChatMessageBuilder_obj::timestamp__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_423_timestamp__fromC)
+HXDLIN( 423) return this->timestamp;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,timestamp__fromC,return )
+
+void ChatMessageBuilder_obj::set_timestamp__fromC(::String value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_434_set_timestamp__fromC)
+HXDLIN( 434) this->timestamp = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_timestamp__fromC,(void))
+
+::String ChatMessageBuilder_obj::senderId__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_371_senderId__fromC)
+HXDLIN( 371) return this->get_senderId();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,senderId__fromC,return )
+
+void ChatMessageBuilder_obj::set_senderId__fromC(::String value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_382_set_senderId__fromC)
+HXDLIN( 382) this->senderId = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_senderId__fromC,(void))
+
+ ::borogove::ChatMessage ChatMessageBuilder_obj::replyToMessage__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_423_replyToMessage__fromC)
+HXDLIN( 423) return this->replyToMessage;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,replyToMessage__fromC,return )
+
+void ChatMessageBuilder_obj::set_replyToMessage__fromC( ::borogove::ChatMessage value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_434_set_replyToMessage__fromC)
+HXDLIN( 434) this->replyToMessage = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_replyToMessage__fromC,(void))
+
+::String ChatMessageBuilder_obj::threadId__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_423_threadId__fromC)
+HXDLIN( 423) return this->threadId;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,threadId__fromC,return )
+
+void ChatMessageBuilder_obj::set_threadId__fromC(::String value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_434_set_threadId__fromC)
+HXDLIN( 434) this->threadId = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_threadId__fromC,(void))
+
+size_t ChatMessageBuilder_obj::attachments__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_360_attachments__fromC)
+HXDLIN( 360) ::Array< ::Dynamic> x = this->attachments;
+HXDLIN( 360) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 360) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 360) {
+HXDLIN( 360) int _g = 0;
+HXDLIN( 360) while((_g < x->length)){
+HXDLIN( 360) ::borogove::ChatAttachment el = x->__get(_g).StaticCast< ::borogove::ChatAttachment >();
+HXDLIN( 360) _g = (_g + 1);
+HXDLIN( 360) {
+HXDLIN( 360) ::Dynamic haxeObject = el;
+HXDLIN( 360) void* ptr = haxeObject.mPtr;
+HXDLIN( 360) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 360) {
+HXDLIN( 360) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 360) if (::hx::IsNull( store )) {
+HXDLIN( 360) 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( 360) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 360) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 360) void** ptr1 = (void**)x->getBase();
+HXDLIN( 360) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 360) {
+HXDLIN( 360) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 360) if (::hx::IsNull( store1 )) {
+HXDLIN( 360) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),x));
+HXDLIN( 360) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 360) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 360) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 360) return ( (size_t)(x->length) );
+ }
+
+
+::String ChatMessageBuilder_obj::text__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_423_text__fromC)
+HXDLIN( 423) return this->text;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,text__fromC,return )
+
+void ChatMessageBuilder_obj::set_text__fromC(::String value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_434_set_text__fromC)
+HXDLIN( 434) this->text = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_text__fromC,(void))
+
+::String ChatMessageBuilder_obj::lang__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_423_lang__fromC)
+HXDLIN( 423) return this->lang;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,lang__fromC,return )
+
+void ChatMessageBuilder_obj::set_lang__fromC(::String value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_434_set_lang__fromC)
+HXDLIN( 434) this->lang = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_lang__fromC,(void))
+
+int ChatMessageBuilder_obj::direction__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_423_direction__fromC)
+HXDLIN( 423) return this->direction;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,direction__fromC,return )
+
+void ChatMessageBuilder_obj::set_direction__fromC(int value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_434_set_direction__fromC)
+HXDLIN( 434) this->direction = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_direction__fromC,(void))
+
+int ChatMessageBuilder_obj::status__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_423_status__fromC)
+HXDLIN( 423) return this->status;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,status__fromC,return )
+
+void ChatMessageBuilder_obj::set_status__fromC(int value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_434_set_status__fromC)
+HXDLIN( 434) this->status = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_status__fromC,(void))
+
+::String ChatMessageBuilder_obj::statusText__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_423_statusText__fromC)
+HXDLIN( 423) return this->statusText;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,statusText__fromC,return )
+
+void ChatMessageBuilder_obj::set_statusText__fromC(::String value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_434_set_statusText__fromC)
+HXDLIN( 434) this->statusText = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_statusText__fromC,(void))
+
+void ChatMessageBuilder_obj::set_versions__fromC(::cpp::Pointer< void* > inPtr,size_t count){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_412_set_versions__fromC)
+HXDLIN( 412) ::cpp::Pointer< ::borogove::ChatMessage > _this = inPtr->reinterpret();
+HXDLIN( 412) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new();
+HXDLIN( 412) ::cpp::Pointer< ::borogove::ChatMessage > tmp = _this;
+HXDLIN( 412) result->setUnmanagedData(tmp,( (int)(count) ));
+HXDLIN( 412) this->versions = result->copy();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(ChatMessageBuilder_obj,set_versions__fromC,(void))
+
+size_t ChatMessageBuilder_obj::versions__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_397_versions__fromC)
+HXDLIN( 397) ::Array< ::Dynamic> x = this->versions;
+HXDLIN( 397) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 397) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 397) {
+HXDLIN( 397) int _g = 0;
+HXDLIN( 397) while((_g < x->length)){
+HXDLIN( 397) ::borogove::ChatMessage el = x->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 397) _g = (_g + 1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic haxeObject = el;
+HXDLIN( 397) void* ptr = haxeObject.mPtr;
+HXDLIN( 397) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 397) if (::hx::IsNull( store )) {
+HXDLIN( 397) 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( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 397) void** ptr1 = (void**)x->getBase();
+HXDLIN( 397) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 397) if (::hx::IsNull( store1 )) {
+HXDLIN( 397) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),x));
+HXDLIN( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 397) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 397) return ( (size_t)(x->length) );
+ }
+
+
+ ::borogove::EncryptionInfo ChatMessageBuilder_obj::encryption__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_423_encryption__fromC)
+HXDLIN( 423) return this->encryption;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,encryption__fromC,return )
+
+void ChatMessageBuilder_obj::set_encryption__fromC( ::borogove::EncryptionInfo value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_434_set_encryption__fromC)
+HXDLIN( 434) this->encryption = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_encryption__fromC,(void))
+
+void ChatMessageBuilder_obj::attachSims( ::borogove::Stanza sims){
+ HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_230_attachSims)
+HXLINE( 231) ::String mime = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:5}/media-type#",f7,02,ad,24));
+HXLINE( 232) if (::hx::IsNull( mime )) {
+HXLINE( 232) mime = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:3}/media-type#",39,5c,52,9f));
+ }
+HXLINE( 233) if (::hx::IsNull( mime )) {
+HXLINE( 233) mime = HX_("application/octet-stream",5d,f8,82,30);
+ }
+HXLINE( 234) ::String name = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:5}/name#",6f,0a,d5,d2));
+HXLINE( 235) if (::hx::IsNull( name )) {
+HXLINE( 235) name = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:3}/name#",31,26,70,60));
+ }
+HXLINE( 236) ::String size = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:5}/size#",39,83,29,b9));
+HXLINE( 237) if (::hx::IsNull( size )) {
+HXLINE( 237) size = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:3}/size#",fb,9e,c4,46));
+ }
+HXLINE( 238) ::Array< ::Dynamic> _this;
+HXDLIN( 238) ::borogove::Stanza tmp;
+HXDLIN( 238) ::borogove::Stanza tmp1 = sims->getChild(HX_("file",7c,ce,bb,43),HX_("urn:xmpp:jingle:apps:file-transfer:5",9c,81,0d,37));
+HXDLIN( 238) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 238) tmp = tmp1;
+ }
+ else {
+HXLINE( 238) tmp = sims->getChild(HX_("file",7c,ce,bb,43),HX_("urn:xmpp:jingle:apps:file-transfer:3",9a,81,0d,37));
+ }
+HXDLIN( 238) ::Array< ::Dynamic> tmp2;
+HXDLIN( 238) if (::hx::IsNotNull( tmp )) {
+HXLINE( 238) tmp2 = tmp->allTags(HX_("hash",ce,2f,08,45),HX_("urn:xmpp:hashes:2",90,ad,87,c7));
+ }
+ else {
+HXLINE( 238) tmp2 = null();
+ }
+HXDLIN( 238) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 238) _this = tmp2;
+ }
+ else {
+HXLINE( 238) _this = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN( 238) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN( 238) {
+HXLINE( 238) int _g = 0;
+HXDLIN( 238) int _g1 = _this->length;
+HXDLIN( 238) while((_g < _g1)){
+HXLINE( 238) _g = (_g + 1);
+HXDLIN( 238) int i = (_g - 1);
+HXDLIN( 238) {
+HXLINE( 239) ::borogove::Stanza hash = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) );
+HXDLIN( 239) ::String inValue;
+HXDLIN( 239) ::String tmp3 = ( (::String)(::Reflect_obj::field(hash->attr,HX_("algo",d3,ff,6f,40))) );
+HXDLIN( 239) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 239) inValue = tmp3;
+ }
+ else {
+HXLINE( 239) inValue = HX_("",00,00,00,00);
+ }
+HXLINE( 238) ::borogove::Hash inValue1 = ::borogove::Hash_obj::__alloc( HX_CTX ,inValue,::haxe::crypto::Base64_obj::decode(hash->getText(),null())->b);
+HXDLIN( 238) result->__unsafe_set(i,inValue1);
+ }
+ }
+ }
+HXLINE( 240) ::borogove::Stanza sources = sims->getChild(HX_("sources",38,0f,49,b9),null());
+HXLINE( 241) ::Array< ::Dynamic> _this1;
+HXDLIN( 241) ::Array< ::Dynamic> tmp4;
+HXDLIN( 241) if (::hx::IsNotNull( sources )) {
+HXLINE( 241) tmp4 = sources->allTags(HX_("reference",cb,07,c5,5a),HX_("urn:xmpp:reference:0",a5,00,10,5d));
+ }
+ else {
+HXLINE( 241) tmp4 = null();
+ }
+HXDLIN( 241) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 241) _this1 = tmp4;
+ }
+ else {
+HXLINE( 241) _this1 = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN( 241) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
+HXDLIN( 241) {
+HXLINE( 241) int _g2 = 0;
+HXDLIN( 241) int _g3 = _this1->length;
+HXDLIN( 241) while((_g2 < _g3)){
+HXLINE( 241) _g2 = (_g2 + 1);
+HXDLIN( 241) int i1 = (_g2 - 1);
+HXDLIN( 241) {
+HXLINE( 241) ::String inValue2;
+HXDLIN( 241) ::String tmp5 = ( (::String)(::Reflect_obj::field(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this1,i1)) )->attr,HX_("uri",6c,2b,59,00))) );
+HXDLIN( 241) if (::hx::IsNotNull( tmp5 )) {
+HXLINE( 241) inValue2 = tmp5;
+ }
+ else {
+HXLINE( 241) inValue2 = HX_("",00,00,00,00);
+ }
+HXDLIN( 241) result1->__unsafe_set(i1,inValue2);
+ }
+ }
+ }
+HXDLIN( 241) ::Array< ::String > _g4 = ::Array_obj< ::String >::__new(0);
+HXDLIN( 241) {
+HXLINE( 241) int _g5 = 0;
+HXDLIN( 241) while((_g5 < result1->length)){
+HXLINE( 241) ::String v = result1->__get(_g5);
+HXDLIN( 241) _g5 = (_g5 + 1);
+HXDLIN( 241) if ((v != HX_("",00,00,00,00))) {
+HXLINE( 241) _g4->push(v);
+ }
+ }
+ }
+HXLINE( 242) if ((_g4->length > 0)) {
+HXLINE( 242) ::Array< ::Dynamic> _hx_tmp = this->attachments;
+HXDLIN( 242) ::Dynamic _hx_tmp1;
+HXDLIN( 242) if (::hx::IsNull( size )) {
+HXLINE( 242) _hx_tmp1 = null();
+ }
+ else {
+HXLINE( 242) _hx_tmp1 = ::Std_obj::parseInt(size);
+ }
+HXDLIN( 242) _hx_tmp->push( ::borogove::ChatAttachment_obj::__alloc( HX_CTX ,name,mime,_hx_tmp1,_g4,result));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,attachSims,(void))
+
+void ChatMessageBuilder_obj::addAttachment( ::borogove::ChatAttachment attachment){
+ HX_STACKFRAME(&_hx_pos_c7017726c326afec_251_addAttachment)
+HXDLIN( 251) this->attachments->push(attachment);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,addAttachment,(void))
+
+void ChatMessageBuilder_obj::setHtml(::String html){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ bool _hx_run( ::borogove::Stanza p){
+ HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_273_setHtml)
+HXLINE( 273) 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( 273) return (p->name == HX_("html",6b,95,16,45));
+ }
+ else {
+HXLINE( 273) return false;
+ }
+HXDLIN( 273) return false;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_258_setHtml)
+HXLINE( 259) ::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( 260) ::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( 261) htmlEl->addChild(body);
+HXLINE( 262) ::Array< ::Dynamic> nodes = ::htmlparser::HtmlParser_obj::run(html,true);
+HXLINE( 263) {
+HXLINE( 263) int _g = 0;
+HXDLIN( 263) while((_g < nodes->length)){
+HXLINE( 263) ::htmlparser::HtmlNode node = nodes->__get(_g).StaticCast< ::htmlparser::HtmlNode >();
+HXDLIN( 263) _g = (_g + 1);
+HXLINE( 264) ::htmlparser::HtmlNodeElement el = ( ( ::htmlparser::HtmlNodeElement)(::borogove::_Util::Util_Fields__obj::downcast(node,::hx::ClassOf< ::htmlparser::HtmlNodeElement >())) );
+HXLINE( 265) bool _hx_tmp;
+HXDLIN( 265) if (::hx::IsNotNull( el )) {
+HXLINE( 265) if ((el->name != HX_("html",6b,95,16,45))) {
+HXLINE( 265) _hx_tmp = (el->name == HX_("body",a2,7a,1b,41));
+ }
+ else {
+HXLINE( 265) _hx_tmp = true;
+ }
+ }
+ else {
+HXLINE( 265) _hx_tmp = false;
+ }
+HXDLIN( 265) if (_hx_tmp) {
+HXLINE( 266) int _g1 = 0;
+HXDLIN( 266) ::Array< ::Dynamic> _g2 = el->nodes;
+HXDLIN( 266) while((_g1 < _g2->length)){
+HXLINE( 266) ::htmlparser::HtmlNode inner = _g2->__get(_g1).StaticCast< ::htmlparser::HtmlNode >();
+HXDLIN( 266) _g1 = (_g1 + 1);
+HXLINE( 267) body->addDirectChild(this->htmlToNode(inner));
+ }
+ }
+ else {
+HXLINE( 270) body->addDirectChild(this->htmlToNode(node));
+ }
+ }
+ }
+HXLINE( 273) int htmlIdx = ::Lambda_obj::findIndex(this->payloads, ::Dynamic(new _hx_Closure_0()));
+HXLINE( 274) if ((htmlIdx >= 0)) {
+HXLINE( 274) this->payloads->removeRange(htmlIdx,1);
+ }
+HXLINE( 275) this->payloads->push(htmlEl);
+HXLINE( 276) this->text = ::borogove::XEP0393_obj::render(body,null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,setHtml,(void))
+
+ ::borogove::Node ChatMessageBuilder_obj::htmlToNode( ::htmlparser::HtmlNode node){
+ HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_279_htmlToNode)
+HXLINE( 280) ::htmlparser::HtmlNodeText txt = ( ( ::htmlparser::HtmlNodeText)(::borogove::_Util::Util_Fields__obj::downcast(node,::hx::ClassOf< ::htmlparser::HtmlNodeText >())) );
+HXLINE( 281) if (::hx::IsNotNull( txt )) {
+HXLINE( 282) return ::borogove::Node_obj::CData(txt->toText());
+ }
+HXLINE( 284) ::htmlparser::HtmlNodeElement el = ( ( ::htmlparser::HtmlNodeElement)(::borogove::_Util::Util_Fields__obj::downcast(node,::hx::ClassOf< ::htmlparser::HtmlNodeElement >())) );
+HXLINE( 285) if (::hx::IsNotNull( el )) {
+HXLINE( 286) ::borogove::Stanza s = ::borogove::Stanza_obj::__alloc( HX_CTX ,el->name, ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE( 287) {
+HXLINE( 287) int _g = 0;
+HXDLIN( 287) ::Array< ::Dynamic> _g1 = el->attributes;
+HXDLIN( 287) while((_g < _g1->length)){
+HXLINE( 287) ::htmlparser::HtmlAttribute attr = _g1->__get(_g).StaticCast< ::htmlparser::HtmlAttribute >();
+HXDLIN( 287) _g = (_g + 1);
+HXLINE( 288) ::Reflect_obj::setField(s->attr,attr->name,attr->value);
+ }
+ }
+HXLINE( 290) {
+HXLINE( 290) int _g2 = 0;
+HXDLIN( 290) ::Array< ::Dynamic> _g3 = el->nodes;
+HXDLIN( 290) while((_g2 < _g3->length)){
+HXLINE( 290) ::htmlparser::HtmlNode child = _g3->__get(_g2).StaticCast< ::htmlparser::HtmlNode >();
+HXDLIN( 290) _g2 = (_g2 + 1);
+HXLINE( 291) s->addDirectChild(this->htmlToNode(child));
+ }
+ }
+HXLINE( 293) return ::borogove::Node_obj::Element(s);
+ }
+HXLINE( 295) HX_STACK_DO_THROW(HX_("node was neither text nor element?",c3,dc,19,83));
+HXDLIN( 295) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,htmlToNode,return )
+
+::String ChatMessageBuilder_obj::chatId(){
+ HX_STACKFRAME(&_hx_pos_c7017726c326afec_302_chatId)
+HXDLIN( 302) if (this->isIncoming()) {
+HXLINE( 303) ::Array< ::Dynamic> _this = this->replyTo;
+HXDLIN( 303) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 303) {
+HXLINE( 303) int _g = 0;
+HXDLIN( 303) int _g1 = _this->length;
+HXDLIN( 303) while((_g < _g1)){
+HXLINE( 303) _g = (_g + 1);
+HXDLIN( 303) int i = (_g - 1);
+HXDLIN( 303) {
+HXLINE( 303) ::String inValue = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this,i)) )->asBare()->asString();
+HXDLIN( 303) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 303) return result->join(HX_("\n",0a,00,00,00));
+ }
+ else {
+HXLINE( 305) ::Array< ::Dynamic> _this1 = this->recipients;
+HXDLIN( 305) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
+HXDLIN( 305) {
+HXLINE( 305) int _g2 = 0;
+HXDLIN( 305) int _g3 = _this1->length;
+HXDLIN( 305) while((_g2 < _g3)){
+HXLINE( 305) _g2 = (_g2 + 1);
+HXDLIN( 305) int i1 = (_g2 - 1);
+HXDLIN( 305) {
+HXLINE( 305) ::String inValue1 = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this1,i1)) )->asString();
+HXDLIN( 305) result1->__unsafe_set(i1,inValue1);
+ }
+ }
+ }
+HXDLIN( 305) return result1->join(HX_("\n",0a,00,00,00));
+ }
+HXLINE( 302) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,chatId,return )
+
+::String ChatMessageBuilder_obj::get_senderId(){
+ HX_STACKFRAME(&_hx_pos_c7017726c326afec_313_get_senderId)
+HXDLIN( 313) ::String tmp = this->senderId;
+HXDLIN( 313) ::String tmp1;
+HXDLIN( 313) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 313) tmp1 = tmp;
+ }
+ else {
+HXDLIN( 313) ::borogove::JID tmp2 = this->sender;
+HXDLIN( 313) if (::hx::IsNotNull( tmp2 )) {
+HXDLIN( 313) tmp1 = tmp2->asString();
+ }
+ else {
+HXDLIN( 313) tmp1 = null();
+ }
+ }
+HXDLIN( 313) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN( 313) return tmp1;
+ }
+ else {
+HXDLIN( 313) HX_STACK_DO_THROW(HX_("sender is null",12,ab,5a,42));
+ }
+HXDLIN( 313) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,get_senderId,return )
+
+bool ChatMessageBuilder_obj::isIncoming(){
+ HX_STACKFRAME(&_hx_pos_c7017726c326afec_318_isIncoming)
+HXDLIN( 318) return (this->direction == 0);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,isIncoming,return )
+
+ ::borogove::ChatMessage ChatMessageBuilder_obj::build(){
+ HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_326_build)
+HXLINE( 327) bool _hx_tmp;
+HXDLIN( 327) if (::hx::IsNull( this->serverId )) {
+HXLINE( 327) _hx_tmp = ::hx::IsNull( this->localId );
+ }
+ else {
+HXLINE( 327) _hx_tmp = false;
+ }
+HXDLIN( 327) if (_hx_tmp) {
+HXLINE( 327) HX_STACK_DO_THROW(HX_("Cannot build a ChatMessage with no id",ff,b8,88,e6));
+ }
+HXLINE( 328) ::borogove::JID to = this->to;
+HXLINE( 329) if (::hx::IsNull( to )) {
+HXLINE( 329) HX_STACK_DO_THROW(HX_("Cannot build a ChatMessage with no to",9f,c2,88,e6));
+ }
+HXLINE( 330) ::borogove::JID from = this->from;
+HXLINE( 331) if (::hx::IsNull( from )) {
+HXLINE( 331) HX_STACK_DO_THROW(HX_("Cannot build a ChatMessage with no from",8e,93,f7,22));
+ }
+HXLINE( 332) if (::hx::IsNull( this->sender )) {
+HXLINE( 332) from->asBare();
+ }
+HXLINE( 334) ::String _hx_tmp1 = this->localId;
+HXLINE( 335) ::String _hx_tmp2 = this->serverId;
+HXLINE( 336) ::String _hx_tmp3 = this->serverIdBy;
+HXLINE( 337) ::Dynamic _hx_tmp4 = this->type;
+HXLINE( 338) ::Dynamic _hx_tmp5 = this->syncPoint;
+HXLINE( 339) ::String _hx_tmp6 = this->replyId;
+HXLINE( 340) ::String _hx_tmp7;
+HXDLIN( 340) ::String tmp = this->timestamp;
+HXDLIN( 340) if (::hx::IsNotNull( tmp )) {
+HXLINE( 340) _hx_tmp7 = tmp;
+ }
+ else {
+HXLINE( 340) _hx_tmp7 = ::borogove::Date_obj::format(::Date_obj::now());
+ }
+HXLINE( 333) return ::borogove::ChatMessage_obj::__alloc( HX_CTX , ::Dynamic(::hx::Anon_obj::Create(25)
+ ->setFixed(0,HX_("recipients",7a,62,59,87),this->recipients)
+ ->setFixed(1,HX_("syncPoint",f5,ff,94,98),_hx_tmp5)
+ ->setFixed(2,HX_("payloads",25,dd,d1,a1),this->payloads)
+ ->setFixed(3,HX_("timestamp",d6,d4,ce,a5),_hx_tmp7)
+ ->setFixed(4,HX_("replyToMessage",02,cf,60,a6),this->replyToMessage)
+ ->setFixed(5,HX_("replyId",a5,67,3a,ab),_hx_tmp6)
+ ->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(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),this->get_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_("from",6a,a5,c2,43),from)
+ ->setFixed(20,HX_("lang",ee,05,ad,47),this->lang)
+ ->setFixed(21,HX_("text",ad,cc,f9,4c),this->text)
+ ->setFixed(22,HX_("type",ba,f2,08,4d),_hx_tmp4)
+ ->setFixed(23,HX_("encryption",83,dc,39,4f),this->encryption)
+ ->setFixed(24,HX_("serverIdBy",f5,16,54,74),_hx_tmp3)));
+ }
+
+
+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_199_makeModerated)
+HXLINE( 200) ::borogove::ChatMessageBuilder builder = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
+HXLINE( 201) builder->localId = m->localId;
+HXLINE( 202) builder->serverId = m->serverId;
+HXLINE( 203) builder->serverIdBy = m->serverIdBy;
+HXLINE( 204) builder->type = m->type;
+HXLINE( 205) builder->syncPoint = m->syncPoint;
+HXLINE( 206) builder->replyId = m->replyId;
+HXLINE( 207) builder->timestamp = m->timestamp;
+HXLINE( 208) builder->to = m->to;
+HXLINE( 209) builder->from = m->from;
+HXLINE( 210) builder->senderId = m->senderId;
+HXLINE( 211) builder->recipients = ::Lambda_obj::array(m->recipients);
+HXLINE( 212) builder->replyTo = ::Lambda_obj::array(m->replyTo);
+HXLINE( 213) builder->replyToMessage = m->replyToMessage;
+HXLINE( 214) builder->threadId = m->threadId;
+HXLINE( 215) builder->reactions = m->reactions;
+HXLINE( 216) builder->direction = m->direction;
+HXLINE( 217) builder->status = m->status;
+HXLINE( 218) ::borogove::ChatMessage cleanedStub = builder->build();
+HXLINE( 219) ::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( 220) if (::hx::IsNotNull( reason )) {
+HXLINE( 220) payload->textTag(HX_("reason",c4,0f,9d,fc),reason,null());
+ }
+HXLINE( 221) 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( 222) builder->payloads->push(payload);
+HXLINE( 223) builder->timestamp = timestamp;
+HXLINE( 224) builder->versions = ::Array_obj< ::Dynamic>::__new(2)->init(0,builder->build())->init(1,cleanedStub);
+HXLINE( 225) builder->timestamp = m->timestamp;
+HXLINE( 226) return builder->build();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(ChatMessageBuilder_obj,makeModerated,return )
+
+
+::hx::ObjectPtr< ChatMessageBuilder_obj > ChatMessageBuilder_obj::__new() {
+ ::hx::ObjectPtr< ChatMessageBuilder_obj > __this = new ChatMessageBuilder_obj();
+ __this->__construct();
+ return __this;
+}
+
+::hx::ObjectPtr< ChatMessageBuilder_obj > ChatMessageBuilder_obj::__alloc(::hx::Ctx *_hx_ctx) {
+ ChatMessageBuilder_obj *__this = (ChatMessageBuilder_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ChatMessageBuilder_obj), true, "borogove.ChatMessageBuilder"));
+ *(void **)__this = ChatMessageBuilder_obj::_hx_vtable;
+ __this->__construct();
+ return __this;
+}
+
+ChatMessageBuilder_obj::ChatMessageBuilder_obj()
+{
+}
+
+void ChatMessageBuilder_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(ChatMessageBuilder);
+ HX_MARK_MEMBER_NAME(localId,"localId");
+ HX_MARK_MEMBER_NAME(serverId,"serverId");
+ HX_MARK_MEMBER_NAME(serverIdBy,"serverIdBy");
+ 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(to,"to");
+ HX_MARK_MEMBER_NAME(from,"from");
+ HX_MARK_MEMBER_NAME(sender,"sender");
+ HX_MARK_MEMBER_NAME(recipients,"recipients");
+ HX_MARK_MEMBER_NAME(replyTo,"replyTo");
+ HX_MARK_MEMBER_NAME(senderId,"senderId");
+ HX_MARK_MEMBER_NAME(replyToMessage,"replyToMessage");
+ HX_MARK_MEMBER_NAME(threadId,"threadId");
+ HX_MARK_MEMBER_NAME(attachments,"attachments");
+ HX_MARK_MEMBER_NAME(reactions,"reactions");
+ HX_MARK_MEMBER_NAME(text,"text");
+ HX_MARK_MEMBER_NAME(lang,"lang");
+ HX_MARK_MEMBER_NAME(direction,"direction");
+ HX_MARK_MEMBER_NAME(status,"status");
+ HX_MARK_MEMBER_NAME(statusText,"statusText");
+ HX_MARK_MEMBER_NAME(versions,"versions");
+ HX_MARK_MEMBER_NAME(payloads,"payloads");
+ HX_MARK_MEMBER_NAME(encryption,"encryption");
+ HX_MARK_MEMBER_NAME(stanza,"stanza");
+ HX_MARK_END_CLASS();
+}
+
+void ChatMessageBuilder_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(localId,"localId");
+ HX_VISIT_MEMBER_NAME(serverId,"serverId");
+ HX_VISIT_MEMBER_NAME(serverIdBy,"serverIdBy");
+ 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(to,"to");
+ HX_VISIT_MEMBER_NAME(from,"from");
+ HX_VISIT_MEMBER_NAME(sender,"sender");
+ HX_VISIT_MEMBER_NAME(recipients,"recipients");
+ HX_VISIT_MEMBER_NAME(replyTo,"replyTo");
+ HX_VISIT_MEMBER_NAME(senderId,"senderId");
+ HX_VISIT_MEMBER_NAME(replyToMessage,"replyToMessage");
+ HX_VISIT_MEMBER_NAME(threadId,"threadId");
+ HX_VISIT_MEMBER_NAME(attachments,"attachments");
+ HX_VISIT_MEMBER_NAME(reactions,"reactions");
+ HX_VISIT_MEMBER_NAME(text,"text");
+ HX_VISIT_MEMBER_NAME(lang,"lang");
+ HX_VISIT_MEMBER_NAME(direction,"direction");
+ HX_VISIT_MEMBER_NAME(status,"status");
+ HX_VISIT_MEMBER_NAME(statusText,"statusText");
+ HX_VISIT_MEMBER_NAME(versions,"versions");
+ HX_VISIT_MEMBER_NAME(payloads,"payloads");
+ HX_VISIT_MEMBER_NAME(encryption,"encryption");
+ HX_VISIT_MEMBER_NAME(stanza,"stanza");
+}
+
+::hx::Val ChatMessageBuilder_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"to") ) { return ::hx::Val( to ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"type") ) { return ::hx::Val( type ); }
+ if (HX_FIELD_EQ(inName,"from") ) { return ::hx::Val( from ); }
+ if (HX_FIELD_EQ(inName,"text") ) { return ::hx::Val( text ); }
+ if (HX_FIELD_EQ(inName,"lang") ) { return ::hx::Val( lang ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"build") ) { return ::hx::Val( build_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"sender") ) { return ::hx::Val( sender ); }
+ if (HX_FIELD_EQ(inName,"status") ) { return ::hx::Val( status ); }
+ if (HX_FIELD_EQ(inName,"stanza") ) { return ::hx::Val( stanza ); }
+ if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( chatId_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"localId") ) { return ::hx::Val( localId ); }
+ if (HX_FIELD_EQ(inName,"replyId") ) { return ::hx::Val( replyId ); }
+ if (HX_FIELD_EQ(inName,"replyTo") ) { return ::hx::Val( replyTo ); }
+ if (HX_FIELD_EQ(inName,"setHtml") ) { return ::hx::Val( setHtml_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"serverId") ) { return ::hx::Val( serverId ); }
+ 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 ); }
+ if (HX_FIELD_EQ(inName,"payloads") ) { return ::hx::Val( payloads ); }
+ 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;
+ case 10:
+ if (HX_FIELD_EQ(inName,"serverIdBy") ) { return ::hx::Val( serverIdBy ); }
+ if (HX_FIELD_EQ(inName,"recipients") ) { return ::hx::Val( recipients ); }
+ if (HX_FIELD_EQ(inName,"statusText") ) { return ::hx::Val( statusText ); }
+ if (HX_FIELD_EQ(inName,"encryption") ) { return ::hx::Val( encryption ); }
+ if (HX_FIELD_EQ(inName,"attachSims") ) { return ::hx::Val( attachSims_dyn() ); }
+ if (HX_FIELD_EQ(inName,"htmlToNode") ) { return ::hx::Val( htmlToNode_dyn() ); }
+ if (HX_FIELD_EQ(inName,"isIncoming") ) { return ::hx::Val( isIncoming_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"type__fromC") ) { return ::hx::Val( type__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"attachments") ) { return ::hx::Val( attachments ); }
+ if (HX_FIELD_EQ(inName,"text__fromC") ) { return ::hx::Val( text__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"lang__fromC") ) { return ::hx::Val( lang__fromC_dyn() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"get_senderId") ) { return ::hx::Val( get_senderId_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"status__fromC") ) { return ::hx::Val( status__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"addAttachment") ) { return ::hx::Val( addAttachment_dyn() ); }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"localId__fromC") ) { return ::hx::Val( localId__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"replyToMessage") ) { return ::hx::Val( replyToMessage ); }
+ break;
+ 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,"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_text__fromC") ) { return ::hx::Val( set_text__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:
+ if (HX_FIELD_EQ(inName,"serverIdBy__fromC") ) { return ::hx::Val( serverIdBy__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"set_status__fromC") ) { return ::hx::Val( set_status__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"statusText__fromC") ) { return ::hx::Val( statusText__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"encryption__fromC") ) { return ::hx::Val( encryption__fromC_dyn() ); }
+ break;
+ case 18:
+ if (HX_FIELD_EQ(inName,"set_localId__fromC") ) { return ::hx::Val( set_localId__fromC_dyn() ); }
+ break;
+ case 19:
+ if (HX_FIELD_EQ(inName,"set_serverId__fromC") ) { return ::hx::Val( set_serverId__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:
+ if (HX_FIELD_EQ(inName,"set_serverIdBy__fromC") ) { return ::hx::Val( set_serverIdBy__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"replyToMessage__fromC") ) { return ::hx::Val( replyToMessage__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"set_statusText__fromC") ) { return ::hx::Val( set_statusText__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"set_encryption__fromC") ) { return ::hx::Val( set_encryption__fromC_dyn() ); }
+ break;
+ case 25:
+ if (HX_FIELD_EQ(inName,"set_replyToMessage__fromC") ) { return ::hx::Val( set_replyToMessage__fromC_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool ChatMessageBuilder_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 13:
+ if (HX_FIELD_EQ(inName,"makeModerated") ) { outValue = makeModerated_dyn(); return true; }
+ }
+ return false;
+}
+
+::hx::Val ChatMessageBuilder_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"to") ) { to=inValue.Cast< ::borogove::JID >(); return inValue; }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"type") ) { type=inValue.Cast< int >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"from") ) { from=inValue.Cast< ::borogove::JID >(); return inValue; }
+ 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 6:
+ if (HX_FIELD_EQ(inName,"sender") ) { sender=inValue.Cast< ::borogove::JID >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"status") ) { status=inValue.Cast< int >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"stanza") ) { stanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"localId") ) { localId=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"replyId") ) { replyId=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"replyTo") ) { replyTo=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"serverId") ) { serverId=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; }
+ if (HX_FIELD_EQ(inName,"payloads") ) { payloads=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ 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;
+ case 10:
+ if (HX_FIELD_EQ(inName,"serverIdBy") ) { serverIdBy=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"recipients") ) { recipients=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"statusText") ) { statusText=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"encryption") ) { encryption=inValue.Cast< ::borogove::EncryptionInfo >(); return inValue; }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"attachments") ) { attachments=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"replyToMessage") ) { replyToMessage=inValue.Cast< ::borogove::ChatMessage >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void ChatMessageBuilder_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("localId",26,7a,c6,2d));
+ outFields->push(HX_("serverId",7e,01,b2,e2));
+ outFields->push(HX_("serverIdBy",f5,16,54,74));
+ 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_("to",7b,65,00,00));
+ outFields->push(HX_("from",6a,a5,c2,43));
+ outFields->push(HX_("sender",b5,c7,84,6b));
+ outFields->push(HX_("recipients",7a,62,59,87));
+ outFields->push(HX_("replyTo",45,71,3a,ab));
+ outFields->push(HX_("senderId",f0,1e,0e,ec));
+ 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_("reactions",aa,cc,95,e7));
+ outFields->push(HX_("text",ad,cc,f9,4c));
+ outFields->push(HX_("lang",ee,05,ad,47));
+ outFields->push(HX_("direction",3f,62,40,10));
+ outFields->push(HX_("status",32,e7,fb,05));
+ outFields->push(HX_("statusText",ff,60,57,b1));
+ outFields->push(HX_("versions",5b,4e,b8,d6));
+ outFields->push(HX_("payloads",25,dd,d1,a1));
+ outFields->push(HX_("encryption",83,dc,39,4f));
+ outFields->push(HX_("stanza",f5,5d,f7,05));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo ChatMessageBuilder_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,localId),HX_("localId",26,7a,c6,2d)},
+ {::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,serverId),HX_("serverId",7e,01,b2,e2)},
+ {::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,serverIdBy),HX_("serverIdBy",f5,16,54,74)},
+ {::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::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)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessageBuilder_obj,recipients),HX_("recipients",7a,62,59,87)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessageBuilder_obj,replyTo),HX_("replyTo",45,71,3a,ab)},
+ {::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,senderId),HX_("senderId",f0,1e,0e,ec)},
+ {::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 /* ::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)},
+ {::hx::fsInt,(int)offsetof(ChatMessageBuilder_obj,direction),HX_("direction",3f,62,40,10)},
+ {::hx::fsInt,(int)offsetof(ChatMessageBuilder_obj,status),HX_("status",32,e7,fb,05)},
+ {::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,statusText),HX_("statusText",ff,60,57,b1)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessageBuilder_obj,versions),HX_("versions",5b,4e,b8,d6)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessageBuilder_obj,payloads),HX_("payloads",25,dd,d1,a1)},
+ {::hx::fsObject /* ::borogove::EncryptionInfo */ ,(int)offsetof(ChatMessageBuilder_obj,encryption),HX_("encryption",83,dc,39,4f)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(ChatMessageBuilder_obj,stanza),HX_("stanza",f5,5d,f7,05)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *ChatMessageBuilder_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String ChatMessageBuilder_obj_sMemberFields[] = {
+ HX_("localId",26,7a,c6,2d),
+ HX_("localId__fromC",13,27,c6,af),
+ HX_("set_localId__fromC",50,3a,0f,28),
+ HX_("serverId",7e,01,b2,e2),
+ HX_("serverId__fromC",bb,ba,c0,81),
+ HX_("set_serverId__fromC",de,7c,68,49),
+ HX_("serverIdBy",f5,16,54,74),
+ HX_("serverIdBy__fromC",24,52,2e,02),
+ HX_("set_serverIdBy__fromC",07,23,e5,d4),
+ HX_("type",ba,f2,08,4d),
+ HX_("type__fromC",ff,a8,6c,93),
+ 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_("to",7b,65,00,00),
+ HX_("from",6a,a5,c2,43),
+ HX_("sender",b5,c7,84,6b),
+ HX_("recipients",7a,62,59,87),
+ HX_("replyTo",45,71,3a,ab),
+ HX_("senderId",f0,1e,0e,ec),
+ HX_("senderId__fromC",89,0f,49,cb),
+ HX_("set_senderId__fromC",ac,d1,f0,92),
+ HX_("replyToMessage",02,cf,60,a6),
+ HX_("replyToMessage__fromC",b7,65,38,93),
+ HX_("set_replyToMessage__fromC",1a,e4,8c,05),
+ HX_("threadId",45,81,25,cc),
+ HX_("threadId__fromC",d4,d1,81,79),
+ HX_("set_threadId__fromC",f7,93,29,41),
+ HX_("attachments",30,df,33,e7),
+ HX_("reactions",aa,cc,95,e7),
+ HX_("text",ad,cc,f9,4c),
+ HX_("text__fromC",6c,43,1b,7f),
+ HX_("set_text__fromC",0f,78,c8,3b),
+ HX_("lang",ee,05,ad,47),
+ HX_("lang__fromC",4b,24,00,52),
+ HX_("set_lang__fromC",ee,58,ad,0e),
+ HX_("direction",3f,62,40,10),
+ HX_("direction__fromC",1a,64,c6,4b),
+ HX_("set_direction__fromC",97,80,e8,36),
+ HX_("status",32,e7,fb,05),
+ HX_("status__fromC",87,b3,25,a1),
+ HX_("set_status__fromC",ea,96,03,cb),
+ HX_("statusText",ff,60,57,b1),
+ HX_("statusText__fromC",5a,bd,80,8c),
+ HX_("set_statusText__fromC",3d,8e,37,5f),
+ HX_("versions",5b,4e,b8,d6),
+ HX_("set_versions__fromC",a1,35,90,dc),
+ HX_("payloads",25,dd,d1,a1),
+ HX_("encryption__fromC",56,7a,b6,09),
+ HX_("set_encryption__fromC",39,4b,6d,dc),
+ HX_("encryption",83,dc,39,4f),
+ HX_("stanza",f5,5d,f7,05),
+ HX_("attachSims",e1,83,46,cc),
+ HX_("addAttachment",64,51,bc,47),
+ HX_("setHtml",2d,d6,9a,0a),
+ HX_("htmlToNode",e8,e0,84,4c),
+ HX_("chatId",d3,04,77,b7),
+ HX_("get_senderId",f9,d2,27,a1),
+ HX_("isIncoming",f0,52,c4,95),
+ HX_("build",2e,db,ea,ba),
+ ::String(null()) };
+
+::hx::Class ChatMessageBuilder_obj::__mClass;
+
+static ::String ChatMessageBuilder_obj_sStaticFields[] = {
+ HX_("makeModerated",73,2f,e4,1a),
+ ::String(null())
+};
+
+void ChatMessageBuilder_obj::__register()
+{
+ ChatMessageBuilder_obj _hx_dummy;
+ ChatMessageBuilder_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.ChatMessageBuilder",59,72,cf,b4);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &ChatMessageBuilder_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(ChatMessageBuilder_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(ChatMessageBuilder_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< ChatMessageBuilder_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = ChatMessageBuilder_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = ChatMessageBuilder_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void ChatMessageBuilder_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_c7017726c326afec_32_boot)
+HXDLIN( 32) __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_("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)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(2,HX_("set_senderId__fromC",ac,d1,f0,92), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(3,HX_("replyToMessage__fromC",b7,65,38,93), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(4,HX_("type__fromC",ff,a8,6c,93), ::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(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(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())))
+ ->setFixed(9,HX_("senderId__fromC",89,0f,49,cb), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(10,HX_("attachments__fromC",49,d7,f7,d0), ::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(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(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(15,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(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(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(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(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(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(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(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(23,HX_("set_text__fromC",0f,78,c8,3b), ::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(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(25,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_("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_("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_("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_("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_("threadId__fromC",d4,d1,81,79), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(31,HX_("text__fromC",6c,43,1b,7f), ::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/Client.cpp b/Sources/c_borogove/src/borogove/Client.cpp
new file mode 100644
index 0000000..ba4b0d9
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Client.cpp
@@ -0,0 +1,5998 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Date
+#include <Date.h>
+#endif
+#ifndef INCLUDED_EReg
+#include <EReg.h>
+#endif
+#ifndef INCLUDED_Lambda
+#include <Lambda.h>
+#endif
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_StringTools
+#include <StringTools.h>
+#endif
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.h>
+#endif
+#ifndef INCLUDED_borogove_AttachmentSource
+#include <borogove/AttachmentSource.h>
+#endif
+#ifndef INCLUDED_borogove_AvailableChat
+#include <borogove/AvailableChat.h>
+#endif
+#ifndef INCLUDED_borogove_Caps
+#include <borogove/Caps.h>
+#endif
+#ifndef INCLUDED_borogove_Channel
+#include <borogove/Channel.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
+#ifndef INCLUDED_borogove_ChatMessageBuilder
+#include <borogove/ChatMessageBuilder.h>
+#endif
+#ifndef INCLUDED_borogove_Client
+#include <borogove/Client.h>
+#endif
+#ifndef INCLUDED_borogove_Date
+#include <borogove/Date.h>
+#endif
+#ifndef INCLUDED_borogove_DirectChat
+#include <borogove/DirectChat.h>
+#endif
+#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
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
+#endif
+#ifndef INCLUDED_borogove_GenericStream
+#include <borogove/GenericStream.h>
+#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
+#endif
+#ifndef INCLUDED_borogove_Identity
+#include <borogove/Identity.h>
+#endif
+#ifndef INCLUDED_borogove_IqRequestType
+#include <borogove/IqRequestType.h>
+#endif
+#ifndef INCLUDED_borogove_IqResult
+#include <borogove/IqResult.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_MessageSync
+#include <borogove/MessageSync.h>
+#endif
+#ifndef INCLUDED_borogove_ModerationAction
+#include <borogove/ModerationAction.h>
+#endif
+#ifndef INCLUDED_borogove_Participant
+#include <borogove/Participant.h>
+#endif
+#ifndef INCLUDED_borogove_Persistence
+#include <borogove/Persistence.h>
+#endif
+#ifndef INCLUDED_borogove_Presence
+#include <borogove/Presence.h>
+#endif
+#ifndef INCLUDED_borogove_Profile
+#include <borogove/Profile.h>
+#endif
+#ifndef INCLUDED_borogove_ProfileBuilder
+#include <borogove/ProfileBuilder.h>
+#endif
+#ifndef INCLUDED_borogove_ProfileItem
+#include <borogove/ProfileItem.h>
+#endif
+#ifndef INCLUDED_borogove_PubsubEvent
+#include <borogove/PubsubEvent.h>
+#endif
+#ifndef INCLUDED_borogove_ReactionUpdate
+#include <borogove/ReactionUpdate.h>
+#endif
+#ifndef INCLUDED_borogove_SerializedChat
+#include <borogove/SerializedChat.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove__Util_Util_Fields_
+#include <borogove/_Util/Util_Fields_.h>
+#endif
+#ifndef INCLUDED_borogove_calls_IncomingProposedSession
+#include <borogove/calls/IncomingProposedSession.h>
+#endif
+#ifndef INCLUDED_borogove_calls_InitiatedSession
+#include <borogove/calls/InitiatedSession.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStream
+#include <borogove/calls/MediaStream.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStreamTrack
+#include <borogove/calls/MediaStreamTrack.h>
+#endif
+#ifndef INCLUDED_borogove_calls_Session
+#include <borogove/calls/Session.h>
+#endif
+#ifndef INCLUDED_borogove_persistence_Dummy
+#include <borogove/persistence/Dummy.h>
+#endif
+#ifndef INCLUDED_borogove_queries_BlocklistGet
+#include <borogove/queries/BlocklistGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_BoB
+#include <borogove/queries/BoB.h>
+#endif
+#ifndef INCLUDED_borogove_queries_DiscoInfoGet
+#include <borogove/queries/DiscoInfoGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_DiscoItemsGet
+#include <borogove/queries/DiscoItemsGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_ExtDiscoGet
+#include <borogove/queries/ExtDiscoGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
+#endif
+#ifndef INCLUDED_borogove_queries_HttpUploadSlot
+#include <borogove/queries/HttpUploadSlot.h>
+#endif
+#ifndef INCLUDED_borogove_queries_JabberIqGatewayGet
+#include <borogove/queries/JabberIqGatewayGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_PubsubGet
+#include <borogove/queries/PubsubGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_Push2Disable
+#include <borogove/queries/Push2Disable.h>
+#endif
+#ifndef INCLUDED_borogove_queries_Push2Enable
+#include <borogove/queries/Push2Enable.h>
+#endif
+#ifndef INCLUDED_borogove_queries_RosterGet
+#include <borogove/queries/RosterGet.h>
+#endif
+#ifndef INCLUDED_borogove_queries_VcardTempGet
+#include <borogove/queries/VcardTempGet.h>
+#endif
+#ifndef INCLUDED_borogove_streams_XmppStropheStream
+#include <borogove/streams/XmppStropheStream.h>
+#endif
+#ifndef INCLUDED_cpp_Int64Map
+#include <cpp/Int64Map.h>
+#endif
+#ifndef INCLUDED_cpp__NativeString_NativeString_Impl_
+#include <cpp/_NativeString/NativeString_Impl_.h>
+#endif
+#ifndef INCLUDED_haxe_Exception
+#include <haxe/Exception.h>
+#endif
+#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
+#ifndef INCLUDED_haxe_crypto_Base64
+#include <haxe/crypto/Base64.h>
+#endif
+#ifndef INCLUDED_haxe_ds_Either
+#include <haxe/ds/Either.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_Input
+#include <haxe/io/Input.h>
+#endif
+#ifndef INCLUDED_sha_Hash
+#include <sha/Hash.h>
+#endif
+#ifndef INCLUDED_sha_SHA256
+#include <sha/SHA256.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_sys_thread_EventLoop
+#include <sys/thread/EventLoop.h>
+#endif
+#ifndef INCLUDED_sys_thread__Thread_HaxeThread
+#include <sys/thread/_Thread/HaxeThread.h>
+#endif
+#ifndef INCLUDED_sys_thread__Thread_Thread_Impl_
+#include <sys/thread/_Thread/Thread_Impl_.h>
+#endif
+#ifndef INCLUDED_thenshim_PromiseFactory
+#include <thenshim/PromiseFactory.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
+#ifndef INCLUDED_thenshim_fallback_FallbackPromiseFactory
+#include <thenshim/fallback/FallbackPromiseFactory.h>
+#endif
+#ifndef INCLUDED_thenshim_fallback_TaskScheduler
+#include <thenshim/fallback/TaskScheduler.h>
+#endif
+#ifndef INCLUDED_tink__Url_Url_Impl_
+#include <tink/_Url/Url_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_NamedWith
+#include <tink/core/NamedWith.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_http_Fetch
+#include <tink/http/Fetch.h>
+#endif
+#ifndef INCLUDED_tink_http_Header
+#include <tink/http/Header.h>
+#endif
+#ifndef INCLUDED_tink_http_HeaderField
+#include <tink/http/HeaderField.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_RealSourceTools
+#include <tink/io/RealSourceTools.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_streams_Conclusion
+#include <tink/streams/Conclusion.h>
+#endif
+#ifndef INCLUDED_tink_streams_Generator
+#include <tink/streams/Generator.h>
+#endif
+#ifndef INCLUDED_tink_streams_Handled
+#include <tink/streams/Handled.h>
+#endif
+#ifndef INCLUDED_tink_streams_StreamBase
+#include <tink/streams/StreamBase.h>
+#endif
+#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>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_140_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",140,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_144_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",144,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_150_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",150,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_155_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",155,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_166_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",166,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_160_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",160,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_176_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",176,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_170_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",170,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_180_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",180,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_213_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",213,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_266_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",266,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_269_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",269,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_296_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",296,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_311_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",311,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_334_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",334,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_354_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",354,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_361_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",361,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_375_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",375,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_366_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",366,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_392_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",392,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_399_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",399,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_396_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",396,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_427_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",427,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_59_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",59,0x8e157d85)
+static const ::String _hx_array_data_c0e6dc18_33[] = {
+ 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:avatar:metadata+notify",e0,89,c6,db),HX_("http://jabber.org/protocol/nick+notify",fd,dd,65,10),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),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_382_set_sendAvailable__fromC,"borogove.Client","set_sendAvailable__fromC",0xf96cb54b,"borogove.Client.set_sendAvailable__fromC","HaxeCBridge.hx",382,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_450_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",450,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_441_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",441,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_491_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",491,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_464_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",464,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_475_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",475,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_484_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",484,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_482_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",482,0x8e157d85)
+static const ::String _hx_array_data_c0e6dc18_47[] = {
+ HX_("image/png",b5,cc,c1,16),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_592_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",592,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_601_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",601,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_596_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",596,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_627_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",627,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_629_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",629,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_633_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",633,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_658_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",658,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_660_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",660,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_661_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",661,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_668_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",668,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_659_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",659,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_655_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",655,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_691_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",691,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_701_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",701,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_708_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",708,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_686_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",686,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_313_startOffline__fromC,"borogove.Client","startOffline__fromC",0x928910a2,"borogove.Client.startOffline__fromC","HaxeCBridge.hx",313,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_731_logout,"borogove.Client","logout",0x53f1a420,"borogove.Client.logout","borogove/Client.hx",731,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_727_logout,"borogove.Client","logout",0x53f1a420,"borogove.Client.logout","borogove/Client.hx",727,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_743_usePassword,"borogove.Client","usePassword",0xeb0d7d2c,"borogove.Client.usePassword","borogove/Client.hx",743,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_752_accountId,"borogove.Client","accountId",0x0c21f612,"borogove.Client.accountId","borogove/Client.hx",752,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_761_displayName,"borogove.Client","displayName",0x79246457,"borogove.Client.displayName","borogove/Client.hx",761,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_771_setProfile,"borogove.Client","setProfile",0xd7209e3d,"borogove.Client.setProfile","borogove/Client.hx",771,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_770_setProfile,"borogove.Client","setProfile",0xd7209e3d,"borogove.Client.setProfile","borogove/Client.hx",770,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_782_setProfile,"borogove.Client","setProfile",0xd7209e3d,"borogove.Client.setProfile","borogove/Client.hx",782,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_804_updateDisplayName,"borogove.Client","updateDisplayName",0x8c586c4e,"borogove.Client.updateDisplayName","borogove/Client.hx",804,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_827_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",827,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_844_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",844,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_833_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",833,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_831_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",831,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_812_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",812,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_888_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",888,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_891_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",891,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_885_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",885,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_884_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",884,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_313_prepareAttachment__fromC,"borogove.Client","prepareAttachment__fromC",0x6b174c85,"borogove.Client.prepareAttachment__fromC","HaxeCBridge.hx",313,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_909_prepareAttachmentFor,"borogove.Client","prepareAttachmentFor",0x302664f5,"borogove.Client.prepareAttachmentFor","borogove/Client.hx",909,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_914_prepareAttachmentFor,"borogove.Client","prepareAttachmentFor",0x302664f5,"borogove.Client.prepareAttachmentFor","borogove/Client.hx",914,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_915_prepareAttachmentFor,"borogove.Client","prepareAttachmentFor",0x302664f5,"borogove.Client.prepareAttachmentFor","borogove/Client.hx",915,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_902_prepareAttachmentFor,"borogove.Client","prepareAttachmentFor",0x302664f5,"borogove.Client.prepareAttachmentFor","borogove/Client.hx",902,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_930_getChats,"borogove.Client","getChats",0x85446d3b,"borogove.Client.getChats","borogove/Client.hx",930,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_311_getChats__fromC,"borogove.Client","getChats__fromC",0x855ff09e,"borogove.Client.getChats__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_947_findAvailableChats,"borogove.Client","findAvailableChats",0x0a9648c1,"borogove.Client.findAvailableChats","borogove/Client.hx",947,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_949_findAvailableChats,"borogove.Client","findAvailableChats",0x0a9648c1,"borogove.Client.findAvailableChats","borogove/Client.hx",949,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_943_findAvailableChats,"borogove.Client","findAvailableChats",0x0a9648c1,"borogove.Client.findAvailableChats","borogove/Client.hx",943,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_939_findAvailableChats,"borogove.Client","findAvailableChats",0x0a9648c1,"borogove.Client.findAvailableChats","borogove/Client.hx",939,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_990_findAvailableChats,"borogove.Client","findAvailableChats",0x0a9648c1,"borogove.Client.findAvailableChats","borogove/Client.hx",990,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1010_findAvailableChats,"borogove.Client","findAvailableChats",0x0a9648c1,"borogove.Client.findAvailableChats","borogove/Client.hx",1010,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1011_findAvailableChats,"borogove.Client","findAvailableChats",0x0a9648c1,"borogove.Client.findAvailableChats","borogove/Client.hx",1011,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1028_findAvailableChats,"borogove.Client","findAvailableChats",0x0a9648c1,"borogove.Client.findAvailableChats","borogove/Client.hx",1028,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_255_findAvailableChats__fromC,"borogove.Client","findAvailableChats__fromC",0xd43731d8,"borogove.Client.findAvailableChats__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_findAvailableChats__fromC,"borogove.Client","findAvailableChats__fromC",0xd43731d8,"borogove.Client.findAvailableChats__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1057_startChat,"borogove.Client","startChat",0xdd804c84,"borogove.Client.startChat","borogove/Client.hx",1057,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1092_getChat,"borogove.Client","getChat",0xaf174438,"borogove.Client.getChat","borogove/Client.hx",1092,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1098_moderateMessage,"borogove.Client","moderateMessage",0xdbd387ee,"borogove.Client.moderateMessage","borogove/Client.hx",1098,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1096_moderateMessage,"borogove.Client","moderateMessage",0xdbd387ee,"borogove.Client.moderateMessage","borogove/Client.hx",1096,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1113_getDirectChat,"borogove.Client","getDirectChat",0xe2d04c01,"borogove.Client.getDirectChat","borogove/Client.hx",1113,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1166_enablePush,"borogove.Client","enablePush",0x34a71a93,"borogove.Client.enablePush","borogove/Client.hx",1166,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_enablePush__fromC,"borogove.Client","enablePush__fromC",0x26b41e46,"borogove.Client.enablePush__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1198_updatePushIfEnabled,"borogove.Client","updatePushIfEnabled",0x94fc7dcb,"borogove.Client.updatePushIfEnabled","borogove/Client.hx",1198,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1210_addPasswordNeededListener,"borogove.Client","addPasswordNeededListener",0xe674476f,"borogove.Client.addPasswordNeededListener","borogove/Client.hx",1210,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1209_addPasswordNeededListener,"borogove.Client","addPasswordNeededListener",0xe674476f,"borogove.Client.addPasswordNeededListener","borogove/Client.hx",1209,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_255_addPasswordNeededListener__fromC,"borogove.Client","addPasswordNeededListener__fromC",0xcb7e84ea,"borogove.Client.addPasswordNeededListener__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addPasswordNeededListener__fromC,"borogove.Client","addPasswordNeededListener__fromC",0xcb7e84ea,"borogove.Client.addPasswordNeededListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1223_addStatusOnlineListener,"borogove.Client","addStatusOnlineListener",0xbe432964,"borogove.Client.addStatusOnlineListener","borogove/Client.hx",1223,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_244_addStatusOnlineListener__fromC,"borogove.Client","addStatusOnlineListener__fromC",0xbd04fb95,"borogove.Client.addStatusOnlineListener__fromC","HaxeCBridge.hx",244,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addStatusOnlineListener__fromC,"borogove.Client","addStatusOnlineListener__fromC",0xbd04fb95,"borogove.Client.addStatusOnlineListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1236_addStatusOfflineListener,"borogove.Client","addStatusOfflineListener",0xbdd8ce9a,"borogove.Client.addStatusOfflineListener","borogove/Client.hx",1236,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_244_addStatusOfflineListener__fromC,"borogove.Client","addStatusOfflineListener__fromC",0x9e42091f,"borogove.Client.addStatusOfflineListener__fromC","HaxeCBridge.hx",244,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addStatusOfflineListener__fromC,"borogove.Client","addStatusOfflineListener__fromC",0x9e42091f,"borogove.Client.addStatusOfflineListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1249_addConnectionFailedListener,"borogove.Client","addConnectionFailedListener",0xa4e943fa,"borogove.Client.addConnectionFailedListener","borogove/Client.hx",1249,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_244_addConnectionFailedListener__fromC,"borogove.Client","addConnectionFailedListener__fromC",0x3a44ffbf,"borogove.Client.addConnectionFailedListener__fromC","HaxeCBridge.hx",244,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addConnectionFailedListener__fromC,"borogove.Client","addConnectionFailedListener__fromC",0x3a44ffbf,"borogove.Client.addConnectionFailedListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1263_addTlsCheckListener,"borogove.Client","addTlsCheckListener",0x84ae154c,"borogove.Client.addTlsCheckListener","borogove/Client.hx",1263,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1262_addTlsCheckListener,"borogove.Client","addTlsCheckListener",0x84ae154c,"borogove.Client.addTlsCheckListener","borogove/Client.hx",1262,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_255_addTlsCheckListener__fromC,"borogove.Client","addTlsCheckListener__fromC",0x1c54dcad,"borogove.Client.addTlsCheckListener__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addTlsCheckListener__fromC,"borogove.Client","addTlsCheckListener__fromC",0x1c54dcad,"borogove.Client.addTlsCheckListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1293_addChatMessageListener,"borogove.Client","addChatMessageListener",0x08596558,"borogove.Client.addChatMessageListener","borogove/Client.hx",1293,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_255_addChatMessageListener__fromC,"borogove.Client","addChatMessageListener__fromC",0xa610e621,"borogove.Client.addChatMessageListener__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addChatMessageListener__fromC,"borogove.Client","addChatMessageListener__fromC",0xa610e621,"borogove.Client.addChatMessageListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1307_addSyncMessageListener,"borogove.Client","addSyncMessageListener",0xfdfc7535,"borogove.Client.addSyncMessageListener","borogove/Client.hx",1307,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_255_addSyncMessageListener__fromC,"borogove.Client","addSyncMessageListener__fromC",0x500a3be4,"borogove.Client.addSyncMessageListener__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addSyncMessageListener__fromC,"borogove.Client","addSyncMessageListener__fromC",0x500a3be4,"borogove.Client.addSyncMessageListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1323_addChatsUpdatedListener,"borogove.Client","addChatsUpdatedListener",0x9716ffdf,"borogove.Client.addChatsUpdatedListener","borogove/Client.hx",1323,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1333_addChatsUpdatedListener,"borogove.Client","addChatsUpdatedListener",0x9716ffdf,"borogove.Client.addChatsUpdatedListener","borogove/Client.hx",1333,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1339_addChatsUpdatedListener,"borogove.Client","addChatsUpdatedListener",0x9716ffdf,"borogove.Client.addChatsUpdatedListener","borogove/Client.hx",1339,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1337_addChatsUpdatedListener,"borogove.Client","addChatsUpdatedListener",0x9716ffdf,"borogove.Client.addChatsUpdatedListener","borogove/Client.hx",1337,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1319_addChatsUpdatedListener,"borogove.Client","addChatsUpdatedListener",0x9716ffdf,"borogove.Client.addChatsUpdatedListener","borogove/Client.hx",1319,0x8e157d85)
+static const Float _hx_array_data_c0e6dc18_167[] = {
+ -1.0,
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_255_addChatsUpdatedListener__fromC,"borogove.Client","addChatsUpdatedListener__fromC",0x9b34ba7a,"borogove.Client.addChatsUpdatedListener__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addChatsUpdatedListener__fromC,"borogove.Client","addChatsUpdatedListener__fromC",0x9b34ba7a,"borogove.Client.addChatsUpdatedListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1356_addCallRingListener,"borogove.Client","addCallRingListener",0x113612ed,"borogove.Client.addCallRingListener","borogove/Client.hx",1356,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_255_addCallRingListener__fromC,"borogove.Client","addCallRingListener__fromC",0x1230452c,"borogove.Client.addCallRingListener__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addCallRingListener__fromC,"borogove.Client","addCallRingListener__fromC",0x1230452c,"borogove.Client.addCallRingListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1369_addCallRetractListener,"borogove.Client","addCallRetractListener",0x367d108c,"borogove.Client.addCallRetractListener","borogove/Client.hx",1369,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_255_addCallRetractListener__fromC,"borogove.Client","addCallRetractListener__fromC",0x22c7c96d,"borogove.Client.addCallRetractListener__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addCallRetractListener__fromC,"borogove.Client","addCallRetractListener__fromC",0x22c7c96d,"borogove.Client.addCallRetractListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1382_addCallRingingListener,"borogove.Client","addCallRingingListener",0x5f59e2bd,"borogove.Client.addCallRingingListener","borogove/Client.hx",1382,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_255_addCallRingingListener__fromC,"borogove.Client","addCallRingingListener__fromC",0x61b10f5c,"borogove.Client.addCallRingingListener__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addCallRingingListener__fromC,"borogove.Client","addCallRingingListener__fromC",0x61b10f5c,"borogove.Client.addCallRingingListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1395_addCallUpdateStatusListener,"borogove.Client","addCallUpdateStatusListener",0x64a47558,"borogove.Client.addCallUpdateStatusListener","borogove/Client.hx",1395,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_255_addCallUpdateStatusListener__fromC,"borogove.Client","addCallUpdateStatusListener__fromC",0x6047d621,"borogove.Client.addCallUpdateStatusListener__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addCallUpdateStatusListener__fromC,"borogove.Client","addCallUpdateStatusListener__fromC",0x6047d621,"borogove.Client.addCallUpdateStatusListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1410_addCallMediaListener,"borogove.Client","addCallMediaListener",0x7c3a52af,"borogove.Client.addCallMediaListener","borogove/Client.hx",1410,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_255_addCallMediaListener__fromC,"borogove.Client","addCallMediaListener__fromC",0x91fc61aa,"borogove.Client.addCallMediaListener__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addCallMediaListener__fromC,"borogove.Client","addCallMediaListener__fromC",0x91fc61aa,"borogove.Client.addCallMediaListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1424_addCallTrackListener,"borogove.Client","addCallTrackListener",0xf44a5b56,"borogove.Client.addCallTrackListener","borogove/Client.hx",1424,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_255_addCallTrackListener__fromC,"borogove.Client","addCallTrackListener__fromC",0x1f65cbe3,"borogove.Client.addCallTrackListener__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_315_addCallTrackListener__fromC,"borogove.Client","addCallTrackListener__fromC",0x1f65cbe3,"borogove.Client.addCallTrackListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1434_setInForeground,"borogove.Client","setInForeground",0x844deb74,"borogove.Client.setInForeground","borogove/Client.hx",1434,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1442_setNotInForeground,"borogove.Client","setNotInForeground",0xe4d7a7cf,"borogove.Client.setNotInForeground","borogove/Client.hx",1442,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1452_fetchMediaByHash,"borogove.Client","fetchMediaByHash",0x85d7c445,"borogove.Client.fetchMediaByHash","borogove/Client.hx",1452,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1448_fetchMediaByHash,"borogove.Client","fetchMediaByHash",0x85d7c445,"borogove.Client.fetchMediaByHash","borogove/Client.hx",1448,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1463_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1463,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1468_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1468,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1461_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1461,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1472_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1472,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1458_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1458,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1455_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1455,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1484_chatActivity,"borogove.Client","chatActivity",0xdc37e2dd,"borogove.Client.chatActivity","borogove/Client.hx",1484,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1477_chatActivity,"borogove.Client","chatActivity",0xdc37e2dd,"borogove.Client.chatActivity","borogove/Client.hx",1477,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1483_chatActivity,"borogove.Client","chatActivity",0xdc37e2dd,"borogove.Client.chatActivity","borogove/Client.hx",1483,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1495_sortChats,"borogove.Client","sortChats",0x30f4e687,"borogove.Client.sortChats","borogove/Client.hx",1495,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1494_sortChats,"borogove.Client","sortChats",0x30f4e687,"borogove.Client.sortChats","borogove/Client.hx",1494,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1507_storeMessages,"borogove.Client","storeMessages",0x6129c2f7,"borogove.Client.storeMessages","borogove/Client.hx",1507,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1512_sendQuery,"borogove.Client","sendQuery",0x0127bcca,"borogove.Client.sendQuery","borogove/Client.hx",1512,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1522_publishWithOptions,"borogove.Client","publishWithOptions",0x33815b3f,"borogove.Client.publishWithOptions","borogove/Client.hx",1522,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1532_publishWithOptions,"borogove.Client","publishWithOptions",0x33815b3f,"borogove.Client.publishWithOptions","borogove/Client.hx",1532,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1516_publishWithOptions,"borogove.Client","publishWithOptions",0x33815b3f,"borogove.Client.publishWithOptions","borogove/Client.hx",1516,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1544_sendStanza,"borogove.Client","sendStanza",0x3845b5f3,"borogove.Client.sendStanza","borogove/Client.hx",1544,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1551_sendPresence,"borogove.Client","sendPresence",0x8b6a25b9,"borogove.Client.sendPresence","borogove/Client.hx",1551,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1552_sendPresence,"borogove.Client","sendPresence",0x8b6a25b9,"borogove.Client.sendPresence","borogove/Client.hx",1552,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1563_getIceServers,"borogove.Client","getIceServers",0xa62741a5,"borogove.Client.getIceServers","borogove/Client.hx",1563,0x8e157d85)
+static const ::String _hx_array_data_c0e6dc18_223[] = {
+ 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_224[] = {
+ HX_("turn",7d,eb,05,4d),HX_("turns",56,22,28,18),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1561_getIceServers,"borogove.Client","getIceServers",0xa62741a5,"borogove.Client.getIceServers","borogove/Client.hx",1561,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1593_discoverServices,"borogove.Client","discoverServices",0xca86abfd,"borogove.Client.discoverServices","borogove/Client.hx",1593,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1596_discoverServices,"borogove.Client","discoverServices",0xca86abfd,"borogove.Client.discoverServices","borogove/Client.hx",1596,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1590_discoverServices,"borogove.Client","discoverServices",0xca86abfd,"borogove.Client.discoverServices","borogove/Client.hx",1590,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1605_notifyMessageHandlers,"borogove.Client","notifyMessageHandlers",0x88b574b1,"borogove.Client.notifyMessageHandlers","borogove/Client.hx",1605,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1612_notifySyncMessageHandlers,"borogove.Client","notifySyncMessageHandlers",0x1628e516,"borogove.Client.notifySyncMessageHandlers","borogove/Client.hx",1612,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1621_rosterGet,"borogove.Client","rosterGet",0x21c107f5,"borogove.Client.rosterGet","borogove/Client.hx",1621,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1619_rosterGet,"borogove.Client","rosterGet",0x21c107f5,"borogove.Client.rosterGet","borogove/Client.hx",1619,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1636_startChatWith,"borogove.Client","startChatWith",0x4c4c80aa,"borogove.Client.startChatWith","borogove/Client.hx",1636,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1634_startChatWith,"borogove.Client","startChatWith",0x4c4c80aa,"borogove.Client.startChatWith","borogove/Client.hx",1634,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1670_mucInvite,"borogove.Client","mucInvite",0xc0e2a44e,"borogove.Client.mucInvite","borogove/Client.hx",1670,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1672_mucInvite,"borogove.Client","mucInvite",0xc0e2a44e,"borogove.Client.mucInvite","borogove/Client.hx",1672,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1673_mucInvite,"borogove.Client","mucInvite",0xc0e2a44e,"borogove.Client.mucInvite","borogove/Client.hx",1673,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1695_serverBlocked,"borogove.Client","serverBlocked",0x86ce5793,"borogove.Client.serverBlocked","borogove/Client.hx",1695,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1704_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1704,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1711_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1711,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1718_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1718,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1720_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1720,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1730_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1730,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1738_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1738,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1749_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1749,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1701_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1701,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1764_sync,"borogove.Client","sync",0x221ab671,"borogove.Client.sync","borogove/Client.hx",1764,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1768_sync,"borogove.Client","sync",0x221ab671,"borogove.Client.sync","borogove/Client.hx",1768,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1773_onMAMJMI,"borogove.Client","onMAMJMI",0xf47696c2,"borogove.Client.onMAMJMI","borogove/Client.hx",1773,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1797_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1797,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1833_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1833,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1858_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1858,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1802_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1802,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1824_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1824,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1816_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1816,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1812_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1812,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1864_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1864,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1787_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1787,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1876_pingAllChannels,"borogove.Client","pingAllChannels",0x95268ee9,"borogove.Client.pingAllChannels","borogove/Client.hx",1876,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1883_joinAllChannels,"borogove.Client","joinAllChannels",0x16ca5071,"borogove.Client.joinAllChannels","borogove/Client.hx",1883,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1888_joinAllChannels,"borogove.Client","joinAllChannels",0x16ca5071,"borogove.Client.joinAllChannels","borogove/Client.hx",1888,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1892_joinAllChannels,"borogove.Client","joinAllChannels",0x16ca5071,"borogove.Client.joinAllChannels","borogove/Client.hx",1892,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_59_boot,"borogove.Client","boot",0x16d68048,"borogove.Client.boot","borogove/Client.hx",59,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_140_new)
+HXLINE( 140) 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_144_new)
+HXLINE( 145) _gthis->token = ( (::String)(data->__Field(HX_("token",f9,82,2b,14),::hx::paccDynamic)) );
+HXLINE( 146) ::Dynamic persistence1 = persistence;
+HXDLIN( 146) ::String _hx_tmp = _gthis->jid->asBare()->asString();
+HXDLIN( 146) ::String _hx_tmp1;
+HXDLIN( 146) ::String tmp = _gthis->stream->clientId;
+HXDLIN( 146) if (::hx::IsNotNull( tmp )) {
+HXLINE( 146) _hx_tmp1 = tmp;
+ }
+ else {
+HXLINE( 146) _hx_tmp1 = _gthis->jid->resource;
+ }
+HXDLIN( 146) ::String _hx_tmp2 = _gthis->displayName();
+HXDLIN( 146) ::borogove::Persistence_obj::storeLogin(persistence1,_hx_tmp,_hx_tmp1,_hx_tmp2,_gthis->token);
+HXLINE( 147) 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_150_new)
+HXLINE( 151) ::Array< ::Dynamic> it = _gthis->chats;
+HXDLIN( 151) bool result = false;
+HXDLIN( 151) {
+HXLINE( 151) int _g = 0;
+HXDLIN( 151) while((_g < it->length)){
+HXLINE( 151) ::borogove::Chat x = it->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN( 151) _g = (_g + 1);
+HXDLIN( 151) bool _hx_tmp;
+HXDLIN( 151) if ((x->uiState != 2)) {
+HXLINE( 151) _hx_tmp = x->syncing();
+ }
+ else {
+HXLINE( 151) _hx_tmp = false;
+ }
+HXDLIN( 151) if (_hx_tmp) {
+HXLINE( 151) result = true;
+HXDLIN( 151) goto _hx_goto_0;
+ }
+ }
+ _hx_goto_0:;
+ }
+HXDLIN( 151) _gthis->stream->emitSMupdates = !(result);
+HXLINE( 152) 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_155_new)
+HXLINE( 156) ::Dynamic persistence1 = persistence;
+HXDLIN( 156) ::String _hx_tmp = _gthis->accountId();
+HXDLIN( 156) ::Array< unsigned char > _hx_tmp1;
+HXDLIN( 156) if (_gthis->stream->emitSMupdates) {
+HXLINE( 156) _hx_tmp1 = ( (::Array< unsigned char >)(data->__Field(HX_("sm",9a,64,00,00),::hx::paccDynamic)) );
+ }
+ else {
+HXLINE( 156) _hx_tmp1 = null();
+ }
+HXDLIN( 156) ::borogove::Persistence_obj::storeStreamManagement(persistence1,_hx_tmp,_hx_tmp1);
+HXLINE( 157) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_6, ::borogove::Client,_gthis,::Dynamic,persistence) HXARGC(1)
+ ::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_166_new)
+HXLINE( 166) _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_166_new)
+HXLINE( 166) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_160_new)
+HXLINE( 161) ::Dynamic persistence1 = persistence;
+HXLINE( 162) ::String _hx_tmp = _gthis->accountId();
+HXLINE( 161) ::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( 167) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_9, ::borogove::Client,_gthis,::Dynamic,persistence) HXARGC(1)
+ ::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_176_new)
+HXLINE( 176) _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_176_new)
+HXLINE( 176) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_170_new)
+HXLINE( 171) ::Dynamic persistence1 = persistence;
+HXLINE( 172) ::String _hx_tmp = _gthis->accountId();
+HXLINE( 171) ::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( 177) 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_180_new)
+HXLINE( 181) ::borogove::Stanza stanza = ( ( ::borogove::Stanza)(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
+HXLINE( 183) if (::hx::IsNotNull( stanza->getChild(HX_("result",dd,68,84,08),HX_("urn:xmpp:mam:2",f5,ef,8c,da)) )) {
+HXLINE( 185) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+ }
+HXLINE( 188) ::borogove::JID from;
+HXDLIN( 188) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
+HXLINE( 188) from = null();
+ }
+ else {
+HXLINE( 188) from = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
+ }
+HXLINE( 189) ::borogove::Stanza fwd = null();
+HXLINE( 190) bool _hx_tmp;
+HXDLIN( 190) if (::hx::IsNotNull( from )) {
+HXLINE( 190) ::String _hx_tmp1 = from->asBare()->asString();
+HXDLIN( 190) _hx_tmp = (_hx_tmp1 == _gthis->accountId());
+ }
+ else {
+HXLINE( 190) _hx_tmp = false;
+ }
+HXDLIN( 190) if (_hx_tmp) {
+HXLINE( 191) ::borogove::Stanza carbon = stanza->getChild(HX_("received",21,45,fd,e2),HX_("urn:xmpp:carbons:2",02,86,9e,df));
+HXLINE( 192) if (::hx::IsNull( carbon )) {
+HXLINE( 192) carbon = stanza->getChild(HX_("sent",58,8d,50,4c),HX_("urn:xmpp:carbons:2",02,86,9e,df));
+ }
+HXLINE( 193) if (::hx::IsNotNull( carbon )) {
+HXLINE( 194) ::borogove::Stanza tmp = carbon->getChild(HX_("forwarded",64,f5,9a,17),HX_("urn:xmpp:forward:0",1f,ec,b0,d1));
+HXDLIN( 194) if (::hx::IsNotNull( tmp )) {
+HXLINE( 194) fwd = tmp->getFirstChild();
+ }
+ else {
+HXLINE( 194) fwd = null();
+ }
+ }
+ }
+HXLINE( 208) _gthis->processLiveMessage(stanza,fwd,null());
+HXLINE( 209) 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_213_new)
+HXLINE( 214) ::borogove::JID from;
+HXDLIN( 214) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
+HXLINE( 214) from = null();
+ }
+ else {
+HXLINE( 214) from = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
+ }
+HXLINE( 215) ::borogove::Stanza jingle = stanza->getChild(HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7));
+HXLINE( 216) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 216) ::borogove::DirectChat chat = _gthis1->getDirectChat(from->asBare()->asString(),null());
+HXLINE( 217) ::Dynamic this1 = chat->jingleSessions;
+HXDLIN( 217) ::Dynamic session = ( ( ::haxe::ds::StringMap)(this1) )->get(( (::String)(::Reflect_obj::field(jingle->attr,HX_("sid",0e,9f,57,00))) ));
+HXLINE( 219) if ((( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("session-initiate",70,2d,30,f7))) {
+HXLINE( 220) if (::hx::IsNotNull( session )) {
+HXLINE( 221) try {
+ HX_STACK_CATCHABLE( ::Dynamic, 0);
+HXLINE( 222) ::Dynamic this2 = chat->jingleSessions;
+HXDLIN( 222) ::String key = ::borogove::calls::Session_obj::get_sid(session);
+HXDLIN( 222) ( ( ::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( 223) ::haxe::Exception _g1 = ::haxe::Exception_obj::caught(_g);
+HXDLIN( 223) {
+HXLINE( 224) ::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),224)));
+HXLINE( 225) {
+HXLINE( 225) ::Dynamic this3 = chat->jingleSessions;
+HXDLIN( 225) ( ( ::haxe::ds::StringMap)(this3) )->remove(::borogove::calls::Session_obj::get_sid(session));
+ }
+ }
+ }
+ else {
+ HX_STACK_DO_THROW(_hx_e);
+ }
+ }
+ }
+ else {
+HXLINE( 228) ::borogove::calls::InitiatedSession newSession = ::borogove::calls::InitiatedSession_obj::fromSessionInitiate(_gthis,stanza);
+HXLINE( 229) {
+HXLINE( 229) ::Dynamic this4 = chat->jingleSessions;
+HXDLIN( 229) ( ( ::haxe::ds::StringMap)(this4) )->set(newSession->get_sid(),newSession);
+ }
+HXLINE( 230) _gthis->chatActivity(chat,null());
+HXLINE( 231) newSession->ring();
+ }
+ }
+HXLINE( 235) bool _hx_tmp;
+HXDLIN( 235) if (::hx::IsNotNull( session )) {
+HXLINE( 235) _hx_tmp = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("session-accept",5f,92,e7,a8));
+ }
+ else {
+HXLINE( 235) _hx_tmp = false;
+ }
+HXDLIN( 235) if (_hx_tmp) {
+HXLINE( 236) try {
+ HX_STACK_CATCHABLE( ::Dynamic, 0);
+HXLINE( 237) ::Dynamic this5 = chat->jingleSessions;
+HXDLIN( 237) ::String key1 = ::borogove::calls::Session_obj::get_sid(session);
+HXDLIN( 237) ( ( ::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( 238) ::haxe::Exception _g3 = ::haxe::Exception_obj::caught(_g2);
+HXLINE( 239) ::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),239)));
+ }
+ else {
+ HX_STACK_DO_THROW(_hx_e);
+ }
+ }
+ }
+HXLINE( 243) bool _hx_tmp1;
+HXDLIN( 243) if (::hx::IsNotNull( session )) {
+HXLINE( 243) _hx_tmp1 = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("session-terminate",6a,23,dc,12));
+ }
+ else {
+HXLINE( 243) _hx_tmp1 = false;
+ }
+HXDLIN( 243) if (_hx_tmp1) {
+HXLINE( 244) ::borogove::calls::Session_obj::terminate(session);
+HXLINE( 245) {
+HXLINE( 245) ::Dynamic this6 = chat->jingleSessions;
+HXDLIN( 245) ( ( ::haxe::ds::StringMap)(this6) )->remove(( (::String)(::Reflect_obj::field(jingle->attr,HX_("sid",0e,9f,57,00))) ));
+ }
+ }
+HXLINE( 248) bool _hx_tmp2;
+HXDLIN( 248) if (::hx::IsNotNull( session )) {
+HXLINE( 248) _hx_tmp2 = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("content-add",cd,a9,a1,10));
+ }
+ else {
+HXLINE( 248) _hx_tmp2 = false;
+ }
+HXDLIN( 248) if (_hx_tmp2) {
+HXLINE( 249) ::borogove::calls::Session_obj::contentAdd(session,stanza);
+ }
+HXLINE( 252) bool _hx_tmp3;
+HXDLIN( 252) if (::hx::IsNotNull( session )) {
+HXLINE( 252) _hx_tmp3 = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("content-accept",dc,ee,cb,f2));
+ }
+ else {
+HXLINE( 252) _hx_tmp3 = false;
+ }
+HXDLIN( 252) if (_hx_tmp3) {
+HXLINE( 253) ::borogove::calls::Session_obj::contentAccept(session,stanza);
+ }
+HXLINE( 256) bool _hx_tmp4;
+HXDLIN( 256) if (::hx::IsNotNull( session )) {
+HXLINE( 256) _hx_tmp4 = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("transport-info",d2,9e,05,1c));
+ }
+ else {
+HXLINE( 256) _hx_tmp4 = false;
+ }
+HXDLIN( 256) if (_hx_tmp4) {
+HXLINE( 257) ::borogove::calls::Session_obj::transportInfo(session,stanza);
+ }
+HXLINE( 261) 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_266_new)
+HXLINE( 266) 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_269_new)
+HXLINE( 271) bool _hx_tmp;
+HXDLIN( 271) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
+HXLINE( 272) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
+HXLINE( 271) _hx_tmp = (_hx_tmp1 != _gthis->jid->domain);
+ }
+ else {
+HXLINE( 271) _hx_tmp = false;
+ }
+HXLINE( 270) if (_hx_tmp) {
+HXLINE( 274) return ::borogove::IqResult_obj::IqNoResult_dyn();
+ }
+HXLINE( 277) ::borogove::queries::RosterGet roster = ::borogove::queries::RosterGet_obj::__alloc( HX_CTX ,null());
+HXLINE( 278) roster->handleResponse(stanza);
+HXLINE( 279) ::Array< ::Dynamic> items = roster->getResult();
+HXLINE( 280) if ((items->length == 0)) {
+HXLINE( 280) return ::borogove::IqResult_obj::IqNoResult_dyn();
+ }
+HXLINE( 282) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 283) {
+HXLINE( 283) int _g = 0;
+HXDLIN( 283) while((_g < items->length)){
+HXLINE( 283) ::Dynamic item = items->__get(_g);
+HXDLIN( 283) _g = (_g + 1);
+HXLINE( 284) if (::hx::IsNotEq( item->__Field(HX_("subscription",1d,ff,00,36),::hx::paccDynamic),HX_("remove",44,9c,88,04) )) {
+HXLINE( 285) ::borogove::DirectChat chat = _gthis->getDirectChat(( (::String)(item->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ),false);
+HXLINE( 286) chat->updateFromRoster(item);
+HXLINE( 287) chatsToUpdate->push(chat);
+ }
+ }
+ }
+HXLINE( 290) ::Dynamic persistence1 = persistence;
+HXDLIN( 290) ::borogove::Persistence_obj::storeChats(persistence1,_gthis->accountId(),chatsToUpdate);
+HXLINE( 291) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),chatsToUpdate);
+HXLINE( 293) 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_296_new)
+HXLINE( 298) bool _hx_tmp;
+HXDLIN( 298) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
+HXLINE( 299) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
+HXLINE( 298) _hx_tmp = (_hx_tmp1 != _gthis->jid->domain);
+ }
+ else {
+HXLINE( 298) _hx_tmp = false;
+ }
+HXLINE( 297) if (_hx_tmp) {
+HXLINE( 301) return ::borogove::IqResult_obj::IqNoResult_dyn();
+ }
+HXLINE( 304) {
+HXLINE( 304) int _g = 0;
+HXDLIN( 304) ::Array< ::Dynamic> _g1;
+HXDLIN( 304) ::borogove::Stanza tmp = stanza->getChild(HX_("block",4d,75,fc,b4),HX_("urn:xmpp:blocking",d1,a1,46,c3));
+HXDLIN( 304) ::Array< ::Dynamic> tmp1;
+HXDLIN( 304) if (::hx::IsNotNull( tmp )) {
+HXLINE( 304) tmp1 = tmp->allTags(HX_("item",13,c5,bf,45),null());
+ }
+ else {
+HXLINE( 304) tmp1 = null();
+ }
+HXDLIN( 304) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 304) _g1 = tmp1;
+ }
+ else {
+HXLINE( 304) _g1 = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN( 304) while((_g < _g1->length)){
+HXLINE( 304) ::borogove::Stanza item = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN( 304) _g = (_g + 1);
+HXLINE( 305) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) ) )) {
+HXLINE( 305) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 305) _gthis1->serverBlocked(( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) ));
+ }
+ }
+ }
+HXLINE( 308) 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_311_new)
+HXLINE( 313) bool _hx_tmp;
+HXDLIN( 313) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
+HXLINE( 314) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
+HXLINE( 313) _hx_tmp = (_hx_tmp1 != _gthis->jid->domain);
+ }
+ else {
+HXLINE( 313) _hx_tmp = false;
+ }
+HXLINE( 312) if (_hx_tmp) {
+HXLINE( 316) return ::borogove::IqResult_obj::IqNoResult_dyn();
+ }
+HXLINE( 319) ::borogove::Stanza tmp = stanza->getChild(HX_("unblock",54,6c,8d,b1),HX_("urn:xmpp:blocking",d1,a1,46,c3));
+HXDLIN( 319) ::Array< ::Dynamic> unblocks;
+HXDLIN( 319) if (::hx::IsNotNull( tmp )) {
+HXLINE( 319) unblocks = tmp->allTags(HX_("item",13,c5,bf,45),null());
+ }
+ else {
+HXLINE( 319) unblocks = null();
+ }
+HXLINE( 320) if (::hx::IsNull( unblocks )) {
+HXLINE( 322) int _g = 0;
+HXDLIN( 322) ::Array< ::Dynamic> _g1 = _gthis->chats;
+HXDLIN( 322) while((_g < _g1->length)){
+HXLINE( 322) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN( 322) _g = (_g + 1);
+HXLINE( 323) if (chat->isBlocked) {
+HXLINE( 323) chat->unblock(false);
+ }
+ }
+ }
+ else {
+HXLINE( 326) int _g2 = 0;
+HXDLIN( 326) while((_g2 < unblocks->length)){
+HXLINE( 326) ::borogove::Stanza item = unblocks->__get(_g2).StaticCast< ::borogove::Stanza >();
+HXDLIN( 326) _g2 = (_g2 + 1);
+HXLINE( 327) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) ) )) {
+HXLINE( 327) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 327) ::borogove::Chat tmp1 = _gthis1->getChat(( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) ));
+HXDLIN( 327) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 327) tmp1->unblock(false);
+ }
+ }
+ }
+ }
+HXLINE( 331) return ::borogove::IqResult_obj::IqResult_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_25, ::borogove::Client,_gthis,::Dynamic,persistence) HXARGC(1)
+ ::borogove::EventResult _hx_run( ::Dynamic event){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_334_new)
+HXLINE( 335) ::borogove::Stanza stanza = ( ( ::borogove::Stanza)(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
+HXLINE( 336) ::borogove::Stanza c = stanza->getChild(HX_("c",63,00,00,00),HX_("http://jabber.org/protocol/caps",95,d0,90,e2));
+HXLINE( 337) bool _hx_tmp;
+HXDLIN( 337) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
+HXLINE( 337) _hx_tmp = ::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) );
+ }
+ else {
+HXLINE( 337) _hx_tmp = false;
+ }
+HXDLIN( 337) if (_hx_tmp) {
+HXLINE( 338) ::borogove::JID from = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
+HXLINE( 339) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 339) ::borogove::Chat chat = _gthis1->getChat(from->asBare()->asString());
+HXLINE( 340) if (::hx::IsNull( chat )) {
+HXLINE( 341) ::Dynamic _hx_tmp1 = ::haxe::Log_obj::trace;
+HXDLIN( 341) ::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( 341) _hx_tmp1(_hx_tmp2,::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),341,HX_("borogove.Client",18,dc,e6,c0),HX_("new",60,d0,53,00)));
+HXLINE( 342) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+ }
+HXLINE( 345) ::borogove::Stanza mucUser = stanza->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+HXLINE( 346) ::String avatarSha1Hex = stanza->findText(HX_("{vcard-temp:x:update}x/photo#",f6,a1,33,28));
+HXLINE( 347) ::borogove::Hash avatarSha1;
+HXDLIN( 347) bool avatarSha11;
+HXDLIN( 347) if (::hx::IsNotNull( avatarSha1Hex )) {
+HXLINE( 347) avatarSha11 = (avatarSha1Hex == HX_("",00,00,00,00));
+ }
+ else {
+HXLINE( 347) avatarSha11 = true;
+ }
+HXDLIN( 347) if (avatarSha11) {
+HXLINE( 347) avatarSha1 = null();
+ }
+ else {
+HXLINE( 347) avatarSha1 = ::borogove::Hash_obj::fromHex(HX_("sha-1",90,a8,1c,7c),avatarSha1Hex);
+ }
+HXLINE( 349) if (::hx::IsNull( c )) {
+HXLINE( 350) ::borogove::Chat chat1 = chat;
+HXDLIN( 350) ::String _hx_tmp3 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
+HXDLIN( 350) chat1->setPresence(::borogove::JID_obj::parse(_hx_tmp3)->resource, ::borogove::Presence_obj::__alloc( HX_CTX ,null(),mucUser,avatarSha1));
+HXLINE( 351) ::Dynamic persistence1 = persistence;
+HXDLIN( 351) ::String _hx_tmp4 = _gthis->accountId();
+HXDLIN( 351) ::borogove::Persistence_obj::storeChats(persistence1,_hx_tmp4,::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
+HXLINE( 352) if (chat->livePresence()) {
+HXLINE( 352) _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_16, ::borogove::Client,_gthis, ::borogove::Hash,avatarSha1, ::borogove::Stanza,mucUser,::Dynamic,persistence, ::borogove::Chat,chat, ::borogove::Stanza,stanza) HXARGC(1)
+ ::borogove::Chat _hx_run( ::borogove::Caps caps){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_354_new)
+HXLINE( 355) ::borogove::Chat chat1 = chat;
+HXDLIN( 355) ::String handleCaps = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
+HXDLIN( 355) chat1->setPresence(::borogove::JID_obj::parse(handleCaps)->resource, ::borogove::Presence_obj::__alloc( HX_CTX ,caps,mucUser,avatarSha1));
+HXLINE( 356) bool handleCaps1;
+HXDLIN( 356) if (::hx::IsNotNull( mucUser )) {
+HXLINE( 356) handleCaps1 = chat->livePresence();
+ }
+ else {
+HXLINE( 356) handleCaps1 = true;
+ }
+HXDLIN( 356) if (handleCaps1) {
+HXLINE( 356) ::Dynamic persistence1 = persistence;
+HXDLIN( 356) ::String handleCaps2 = _gthis->accountId();
+HXDLIN( 356) ::borogove::Persistence_obj::storeChats(persistence1,handleCaps2,::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
+ }
+HXLINE( 357) return chat;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_19, ::borogove::Client,_gthis,::Dynamic,persistence, ::Dynamic,handleCaps, ::borogove::Stanza,stanza, ::borogove::Stanza,c) HXARGC(1)
+ void _hx_run( ::borogove::Caps caps){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_361_new)
+HXLINE( 361) if (::hx::IsNull( caps )) {
+HXLINE( 362) ::Dynamic this1 = _gthis->pendingCaps;
+HXDLIN( 362) ::Array< ::Dynamic> pending = ( (::Array< ::Dynamic>)(( ( ::haxe::ds::StringMap)(this1) )->get(( (::String)(::Reflect_obj::field(c->attr,HX_("ver",63,e2,59,00))) ))) );
+HXLINE( 363) if (::hx::IsNull( pending )) {
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_18, ::borogove::Client,_gthis,::Dynamic,persistence, ::borogove::queries::DiscoInfoGet,discoGet2, ::borogove::Stanza,c) HXARGC(0)
+ void _hx_run(){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_17, ::haxe::ds::StringMap,chatsToUpdate) HXARGC(0)
+ ::Dynamic _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_375_new)
+HXLINE( 375) return chatsToUpdate->iterator();
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_366_new)
+HXLINE( 367) ::haxe::ds::StringMap chatsToUpdate = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 368) ::Array< ::Dynamic> handlers;
+HXDLIN( 368) ::Dynamic this1 = _gthis->pendingCaps;
+HXDLIN( 368) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(( ( ::haxe::ds::StringMap)(this1) )->get(( (::String)(::Reflect_obj::field(c->attr,HX_("ver",63,e2,59,00))) ))) );
+HXDLIN( 368) if (::hx::IsNotNull( tmp )) {
+HXLINE( 368) handlers = tmp;
+ }
+ else {
+HXLINE( 368) handlers = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXLINE( 369) {
+HXLINE( 369) ::Dynamic this2 = _gthis->pendingCaps;
+HXDLIN( 369) ( ( ::haxe::ds::StringMap)(this2) )->remove(( (::String)(::Reflect_obj::field(c->attr,HX_("ver",63,e2,59,00))) ));
+ }
+HXLINE( 370) if (::hx::IsNotNull( discoGet2->getResult() )) {
+HXLINE( 370) ::Dynamic persistence1 = persistence;
+HXDLIN( 370) ::borogove::Persistence_obj::storeCaps(persistence1,discoGet2->getResult());
+ }
+HXLINE( 371) {
+HXLINE( 371) int _g = 0;
+HXDLIN( 371) while((_g < handlers->length)){
+HXLINE( 371) ::Dynamic handler = handlers->__get(_g);
+HXDLIN( 371) _g = (_g + 1);
+HXLINE( 372) ::borogove::Chat c1 = ( ( ::borogove::Chat)(handler(discoGet2->getResult())) );
+HXLINE( 373) if (c1->livePresence()) {
+HXLINE( 373) chatsToUpdate->set(c1->chatId,c1);
+ }
+ }
+ }
+HXLINE( 375) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 375) _gthis1->trigger(HX_("chats/update",3d,8e,1d,14),::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_17(chatsToUpdate))))));
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+HXLINE( 364) {
+HXLINE( 364) ::Dynamic this2 = _gthis->pendingCaps;
+HXDLIN( 364) ::String key = ( (::String)(::Reflect_obj::field(c->attr,HX_("ver",63,e2,59,00))) );
+HXDLIN( 364) ( ( ::haxe::ds::StringMap)(this2) )->set(key,::Array_obj< ::Dynamic>::__new(1)->init(0,handleCaps));
+ }
+HXLINE( 365) ::String discoGet = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
+HXDLIN( 365) ::String discoGet1 = (( (::String)(::Reflect_obj::field(c->attr,HX_("node",02,0a,0a,49))) ) + HX_("#",23,00,00,00));
+HXDLIN( 365) ::borogove::queries::DiscoInfoGet discoGet2 = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,discoGet,(discoGet1 + ( (::String)(::Reflect_obj::field(c->attr,HX_("ver",63,e2,59,00))) )));
+HXLINE( 366) discoGet2->onFinished( ::Dynamic(new _hx_Closure_18(_gthis,persistence,discoGet2,c)));
+HXLINE( 377) _gthis->sendQuery(discoGet2);
+ }
+ else {
+HXLINE( 379) pending->push(handleCaps);
+ }
+ }
+ else {
+HXLINE( 382) handleCaps(caps);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 354) ::Dynamic handleCaps = ::Dynamic(new _hx_Closure_16(_gthis,avatarSha1,mucUser,persistence,chat,stanza));
+HXLINE( 360) ::Dynamic persistence2 = persistence;
+HXDLIN( 360) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getCaps(persistence2,( (::String)(::Reflect_obj::field(c->attr,HX_("ver",63,e2,59,00))) )), ::Dynamic(new _hx_Closure_19(_gthis,persistence,handleCaps,stanza,c)),null());
+ }
+HXLINE( 386) if (::hx::IsNotNull( avatarSha1 )) {
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_22, ::borogove::Client,_gthis, ::borogove::JID,from,::Dynamic,persistence, ::borogove::Chat,chat) HXARGC(1)
+ void _hx_run(bool has){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_392_new)
+HXLINE( 392) if (has) {
+HXLINE( 393) if (chat->livePresence()) {
+HXLINE( 393) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
+ }
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_21, ::borogove::Client,_gthis, ::borogove::queries::VcardTempGet,vcardGet,::Dynamic,persistence, ::borogove::Chat,chat) HXARGC(0)
+ void _hx_run(){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_20, ::borogove::Client,_gthis, ::borogove::Chat,chat) HXARGC(1)
+ ::borogove::EventResult _hx_run(bool _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_399_new)
+HXLINE( 399) 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_396_new)
+HXLINE( 397) ::Dynamic vcard = vcardGet->getResult();
+HXLINE( 398) if (::hx::IsNull( vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic) )) {
+HXLINE( 398) return;
+ }
+HXLINE( 399) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMedia(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_20(_gthis,chat)),null());
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+HXLINE( 395) ::borogove::queries::VcardTempGet vcardGet = ::borogove::queries::VcardTempGet_obj::__alloc( HX_CTX ,from);
+HXLINE( 396) vcardGet->onFinished( ::Dynamic(new _hx_Closure_21(_gthis,vcardGet,persistence,chat)));
+HXLINE( 403) _gthis->sendQuery(vcardGet);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 387) if (from->isBare()) {
+HXLINE( 388) chat->setAvatarSha1(avatarSha1->hash);
+HXLINE( 389) ::Dynamic persistence3 = persistence;
+HXDLIN( 389) ::String _hx_tmp5 = _gthis->accountId();
+HXDLIN( 389) ::borogove::Persistence_obj::storeChats(persistence3,_hx_tmp5,::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
+ }
+HXLINE( 391) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::hasMedia(persistence,HX_("sha-1",90,a8,1c,7c),avatarSha1->hash), ::Dynamic(new _hx_Closure_22(_gthis,from,persistence,chat)),null());
+ }
+HXLINE( 407) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+HXLINE( 410) bool _hx_tmp6;
+HXDLIN( 410) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
+HXLINE( 410) _hx_tmp6 = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("unavailable",50,e0,29,fd));
+ }
+ else {
+HXLINE( 410) _hx_tmp6 = false;
+ }
+HXDLIN( 410) if (_hx_tmp6) {
+HXLINE( 411) ::borogove::Client _gthis2 = _gthis;
+HXDLIN( 411) ::borogove::Chat chat2 = _gthis2->getChat(::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ))->asBare()->asString());
+HXLINE( 412) if (::hx::IsNull( chat2 )) {
+HXLINE( 413) ::Dynamic _hx_tmp7 = ::haxe::Log_obj::trace;
+HXDLIN( 413) ::String _hx_tmp8 = (HX_("Presence for unknown JID: ",19,ed,d7,3f) + ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
+HXDLIN( 413) _hx_tmp7(_hx_tmp8,::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),413,HX_("borogove.Client",18,dc,e6,c0),HX_("new",60,d0,53,00)));
+HXLINE( 414) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+ }
+HXLINE( 417) chat2->removePresence(::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ))->resource);
+HXLINE( 418) ::Dynamic persistence4 = persistence;
+HXDLIN( 418) ::borogove::Persistence_obj::storeChats(persistence4,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat2));
+HXLINE( 419) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat2));
+ }
+HXLINE( 422) bool _hx_tmp9;
+HXDLIN( 422) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
+HXLINE( 422) _hx_tmp9 = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("subscribe",4a,0b,18,19));
+ }
+ else {
+HXLINE( 422) _hx_tmp9 = false;
+ }
+HXDLIN( 422) if (_hx_tmp9) {
+HXLINE( 423) ::borogove::JID from1 = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
+HXLINE( 424) ::borogove::Client _gthis3 = _gthis;
+HXDLIN( 424) ::borogove::Chat chat3 = _gthis3->getChat(from1->asBare()->asString());
+HXLINE( 425) ::String nick = stanza->getChildText(HX_("nick",a3,7b,05,49),HX_("http://jabber.org/protocol/nick",17,30,dc,e9));
+HXLINE( 426) if (::hx::IsNull( chat3 )) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_23) HXARGC(1)
+ int _hx_run( ::borogove::Caps _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_427_new)
+HXLINE( 427) return 3;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_24,::String,nick) HXARGC(1)
+ void _hx_run( ::borogove::Chat chat){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_428_new)
+HXLINE( 428) bool _hx_tmp;
+HXDLIN( 428) if ((chat->displayName == chat->chatId)) {
+HXLINE( 428) _hx_tmp = ::hx::IsNotNull( nick );
+ }
+ else {
+HXLINE( 428) _hx_tmp = false;
+ }
+HXDLIN( 428) if (_hx_tmp) {
+HXLINE( 428) chat->displayName = nick;
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 427) ::borogove::Client _gthis4 = _gthis;
+HXDLIN( 427) _gthis4->startChatWith(from1->asBare()->asString(), ::Dynamic(new _hx_Closure_23()), ::Dynamic(new _hx_Closure_24(nick)));
+ }
+ else {
+HXLINE( 430) if ((chat3->uiState == 2)) {
+HXLINE( 431) chat3->uiState = 3;
+HXLINE( 432) bool _hx_tmp10;
+HXDLIN( 432) if ((chat3->displayName == chat3->chatId)) {
+HXLINE( 432) _hx_tmp10 = ::hx::IsNotNull( nick );
+ }
+ else {
+HXLINE( 432) _hx_tmp10 = false;
+ }
+HXDLIN( 432) if (_hx_tmp10) {
+HXLINE( 432) chat3->displayName = nick;
+ }
+ }
+ }
+ }
+HXLINE( 436) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_59_new)
+HXLINE(1153) this->enabledPushData = null();
+HXLINE( 113) this->inSync = false;
+HXLINE( 101) this->encryptionPolicy = ::borogove::EncryptionPolicy_obj::__alloc( HX_CTX ,true,true,true);
+HXLINE( 99) this->pendingCaps = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 98) this->fastCount = null();
+HXLINE( 97) this->token = null();
+HXLINE( 96) this->fastMechanism = null();
+HXLINE( 69) 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_33,14),::Array_obj< ::Dynamic>::__new(0),null());
+HXLINE( 67) this->chats = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 63) this->sendAvailable = true;
+HXLINE( 121) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 122) bool _hx_tmp;
+HXDLIN( 122) if (::hx::IsNotNull( accountId )) {
+HXLINE( 122) _hx_tmp = (accountId == HX_("",00,00,00,00));
+ }
+ else {
+HXLINE( 122) _hx_tmp = true;
+ }
+HXDLIN( 122) if (_hx_tmp) {
+HXLINE( 123) HX_STACK_DO_THROW(HX_("accountId cannot be empty",f5,9e,fd,03));
+ }
+HXLINE( 127) ::sys::thread::EventLoop mainLoop = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current());
+HXLINE( 129) ::hx::TCast< ::thenshim::fallback::FallbackPromiseFactory >::cast(::thenshim::_Promise::Promise_Impl__obj::factory)->scheduler->addNext = mainLoop->run_dyn();
+HXLINE( 131) super::__construct();
+HXLINE( 132) this->jid = ::borogove::JID_obj::parse(accountId);
+HXLINE( 133) ::String tmp = this->jid->node;
+HXDLIN( 133) ::String _hx_tmp1;
+HXDLIN( 133) if (::hx::IsNotNull( tmp )) {
+HXLINE( 133) _hx_tmp1 = tmp;
+ }
+ else {
+HXLINE( 133) _hx_tmp1 = this->jid->asString();
+ }
+HXDLIN( 133) this->_displayName = _hx_tmp1;
+HXLINE( 134) this->persistence = persistence;
+HXLINE( 138) this->stream = ::borogove::streams::XmppStropheStream_obj::__alloc( HX_CTX );
+HXLINE( 139) this->stream->on(HX_("status/online",10,05,0e,d2),this->onConnected_dyn());
+HXLINE( 140) this->stream->on(HX_("status/offline",c6,eb,eb,54), ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 144) this->stream->on(HX_("fast-token",48,5f,c2,26), ::Dynamic(new _hx_Closure_1(_gthis,persistence)));
+HXLINE( 150) this->on(HX_("chats/update",3d,8e,1d,14), ::Dynamic(new _hx_Closure_2(_gthis)));
+HXLINE( 155) this->stream->on(HX_("sm/update",1e,16,63,46), ::Dynamic(new _hx_Closure_3(_gthis,persistence)));
+HXLINE( 160) this->stream->on(HX_("sm/ack",14,b2,12,dd), ::Dynamic(new _hx_Closure_6(_gthis,persistence)));
+HXLINE( 170) this->stream->on(HX_("sm/fail",b3,aa,95,96), ::Dynamic(new _hx_Closure_9(_gthis,persistence)));
+HXLINE( 180) this->stream->on(HX_("message",c7,35,11,9a), ::Dynamic(new _hx_Closure_10(_gthis)));
+HXLINE( 213) 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( 265) 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( 269) 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( 296) 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( 311) 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( 334) this->stream->on(HX_("presence",3b,52,d7,66), ::Dynamic(new _hx_Closure_25(_gthis,persistence)));
+ }
+
+Dynamic Client_obj::__CreateEmpty() { return new Client_obj; }
+
+void *Client_obj::_hx_vtable = 0;
+
+Dynamic Client_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Client_obj > _hx_result = new Client_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool Client_obj::_hx_isInstanceOf(int inClassId) {
+ if (inClassId<=(int)0x4fb834f5) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x4fb834f5;
+ } else {
+ return inClassId==(int)0x6f478c0c;
+ }
+}
+
+void Client_obj::set_sendAvailable__fromC(bool value){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_382_set_sendAvailable__fromC)
+HXDLIN( 382) this->sendAvailable = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,set_sendAvailable__fromC,(void))
+
+void Client_obj::processLiveMessage( ::borogove::Stanza stanza, ::borogove::Stanza fwd, ::borogove::EncryptionInfo encryptionInfo){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis) HXARGC(2)
+ ::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder builder, ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_450_processLiveMessage)
+HXLINE( 451) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 451) ::borogove::Chat chat = _gthis1->getChat(builder->chatId());
+HXLINE( 452) bool message;
+HXDLIN( 452) if (::hx::IsNull( chat )) {
+HXLINE( 452) message = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) != HX_("groupchat",97,1d,c8,e5));
+ }
+ else {
+HXLINE( 452) message = false;
+ }
+HXDLIN( 452) if (message) {
+HXLINE( 452) ::borogove::Client _gthis2 = _gthis;
+HXDLIN( 452) chat = _gthis2->getDirectChat(builder->chatId(),null());
+ }
+HXLINE( 453) if (::hx::IsNull( chat )) {
+HXLINE( 453) return builder;
+ }
+HXLINE( 454) return chat->prepareIncomingMessage(builder,stanza);
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_441_processLiveMessage)
+HXDLIN( 441) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 442) ::borogove::JID from;
+HXDLIN( 442) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
+HXLINE( 442) from = null();
+ }
+ else {
+HXLINE( 442) from = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
+ }
+HXLINE( 444) bool _hx_tmp;
+HXDLIN( 444) if ((( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
+HXLINE( 444) _hx_tmp = ::hx::IsNotNull( from );
+ }
+ else {
+HXLINE( 444) _hx_tmp = false;
+ }
+HXDLIN( 444) if (_hx_tmp) {
+HXLINE( 446) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(this->getChat(from->asBare()->asString()),::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE( 447) if (::hx::IsNotNull( channel )) {
+HXLINE( 447) channel->selfPing(true);
+ }
+ }
+HXLINE( 450) ::borogove::Message message = ::borogove::Message_obj::fromStanza(stanza,this->jid, ::Dynamic(new _hx_Closure_0(_gthis)),encryptionInfo);
+HXLINE( 457) {
+HXLINE( 457) ::borogove::MessageStanza _g = message->parsed;
+HXDLIN( 457) 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_491_processLiveMessage)
+HXLINE( 491) _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_491_processLiveMessage)
+HXLINE( 491) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 486) ::Dynamic _hx_tmp1 = this->persistence;
+HXLINE( 487) ::String _hx_tmp2 = this->accountId();
+HXLINE( 486) ::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()));
+ }
+ break;
+ case (int)1: {
+HXLINE( 458) ::borogove::ChatMessage _g1 = _g->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 458) {
+HXLINE( 459) {
+HXLINE( 459) int _g2 = 0;
+HXDLIN( 459) ::Array< ::Dynamic> _g3 = _g1->inlineHashReferences();
+HXDLIN( 459) while((_g2 < _g3->length)){
+HXLINE( 459) ::borogove::Hash hash = _g3->__get(_g2).StaticCast< ::borogove::Hash >();
+HXDLIN( 459) _g2 = (_g2 + 1);
+HXLINE( 460) this->fetchMediaByHash(::Array_obj< ::Dynamic>::__new(1)->init(0,hash),::Array_obj< ::Dynamic>::__new(1)->init(0,_g1->from));
+ }
+ }
+HXLINE( 462) ::borogove::Chat chat = this->getChat(_g1->chatId());
+HXLINE( 463) if (::hx::IsNotNull( chat )) {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3, ::borogove::Client,_gthis, ::borogove::Chat,chat) HXARGC(1)
+ void _hx_run( ::borogove::ChatMessage chatMessage){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_464_processLiveMessage)
+HXLINE( 465) int updateChat;
+HXDLIN( 465) if ((chatMessage->versions->length > 1)) {
+HXLINE( 465) updateChat = 1;
+ }
+ else {
+HXLINE( 465) updateChat = 0;
+ }
+HXDLIN( 465) _gthis->notifyMessageHandlers(chatMessage,updateChat);
+HXLINE( 466) bool updateChat1;
+HXDLIN( 466) bool updateChat2;
+HXDLIN( 466) if ((chatMessage->versions->length >= 1)) {
+HXLINE( 466) ::String updateChat3 = chat->lastMessageId();
+HXDLIN( 466) updateChat2 = (updateChat3 == chatMessage->serverId);
+ }
+ else {
+HXLINE( 466) updateChat2 = true;
+ }
+HXDLIN( 466) if (!(updateChat2)) {
+HXLINE( 466) ::String updateChat4 = chat->lastMessageId();
+HXDLIN( 466) updateChat1 = (updateChat4 == chatMessage->localId);
+ }
+ else {
+HXLINE( 466) updateChat1 = true;
+ }
+HXDLIN( 466) if (updateChat1) {
+HXLINE( 467) chat->setLastMessage(chatMessage);
+HXLINE( 468) if ((chatMessage->versions->length < 1)) {
+HXLINE( 468) ::borogove::Chat chat1 = chat;
+HXDLIN( 468) int updateChat5;
+HXDLIN( 468) if (chatMessage->isIncoming()) {
+HXLINE( 468) updateChat5 = (chat->unreadCount() + 1);
+ }
+ else {
+HXLINE( 468) updateChat5 = 0;
+ }
+HXDLIN( 468) chat1->setUnreadCount(updateChat5);
+ }
+HXLINE( 469) _gthis->chatActivity(chat,null());
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 464) ::Dynamic updateChat = ::Dynamic(new _hx_Closure_3(_gthis,chat));
+HXLINE( 472) if (::hx::IsNull( _g1->serverId )) {
+HXLINE( 473) updateChat(_g1);
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4, ::Dynamic,updateChat) HXARGC(1)
+ void _hx_run(::Array< ::Dynamic> stored){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_475_processLiveMessage)
+HXLINE( 475) updateChat(stored->__get(0).StaticCast< ::borogove::ChatMessage >());
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 475) ::thenshim::_Promise::Promise_Impl__obj::then(this->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,_g1)), ::Dynamic(new _hx_Closure_4(updateChat)),null());
+ }
+ }
+ }
+ }
+ break;
+ case (int)2: {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_5, ::borogove::Client,_gthis) HXARGC(1)
+ void _hx_run( ::borogove::ChatMessage stored){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_484_processLiveMessage)
+HXLINE( 484) if (::hx::IsNotNull( stored )) {
+HXLINE( 484) _gthis->notifyMessageHandlers(stored,1);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 484) ::thenshim::_Promise::Promise_Impl__obj::then(this->moderateMessage(_g->_hx_getObject(0).StaticCast< ::borogove::ModerationAction >()), ::Dynamic(new _hx_Closure_5(_gthis)),null());
+ }
+ break;
+ case (int)3: {
+HXLINE( 478) ::borogove::ReactionUpdate _g4 = _g->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >();
+HXDLIN( 478) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_6, ::borogove::Client,_gthis) HXARGC(1)
+ void _hx_run( ::borogove::ChatMessage stored){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_482_processLiveMessage)
+HXLINE( 482) if (::hx::IsNotNull( stored )) {
+HXLINE( 482) _gthis->notifyMessageHandlers(stored,2);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 479) {
+HXLINE( 479) int _g5 = 0;
+HXDLIN( 479) ::Array< ::Dynamic> _g6 = _g4->inlineHashReferences();
+HXDLIN( 479) while((_g5 < _g6->length)){
+HXLINE( 479) ::borogove::Hash hash1 = _g6->__get(_g5).StaticCast< ::borogove::Hash >();
+HXDLIN( 479) _g5 = (_g5 + 1);
+HXLINE( 480) this->fetchMediaByHash(::Array_obj< ::Dynamic>::__new(1)->init(0,hash1),::Array_obj< ::Dynamic>::__new(1)->init(0,from));
+ }
+ }
+HXLINE( 482) ::Dynamic _hx_tmp3 = this->persistence;
+HXDLIN( 482) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp3,this->accountId(),_g4), ::Dynamic(new _hx_Closure_6(_gthis)),null());
+ }
+ }
+ break;
+ case (int)4: {
+HXLINE( 493) ::String message1 = message->chatId;
+HXDLIN( 493) ::borogove::Chat _hx_tmp4 = this->getChat(message->chatId);
+HXDLIN( 493) 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));
+ }
+ break;
+ default:{
+HXLINE( 496) ::Dynamic _hx_tmp5 = ::haxe::Log_obj::trace;
+HXDLIN( 496) ::String _hx_tmp6 = (HX_("Ignoring non-chat message: ",f6,a5,6f,ca) + stanza->toString());
+HXDLIN( 496) _hx_tmp5(_hx_tmp6,::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),496,HX_("borogove.Client",18,dc,e6,c0),HX_("processLiveMessage",0c,f2,77,58)));
+ }
+ }
+ }
+HXLINE( 500) ::borogove::Stanza jmiP = stanza->getChild(HX_("propose",fe,fe,e9,f9),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 501) bool _hx_tmp7;
+HXDLIN( 501) if (::hx::IsNotNull( jmiP )) {
+HXLINE( 501) _hx_tmp7 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiP->attr,HX_("id",db,5b,00,00))) ) );
+ }
+ else {
+HXLINE( 501) _hx_tmp7 = false;
+ }
+HXDLIN( 501) if (_hx_tmp7) {
+HXLINE( 502) ::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( 503) ::borogove::DirectChat chat1 = this->getDirectChat(from->asBare()->asString(),null());
+HXLINE( 504) ::Dynamic this1 = chat1->jingleSessions;
+HXDLIN( 504) if (!(( ( ::haxe::ds::StringMap)(this1) )->exists(session->get_sid()))) {
+HXLINE( 505) {
+HXLINE( 505) ::Dynamic this2 = chat1->jingleSessions;
+HXDLIN( 505) ( ( ::haxe::ds::StringMap)(this2) )->set(session->get_sid(),session);
+ }
+HXLINE( 506) this->chatActivity(chat1,null());
+HXLINE( 507) session->ring();
+ }
+ }
+HXLINE( 511) ::borogove::Stanza jmiR = stanza->getChild(HX_("retract",01,e2,b9,fc),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 512) bool _hx_tmp8;
+HXDLIN( 512) if (::hx::IsNotNull( jmiR )) {
+HXLINE( 512) _hx_tmp8 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiR->attr,HX_("id",db,5b,00,00))) ) );
+ }
+ else {
+HXLINE( 512) _hx_tmp8 = false;
+ }
+HXDLIN( 512) if (_hx_tmp8) {
+HXLINE( 513) ::borogove::DirectChat chat2 = this->getDirectChat(from->asBare()->asString(),null());
+HXLINE( 514) ::Dynamic this3 = chat2->jingleSessions;
+HXDLIN( 514) ::Dynamic session1 = ( ( ::haxe::ds::StringMap)(this3) )->get(( (::String)(::Reflect_obj::field(jmiR->attr,HX_("id",db,5b,00,00))) ));
+HXLINE( 515) if (::hx::IsNotNull( session1 )) {
+HXLINE( 516) ::borogove::calls::Session_obj::retract(session1);
+HXLINE( 517) {
+HXLINE( 517) ::Dynamic this4 = chat2->jingleSessions;
+HXDLIN( 517) ( ( ::haxe::ds::StringMap)(this4) )->remove(::borogove::calls::Session_obj::get_sid(session1));
+ }
+ }
+ }
+HXLINE( 522) ::borogove::Stanza jmiProFwd;
+HXDLIN( 522) if (::hx::IsNotNull( fwd )) {
+HXLINE( 522) jmiProFwd = fwd->getChild(HX_("proceed",2e,96,4a,f1),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+ }
+ else {
+HXLINE( 522) jmiProFwd = null();
+ }
+HXLINE( 523) bool _hx_tmp9;
+HXDLIN( 523) if (::hx::IsNotNull( jmiProFwd )) {
+HXLINE( 523) _hx_tmp9 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiProFwd->attr,HX_("id",db,5b,00,00))) ) );
+ }
+ else {
+HXLINE( 523) _hx_tmp9 = false;
+ }
+HXDLIN( 523) if (_hx_tmp9) {
+HXLINE( 524) ::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( 525) ::Dynamic this5 = chat3->jingleSessions;
+HXDLIN( 525) ::Dynamic session2 = ( ( ::haxe::ds::StringMap)(this5) )->get(( (::String)(::Reflect_obj::field(jmiProFwd->attr,HX_("id",db,5b,00,00))) ));
+HXLINE( 526) if (::hx::IsNotNull( session2 )) {
+HXLINE( 527) ::borogove::calls::Session_obj::retract(session2);
+HXLINE( 528) {
+HXLINE( 528) ::Dynamic this6 = chat3->jingleSessions;
+HXDLIN( 528) ( ( ::haxe::ds::StringMap)(this6) )->remove(::borogove::calls::Session_obj::get_sid(session2));
+ }
+ }
+ }
+HXLINE( 532) ::borogove::Stanza jmiPro = stanza->getChild(HX_("proceed",2e,96,4a,f1),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 533) bool _hx_tmp10;
+HXDLIN( 533) if (::hx::IsNotNull( jmiPro )) {
+HXLINE( 533) _hx_tmp10 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiPro->attr,HX_("id",db,5b,00,00))) ) );
+ }
+ else {
+HXLINE( 533) _hx_tmp10 = false;
+ }
+HXDLIN( 533) if (_hx_tmp10) {
+HXLINE( 534) ::borogove::DirectChat chat4 = this->getDirectChat(from->asBare()->asString(),null());
+HXLINE( 535) ::Dynamic this7 = chat4->jingleSessions;
+HXDLIN( 535) ::Dynamic session3 = ( ( ::haxe::ds::StringMap)(this7) )->get(( (::String)(::Reflect_obj::field(jmiPro->attr,HX_("id",db,5b,00,00))) ));
+HXLINE( 536) if (::hx::IsNotNull( session3 )) {
+HXLINE( 537) try {
+ HX_STACK_CATCHABLE( ::Dynamic, 0);
+HXLINE( 538) ::Dynamic this8 = chat4->jingleSessions;
+HXDLIN( 538) ::String key = ::borogove::calls::Session_obj::get_sid(session3);
+HXDLIN( 538) ( ( ::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( 539) ::haxe::Exception _g8 = ::haxe::Exception_obj::caught(_g7);
+HXLINE( 540) ::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(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),540)));
+ }
+ else {
+ HX_STACK_DO_THROW(_hx_e);
+ }
+ }
+ }
+ }
+HXLINE( 545) ::borogove::Stanza jmiRej = stanza->getChild(HX_("reject",5f,51,85,02),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 546) bool _hx_tmp11;
+HXDLIN( 546) if (::hx::IsNotNull( jmiRej )) {
+HXLINE( 546) _hx_tmp11 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiRej->attr,HX_("id",db,5b,00,00))) ) );
+ }
+ else {
+HXLINE( 546) _hx_tmp11 = false;
+ }
+HXDLIN( 546) if (_hx_tmp11) {
+HXLINE( 547) ::borogove::DirectChat chat5 = this->getDirectChat(from->asBare()->asString(),null());
+HXLINE( 548) ::Dynamic this9 = chat5->jingleSessions;
+HXDLIN( 548) ::Dynamic session4 = ( ( ::haxe::ds::StringMap)(this9) )->get(( (::String)(::Reflect_obj::field(jmiRej->attr,HX_("id",db,5b,00,00))) ));
+HXLINE( 549) if (::hx::IsNotNull( session4 )) {
+HXLINE( 550) ::borogove::calls::Session_obj::retract(session4);
+HXLINE( 551) {
+HXLINE( 551) ::Dynamic this10 = chat5->jingleSessions;
+HXDLIN( 551) ( ( ::haxe::ds::StringMap)(this10) )->remove(::borogove::calls::Session_obj::get_sid(session4));
+ }
+ }
+ }
+HXLINE( 556) if ((( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) != HX_("error",c8,cb,29,73))) {
+HXLINE( 557) ::borogove::Stanza chatState = stanza->getChild(null(),HX_("http://jabber.org/protocol/chatstates",8e,6d,41,6d));
+HXLINE( 558) ::Dynamic userState;
+HXDLIN( 558) ::String _g9;
+HXDLIN( 558) if (::hx::IsNotNull( chatState )) {
+HXLINE( 558) _g9 = chatState->name;
+ }
+ else {
+HXLINE( 558) _g9 = null();
+ }
+HXDLIN( 558) if (::hx::IsNull( _g9 )) {
+HXLINE( 558) userState = null();
+ }
+ else {
+HXLINE( 558) ::String _hx_switch_0 = _g9;
+ if ( (_hx_switch_0==HX_("active",c6,41,46,16)) ){
+HXLINE( 558) userState = 2;
+HXDLIN( 558) goto _hx_goto_37;
+ }
+ if ( (_hx_switch_0==HX_("composing",cf,0a,a5,12)) ){
+HXLINE( 558) userState = 3;
+HXDLIN( 558) goto _hx_goto_37;
+ }
+ if ( (_hx_switch_0==HX_("gone",5f,94,69,44)) ){
+HXLINE( 558) userState = 0;
+HXDLIN( 558) goto _hx_goto_37;
+ }
+ if ( (_hx_switch_0==HX_("inactive",6b,17,30,6a)) ){
+HXLINE( 558) userState = 1;
+HXDLIN( 558) goto _hx_goto_37;
+ }
+ if ( (_hx_switch_0==HX_("paused",ae,40,84,ef)) ){
+HXLINE( 558) userState = 4;
+HXDLIN( 558) goto _hx_goto_37;
+ }
+ /* default */{
+HXLINE( 558) userState = null();
+ }
+ _hx_goto_37:;
+ }
+HXLINE( 566) if (::hx::IsNotNull( userState )) {
+HXLINE( 567) ::borogove::Chat chat6 = this->getChat(from->asBare()->asString());
+HXLINE( 568) bool _hx_tmp12;
+HXDLIN( 568) if (::hx::IsNotNull( chat6 )) {
+HXLINE( 568) _hx_tmp12 = !(chat6->getParticipantDetails(message->senderId)->isSelf);
+ }
+ else {
+HXLINE( 568) _hx_tmp12 = true;
+ }
+HXDLIN( 568) if (_hx_tmp12) {
+HXLINE( 569) this->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( 574) ::borogove::PubsubEvent pubsubEvent = ::borogove::PubsubEvent_obj::fromStanza(stanza);
+HXLINE( 575) bool _hx_tmp13;
+HXDLIN( 575) bool _hx_tmp14;
+HXDLIN( 575) bool _hx_tmp15;
+HXDLIN( 575) if (::hx::IsNotNull( pubsubEvent )) {
+HXLINE( 575) _hx_tmp15 = ::hx::IsNotNull( pubsubEvent->getFrom() );
+ }
+ else {
+HXLINE( 575) _hx_tmp15 = false;
+ }
+HXDLIN( 575) if (_hx_tmp15) {
+HXLINE( 575) _hx_tmp14 = (pubsubEvent->getNode() == HX_("urn:xmpp:avatar:metadata",d4,65,1a,ee));
+ }
+ else {
+HXLINE( 575) _hx_tmp14 = false;
+ }
+HXDLIN( 575) if (_hx_tmp14) {
+HXLINE( 575) _hx_tmp13 = (pubsubEvent->getItems()->length > 0);
+ }
+ else {
+HXLINE( 575) _hx_tmp13 = false;
+ }
+HXDLIN( 575) if (_hx_tmp13) {
+HXLINE( 576) ::borogove::Stanza item = pubsubEvent->getItems()->__get(0).StaticCast< ::borogove::Stanza >();
+HXLINE( 577) ::String avatarSha1Hex = ( (::String)(::Reflect_obj::field(pubsubEvent->getItems()->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("id",db,5b,00,00))) );
+HXLINE( 578) ::borogove::Hash tmp = ::borogove::Hash_obj::fromHex(HX_("sha-1",90,a8,1c,7c),avatarSha1Hex);
+HXDLIN( 578) ::Array< unsigned char > avatarSha1;
+HXDLIN( 578) if (::hx::IsNotNull( tmp )) {
+HXLINE( 578) avatarSha1 = tmp->hash;
+ }
+ else {
+HXLINE( 578) avatarSha1 = null();
+ }
+HXLINE( 579) ::borogove::Stanza metadata = item->getChild(HX_("metadata",6f,e7,19,40),HX_("urn:xmpp:avatar:metadata",d4,65,1a,ee));
+HXLINE( 580) ::Array< ::String > mime = ::Array_obj< ::String >::fromData( _hx_array_data_c0e6dc18_47,1);
+HXLINE( 581) if (::hx::IsNotNull( metadata )) {
+HXLINE( 582) ::borogove::Stanza info = metadata->getChild(HX_("info",6e,38,bb,45),null());
+HXLINE( 583) bool _hx_tmp16;
+HXDLIN( 583) if (::hx::IsNotNull( info )) {
+HXLINE( 583) _hx_tmp16 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(info->attr,HX_("type",ba,f2,08,4d))) ) );
+ }
+ else {
+HXLINE( 583) _hx_tmp16 = false;
+ }
+HXDLIN( 583) if (_hx_tmp16) {
+HXLINE( 584) mime[0] = ( (::String)(::Reflect_obj::field(info->attr,HX_("type",ba,f2,08,4d))) );
+ }
+ }
+HXLINE( 587) if (::hx::IsNotNull( avatarSha1 )) {
+ HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_9, ::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_592_processLiveMessage)
+HXLINE( 592) if (has) {
+HXLINE( 593) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat7));
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_8, ::borogove::Client,_gthis,::Array< ::String >,mime, ::borogove::DirectChat,chat7, ::borogove::queries::PubsubGet,pubsubGet1) HXARGC(0)
+ void _hx_run(){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_7, ::borogove::Client,_gthis, ::borogove::DirectChat,chat7) HXARGC(1)
+ ::borogove::EventResult _hx_run(bool _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_601_processLiveMessage)
+HXLINE( 601) return _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat7));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_596_processLiveMessage)
+HXLINE( 597) ::borogove::Stanza item = pubsubGet1->getResult()->__get(0).StaticCast< ::borogove::Stanza >();
+HXLINE( 598) if (::hx::IsNull( item )) {
+HXLINE( 598) return;
+ }
+HXLINE( 599) ::borogove::Stanza dataNode = item->getChild(HX_("data",2a,56,63,42),HX_("urn:xmpp:avatar:data",0f,7e,01,4e));
+HXLINE( 600) if (::hx::IsNull( dataNode )) {
+HXLINE( 600) return;
+ }
+HXLINE( 601) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN( 601) ::String mime1 = mime->__get(0);
+HXDLIN( 601) ::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_7(_gthis,chat7)),null());
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+HXLINE( 595) ::String pubsubGet = pubsubEvent->getFrom();
+HXDLIN( 595) ::borogove::queries::PubsubGet pubsubGet1 = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,pubsubGet,HX_("urn:xmpp:avatar:data",0f,7e,01,4e),avatarSha1Hex);
+HXLINE( 596) pubsubGet1->onFinished( ::Dynamic(new _hx_Closure_8(_gthis,mime,chat7,pubsubGet1)));
+HXLINE( 605) _gthis->sendQuery(pubsubGet1);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 588) ::borogove::DirectChat chat7 = this->getDirectChat(::borogove::JID_obj::parse(pubsubEvent->getFrom())->asBare()->asString(),false);
+HXLINE( 589) chat7->setAvatarSha1(avatarSha1);
+HXLINE( 590) ::Dynamic _hx_tmp17 = this->persistence;
+HXDLIN( 590) ::String _hx_tmp18 = this->accountId();
+HXDLIN( 590) ::borogove::Persistence_obj::storeChats(_hx_tmp17,_hx_tmp18,::Array_obj< ::Dynamic>::__new(1)->init(0,chat7));
+HXLINE( 591) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::hasMedia(this->persistence,HX_("sha-1",90,a8,1c,7c),avatarSha1), ::Dynamic(new _hx_Closure_9(_gthis,mime,avatarSha1Hex,pubsubEvent,chat7)),null());
+ }
+ }
+HXLINE( 611) ::Dynamic _hx_tmp19 = ::haxe::Log_obj::trace;
+HXDLIN( 611) ::String _hx_tmp20 = (HX_("pubsubEvent ",09,6a,9f,e2) + ::Std_obj::string(::hx::IsNotNull( pubsubEvent )));
+HXDLIN( 611) _hx_tmp19(_hx_tmp20,::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),611,HX_("borogove.Client",18,dc,e6,c0),HX_("processLiveMessage",0c,f2,77,58)));
+HXLINE( 612) bool _hx_tmp21;
+HXDLIN( 612) if (::hx::IsNotNull( pubsubEvent )) {
+HXLINE( 612) _hx_tmp21 = ::hx::IsNotNull( pubsubEvent->getFrom() );
+ }
+ else {
+HXLINE( 612) _hx_tmp21 = false;
+ }
+HXDLIN( 612) if (_hx_tmp21) {
+HXLINE( 614) ::String isOwnAccount = ::borogove::JID_obj::parse(pubsubEvent->getFrom())->asBare()->asString();
+HXDLIN( 614) bool isOwnAccount1 = (isOwnAccount == this->accountId());
+HXLINE( 615) ::String pubsubNode = pubsubEvent->getNode();
+HXLINE( 617) bool _hx_tmp22;
+HXDLIN( 617) bool _hx_tmp23;
+HXDLIN( 617) if (isOwnAccount1) {
+HXLINE( 617) _hx_tmp23 = (pubsubNode == HX_("http://jabber.org/protocol/nick",17,30,dc,e9));
+ }
+ else {
+HXLINE( 617) _hx_tmp23 = false;
+ }
+HXDLIN( 617) if (_hx_tmp23) {
+HXLINE( 617) _hx_tmp22 = (pubsubEvent->getItems()->length > 0);
+ }
+ else {
+HXLINE( 617) _hx_tmp22 = false;
+ }
+HXDLIN( 617) if (_hx_tmp22) {
+HXLINE( 618) 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( 621) bool _hx_tmp24;
+HXDLIN( 621) bool _hx_tmp25;
+HXDLIN( 621) if (isOwnAccount1) {
+HXLINE( 621) _hx_tmp25 = (pubsubNode == HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb));
+ }
+ else {
+HXLINE( 621) _hx_tmp25 = false;
+ }
+HXDLIN( 621) if (_hx_tmp25) {
+HXLINE( 621) _hx_tmp24 = (pubsubEvent->getItems()->length > 0);
+ }
+ else {
+HXLINE( 621) _hx_tmp24 = false;
+ }
+HXDLIN( 621) if (_hx_tmp24) {
+HXLINE( 622) int _g10 = 0;
+HXDLIN( 622) ::Array< ::Dynamic> _g11 = pubsubEvent->getItems();
+HXDLIN( 622) while((_g10 < _g11->length)){
+HXLINE( 622) ::borogove::Stanza item1 = _g11->__get(_g10).StaticCast< ::borogove::Stanza >();
+HXDLIN( 622) _g10 = (_g10 + 1);
+HXLINE( 623) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item1->attr,HX_("id",db,5b,00,00))) ) )) {
+HXLINE( 624) ::borogove::Stanza tmp1 = item1->getChild(HX_("displayed",21,17,db,c1),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb));
+HXDLIN( 624) ::borogove::Stanza upTo;
+HXDLIN( 624) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 624) upTo = tmp1->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
+ }
+ else {
+HXLINE( 624) upTo = null();
+ }
+HXLINE( 625) ::borogove::Chat chat8 = this->getChat(( (::String)(::Reflect_obj::field(item1->attr,HX_("id",db,5b,00,00))) ));
+HXLINE( 626) if (::hx::IsNull( chat8 )) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_10) HXARGC(1)
+ int _hx_run( ::borogove::Caps _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_627_processLiveMessage)
+HXLINE( 627) return 2;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_11, ::borogove::Stanza,upTo) HXARGC(1)
+ void _hx_run( ::borogove::Chat chat){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_627_processLiveMessage)
+HXLINE( 627) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(upTo->attr,HX_("id",db,5b,00,00))) );
+HXDLIN( 627) chat->markReadUpToId(_hx_tmp,( (::String)(::Reflect_obj::field(upTo->attr,HX_("by",d7,55,00,00))) ));
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 627) this->startChatWith(( (::String)(::Reflect_obj::field(item1->attr,HX_("id",db,5b,00,00))) ), ::Dynamic(new _hx_Closure_10()), ::Dynamic(new _hx_Closure_11(upTo)));
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_12, ::borogove::Chat,chat8, ::borogove::Client,_gthis) HXARGC(1)
+ void _hx_run( ::Dynamic _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_629_processLiveMessage)
+HXLINE( 630) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN( 630) ::String _hx_tmp = _gthis->accountId();
+HXDLIN( 630) ::borogove::Persistence_obj::storeChats(_gthis1,_hx_tmp,::Array_obj< ::Dynamic>::__new(1)->init(0,chat8));
+HXLINE( 631) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat8));
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_13) HXARGC(1)
+ ::Dynamic _hx_run( ::Dynamic e){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_633_processLiveMessage)
+HXLINE( 633) if (::hx::IsNotNull( e )) {
+HXLINE( 633) return ::thenshim::_Promise::Promise_Impl__obj::reject(e);
+ }
+ else {
+HXLINE( 633) return null();
+ }
+HXDLIN( 633) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 629) ::borogove::Chat chat9 = chat8;
+HXDLIN( 629) ::String _hx_tmp26 = ( (::String)(::Reflect_obj::field(upTo->attr,HX_("id",db,5b,00,00))) );
+HXDLIN( 629) ::thenshim::_Promise::Promise_Impl__obj::then(chat9->markReadUpToId(_hx_tmp26,( (::String)(::Reflect_obj::field(upTo->attr,HX_("by",d7,55,00,00))) )), ::Dynamic(new _hx_Closure_12(chat8,_gthis)), ::Dynamic(new _hx_Closure_13()));
+ }
+ }
+ }
+ }
+HXLINE( 638) ::haxe::Log_obj::trace((HX_("pubsubNode == ",a5,37,1e,6c) + pubsubNode),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),638,HX_("borogove.Client",18,dc,e6,c0),HX_("processLiveMessage",0c,f2,77,58)));
+ }
+ }
+
+
+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_658_start)
+HXLINE( 658) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN( 658) return ::borogove::Persistence_obj::getStreamManagement(_gthis1,_gthis->accountId());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4, ::borogove::Client,_gthis) HXARGC(1)
+ void _hx_run(::Array< unsigned char > sm){
+ 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_660_start)
+HXLINE( 661) ::Dynamic tmp = data->__Field(HX_("mechanisms",fa,b0,9e,80),::hx::paccDynamic);
+HXDLIN( 661) ::Dynamic tmp1;
+HXDLIN( 661) if (::hx::IsNotNull( tmp )) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
+ ::Dynamic _hx_run( ::Dynamic mech){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_661_start)
+HXLINE( 661) return ::Dynamic(mech->__Field(HX_("canFast",cc,aa,0d,62),::hx::paccDynamic));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 661) tmp1 = tmp->__Field(HX_("find",39,d0,bb,43),::hx::paccDynamic)( ::Dynamic(new _hx_Closure_1()));
+ }
+ else {
+HXLINE( 661) tmp1 = null();
+ }
+HXDLIN( 661) ::String _hx_tmp;
+HXDLIN( 661) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 661) _hx_tmp = ( (::String)(tmp1->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) );
+ }
+ else {
+HXLINE( 661) _hx_tmp = null();
+ }
+HXDLIN( 661) _gthis->fastMechanism = _hx_tmp;
+HXLINE( 662) bool _hx_tmp1;
+HXDLIN( 662) if (::hx::IsNotNull( _gthis->token )) {
+HXLINE( 662) if (::hx::IsNull( _gthis->fastMechanism )) {
+HXLINE( 662) _hx_tmp1 = ::hx::IsNotNull( data->__Field(HX_("mechanimsms",cb,6a,49,06),::hx::paccDynamic) );
+ }
+ else {
+HXLINE( 662) _hx_tmp1 = false;
+ }
+ }
+ else {
+HXLINE( 662) _hx_tmp1 = true;
+ }
+HXDLIN( 662) if (_hx_tmp1) {
+HXLINE( 663) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 663) 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( 665) 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( 662) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3, ::borogove::Client,_gthis,::Array< unsigned char >,sm) HXARGC(1)
+ ::borogove::EventResult _hx_run( ::Dynamic data){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_668_start)
+HXLINE( 669) if (::hx::IsNotNull( _gthis->token )) {
+HXLINE( 670) _gthis->token = null();
+HXLINE( 671) ::borogove::GenericStream _gthis1 = _gthis->stream;
+HXDLIN( 671) ::String _hx_tmp = _gthis->jid->asString();
+HXDLIN( 671) _gthis1->connect(_hx_tmp,sm);
+ }
+ else {
+HXLINE( 673) ::borogove::GenericStream _gthis2 = _gthis->stream;
+HXDLIN( 673) ::String _hx_tmp1 = _gthis->jid->asString();
+HXDLIN( 673) _gthis2->connect(_hx_tmp1,sm);
+ }
+HXLINE( 675) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_659_start)
+HXLINE( 660) _gthis->stream->on(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(new _hx_Closure_2(_gthis)));
+HXLINE( 668) _gthis->stream->on(HX_("auth/fail",25,45,e9,d1), ::Dynamic(new _hx_Closure_3(_gthis,sm)));
+HXLINE( 677) ::borogove::GenericStream _gthis1 = _gthis->stream;
+HXDLIN( 677) ::String _hx_tmp = _gthis->jid->asString();
+HXDLIN( 677) _gthis1->connect(_hx_tmp,sm);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_655_start)
+HXDLIN( 655) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 656) this->stream->emitSMupdates = false;
+HXLINE( 657) ::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_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( ::Dynamic login){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_691_startOffline)
+HXLINE( 692) _gthis->token = ( (::String)(login->__Field(HX_("token",f9,82,2b,14),::hx::paccDynamic)) );
+HXLINE( 693) _gthis->fastCount = login->__Field(HX_("fastCount",93,fc,67,a5),::hx::paccDynamic);
+HXLINE( 694) ::String tmp = ( (::String)(login->__Field(HX_("clientId",06,73,8f,15),::hx::paccDynamic)) );
+HXDLIN( 694) ::String _hx_tmp;
+HXDLIN( 694) if (::hx::IsNotNull( tmp )) {
+HXLINE( 694) _hx_tmp = tmp;
+ }
+ else {
+HXLINE( 694) _hx_tmp = ::borogove::ID_obj::_hx_long();
+ }
+HXDLIN( 694) _gthis->stream->clientId = _hx_tmp;
+HXLINE( 695) _gthis->jid = _gthis->jid->withResource(_gthis->stream->clientId);
+HXLINE( 696) bool _hx_tmp1;
+HXDLIN( 696) if (!(_gthis->updateDisplayName(( (::String)(login->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)) )))) {
+HXLINE( 696) _hx_tmp1 = ::hx::IsNull( login->__Field(HX_("clientId",06,73,8f,15),::hx::paccDynamic) );
+ }
+ else {
+HXLINE( 696) _hx_tmp1 = false;
+ }
+HXDLIN( 696) if (_hx_tmp1) {
+HXLINE( 697) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN( 697) ::String _hx_tmp2 = _gthis->jid->asBare()->asString();
+HXDLIN( 697) ::String _gthis2 = _gthis->stream->clientId;
+HXDLIN( 697) ::borogove::Persistence_obj::storeLogin(_gthis1,_hx_tmp2,_gthis2,_gthis->displayName(),null());
+ }
+HXLINE( 700) ::Dynamic _gthis3 = _gthis->persistence;
+HXDLIN( 700) return ::borogove::Persistence_obj::getChats(_gthis3,_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(::Array< ::Dynamic> protoChats){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_701_startOffline)
+HXLINE( 702) ::borogove::SerializedChat oneProtoChat = null();
+HXLINE( 703) while(true){
+HXLINE( 703) oneProtoChat = protoChats->pop().StaticCast< ::borogove::SerializedChat >();
+HXDLIN( 703) if (!(::hx::IsNotNull( oneProtoChat ))) {
+HXLINE( 703) goto _hx_goto_61;
+ }
+HXLINE( 704) ::Array< ::Dynamic> _gthis1 = _gthis->chats;
+HXDLIN( 704) _gthis1->push(oneProtoChat->toChat(_gthis,_gthis->stream,_gthis->persistence));
+ }
+ _hx_goto_61:;
+HXLINE( 706) ::borogove::Client _gthis2 = _gthis;
+HXDLIN( 706) _gthis2->getDirectChat(_gthis->accountId(),null());
+HXLINE( 707) ::Dynamic _gthis3 = _gthis->persistence;
+HXDLIN( 707) ::String _hx_tmp = _gthis->accountId();
+HXDLIN( 707) return ::borogove::Persistence_obj::getChatsUnreadDetails(_gthis3,_hx_tmp,_gthis->chats);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::Client,_gthis) HXARGC(1)
+ bool _hx_run(::Array< ::Dynamic> details){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_708_startOffline)
+HXLINE( 709) {
+HXLINE( 709) int _g = 0;
+HXDLIN( 709) while((_g < details->length)){
+HXLINE( 709) ::Dynamic detail = details->__get(_g);
+HXDLIN( 709) _g = (_g + 1);
+HXLINE( 710) ::borogove::Chat chat = _gthis->getChat(( (::String)(detail->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)) ));
+HXLINE( 711) if (::hx::IsNotNull( chat )) {
+HXLINE( 712) chat->setLastMessage(( ( ::borogove::ChatMessage)(detail->__Field(HX_("message",c7,35,11,9a),::hx::paccDynamic)) ));
+HXLINE( 713) chat->setUnreadCount(( (int)(detail->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic)) ));
+ }
+ }
+ }
+HXLINE( 716) _gthis->sortChats();
+HXLINE( 717) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),_gthis->chats);
+HXLINE( 718) return true;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_686_startOffline)
+HXDLIN( 686) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 689) __hxcpp_collect(true);
+HXLINE( 691) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN( 691) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getLogin(_hx_tmp,this->accountId()), ::Dynamic(new _hx_Closure_0(_gthis)),null()), ::Dynamic(new _hx_Closure_1(_gthis)),null()), ::Dynamic(new _hx_Closure_2(_gthis)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Client_obj,startOffline,return )
+
+void Client_obj::startOffline__fromC(::cpp::Function< void (bool,void*) > handler,void* handler__context){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_313_startOffline__fromC)
+HXDLIN( 313) if (::hx::IsNull( handler )) {
+HXDLIN( 313) this->startOffline();
+ }
+ 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_STACKFRAME(&_hx_pos_afe14372debdebc6_313_startOffline__fromC)
+HXDLIN( 313) handler(v,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)
+ void _hx_run( ::Dynamic e){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_313_startOffline__fromC)
+HXDLIN( 313) handler(false,handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 313) ::thenshim::_Promise::Promise_Impl__obj::then(this->startOffline(), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+ }
+ }
+
+
+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_731_logout)
+HXLINE( 731) _gthis->stream->disconnect();
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_727_logout)
+HXDLIN( 727) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 728) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN( 728) ::borogove::Persistence_obj::removeAccount(_hx_tmp,this->accountId(),completely);
+HXLINE( 729) ::borogove::queries::Push2Disable disable = ::borogove::queries::Push2Disable_obj::__alloc( HX_CTX ,this->jid->asBare()->asString());
+HXLINE( 730) disable->onFinished( ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 733) this->sendQuery(disable);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,logout,(void))
+
+void Client_obj::usePassword(::String password){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_743_usePassword)
+HXDLIN( 743) 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)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,usePassword,(void))
+
+::String Client_obj::accountId(){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_752_accountId)
+HXDLIN( 752) return this->jid->asBare()->asString();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Client_obj,accountId,return )
+
+::String Client_obj::displayName(){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_761_displayName)
+HXDLIN( 761) return this->_displayName;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Client_obj,displayName,return )
+
+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_771_setProfile)
+HXLINE( 771) return (item->key == HX_("fn",48,59,00,00));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_770_setProfile)
+HXLINE( 771) ::borogove::ProfileItem fn = ( ( ::borogove::ProfileItem)(::Lambda_obj::find(profile->build()->items, ::Dynamic(new _hx_Closure_0()))) );
+HXLINE( 772) if (::hx::IsNotNull( fn )) {
+HXLINE( 773) ::String fnText = fn->text()->__get(0);
+HXLINE( 774) bool _hx_tmp;
+HXDLIN( 774) bool _hx_tmp1;
+HXDLIN( 774) if (::hx::IsNotNull( fnText )) {
+HXLINE( 774) _hx_tmp1 = (fnText != HX_("",00,00,00,00));
+ }
+ else {
+HXLINE( 774) _hx_tmp1 = false;
+ }
+HXDLIN( 774) if (_hx_tmp1) {
+HXLINE( 774) _hx_tmp = (fnText != this->displayName());
+ }
+ else {
+HXLINE( 774) _hx_tmp = false;
+ }
+HXDLIN( 774) 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_782_setProfile)
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 775) ::borogove::GenericStream _hx_tmp2 = this->stream;
+HXDLIN( 775) _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( 788) ::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( 788) ::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),::borogove::ID_obj::_hx_long())));
+HXDLIN( 788) ::borogove::Stanza _hx_tmp5 = _hx_tmp4->addChild(profile->buildStanza());
+HXLINE( 800) ::String _hx_tmp6;
+HXDLIN( 800) if (publicAccess) {
+HXLINE( 800) _hx_tmp6 = HX_("open",ca,03,b4,49);
+ }
+ else {
+HXLINE( 800) _hx_tmp6 = HX_("presence",3b,52,d7,66);
+ }
+HXLINE( 787) 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(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());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Client_obj,setProfile,(void))
+
+bool Client_obj::updateDisplayName(::String fn){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_804_updateDisplayName)
+HXLINE( 805) bool _hx_tmp;
+HXDLIN( 805) bool _hx_tmp1;
+HXDLIN( 805) if (::hx::IsNotNull( fn )) {
+HXLINE( 805) _hx_tmp1 = (fn == HX_("",00,00,00,00));
+ }
+ else {
+HXLINE( 805) _hx_tmp1 = true;
+ }
+HXDLIN( 805) if (!(_hx_tmp1)) {
+HXLINE( 805) _hx_tmp = (fn == this->displayName());
+ }
+ else {
+HXLINE( 805) _hx_tmp = true;
+ }
+HXDLIN( 805) if (_hx_tmp) {
+HXLINE( 805) return false;
+ }
+HXLINE( 806) this->_displayName = fn;
+HXLINE( 807) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN( 807) ::String _hx_tmp3 = this->jid->asBare()->asString();
+HXDLIN( 807) ::String tmp = this->stream->clientId;
+HXDLIN( 807) ::String _hx_tmp4;
+HXDLIN( 807) if (::hx::IsNotNull( tmp )) {
+HXLINE( 807) _hx_tmp4 = tmp;
+ }
+ else {
+HXLINE( 807) _hx_tmp4 = this->jid->resource;
+ }
+HXDLIN( 807) ::borogove::Persistence_obj::storeLogin(_hx_tmp2,_hx_tmp3,_hx_tmp4,fn,null());
+HXLINE( 808) this->pingAllChannels(false);
+HXLINE( 809) return true;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,updateDisplayName,return )
+
+ ::borogove::EventResult Client_obj::onConnected( ::Dynamic data){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis) HXARGC(2)
+ void _hx_run( ::Dynamic service, ::borogove::Caps caps){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_827_onConnected)
+HXLINE( 827) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN( 827) ::String _hx_tmp = _gthis->accountId();
+HXDLIN( 827) ::String _hx_tmp1 = ( ( ::borogove::JID)(service->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) )->asString();
+HXDLIN( 827) ::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)
+ void _hx_run(){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::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)
+ void _hx_run(::Array< ::Dynamic> details){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_844_onConnected)
+HXLINE( 845) {
+HXLINE( 845) int _g = 0;
+HXDLIN( 845) while((_g < details->length)){
+HXLINE( 845) ::Dynamic detail = details->__get(_g);
+HXDLIN( 845) _g = (_g + 1);
+HXLINE( 846) ::borogove::Chat chat;
+HXDLIN( 846) ::borogove::Chat tmp = _gthis->getChat(( (::String)(detail->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)) ));
+HXDLIN( 846) if (::hx::IsNotNull( tmp )) {
+HXLINE( 846) chat = tmp;
+ }
+ else {
+HXLINE( 846) chat = _gthis->getDirectChat(( (::String)(detail->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)) ),false);
+ }
+HXLINE( 847) ::String initialLastId = chat->lastMessageId();
+HXLINE( 848) chat->setLastMessage(( ( ::borogove::ChatMessage)(detail->__Field(HX_("message",c7,35,11,9a),::hx::paccDynamic)) ));
+HXLINE( 849) chat->setUnreadCount(( (int)(detail->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic)) ));
+HXLINE( 850) bool _hx_tmp;
+HXDLIN( 850) if (::hx::IsGreater( detail->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic),0 )) {
+HXLINE( 850) _hx_tmp = (initialLastId != chat->lastMessageId());
+ }
+ else {
+HXLINE( 850) _hx_tmp = false;
+ }
+HXDLIN( 850) if (_hx_tmp) {
+HXLINE( 851) _gthis->chatActivity(chat,false);
+ }
+ }
+ }
+HXLINE( 854) _gthis->sortChats();
+HXLINE( 855) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),_gthis->chats);
+HXLINE( 857) if (_gthis->sendAvailable) {
+HXLINE( 859) ::borogove::Client _gthis1 = _gthis;
+HXLINE( 860) ::String _hx_tmp1 = ::borogove::ID_obj::_hx_short();
+HXLINE( 859) _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_tmp1)
+ ->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( 864) _gthis->sendPresence(null(),null());
+HXLINE( 865) _gthis->joinAllChannels();
+ }
+HXLINE( 867) _gthis->trigger(HX_("status/online",10,05,0e,d2), ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE( 868) ::haxe::Log_obj::trace(HX_("SYNC: done",c3,a6,82,dd),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),868,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_833_onConnected)
+HXLINE( 834) if (!(syncFinished)) {
+HXLINE( 835) ::haxe::Log_obj::trace(HX_("SYNC: failed",3e,4e,5e,fa),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),835,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
+HXLINE( 836) _gthis->inSync = false;
+HXLINE( 837) _gthis->stream->disconnect();
+HXLINE( 839) return;
+ }
+HXLINE( 842) ::haxe::Log_obj::trace(HX_("SYNC: details",21,c5,8e,ac),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),842,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
+HXLINE( 843) _gthis->inSync = true;
+HXLINE( 844) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN( 844) ::String _hx_tmp = _gthis->accountId();
+HXDLIN( 844) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getChatsUnreadDetails(_gthis1,_hx_tmp,_gthis->chats), ::Dynamic(new _hx_Closure_1(_gthis)),null());
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_831_onConnected)
+HXLINE( 832) ::haxe::Log_obj::trace(HX_("SYNC: MAM",58,33,e1,36),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),832,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
+HXLINE( 833) _gthis->sync( ::Dynamic(new _hx_Closure_2(_gthis)));
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_812_onConnected)
+HXDLIN( 812) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 813) bool _hx_tmp;
+HXDLIN( 813) if (::hx::IsNotNull( data )) {
+HXLINE( 813) _hx_tmp = ::hx::IsNotNull( data->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic) );
+ }
+ else {
+HXLINE( 813) _hx_tmp = false;
+ }
+HXDLIN( 813) if (_hx_tmp) {
+HXLINE( 814) this->jid = ::borogove::JID_obj::parse(( (::String)(data->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ));
+HXLINE( 815) bool _hx_tmp1;
+HXDLIN( 815) if (::hx::IsNull( this->stream->clientId )) {
+HXLINE( 815) _hx_tmp1 = !(this->jid->isBare());
+ }
+ else {
+HXLINE( 815) _hx_tmp1 = false;
+ }
+HXDLIN( 815) if (_hx_tmp1) {
+HXLINE( 815) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN( 815) ::String _hx_tmp3 = this->jid->asBare()->asString();
+HXDLIN( 815) ::String _hx_tmp4 = this->jid->resource;
+HXDLIN( 815) ::borogove::Persistence_obj::storeLogin(_hx_tmp2,_hx_tmp3,_hx_tmp4,this->displayName(),null());
+ }
+ }
+HXLINE( 818) if (( (bool)(data->__Field(HX_("resumed",17,0e,58,6b),::hx::paccDynamic)) )) {
+HXLINE( 819) this->inSync = true;
+HXLINE( 820) this->stream->emitSMupdates = true;
+HXLINE( 821) this->trigger(HX_("status/online",10,05,0e,d2), ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE( 822) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+HXLINE( 826) this->discoverServices( ::borogove::JID_obj::__alloc( HX_CTX ,null(),this->jid->domain,null(),null()),null(), ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 829) this->rosterGet();
+HXLINE( 830) ::haxe::Log_obj::trace(HX_("SYNC: bookmarks",1c,91,b3,0d),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),830,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
+HXLINE( 831) this->bookmarksGet( ::Dynamic(new _hx_Closure_3(_gthis)));
+HXLINE( 873) this->trigger(HX_("session-started",0a,96,19,bc), ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE( 875) 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, ::sha::SHA256,sha256) HXARGC(2)
+ void _hx_run( ::Dynamic resolve, ::Dynamic reject){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::sha::SHA256,sha256) HXARGC(1)
+ ::tink::streams::Handled _hx_run(::Dynamic chunk){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_888_prepareAttachment)
+HXLINE( 889) ::sha::SHA256 sha2561 = sha256;
+HXDLIN( 889) sha2561->update(::tink::chunk::ChunkObject_obj::toBytes(chunk));
+HXLINE( 890) return ::tink::streams::Handled_obj::Resume_dyn();
+ }
+ 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, ::sha::SHA256,sha256) HXARGC(1)
+ void _hx_run( ::tink::streams::Conclusion o){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_891_prepareAttachment)
+HXLINE( 891) if ((o->_hx_getIndex() == 3)) {
+HXLINE( 893) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 893) ::borogove::AttachmentSource source1 = source;
+HXDLIN( 893) ::Array< ::Dynamic> services1 = services;
+HXDLIN( 893) ::Array< unsigned char > _hx_tmp = sha256->digest()->b;
+HXDLIN( 893) _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( 895) ::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),895)));
+HXLINE( 896) reject(o);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_888_prepareAttachment)
+HXLINE( 888) ::String name = source->name;
+HXDLIN( 888) ::haxe::io::Input input = ::sys::io::File_obj::read(source->path,null());
+HXDLIN( 888) ::Dynamic options = null();
+HXDLIN( 888) options = ::Dynamic(::hx::Anon_obj::Create(0));
+HXDLIN( 888) ::Dynamic this1 = ::tink::io::_Worker::Worker_Impl__obj::ensure( ::Dynamic(options->__Field(HX_("worker",7e,30,9e,c9),::hx::paccDynamic)));
+HXDLIN( 888) ::Dynamic _g = options->__Field(HX_("chunkSize",ce,cd,77,9f),::hx::paccDynamic);
+HXDLIN( 888) int this2;
+HXDLIN( 888) if (::hx::IsNull( _g )) {
+HXLINE( 888) this2 = 65536;
+ }
+ else {
+HXLINE( 888) this2 = ( (int)(_g) );
+ }
+HXDLIN( 888) ::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( 888) ::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))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_885_prepareAttachment)
+HXLINE( 886) ::sha::SHA256 sha256 = ::sha::SHA256_obj::__alloc( HX_CTX );
+HXLINE( 887) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_2(_gthis,source,services,sha256)));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_884_prepareAttachment)
+HXDLIN( 884) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 885) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN( 885) 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());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,prepareAttachment,return )
+
+void Client_obj::prepareAttachment__fromC( ::borogove::AttachmentSource source,::cpp::Function< void (void*,void*) > handler,void* handler__context){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_313_prepareAttachment__fromC)
+HXDLIN( 313) if (::hx::IsNull( handler )) {
+HXDLIN( 313) this->prepareAttachment(source);
+ }
+ 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_afe14372debdebc6_313_prepareAttachment__fromC)
+HXDLIN( 313) ::cpp::Function< void (void*,void*) > handler1 = handler;
+HXLINE( 297) ::Dynamic haxeObject = v;
+HXDLIN( 297) void* ptr = haxeObject.mPtr;
+HXDLIN( 297) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 297) {
+HXLINE( 297) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 297) if (::hx::IsNull( store )) {
+HXLINE( 297) 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( 297) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 297) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 313) 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_afe14372debdebc6_313_prepareAttachment__fromC)
+HXDLIN( 313) handler(null(),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 313) ::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)));
+ }
+ }
+
+
+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_909_prepareAttachmentFor)
+HXLINE( 910) ::Dynamic slot = httpUploadSlot->getResult();
+HXLINE( 911) if (::hx::IsNull( slot )) {
+HXLINE( 912) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 912) ::borogove::AttachmentSource source1 = source;
+HXDLIN( 912) ::Array< ::Dynamic> _hx_tmp = services->slice(1,null());
+HXDLIN( 912) _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_914_prepareAttachmentFor)
+HXLINE( 914) ::haxe::Log_obj::trace(HX_("WUT",76,4e,42,00), ::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),914)));
+HXDLIN( 914) HX_STACK_DO_THROW(e);
+HXDLIN( 914) return null();
+ }
+ 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_915_prepareAttachmentFor)
+HXLINE( 915) if ((o->_hx_getIndex() == 0)) {
+HXLINE( 916) if ((( ( ::tink::http::ResponseHeaderBase)(( ( ::tink::http::Message)(o->_hx_getObject(0)) )->header) )->statusCode == 201)) {
+HXLINE( 917) 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 {
+HXLINE( 919) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 919) ::borogove::AttachmentSource source1 = source;
+HXDLIN( 919) ::Array< ::Dynamic> _hx_tmp = services->slice(1,null());
+HXDLIN( 919) _gthis1->prepareAttachmentFor(source1,_hx_tmp,hashes,callback);
+ }
+ }
+ else {
+HXLINE( 919) ::borogove::Client _gthis2 = _gthis;
+HXDLIN( 919) ::borogove::AttachmentSource source2 = source;
+HXDLIN( 919) ::Array< ::Dynamic> _hx_tmp1 = services->slice(1,null());
+HXDLIN( 919) _gthis2->prepareAttachmentFor(source2,_hx_tmp1,hashes,callback);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 914) ::Dynamic url = ::tink::_Url::Url_Impl__obj::fromString(( (::String)(slot->__Field(HX_("put",cf,62,55,00),::hx::paccDynamic)) ));
+HXDLIN( 914) ::Array< ::Dynamic> slot1 = ( (::Array< ::Dynamic>)(slot->__Field(HX_("putHeaders",37,9f,1e,a4),::hx::paccDynamic)) );
+HXDLIN( 914) ::String options = HX_("Content-Length",fa,f8,b6,65).toLowerCase();
+HXDLIN( 914) ::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( 914) ::String name = source->name;
+HXDLIN( 914) ::haxe::io::Input input = ::sys::io::File_obj::read(source->path,null());
+HXDLIN( 914) ::Dynamic options2 = null();
+HXDLIN( 914) options2 = ::Dynamic(::hx::Anon_obj::Create(0));
+HXDLIN( 914) ::Dynamic options3 = ::tink::io::_Worker::Worker_Impl__obj::ensure( ::Dynamic(options2->__Field(HX_("worker",7e,30,9e,c9),::hx::paccDynamic)));
+HXDLIN( 914) ::Dynamic _g = options2->__Field(HX_("chunkSize",ce,cd,77,9f),::hx::paccDynamic);
+HXDLIN( 914) int options4;
+HXDLIN( 914) if (::hx::IsNull( _g )) {
+HXLINE( 914) options4 = 65536;
+ }
+ else {
+HXLINE( 914) options4 = ( (int)(_g) );
+ }
+HXDLIN( 914) ::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_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_902_prepareAttachmentFor)
+HXDLIN( 902) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 903) if ((services->length < 1)) {
+HXLINE( 904) ::haxe::Log_obj::trace(HX_("No HTTP upload service found",d1,5a,61,46),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),904,HX_("borogove.Client",18,dc,e6,c0),HX_("prepareAttachmentFor",df,5c,bf,82)));
+HXLINE( 905) callback(null());
+HXLINE( 906) return;
+ }
+HXLINE( 908) ::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( 909) httpUploadSlot->onFinished( ::Dynamic(new _hx_Closure_2(source,_gthis,hashes,services,httpUploadSlot,callback)));
+HXLINE( 923) this->sendQuery(httpUploadSlot);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Client_obj,prepareAttachmentFor,(void))
+
+::Array< ::Dynamic> Client_obj::getChats(){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_930_getChats)
+HXDLIN( 930) ::Array< ::Dynamic> _this = this->chats;
+HXDLIN( 930) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 930) {
+HXDLIN( 930) int _g1 = 0;
+HXDLIN( 930) while((_g1 < _this->length)){
+HXDLIN( 930) ::borogove::Chat v = _this->__get(_g1).StaticCast< ::borogove::Chat >();
+HXDLIN( 930) _g1 = (_g1 + 1);
+HXDLIN( 930) if ((v->uiState != 2)) {
+HXDLIN( 930) _g->push(v);
+ }
+ }
+ }
+HXDLIN( 930) return _g;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Client_obj,getChats,return )
+
+size_t Client_obj::getChats__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_311_getChats__fromC)
+HXDLIN( 311) ::Array< ::Dynamic> out = this->getChats();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) {
+HXDLIN( 311) int _g = 0;
+HXDLIN( 311) while((_g < out->length)){
+HXDLIN( 311) ::borogove::Chat el = out->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN( 311) _g = (_g + 1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic haxeObject = el;
+HXDLIN( 311) void* ptr = haxeObject.mPtr;
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXDLIN( 311) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)out->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXDLIN( 311) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),out));
+HXDLIN( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+void Client_obj::findAvailableChats(::String q, ::Dynamic callback){
+ HX_BEGIN_LOCAL_FUNC_S6(::hx::LocalFunc,_hx_Closure_2, ::borogove::Client,_gthis,::String,q,::Array< ::Dynamic>,callback1,::Array< ::Dynamic>,results,::String,query, ::haxe::ds::StringMap,haveJid) HXARGC(2)
+ void _hx_run( ::borogove::JID jid, ::Dynamic __o_prepend){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::Array< ::Dynamic>,results,bool,prepend) HXARGC(1)
+ void _hx_run( ::borogove::AvailableChat item){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_947_findAvailableChats)
+HXLINE( 947) if (prepend) {
+HXLINE( 947) results->unshift(item);
+ }
+ else {
+HXLINE( 947) results->push(item);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_BEGIN_LOCAL_FUNC_S8(::hx::LocalFunc,_hx_Closure_1,::String,q, ::borogove::Client,_gthis,::Array< ::Dynamic>,callback1,::Array< ::Dynamic>,results, ::Dynamic,add,::String,query, ::borogove::queries::DiscoInfoGet,discoGet, ::borogove::JID,jid) HXARGC(0)
+ void _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_949_findAvailableChats)
+HXLINE( 950) ::borogove::Caps resultCaps = discoGet->getResult();
+HXLINE( 951) if (::hx::IsNull( resultCaps )) {
+HXLINE( 952) ::borogove::Stanza tmp = discoGet->responseStanza;
+HXDLIN( 952) ::borogove::Stanza tmp1;
+HXDLIN( 952) if (::hx::IsNotNull( tmp )) {
+HXLINE( 952) tmp1 = tmp->getChild(HX_("error",c8,cb,29,73),null());
+ }
+ else {
+HXLINE( 952) tmp1 = null();
+ }
+HXDLIN( 952) ::borogove::Stanza err;
+HXDLIN( 952) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 952) err = tmp1->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
+ }
+ else {
+HXLINE( 952) err = null();
+ }
+HXLINE( 953) bool checkAndAdd;
+HXDLIN( 953) bool checkAndAdd1;
+HXDLIN( 953) if (::hx::IsNotNull( err )) {
+HXLINE( 953) ::String checkAndAdd2;
+HXDLIN( 953) if (::hx::IsNotNull( err )) {
+HXLINE( 953) checkAndAdd2 = err->name;
+ }
+ else {
+HXLINE( 953) checkAndAdd2 = null();
+ }
+HXDLIN( 953) checkAndAdd1 = (checkAndAdd2 == HX_("service-unavailable",f8,3c,11,1c));
+ }
+ else {
+HXLINE( 953) checkAndAdd1 = true;
+ }
+HXDLIN( 953) if (!(checkAndAdd1)) {
+HXLINE( 953) ::String checkAndAdd3;
+HXDLIN( 953) if (::hx::IsNotNull( err )) {
+HXLINE( 953) checkAndAdd3 = err->name;
+ }
+ else {
+HXLINE( 953) checkAndAdd3 = null();
+ }
+HXDLIN( 953) checkAndAdd = (checkAndAdd3 == HX_("feature-not-implemented",71,20,2e,96));
+ }
+ else {
+HXLINE( 953) checkAndAdd = true;
+ }
+HXDLIN( 953) if (checkAndAdd) {
+HXLINE( 954) ::Dynamic add1 = add;
+HXDLIN( 954) ::String checkAndAdd4 = jid->asString();
+HXDLIN( 954) ::String checkAndAdd5;
+HXDLIN( 954) if (::hx::IsNull( jid->node )) {
+HXLINE( 954) checkAndAdd5 = query;
+ }
+ else {
+HXLINE( 954) checkAndAdd5 = jid->node;
+ }
+HXDLIN( 954) ::String checkAndAdd6 = jid->asString();
+HXDLIN( 954) add1( ::borogove::AvailableChat_obj::__alloc( HX_CTX ,checkAndAdd4,checkAndAdd5,checkAndAdd6, ::borogove::Caps_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::__new(0),::Array_obj< ::Dynamic>::__new(0),null())));
+ }
+ }
+ else {
+HXLINE( 957) ::borogove::Persistence_obj::storeCaps(_gthis->persistence,resultCaps);
+HXLINE( 958) ::borogove::Identity identity = resultCaps->identities->__get(0).StaticCast< ::borogove::Identity >();
+HXLINE( 959) ::String displayName;
+HXDLIN( 959) ::String tmp2;
+HXDLIN( 959) if (::hx::IsNotNull( identity )) {
+HXLINE( 959) tmp2 = identity->name;
+ }
+ else {
+HXLINE( 959) tmp2 = null();
+ }
+HXDLIN( 959) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 959) displayName = tmp2;
+ }
+ else {
+HXLINE( 959) displayName = query;
+ }
+HXLINE( 960) ::String note = jid->asString();
+HXDLIN( 960) ::String note1;
+HXDLIN( 960) if (::hx::IsNull( identity )) {
+HXLINE( 960) note1 = HX_("",00,00,00,00);
+ }
+ else {
+HXLINE( 960) note1 = ((HX_(" (",08,1c,00,00) + identity->type) + HX_(")",29,00,00,00));
+ }
+HXLINE( 961) ::Dynamic add2 = add;
+HXDLIN( 961) add2( ::borogove::AvailableChat_obj::__alloc( HX_CTX ,jid->asString(),displayName,(note + note1),resultCaps));
+ }
+HXLINE( 963) bool checkAndAdd7;
+HXDLIN( 963) if (::hx::IsNotNull( callback1->__get(0) )) {
+HXLINE( 963) checkAndAdd7 = ( (bool)(callback1->__get(0)(q,results)) );
+ }
+ else {
+HXLINE( 963) checkAndAdd7 = false;
+ }
+HXDLIN( 963) if (checkAndAdd7) {
+HXLINE( 963) callback1[0] = null();
+ }
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ bool prepend = __o_prepend.Default(false);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_943_findAvailableChats)
+HXLINE( 944) ::String key = jid->asString();
+HXDLIN( 944) if (haveJid->get_bool(key)) {
+HXLINE( 944) return;
+ }
+HXLINE( 945) {
+HXLINE( 945) ::String k = jid->asString();
+HXDLIN( 945) haveJid->set(k,true);
+ }
+HXLINE( 947) ::Dynamic add = ::Dynamic(new _hx_Closure_0(results,prepend));
+HXLINE( 948) ::borogove::queries::DiscoInfoGet discoGet = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,jid->asString(),null());
+HXLINE( 949) discoGet->onFinished( ::Dynamic(new _hx_Closure_1(q,_gthis,callback1,results,add,query,discoGet,jid)));
+HXLINE( 965) _gthis->sendQuery(discoGet);
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_939_findAvailableChats)
+HXDLIN( 939) ::Array< ::Dynamic> callback1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,callback);
+HXDLIN( 939) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 940) ::haxe::ds::StringMap haveJid = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 941) ::Array< ::Dynamic> results = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 942) ::String query = ::StringTools_obj::trim(q);
+HXLINE( 943) ::Dynamic checkAndAdd = ::Dynamic(new _hx_Closure_2(_gthis,q,callback1,results,query,haveJid));
+HXLINE( 967) ::EReg vcard_regex = ::EReg_obj::__alloc( HX_CTX ,HX_("\nIMPP[^:]*:xmpp:(.+)\n",e5,d9,ac,c6),HX_("",00,00,00,00));
+HXLINE( 968) ::borogove::JID jid;
+HXDLIN( 968) if (::StringTools_obj::startsWith(query,HX_("xmpp:",65,3c,77,60))) {
+HXLINE( 969) ::Array< ::String > parts = query.substr(5,null()).split(HX_("?",3f,00,00,00));
+HXLINE( 968) jid = ::borogove::JID_obj::parse(::borogove::_Util::Util_Fields__obj::uriDecode(parts->__get(0)));
+ }
+ else {
+HXLINE( 971) bool jid1;
+HXDLIN( 971) if (::StringTools_obj::startsWith(query,HX_("BEGIN:VCARD",75,85,ee,6a))) {
+HXLINE( 971) jid1 = vcard_regex->match(query);
+ }
+ else {
+HXLINE( 971) jid1 = false;
+ }
+HXDLIN( 971) if (jid1) {
+HXLINE( 972) ::Array< ::String > parts1 = vcard_regex->matched(1).split(HX_("?",3f,00,00,00));
+HXLINE( 968) jid = ::borogove::JID_obj::parse(::borogove::_Util::Util_Fields__obj::uriDecode(parts1->__get(0)));
+ }
+ else {
+HXLINE( 974) if (::StringTools_obj::startsWith(query,HX_("https://",cf,b4,ae,3e))) {
+HXLINE( 975) ::Array< ::String > hashParts = query.split(HX_("#",23,00,00,00));
+HXLINE( 976) if ((hashParts->length > 1)) {
+HXLINE( 968) jid = ::borogove::JID_obj::parse(::borogove::_Util::Util_Fields__obj::uriDecode(hashParts->__get(1)));
+ }
+ else {
+HXLINE( 979) ::Array< ::String > pathParts = hashParts->__get(0).split(HX_("/",2f,00,00,00));
+HXLINE( 968) jid = ::borogove::JID_obj::parse(::borogove::_Util::Util_Fields__obj::uriDecode(pathParts->__get((pathParts->length - 1))));
+ }
+ }
+ else {
+HXLINE( 968) jid = ::borogove::JID_obj::parse(query);
+ }
+ }
+ }
+HXLINE( 985) if (jid->isValid()) {
+HXLINE( 986) checkAndAdd(jid,true);
+ }
+HXLINE( 989) if (::StringTools_obj::startsWith(query,HX_("https://",cf,b4,ae,3e))) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::Dynamic,checkAndAdd) HXARGC(1)
+ void _hx_run(::String xmppUri){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_990_findAvailableChats)
+HXLINE( 991) ::Array< ::String > parts = xmppUri.substr(5,null()).split(HX_("?",3f,00,00,00));
+HXLINE( 992) ::borogove::JID jid = ::borogove::JID_obj::parse(::borogove::_Util::Util_Fields__obj::uriDecode(parts->__get(0)));
+HXLINE( 993) if (jid->isValid()) {
+HXLINE( 993) checkAndAdd(jid,true);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 990) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::_Util::Util_Fields__obj::xmppLinkHeader(query), ::Dynamic(new _hx_Closure_3(checkAndAdd)),null());
+ }
+HXLINE( 997) {
+HXLINE( 997) int _g = 0;
+HXDLIN( 997) ::Array< ::Dynamic> _g1 = this->chats;
+HXDLIN( 997) while((_g < _g1->length)){
+HXLINE( 997) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN( 997) _g = (_g + 1);
+HXLINE( 998) ::String chat1 = chat->chatId;
+HXDLIN( 998) if ((chat1 != jid->asBare()->asString())) {
+HXLINE( 999) bool _hx_tmp;
+HXDLIN( 999) ::String s = chat->chatId;
+HXDLIN( 999) if ((s.indexOf(query.toLowerCase(),null()) == -1)) {
+HXLINE( 999) ::String s1 = chat->getDisplayName().toLowerCase();
+HXDLIN( 999) _hx_tmp = (s1.indexOf(query.toLowerCase(),null()) != -1);
+ }
+ else {
+HXLINE( 999) _hx_tmp = true;
+ }
+HXDLIN( 999) if (_hx_tmp) {
+HXLINE(1000) ::borogove::Channel channel = ( ( ::borogove::Channel)(::borogove::_Util::Util_Fields__obj::downcast(chat,::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE(1001) ::Array< ::Dynamic> results1 = results;
+HXDLIN(1001) ::String chat2 = chat->chatId;
+HXDLIN(1001) ::String _hx_tmp1 = chat->getDisplayName();
+HXDLIN(1001) ::String chat3 = chat->chatId;
+HXDLIN(1001) ::borogove::Caps _hx_tmp2;
+HXDLIN(1001) bool _hx_tmp3;
+HXDLIN(1001) if (::hx::IsNotNull( channel )) {
+HXLINE(1001) _hx_tmp3 = ::hx::IsNull( channel->disco );
+ }
+ else {
+HXLINE(1001) _hx_tmp3 = true;
+ }
+HXDLIN(1001) if (_hx_tmp3) {
+HXLINE(1001) _hx_tmp2 = ::borogove::Caps_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::__new(0),::Array_obj< ::Dynamic>::__new(0),null());
+ }
+ else {
+HXLINE(1001) _hx_tmp2 = channel->disco;
+ }
+HXDLIN(1001) results1->push( ::borogove::AvailableChat_obj::__alloc( HX_CTX ,chat2,_hx_tmp1,chat3,_hx_tmp2));
+ }
+ }
+HXLINE(1004) if (chat->isTrusted()) {
+HXLINE(1005) ::haxe::ds::StringMap resources = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(1006) {
+HXLINE(1006) int _g2 = 0;
+HXDLIN(1006) ::Array< ::String > _g3 = ::borogove::Caps_obj::withIdentity(chat->getCaps(),HX_("gateway",04,40,59,91),null());
+HXDLIN(1006) while((_g2 < _g3->length)){
+HXLINE(1006) ::String resource = _g3->__get(_g2);
+HXDLIN(1006) _g2 = (_g2 + 1);
+HXLINE(1008) ::Array< ::Dynamic> identities;
+HXDLIN(1008) ::borogove::Caps tmp = chat->getResourceCaps(resource);
+HXDLIN(1008) ::Array< ::Dynamic> tmp1;
+HXDLIN(1008) if (::hx::IsNotNull( tmp )) {
+HXLINE(1008) tmp1 = tmp->identities;
+ }
+ else {
+HXLINE(1008) tmp1 = null();
+ }
+HXDLIN(1008) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1008) identities = tmp1;
+ }
+ else {
+HXLINE(1008) identities = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXLINE(1010) bool _hx_tmp4;
+HXDLIN(1010) bool _hx_tmp5;
+HXDLIN(1010) if ((chat->chatId.indexOf(HX_("@",40,00,00,00),null()) >= 0)) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_4) HXARGC(1)
+ bool _hx_run( ::borogove::Identity i){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1010_findAvailableChats)
+HXLINE(1010) return (i->category == HX_("conference",1c,2b,83,41));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1010) _hx_tmp5 = ::hx::IsNull( ::Lambda_obj::find(identities, ::Dynamic(new _hx_Closure_4())) );
+ }
+ else {
+HXLINE(1010) _hx_tmp5 = true;
+ }
+HXDLIN(1010) if (_hx_tmp5) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_5) HXARGC(1)
+ bool _hx_run( ::borogove::Identity i){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1011_findAvailableChats)
+HXLINE(1011) return (i->category == HX_("client",4b,ca,4f,0a));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1010) _hx_tmp4 = ::hx::IsNull( ::Lambda_obj::find(identities, ::Dynamic(new _hx_Closure_5())) );
+ }
+ else {
+HXLINE(1010) _hx_tmp4 = false;
+ }
+HXLINE(1009) if (_hx_tmp4) {
+HXLINE(1013) resources->set(resource,true);
+ }
+ }
+ }
+HXLINE(1020) bool _hx_tmp6;
+HXDLIN(1020) if (!(this->sendAvailable)) {
+HXLINE(1020) _hx_tmp6 = ::borogove::JID_obj::parse(chat->chatId)->isDomain();
+ }
+ else {
+HXLINE(1020) _hx_tmp6 = false;
+ }
+HXDLIN(1020) if (_hx_tmp6) {
+HXLINE(1021) ::String k = null();
+HXDLIN(1021) resources->set(k,true);
+ }
+HXLINE(1023) {
+HXLINE(1023) ::Dynamic resource1 = resources->keys();
+HXDLIN(1023) while(( (bool)(resource1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+ HX_BEGIN_LOCAL_FUNC_S6(::hx::LocalFunc,_hx_Closure_6, ::borogove::queries::JabberIqGatewayGet,jigGet1,::String,query, ::borogove::JID,bareJid, ::borogove::Chat,chat,::String,resource2, ::Dynamic,checkAndAdd) HXARGC(0)
+ void _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1028_findAvailableChats)
+HXLINE(1028) if (::hx::IsNull( jigGet1->getResult() )) {
+HXLINE(1029) ::borogove::Caps caps = chat->getResourceCaps(resource2);
+HXLINE(1030) bool _hx_tmp;
+HXDLIN(1030) if (bareJid->isDomain()) {
+HXLINE(1030) _hx_tmp = caps->features->contains(HX_("jid\\20escaping",73,c5,d2,4a));
+ }
+ else {
+HXLINE(1030) _hx_tmp = false;
+ }
+HXDLIN(1030) if (_hx_tmp) {
+HXLINE(1031) ::Dynamic checkAndAdd1 = checkAndAdd;
+HXDLIN(1031) checkAndAdd1( ::borogove::JID_obj::__alloc( HX_CTX ,query,bareJid->domain,null(),null()),null());
+ }
+ else {
+HXLINE(1032) if (bareJid->isDomain()) {
+HXLINE(1033) ::Dynamic checkAndAdd2 = checkAndAdd;
+HXDLIN(1033) ::String _hx_tmp1 = ::StringTools_obj::replace(query,HX_("@",40,00,00,00),HX_("%",25,00,00,00));
+HXDLIN(1033) checkAndAdd2( ::borogove::JID_obj::__alloc( HX_CTX ,_hx_tmp1,bareJid->domain,null(),null()),null());
+ }
+ }
+ }
+ else {
+HXLINE(1036) ::haxe::ds::Either _g = jigGet1->getResult();
+HXDLIN(1036) switch((int)(_g->_hx_getIndex())){
+ case (int)0: {
+HXLINE(1037) return;
+ }
+ break;
+ case (int)1: {
+HXLINE(1039) ::Dynamic checkAndAdd3 = checkAndAdd;
+HXDLIN(1039) checkAndAdd3(::borogove::JID_obj::parse(( (::String)(_g->_hx_getObject(0)) )),null());
+ }
+ break;
+ }
+ }
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+HXLINE(1023) ::String resource2 = ( (::String)(resource1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXLINE(1024) ::borogove::JID bareJid = ::borogove::JID_obj::parse(chat->chatId);
+HXLINE(1025) ::String bareJid1 = bareJid->node;
+HXDLIN(1025) ::String bareJid2 = bareJid->domain;
+HXDLIN(1025) ::String fullJid;
+HXDLIN(1025) bool fullJid1;
+HXDLIN(1025) if (bareJid->isDomain()) {
+HXLINE(1025) fullJid1 = (resource2 == HX_("",00,00,00,00));
+ }
+ else {
+HXLINE(1025) fullJid1 = false;
+ }
+HXDLIN(1025) if (fullJid1) {
+HXLINE(1025) fullJid = null();
+ }
+ else {
+HXLINE(1025) fullJid = resource2;
+ }
+HXLINE(1026) ::String jigGet = ::borogove::JID_obj::__alloc( HX_CTX ,bareJid1,bareJid2,fullJid,null())->asString();
+HXDLIN(1026) ::borogove::queries::JabberIqGatewayGet jigGet1 = ::borogove::queries::JabberIqGatewayGet_obj::__alloc( HX_CTX ,jigGet,query);
+HXLINE(1027) jigGet1->onFinished( ::Dynamic(new _hx_Closure_6(jigGet1,query,bareJid,chat,resource2,checkAndAdd)));
+HXLINE(1043) this->sendQuery(jigGet1);
+ }
+ }
+ }
+ }
+ }
+HXLINE(1047) bool _hx_tmp7;
+HXDLIN(1047) if (!(jid->isValid())) {
+HXLINE(1047) _hx_tmp7 = (results->length > 0);
+ }
+ else {
+HXLINE(1047) _hx_tmp7 = false;
+ }
+HXDLIN(1047) if (_hx_tmp7) {
+HXLINE(1048) bool _hx_tmp8;
+HXDLIN(1048) if (::hx::IsNotNull( callback1->__get(0) )) {
+HXLINE(1048) _hx_tmp8 = ( (bool)(callback1->__get(0)(q,results)) );
+ }
+ else {
+HXLINE(1048) _hx_tmp8 = false;
+ }
+HXDLIN(1048) if (_hx_tmp8) {
+HXLINE(1048) callback1[0] = null();
+ }
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Client_obj,findAvailableChats,(void))
+
+void Client_obj::findAvailableChats__fromC(::String q,::cpp::Function< bool (const char*,void**,size_t,void*) > callback,void* callback__context){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,void*,callback__context,::cpp::Function< bool (const char* HX_COMMA void** HX_COMMA size_t HX_COMMA void*) >,callback) HXARGC(2)
+ bool _hx_run(::String a0,::Array< ::Dynamic> a1){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_255_findAvailableChats__fromC)
+HXLINE( 230) const char* cStrPtr = a0.utf8_str();
+HXDLIN( 230) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 230) {
+HXLINE( 230) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 230) if (::hx::IsNull( store )) {
+HXLINE( 230) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),a0));
+HXDLIN( 230) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 230) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 230) const char* x0 = cStrPtr;
+HXLINE( 226) {
+HXLINE( 226) int _g = 0;
+HXDLIN( 226) while((_g < a1->length)){
+HXLINE( 226) ::borogove::AvailableChat el = a1->__get(_g).StaticCast< ::borogove::AvailableChat >();
+HXDLIN( 226) _g = (_g + 1);
+HXDLIN( 226) {
+HXLINE( 226) ::Dynamic haxeObject = el;
+HXDLIN( 226) void* ptr = haxeObject.mPtr;
+HXDLIN( 226) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 226) {
+HXLINE( 226) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 226) if (::hx::IsNull( store1 )) {
+HXLINE( 226) store1 = ::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( 226) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXLINE( 226) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 226) void** ptr1 = (void**)a1->getBase();
+HXDLIN( 226) ::cpp::Int64 ptrInt642 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 226) {
+HXLINE( 226) ::Dynamic store2 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt642);
+HXDLIN( 226) if (::hx::IsNull( store2 )) {
+HXLINE( 226) store2 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),a1));
+HXDLIN( 226) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt642,store2);
+ }
+ else {
+HXLINE( 226) ::hx::FieldRef((store2).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 226) int xl1 = a1->length;
+HXLINE( 252) return callback(x0,ptr1,( (size_t)(xl1) ),callback__context);
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_findAvailableChats__fromC)
+HXDLIN( 315) this->findAvailableChats(q, ::Dynamic(new _hx_Closure_0(callback__context,callback)));
+ }
+
+
+ ::borogove::Chat Client_obj::startChat( ::borogove::AvailableChat availableChat){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1057_startChat)
+HXLINE(1058) ::borogove::Chat existingChat = this->getChat(availableChat->chatId);
+HXLINE(1059) if (::hx::IsNotNull( existingChat )) {
+HXLINE(1060) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(existingChat,::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE(1061) bool _hx_tmp;
+HXDLIN(1061) bool _hx_tmp1;
+HXDLIN(1061) if (::hx::IsNull( channel )) {
+HXLINE(1061) _hx_tmp1 = availableChat->isChannel();
+ }
+ else {
+HXLINE(1061) _hx_tmp1 = false;
+ }
+HXDLIN(1061) if (!(_hx_tmp1)) {
+HXLINE(1061) if (::hx::IsNotNull( channel )) {
+HXLINE(1061) _hx_tmp = !(availableChat->isChannel());
+ }
+ else {
+HXLINE(1061) _hx_tmp = false;
+ }
+ }
+ else {
+HXLINE(1061) _hx_tmp = true;
+ }
+HXDLIN(1061) if (_hx_tmp) {
+HXLINE(1062) ::Array< ::Dynamic> _this = this->chats;
+HXDLIN(1062) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(1062) {
+HXLINE(1062) int _g1 = 0;
+HXDLIN(1062) while((_g1 < _this->length)){
+HXLINE(1062) ::borogove::Chat v = _this->__get(_g1).StaticCast< ::borogove::Chat >();
+HXDLIN(1062) _g1 = (_g1 + 1);
+HXDLIN(1062) if ((v->chatId != availableChat->chatId)) {
+HXLINE(1062) _g->push(v);
+ }
+ }
+ }
+HXDLIN(1062) this->chats = _g;
+ }
+ else {
+HXLINE(1064) if ((existingChat->uiState == 2)) {
+HXLINE(1064) existingChat->uiState = 1;
+ }
+HXLINE(1065) if (::hx::IsNotNull( channel )) {
+HXLINE(1065) channel->selfPing(true);
+ }
+HXLINE(1066) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(1066) ::borogove::Persistence_obj::storeChats(_hx_tmp2,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,existingChat));
+HXLINE(1067) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,existingChat));
+HXLINE(1068) return existingChat;
+ }
+ }
+HXLINE(1072) ::borogove::Chat chat;
+HXDLIN(1072) if (availableChat->isChannel()) {
+HXLINE(1073) ::borogove::Channel channel1 = ::borogove::Channel_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),this->stream,this->persistence,availableChat->chatId,1,false,null(),null(),null(),availableChat->caps);
+HXLINE(1074) channel1->setupNotifications();
+HXLINE(1075) this->chats->unshift(channel1);
+HXLINE(1076) channel1->selfPing(false);
+HXLINE(1072) chat = channel1;
+ }
+ else {
+HXLINE(1072) chat = this->getDirectChat(availableChat->chatId,false);
+ }
+HXLINE(1081) ::Dynamic _hx_tmp3 = this->persistence;
+HXDLIN(1081) ::borogove::Persistence_obj::storeChats(_hx_tmp3,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
+HXLINE(1082) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
+HXLINE(1083) return chat;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,startChat,return )
+
+ ::borogove::Chat Client_obj::getChat(::String chatId){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1092_getChat)
+HXDLIN(1092) ::Array< ::Dynamic> it = this->chats;
+HXDLIN(1092) ::borogove::Chat result = null();
+HXDLIN(1092) {
+HXDLIN(1092) int _g = 0;
+HXDLIN(1092) while((_g < it->length)){
+HXDLIN(1092) ::borogove::Chat v = it->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN(1092) _g = (_g + 1);
+HXDLIN(1092) if ((v->chatId == chatId)) {
+HXDLIN(1092) result = v;
+HXDLIN(1092) goto _hx_goto_117;
+ }
+ }
+ _hx_goto_117:;
+ }
+HXDLIN(1092) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,getChat,return )
+
+::Dynamic Client_obj::moderateMessage( ::borogove::ModerationAction action){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis, ::borogove::ModerationAction,action) HXARGC(2)
+ 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_1098_moderateMessage)
+HXLINE(1099) if (::hx::IsNull( moderateMessage )) {
+HXLINE(1099) resolve(null());
+HXDLIN(1099) return;
+ }
+HXLINE(1100) {
+HXLINE(1100) int _g = 0;
+HXDLIN(1100) ::Array< ::Dynamic> _g1 = moderateMessage->attachments;
+HXDLIN(1100) while((_g < _g1->length)){
+HXLINE(1100) ::borogove::ChatAttachment attachment = _g1->__get(_g).StaticCast< ::borogove::ChatAttachment >();
+HXDLIN(1100) _g = (_g + 1);
+HXLINE(1101) {
+HXLINE(1101) int _g2 = 0;
+HXDLIN(1101) ::Array< ::Dynamic> _g3 = attachment->hashes;
+HXDLIN(1101) while((_g2 < _g3->length)){
+HXLINE(1101) ::borogove::Hash hash = _g3->__get(_g2).StaticCast< ::borogove::Hash >();
+HXDLIN(1101) _g2 = (_g2 + 1);
+HXLINE(1102) ::borogove::Persistence_obj::removeMedia(_gthis->persistence,hash->algorithm,hash->hash);
+ }
+ }
+ }
+ }
+HXLINE(1105) moderateMessage = ::borogove::ChatMessageBuilder_obj::makeModerated(moderateMessage,action->timestamp,action->moderatorId,action->reason);
+HXLINE(1106) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(1106) ::borogove::Persistence_obj::updateMessage(_gthis1,_gthis->accountId(),moderateMessage);
+HXLINE(1107) resolve(moderateMessage);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1098_moderateMessage)
+HXLINE(1098) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(1098) ::String _hx_tmp = _gthis->accountId();
+HXDLIN(1098) ::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_1096_moderateMessage)
+HXDLIN(1096) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1097) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,action)));
+ }
+
+
+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_1113_getDirectChat)
+HXLINE(1114) {
+HXLINE(1114) int _g = 0;
+HXDLIN(1114) ::Array< ::Dynamic> _g1 = this->chats;
+HXDLIN(1114) while((_g < _g1->length)){
+HXLINE(1114) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN(1114) _g = (_g + 1);
+HXLINE(1115) bool _hx_tmp;
+HXDLIN(1115) if (::Std_obj::isOfType(chat,::hx::ClassOf< ::borogove::DirectChat >())) {
+HXLINE(1115) _hx_tmp = (chat->chatId == chatId);
+ }
+ else {
+HXLINE(1115) _hx_tmp = false;
+ }
+HXDLIN(1115) if (_hx_tmp) {
+HXLINE(1116) return ( ( ::borogove::DirectChat)(::Std_obj::downcast(chat,::hx::ClassOf< ::borogove::DirectChat >())) );
+ }
+ }
+ }
+HXLINE(1119) ::borogove::DirectChat chat1 = ::borogove::DirectChat_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),this->stream,this->persistence,chatId,null(),null(),null(),null(),null(),null());
+HXLINE(1120) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN(1120) ::borogove::Persistence_obj::storeChats(_hx_tmp1,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat1));
+HXLINE(1121) this->chats->unshift(chat1);
+HXLINE(1122) if (triggerIfNew) {
+HXLINE(1122) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat1));
+ }
+HXLINE(1123) 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_1166_enablePush)
+HXLINE(1167) ::Array< ::String > _hx_tmp;
+HXDLIN(1167) if (::hx::IsNotNull( claims )) {
+HXLINE(1167) _hx_tmp = claims;
+ }
+ else {
+HXLINE(1167) _hx_tmp = ::Array_obj< ::String >::__new(0);
+ }
+HXDLIN(1167) 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)
+ ->setFixed(3,HX_("vapid_private_pkcs8",32,d7,0a,03),vapid_private_pkcs8)
+ ->setFixed(4,HX_("claims",77,1d,09,05),_hx_tmp)
+ ->setFixed(5,HX_("endpoint",95,d6,5f,31),endpoint)
+ ->setFixed(6,HX_("auth",68,df,76,40),auth));
+HXLINE(1169) ::Array< ::Dynamic> filters = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1170) {
+HXLINE(1170) int _g = 0;
+HXDLIN(1170) ::Array< ::Dynamic> _g1 = this->chats;
+HXDLIN(1170) while((_g < _g1->length)){
+HXLINE(1170) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN(1170) _g = (_g + 1);
+HXLINE(1171) if (chat->notificationsFiltered()) {
+HXLINE(1172) ::String chat1 = chat->chatId;
+HXDLIN(1172) bool _hx_tmp1 = chat->notifyMention();
+HXDLIN(1172) filters->push( ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("mention",ea,9e,bf,b9),_hx_tmp1)
+ ->setFixed(1,HX_("reply",2a,09,c6,e6),chat->notifyReply())
+ ->setFixed(2,HX_("jid",c5,ca,50,00),chat1)));
+ }
+ }
+ }
+HXLINE(1176) ::haxe::ds::StringMap _g2 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXDLIN(1176) _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(1177) {
+HXLINE(1177) int _g3 = 0;
+HXDLIN(1177) ::Array< ::String > _g4;
+HXDLIN(1177) if (::hx::IsNotNull( claims )) {
+HXLINE(1177) _g4 = claims;
+ }
+ else {
+HXLINE(1177) _g4 = ::Array_obj< ::String >::__new(0);
+ }
+HXDLIN(1177) int _g5 = _g4->length;
+HXDLIN(1177) while((_g3 < _g5)){
+HXLINE(1177) _g3 = (_g3 + 1);
+HXDLIN(1177) int i = (_g3 - 1);
+HXLINE(1178) if ((::hx::Mod(i,2) == 0)) {
+HXLINE(1179) _g2->set(claims->__get(i),claims->__get((i + 1)));
+ }
+ }
+ }
+HXLINE(1184) ::String _hx_tmp2 = this->jid->asBare()->asString();
+HXLINE(1189) ::String _hx_tmp3;
+HXDLIN(1189) if (::hx::IsNull( vapid_private_pkcs8 )) {
+HXLINE(1189) _hx_tmp3 = null();
+ }
+ else {
+HXLINE(1189) _hx_tmp3 = HX_("ES256",65,db,a8,f1);
+ }
+HXLINE(1190) ::haxe::io::Bytes _hx_tmp4;
+HXDLIN(1190) if (::hx::IsNull( vapid_private_pkcs8 )) {
+HXLINE(1190) _hx_tmp4 = null();
+ }
+ else {
+HXLINE(1190) _hx_tmp4 = ::haxe::io::Bytes_obj::ofData(vapid_private_pkcs8);
+ }
+HXLINE(1183) this->sendQuery( ::borogove::queries::Push2Enable_obj::__alloc( HX_CTX ,_hx_tmp2,push_service,endpoint,::haxe::io::Bytes_obj::ofData(p256dh),::haxe::io::Bytes_obj::ofData(auth),_hx_tmp3,_hx_tmp4,_g2,grace,filters));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC7(Client_obj,enablePush,(void))
+
+void Client_obj::enablePush__fromC(::String push_service,::String endpoint,::cpp::Pointer< unsigned char > p256dh,size_t p256dh__len,::cpp::Pointer< unsigned char > auth,size_t auth__len,int grace,::cpp::Pointer< unsigned char > vapid_private_pkcs8,size_t vapid_private_pkcs8__len,::cpp::Pointer< const char* > claims,size_t claims__len){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_enablePush__fromC)
+HXLINE( 265) ::Array< unsigned char > _hx_tmp;
+HXDLIN( 265) if (::hx::IsNull( p256dh )) {
+HXLINE( 265) _hx_tmp = null();
+ }
+ else {
+HXLINE( 265) ::cpp::Pointer< unsigned char > _this = p256dh->reinterpret();
+HXDLIN( 265) ::Array< unsigned char > result = ::Array_obj< unsigned char >::__new();
+HXDLIN( 265) ::cpp::Pointer< unsigned char > tmp = _this;
+HXDLIN( 265) result->setUnmanagedData(tmp,( (int)(p256dh__len) ));
+HXDLIN( 265) _hx_tmp = result->copy();
+ }
+HXDLIN( 265) ::Array< unsigned char > _hx_tmp1;
+HXDLIN( 265) if (::hx::IsNull( auth )) {
+HXLINE( 265) _hx_tmp1 = null();
+ }
+ else {
+HXLINE( 265) ::cpp::Pointer< unsigned char > _this1 = auth->reinterpret();
+HXDLIN( 265) ::Array< unsigned char > result1 = ::Array_obj< unsigned char >::__new();
+HXDLIN( 265) ::cpp::Pointer< unsigned char > tmp1 = _this1;
+HXDLIN( 265) result1->setUnmanagedData(tmp1,( (int)(auth__len) ));
+HXDLIN( 265) _hx_tmp1 = result1->copy();
+ }
+HXDLIN( 265) ::Array< unsigned char > _hx_tmp2;
+HXDLIN( 265) if (::hx::IsNull( vapid_private_pkcs8 )) {
+HXLINE( 265) _hx_tmp2 = null();
+ }
+ else {
+HXLINE( 265) ::cpp::Pointer< unsigned char > _this2 = vapid_private_pkcs8->reinterpret();
+HXDLIN( 265) ::Array< unsigned char > result2 = ::Array_obj< unsigned char >::__new();
+HXDLIN( 265) ::cpp::Pointer< unsigned char > tmp2 = _this2;
+HXDLIN( 265) result2->setUnmanagedData(tmp2,( (int)(vapid_private_pkcs8__len) ));
+HXDLIN( 265) _hx_tmp2 = result2->copy();
+ }
+HXLINE( 263) ::Array< ::String > _hx_tmp3;
+HXDLIN( 263) if (::hx::IsNull( claims )) {
+HXLINE( 263) _hx_tmp3 = null();
+ }
+ else {
+HXLINE( 263) ::cpp::Pointer< ::cpp::Pointer< char > > _this3 = claims->reinterpret();
+HXDLIN( 263) ::Array< ::cpp::Pointer< char > > result3 = ::Array_obj< ::cpp::Pointer< char > >::__new();
+HXDLIN( 263) ::cpp::Pointer< ::cpp::Pointer< char > > tmp3 = _this3;
+HXDLIN( 263) result3->setUnmanagedData(tmp3,( (int)(claims__len) ));
+HXDLIN( 263) ::Dynamic f = ::cpp::_NativeString::NativeString_Impl__obj::fromPointer_dyn();
+HXDLIN( 263) ::Array< ::String > result4 = ::Array_obj< ::String >::__new(result3->length);
+HXDLIN( 263) {
+HXLINE( 263) int _g = 0;
+HXDLIN( 263) int _g1 = result3->length;
+HXDLIN( 263) while((_g < _g1)){
+HXLINE( 263) _g = (_g + 1);
+HXDLIN( 263) int i = (_g - 1);
+HXDLIN( 263) {
+HXLINE( 263) ::cpp::Pointer< char > tmp4 = _hx_array_unsafe_get(result3,i);
+HXDLIN( 263) ::String inValue = ( (::String)(f(tmp4)) );
+HXDLIN( 263) result4->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 263) _hx_tmp3 = result4->copy();
+ }
+HXLINE( 315) this->enablePush(push_service,endpoint,_hx_tmp,_hx_tmp1,grace,_hx_tmp2,_hx_tmp3);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC11(Client_obj,enablePush__fromC,(void))
+
+void Client_obj::updatePushIfEnabled(){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1198_updatePushIfEnabled)
+HXLINE(1199) if (::hx::IsNull( this->enabledPushData )) {
+HXLINE(1199) return;
+ }
+HXLINE(1200) 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)) ));
+ }
+
+
+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_1210_addPasswordNeededListener)
+HXLINE(1211) handler(_gthis);
+HXLINE(1212) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1209_addPasswordNeededListener)
+HXDLIN(1209) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1210) return this->on(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(new _hx_Closure_0(_gthis,handler)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addPasswordNeededListener,return )
+
+int Client_obj::addPasswordNeededListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context){
+ 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::Client a0){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_255_addPasswordNeededListener__fromC)
+HXLINE( 234) ::Dynamic haxeObject = a0;
+HXDLIN( 234) void* ptr = haxeObject.mPtr;
+HXDLIN( 234) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 234) {
+HXLINE( 234) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 234) if (::hx::IsNull( store )) {
+HXLINE( 234) 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( 234) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 234) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 244) handler(ptr,handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addPasswordNeededListener__fromC)
+HXDLIN( 315) return this->addPasswordNeededListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+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_1223_addStatusOnlineListener)
+HXLINE(1224) handler();
+HXLINE(1225) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1223_addStatusOnlineListener)
+HXDLIN(1223) return this->on(HX_("status/online",10,05,0e,d2), ::Dynamic(new _hx_Closure_0(handler)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addStatusOnlineListener,return )
+
+int Client_obj::addStatusOnlineListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void*) >,handler,void*,handler__context) HXARGC(0)
+ void _hx_run(){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_244_addStatusOnlineListener__fromC)
+HXLINE( 244) handler(handler__context);
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addStatusOnlineListener__fromC)
+HXDLIN( 315) return this->addStatusOnlineListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+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_1236_addStatusOfflineListener)
+HXLINE(1237) handler();
+HXLINE(1238) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1236_addStatusOfflineListener)
+HXDLIN(1236) return this->on(HX_("status/offline",c6,eb,eb,54), ::Dynamic(new _hx_Closure_0(handler)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addStatusOfflineListener,return )
+
+int Client_obj::addStatusOfflineListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void*) >,handler,void*,handler__context) HXARGC(0)
+ void _hx_run(){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_244_addStatusOfflineListener__fromC)
+HXLINE( 244) handler(handler__context);
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addStatusOfflineListener__fromC)
+HXDLIN( 315) return this->addStatusOfflineListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+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_1249_addConnectionFailedListener)
+HXLINE(1250) handler();
+HXLINE(1251) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1249_addConnectionFailedListener)
+HXDLIN(1249) return this->stream->on(HX_("status/error",eb,19,84,6f), ::Dynamic(new _hx_Closure_0(handler)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addConnectionFailedListener,return )
+
+int Client_obj::addConnectionFailedListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void*) >,handler,void*,handler__context) HXARGC(0)
+ void _hx_run(){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_244_addConnectionFailedListener__fromC)
+HXLINE( 244) handler(handler__context);
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addConnectionFailedListener__fromC)
+HXDLIN( 315) return this->addConnectionFailedListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+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_1263_addTlsCheckListener)
+HXLINE(1263) 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_1262_addTlsCheckListener)
+HXDLIN(1262) return this->stream->on(HX_("tls/check",74,a0,4c,75), ::Dynamic(new _hx_Closure_0(handler)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addTlsCheckListener,return )
+
+int Client_obj::addTlsCheckListener__fromC(::cpp::Function< bool (const char*,const char**,size_t,void*) > handler,void* handler__context){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< bool (const char* HX_COMMA const char** HX_COMMA size_t HX_COMMA void*) >,handler,void*,handler__context) HXARGC(2)
+ bool _hx_run(::String a0,::Array< ::String > a1){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_255_addTlsCheckListener__fromC)
+HXLINE( 230) const char* cStrPtr = a0.utf8_str();
+HXDLIN( 230) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 230) {
+HXLINE( 230) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 230) if (::hx::IsNull( store )) {
+HXLINE(2192) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),a0));
+HXLINE( 230) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 230) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 230) const char* x0 = cStrPtr;
+HXLINE( 226) ::Array< size_t > arr = ::Array_obj< size_t >::__new(a1->length);
+HXDLIN( 226) {
+HXLINE( 226) int _g_current = 0;
+HXDLIN( 226) ::Array< ::String > _g_array = a1;
+HXDLIN( 226) while((_g_current < _g_array->length)){
+HXLINE( 226) ::String _g_value = _g_array->__get(_g_current);
+HXDLIN( 226) _g_current = (_g_current + 1);
+HXDLIN( 226) ::String el = _g_value;
+HXDLIN( 226) {
+HXLINE( 226) const char* cStrPtr1 = el.utf8_str();
+HXDLIN( 226) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(cStrPtr1);
+HXDLIN( 226) {
+HXLINE( 226) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 226) if (::hx::IsNull( store1 )) {
+HXLINE(2192) store1 = ::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( 226) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXLINE( 226) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 226) const char* ptr = cStrPtr1;
+HXDLIN( 226) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
+ }
+ }
+ }
+HXDLIN( 226) void** ptr1 = (void**)arr->getBase();
+HXDLIN( 226) ::cpp::Int64 ptrInt642 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 226) {
+HXLINE( 226) ::Dynamic store2 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt642);
+HXDLIN( 226) if (::hx::IsNull( store2 )) {
+HXLINE(2192) store2 = ::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( 226) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt642,store2);
+ }
+ else {
+HXLINE( 226) ::hx::FieldRef((store2).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 226) int xl1 = a1->length;
+HXLINE( 252) return handler(x0,( (const char**)(ptr1) ),( (size_t)(xl1) ),handler__context);
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addTlsCheckListener__fromC)
+HXDLIN( 315) return this->addTlsCheckListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+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_1293_addChatMessageListener)
+HXLINE(1294) handler( ::Dynamic(data->__Field(HX_("message",c7,35,11,9a),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("event",1a,c8,c4,75),::hx::paccDynamic)));
+HXLINE(1295) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1293_addChatMessageListener)
+HXDLIN(1293) return this->on(HX_("message/new",d8,fc,71,67), ::Dynamic(new _hx_Closure_0(handler)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addChatMessageListener,return )
+
+int Client_obj::addChatMessageListener__fromC(::cpp::Function< void (void*,int,void*) > handler,void* handler__context){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void* HX_COMMA int HX_COMMA void*) >,handler,void*,handler__context) HXARGC(2)
+ void _hx_run( ::borogove::ChatMessage a0,int a1){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_255_addChatMessageListener__fromC)
+HXLINE( 234) ::Dynamic haxeObject = a0;
+HXDLIN( 234) void* ptr = haxeObject.mPtr;
+HXDLIN( 234) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 234) {
+HXLINE( 234) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 234) if (::hx::IsNull( store )) {
+HXLINE( 234) 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( 234) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 234) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 244) handler(ptr,a1,handler__context);
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addChatMessageListener__fromC)
+HXDLIN( 315) return this->addChatMessageListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+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_1307_addSyncMessageListener)
+HXLINE(1308) handler(data);
+HXLINE(1309) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1307_addSyncMessageListener)
+HXDLIN(1307) return this->on(HX_("message/sync",e3,76,a8,1f), ::Dynamic(new _hx_Closure_0(handler)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addSyncMessageListener,return )
+
+int Client_obj::addSyncMessageListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context){
+ 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::ChatMessage a0){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_255_addSyncMessageListener__fromC)
+HXLINE( 234) ::Dynamic haxeObject = a0;
+HXDLIN( 234) void* ptr = haxeObject.mPtr;
+HXDLIN( 234) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 234) {
+HXLINE( 234) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 234) if (::hx::IsNull( store )) {
+HXLINE( 234) 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( 234) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 234) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 244) handler(ptr,handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addSyncMessageListener__fromC)
+HXDLIN( 315) return this->addSyncMessageListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+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)
+ ::borogove::EventResult _hx_run(::Array< ::Dynamic> data){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1323_addChatsUpdatedListener)
+HXLINE(1324) Float now = ( ::__time_stamp() * ( (Float)(1000) ));
+HXLINE(1325) if (::hx::IsNotNull( updateChatTimer->__get(0).StaticCast< ::haxe::Timer >() )) {
+HXLINE(1326) updateChatTimer->__get(0).StaticCast< ::haxe::Timer >()->stop();
+ }
+HXLINE(1328) {
+HXLINE(1328) int _g = 0;
+HXDLIN(1328) while((_g < data->length)){
+HXLINE(1328) ::borogove::Chat chat = data->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN(1328) _g = (_g + 1);
+HXLINE(1329) updateChatBuffer->set(chat->chatId,chat);
+ }
+ }
+HXLINE(1331) bool _hx_tmp;
+HXDLIN(1331) if (!((lastCall->__get(0) < 0))) {
+HXLINE(1331) _hx_tmp = ((now - lastCall->__get(0)) >= 500);
+ }
+ else {
+HXLINE(1331) _hx_tmp = true;
+ }
+HXDLIN(1331) 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_1333_addChatsUpdatedListener)
+HXLINE(1333) return _e->iterator();
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+HXLINE(1332) lastCall[0] = now;
+HXLINE(1333) ::Dynamic handler1 = handler;
+HXDLIN(1333) ::haxe::ds::StringMap _e = updateChatBuffer;
+HXDLIN(1333) 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(1334) updateChatTimer[0] = null();
+HXLINE(1335) 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)
+ 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_1339_addChatsUpdatedListener)
+HXLINE(1339) return _e->iterator();
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1337_addChatsUpdatedListener)
+HXLINE(1338) lastCall[0] = ( ::__time_stamp() * ( (Float)(1000) ));
+HXLINE(1339) ::Dynamic handler1 = handler;
+HXDLIN(1339) ::haxe::ds::StringMap _e = updateChatBuffer;
+HXDLIN(1339) 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(1340) updateChatTimer[0] = null();
+HXLINE(1341) updateChatBuffer->clear();
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+HXLINE(1337) updateChatTimer[0] = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_2(updateChatBuffer,updateChatTimer,handler,lastCall)),500);
+ }
+HXLINE(1344) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1319_addChatsUpdatedListener)
+HXLINE(1320) ::haxe::ds::StringMap updateChatBuffer = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(1321) ::Array< Float > lastCall = ::Array_obj< Float >::fromData( _hx_array_data_c0e6dc18_167,1);
+HXLINE(1322) ::Array< ::Dynamic> updateChatTimer = ::Array_obj< ::Dynamic>::__new(1)->init(0,null());
+HXLINE(1323) return this->on(HX_("chats/update",3d,8e,1d,14), ::Dynamic(new _hx_Closure_3(updateChatBuffer,updateChatTimer,handler,lastCall)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addChatsUpdatedListener,return )
+
+int Client_obj::addChatsUpdatedListener__fromC(::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context){
+ 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> a0){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_255_addChatsUpdatedListener__fromC)
+HXLINE( 226) {
+HXLINE( 226) int _g = 0;
+HXDLIN( 226) while((_g < a0->length)){
+HXLINE( 226) ::borogove::Chat el = a0->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN( 226) _g = (_g + 1);
+HXDLIN( 226) {
+HXLINE( 226) ::Dynamic haxeObject = el;
+HXDLIN( 226) void* ptr = haxeObject.mPtr;
+HXDLIN( 226) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 226) {
+HXLINE( 226) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 226) if (::hx::IsNull( store )) {
+HXLINE( 226) 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( 226) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 226) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 226) void** ptr1 = (void**)a0->getBase();
+HXDLIN( 226) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 226) {
+HXLINE( 226) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 226) if (::hx::IsNull( store1 )) {
+HXLINE( 226) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),a0));
+HXDLIN( 226) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXLINE( 226) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 226) int xl0 = a0->length;
+HXLINE( 244) handler(ptr1,( (size_t)(xl0) ),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addChatsUpdatedListener__fromC)
+HXDLIN( 315) return this->addChatsUpdatedListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+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_1356_addCallRingListener)
+HXLINE(1357) handler( ::Dynamic(data->__Field(HX_("session",56,17,98,93),::hx::paccDynamic)));
+HXLINE(1358) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1356_addCallRingListener)
+HXDLIN(1356) return this->on(HX_("call/ring",01,8e,91,54), ::Dynamic(new _hx_Closure_0(handler)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addCallRingListener,return )
+
+int Client_obj::addCallRingListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context){
+ 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(::Dynamic a0){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_255_addCallRingListener__fromC)
+HXLINE( 234) ::Dynamic haxeObject = a0;
+HXDLIN( 234) void* ptr = haxeObject.mPtr;
+HXDLIN( 234) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 234) {
+HXLINE( 234) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 234) if (::hx::IsNull( store )) {
+HXLINE( 234) 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( 234) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 234) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 244) handler(ptr,handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addCallRingListener__fromC)
+HXDLIN( 315) return this->addCallRingListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+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_1369_addCallRetractListener)
+HXLINE(1370) handler( ::Dynamic(data->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("sid",0e,9f,57,00),::hx::paccDynamic)));
+HXLINE(1371) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1369_addCallRetractListener)
+HXDLIN(1369) return this->on(HX_("call/retract",50,bc,8d,db), ::Dynamic(new _hx_Closure_0(handler)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addCallRetractListener,return )
+
+int Client_obj::addCallRetractListener__fromC(::cpp::Function< void (const char*,const char*,void*) > handler,void* handler__context){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (const char* HX_COMMA const char* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(2)
+ void _hx_run(::String a0,::String a1){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_255_addCallRetractListener__fromC)
+HXLINE( 230) const char* cStrPtr = a0.utf8_str();
+HXDLIN( 230) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 230) {
+HXLINE( 230) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 230) if (::hx::IsNull( store )) {
+HXLINE( 230) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),a0));
+HXDLIN( 230) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 230) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 230) const char* cStrPtr1 = a1.utf8_str();
+HXDLIN( 230) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(cStrPtr1);
+HXDLIN( 230) {
+HXLINE( 230) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 230) if (::hx::IsNull( store1 )) {
+HXLINE( 230) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),a1));
+HXDLIN( 230) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXLINE( 230) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 244) handler(cStrPtr,cStrPtr1,handler__context);
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addCallRetractListener__fromC)
+HXDLIN( 315) return this->addCallRetractListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+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_1382_addCallRingingListener)
+HXLINE(1383) handler(data);
+HXLINE(1384) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1382_addCallRingingListener)
+HXDLIN(1382) return this->on(HX_("call/ringing",81,75,54,f9), ::Dynamic(new _hx_Closure_0(handler)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addCallRingingListener,return )
+
+int Client_obj::addCallRingingListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context){
+ 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(::Dynamic a0){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_255_addCallRingingListener__fromC)
+HXLINE( 234) ::Dynamic haxeObject = a0;
+HXDLIN( 234) void* ptr = haxeObject.mPtr;
+HXDLIN( 234) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 234) {
+HXLINE( 234) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 234) if (::hx::IsNull( store )) {
+HXLINE( 234) 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( 234) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 234) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 244) handler(ptr,handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addCallRingingListener__fromC)
+HXDLIN( 315) return this->addCallRingingListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+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_1395_addCallUpdateStatusListener)
+HXLINE(1396) handler( ::Dynamic(data->__Field(HX_("session",56,17,98,93),::hx::paccDynamic)));
+HXLINE(1397) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1395_addCallUpdateStatusListener)
+HXDLIN(1395) return this->on(HX_("call/updateStatus",6c,f5,e6,ec), ::Dynamic(new _hx_Closure_0(handler)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addCallUpdateStatusListener,return )
+
+int Client_obj::addCallUpdateStatusListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context){
+ 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::calls::InitiatedSession a0){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_255_addCallUpdateStatusListener__fromC)
+HXLINE( 234) ::Dynamic haxeObject = a0;
+HXDLIN( 234) void* ptr = haxeObject.mPtr;
+HXDLIN( 234) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 234) {
+HXLINE( 234) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 234) if (::hx::IsNull( store )) {
+HXLINE( 234) 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( 234) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 234) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 244) handler(ptr,handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addCallUpdateStatusListener__fromC)
+HXDLIN( 315) return this->addCallUpdateStatusListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+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_1410_addCallMediaListener)
+HXLINE(1411) 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(1412) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1410_addCallMediaListener)
+HXDLIN(1410) return this->on(HX_("call/media",73,5d,1d,c7), ::Dynamic(new _hx_Closure_0(handler)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addCallMediaListener,return )
+
+int Client_obj::addCallMediaListener__fromC(::cpp::Function< void (void*,bool,bool,void*) > handler,void* handler__context){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void* HX_COMMA bool HX_COMMA bool HX_COMMA void*) >,handler,void*,handler__context) HXARGC(3)
+ void _hx_run( ::borogove::calls::InitiatedSession a0,bool a1,bool a2){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_255_addCallMediaListener__fromC)
+HXLINE( 234) ::Dynamic haxeObject = a0;
+HXDLIN( 234) void* ptr = haxeObject.mPtr;
+HXDLIN( 234) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 234) {
+HXLINE( 234) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 234) if (::hx::IsNull( store )) {
+HXLINE( 234) 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( 234) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 234) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 244) handler(ptr,a1,a2,handler__context);
+ }
+ HX_END_LOCAL_FUNC3((void))
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addCallMediaListener__fromC)
+HXDLIN( 315) return this->addCallMediaListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+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_1424_addCallTrackListener)
+HXLINE(1425) 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(1426) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1424_addCallTrackListener)
+HXDLIN(1424) return this->on(HX_("call/track",1a,e7,80,d7), ::Dynamic(new _hx_Closure_0(handler)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addCallTrackListener,return )
+
+int Client_obj::addCallTrackListener__fromC(::cpp::Function< void (void*,void*,void**,size_t,void*) > handler,void* handler__context){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void* HX_COMMA void* HX_COMMA void** HX_COMMA size_t HX_COMMA void*) >,handler,void*,handler__context) HXARGC(3)
+ void _hx_run( ::borogove::calls::InitiatedSession a0, ::borogove::calls::MediaStreamTrack a1,::Array< ::Dynamic> a2){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_255_addCallTrackListener__fromC)
+HXLINE( 234) ::Dynamic haxeObject = a0;
+HXDLIN( 234) void* ptr = haxeObject.mPtr;
+HXDLIN( 234) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 234) {
+HXLINE( 234) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 234) if (::hx::IsNull( store )) {
+HXLINE( 234) 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( 234) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 234) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 234) void* x0 = ptr;
+HXDLIN( 234) ::Dynamic haxeObject1 = a1;
+HXDLIN( 234) void* ptr1 = haxeObject1.mPtr;
+HXDLIN( 234) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 234) {
+HXLINE( 234) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 234) if (::hx::IsNull( store1 )) {
+HXLINE( 234) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),haxeObject1));
+HXDLIN( 234) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXLINE( 234) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 234) void* x1 = ptr1;
+HXLINE( 226) {
+HXLINE( 226) int _g = 0;
+HXDLIN( 226) while((_g < a2->length)){
+HXLINE( 226) ::borogove::calls::MediaStream el = a2->__get(_g).StaticCast< ::borogove::calls::MediaStream >();
+HXDLIN( 226) _g = (_g + 1);
+HXDLIN( 226) {
+HXLINE( 226) ::Dynamic haxeObject2 = el;
+HXDLIN( 226) void* ptr2 = haxeObject2.mPtr;
+HXDLIN( 226) ::cpp::Int64 ptrInt642 = reinterpret_cast<int64_t>(ptr2);
+HXDLIN( 226) {
+HXLINE( 226) ::Dynamic store2 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt642);
+HXDLIN( 226) if (::hx::IsNull( store2 )) {
+HXLINE( 226) store2 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),haxeObject2));
+HXDLIN( 226) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt642,store2);
+ }
+ else {
+HXLINE( 226) ::hx::FieldRef((store2).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 226) void** ptr3 = (void**)a2->getBase();
+HXDLIN( 226) ::cpp::Int64 ptrInt643 = reinterpret_cast<int64_t>(ptr3);
+HXDLIN( 226) {
+HXLINE( 226) ::Dynamic store3 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt643);
+HXDLIN( 226) if (::hx::IsNull( store3 )) {
+HXLINE( 226) store3 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),a2));
+HXDLIN( 226) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt643,store3);
+ }
+ else {
+HXLINE( 226) ::hx::FieldRef((store3).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 226) int xl2 = a2->length;
+HXLINE( 244) handler(x0,x1,ptr3,( (size_t)(xl2) ),handler__context);
+ }
+ HX_END_LOCAL_FUNC3((void))
+
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_315_addCallTrackListener__fromC)
+HXDLIN( 315) return this->addCallTrackListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
+ }
+
+
+void Client_obj::setInForeground(){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1434_setInForeground)
+HXLINE(1435) if (!(this->stream->csi)) {
+HXLINE(1435) return;
+ }
+HXLINE(1436) 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)))));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Client_obj,setInForeground,(void))
+
+void Client_obj::setNotInForeground(){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1442_setNotInForeground)
+HXLINE(1443) if (!(this->stream->csi)) {
+HXLINE(1443) return;
+ }
+HXLINE(1444) 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)))));
+ }
+
+
+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_1452_fetchMediaByHash)
+HXLINE(1452) 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_1452_fetchMediaByHash)
+HXLINE(1452) ::borogove::Client _gthis1 = _gthis;
+HXDLIN(1452) ::Array< ::Dynamic> hashes1 = hashes;
+HXDLIN(1452) return _gthis1->fetchMediaByHash(hashes1,counterparts->slice(1,null()));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1448_fetchMediaByHash)
+HXDLIN(1448) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1451) bool _hx_tmp;
+HXDLIN(1451) if ((hashes->length >= 1)) {
+HXLINE(1451) _hx_tmp = (counterparts->length < 1);
+ }
+ else {
+HXLINE(1451) _hx_tmp = true;
+ }
+HXDLIN(1451) if (_hx_tmp) {
+HXLINE(1451) return ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("no counterparts left",64,15,a4,38));
+ }
+HXLINE(1452) 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::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){
+ 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_1463_fetchMediaByHashOneCounterpart)
+HXLINE(1464) ::Dynamic r = q1->getResult();
+HXLINE(1465) if (::hx::IsNull( r )) {
+HXLINE(1466) 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_1468_fetchMediaByHashOneCounterpart)
+HXLINE(1468) resolve(null());
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(1468) ::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());
+ }
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1461_fetchMediaByHashOneCounterpart)
+HXLINE(1462) ::String q = counterpart->asString();
+HXDLIN(1462) ::borogove::queries::BoB q1 = ::borogove::queries::BoB_obj::forHash(q,hashes->__get(0).StaticCast< ::borogove::Hash >());
+HXLINE(1463) q1->onFinished( ::Dynamic(new _hx_Closure_1(_gthis,resolve,reject,q1)));
+HXLINE(1471) _gthis->sendQuery(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_1472_fetchMediaByHashOneCounterpart)
+HXLINE(1472) 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_1472_fetchMediaByHashOneCounterpart)
+HXLINE(1472) ::borogove::Client _gthis1 = _gthis;
+HXDLIN(1472) ::Array< ::Dynamic> _hx_tmp = hashes->slice(1,null());
+HXDLIN(1472) return _gthis1->fetchMediaByHashOneCounterpart(_hx_tmp,counterpart);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1458_fetchMediaByHashOneCounterpart)
+HXLINE(1459) if (has) {
+HXLINE(1459) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+HXLINE(1461) 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_1455_fetchMediaByHashOneCounterpart)
+HXDLIN(1455) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1456) if ((hashes->length < 1)) {
+HXLINE(1456) return ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("no hashes left",8c,68,e6,69));
+ }
+HXLINE(1458) 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());
+ }
+
+
+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_1484_chatActivity)
+HXLINE(1484) return (c->chatId == chat->chatId);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ bool trigger = __o_trigger.Default(true);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1477_chatActivity)
+HXLINE(1478) if (chat->isBlocked) {
+HXLINE(1478) return;
+ }
+HXLINE(1479) if ((chat->uiState == 2)) {
+HXLINE(1480) chat->uiState = 1;
+HXLINE(1481) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(1481) ::String _hx_tmp1 = this->accountId();
+HXDLIN(1481) ::borogove::Persistence_obj::storeChats(_hx_tmp,_hx_tmp1,::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
+ }
+HXLINE(1483) int pinnedCount;
+HXDLIN(1483) if ((chat->uiState == 0)) {
+HXLINE(1483) 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_1483_chatActivity)
+HXLINE(1483) int pinnedCount;
+HXDLIN(1483) if ((item->uiState == 0)) {
+HXLINE(1483) pinnedCount = 1;
+ }
+ else {
+HXLINE(1483) pinnedCount = 0;
+ }
+HXDLIN(1483) return (result + pinnedCount);
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXLINE(1483) pinnedCount = ( (int)(::Lambda_obj::fold(this->chats, ::Dynamic(new _hx_Closure_0()),0)) );
+ }
+HXLINE(1484) int idx = ::Lambda_obj::findIndex(this->chats, ::Dynamic(new _hx_Closure_1(chat)));
+HXLINE(1485) if ((idx > pinnedCount)) {
+HXLINE(1486) this->chats->removeRange(idx,1);
+HXLINE(1487) this->chats->insert(pinnedCount,chat);
+ }
+HXLINE(1489) if (trigger) {
+HXLINE(1489) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
+ }
+ }
+
+
+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_1495_sortChats)
+HXLINE(1495) if ((a->uiState == b->uiState)) {
+HXLINE(1496) ::borogove::ChatMessage tmp = a->lastMessage;
+HXDLIN(1496) ::String tmp1;
+HXDLIN(1496) if (::hx::IsNotNull( tmp )) {
+HXLINE(1496) tmp1 = tmp->timestamp;
+ }
+ else {
+HXLINE(1496) tmp1 = null();
+ }
+HXDLIN(1496) ::String tcompare;
+HXDLIN(1496) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1496) tcompare = tmp1;
+ }
+ else {
+HXLINE(1496) tcompare = HX_("0",30,00,00,00);
+ }
+HXDLIN(1496) ::borogove::ChatMessage tmp2 = b->lastMessage;
+HXDLIN(1496) ::String tmp3;
+HXDLIN(1496) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(1496) tmp3 = tmp2->timestamp;
+ }
+ else {
+HXLINE(1496) tmp3 = null();
+ }
+HXDLIN(1496) ::String tcompare1;
+HXDLIN(1496) if (::hx::IsNotNull( tmp3 )) {
+HXLINE(1496) tcompare1 = tmp3;
+ }
+ else {
+HXLINE(1496) tcompare1 = HX_("0",30,00,00,00);
+ }
+HXDLIN(1496) int tcompare2 = -(::Reflect_obj::compare(tcompare,tcompare1));
+HXLINE(1497) if ((tcompare2 != 0)) {
+HXLINE(1497) return tcompare2;
+ }
+HXLINE(1498) ::String _hx_tmp = a->getDisplayName();
+HXDLIN(1498) return ::Reflect_obj::compare(_hx_tmp,b->getDisplayName());
+ }
+ else {
+HXLINE(1500) return ::Reflect_obj::compare(a->uiState,b->uiState);
+ }
+HXLINE(1495) return 0;
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1494_sortChats)
+HXDLIN(1494) this->chats->sort( ::Dynamic(new _hx_Closure_0()));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Client_obj,sortChats,(void))
+
+::Dynamic Client_obj::storeMessages(::Array< ::Dynamic> messages){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1507_storeMessages)
+HXDLIN(1507) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(1507) return ::borogove::Persistence_obj::storeMessages(_hx_tmp,this->accountId(),messages);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,storeMessages,return )
+
+void Client_obj::sendQuery( ::borogove::queries::GenericQuery query){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1512_sendQuery)
+HXDLIN(1512) ::borogove::GenericStream _hx_tmp = this->stream;
+HXDLIN(1512) _hx_tmp->sendIq(query->getQueryStanza(),query->handleResponse_dyn());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,sendQuery,(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_1522_publishWithOptions)
+HXLINE(1522) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
+HXLINE(1523) ::borogove::Stanza tmp = response->getChild(HX_("error",c8,cb,29,73),null());
+HXDLIN(1523) ::borogove::Stanza preconditionError;
+HXDLIN(1523) if (::hx::IsNotNull( tmp )) {
+HXLINE(1523) preconditionError = tmp->getChild(HX_("precondition-not-met",2d,db,78,db),HX_("http://jabber.org/protocol/pubsub#errors",97,74,3a,a8));
+ }
+ else {
+HXLINE(1523) preconditionError = null();
+ }
+HXLINE(1524) 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_1532_publishWithOptions)
+HXLINE(1532) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("result",dd,68,84,08))) {
+HXLINE(1533) _gthis->publishWithOptions(stanza,options);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(1526) ::borogove::GenericStream _gthis1 = _gthis->stream;
+HXLINE(1527) ::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(1529) ::String _hx_tmp1 = stanza->findText(HX_("{http://jabber.org/protocol/pubsub}pubsub/publish@node",5e,1b,df,ac));
+HXLINE(1526) _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)));
+ }
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1516_publishWithOptions)
+HXDLIN(1516) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1517) ::borogove::Stanza clone = stanza->clone();
+HXLINE(1518) 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(1519) 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_1544_sendStanza)
+HXLINE(1545) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) ) )) {
+HXLINE(1545) ::Dynamic this1 = stanza->attr;
+HXDLIN(1545) ::Reflect_obj::setField(this1,HX_("id",db,5b,00,00),::borogove::ID_obj::_hx_long());
+ }
+HXLINE(1546) 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_1551_sendPresence)
+HXLINE(1552) ::Dynamic _hx_tmp;
+HXDLIN(1552) if (::hx::IsNotNull( augment )) {
+HXLINE(1552) _hx_tmp = augment;
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ ::borogove::Stanza _hx_run( ::borogove::Stanza s){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1552_sendPresence)
+HXLINE(1552) return s;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1552) _hx_tmp = ::Dynamic(new _hx_Closure_0());
+ }
+HXLINE(1553) ::Dynamic _hx_tmp1;
+HXDLIN(1553) if (::hx::IsNull( to )) {
+HXLINE(1553) _hx_tmp1 = ::Dynamic(::hx::Anon_obj::Create(0));
+ }
+ else {
+HXLINE(1553) _hx_tmp1 = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("to",7b,65,00,00),to));
+ }
+HXDLIN(1553) ::borogove::Stanza _hx_tmp2 = this->caps->addC( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("presence",3b,52,d7,66),_hx_tmp1));
+HXLINE(1554) ::String _hx_tmp3 = this->displayName();
+HXLINE(1551) this->sendStanza(( ( ::borogove::Stanza)(_hx_tmp(_hx_tmp2->textTag(HX_("nick",a3,7b,05,49),_hx_tmp3, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/nick",17,30,dc,e9)))))) ));
+ }
+
+
+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_1563_getIceServers)
+HXLINE(1564) ::haxe::ds::StringMap didUrl = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(1565) ::Array< ::Dynamic> servers = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1566) {
+HXLINE(1566) int _g = 0;
+HXDLIN(1566) ::Array< ::Dynamic> _g1;
+HXDLIN(1566) ::Array< ::Dynamic> tmp = extDiscoGet->getResult();
+HXDLIN(1566) if (::hx::IsNotNull( tmp )) {
+HXLINE(1566) _g1 = tmp;
+ }
+ else {
+HXLINE(1566) _g1 = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN(1566) while((_g < _g1->length)){
+HXLINE(1566) ::borogove::Stanza service = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN(1566) _g = (_g + 1);
+HXLINE(1567) if (!(::Array_obj< ::String >::fromData( _hx_array_data_c0e6dc18_223,4)->contains(( (::String)(::Reflect_obj::field(service->attr,HX_("type",ba,f2,08,4d))) )))) {
+HXLINE(1567) continue;
+ }
+HXLINE(1568) ::String host = ( (::String)(::Reflect_obj::field(service->attr,HX_("host",68,cf,12,45))) );
+HXLINE(1569) bool _hx_tmp;
+HXDLIN(1569) if (::hx::IsNotNull( host )) {
+HXLINE(1569) _hx_tmp = (host == HX_("",00,00,00,00));
+ }
+ else {
+HXLINE(1569) _hx_tmp = true;
+ }
+HXDLIN(1569) if (_hx_tmp) {
+HXLINE(1569) continue;
+ }
+HXLINE(1570) ::Dynamic port = ::Std_obj::parseInt(( (::String)(::Reflect_obj::field(service->attr,HX_("port",81,83,5c,4a))) ));
+HXLINE(1571) bool _hx_tmp1;
+HXDLIN(1571) bool _hx_tmp2;
+HXDLIN(1571) if (::hx::IsNotNull( port )) {
+HXLINE(1571) _hx_tmp2 = ::hx::IsLess( port,1 );
+ }
+ else {
+HXLINE(1571) _hx_tmp2 = true;
+ }
+HXDLIN(1571) if (!(_hx_tmp2)) {
+HXLINE(1571) _hx_tmp1 = ::hx::IsGreater( port,65535 );
+ }
+ else {
+HXLINE(1571) _hx_tmp1 = true;
+ }
+HXDLIN(1571) if (_hx_tmp1) {
+HXLINE(1571) continue;
+ }
+HXLINE(1572) bool isTurn = ::Array_obj< ::String >::fromData( _hx_array_data_c0e6dc18_224,2)->contains(( (::String)(::Reflect_obj::field(service->attr,HX_("type",ba,f2,08,4d))) ));
+HXLINE(1573) ::String url = (( (::String)(::Reflect_obj::field(service->attr,HX_("type",ba,f2,08,4d))) ) + HX_(":",3a,00,00,00));
+HXDLIN(1573) ::String url1;
+HXDLIN(1573) if ((host.indexOf(HX_(":",3a,00,00,00),null()) >= 0)) {
+HXLINE(1573) url1 = ((HX_("[",5b,00,00,00) + host) + HX_("]",5d,00,00,00));
+ }
+ else {
+HXLINE(1573) url1 = host;
+ }
+HXDLIN(1573) ::String url2;
+HXDLIN(1573) if (isTurn) {
+HXLINE(1573) url2 = (HX_("?transport=",73,c9,f2,13) + ( (::String)(::Reflect_obj::field(service->attr,HX_("transport",a9,4f,2f,4c))) ));
+ }
+ else {
+HXLINE(1573) url2 = HX_("",00,00,00,00);
+ }
+HXDLIN(1573) ::String url3 = ((((url + url1) + HX_(":",3a,00,00,00)) + port) + url2);
+HXLINE(1574) if (!(didUrl->exists(url3))) {
+HXLINE(1576) ::String _hx_tmp3 = ( (::String)(::Reflect_obj::field(service->attr,HX_("username",16,86,eb,20))) );
+HXLINE(1575) 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))) ))
+ ->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(1580) didUrl->set(url3,true);
+ }
+ }
+ }
+HXLINE(1583) callback(servers);
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1561_getIceServers)
+HXLINE(1562) ::borogove::queries::ExtDiscoGet extDiscoGet = ::borogove::queries::ExtDiscoGet_obj::__alloc( HX_CTX ,this->jid->domain);
+HXLINE(1563) extDiscoGet->onFinished( ::Dynamic(new _hx_Closure_0(extDiscoGet,callback)));
+HXLINE(1585) this->sendQuery(extDiscoGet);
+ }
+
+
+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_1593_discoverServices)
+HXLINE(1593) int _g = 0;
+HXDLIN(1593) ::Array< ::Dynamic> _g1;
+HXDLIN(1593) ::Array< ::Dynamic> tmp = itemsGet->getResult();
+HXDLIN(1593) if (::hx::IsNotNull( tmp )) {
+HXLINE(1593) _g1 = tmp;
+ }
+ else {
+HXLINE(1593) _g1 = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN(1593) 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_1596_discoverServices)
+HXLINE(1596) ::Dynamic callback1 = callback;
+HXDLIN(1596) ::Dynamic item1 = item;
+HXDLIN(1596) ::borogove::Caps tmp = infoGet1->getResult();
+HXDLIN(1596) ::borogove::Caps _hx_tmp;
+HXDLIN(1596) if (::hx::IsNotNull( tmp )) {
+HXLINE(1596) _hx_tmp = tmp;
+ }
+ else {
+HXLINE(1596) _hx_tmp = ::borogove::Caps_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::__new(0),::Array_obj< ::Dynamic>::__new(0),null());
+ }
+HXDLIN(1596) callback1(item1,_hx_tmp);
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+HXLINE(1593) ::Dynamic item = _g1->__get(_g);
+HXDLIN(1593) _g = (_g + 1);
+HXLINE(1594) ::String infoGet = ( ( ::borogove::JID)(item->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) )->asString();
+HXDLIN(1594) ::borogove::queries::DiscoInfoGet infoGet1 = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,infoGet,( (::String)(item->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) ));
+HXLINE(1595) infoGet1->onFinished( ::Dynamic(new _hx_Closure_0(infoGet1,item,callback)));
+HXLINE(1598) _gthis->sendQuery(infoGet1);
+ }
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1590_discoverServices)
+HXDLIN(1590) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1591) ::borogove::queries::DiscoItemsGet itemsGet = ::borogove::queries::DiscoItemsGet_obj::__alloc( HX_CTX ,target->asString(),node);
+HXLINE(1592) itemsGet->onFinished( ::Dynamic(new _hx_Closure_1(_gthis,callback,itemsGet)));
+HXLINE(1601) this->sendQuery(itemsGet);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC3(Client_obj,discoverServices,(void))
+
+void Client_obj::notifyMessageHandlers( ::borogove::ChatMessage message,int event){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1605_notifyMessageHandlers)
+HXLINE(1606) ::borogove::Chat chat = this->getChat(message->chatId());
+HXLINE(1607) bool _hx_tmp;
+HXDLIN(1607) if (::hx::IsNotNull( chat )) {
+HXLINE(1607) _hx_tmp = chat->isBlocked;
+ }
+ else {
+HXLINE(1607) _hx_tmp = false;
+ }
+HXDLIN(1607) if (_hx_tmp) {
+HXLINE(1607) return;
+ }
+HXLINE(1608) 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)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Client_obj,notifyMessageHandlers,(void))
+
+void Client_obj::notifySyncMessageHandlers( ::borogove::ChatMessage message){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1612_notifySyncMessageHandlers)
+HXLINE(1613) bool _hx_tmp;
+HXDLIN(1613) if (::hx::IsNotNull( message )) {
+HXLINE(1613) _hx_tmp = (message->versions->length > 1);
+ }
+ else {
+HXLINE(1613) _hx_tmp = true;
+ }
+HXDLIN(1613) if (_hx_tmp) {
+HXLINE(1613) return;
+ }
+HXLINE(1614) ::borogove::Chat chat = this->getChat(message->chatId());
+HXLINE(1615) bool _hx_tmp1;
+HXDLIN(1615) if (::hx::IsNotNull( chat )) {
+HXLINE(1615) _hx_tmp1 = chat->isBlocked;
+ }
+ else {
+HXLINE(1615) _hx_tmp1 = false;
+ }
+HXDLIN(1615) if (_hx_tmp1) {
+HXLINE(1615) return;
+ }
+HXLINE(1616) this->trigger(HX_("message/sync",e3,76,a8,1f),message);
+ }
+
+
+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_1621_rosterGet)
+HXLINE(1622) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1623) {
+HXLINE(1623) int _g = 0;
+HXDLIN(1623) ::Array< ::Dynamic> _g1 = rosterGet->getResult();
+HXDLIN(1623) while((_g < _g1->length)){
+HXLINE(1623) ::Dynamic item = _g1->__get(_g);
+HXDLIN(1623) _g = (_g + 1);
+HXLINE(1624) ::borogove::DirectChat chat = _gthis->getDirectChat(( (::String)(item->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ),false);
+HXLINE(1625) chat->updateFromRoster(item);
+HXLINE(1626) chatsToUpdate->push(chat);
+ }
+ }
+HXLINE(1628) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(1628) ::borogove::Persistence_obj::storeChats(_gthis1,_gthis->accountId(),chatsToUpdate);
+HXLINE(1629) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),chatsToUpdate);
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1619_rosterGet)
+HXDLIN(1619) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1620) ::borogove::queries::RosterGet rosterGet = ::borogove::queries::RosterGet_obj::__alloc( HX_CTX ,null());
+HXLINE(1621) rosterGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,rosterGet)));
+HXLINE(1631) this->sendQuery(rosterGet);
+ }
+
+
+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_1636_startChatWith)
+HXLINE(1637) ::borogove::Caps resultCaps = discoGet->getResult();
+HXLINE(1638) int uiState = ( (int)(handleCaps(resultCaps)) );
+HXLINE(1639) if (::hx::IsNull( resultCaps )) {
+HXLINE(1640) ::borogove::Stanza tmp = discoGet->responseStanza;
+HXDLIN(1640) ::borogove::Stanza tmp1;
+HXDLIN(1640) if (::hx::IsNotNull( tmp )) {
+HXLINE(1640) tmp1 = tmp->getChild(HX_("error",c8,cb,29,73),null());
+ }
+ else {
+HXLINE(1640) tmp1 = null();
+ }
+HXDLIN(1640) ::borogove::Stanza err;
+HXDLIN(1640) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1640) err = tmp1->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
+ }
+ else {
+HXLINE(1640) err = null();
+ }
+HXLINE(1641) bool _hx_tmp;
+HXDLIN(1641) bool _hx_tmp1;
+HXDLIN(1641) if (::hx::IsNotNull( err )) {
+HXLINE(1641) ::String _hx_tmp2;
+HXDLIN(1641) if (::hx::IsNotNull( err )) {
+HXLINE(1641) _hx_tmp2 = err->name;
+ }
+ else {
+HXLINE(1641) _hx_tmp2 = null();
+ }
+HXDLIN(1641) _hx_tmp1 = (_hx_tmp2 == HX_("service-unavailable",f8,3c,11,1c));
+ }
+ else {
+HXLINE(1641) _hx_tmp1 = true;
+ }
+HXDLIN(1641) if (!(_hx_tmp1)) {
+HXLINE(1641) ::String _hx_tmp3;
+HXDLIN(1641) if (::hx::IsNotNull( err )) {
+HXLINE(1641) _hx_tmp3 = err->name;
+ }
+ else {
+HXLINE(1641) _hx_tmp3 = null();
+ }
+HXDLIN(1641) _hx_tmp = (_hx_tmp3 == HX_("feature-not-implemented",71,20,2e,96));
+ }
+ else {
+HXLINE(1641) _hx_tmp = true;
+ }
+HXDLIN(1641) if (_hx_tmp) {
+HXLINE(1642) ::borogove::DirectChat chat = _gthis->getDirectChat(jid,false);
+HXLINE(1643) chat->uiState = uiState;
+HXLINE(1644) handleChat(chat);
+HXLINE(1645) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(1645) ::borogove::Persistence_obj::storeChats(_gthis1,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
+HXLINE(1646) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
+ }
+ }
+ else {
+HXLINE(1649) ::borogove::Persistence_obj::storeCaps(_gthis->persistence,resultCaps);
+HXLINE(1650) if (resultCaps->isChannel(jid)) {
+HXLINE(1651) ::borogove::Channel chat1 = ::borogove::Channel_obj::__alloc( HX_CTX ,_gthis,_gthis->stream,_gthis->persistence,jid,uiState,false,null(),null(),null(),resultCaps);
+HXLINE(1652) chat1->setupNotifications();
+HXLINE(1653) _gthis->chats->unshift(chat1);
+HXLINE(1654) bool _hx_tmp4;
+HXDLIN(1654) if (_gthis->inSync) {
+HXLINE(1654) _hx_tmp4 = _gthis->sendAvailable;
+ }
+ else {
+HXLINE(1654) _hx_tmp4 = false;
+ }
+HXDLIN(1654) if (_hx_tmp4) {
+HXLINE(1654) chat1->selfPing(false);
+ }
+HXLINE(1655) handleChat(chat1);
+HXLINE(1656) ::Dynamic _gthis2 = _gthis->persistence;
+HXDLIN(1656) ::borogove::Persistence_obj::storeChats(_gthis2,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat1));
+HXLINE(1657) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat1));
+ }
+ else {
+HXLINE(1659) ::borogove::DirectChat chat2 = _gthis->getDirectChat(jid,false);
+HXLINE(1660) chat2->uiState = uiState;
+HXLINE(1661) handleChat(chat2);
+HXLINE(1662) ::Dynamic _gthis3 = _gthis->persistence;
+HXDLIN(1662) ::borogove::Persistence_obj::storeChats(_gthis3,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat2));
+HXLINE(1663) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat2));
+ }
+ }
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1634_startChatWith)
+HXDLIN(1634) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1635) ::borogove::queries::DiscoInfoGet discoGet = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,jid,null());
+HXLINE(1636) discoGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,handleChat,handleCaps,discoGet,jid)));
+HXLINE(1667) 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_1670_mucInvite)
+HXDLIN(1670) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1671) 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_1672_mucInvite)
+HXLINE(1672) 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_1673_mucInvite)
+HXLINE(1673) _gthis->mucInvite(chatId,chat,senderId,threadId,serverId,serverIdBy,reason,password);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(1672) this->startChatWith(chatId, ::Dynamic(new _hx_Closure_0()), ::Dynamic(new _hx_Closure_1(_gthis,serverId,senderId,chatId,serverIdBy,password,reason,threadId)));
+HXLINE(1675) return;
+ }
+HXLINE(1679) bool _hx_tmp;
+HXDLIN(1679) if ((chat->uiState != 2)) {
+HXLINE(1679) _hx_tmp = (chat->uiState != 3);
+ }
+ else {
+HXLINE(1679) _hx_tmp = false;
+ }
+HXDLIN(1679) if (_hx_tmp) {
+HXLINE(1679) return;
+ }
+HXLINE(1681) chat->extensions->removeChildren(HX_("invite",c9,f1,db,9f),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+HXLINE(1682) ::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(1683) if (::hx::IsNotNull( reason )) {
+HXLINE(1683) inviteExt->textTag(HX_("reason",c4,0f,9d,fc),reason,null());
+ }
+HXLINE(1684) if (::hx::IsNotNull( password )) {
+HXLINE(1684) inviteExt->textTag(HX_("password",1b,23,d0,48),password,null());
+ }
+HXLINE(1685) if (::hx::IsNotNull( threadId )) {
+HXLINE(1685) 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(1686) bool _hx_tmp1;
+HXDLIN(1686) if (::hx::IsNotNull( serverId )) {
+HXLINE(1686) _hx_tmp1 = ::hx::IsNotNull( serverIdBy );
+ }
+ else {
+HXLINE(1686) _hx_tmp1 = false;
+ }
+HXDLIN(1686) if (_hx_tmp1) {
+HXLINE(1687) 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();
+ }
+HXLINE(1689) inviteExt->up();
+HXLINE(1690) chat->uiState = 3;
+HXLINE(1691) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
+HXLINE(1692) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(1692) ::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_1695_serverBlocked)
+HXLINE(1696) ::borogove::Chat chat;
+HXDLIN(1696) ::borogove::Chat tmp = this->getChat(blocked);
+HXDLIN(1696) if (::hx::IsNotNull( tmp )) {
+HXLINE(1696) chat = tmp;
+ }
+ else {
+HXLINE(1696) chat = this->getDirectChat(blocked,false);
+ }
+HXLINE(1697) chat->block(false,null(),false);
+ }
+
+
+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_1704_bookmarksGet)
+HXLINE(1704) int _g = 0;
+HXDLIN(1704) ::Array< ::String > _g1 = blockingGet->getResult();
+HXDLIN(1704) while((_g < _g1->length)){
+HXLINE(1704) ::String blocked = _g1->__get(_g);
+HXDLIN(1704) _g = (_g + 1);
+HXLINE(1705) _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_1711_bookmarksGet)
+HXLINE(1712) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1713) {
+HXLINE(1713) int _g = 0;
+HXDLIN(1713) ::Array< ::Dynamic> _g1 = mdsGet->getResult();
+HXDLIN(1713) while((_g < _g1->length)){
+HXLINE(1713) ::borogove::Stanza item = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN(1713) _g = (_g + 1);
+HXLINE(1714) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ) )) {
+HXLINE(1715) ::borogove::Stanza tmp = item->getChild(HX_("displayed",21,17,db,c1),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb));
+HXDLIN(1715) ::borogove::Stanza upTo;
+HXDLIN(1715) if (::hx::IsNotNull( tmp )) {
+HXLINE(1715) upTo = tmp->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
+ }
+ else {
+HXLINE(1715) upTo = null();
+ }
+HXLINE(1716) ::borogove::Client _gthis1 = _gthis;
+HXDLIN(1716) ::borogove::Chat chat = _gthis1->getChat(( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ));
+HXLINE(1717) 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_1718_bookmarksGet)
+HXLINE(1718) 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_1718_bookmarksGet)
+HXLINE(1718) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(upTo->attr,HX_("id",db,5b,00,00))) );
+HXDLIN(1718) chat->markReadUpToId(_hx_tmp,( (::String)(::Reflect_obj::field(upTo->attr,HX_("by",d7,55,00,00))) ));
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(1718) ::borogove::Client _gthis2 = _gthis;
+HXDLIN(1718) _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)));
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_3) HXARGC(1)
+ ::Dynamic _hx_run( ::Dynamic _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1720_bookmarksGet)
+HXLINE(1720) 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_1720_bookmarksGet)
+HXLINE(1720) if (::hx::IsNotNull( e )) {
+HXLINE(1720) return ::thenshim::_Promise::Promise_Impl__obj::reject(e);
+ }
+ else {
+HXLINE(1720) return null();
+ }
+HXDLIN(1720) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1720) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(upTo->attr,HX_("id",db,5b,00,00))) );
+HXDLIN(1720) ::thenshim::_Promise::Promise_Impl__obj::then(chat->markReadUpToId(_hx_tmp,( (::String)(::Reflect_obj::field(upTo->attr,HX_("by",d7,55,00,00))) )), ::Dynamic(new _hx_Closure_3()), ::Dynamic(new _hx_Closure_4()));
+HXLINE(1721) chatsToUpdate->push(chat);
+ }
+ }
+ }
+ }
+HXLINE(1725) ::Dynamic _gthis3 = _gthis->persistence;
+HXDLIN(1725) ::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_1730_bookmarksGet)
+HXLINE(1731) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1732) {
+HXLINE(1732) int _g = 0;
+HXDLIN(1732) ::Array< ::Dynamic> _g1 = pubsubGet->getResult();
+HXDLIN(1732) while((_g < _g1->length)){
+HXLINE(1732) ::borogove::Stanza item = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN(1732) _g = (_g + 1);
+HXLINE(1733) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ) )) {
+HXLINE(1734) ::borogove::Client _gthis1 = _gthis;
+HXDLIN(1734) ::borogove::Chat chat = _gthis1->getChat(( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ));
+HXLINE(1735) 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_1738_bookmarksGet)
+HXLINE(1739) if (::hx::IsNull( caps )) {
+HXLINE(1739) return 1;
+ }
+HXLINE(1741) ::borogove::Identity identity = caps->identities->__get(0).StaticCast< ::borogove::Identity >();
+HXLINE(1742) ::borogove::Stanza conf = item->getChild(HX_("conference",1c,2b,83,41),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d));
+HXLINE(1743) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(conf->attr,HX_("name",4b,72,ff,48))) ) )) {
+HXLINE(1744) ::String value;
+HXDLIN(1744) if (::hx::IsNotNull( identity )) {
+HXLINE(1744) value = identity->name;
+ }
+ else {
+HXLINE(1744) value = null();
+ }
+HXDLIN(1744) ::Reflect_obj::setField(conf->attr,HX_("name",4b,72,ff,48),value);
+ }
+HXLINE(1746) bool _hx_tmp;
+HXDLIN(1746) bool _hx_tmp1;
+HXDLIN(1746) if ((( (::String)(::Reflect_obj::field(conf->attr,HX_("autojoin",d9,f6,b1,3e))) ) != HX_("1",31,00,00,00))) {
+HXLINE(1746) _hx_tmp1 = (( (::String)(::Reflect_obj::field(conf->attr,HX_("autojoin",d9,f6,b1,3e))) ) == HX_("true",4e,a7,03,4d));
+ }
+ else {
+HXLINE(1746) _hx_tmp1 = true;
+ }
+HXDLIN(1746) if (!(_hx_tmp1)) {
+HXLINE(1746) _hx_tmp = !(caps->isChannel(( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) )));
+ }
+ else {
+HXLINE(1746) _hx_tmp = true;
+ }
+HXDLIN(1746) if (_hx_tmp) {
+HXLINE(1746) return 1;
+ }
+ else {
+HXLINE(1746) return 2;
+ }
+HXDLIN(1746) 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_1749_bookmarksGet)
+HXLINE(1749) chat->updateFromBookmark(item);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(1736) ::borogove::Client _gthis2 = _gthis;
+HXDLIN(1736) _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)));
+ }
+ else {
+HXLINE(1753) chat->updateFromBookmark(item);
+HXLINE(1754) chatsToUpdate->push(chat);
+ }
+ }
+ }
+ }
+HXLINE(1758) ::Dynamic _gthis3 = _gthis->persistence;
+HXDLIN(1758) ::borogove::Persistence_obj::storeChats(_gthis3,_gthis->accountId(),chatsToUpdate);
+HXLINE(1759) callback();
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1701_bookmarksGet)
+HXDLIN(1701) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1702) ::borogove::queries::BlocklistGet blockingGet = ::borogove::queries::BlocklistGet_obj::__alloc( HX_CTX );
+HXLINE(1703) blockingGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,blockingGet)));
+HXLINE(1708) this->sendQuery(blockingGet);
+HXLINE(1710) ::borogove::queries::PubsubGet mdsGet = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,null(),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb),null());
+HXLINE(1711) mdsGet->onFinished( ::Dynamic(new _hx_Closure_5(_gthis,mdsGet)));
+HXLINE(1727) this->sendQuery(mdsGet);
+HXLINE(1729) ::borogove::queries::PubsubGet pubsubGet = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,null(),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d),null());
+HXLINE(1730) pubsubGet->onFinished( ::Dynamic(new _hx_Closure_8(_gthis,pubsubGet,callback)));
+HXLINE(1761) this->sendQuery(pubsubGet);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,bookmarksGet,(void))
+
+void Client_obj::sync( ::Dynamic callback){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1764_sync)
+HXDLIN(1764) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1765) if (::Std_obj::isOfType(this->persistence,::hx::ClassOf< ::borogove::persistence::Dummy >())) {
+HXLINE(1766) callback(true);
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis, ::Dynamic,callback) HXARGC(1)
+ void _hx_run(::String lastId){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1768_sync)
+HXLINE(1768) _gthis->doSync(callback,lastId);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(1768) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(1768) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::lastId(_hx_tmp,this->accountId(),null()), ::Dynamic(new _hx_Closure_0(_gthis,callback)),null());
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,sync,(void))
+
+void Client_obj::onMAMJMI(::String sid, ::borogove::Stanza stanza){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1773_onMAMJMI)
+HXLINE(1774) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
+HXLINE(1774) return;
+ }
+HXLINE(1775) ::borogove::JID from = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
+HXLINE(1776) ::borogove::DirectChat chat = this->getDirectChat(from->asBare()->asString(),null());
+HXLINE(1777) if (chat->jingleSessions->exists(sid)) {
+HXLINE(1777) return;
+ }
+HXLINE(1779) if (::hx::IsNull( stanza->getChild(HX_("propose",fe,fe,e9,f9),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07)) )) {
+HXLINE(1779) return;
+ }
+HXLINE(1780) ::borogove::calls::IncomingProposedSession session = ::borogove::calls::IncomingProposedSession_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),from,sid);
+HXLINE(1781) {
+HXLINE(1781) ::Dynamic this1 = chat->jingleSessions;
+HXDLIN(1781) ( ( ::haxe::ds::StringMap)(this1) )->set(session->get_sid(),session);
+ }
+HXLINE(1782) this->chatActivity(chat,null());
+HXLINE(1783) session->ring();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Client_obj,onMAMJMI,(void))
+
+void Client_obj::doSync( ::Dynamic callback,::String lastId){
+ 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_1797_doSync)
+HXLINE(1798) builder->syncPoint = true;
+HXLINE(1799) return builder;
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_8, ::borogove::Client,_gthis, ::haxe::ds::StringMap,chatIds, ::borogove::MessageSync,sync1, ::Dynamic,callback) HXARGC(1)
+ void _hx_run( ::Dynamic messageList){
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_6, ::borogove::Client,_gthis, ::haxe::ds::StringMap,chatIds, ::borogove::MessageSync,sync1, ::Dynamic,callback) HXARGC(1)
+ void _hx_run(::Array< ::Dynamic> results){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1833_doSync)
+HXLINE(1834) {
+HXLINE(1834) int _g = 0;
+HXDLIN(1834) while((_g < results->length)){
+HXLINE(1834) ::Array< ::Dynamic> messages = results->__get(_g).StaticCast< ::Array< ::Dynamic> >();
+HXDLIN(1834) _g = (_g + 1);
+HXLINE(1835) if (::hx::IsNotNull( messages )) {
+HXLINE(1836) int _g1 = 0;
+HXDLIN(1836) while((_g1 < messages->length)){
+HXLINE(1836) ::borogove::ChatMessage message = messages->__get(_g1).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1836) _g1 = (_g1 + 1);
+HXLINE(1837) _gthis->trigger(HX_("message/sync",e3,76,a8,1f),message);
+ }
+ }
+ }
+ }
+HXLINE(1842) if (sync1->hasMore()) {
+HXLINE(1843) sync1->fetchNext();
+ }
+ else {
+HXLINE(1846) {
+HXLINE(1846) ::Dynamic this1 = sync1->jmi;
+HXDLIN(1846) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN(1846) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1846) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(1846) ::borogove::Stanza _g_value = ( ( ::borogove::Stanza)(::haxe::IMap_obj::get(this1,key)) );
+HXLINE(1847) _gthis->onMAMJMI(key,_g_value);
+ }
+ }
+HXLINE(1850) {
+HXLINE(1850) ::Dynamic map = chatIds;
+HXDLIN(1850) ::Dynamic _g_keys1 = ::haxe::IMap_obj::keys(map);
+HXDLIN(1850) while(( (bool)(_g_keys1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1850) ::String key1 = ( (::String)(_g_keys1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(1850) ::haxe::IMap_obj::get(map,key1);
+HXLINE(1853) if (::hx::IsNull( _gthis->getChat(key1) )) {
+HXLINE(1853) _gthis->getDirectChat(key1,null());
+ }
+ }
+ }
+HXLINE(1855) if (::hx::IsNotNull( callback )) {
+HXLINE(1855) callback(true);
+ }
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_7, ::Dynamic,callback) HXARGC(1)
+ void _hx_run( ::Dynamic e){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1858_doSync)
+HXLINE(1859) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN(1859) ::String _hx_tmp1;
+HXDLIN(1859) if (::hx::IsNull( e )) {
+HXLINE(1859) _hx_tmp1 = HX_("null",87,9e,0e,49);
+ }
+ else {
+HXLINE(1859) _hx_tmp1 = ::Std_obj::string(e);
+ }
+HXDLIN(1859) _hx_tmp(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(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),1859)));
+HXLINE(1860) callback(false);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1802_doSync)
+HXLINE(1803) ::Array< ::Dynamic> promises = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1804) ::Array< ::Dynamic> chatMessages = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1805) {
+HXLINE(1805) int _g = 0;
+HXDLIN(1805) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(messageList->__Field(HX_("messages",cc,d8,fd,34),::hx::paccDynamic)) );
+HXDLIN(1805) while((_g < _g1->length)){
+HXLINE(1805) ::borogove::Message m = _g1->__get(_g).StaticCast< ::borogove::Message >();
+HXDLIN(1805) _g = (_g + 1);
+HXLINE(1806) {
+HXLINE(1806) ::borogove::MessageStanza _g2 = m->parsed;
+HXDLIN(1806) 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_1824_doSync)
+HXLINE(1824) 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_1824_doSync)
+HXLINE(1824) return ::Array_obj< ::Dynamic>::__new(0);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1819) ::Dynamic _gthis1 = _gthis->persistence;
+HXLINE(1820) ::String _hx_tmp = _gthis->accountId();
+HXLINE(1819) 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(1807) ::borogove::ChatMessage _g3 = _g2->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1807) {
+HXLINE(1808) chatMessages->push(_g3);
+HXLINE(1809) if ((_g3->type == 0)) {
+HXLINE(1809) ::String k = _g3->chatId();
+HXDLIN(1809) chatIds->set(k,true);
+ }
+ }
+ }
+ break;
+ case (int)2: {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_4, ::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)
+ void _hx_run( ::borogove::ChatMessage _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1816_doSync)
+HXLINE(1816) resolve(null());
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1816_doSync)
+HXLINE(1816) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->moderateMessage(action), ::Dynamic(new _hx_Closure_3(resolve)),null());
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+HXLINE(1814) ::borogove::ModerationAction action = _g2->_hx_getObject(0).StaticCast< ::borogove::ModerationAction >();
+HXLINE(1815) promises->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_4(_gthis,action))));
+ }
+ break;
+ case (int)3: {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_5) HXARGC(1)
+ ::Dynamic _hx_run( ::borogove::ChatMessage _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1812_doSync)
+HXLINE(1812) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1812) ::Dynamic _gthis2 = _gthis->persistence;
+HXLINE(1811) 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()));
+ }
+ break;
+ case (int)4: {
+HXLINE(1826) ::borogove::Client _gthis3 = _gthis;
+HXDLIN(1826) ::String m1 = m->chatId;
+HXDLIN(1826) ::borogove::Chat _hx_tmp1 = _gthis->getChat(m->chatId);
+HXDLIN(1826) _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));
+ }
+ break;
+ default:{
+ }
+ }
+ }
+ }
+ }
+HXLINE(1831) ::Dynamic _gthis4 = _gthis->persistence;
+HXDLIN(1831) promises->push(::borogove::Persistence_obj::storeMessages(_gthis4,_gthis->accountId(),chatMessages));
+HXLINE(1832) ::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),1832,HX_("borogove.Client",18,dc,e6,c0),HX_("doSync",86,5f,63,1c)));
+HXLINE(1833) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(promises), ::Dynamic(new _hx_Closure_6(_gthis,chatIds,sync1,callback)), ::Dynamic(new _hx_Closure_7(callback)));
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_9, ::borogove::Client,_gthis,::String,lastId, ::Dynamic,callback) HXARGC(1)
+ void _hx_run( ::borogove::Stanza stanza){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1864_doSync)
+HXLINE(1864) if (::hx::IsNotNull( lastId )) {
+HXLINE(1866) _gthis->doSync(callback,null());
+ }
+ else {
+HXLINE(1868) ::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),1868)));
+HXLINE(1869) if (::hx::IsNotNull( callback )) {
+HXLINE(1869) callback(false);
+ }
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1787_doSync)
+HXDLIN(1787) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1788) ::String thirtyDaysAgo = ::borogove::Date_obj::format(::Date_obj::fromTime((::Date_obj::now()->getTime() + ((Float)-2592000000.))));
+HXLINE(1794) ::Dynamic sync;
+HXDLIN(1794) if (::hx::IsNull( lastId )) {
+HXLINE(1794) sync = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("startTime",8f,45,f0,05),thirtyDaysAgo));
+ }
+ else {
+HXLINE(1794) 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),lastId))));
+ }
+HXLINE(1791) ::borogove::MessageSync sync1 = ::borogove::MessageSync_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),this->stream,sync,null());
+HXLINE(1796) sync1->setNewestPageFirst(false);
+HXLINE(1797) sync1->addContext( ::Dynamic(new _hx_Closure_0()));
+HXLINE(1801) ::haxe::ds::StringMap chatIds = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(1802) sync1->onMessages( ::Dynamic(new _hx_Closure_8(_gthis,chatIds,sync1,callback)));
+HXLINE(1863) sync1->onError( ::Dynamic(new _hx_Closure_9(_gthis,lastId,callback)));
+HXLINE(1872) sync1->fetchNext();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Client_obj,doSync,(void))
+
+void Client_obj::pingAllChannels(bool refresh){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1876_pingAllChannels)
+HXDLIN(1876) int _g = 0;
+HXDLIN(1876) ::Array< ::Dynamic> _g1 = this->getChats();
+HXDLIN(1876) while((_g < _g1->length)){
+HXDLIN(1876) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN(1876) _g = (_g + 1);
+HXLINE(1877) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(chat,::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE(1878) if (::hx::IsNotNull( channel )) {
+HXLINE(1878) bool _hx_tmp;
+HXDLIN(1878) if (!(refresh)) {
+HXLINE(1878) ::borogove::Caps _hx_tmp1;
+HXDLIN(1878) if (::hx::IsNotNull( channel )) {
+HXLINE(1878) _hx_tmp1 = channel->disco;
+ }
+ else {
+HXLINE(1878) _hx_tmp1 = null();
+ }
+HXDLIN(1878) _hx_tmp = ::hx::IsNull( _hx_tmp1 );
+ }
+ else {
+HXLINE(1878) _hx_tmp = true;
+ }
+HXDLIN(1878) channel->selfPing(_hx_tmp);
+ }
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,pingAllChannels,(void))
+
+void Client_obj::joinAllChannels(){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1883_joinAllChannels)
+HXDLIN(1883) int _g = 0;
+HXDLIN(1883) ::Array< ::Dynamic> _g1 = this->getChats();
+HXDLIN(1883) while((_g < _g1->length)){
+HXDLIN(1883) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN(1883) _g = (_g + 1);
+HXLINE(1884) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(chat,::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE(1885) if (::hx::IsNotNull( channel )) {
+HXLINE(1886) 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_1888_joinAllChannels)
+HXLINE(1888) channel->join();
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+HXLINE(1887) 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_1892_joinAllChannels)
+HXLINE(1892) channel->refreshDisco(null());
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+HXLINE(1891) channel->join();
+HXLINE(1892) ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(channel)),30000);
+ }
+ }
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Client_obj,joinAllChannels,(void))
+
+
+::hx::ObjectPtr< Client_obj > Client_obj::__new(::String accountId,::Dynamic persistence) {
+ ::hx::ObjectPtr< Client_obj > __this = new Client_obj();
+ __this->__construct(accountId,persistence);
+ return __this;
+}
+
+::hx::ObjectPtr< Client_obj > Client_obj::__alloc(::hx::Ctx *_hx_ctx,::String accountId,::Dynamic persistence) {
+ Client_obj *__this = (Client_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Client_obj), true, "borogove.Client"));
+ *(void **)__this = Client_obj::_hx_vtable;
+ __this->__construct(accountId,persistence);
+ return __this;
+}
+
+Client_obj::Client_obj()
+{
+}
+
+void Client_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Client);
+ HX_MARK_MEMBER_NAME(sendAvailable,"sendAvailable");
+ HX_MARK_MEMBER_NAME(stream,"stream");
+ HX_MARK_MEMBER_NAME(jid,"jid");
+ HX_MARK_MEMBER_NAME(chats,"chats");
+ HX_MARK_MEMBER_NAME(persistence,"persistence");
+ HX_MARK_MEMBER_NAME(caps,"caps");
+ HX_MARK_MEMBER_NAME(_displayName,"_displayName");
+ HX_MARK_MEMBER_NAME(fastMechanism,"fastMechanism");
+ HX_MARK_MEMBER_NAME(token,"token");
+ HX_MARK_MEMBER_NAME(fastCount,"fastCount");
+ HX_MARK_MEMBER_NAME(pendingCaps,"pendingCaps");
+ HX_MARK_MEMBER_NAME(encryptionPolicy,"encryptionPolicy");
+ HX_MARK_MEMBER_NAME(inSync,"inSync");
+ HX_MARK_MEMBER_NAME(enabledPushData,"enabledPushData");
+ ::borogove::EventEmitter_obj::__Mark(HX_MARK_ARG);
+ HX_MARK_END_CLASS();
+}
+
+void Client_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(sendAvailable,"sendAvailable");
+ HX_VISIT_MEMBER_NAME(stream,"stream");
+ HX_VISIT_MEMBER_NAME(jid,"jid");
+ HX_VISIT_MEMBER_NAME(chats,"chats");
+ HX_VISIT_MEMBER_NAME(persistence,"persistence");
+ HX_VISIT_MEMBER_NAME(caps,"caps");
+ HX_VISIT_MEMBER_NAME(_displayName,"_displayName");
+ HX_VISIT_MEMBER_NAME(fastMechanism,"fastMechanism");
+ HX_VISIT_MEMBER_NAME(token,"token");
+ HX_VISIT_MEMBER_NAME(fastCount,"fastCount");
+ HX_VISIT_MEMBER_NAME(pendingCaps,"pendingCaps");
+ HX_VISIT_MEMBER_NAME(encryptionPolicy,"encryptionPolicy");
+ HX_VISIT_MEMBER_NAME(inSync,"inSync");
+ HX_VISIT_MEMBER_NAME(enabledPushData,"enabledPushData");
+ ::borogove::EventEmitter_obj::__Visit(HX_VISIT_ARG);
+}
+
+::hx::Val Client_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,"caps") ) { return ::hx::Val( caps ); }
+ if (HX_FIELD_EQ(inName,"sync") ) { return ::hx::Val( sync_dyn() ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"chats") ) { return ::hx::Val( chats ); }
+ if (HX_FIELD_EQ(inName,"token") ) { return ::hx::Val( token ); }
+ if (HX_FIELD_EQ(inName,"start") ) { return ::hx::Val( start_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"stream") ) { return ::hx::Val( stream ); }
+ if (HX_FIELD_EQ(inName,"inSync") ) { return ::hx::Val( inSync ); }
+ if (HX_FIELD_EQ(inName,"logout") ) { return ::hx::Val( logout_dyn() ); }
+ if (HX_FIELD_EQ(inName,"doSync") ) { return ::hx::Val( doSync_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"getChat") ) { return ::hx::Val( getChat_dyn() ); }
+ break;
+ case 8:
+ 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,"accountId") ) { return ::hx::Val( accountId_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() ); }
+ if (HX_FIELD_EQ(inName,"rosterGet") ) { return ::hx::Val( rosterGet_dyn() ); }
+ if (HX_FIELD_EQ(inName,"mucInvite") ) { return ::hx::Val( mucInvite_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"setProfile") ) { return ::hx::Val( setProfile_dyn() ); }
+ if (HX_FIELD_EQ(inName,"enablePush") ) { return ::hx::Val( enablePush_dyn() ); }
+ if (HX_FIELD_EQ(inName,"sendStanza") ) { return ::hx::Val( sendStanza_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"persistence") ) { return ::hx::Val( persistence ); }
+ if (HX_FIELD_EQ(inName,"pendingCaps") ) { return ::hx::Val( pendingCaps ); }
+ 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() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"_displayName") ) { return ::hx::Val( _displayName ); }
+ if (HX_FIELD_EQ(inName,"startOffline") ) { return ::hx::Val( startOffline_dyn() ); }
+ if (HX_FIELD_EQ(inName,"chatActivity") ) { return ::hx::Val( chatActivity_dyn() ); }
+ if (HX_FIELD_EQ(inName,"sendPresence") ) { return ::hx::Val( sendPresence_dyn() ); }
+ if (HX_FIELD_EQ(inName,"bookmarksGet") ) { return ::hx::Val( bookmarksGet_dyn() ); }
+ break;
+ case 13:
+ 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,"getDirectChat") ) { return ::hx::Val( getDirectChat_dyn() ); }
+ if (HX_FIELD_EQ(inName,"storeMessages") ) { return ::hx::Val( storeMessages_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getIceServers") ) { return ::hx::Val( getIceServers_dyn() ); }
+ if (HX_FIELD_EQ(inName,"startChatWith") ) { return ::hx::Val( startChatWith_dyn() ); }
+ if (HX_FIELD_EQ(inName,"serverBlocked") ) { return ::hx::Val( serverBlocked_dyn() ); }
+ break;
+ case 15:
+ 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,"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() ); }
+ break;
+ case 17:
+ if (HX_FIELD_EQ(inName,"updateDisplayName") ) { return ::hx::Val( updateDisplayName_dyn() ); }
+ if (HX_FIELD_EQ(inName,"prepareAttachment") ) { return ::hx::Val( prepareAttachment_dyn() ); }
+ if (HX_FIELD_EQ(inName,"enablePush__fromC") ) { return ::hx::Val( enablePush__fromC_dyn() ); }
+ break;
+ case 18:
+ if (HX_FIELD_EQ(inName,"processLiveMessage") ) { return ::hx::Val( processLiveMessage_dyn() ); }
+ if (HX_FIELD_EQ(inName,"findAvailableChats") ) { return ::hx::Val( findAvailableChats_dyn() ); }
+ if (HX_FIELD_EQ(inName,"setNotInForeground") ) { return ::hx::Val( setNotInForeground_dyn() ); }
+ if (HX_FIELD_EQ(inName,"publishWithOptions") ) { return ::hx::Val( publishWithOptions_dyn() ); }
+ break;
+ case 19:
+ if (HX_FIELD_EQ(inName,"updatePushIfEnabled") ) { return ::hx::Val( updatePushIfEnabled_dyn() ); }
+ if (HX_FIELD_EQ(inName,"addTlsCheckListener") ) { return ::hx::Val( addTlsCheckListener_dyn() ); }
+ if (HX_FIELD_EQ(inName,"addCallRingListener") ) { return ::hx::Val( addCallRingListener_dyn() ); }
+ break;
+ case 20:
+ if (HX_FIELD_EQ(inName,"prepareAttachmentFor") ) { return ::hx::Val( prepareAttachmentFor_dyn() ); }
+ if (HX_FIELD_EQ(inName,"addCallMediaListener") ) { return ::hx::Val( addCallMediaListener_dyn() ); }
+ if (HX_FIELD_EQ(inName,"addCallTrackListener") ) { return ::hx::Val( addCallTrackListener_dyn() ); }
+ break;
+ case 21:
+ if (HX_FIELD_EQ(inName,"notifyMessageHandlers") ) { return ::hx::Val( notifyMessageHandlers_dyn() ); }
+ break;
+ case 22:
+ 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() ); }
+ if (HX_FIELD_EQ(inName,"addCallRingingListener") ) { return ::hx::Val( addCallRingingListener_dyn() ); }
+ break;
+ case 23:
+ if (HX_FIELD_EQ(inName,"addStatusOnlineListener") ) { return ::hx::Val( addStatusOnlineListener_dyn() ); }
+ if (HX_FIELD_EQ(inName,"addChatsUpdatedListener") ) { return ::hx::Val( addChatsUpdatedListener_dyn() ); }
+ break;
+ case 24:
+ if (HX_FIELD_EQ(inName,"set_sendAvailable__fromC") ) { return ::hx::Val( set_sendAvailable__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"addStatusOfflineListener") ) { return ::hx::Val( addStatusOfflineListener_dyn() ); }
+ break;
+ case 25:
+ if (HX_FIELD_EQ(inName,"addPasswordNeededListener") ) { return ::hx::Val( addPasswordNeededListener_dyn() ); }
+ if (HX_FIELD_EQ(inName,"notifySyncMessageHandlers") ) { return ::hx::Val( notifySyncMessageHandlers_dyn() ); }
+ break;
+ case 27:
+ if (HX_FIELD_EQ(inName,"addConnectionFailedListener") ) { return ::hx::Val( addConnectionFailedListener_dyn() ); }
+ if (HX_FIELD_EQ(inName,"addCallUpdateStatusListener") ) { return ::hx::Val( addCallUpdateStatusListener_dyn() ); }
+ break;
+ case 30:
+ if (HX_FIELD_EQ(inName,"fetchMediaByHashOneCounterpart") ) { return ::hx::Val( fetchMediaByHashOneCounterpart_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val Client_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,"caps") ) { caps=inValue.Cast< ::borogove::Caps >(); return inValue; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"chats") ) { chats=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"token") ) { token=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"stream") ) { stream=inValue.Cast< ::borogove::GenericStream >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"inSync") ) { inSync=inValue.Cast< bool >(); return inValue; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"fastCount") ) { fastCount=inValue.Cast< ::Dynamic >(); 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; }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"_displayName") ) { _displayName=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"sendAvailable") ) { sendAvailable=inValue.Cast< bool >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"fastMechanism") ) { fastMechanism=inValue.Cast< ::String >(); return inValue; }
+ break;
+ 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; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void Client_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("sendAvailable",61,c3,fd,db));
+ 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_("persistence",5f,17,c4,f6));
+ outFields->push(HX_("caps",21,1c,ba,41));
+ outFields->push(HX_("_displayName",ae,bf,fb,96));
+ outFields->push(HX_("fastMechanism",1d,e7,34,8a));
+ outFields->push(HX_("token",f9,82,2b,14));
+ outFields->push(HX_("fastCount",93,fc,67,a5));
+ outFields->push(HX_("pendingCaps",18,58,88,be));
+ outFields->push(HX_("encryptionPolicy",d5,f0,3c,e7));
+ outFields->push(HX_("inSync",e0,98,c5,88));
+ outFields->push(HX_("enabledPushData",c5,32,81,93));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo Client_obj_sMemberStorageInfo[] = {
+ {::hx::fsBool,(int)offsetof(Client_obj,sendAvailable),HX_("sendAvailable",61,c3,fd,db)},
+ {::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 /* ::Dynamic */ ,(int)offsetof(Client_obj,persistence),HX_("persistence",5f,17,c4,f6)},
+ {::hx::fsObject /* ::borogove::Caps */ ,(int)offsetof(Client_obj,caps),HX_("caps",21,1c,ba,41)},
+ {::hx::fsString,(int)offsetof(Client_obj,_displayName),HX_("_displayName",ae,bf,fb,96)},
+ {::hx::fsString,(int)offsetof(Client_obj,fastMechanism),HX_("fastMechanism",1d,e7,34,8a)},
+ {::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::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(Client_obj,pendingCaps),HX_("pendingCaps",18,58,88,be)},
+ {::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::fsObject /* ::Dynamic */ ,(int)offsetof(Client_obj,enabledPushData),HX_("enabledPushData",c5,32,81,93)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *Client_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Client_obj_sMemberFields[] = {
+ HX_("sendAvailable",61,c3,fd,db),
+ HX_("set_sendAvailable__fromC",35,ea,10,2d),
+ HX_("stream",80,14,2d,11),
+ HX_("jid",c5,ca,50,00),
+ HX_("chats",9b,9e,b3,45),
+ HX_("persistence",5f,17,c4,f6),
+ HX_("caps",21,1c,ba,41),
+ HX_("_displayName",ae,bf,fb,96),
+ HX_("fastMechanism",1d,e7,34,8a),
+ HX_("token",f9,82,2b,14),
+ HX_("fastCount",93,fc,67,a5),
+ HX_("pendingCaps",18,58,88,be),
+ HX_("encryptionPolicy",d5,f0,3c,e7),
+ HX_("inSync",e0,98,c5,88),
+ HX_("processLiveMessage",0c,f2,77,58),
+ HX_("start",62,74,0b,84),
+ HX_("startOffline",a1,72,73,44),
+ HX_("logout",8a,f6,6e,5c),
+ HX_("usePassword",82,2a,db,a2),
+ HX_("accountId",e8,81,54,29),
+ HX_("displayName",ad,11,f2,30),
+ HX_("setProfile",a7,6d,28,46),
+ HX_("updateDisplayName",24,be,5b,95),
+ HX_("onConnected",aa,c5,39,c5),
+ HX_("prepareAttachment",4a,6c,4b,52),
+ HX_("prepareAttachmentFor",df,5c,bf,82),
+ HX_("getChats",25,ae,8a,a5),
+ HX_("findAvailableChats",2b,92,7a,e4),
+ HX_("startChat",5a,d8,b2,fa),
+ HX_("getChat",8e,0e,42,14),
+ HX_("moderateMessage",44,98,f1,d4),
+ HX_("getDirectChat",d7,7a,64,6b),
+ HX_("enabledPushData",c5,32,81,93),
+ HX_("enablePush",fd,e9,ae,a3),
+ HX_("enablePush__fromC",1c,70,b7,2f),
+ HX_("updatePushIfEnabled",21,71,d8,62),
+ HX_("addPasswordNeededListener",45,5f,7e,e2),
+ HX_("addStatusOnlineListener",ba,7f,0a,f9),
+ HX_("addStatusOfflineListener",84,03,7d,f1),
+ HX_("addConnectionFailedListener",50,7d,89,49),
+ HX_("addTlsCheckListener",a2,08,8a,52),
+ HX_("addChatMessageListener",c2,ab,0f,ed),
+ HX_("addSyncMessageListener",9f,bb,b2,e2),
+ HX_("addChatsUpdatedListener",35,56,de,d1),
+ HX_("addCallRingListener",43,06,12,df),
+ HX_("addCallRetractListener",f6,56,33,1b),
+ HX_("addCallRingingListener",27,29,10,44),
+ HX_("addCallUpdateStatusListener",ae,ae,44,09),
+ HX_("addCallMediaListener",99,4a,d3,ce),
+ HX_("addCallTrackListener",40,53,e3,46),
+ HX_("setInForeground",ca,fb,6b,7d),
+ HX_("setNotInForeground",39,f1,bb,be),
+ HX_("fetchMediaByHash",2f,ff,07,87),
+ HX_("fetchMediaByHashOneCounterpart",b8,d3,9a,5e),
+ HX_("chatActivity",c7,e0,61,f8),
+ HX_("sortChats",5d,72,27,4e),
+ HX_("storeMessages",cd,f1,bd,e9),
+ HX_("sendQuery",a0,48,5a,1e),
+ HX_("publishWithOptions",a9,a4,65,0d),
+ HX_("sendStanza",5d,85,4d,a7),
+ HX_("sendPresence",a3,23,94,a7),
+ HX_("getIceServers",7b,70,bb,2e),
+ HX_("discoverServices",e7,e6,b6,cb),
+ HX_("notifyMessageHandlers",87,69,f5,7b),
+ HX_("notifySyncMessageHandlers",ec,fc,32,12),
+ HX_("rosterGet",cb,93,f3,3e),
+ HX_("startChatWith",80,af,e0,d4),
+ HX_("mucInvite",24,30,15,de),
+ HX_("serverBlocked",69,86,62,0f),
+ HX_("bookmarksGet",99,e1,ce,2f),
+ HX_("sync",5b,ba,5f,4c),
+ HX_("onMAMJMI",ac,d7,bc,14),
+ HX_("doSync",86,5f,63,1c),
+ HX_("pingAllChannels",3f,9f,44,8e),
+ HX_("joinAllChannels",c7,60,e8,0f),
+ ::String(null()) };
+
+::hx::Class Client_obj::__mClass;
+
+void Client_obj::__register()
+{
+ Client_obj _hx_dummy;
+ Client_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Client",18,dc,e6,c0);
+ __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(Client_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Client_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Client_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Client_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void Client_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_59_boot)
+HXDLIN( 59) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(39)
+ ->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)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(2,HX_("addCallRingingListener__fromC",32,ca,d2,99), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(3,HX_("prepareAttachment__fromC",6f,81,bb,9e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(4,HX_("addCallRingListener__fromC",96,08,fb,9e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(5,HX_("addStatusOnlineListener__fromC",ff,bb,66,a2), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(6,HX_("enablePush",fd,e9,ae,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(7,HX_("getChats",25,ae,8a,a5), ::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_("addTlsCheckListener__fromC",17,a0,1f,a9), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(9,HX_("addCallTrackListener__fromC",39,05,06,c4), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(10,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(11,HX_("findAvailableChats__fromC",ae,49,41,d0), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(12,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(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(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(15,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(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(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
+ ->setFixed(18,HX_("findAvailableChats",2b,92,7a,e4), ::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_("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(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(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(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(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(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(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(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(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(29,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(30,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(31,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(32,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(33,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(34,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(35,HX_("addCallRetractListener__fromC",43,84,e9,5a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(36,HX_("startOffline__fromC",f8,03,65,60), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(37,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(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
+ }
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Color.cpp b/Sources/c_borogove/src/borogove/Color.cpp
new file mode 100644
index 0000000..e7f1ece
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Color.cpp
@@ -0,0 +1,205 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_StringTools
+#include <StringTools.h>
+#endif
+#ifndef INCLUDED_borogove_Color
+#include <borogove/Color.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_Sha1
+#include <haxe/crypto/Sha1.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_hsluv_Hsluv
+#include <hsluv/Hsluv.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_1a9a076abcb99412_12_forString,"borogove.Color","forString",0xb59c5282,"borogove.Color.forString","borogove/Color.hx",12,0x349dd949)
+HX_LOCAL_STACK_FRAME(_hx_pos_1a9a076abcb99412_30_defaultPhoto,"borogove.Color","defaultPhoto",0x976ecf69,"borogove.Color.defaultPhoto","borogove/Color.hx",30,0x349dd949)
+HX_LOCAL_STACK_FRAME(_hx_pos_1a9a076abcb99412_9_boot,"borogove.Color","boot",0x75e1576a,"borogove.Color.boot","borogove/Color.hx",9,0x349dd949)
+HX_LOCAL_STACK_FRAME(_hx_pos_1a9a076abcb99412_10_boot,"borogove.Color","boot",0x75e1576a,"borogove.Color.boot","borogove/Color.hx",10,0x349dd949)
+namespace borogove{
+
+void Color_obj::__construct() { }
+
+Dynamic Color_obj::__CreateEmpty() { return new Color_obj; }
+
+void *Color_obj::_hx_vtable = 0;
+
+Dynamic Color_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Color_obj > _hx_result = new Color_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Color_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x4f67e2c2;
+}
+
+ ::haxe::ds::StringMap Color_obj::cache;
+
+int Color_obj::cacheSize;
+
+::String Color_obj::forString(::String s){
+ HX_GC_STACKFRAME(&_hx_pos_1a9a076abcb99412_12_forString)
+HXLINE( 13) ::String fromCache = ::borogove::Color_obj::cache->get_string(s);
+HXLINE( 14) if (::hx::IsNotNull( fromCache )) {
+HXLINE( 14) return fromCache;
+ }
+HXLINE( 16) ::haxe::io::Bytes hash = ::haxe::crypto::Sha1_obj::make(::haxe::io::Bytes_obj::ofString(s,null()));
+HXLINE( 18) ::hsluv::Hsluv color = ::hsluv::Hsluv_obj::__alloc( HX_CTX );
+HXLINE( 19) color->hsluv_h = ((( (Float)((( (int)(hash->b->__get(0)) ) | (( (int)(hash->b->__get(1)) ) << 8))) ) / ((Float)65536.0)) * ( (Float)(360) ));
+HXLINE( 20) color->hsluv_s = ( (Float)(100) );
+HXLINE( 21) color->hsluv_l = ( (Float)(50) );
+HXLINE( 22) color->hsluvToHex();
+HXLINE( 23) if ((::borogove::Color_obj::cacheSize < 2000)) {
+HXLINE( 24) ::borogove::Color_obj::cache->set(s,color->hex);
+HXLINE( 25) ::borogove::Color_obj::cacheSize++;
+ }
+HXLINE( 27) return color->hex;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Color_obj,forString,return )
+
+::String Color_obj::defaultPhoto(::String input,::String letter){
+ HX_STACKFRAME(&_hx_pos_1a9a076abcb99412_30_defaultPhoto)
+HXLINE( 31) ::String hex = ::borogove::Color_obj::forString(input).substr(1,null());
+HXLINE( 32) ::String encodedLetter;
+HXDLIN( 32) try {
+ HX_STACK_CATCHABLE( ::Dynamic, 0);
+HXLINE( 32) encodedLetter = ::StringTools_obj::urlEncode(letter.toUpperCase());
+ } catch( ::Dynamic _hx_e) {
+ if (_hx_e.IsClass< ::Dynamic >() ){
+ HX_STACK_BEGIN_CATCH
+ ::Dynamic _g = _hx_e;
+HXLINE( 32) encodedLetter = HX_(" ",20,00,00,00);
+ }
+ else {
+ HX_STACK_DO_THROW(_hx_e);
+ }
+ }
+HXLINE( 37) return (((((((HX_("data:image/svg+xml,<svg%20xmlns=\"http://www.w3.org/2000/svg\"%20version=\"1.1\"%20width=\"15\"%20height=\"15\"%20viewBox=\"0%200%2015%2015\">",89,4c,ea,28) + HX_("<rect%20style=\"fill:%23",82,0d,df,69)) + hex) + HX_(";\"%20width=\"15\"%20height=\"15\"%20x=\"0\"%20y=\"0\"%20/>",3b,1a,d3,d0)) + HX_("<text%20style=\"fill:%23ffffff;font-size:8px;font-family:sans-serif;\"%20text-anchor=\"middle\"%20x=\"7.5\"%20y=\"10\">",82,0b,95,1e)) + encodedLetter) + HX_("</text>",9e,15,67,97)) + HX_("</svg>",4d,57,9c,59));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(Color_obj,defaultPhoto,return )
+
+
+Color_obj::Color_obj()
+{
+}
+
+bool Color_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"cache") ) { outValue = ( cache ); return true; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"cacheSize") ) { outValue = ( cacheSize ); return true; }
+ if (HX_FIELD_EQ(inName,"forString") ) { outValue = forString_dyn(); return true; }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"defaultPhoto") ) { outValue = defaultPhoto_dyn(); return true; }
+ }
+ return false;
+}
+
+bool Color_obj::__SetStatic(const ::String &inName,Dynamic &ioValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"cache") ) { cache=ioValue.Cast< ::haxe::ds::StringMap >(); return true; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"cacheSize") ) { cacheSize=ioValue.Cast< int >(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *Color_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo Color_obj_sStaticStorageInfo[] = {
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(void *) &Color_obj::cache,HX_("cache",42,9a,14,41)},
+ {::hx::fsInt,(void *) &Color_obj::cacheSize,HX_("cacheSize",23,b0,08,48)},
+ { ::hx::fsUnknown, 0, null()}
+};
+#endif
+
+static void Color_obj_sMarkStatics(HX_MARK_PARAMS) {
+ HX_MARK_MEMBER_NAME(Color_obj::cache,"cache");
+ HX_MARK_MEMBER_NAME(Color_obj::cacheSize,"cacheSize");
+};
+
+#ifdef HXCPP_VISIT_ALLOCS
+static void Color_obj_sVisitStatics(HX_VISIT_PARAMS) {
+ HX_VISIT_MEMBER_NAME(Color_obj::cache,"cache");
+ HX_VISIT_MEMBER_NAME(Color_obj::cacheSize,"cacheSize");
+};
+
+#endif
+
+::hx::Class Color_obj::__mClass;
+
+static ::String Color_obj_sStaticFields[] = {
+ HX_("cache",42,9a,14,41),
+ HX_("cacheSize",23,b0,08,48),
+ HX_("forString",ba,d0,62,a3),
+ HX_("defaultPhoto",31,04,4f,77),
+ ::String(null())
+};
+
+void Color_obj::__register()
+{
+ Color_obj _hx_dummy;
+ Color_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Color",36,58,4f,c8);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Color_obj::__GetStatic;
+ __mClass->mSetStaticField = &Color_obj::__SetStatic;
+ __mClass->mMarkFunc = Color_obj_sMarkStatics;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Color_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< Color_obj >;
+#ifdef HXCPP_VISIT_ALLOCS
+ __mClass->mVisitFunc = Color_obj_sVisitStatics;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Color_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Color_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void Color_obj::__boot()
+{
+{
+ HX_GC_STACKFRAME(&_hx_pos_1a9a076abcb99412_9_boot)
+HXDLIN( 9) cache = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+ }
+{
+ HX_STACKFRAME(&_hx_pos_1a9a076abcb99412_10_boot)
+HXDLIN( 10) cacheSize = 0;
+ }
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Command.cpp b/Sources/c_borogove/src/borogove/Command.cpp
new file mode 100644
index 0000000..68043a8
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Command.cpp
@@ -0,0 +1,285 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.h>
+#endif
+#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_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_3f7d50174e74345f_26_new,"borogove.Command","new",0xdf975ad0,"borogove.Command.new","borogove/Command.hx",26,0xeb7c59e1)
+HX_LOCAL_STACK_FRAME(_hx_pos_ccb272382c704ccf_423_name__fromC,"borogove.Command","name__fromC",0xd4e227fe,"borogove.Command.name__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_3f7d50174e74345f_37_execute,"borogove.Command","execute",0xd1be8ca5,"borogove.Command.execute","borogove/Command.hx",37,0xeb7c59e1)
+HX_LOCAL_STACK_FRAME(_hx_pos_ccb272382c704ccf_313_execute__fromC,"borogove.Command","execute__fromC",0xe6daf274,"borogove.Command.execute__fromC","HaxeCBridge.hx",313,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_3f7d50174e74345f_19_boot,"borogove.Command","boot",0xbcf11bc2,"borogove.Command.boot","borogove/Command.hx",19,0xeb7c59e1)
+namespace borogove{
+
+void Command_obj::__construct( ::borogove::Client client, ::Dynamic params){
+ HX_STACKFRAME(&_hx_pos_3f7d50174e74345f_26_new)
+HXLINE( 27) this->jid = ( ( ::borogove::JID)(params->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) );
+HXLINE( 28) this->node = ( (::String)(params->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) );
+HXLINE( 29) ::String tmp = ( (::String)(params->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) );
+HXDLIN( 29) ::String _hx_tmp;
+HXDLIN( 29) if (::hx::IsNotNull( tmp )) {
+HXLINE( 29) _hx_tmp = tmp;
+ }
+ else {
+HXLINE( 29) _hx_tmp = ( (::String)(params->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) );
+ }
+HXDLIN( 29) this->name = _hx_tmp;
+HXLINE( 30) this->client = client;
+ }
+
+Dynamic Command_obj::__CreateEmpty() { return new Command_obj; }
+
+void *Command_obj::_hx_vtable = 0;
+
+Dynamic Command_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Command_obj > _hx_result = new Command_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool Command_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x753f386a;
+}
+
+::String Command_obj::name__fromC(){
+ HX_STACKFRAME(&_hx_pos_ccb272382c704ccf_423_name__fromC)
+HXDLIN( 423) return this->name;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Command_obj,name__fromC,return )
+
+::Dynamic Command_obj::execute(){
+ HX_GC_STACKFRAME(&_hx_pos_3f7d50174e74345f_37_execute)
+HXDLIN( 37) return ::borogove::CommandSession_obj::__alloc( HX_CTX ,HX_("executing",b2,2a,0f,b1),null(),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::Dynamic>::__new(0),::hx::ObjectPtr<OBJ_>(this))->execute(null(),null(),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Command_obj,execute,return )
+
+void Command_obj::execute__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context){
+ HX_STACKFRAME(&_hx_pos_ccb272382c704ccf_313_execute__fromC)
+HXDLIN( 313) if (::hx::IsNull( handler )) {
+HXDLIN( 313) this->execute();
+ }
+ 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::CommandSession v){
+ HX_STACKFRAME(&_hx_pos_ccb272382c704ccf_313_execute__fromC)
+HXDLIN( 313) ::cpp::Function< void (void*,void*) > handler1 = handler;
+HXLINE( 297) ::Dynamic haxeObject = v;
+HXDLIN( 297) void* ptr = haxeObject.mPtr;
+HXDLIN( 297) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 297) {
+HXLINE( 297) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 297) if (::hx::IsNull( store )) {
+HXLINE( 297) 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( 297) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 297) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 313) 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_ccb272382c704ccf_313_execute__fromC)
+HXDLIN( 313) handler(null(),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 313) ::thenshim::_Promise::Promise_Impl__obj::then(this->execute(), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+ }
+ }
+
+
+
+::hx::ObjectPtr< Command_obj > Command_obj::__new( ::borogove::Client client, ::Dynamic params) {
+ ::hx::ObjectPtr< Command_obj > __this = new Command_obj();
+ __this->__construct(client,params);
+ return __this;
+}
+
+::hx::ObjectPtr< Command_obj > Command_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::Dynamic params) {
+ Command_obj *__this = (Command_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Command_obj), true, "borogove.Command"));
+ *(void **)__this = Command_obj::_hx_vtable;
+ __this->__construct(client,params);
+ return __this;
+}
+
+Command_obj::Command_obj()
+{
+}
+
+void Command_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Command);
+ HX_MARK_MEMBER_NAME(name,"name");
+ HX_MARK_MEMBER_NAME(jid,"jid");
+ HX_MARK_MEMBER_NAME(node,"node");
+ HX_MARK_MEMBER_NAME(client,"client");
+ HX_MARK_END_CLASS();
+}
+
+void Command_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(name,"name");
+ HX_VISIT_MEMBER_NAME(jid,"jid");
+ HX_VISIT_MEMBER_NAME(node,"node");
+ HX_VISIT_MEMBER_NAME(client,"client");
+}
+
+::hx::Val Command_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,"name") ) { return ::hx::Val( name ); }
+ if (HX_FIELD_EQ(inName,"node") ) { return ::hx::Val( node ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"client") ) { return ::hx::Val( client ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"execute") ) { return ::hx::Val( execute_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"name__fromC") ) { return ::hx::Val( name__fromC_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val Command_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,"name") ) { name=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"node") ) { node=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"client") ) { client=inValue.Cast< ::borogove::Client >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void Command_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("name",4b,72,ff,48));
+ outFields->push(HX_("jid",c5,ca,50,00));
+ outFields->push(HX_("node",02,0a,0a,49));
+ outFields->push(HX_("client",4b,ca,4f,0a));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo Command_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(Command_obj,name),HX_("name",4b,72,ff,48)},
+ {::hx::fsObject /* ::borogove::JID */ ,(int)offsetof(Command_obj,jid),HX_("jid",c5,ca,50,00)},
+ {::hx::fsString,(int)offsetof(Command_obj,node),HX_("node",02,0a,0a,49)},
+ {::hx::fsObject /* ::borogove::Client */ ,(int)offsetof(Command_obj,client),HX_("client",4b,ca,4f,0a)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *Command_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Command_obj_sMemberFields[] = {
+ HX_("name",4b,72,ff,48),
+ HX_("name__fromC",8e,ad,66,0e),
+ HX_("jid",c5,ca,50,00),
+ HX_("node",02,0a,0a,49),
+ HX_("client",4b,ca,4f,0a),
+ HX_("execute",35,0a,0d,cc),
+ ::String(null()) };
+
+::hx::Class Command_obj::__mClass;
+
+void Command_obj::__register()
+{
+ Command_obj _hx_dummy;
+ Command_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Command",de,f2,05,8f);
+ __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(Command_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Command_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Command_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Command_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void Command_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_3f7d50174e74345f_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(3)
+ ->setFixed(0,HX_("execute__fromC",e4,46,66,c0), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(1,HX_("execute",35,0a,0d,cc), ::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(2,HX_("name__fromC",8e,ad,66,0e), ::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/CommandSession.cpp b/Sources/c_borogove/src/borogove/CommandSession.cpp
new file mode 100644
index 0000000..9175015
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/CommandSession.cpp
@@ -0,0 +1,532 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.h>
+#endif
+#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_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_queries_CommandExecute
+#include <borogove/queries/CommandExecute.h>
+#endif
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.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_393ae15da757fdff_55_new,"borogove.CommandSession","new",0xed10110a,"borogove.CommandSession.new","borogove/Command.hx",55,0xeb7c59e1)
+HX_LOCAL_STACK_FRAME(_hx_pos_6429c0fb54981d0a_423_name__fromC,"borogove.CommandSession","name__fromC",0x85b2a838,"borogove.CommandSession.name__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_6429c0fb54981d0a_423_status__fromC,"borogove.CommandSession","status__fromC",0x7f652cb1,"borogove.CommandSession.status__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_6429c0fb54981d0a_397_actions__fromC,"borogove.CommandSession","actions__fromC",0x22fa21b2,"borogove.CommandSession.actions__fromC","HaxeCBridge.hx",397,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_6429c0fb54981d0a_397_forms__fromC,"borogove.CommandSession","forms__fromC",0x926e53c0,"borogove.CommandSession.forms__fromC","HaxeCBridge.hx",397,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_393ae15da757fdff_106_execute,"borogove.CommandSession","execute",0x4e07e7df,"borogove.CommandSession.execute","borogove/Command.hx",106,0xeb7c59e1)
+HX_LOCAL_STACK_FRAME(_hx_pos_393ae15da757fdff_103_execute,"borogove.CommandSession","execute",0x4e07e7df,"borogove.CommandSession.execute","borogove/Command.hx",103,0xeb7c59e1)
+HX_LOCAL_STACK_FRAME(_hx_pos_393ae15da757fdff_83_execute,"borogove.CommandSession","execute",0x4e07e7df,"borogove.CommandSession.execute","borogove/Command.hx",83,0xeb7c59e1)
+static const ::String _hx_array_data_36248418_10[] = {
+ HX_("prev",f3,be,5e,4a),HX_("next",f3,84,02,49),HX_("complete",b9,00,c8,7f),HX_("execute",35,0a,0d,cc),HX_("cancel",7a,ed,33,b8),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_6429c0fb54981d0a_313_execute__fromC,"borogove.CommandSession","execute__fromC",0x59b0d27a,"borogove.CommandSession.execute__fromC","HaxeCBridge.hx",313,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_393ae15da757fdff_46_boot,"borogove.CommandSession","boot",0x7917d848,"borogove.CommandSession.boot","borogove/Command.hx",46,0xeb7c59e1)
+namespace borogove{
+
+void CommandSession_obj::__construct(::String status,::String sessionid,::Array< ::Dynamic> actions,::Array< ::Dynamic> forms, ::borogove::Command command){
+ HX_STACKFRAME(&_hx_pos_393ae15da757fdff_55_new)
+HXLINE( 56) ::String _hx_tmp;
+HXDLIN( 56) ::borogove::Form tmp = forms->__get(0).StaticCast< ::borogove::Form >();
+HXDLIN( 56) ::String _hx_tmp1;
+HXDLIN( 56) if (::hx::IsNotNull( tmp )) {
+HXLINE( 56) _hx_tmp1 = tmp->title();
+ }
+ else {
+HXLINE( 56) _hx_tmp1 = null();
+ }
+HXDLIN( 56) if (::hx::IsNotNull( _hx_tmp1 )) {
+HXLINE( 56) _hx_tmp = forms->__get(0).StaticCast< ::borogove::Form >()->title();
+ }
+ else {
+HXLINE( 56) _hx_tmp = command->name;
+ }
+HXDLIN( 56) this->name = _hx_tmp;
+HXLINE( 57) this->status = status;
+HXLINE( 58) this->sessionid = sessionid;
+HXLINE( 59) this->actions = actions;
+HXLINE( 60) this->forms = forms;
+HXLINE( 61) this->command = command;
+ }
+
+Dynamic CommandSession_obj::__CreateEmpty() { return new CommandSession_obj; }
+
+void *CommandSession_obj::_hx_vtable = 0;
+
+Dynamic CommandSession_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< CommandSession_obj > _hx_result = new CommandSession_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4]);
+ return _hx_result;
+}
+
+bool CommandSession_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x5964480c;
+}
+
+::String CommandSession_obj::name__fromC(){
+ HX_STACKFRAME(&_hx_pos_6429c0fb54981d0a_423_name__fromC)
+HXDLIN( 423) return this->name;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(CommandSession_obj,name__fromC,return )
+
+::String CommandSession_obj::status__fromC(){
+ HX_STACKFRAME(&_hx_pos_6429c0fb54981d0a_423_status__fromC)
+HXDLIN( 423) return this->status;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(CommandSession_obj,status__fromC,return )
+
+size_t CommandSession_obj::actions__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_6429c0fb54981d0a_397_actions__fromC)
+HXDLIN( 397) ::Array< ::Dynamic> x = this->actions;
+HXDLIN( 397) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 397) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 397) {
+HXDLIN( 397) int _g = 0;
+HXDLIN( 397) while((_g < x->length)){
+HXDLIN( 397) ::borogove::FormOption el = x->__get(_g).StaticCast< ::borogove::FormOption >();
+HXDLIN( 397) _g = (_g + 1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic haxeObject = el;
+HXDLIN( 397) void* ptr = haxeObject.mPtr;
+HXDLIN( 397) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 397) if (::hx::IsNull( store )) {
+HXDLIN( 397) 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( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 397) void** ptr1 = (void**)x->getBase();
+HXDLIN( 397) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 397) if (::hx::IsNull( store1 )) {
+HXDLIN( 397) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),x));
+HXDLIN( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 397) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 397) return ( (size_t)(x->length) );
+ }
+
+
+size_t CommandSession_obj::forms__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_6429c0fb54981d0a_397_forms__fromC)
+HXDLIN( 397) ::Array< ::Dynamic> x = this->forms;
+HXDLIN( 397) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 397) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 397) {
+HXDLIN( 397) int _g = 0;
+HXDLIN( 397) while((_g < x->length)){
+HXDLIN( 397) ::borogove::Form el = x->__get(_g).StaticCast< ::borogove::Form >();
+HXDLIN( 397) _g = (_g + 1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic haxeObject = el;
+HXDLIN( 397) void* ptr = haxeObject.mPtr;
+HXDLIN( 397) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 397) if (::hx::IsNull( store )) {
+HXDLIN( 397) 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( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 397) void** ptr1 = (void**)x->getBase();
+HXDLIN( 397) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 397) if (::hx::IsNull( store1 )) {
+HXDLIN( 397) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),x));
+HXDLIN( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 397) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 397) return ( (size_t)(x->length) );
+ }
+
+
+::Dynamic CommandSession_obj::execute(::String action, ::borogove::FormSubmitBuilder data,::hx::Null< int > __o_formIdx){
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::borogove::CommandSession,_gthis,::Array< ::Dynamic>,toSubmit,::Array< ::String >,action1) HXARGC(2)
+ void _hx_run( ::Dynamic resolve, ::Dynamic reject){
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_0, ::borogove::CommandSession,_gthis, ::Dynamic,resolve, ::Dynamic,reject, ::borogove::queries::CommandExecute,exe1) HXARGC(0)
+ void _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_393ae15da757fdff_106_execute)
+HXLINE( 106) if (::hx::IsNull( exe1->getResult(_gthis->command) )) {
+HXLINE( 107) reject(exe1->responseStanza);
+ }
+ else {
+HXLINE( 109) ::Dynamic resolve1 = resolve;
+HXDLIN( 109) resolve1(exe1->getResult(_gthis->command));
+ }
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_393ae15da757fdff_103_execute)
+HXLINE( 104) ::String exe = _gthis->command->jid->asString();
+HXDLIN( 104) ::borogove::queries::CommandExecute exe1 = ::borogove::queries::CommandExecute_obj::__alloc( HX_CTX ,exe,_gthis->command->node,action1->__get(0),_gthis->sessionid,toSubmit->__get(0).StaticCast< ::borogove::Stanza >());
+HXLINE( 105) exe1->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,resolve,reject,exe1)));
+HXLINE( 112) _gthis->command->client->sendQuery(exe1);
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ int formIdx = __o_formIdx.Default(0);
+ HX_GC_STACKFRAME(&_hx_pos_393ae15da757fdff_83_execute)
+HXDLIN( 83) ::Array< ::String > action1 = ::Array_obj< ::String >::__new(1)->init(0,action);
+HXDLIN( 83) ::borogove::CommandSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 84) bool extendedAction;
+HXDLIN( 84) if (::hx::IsNotNull( action1->__get(0) )) {
+HXLINE( 84) extendedAction = !(::Array_obj< ::String >::fromData( _hx_array_data_36248418_10,5)->contains(action1->__get(0)));
+ }
+ else {
+HXLINE( 84) extendedAction = false;
+ }
+HXLINE( 85) ::Array< ::Dynamic> toSubmit = ::Array_obj< ::Dynamic>::__new(1)->init(0,null());
+HXLINE( 86) bool _hx_tmp;
+HXDLIN( 86) if (::hx::IsNull( data )) {
+HXLINE( 86) _hx_tmp = extendedAction;
+ }
+ else {
+HXLINE( 86) _hx_tmp = true;
+ }
+HXDLIN( 86) if (_hx_tmp) {
+HXLINE( 87) toSubmit[0] = this->forms->__get(formIdx).StaticCast< ::borogove::Form >()->submit(data);
+HXLINE( 88) bool _hx_tmp1;
+HXDLIN( 88) bool _hx_tmp2;
+HXDLIN( 88) if (::hx::IsNull( toSubmit->__get(0).StaticCast< ::borogove::Stanza >() )) {
+HXLINE( 88) _hx_tmp2 = (action1->__get(0) != HX_("cancel",7a,ed,33,b8));
+ }
+ else {
+HXLINE( 88) _hx_tmp2 = false;
+ }
+HXDLIN( 88) if (_hx_tmp2) {
+HXLINE( 88) _hx_tmp1 = (action1->__get(0) != HX_("prev",f3,be,5e,4a));
+ }
+ else {
+HXLINE( 88) _hx_tmp1 = false;
+ }
+HXDLIN( 88) if (_hx_tmp1) {
+HXLINE( 88) return ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("Invalid submission",75,fd,11,31));
+ }
+ }
+HXLINE( 91) if (extendedAction) {
+HXLINE( 92) if (::hx::IsNull( toSubmit->__get(0).StaticCast< ::borogove::Stanza >() )) {
+HXLINE( 92) 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))));
+ }
+HXLINE( 94) ::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( 95) if (::hx::IsNull( fld )) {
+HXLINE( 96) ::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( 96) _hx_tmp3->textTag(HX_("value",71,7f,b8,31),action1->__get(0),null())->up();
+ }
+ else {
+HXLINE( 98) ::borogove::_DataForm::Field_Impl__obj::set_value(fld,::Array_obj< ::String >::__new(1)->init(0,action1->__get(0)));
+ }
+HXLINE( 100) action1[0] = null();
+ }
+HXLINE( 103) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,toSubmit,action1)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC3(CommandSession_obj,execute,return )
+
+void CommandSession_obj::execute__fromC(::String action, ::borogove::FormSubmitBuilder data,::hx::Null< int > __o_formIdx,::cpp::Function< void (void*,void*) > handler,void* handler__context){
+ int formIdx = __o_formIdx.Default(0);
+ HX_STACKFRAME(&_hx_pos_6429c0fb54981d0a_313_execute__fromC)
+HXDLIN( 313) if (::hx::IsNull( handler )) {
+HXDLIN( 313) this->execute(action,data,formIdx);
+ }
+ 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::CommandSession v){
+ HX_STACKFRAME(&_hx_pos_6429c0fb54981d0a_313_execute__fromC)
+HXDLIN( 313) ::cpp::Function< void (void*,void*) > handler1 = handler;
+HXLINE( 297) ::Dynamic haxeObject = v;
+HXDLIN( 297) void* ptr = haxeObject.mPtr;
+HXDLIN( 297) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 297) {
+HXLINE( 297) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 297) if (::hx::IsNull( store )) {
+HXLINE( 297) 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( 297) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 297) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 313) 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_6429c0fb54981d0a_313_execute__fromC)
+HXDLIN( 313) handler(null(),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 313) ::thenshim::_Promise::Promise_Impl__obj::then(this->execute(action,data,formIdx), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+ }
+ }
+
+
+
+::hx::ObjectPtr< CommandSession_obj > CommandSession_obj::__new(::String status,::String sessionid,::Array< ::Dynamic> actions,::Array< ::Dynamic> forms, ::borogove::Command command) {
+ ::hx::ObjectPtr< CommandSession_obj > __this = new CommandSession_obj();
+ __this->__construct(status,sessionid,actions,forms,command);
+ return __this;
+}
+
+::hx::ObjectPtr< CommandSession_obj > CommandSession_obj::__alloc(::hx::Ctx *_hx_ctx,::String status,::String sessionid,::Array< ::Dynamic> actions,::Array< ::Dynamic> forms, ::borogove::Command command) {
+ CommandSession_obj *__this = (CommandSession_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(CommandSession_obj), true, "borogove.CommandSession"));
+ *(void **)__this = CommandSession_obj::_hx_vtable;
+ __this->__construct(status,sessionid,actions,forms,command);
+ return __this;
+}
+
+CommandSession_obj::CommandSession_obj()
+{
+}
+
+void CommandSession_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(CommandSession);
+ HX_MARK_MEMBER_NAME(name,"name");
+ HX_MARK_MEMBER_NAME(status,"status");
+ HX_MARK_MEMBER_NAME(actions,"actions");
+ HX_MARK_MEMBER_NAME(forms,"forms");
+ HX_MARK_MEMBER_NAME(sessionid,"sessionid");
+ HX_MARK_MEMBER_NAME(command,"command");
+ HX_MARK_END_CLASS();
+}
+
+void CommandSession_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(name,"name");
+ HX_VISIT_MEMBER_NAME(status,"status");
+ HX_VISIT_MEMBER_NAME(actions,"actions");
+ HX_VISIT_MEMBER_NAME(forms,"forms");
+ HX_VISIT_MEMBER_NAME(sessionid,"sessionid");
+ HX_VISIT_MEMBER_NAME(command,"command");
+}
+
+::hx::Val CommandSession_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"name") ) { return ::hx::Val( name ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"forms") ) { return ::hx::Val( forms ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"status") ) { return ::hx::Val( status ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"actions") ) { return ::hx::Val( actions ); }
+ if (HX_FIELD_EQ(inName,"command") ) { return ::hx::Val( command ); }
+ if (HX_FIELD_EQ(inName,"execute") ) { return ::hx::Val( execute_dyn() ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"sessionid") ) { return ::hx::Val( sessionid ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"name__fromC") ) { return ::hx::Val( name__fromC_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"status__fromC") ) { return ::hx::Val( status__fromC_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val CommandSession_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"name") ) { name=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"forms") ) { forms=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"status") ) { status=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"actions") ) { actions=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"command") ) { command=inValue.Cast< ::borogove::Command >(); return inValue; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"sessionid") ) { sessionid=inValue.Cast< ::String >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void CommandSession_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("name",4b,72,ff,48));
+ outFields->push(HX_("status",32,e7,fb,05));
+ outFields->push(HX_("actions",fd,03,2e,67));
+ outFields->push(HX_("forms",af,ba,94,04));
+ outFields->push(HX_("sessionid",b1,74,4d,bb));
+ outFields->push(HX_("command",4b,71,6d,81));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo CommandSession_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(CommandSession_obj,name),HX_("name",4b,72,ff,48)},
+ {::hx::fsString,(int)offsetof(CommandSession_obj,status),HX_("status",32,e7,fb,05)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(CommandSession_obj,actions),HX_("actions",fd,03,2e,67)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(CommandSession_obj,forms),HX_("forms",af,ba,94,04)},
+ {::hx::fsString,(int)offsetof(CommandSession_obj,sessionid),HX_("sessionid",b1,74,4d,bb)},
+ {::hx::fsObject /* ::borogove::Command */ ,(int)offsetof(CommandSession_obj,command),HX_("command",4b,71,6d,81)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *CommandSession_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String CommandSession_obj_sMemberFields[] = {
+ HX_("name",4b,72,ff,48),
+ HX_("name__fromC",8e,ad,66,0e),
+ HX_("status",32,e7,fb,05),
+ HX_("status__fromC",87,b3,25,a1),
+ HX_("actions",fd,03,2e,67),
+ HX_("forms",af,ba,94,04),
+ HX_("sessionid",b1,74,4d,bb),
+ HX_("command",4b,71,6d,81),
+ HX_("execute",35,0a,0d,cc),
+ ::String(null()) };
+
+::hx::Class CommandSession_obj::__mClass;
+
+void CommandSession_obj::__register()
+{
+ CommandSession_obj _hx_dummy;
+ CommandSession_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.CommandSession",18,84,24,36);
+ __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(CommandSession_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< CommandSession_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = CommandSession_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = CommandSession_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void CommandSession_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_393ae15da757fdff_46_boot)
+HXDLIN( 46) __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_("actions__fromC",1c,96,af,89), ::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_("forms__fromC",aa,f9,3e,a7), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(3,HX_("execute__fromC",e4,46,66,c0), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(4,HX_("execute",35,0a,0d,cc), ::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_("name__fromC",8e,ad,66,0e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
+ }
+}
+
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/Config.cpp b/Sources/c_borogove/src/borogove/Config.cpp
similarity index 73%
rename from Sources/c_snikket/src/snikket/Config.cpp
rename to Sources/c_borogove/src/borogove/Config.cpp
index 1d57306..e5b4c4c 100644
--- a/Sources/c_snikket/src/snikket/Config.cpp
+++ b/Sources/c_borogove/src/borogove/Config.cpp
@@ -1,17 +1,17 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_Config
-#include <snikket/Config.h>
+#ifndef INCLUDED_borogove_Config
+#include <borogove/Config.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_a6806de73179644b_355_relativeHashUri__fromC,"snikket.Config","relativeHashUri__fromC",0xa3a22842,"snikket.Config.relativeHashUri__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a6806de73179644b_366_set_relativeHashUri__fromC,"snikket.Config","set_relativeHashUri__fromC",0x09ca09ff,"snikket.Config.set_relativeHashUri__fromC","HaxeCBridge.hx",366,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_436f82850fb5d17e_29_enableConstrainedMemoryMode,"snikket.Config","enableConstrainedMemoryMode",0x9d5d973c,"snikket.Config.enableConstrainedMemoryMode","snikket/Config.hx",29,0x1047a1ca)
-HX_LOCAL_STACK_FRAME(_hx_pos_436f82850fb5d17e_13_boot,"snikket.Config","boot",0x250dffcd,"snikket.Config.boot","snikket/Config.hx",13,0x1047a1ca)
-HX_LOCAL_STACK_FRAME(_hx_pos_436f82850fb5d17e_20_boot,"snikket.Config","boot",0x250dffcd,"snikket.Config.boot","snikket/Config.hx",20,0x1047a1ca)
-HX_LOCAL_STACK_FRAME(_hx_pos_436f82850fb5d17e_23_boot,"snikket.Config","boot",0x250dffcd,"snikket.Config.boot","snikket/Config.hx",23,0x1047a1ca)
-namespace snikket{
+HX_LOCAL_STACK_FRAME(_hx_pos_06cb0b4de69e0443_423_relativeHashUri__fromC,"borogove.Config","relativeHashUri__fromC",0xac6e85e6,"borogove.Config.relativeHashUri__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_06cb0b4de69e0443_434_set_relativeHashUri__fromC,"borogove.Config","set_relativeHashUri__fromC",0x1a4009a3,"borogove.Config.set_relativeHashUri__fromC","HaxeCBridge.hx",434,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_c2167d2bad2b2046_29_enableConstrainedMemoryMode,"borogove.Config","enableConstrainedMemoryMode",0xf4274718,"borogove.Config.enableConstrainedMemoryMode","borogove/Config.hx",29,0x865ad56e)
+HX_LOCAL_STACK_FRAME(_hx_pos_c2167d2bad2b2046_13_boot,"borogove.Config","boot",0xad106471,"borogove.Config.boot","borogove/Config.hx",13,0x865ad56e)
+HX_LOCAL_STACK_FRAME(_hx_pos_c2167d2bad2b2046_20_boot,"borogove.Config","boot",0xad106471,"borogove.Config.boot","borogove/Config.hx",20,0x865ad56e)
+HX_LOCAL_STACK_FRAME(_hx_pos_c2167d2bad2b2046_23_boot,"borogove.Config","boot",0xad106471,"borogove.Config.boot","borogove/Config.hx",23,0x865ad56e)
+namespace borogove{
void Config_obj::__construct() { }
@@ -27,22 +27,22 @@ Dynamic Config_obj::__Create(::hx::DynamicArray inArgs)
}
bool Config_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x240d085f;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2cca1883;
}
bool Config_obj::relativeHashUri;
bool Config_obj::relativeHashUri__fromC(){
- HX_STACKFRAME(&_hx_pos_a6806de73179644b_355_relativeHashUri__fromC)
-HXDLIN( 355) return ::snikket::Config_obj::relativeHashUri;
+ HX_STACKFRAME(&_hx_pos_06cb0b4de69e0443_423_relativeHashUri__fromC)
+HXDLIN( 423) return ::borogove::Config_obj::relativeHashUri;
}
STATIC_HX_DEFINE_DYNAMIC_FUNC0(Config_obj,relativeHashUri__fromC,return )
void Config_obj::set_relativeHashUri__fromC(bool value){
- HX_STACKFRAME(&_hx_pos_a6806de73179644b_366_set_relativeHashUri__fromC)
-HXDLIN( 366) ::snikket::Config_obj::relativeHashUri = value;
+ HX_STACKFRAME(&_hx_pos_06cb0b4de69e0443_434_set_relativeHashUri__fromC)
+HXDLIN( 434) ::borogove::Config_obj::relativeHashUri = value;
}
@@ -51,10 +51,10 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(Config_obj,set_relativeHashUri__fromC,(void))
bool Config_obj::constrainedMemoryMode;
void Config_obj::enableConstrainedMemoryMode(){
- HX_STACKFRAME(&_hx_pos_436f82850fb5d17e_29_enableConstrainedMemoryMode)
+ HX_STACKFRAME(&_hx_pos_c2167d2bad2b2046_29_enableConstrainedMemoryMode)
HXLINE( 30) __hxcpp_set_minimum_free_space(500000);
HXLINE( 31) __hxcpp_set_target_free_space_percentage(5);
-HXLINE( 32) ::snikket::Config_obj::constrainedMemoryMode = true;
+HXLINE( 32) ::borogove::Config_obj::constrainedMemoryMode = true;
}
@@ -136,7 +136,7 @@ void Config_obj::__register()
Config_obj _hx_dummy;
Config_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Config",b3,8a,89,39);
+ __mClass->mName = HX_("borogove.Config",8f,68,69,7e);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -161,7 +161,7 @@ void Config_obj::__register()
void Config_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_436f82850fb5d17e_13_boot)
+ HX_STACKFRAME(&_hx_pos_c2167d2bad2b2046_13_boot)
HXDLIN( 13) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("statics",05,3c,65,36), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("relativeHashUri__fromC",e7,a9,89,83), ::Dynamic(::hx::Anon_obj::Create(1)
@@ -170,13 +170,13 @@ HXDLIN( 13) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
}
{
- HX_STACKFRAME(&_hx_pos_436f82850fb5d17e_20_boot)
+ HX_STACKFRAME(&_hx_pos_c2167d2bad2b2046_20_boot)
HXDLIN( 20) relativeHashUri = false;
}
{
- HX_STACKFRAME(&_hx_pos_436f82850fb5d17e_23_boot)
+ HX_STACKFRAME(&_hx_pos_c2167d2bad2b2046_23_boot)
HXDLIN( 23) constrainedMemoryMode = false;
}
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/CustomEmojiReaction.cpp b/Sources/c_borogove/src/borogove/CustomEmojiReaction.cpp
similarity index 58%
rename from Sources/c_snikket/src/snikket/CustomEmojiReaction.cpp
rename to Sources/c_borogove/src/borogove/CustomEmojiReaction.cpp
index c546739..e24b3a2 100644
--- a/Sources/c_snikket/src/snikket/CustomEmojiReaction.cpp
+++ b/Sources/c_borogove/src/borogove/CustomEmojiReaction.cpp
@@ -1,26 +1,27 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_CustomEmojiReaction
-#include <snikket/CustomEmojiReaction.h>
+#ifndef INCLUDED_borogove_CustomEmojiReaction
+#include <borogove/CustomEmojiReaction.h>
#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
#endif
-#ifndef INCLUDED_snikket_Reaction
-#include <snikket/Reaction.h>
+#ifndef INCLUDED_borogove_Reaction
+#include <borogove/Reaction.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_6c2890a46980c7c5_46_new,"snikket.CustomEmojiReaction","new",0x0196cbbf,"snikket.CustomEmojiReaction.new","snikket/Reaction.hx",46,0x19ff1ac3)
-HX_LOCAL_STACK_FRAME(_hx_pos_2e818d33177b7606_355_uri__fromC,"snikket.CustomEmojiReaction","uri__fromC",0xf2c1890e,"snikket.CustomEmojiReaction.uri__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_6c2890a46980c7c5_52_render,"snikket.CustomEmojiReaction","render",0xe0809557,"snikket.CustomEmojiReaction.render","snikket/Reaction.hx",52,0x19ff1ac3)
-HX_LOCAL_STACK_FRAME(_hx_pos_6c2890a46980c7c5_42_boot,"snikket.CustomEmojiReaction","boot",0x5a747bf3,"snikket.CustomEmojiReaction.boot","snikket/Reaction.hx",42,0x19ff1ac3)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_1234d3fa119c5de7_81_new,"borogove.CustomEmojiReaction","new",0x64ef9663,"borogove.CustomEmojiReaction.new","borogove/Reaction.hx",81,0xa2017f67)
+HX_LOCAL_STACK_FRAME(_hx_pos_e46c6e7afc257d99_423_uri__fromC,"borogove.CustomEmojiReaction","uri__fromC",0x9cc71aea,"borogove.CustomEmojiReaction.uri__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_1234d3fa119c5de7_99_render,"borogove.CustomEmojiReaction","render",0x15a90933,"borogove.CustomEmojiReaction.render","borogove/Reaction.hx",99,0xa2017f67)
+HX_LOCAL_STACK_FRAME(_hx_pos_1234d3fa119c5de7_94_custom,"borogove.CustomEmojiReaction","custom",0x5012258e,"borogove.CustomEmojiReaction.custom","borogove/Reaction.hx",94,0xa2017f67)
+HX_LOCAL_STACK_FRAME(_hx_pos_1234d3fa119c5de7_77_boot,"borogove.CustomEmojiReaction","boot",0xe4cd00cf,"borogove.CustomEmojiReaction.boot","borogove/Reaction.hx",77,0xa2017f67)
+namespace borogove{
void CustomEmojiReaction_obj::__construct(::String senderId,::String timestamp,::String text,::String uri,::String envelopeId){
- HX_STACKFRAME(&_hx_pos_6c2890a46980c7c5_46_new)
-HXLINE( 47) super::__construct(senderId,timestamp,text,envelopeId,uri);
-HXLINE( 48) this->uri = uri;
+ HX_STACKFRAME(&_hx_pos_1234d3fa119c5de7_81_new)
+HXLINE( 82) super::__construct(senderId,timestamp,text,envelopeId,uri);
+HXLINE( 83) this->uri = uri;
}
Dynamic CustomEmojiReaction_obj::__CreateEmpty() { return new CustomEmojiReaction_obj; }
@@ -35,43 +36,51 @@ Dynamic CustomEmojiReaction_obj::__Create(::hx::DynamicArray inArgs)
}
bool CustomEmojiReaction_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x1e93c5e9) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x1e93c5e9;
+ if (inClassId<=(int)0x5a715baa) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x5a715baa;
} else {
- return inClassId==(int)0x7f8e2b4a;
+ return inClassId==(int)0x7eb2d979;
}
}
::String CustomEmojiReaction_obj::uri__fromC(){
- HX_STACKFRAME(&_hx_pos_2e818d33177b7606_355_uri__fromC)
-HXDLIN( 355) return this->uri;
+ HX_STACKFRAME(&_hx_pos_e46c6e7afc257d99_423_uri__fromC)
+HXDLIN( 423) return this->uri;
}
HX_DEFINE_DYNAMIC_FUNC0(CustomEmojiReaction_obj,uri__fromC,return )
- ::Dynamic CustomEmojiReaction_obj::render( ::Dynamic forText, ::Dynamic forImage){
- HX_STACKFRAME(&_hx_pos_6c2890a46980c7c5_52_render)
-HXLINE( 53) ::snikket::Hash hash = ::snikket::Hash_obj::fromUri(this->uri);
-HXLINE( 54) ::String _hx_tmp = this->text;
-HXDLIN( 54) ::String tmp;
-HXDLIN( 54) if (::hx::IsNotNull( hash )) {
-HXLINE( 54) tmp = hash->toUri();
+::String CustomEmojiReaction_obj::render( ::Dynamic forText, ::Dynamic forImage){
+ HX_STACKFRAME(&_hx_pos_1234d3fa119c5de7_99_render)
+HXLINE( 103) ::borogove::Hash hash = ::borogove::Hash_obj::fromUri(this->uri);
+HXLINE( 104) ::String _hx_tmp = this->text;
+HXDLIN( 104) ::String tmp;
+HXDLIN( 104) if (::hx::IsNotNull( hash )) {
+HXLINE( 104) tmp = hash->toUri();
}
else {
-HXLINE( 54) tmp = null();
+HXLINE( 104) tmp = null();
}
-HXDLIN( 54) ::String _hx_tmp1;
-HXDLIN( 54) if (::hx::IsNotNull( tmp )) {
-HXLINE( 54) _hx_tmp1 = tmp;
+HXDLIN( 104) ::String _hx_tmp1;
+HXDLIN( 104) if (::hx::IsNotNull( tmp )) {
+HXLINE( 104) _hx_tmp1 = tmp;
}
else {
-HXLINE( 54) _hx_tmp1 = this->uri;
+HXLINE( 104) _hx_tmp1 = this->uri;
}
-HXDLIN( 54) return forImage(_hx_tmp,_hx_tmp1);
+HXDLIN( 104) return ( (::String)(forImage(_hx_tmp,_hx_tmp1)) );
}
+ ::borogove::CustomEmojiReaction CustomEmojiReaction_obj::custom(::String text,::String uri){
+ HX_GC_STACKFRAME(&_hx_pos_1234d3fa119c5de7_94_custom)
+HXDLIN( 94) return ::borogove::CustomEmojiReaction_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),HX_("",00,00,00,00),text,uri,null());
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(CustomEmojiReaction_obj,custom,return )
+
::hx::ObjectPtr< CustomEmojiReaction_obj > CustomEmojiReaction_obj::__new(::String senderId,::String timestamp,::String text,::String uri,::String envelopeId) {
::hx::ObjectPtr< CustomEmojiReaction_obj > __this = new CustomEmojiReaction_obj();
@@ -80,7 +89,7 @@ HXDLIN( 54) return forImage(_hx_tmp,_hx_tmp1);
}
::hx::ObjectPtr< CustomEmojiReaction_obj > CustomEmojiReaction_obj::__alloc(::hx::Ctx *_hx_ctx,::String senderId,::String timestamp,::String text,::String uri,::String envelopeId) {
- CustomEmojiReaction_obj *__this = (CustomEmojiReaction_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(CustomEmojiReaction_obj), true, "snikket.CustomEmojiReaction"));
+ CustomEmojiReaction_obj *__this = (CustomEmojiReaction_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(CustomEmojiReaction_obj), true, "borogove.CustomEmojiReaction"));
*(void **)__this = CustomEmojiReaction_obj::_hx_vtable;
__this->__construct(senderId,timestamp,text,uri,envelopeId);
return __this;
@@ -94,14 +103,14 @@ void CustomEmojiReaction_obj::__Mark(HX_MARK_PARAMS)
{
HX_MARK_BEGIN_CLASS(CustomEmojiReaction);
HX_MARK_MEMBER_NAME(uri,"uri");
- ::snikket::Reaction_obj::__Mark(HX_MARK_ARG);
+ ::borogove::Reaction_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
void CustomEmojiReaction_obj::__Visit(HX_VISIT_PARAMS)
{
HX_VISIT_MEMBER_NAME(uri,"uri");
- ::snikket::Reaction_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::Reaction_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val CustomEmojiReaction_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -119,6 +128,15 @@ void CustomEmojiReaction_obj::__Visit(HX_VISIT_PARAMS)
return super::__Field(inName,inCallProp);
}
+bool CustomEmojiReaction_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 6:
+ if (HX_FIELD_EQ(inName,"custom") ) { outValue = custom_dyn(); return true; }
+ }
+ return false;
+}
+
::hx::Val CustomEmojiReaction_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
{
switch(inName.length) {
@@ -150,18 +168,23 @@ static ::String CustomEmojiReaction_obj_sMemberFields[] = {
::hx::Class CustomEmojiReaction_obj::__mClass;
+static ::String CustomEmojiReaction_obj_sStaticFields[] = {
+ HX_("custom",b1,87,92,3f),
+ ::String(null())
+};
+
void CustomEmojiReaction_obj::__register()
{
CustomEmojiReaction_obj _hx_dummy;
CustomEmojiReaction_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.CustomEmojiReaction",4d,80,c0,e2);
+ __mClass->mName = HX_("borogove.CustomEmojiReaction",f1,28,6e,ac);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
+ __mClass->mGetStaticField = &CustomEmojiReaction_obj::__GetStatic;
__mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(0 /* sStaticFields */);
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(CustomEmojiReaction_obj_sStaticFields);
__mClass->mMembers = ::hx::Class_obj::dupFunctions(CustomEmojiReaction_obj_sMemberFields);
__mClass->mCanCast = ::hx::TCanCast< CustomEmojiReaction_obj >;
#ifdef HXCPP_SCRIPTABLE
@@ -176,8 +199,8 @@ void CustomEmojiReaction_obj::__register()
void CustomEmojiReaction_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_6c2890a46980c7c5_42_boot)
-HXDLIN( 42) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_1234d3fa119c5de7_77_boot)
+HXDLIN( 77) __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_("uri__fromC",8d,ca,26,b8), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
@@ -186,4 +209,4 @@ HXDLIN( 42) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
}
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/Date.cpp b/Sources/c_borogove/src/borogove/Date.cpp
similarity index 88%
rename from Sources/c_snikket/src/snikket/Date.cpp
rename to Sources/c_borogove/src/borogove/Date.cpp
index f418f22..0f0ccac 100644
--- a/Sources/c_snikket/src/snikket/Date.cpp
+++ b/Sources/c_borogove/src/borogove/Date.cpp
@@ -10,12 +10,12 @@
#ifndef INCLUDED_StringTools
#include <StringTools.h>
#endif
-#ifndef INCLUDED_snikket_Date
-#include <snikket/Date.h>
+#ifndef INCLUDED_borogove_Date
+#include <borogove/Date.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_44405615e75f4942_4_format,"snikket.Date","format",0x561fb3e6,"snikket.Date.format","snikket/Date.hx",4,0x5c2a2e5e)
-namespace snikket{
+HX_LOCAL_STACK_FRAME(_hx_pos_e9a97f36ef85ee32_4_format,"borogove.Date","format",0xde22188a,"borogove.Date.format","borogove/Date.hx",4,0x5b2c7102)
+namespace borogove{
void Date_obj::__construct() { }
@@ -31,11 +31,11 @@ Dynamic Date_obj::__Create(::hx::DynamicArray inArgs)
}
bool Date_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x030f768b;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2b7375af;
}
::String Date_obj::format( ::Date d){
- HX_STACKFRAME(&_hx_pos_44405615e75f4942_4_format)
+ HX_STACKFRAME(&_hx_pos_e9a97f36ef85ee32_4_format)
HXLINE( 5) Float millis = d->getTime();
HXLINE( 6) int frac = ::Std_obj::_hx_int((millis - (( (Float)(::Std_obj::_hx_int((millis / ( (Float)(1000) )))) ) * ((Float)1000.0))));
HXLINE( 7) ::String _hx_tmp = (::Std_obj::string(d->getUTCFullYear()) + HX_("-",2d,00,00,00));
@@ -81,7 +81,7 @@ void Date_obj::__register()
Date_obj _hx_dummy;
Date_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Date",df,fb,20,4d);
+ __mClass->mName = HX_("borogove.Date",bb,6a,a2,db);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -99,4 +99,4 @@ void Date_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/DirectChat.cpp b/Sources/c_borogove/src/borogove/DirectChat.cpp
new file mode 100644
index 0000000..5114cd3
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/DirectChat.cpp
@@ -0,0 +1,1008 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Date
+#include <Date.h>
+#endif
+#ifndef INCLUDED_Lambda
+#include <Lambda.h>
+#endif
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_borogove_Chat
+#include <borogove/Chat.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessageBuilder
+#include <borogove/ChatMessageBuilder.h>
+#endif
+#ifndef INCLUDED_borogove_Client
+#include <borogove/Client.h>
+#endif
+#ifndef INCLUDED_borogove_CustomEmojiReaction
+#include <borogove/CustomEmojiReaction.h>
+#endif
+#ifndef INCLUDED_borogove_Date
+#include <borogove/Date.h>
+#endif
+#ifndef INCLUDED_borogove_DirectChat
+#include <borogove/DirectChat.h>
+#endif
+#ifndef INCLUDED_borogove_EncryptionInfo
+#include <borogove/EncryptionInfo.h>
+#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
+#endif
+#ifndef INCLUDED_borogove_GenericStream
+#include <borogove/GenericStream.h>
+#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.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_MessageSync
+#include <borogove/MessageSync.h>
+#endif
+#ifndef INCLUDED_borogove_Outbox
+#include <borogove/Outbox.h>
+#endif
+#ifndef INCLUDED_borogove_OutboxItem
+#include <borogove/OutboxItem.h>
+#endif
+#ifndef INCLUDED_borogove_Participant
+#include <borogove/Participant.h>
+#endif
+#ifndef INCLUDED_borogove_Persistence
+#include <borogove/Persistence.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_Log
+#include <haxe/Log.h>
+#endif
+#ifndef INCLUDED_haxe_Timer
+#include <haxe/Timer.h>
+#endif
+#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_e6282dde58caedf0_937_new,"borogove.DirectChat","new",0xe0794ae0,"borogove.DirectChat.new","borogove/Chat.hx",937,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_957_getParticipants,"borogove.DirectChat","getParticipants",0xd47a4596,"borogove.DirectChat.getParticipants","borogove/Chat.hx",957,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_943_getParticipants,"borogove.DirectChat","getParticipants",0xd47a4596,"borogove.DirectChat.getParticipants","borogove/Chat.hx",943,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_961_counterparts,"borogove.DirectChat","counterparts",0x8dab4624,"borogove.DirectChat.counterparts","borogove/Chat.hx",961,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_965_getParticipantDetails,"borogove.DirectChat","getParticipantDetails",0xdd134605,"borogove.DirectChat.getParticipantDetails","borogove/Chat.hx",965,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_973_getMessagesBefore,"borogove.DirectChat","getMessagesBefore",0x701bcc21,"borogove.DirectChat.getMessagesBefore","borogove/Chat.hx",973,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_971_getMessagesBefore,"borogove.DirectChat","getMessagesBefore",0x701bcc21,"borogove.DirectChat.getMessagesBefore","borogove/Chat.hx",971,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_990_getMessagesAfter,"borogove.DirectChat","getMessagesAfter",0x74b138ba,"borogove.DirectChat.getMessagesAfter","borogove/Chat.hx",990,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_985_getMessagesAfter,"borogove.DirectChat","getMessagesAfter",0x74b138ba,"borogove.DirectChat.getMessagesAfter","borogove/Chat.hx",985,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1004_getMessagesAround,"borogove.DirectChat","getMessagesAround",0x8bed6fef,"borogove.DirectChat.getMessagesAround","borogove/Chat.hx",1004,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1008_prepareIncomingMessage,"borogove.DirectChat","prepareIncomingMessage",0xf788013a,"borogove.DirectChat.prepareIncomingMessage","borogove/Chat.hx",1008,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1013_prepareOutgoingMessage,"borogove.DirectChat","prepareOutgoingMessage",0x5db4c674,"borogove.DirectChat.prepareOutgoingMessage","borogove/Chat.hx",1013,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1031_correctMessage,"borogove.DirectChat","correctMessage",0x06b2cbfd,"borogove.DirectChat.correctMessage","borogove/Chat.hx",1031,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1025_correctMessage,"borogove.DirectChat","correctMessage",0x06b2cbfd,"borogove.DirectChat.correctMessage","borogove/Chat.hx",1025,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1044_sendMessage,"borogove.DirectChat","sendMessage",0xb60183df,"borogove.DirectChat.sendMessage","borogove/Chat.hx",1044,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1054_sendMessage,"borogove.DirectChat","sendMessage",0xb60183df,"borogove.DirectChat.sendMessage","borogove/Chat.hx",1054,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1067_sendMessage,"borogove.DirectChat","sendMessage",0xb60183df,"borogove.DirectChat.sendMessage","borogove/Chat.hx",1067,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1104_removeReaction,"borogove.DirectChat","removeReaction",0xd2fab98d,"borogove.DirectChat.removeReaction","borogove/Chat.hx",1104,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1081_removeReaction,"borogove.DirectChat","removeReaction",0xd2fab98d,"borogove.DirectChat.removeReaction","borogove/Chat.hx",1081,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1096_removeReaction,"borogove.DirectChat","removeReaction",0xd2fab98d,"borogove.DirectChat.removeReaction","borogove/Chat.hx",1096,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1136_sendMessageStanza,"borogove.DirectChat","sendMessageStanza",0x9c440734,"borogove.DirectChat.sendMessageStanza","borogove/Chat.hx",1136,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1135_sendMessageStanza,"borogove.DirectChat","sendMessageStanza",0x9c440734,"borogove.DirectChat.sendMessageStanza","borogove/Chat.hx",1135,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1110_sendMessageStanza,"borogove.DirectChat","sendMessageStanza",0x9c440734,"borogove.DirectChat.sendMessageStanza","borogove/Chat.hx",1110,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1145_lastMessageId,"borogove.DirectChat","lastMessageId",0xf6102acc,"borogove.DirectChat.lastMessageId","borogove/Chat.hx",1145,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1150_markReadUpTo,"borogove.DirectChat","markReadUpTo",0x03c49dd9,"borogove.DirectChat.markReadUpTo","borogove/Chat.hx",1150,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1168_markReadUpTo,"borogove.DirectChat","markReadUpTo",0x03c49dd9,"borogove.DirectChat.markReadUpTo","borogove/Chat.hx",1168,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1149_markReadUpTo,"borogove.DirectChat","markReadUpTo",0x03c49dd9,"borogove.DirectChat.markReadUpTo","borogove/Chat.hx",1149,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1187_bookmark,"borogove.DirectChat","bookmark",0x64600236,"borogove.DirectChat.bookmark","borogove/Chat.hx",1187,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1172_bookmark,"borogove.DirectChat","bookmark",0x64600236,"borogove.DirectChat.bookmark","borogove/Chat.hx",1172,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1195_sendChatState,"borogove.DirectChat","sendChatState",0x3d4cbc31,"borogove.DirectChat.sendChatState","borogove/Chat.hx",1195,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1215_close,"borogove.DirectChat","close",0x98bc3238,"borogove.DirectChat.close","borogove/Chat.hx",1215,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_935_boot,"borogove.DirectChat","boot",0x81c139b2,"borogove.DirectChat.boot","borogove/Chat.hx",935,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_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy,::Array< int > omemoContactDeviceIDs){
+ int uiState = __o_uiState.Default(1);
+ bool isBlocked = __o_isBlocked.Default(false);
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_937_new)
+HXLINE( 938) super::__construct(client,stream,persistence,chatId,uiState,isBlocked,extensions,readUpToId,readUpToBy,omemoContactDeviceIDs);
+HXLINE( 939) this->outbox->start();
+ }
+
+Dynamic DirectChat_obj::__CreateEmpty() { return new DirectChat_obj; }
+
+void *DirectChat_obj::_hx_vtable = 0;
+
+Dynamic DirectChat_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< DirectChat_obj > _hx_result = new DirectChat_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4],inArgs[5],inArgs[6],inArgs[7],inArgs[8],inArgs[9]);
+ return _hx_result;
+}
+
+bool DirectChat_obj::_hx_isInstanceOf(int inClassId) {
+ if (inClassId<=(int)0x2acf7e59) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2acf7e59;
+ } else {
+ return inClassId==(int)0x31b454e2;
+ }
+}
+
+::Array< ::String > DirectChat_obj::getParticipants(){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::haxe::ds::StringMap,ids) HXARGC(0)
+ ::Dynamic _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_957_getParticipants)
+HXLINE( 957) return ids->keys();
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_943_getParticipants)
+HXLINE( 944) ::Array< ::String > counters = this->counterparts();
+HXLINE( 945) ::haxe::ds::StringMap ids = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 946) bool _hx_tmp;
+HXDLIN( 946) if ((counters->length < 2)) {
+HXLINE( 946) ::borogove::ChatMessage tmp = this->lastMessage;
+HXDLIN( 946) ::Array< ::Dynamic> tmp1;
+HXDLIN( 946) if (::hx::IsNotNull( tmp )) {
+HXLINE( 946) tmp1 = tmp->recipients;
+ }
+ else {
+HXLINE( 946) tmp1 = null();
+ }
+HXDLIN( 946) ::Dynamic tmp2;
+HXDLIN( 946) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 946) tmp2 = tmp1->length;
+ }
+ else {
+HXLINE( 946) tmp2 = null();
+ }
+HXDLIN( 946) int _hx_tmp1;
+HXDLIN( 946) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 946) _hx_tmp1 = ( (int)(tmp2) );
+ }
+ else {
+HXLINE( 946) _hx_tmp1 = 0;
+ }
+HXDLIN( 946) _hx_tmp = (_hx_tmp1 > 1);
+ }
+ else {
+HXLINE( 946) _hx_tmp = false;
+ }
+HXDLIN( 946) if (_hx_tmp) {
+HXLINE( 947) ids->set(this->lastMessage->senderId,true);
+HXLINE( 948) {
+HXLINE( 948) int _g = 0;
+HXDLIN( 948) ::Array< ::Dynamic> _this = this->lastMessage->recipients;
+HXDLIN( 948) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 948) {
+HXLINE( 948) int _g1 = 0;
+HXDLIN( 948) int _g2 = _this->length;
+HXDLIN( 948) while((_g1 < _g2)){
+HXLINE( 948) _g1 = (_g1 + 1);
+HXDLIN( 948) int i = (_g1 - 1);
+HXDLIN( 948) {
+HXLINE( 948) ::String inValue = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this,i)) )->asString();
+HXDLIN( 948) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 948) while((_g < result->length)){
+HXLINE( 948) ::String id = result->__get(_g);
+HXDLIN( 948) _g = (_g + 1);
+HXLINE( 949) ids->set(id,true);
+ }
+ }
+ }
+ else {
+HXLINE( 952) {
+HXLINE( 952) ::String k = this->client->accountId();
+HXDLIN( 952) ids->set(k,true);
+ }
+HXLINE( 953) {
+HXLINE( 953) int _g3 = 0;
+HXDLIN( 953) ::Array< ::String > _g4 = this->counterparts();
+HXDLIN( 953) while((_g3 < _g4->length)){
+HXLINE( 953) ::String id1 = _g4->__get(_g3);
+HXDLIN( 953) _g3 = (_g3 + 1);
+HXLINE( 954) ids->set(id1,true);
+ }
+ }
+ }
+HXLINE( 957) return ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(ids)))));
+ }
+
+
+::Array< ::String > DirectChat_obj::counterparts(){
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_961_counterparts)
+HXDLIN( 961) return this->chatId.split(HX_("\n",0a,00,00,00));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(DirectChat_obj,counterparts,return )
+
+ ::borogove::Participant DirectChat_obj::getParticipantDetails(::String participantId){
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_965_getParticipantDetails)
+HXLINE( 966) ::borogove::DirectChat chat = this->client->getDirectChat(participantId,null());
+HXLINE( 967) ::String _hx_tmp = chat->getDisplayName();
+HXDLIN( 967) ::String _hx_tmp1 = chat->getPhoto();
+HXDLIN( 967) ::String _hx_tmp2 = chat->getPlaceholder();
+HXDLIN( 967) ::String chat1 = chat->chatId;
+HXDLIN( 967) bool _hx_tmp3 = (chat1 == this->client->accountId());
+HXDLIN( 967) return ::borogove::Participant_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,_hx_tmp2,_hx_tmp3,::borogove::JID_obj::parse(participantId));
+ }
+
+
+::Dynamic DirectChat_obj::getMessagesBefore(::String beforeId,::String beforeTime){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::DirectChat,_gthis,::String,beforeId) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> messages){
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_973_getMessagesBefore)
+HXLINE( 973) if ((messages->length > 0)) {
+HXLINE( 974) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
+ }
+ else {
+HXLINE( 976) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("with",06,76,f8,4e),_gthis->chatId));
+HXLINE( 977) if (::hx::IsNotNull( beforeId )) {
+HXLINE( 977) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("before",7f,54,32,9a),beforeId)),::hx::paccDynamic);
+ }
+HXLINE( 978) ::borogove::MessageSync sync = ::borogove::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,null());
+HXLINE( 979) return _gthis->fetchFromSync(sync);
+ }
+HXLINE( 973) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_971_getMessagesBefore)
+HXDLIN( 971) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 972) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN( 972) ::String _hx_tmp1 = this->client->accountId();
+HXDLIN( 972) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesBefore(_hx_tmp,_hx_tmp1,this->chatId,beforeId,beforeTime), ::Dynamic(new _hx_Closure_0(_gthis,beforeId)),null());
+ }
+
+
+::Dynamic DirectChat_obj::getMessagesAfter(::String afterId,::String afterTime){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::DirectChat,_gthis,::String,afterId) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> messages){
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_990_getMessagesAfter)
+HXLINE( 990) if ((messages->length > 0)) {
+HXLINE( 991) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
+ }
+ else {
+HXLINE( 993) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("with",06,76,f8,4e),_gthis->chatId));
+HXLINE( 994) if (::hx::IsNotNull( afterId )) {
+HXLINE( 994) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("after",1c,66,a2,1d),afterId)),::hx::paccDynamic);
+ }
+HXLINE( 995) ::borogove::MessageSync sync = ::borogove::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,null());
+HXLINE( 996) return _gthis->fetchFromSync(sync);
+ }
+HXLINE( 990) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_985_getMessagesAfter)
+HXDLIN( 985) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 986) bool _hx_tmp;
+HXDLIN( 986) ::String afterId1 = afterId;
+HXDLIN( 986) if ((afterId1 == this->lastMessageId())) {
+HXLINE( 986) _hx_tmp = !(this->syncing());
+ }
+ else {
+HXLINE( 986) _hx_tmp = false;
+ }
+HXDLIN( 986) if (_hx_tmp) {
+HXLINE( 987) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+HXLINE( 989) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN( 989) ::String _hx_tmp2 = this->client->accountId();
+HXDLIN( 989) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesAfter(_hx_tmp1,_hx_tmp2,this->chatId,afterId,afterTime), ::Dynamic(new _hx_Closure_0(_gthis,afterId)),null());
+ }
+
+
+::Dynamic DirectChat_obj::getMessagesAround(::String aroundId,::String aroundTime){
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1004_getMessagesAround)
+HXDLIN(1004) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(1004) ::String _hx_tmp1 = this->client->accountId();
+HXDLIN(1004) return ::borogove::Persistence_obj::getMessagesAround(_hx_tmp,_hx_tmp1,this->chatId,aroundId,aroundTime);
+ }
+
+
+ ::borogove::ChatMessageBuilder DirectChat_obj::prepareIncomingMessage( ::borogove::ChatMessageBuilder message, ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1008_prepareIncomingMessage)
+HXLINE(1009) message->syncPoint = !(this->syncing());
+HXLINE(1010) return message;
+ }
+
+
+ ::borogove::ChatMessageBuilder DirectChat_obj::prepareOutgoingMessage( ::borogove::ChatMessageBuilder message){
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1013_prepareOutgoingMessage)
+HXLINE(1014) ::String tmp = message->timestamp;
+HXDLIN(1014) ::String _hx_tmp;
+HXDLIN(1014) if (::hx::IsNotNull( tmp )) {
+HXLINE(1014) _hx_tmp = tmp;
+ }
+ else {
+HXLINE(1014) _hx_tmp = ::borogove::Date_obj::format(::Date_obj::now());
+ }
+HXDLIN(1014) message->timestamp = _hx_tmp;
+HXLINE(1015) message->direction = 1;
+HXLINE(1016) message->from = this->client->jid;
+HXLINE(1017) message->sender = message->from->asBare();
+HXLINE(1018) message->replyTo = ::Array_obj< ::Dynamic>::__new(1)->init(0,message->sender);
+HXLINE(1019) ::Array< ::String > _this = this->counterparts();
+HXDLIN(1019) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN(1019) {
+HXLINE(1019) int _g = 0;
+HXDLIN(1019) int _g1 = _this->length;
+HXDLIN(1019) while((_g < _g1)){
+HXLINE(1019) _g = (_g + 1);
+HXDLIN(1019) int i = (_g - 1);
+HXDLIN(1019) {
+HXLINE(1019) ::borogove::JID inValue = ::borogove::JID_obj::parse(( (::String)(_hx_array_unsafe_get(_this,i)) ));
+HXDLIN(1019) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN(1019) message->recipients = result;
+HXLINE(1020) message->to = message->recipients->__get(0).StaticCast< ::borogove::JID >();
+HXLINE(1021) return message;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(DirectChat_obj,prepareOutgoingMessage,return )
+
+void DirectChat_obj::correctMessage(::String localId, ::borogove::ChatMessageBuilder message){
+ HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_0, ::borogove::DirectChat,_gthis,::Array< ::Dynamic>,message1,::String,localId,::String,toSendId, ::borogove::OutboxItem,outboxItem) HXARGC(1)
+ void _hx_run(::Array< ::Dynamic> corrected){
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1031_correctMessage)
+HXLINE(1032) ::Array< ::Dynamic> _hx_tmp;
+HXDLIN(1032) ::borogove::ChatMessage tmp = corrected->__get(0).StaticCast< ::borogove::ChatMessage >()->versions->__get((corrected->__get(0).StaticCast< ::borogove::ChatMessage >()->versions->length - 1)).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1032) ::String _hx_tmp1;
+HXDLIN(1032) if (::hx::IsNotNull( tmp )) {
+HXLINE(1032) _hx_tmp1 = tmp->localId;
+ }
+ else {
+HXLINE(1032) _hx_tmp1 = null();
+ }
+HXDLIN(1032) if ((_hx_tmp1 == localId)) {
+HXLINE(1032) _hx_tmp = corrected->__get(0).StaticCast< ::borogove::ChatMessage >()->versions;
+ }
+ else {
+HXLINE(1032) _hx_tmp = ::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build());
+ }
+HXDLIN(1032) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->versions = _hx_tmp;
+HXLINE(1033) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId = toSendId;
+HXLINE(1034) ::borogove::DirectChat _gthis1 = _gthis;
+HXDLIN(1034) ::borogove::Stanza _hx_tmp2 = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
+HXDLIN(1034) _gthis1->sendMessageStanza(_hx_tmp2,outboxItem);
+HXLINE(1035) ::borogove::ChatMessage tmp1 = _gthis->lastMessage;
+HXDLIN(1035) ::String _hx_tmp3;
+HXDLIN(1035) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1035) _hx_tmp3 = tmp1->localId;
+ }
+ else {
+HXLINE(1035) _hx_tmp3 = null();
+ }
+HXDLIN(1035) if ((localId == _hx_tmp3)) {
+HXLINE(1036) _gthis->setLastMessage(corrected->__get(0).StaticCast< ::borogove::ChatMessage >());
+HXLINE(1037) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+ }
+HXLINE(1039) _gthis->client->notifyMessageHandlers(corrected->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1025_correctMessage)
+HXDLIN(1025) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
+HXDLIN(1025) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1026) ::String toSendId = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId;
+HXLINE(1027) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >());
+HXLINE(1028) ::borogove::ChatMessage _hx_tmp = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build();
+HXDLIN(1028) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,_hx_tmp);
+HXLINE(1029) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId = localId;
+HXLINE(1030) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
+HXLINE(1031) ::borogove::Client _hx_tmp1 = this->client;
+HXDLIN(1031) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp1->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build())), ::Dynamic(new _hx_Closure_0(_gthis,message1,localId,toSendId,outboxItem)),null());
+ }
+
+
+void DirectChat_obj::sendMessage( ::borogove::ChatMessageBuilder message){
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1044_sendMessage)
+HXDLIN(1044) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
+HXDLIN(1044) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1045) if ((this->uiState == 3)) {
+HXLINE(1045) this->uiState = 1;
+ }
+HXLINE(1046) if (::hx::IsNotNull( this->typingTimer )) {
+HXLINE(1046) this->typingTimer->stop();
+ }
+HXLINE(1047) this->client->chatActivity(::hx::ObjectPtr<OBJ_>(this),null());
+HXLINE(1048) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >());
+HXLINE(1049) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->to = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->recipients->__get(0).StaticCast< ::borogove::JID >();
+HXLINE(1050) ::borogove::Stanza fromStanza = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
+HXDLIN(1050) ::borogove::MessageStanza fromStanza1 = ::borogove::Message_obj::fromStanza(fromStanza,this->client->jid,null(),null())->parsed;
+HXLINE(1051) switch((int)(fromStanza1->_hx_getIndex())){
+ case (int)1: {
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::DirectChat,_gthis,::Array< ::Dynamic>,message1, ::borogove::OutboxItem,outboxItem) HXARGC(1)
+ ::borogove::EventResult _hx_run(::Array< ::Dynamic> stored){
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1054_sendMessage)
+HXLINE(1055) ::borogove::Stanza stanza = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
+HXLINE(1056) if (::hx::IsNotNull( _gthis->isActive )) {
+HXLINE(1057) _gthis->isActive = true;
+HXLINE(1058) _gthis->activeThread = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->threadId;
+HXLINE(1059) 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(1061) _gthis->sendMessageStanza(stanza,outboxItem);
+HXLINE(1062) ::borogove::DirectChat _gthis1 = _gthis;
+HXDLIN(1062) _gthis1->setLastMessage(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build());
+HXLINE(1063) int _hx_tmp;
+HXDLIN(1063) if ((stored->__get(0).StaticCast< ::borogove::ChatMessage >()->versions->length > 1)) {
+HXLINE(1063) _hx_tmp = 1;
+ }
+ else {
+HXLINE(1063) _hx_tmp = 0;
+ }
+HXDLIN(1063) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),_hx_tmp);
+HXLINE(1064) 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(1053) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
+HXLINE(1054) ::borogove::Client _hx_tmp = this->client;
+HXDLIN(1054) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build())), ::Dynamic(new _hx_Closure_0(_gthis,message1,outboxItem)),null());
+ }
+ break;
+ case (int)3: {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::DirectChat,_gthis,::Array< ::Dynamic>,message1) HXARGC(1)
+ void _hx_run( ::borogove::ChatMessage stored){
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1067_sendMessage)
+HXLINE(1068) {
+HXLINE(1068) int _g = 0;
+HXDLIN(1068) ::Array< ::Dynamic> _g1 = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->recipients;
+HXDLIN(1068) while((_g < _g1->length)){
+HXLINE(1068) ::borogove::JID recipient = _g1->__get(_g).StaticCast< ::borogove::JID >();
+HXDLIN(1068) _g = (_g + 1);
+HXLINE(1069) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->to = recipient;
+HXLINE(1070) ::borogove::Client _gthis1 = _gthis->client;
+HXDLIN(1070) _gthis1->sendStanza(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza());
+ }
+ }
+HXLINE(1072) if (::hx::IsNotNull( stored )) {
+HXLINE(1072) _gthis->client->notifyMessageHandlers(stored,2);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(1067) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN(1067) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp1,this->client->accountId(),fromStanza1->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >()), ::Dynamic(new _hx_Closure_1(_gthis,message1)),null());
+ }
+ break;
+ default:{
+HXLINE(1075) ::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),1075)));
+HXLINE(1076) HX_STACK_DO_THROW(HX_("Trying to send invalid message.",dc,74,a0,91));
+ }
+ }
+ }
+
+
+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_1104_removeReaction)
+HXLINE(1105) ::borogove::DirectChat _gthis1 = _gthis;
+HXDLIN(1105) ::borogove::Stanza _hx_tmp = update3->asStanza();
+HXDLIN(1105) _gthis1->sendMessageStanza(_hx_tmp,outboxItem);
+HXLINE(1106) if (::hx::IsNotNull( stored )) {
+HXLINE(1106) _gthis->client->notifyMessageHandlers(stored,2);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1081_removeReaction)
+HXDLIN(1081) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1082) if (::Std_obj::isOfType(reaction,::hx::ClassOf< ::borogove::CustomEmojiReaction >())) {
+HXLINE(1083) if (::hx::IsNull( reaction->envelopeId )) {
+HXLINE(1083) HX_STACK_DO_THROW(HX_("Cannot remove custom emoji reaction without envelopeId",90,e6,80,fb));
+ }
+HXLINE(1084) ::borogove::ChatMessageBuilder correct = m->reply();
+HXLINE(1085) correct->localId = ::borogove::ID_obj::_hx_long();
+HXLINE(1086) correct->setHtml(HX_("",00,00,00,00));
+HXLINE(1087) correct->text = null();
+HXLINE(1088) this->correctMessage(reaction->envelopeId,correct);
+HXLINE(1089) return;
+ }
+HXLINE(1093) ::Array< ::Dynamic> reactions = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1094) {
+HXLINE(1094) ::Dynamic this1 = m->reactions;
+HXDLIN(1094) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN(1094) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1094) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(1094) ::Array< ::Dynamic> _g_value = ( (::Array< ::Dynamic>)(::haxe::IMap_obj::get(this1,key)) );
+HXLINE(1095) 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_STACKFRAME(&_hx_pos_e6282dde58caedf0_1096_removeReaction)
+HXLINE(1096) ::String r1 = r->senderId;
+HXDLIN(1096) return (r1 == _gthis->client->accountId());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1096) ::borogove::Reaction react = ( ( ::borogove::Reaction)(::Lambda_obj::find(_g_value, ::Dynamic(new _hx_Closure_0(_gthis)))) );
+HXLINE(1097) bool _hx_tmp;
+HXDLIN(1097) if (::hx::IsNotNull( react )) {
+HXLINE(1097) _hx_tmp = !(::Std_obj::isOfType(react,::hx::ClassOf< ::borogove::CustomEmojiReaction >()));
+ }
+ else {
+HXLINE(1097) _hx_tmp = false;
+ }
+HXDLIN(1097) if (_hx_tmp) {
+HXLINE(1098) reactions->push(react);
+ }
+ }
+ }
+ }
+HXLINE(1102) ::String update = ::borogove::ID_obj::_hx_long();
+HXDLIN(1102) ::String m1 = m->localId;
+HXDLIN(1102) ::String update1 = m->chatId();
+HXDLIN(1102) ::String update2 = this->client->accountId();
+HXDLIN(1102) ::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(1103) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
+HXLINE(1104) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN(1104) ::String _hx_tmp2 = this->client->accountId();
+HXDLIN(1104) ::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){
+ 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_1136_sendMessageStanza)
+HXLINE(1136) int _g = 0;
+HXDLIN(1136) while((_g < stanzas->length)){
+HXLINE(1136) ::borogove::Stanza stanza = stanzas->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN(1136) _g = (_g + 1);
+HXLINE(1137) _gthis->client->sendStanza(stanza);
+ }
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1135_sendMessageStanza)
+HXLINE(1135) outboxItem1->__get(0).StaticCast< ::borogove::OutboxItem >()->handle( ::Dynamic(new _hx_Closure_0(_gthis,stanzas)));
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1110_sendMessageStanza)
+HXDLIN(1110) ::Array< ::Dynamic> outboxItem1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,outboxItem);
+HXDLIN(1110) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1111) if ((stanza->name != HX_("message",c7,35,11,9a))) {
+HXLINE(1111) HX_STACK_DO_THROW(HX_("Can only send message stanza this way",cb,e1,b3,60));
+ }
+HXLINE(1113) if (::hx::IsNull( outboxItem1->__get(0).StaticCast< ::borogove::OutboxItem >() )) {
+HXLINE(1113) outboxItem1[0] = this->outbox->newItem();
+ }
+HXLINE(1115) ::Array< ::String > counters = this->counterparts();
+HXLINE(1116) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(counters->length);
+HXDLIN(1116) {
+HXLINE(1116) int _g = 0;
+HXDLIN(1116) int _g1 = counters->length;
+HXDLIN(1116) while((_g < _g1)){
+HXLINE(1116) _g = (_g + 1);
+HXDLIN(1116) int i = (_g - 1);
+HXDLIN(1116) {
+HXLINE(1116) ::String counterpart = ( (::String)(_hx_array_unsafe_get(counters,i)) );
+HXLINE(1117) ::borogove::Stanza clone = stanza->clone();
+HXLINE(1118) ::Reflect_obj::setField(clone->attr,HX_("to",7b,65,00,00),counterpart);
+HXLINE(1119) bool _hx_tmp;
+HXDLIN(1119) if ((counters->length > 1)) {
+HXLINE(1119) _hx_tmp = ::hx::IsNull( stanza->getChild(HX_("addresses",22,9f,12,8c),HX_("http://jabber.org/protocol/address",c0,fd,09,ed)) );
+ }
+ else {
+HXLINE(1119) _hx_tmp = false;
+ }
+HXDLIN(1119) if (_hx_tmp) {
+HXLINE(1120) ::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(1121) {
+HXLINE(1121) int _g2 = 0;
+HXDLIN(1121) while((_g2 < counters->length)){
+HXLINE(1121) ::String counter = counters->__get(_g2);
+HXDLIN(1121) _g2 = (_g2 + 1);
+HXLINE(1122) 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();
+ }
+ }
+HXLINE(1124) addresses->up();
+ }
+HXLINE(1116) ::Dynamic inValue = ::thenshim::_Promise::Promise_Impl__obj::resolve(stanza);
+HXDLIN(1116) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN(1116) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(result), ::Dynamic(new _hx_Closure_1(_gthis,outboxItem1)),null());
+ }
+
+
+::String DirectChat_obj::lastMessageId(){
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1145_lastMessageId)
+HXDLIN(1145) ::borogove::ChatMessage tmp = this->lastMessage;
+HXDLIN(1145) ::String tmp1;
+HXDLIN(1145) if (::hx::IsNotNull( tmp )) {
+HXDLIN(1145) tmp1 = tmp->serverId;
+ }
+ else {
+HXDLIN(1145) tmp1 = null();
+ }
+HXDLIN(1145) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN(1145) return tmp1;
+ }
+ else {
+HXDLIN(1145) ::borogove::ChatMessage tmp2 = this->lastMessage;
+HXDLIN(1145) if (::hx::IsNotNull( tmp2 )) {
+HXDLIN(1145) return tmp2->localId;
+ }
+ else {
+HXDLIN(1145) return null();
+ }
+ }
+HXDLIN(1145) return 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_1150_markReadUpTo)
+HXLINE(1153) bool _hx_tmp;
+HXDLIN(1153) if (message->isIncoming()) {
+HXLINE(1153) _hx_tmp = ::hx::IsNotNull( message->localId );
+ }
+ else {
+HXLINE(1153) _hx_tmp = false;
+ }
+HXDLIN(1153) if (_hx_tmp) {
+HXLINE(1154) int _g = 0;
+HXDLIN(1154) ::Array< ::String > _g1 = _gthis->counterparts();
+HXDLIN(1154) while((_g < _g1->length)){
+HXLINE(1154) ::String recipient = _g1->__get(_g);
+HXDLIN(1154) _g = (_g + 1);
+HXLINE(1156) ::String stanza = ::borogove::ID_obj::_hx_long();
+HXDLIN(1156) ::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(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(1158) if (::hx::IsNotNull( message->threadId )) {
+HXLINE(1159) stanza1->textTag(HX_("thread",ca,7a,b9,8e),message->threadId,null());
+ }
+HXLINE(1161) _gthis->client->sendStanza(stanza1);
+ }
+ }
+HXLINE(1165) _gthis->publishMds();
+HXLINE(1166) _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_1168_markReadUpTo)
+HXLINE(1168) if (::hx::IsNotNull( e )) {
+HXLINE(1168) return ::thenshim::_Promise::Promise_Impl__obj::reject(e);
+ }
+ else {
+HXLINE(1168) return null();
+ }
+HXDLIN(1168) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1149_markReadUpTo)
+HXDLIN(1149) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1150) ::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_1187_bookmark)
+HXLINE(1188) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
+HXLINE(1188) return;
+ }
+HXLINE(1189) ::borogove::GenericStream _gthis1 = _gthis->stream;
+HXDLIN(1189) ::String _gthis2 = _gthis->chatId;
+HXDLIN(1189) _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),::borogove::ID_obj::_hx_short())
+ ->setFixed(1,HX_("to",7b,65,00,00),_gthis2)
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("subscribe",4a,0b,18,19)))));
+HXLINE(1190) if (_gthis->isTrusted()) {
+HXLINE(1190) ::borogove::GenericStream _gthis3 = _gthis->stream;
+HXDLIN(1190) ::String _gthis4 = _gthis->chatId;
+HXDLIN(1190) _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),::borogove::ID_obj::_hx_short())
+ ->setFixed(1,HX_("to",7b,65,00,00),_gthis4)
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("subscribed",da,d5,f1,db)))));
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1172_bookmark)
+HXDLIN(1172) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1173) this->isBookmarked = true;
+HXLINE(1174) if ((this->uiState == 3)) {
+HXLINE(1175) this->uiState = 1;
+HXLINE(1176) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+ }
+HXLINE(1178) ::Dynamic attr = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("jid",c5,ca,50,00),this->chatId));
+HXLINE(1179) bool _hx_tmp;
+HXDLIN(1179) bool _hx_tmp1;
+HXDLIN(1179) if (::hx::IsNotNull( this->displayName )) {
+HXLINE(1179) _hx_tmp1 = (this->displayName != HX_("",00,00,00,00));
+ }
+ else {
+HXLINE(1179) _hx_tmp1 = false;
+ }
+HXDLIN(1179) if (_hx_tmp1) {
+HXLINE(1179) _hx_tmp = (this->displayName != this->chatId);
+ }
+ else {
+HXLINE(1179) _hx_tmp = false;
+ }
+HXDLIN(1179) if (_hx_tmp) {
+HXLINE(1180) ::Reflect_obj::setField(attr,HX_("name",4b,72,ff,48),this->displayName);
+ }
+HXLINE(1182) ::borogove::GenericStream _hx_tmp2 = this->stream;
+HXDLIN(1182) _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)));
+ }
+
+
+void DirectChat_obj::sendChatState(::String state,::String threadId){
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1195_sendChatState)
+HXLINE(1196) if (!(this->isTrusted())) {
+HXLINE(1196) return;
+ }
+HXLINE(1198) {
+HXLINE(1198) int _g = 0;
+HXDLIN(1198) ::Array< ::String > _g1 = this->counterparts();
+HXDLIN(1198) while((_g < _g1->length)){
+HXLINE(1198) ::String recipient = _g1->__get(_g);
+HXDLIN(1198) _g = (_g + 1);
+HXLINE(1200) ::String stanza = ::borogove::ID_obj::_hx_long();
+HXLINE(1202) ::String stanza1 = this->client->jid->asString();
+HXLINE(1199) ::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(1207) if (::hx::IsNotNull( threadId )) {
+HXLINE(1208) stanza2->textTag(HX_("thread",ca,7a,b9,8e),threadId,null());
+ }
+HXLINE(1210) this->stream->sendStanza(stanza2);
+ }
+ }
+ }
+
+
+void DirectChat_obj::close(){
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1215_close)
+HXLINE(1216) if (::hx::IsNotNull( this->typingTimer )) {
+HXLINE(1216) this->typingTimer->stop();
+ }
+HXLINE(1217) if ((this->uiState == 3)) {
+HXLINE(1218) ::borogove::Client _hx_tmp = this->client;
+HXDLIN(1218) ::String _hx_tmp1 = this->chatId;
+HXDLIN(1218) _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),::borogove::ID_obj::_hx_short())
+ ->setFixed(1,HX_("to",7b,65,00,00),_hx_tmp1)
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("unsubscribed",73,05,01,48)))));
+ }
+HXLINE(1221) this->uiState = 2;
+HXLINE(1222) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(1222) ::borogove::Persistence_obj::storeChats(_hx_tmp2,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE(1223) if (!(this->isBlocked)) {
+HXLINE(1223) this->sendChatState(HX_("gone",5f,94,69,44),null());
+ }
+HXLINE(1224) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE(1225) this->client->sortChats();
+ }
+
+
+
+::hx::ObjectPtr< DirectChat_obj > DirectChat_obj::__new( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy,::Array< int > omemoContactDeviceIDs) {
+ ::hx::ObjectPtr< DirectChat_obj > __this = new DirectChat_obj();
+ __this->__construct(client,stream,persistence,chatId,__o_uiState,__o_isBlocked,extensions,readUpToId,readUpToBy,omemoContactDeviceIDs);
+ return __this;
+}
+
+::hx::ObjectPtr< DirectChat_obj > DirectChat_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy,::Array< int > omemoContactDeviceIDs) {
+ DirectChat_obj *__this = (DirectChat_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(DirectChat_obj), true, "borogove.DirectChat"));
+ *(void **)__this = DirectChat_obj::_hx_vtable;
+ __this->__construct(client,stream,persistence,chatId,__o_uiState,__o_isBlocked,extensions,readUpToId,readUpToBy,omemoContactDeviceIDs);
+ return __this;
+}
+
+DirectChat_obj::DirectChat_obj()
+{
+}
+
+::hx::Val DirectChat_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"close") ) { return ::hx::Val( close_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"bookmark") ) { return ::hx::Val( bookmark_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"sendMessage") ) { return ::hx::Val( sendMessage_dyn() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"counterparts") ) { return ::hx::Val( counterparts_dyn() ); }
+ if (HX_FIELD_EQ(inName,"markReadUpTo") ) { return ::hx::Val( markReadUpTo_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"lastMessageId") ) { return ::hx::Val( lastMessageId_dyn() ); }
+ if (HX_FIELD_EQ(inName,"sendChatState") ) { return ::hx::Val( sendChatState_dyn() ); }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"correctMessage") ) { return ::hx::Val( correctMessage_dyn() ); }
+ if (HX_FIELD_EQ(inName,"removeReaction") ) { return ::hx::Val( removeReaction_dyn() ); }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"getParticipants") ) { return ::hx::Val( getParticipants_dyn() ); }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"getMessagesAfter") ) { return ::hx::Val( getMessagesAfter_dyn() ); }
+ break;
+ case 17:
+ 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,"sendMessageStanza") ) { return ::hx::Val( sendMessageStanza_dyn() ); }
+ break;
+ case 21:
+ if (HX_FIELD_EQ(inName,"getParticipantDetails") ) { return ::hx::Val( getParticipantDetails_dyn() ); }
+ break;
+ case 22:
+ if (HX_FIELD_EQ(inName,"prepareIncomingMessage") ) { return ::hx::Val( prepareIncomingMessage_dyn() ); }
+ if (HX_FIELD_EQ(inName,"prepareOutgoingMessage") ) { return ::hx::Val( prepareOutgoingMessage_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *DirectChat_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *DirectChat_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String DirectChat_obj_sMemberFields[] = {
+ HX_("getParticipants",16,0b,c7,34),
+ HX_("counterparts",a4,10,14,78),
+ HX_("getParticipantDetails",85,2b,7d,4d),
+ HX_("getMessagesBefore",a1,f1,44,11),
+ HX_("getMessagesAfter",3a,43,91,57),
+ HX_("getMessagesAround",6f,95,16,2d),
+ HX_("prepareIncomingMessage",ba,eb,c6,e3),
+ HX_("prepareOutgoingMessage",f4,b0,f3,49),
+ HX_("correctMessage",7d,36,c3,f4),
+ HX_("sendMessage",5f,89,1d,24),
+ HX_("removeReaction",0d,24,0b,c1),
+ HX_("sendMessageStanza",b4,2c,6d,3d),
+ HX_("lastMessageId",4c,90,58,27),
+ HX_("markReadUpTo",59,68,2d,ee),
+ HX_("bookmark",b6,8c,f1,32),
+ HX_("sendChatState",b1,21,95,6e),
+ HX_("close",b8,17,63,48),
+ ::String(null()) };
+
+::hx::Class DirectChat_obj::__mClass;
+
+void DirectChat_obj::__register()
+{
+ DirectChat_obj _hx_dummy;
+ DirectChat_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.DirectChat",ee,9a,0a,36);
+ __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(DirectChat_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< DirectChat_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = DirectChat_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = DirectChat_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void DirectChat_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_935_boot)
+HXDLIN( 935) __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_("removeReaction",0d,24,0b,c1), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(1,HX_("markReadUpTo",59,68,2d,ee), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(2,HX_("correctMessage",7d,36,c3,f4), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(3,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(4,HX_("sendMessage",5f,89,1d,24), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(5,HX_("lastMessageId",4c,90,58,27), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(6,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(7,HX_("bookmark",b6,8c,f1,32), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(8,HX_("getParticipants",16,0b,c7,34), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(9,HX_("close",b8,17,63,48), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(10,HX_("getParticipantDetails",85,2b,7d,4d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(11,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
+ }
+}
+
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/Emoji.cpp b/Sources/c_borogove/src/borogove/Emoji.cpp
similarity index 71%
rename from Sources/c_snikket/src/snikket/Emoji.cpp
rename to Sources/c_borogove/src/borogove/Emoji.cpp
index 6b90304..e81f9c5 100644
--- a/Sources/c_snikket/src/snikket/Emoji.cpp
+++ b/Sources/c_borogove/src/borogove/Emoji.cpp
@@ -1,19 +1,19 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_Emoji
-#include <snikket/Emoji.h>
+#ifndef INCLUDED_borogove_Emoji
+#include <borogove/Emoji.h>
#endif
-#ifndef INCLUDED_snikket_Symbol
-#include <snikket/Symbol.h>
+#ifndef INCLUDED_borogove_Symbol
+#include <borogove/Symbol.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_dd1b4f8973e1f9df_136_new,"snikket.Emoji","new",0x21016427,"snikket.Emoji.new","snikket/EmojiUtil.hx",136,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_dd1b4f8973e1f9df_140_isEmoji,"snikket.Emoji","isEmoji",0x038f9683,"snikket.Emoji.isEmoji","snikket/EmojiUtil.hx",140,0x30de6948)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_22aff44d6d78c3e4_136_new,"borogove.Emoji","new",0x971497cb,"borogove.Emoji.new","borogove/EmojiUtil.hx",136,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_22aff44d6d78c3e4_140_isEmoji,"borogove.Emoji","isEmoji",0x5c6f6c27,"borogove.Emoji.isEmoji","borogove/EmojiUtil.hx",140,0xaaf41424)
+namespace borogove{
void Emoji_obj::__construct(::Array< int > codepoints){
- HX_STACKFRAME(&_hx_pos_dd1b4f8973e1f9df_136_new)
+ HX_STACKFRAME(&_hx_pos_22aff44d6d78c3e4_136_new)
HXDLIN( 136) super::__construct(codepoints);
}
@@ -29,15 +29,15 @@ Dynamic Emoji_obj::__Create(::hx::DynamicArray inArgs)
}
bool Emoji_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x45c9a089) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x45c9a089;
+ if (inClassId<=(int)0x53d57119) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x53d57119;
} else {
- return inClassId==(int)0x4b1860f5;
+ return inClassId==(int)0x74e4e0e5;
}
}
bool Emoji_obj::isEmoji(){
- HX_STACKFRAME(&_hx_pos_dd1b4f8973e1f9df_140_isEmoji)
+ HX_STACKFRAME(&_hx_pos_22aff44d6d78c3e4_140_isEmoji)
HXDLIN( 140) return true;
}
@@ -72,7 +72,7 @@ void Emoji_obj::__register()
Emoji_obj _hx_dummy;
Emoji_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Emoji",b5,c4,0c,cb);
+ __mClass->mName = HX_("borogove.Emoji",59,56,cc,ed);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -90,4 +90,4 @@ void Emoji_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/EmojiUtil.cpp b/Sources/c_borogove/src/borogove/EmojiUtil.cpp
new file mode 100644
index 0000000..d7d0f23
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/EmojiUtil.cpp
@@ -0,0 +1,576 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_Builder
+#include <borogove/Builder.h>
+#endif
+#ifndef INCLUDED_borogove_EmojiUtil
+#include <borogove/EmojiUtil.h>
+#endif
+#ifndef INCLUDED_borogove_StringUtil
+#include <borogove/StringUtil.h>
+#endif
+#ifndef INCLUDED_borogove_Symbol
+#include <borogove/Symbol.h>
+#endif
+#ifndef INCLUDED_borogove_UnicodeBlocks
+#include <borogove/UnicodeBlocks.h>
+#endif
+#ifndef INCLUDED_borogove_UnicodeList
+#include <borogove/UnicodeList.h>
+#endif
+#ifndef INCLUDED_borogove_UnicodeRange
+#include <borogove/UnicodeRange.h>
+#endif
+#ifndef INCLUDED_borogove_UnicodeSet
+#include <borogove/UnicodeSet.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_77_parse,"borogove.EmojiUtil","parse",0xbac39280,"borogove.EmojiUtil.parse","borogove/EmojiUtil.hx",77,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_100_isEmoji,"borogove.EmojiUtil","isEmoji",0xc30c02c9,"borogove.EmojiUtil.isEmoji","borogove/EmojiUtil.hx",100,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_105_isOnlyEmoji,"borogove.EmojiUtil","isOnlyEmoji",0x48ee233d,"borogove.EmojiUtil.isOnlyEmoji","borogove/EmojiUtil.hx",105,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_34_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",34,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_35_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",35,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_36_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",36,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_38_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",38,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_39_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",39,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_40_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",40,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_41_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",41,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_42_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",42,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_43_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",43,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_44_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",44,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_45_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",45,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_46_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",46,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_47_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",47,0xaaf41424)
+static const int _hx_array_data_b0e07afb_18[] = {
+ (int)12336,(int)12349,
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_48_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",48,0xaaf41424)
+static const int _hx_array_data_b0e07afb_20[] = {
+ (int)8482,(int)8505,
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_50_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",50,0xaaf41424)
+static const int _hx_array_data_b0e07afb_22[] = {
+ (int)35,
+};
+static const int _hx_array_data_b0e07afb_23[] = {
+ (int)42,
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_52_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",52,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_58_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",58,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_71_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",71,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_72_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",72,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_73_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",73,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_74_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",74,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_216062b58077c661_75_boot,"borogove.EmojiUtil","boot",0xc6430a85,"borogove.EmojiUtil.boot","borogove/EmojiUtil.hx",75,0xaaf41424)
+namespace borogove{
+
+void EmojiUtil_obj::__construct() { }
+
+Dynamic EmojiUtil_obj::__CreateEmpty() { return new EmojiUtil_obj; }
+
+void *EmojiUtil_obj::_hx_vtable = 0;
+
+Dynamic EmojiUtil_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< EmojiUtil_obj > _hx_result = new EmojiUtil_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool EmojiUtil_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x3ab448a3;
+}
+
+ ::borogove::UnicodeRange EmojiUtil_obj::MISC_SYMBOLS_AND_PICTOGRAPHS;
+
+ ::borogove::UnicodeRange EmojiUtil_obj::SUPPLEMENTAL_SYMBOLS;
+
+ ::borogove::UnicodeRange EmojiUtil_obj::EMOTICONS;
+
+ ::borogove::UnicodeRange EmojiUtil_obj::MISC_SYMBOLS;
+
+ ::borogove::UnicodeRange EmojiUtil_obj::DINGBATS;
+
+ ::borogove::UnicodeRange EmojiUtil_obj::ENCLOSED_ALPHANUMERIC_SUPPLEMENT;
+
+ ::borogove::UnicodeRange EmojiUtil_obj::ENCLOSED_IDEOGRAPHIC_SUPPLEMENT;
+
+ ::borogove::UnicodeRange EmojiUtil_obj::REGIONAL_INDICATORS;
+
+ ::borogove::UnicodeRange EmojiUtil_obj::GEOMETRIC_SHAPES;
+
+ ::borogove::UnicodeRange EmojiUtil_obj::LATIN_SUPPLEMENT;
+
+ ::borogove::UnicodeRange EmojiUtil_obj::MISC_TECHNICAL;
+
+ ::borogove::UnicodeRange EmojiUtil_obj::TAGS;
+
+ ::borogove::UnicodeList EmojiUtil_obj::CYK_SYMBOLS_AND_PUNCTUATION;
+
+ ::borogove::UnicodeList EmojiUtil_obj::LETTERLIKE_SYMBOLS;
+
+ ::borogove::UnicodeBlocks EmojiUtil_obj::KEYCAP_COMBINEABLE;
+
+ ::borogove::UnicodeBlocks EmojiUtil_obj::SYMBOLIZE;
+
+ ::borogove::UnicodeBlocks EmojiUtil_obj::EMOJIS;
+
+int EmojiUtil_obj::ZWJ;
+
+int EmojiUtil_obj::VARIATION_16;
+
+int EmojiUtil_obj::COMBINING_ENCLOSING_KEYCAP;
+
+int EmojiUtil_obj::BLACK_FLAG;
+
+ ::borogove::UnicodeRange EmojiUtil_obj::FITZPATRICK;
+
+::Array< ::Dynamic> EmojiUtil_obj::parse(::String str){
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_77_parse)
+HXLINE( 78) ::Array< ::Dynamic> symbols = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 79) ::borogove::Builder builder = ::borogove::Builder_obj::__alloc( HX_CTX );
+HXLINE( 80) bool needsFinalBuild = false;
+HXLINE( 81) ::Array< int > input = ::borogove::StringUtil_obj::rawCodepointArray(str);
+HXLINE( 82) {
+HXLINE( 82) int _g = 0;
+HXDLIN( 82) int _g1 = input->length;
+HXDLIN( 82) while((_g < _g1)){
+HXLINE( 82) _g = (_g + 1);
+HXLINE( 83) int cp = input->__get((_g - 1));
+HXLINE( 84) if (builder->offer(cp)) {
+HXLINE( 85) needsFinalBuild = true;
+ }
+ else {
+HXLINE( 87) symbols->push(builder->build());
+HXLINE( 88) builder = ::borogove::Builder_obj::__alloc( HX_CTX );
+HXLINE( 89) if (builder->offer(cp)) {
+HXLINE( 90) needsFinalBuild = true;
+ }
+ }
+ }
+ }
+HXLINE( 94) if (needsFinalBuild) {
+HXLINE( 95) symbols->push(builder->build());
+ }
+HXLINE( 97) return symbols;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(EmojiUtil_obj,parse,return )
+
+bool EmojiUtil_obj::isEmoji(::String input){
+ HX_STACKFRAME(&_hx_pos_216062b58077c661_100_isEmoji)
+HXLINE( 101) ::Array< ::Dynamic> symbols = ::borogove::EmojiUtil_obj::parse(input);
+HXLINE( 102) if ((symbols->length == 1)) {
+HXLINE( 102) return symbols->__get(0).StaticCast< ::borogove::Symbol >()->isEmoji();
+ }
+ else {
+HXLINE( 102) return false;
+ }
+HXDLIN( 102) return false;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(EmojiUtil_obj,isEmoji,return )
+
+bool EmojiUtil_obj::isOnlyEmoji(::String input){
+ HX_STACKFRAME(&_hx_pos_216062b58077c661_105_isOnlyEmoji)
+HXLINE( 106) ::Array< ::Dynamic> symbols = ::borogove::EmojiUtil_obj::parse(input);
+HXLINE( 107) {
+HXLINE( 107) int _g = 0;
+HXDLIN( 107) while((_g < symbols->length)){
+HXLINE( 107) ::borogove::Symbol symbol = symbols->__get(_g).StaticCast< ::borogove::Symbol >();
+HXDLIN( 107) _g = (_g + 1);
+HXLINE( 108) if (!(symbol->isEmoji())) {
+HXLINE( 109) return false;
+ }
+ }
+ }
+HXLINE( 112) return (symbols->length > 0);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(EmojiUtil_obj,isOnlyEmoji,return )
+
+
+EmojiUtil_obj::EmojiUtil_obj()
+{
+}
+
+bool EmojiUtil_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"ZWJ") ) { outValue = ( ZWJ ); return true; }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"TAGS") ) { outValue = ( TAGS ); return true; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"parse") ) { outValue = parse_dyn(); return true; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"EMOJIS") ) { outValue = ( EMOJIS ); return true; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"isEmoji") ) { outValue = isEmoji_dyn(); return true; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"DINGBATS") ) { outValue = ( DINGBATS ); return true; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"EMOTICONS") ) { outValue = ( EMOTICONS ); return true; }
+ if (HX_FIELD_EQ(inName,"SYMBOLIZE") ) { outValue = ( SYMBOLIZE ); return true; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"BLACK_FLAG") ) { outValue = ( BLACK_FLAG ); return true; }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"FITZPATRICK") ) { outValue = ( FITZPATRICK ); return true; }
+ if (HX_FIELD_EQ(inName,"isOnlyEmoji") ) { outValue = isOnlyEmoji_dyn(); return true; }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"MISC_SYMBOLS") ) { outValue = ( MISC_SYMBOLS ); return true; }
+ if (HX_FIELD_EQ(inName,"VARIATION_16") ) { outValue = ( VARIATION_16 ); return true; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"MISC_TECHNICAL") ) { outValue = ( MISC_TECHNICAL ); return true; }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"GEOMETRIC_SHAPES") ) { outValue = ( GEOMETRIC_SHAPES ); return true; }
+ if (HX_FIELD_EQ(inName,"LATIN_SUPPLEMENT") ) { outValue = ( LATIN_SUPPLEMENT ); return true; }
+ break;
+ case 18:
+ if (HX_FIELD_EQ(inName,"LETTERLIKE_SYMBOLS") ) { outValue = ( LETTERLIKE_SYMBOLS ); return true; }
+ if (HX_FIELD_EQ(inName,"KEYCAP_COMBINEABLE") ) { outValue = ( KEYCAP_COMBINEABLE ); return true; }
+ break;
+ case 19:
+ if (HX_FIELD_EQ(inName,"REGIONAL_INDICATORS") ) { outValue = ( REGIONAL_INDICATORS ); return true; }
+ break;
+ case 20:
+ if (HX_FIELD_EQ(inName,"SUPPLEMENTAL_SYMBOLS") ) { outValue = ( SUPPLEMENTAL_SYMBOLS ); return true; }
+ break;
+ case 26:
+ if (HX_FIELD_EQ(inName,"COMBINING_ENCLOSING_KEYCAP") ) { outValue = ( COMBINING_ENCLOSING_KEYCAP ); return true; }
+ break;
+ case 27:
+ if (HX_FIELD_EQ(inName,"CYK_SYMBOLS_AND_PUNCTUATION") ) { outValue = ( CYK_SYMBOLS_AND_PUNCTUATION ); return true; }
+ break;
+ case 28:
+ if (HX_FIELD_EQ(inName,"MISC_SYMBOLS_AND_PICTOGRAPHS") ) { outValue = ( MISC_SYMBOLS_AND_PICTOGRAPHS ); return true; }
+ break;
+ case 31:
+ if (HX_FIELD_EQ(inName,"ENCLOSED_IDEOGRAPHIC_SUPPLEMENT") ) { outValue = ( ENCLOSED_IDEOGRAPHIC_SUPPLEMENT ); return true; }
+ break;
+ case 32:
+ if (HX_FIELD_EQ(inName,"ENCLOSED_ALPHANUMERIC_SUPPLEMENT") ) { outValue = ( ENCLOSED_ALPHANUMERIC_SUPPLEMENT ); return true; }
+ }
+ return false;
+}
+
+bool EmojiUtil_obj::__SetStatic(const ::String &inName,Dynamic &ioValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"ZWJ") ) { ZWJ=ioValue.Cast< int >(); return true; }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"TAGS") ) { TAGS=ioValue.Cast< ::borogove::UnicodeRange >(); return true; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"EMOJIS") ) { EMOJIS=ioValue.Cast< ::borogove::UnicodeBlocks >(); return true; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"DINGBATS") ) { DINGBATS=ioValue.Cast< ::borogove::UnicodeRange >(); return true; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"EMOTICONS") ) { EMOTICONS=ioValue.Cast< ::borogove::UnicodeRange >(); return true; }
+ if (HX_FIELD_EQ(inName,"SYMBOLIZE") ) { SYMBOLIZE=ioValue.Cast< ::borogove::UnicodeBlocks >(); return true; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"BLACK_FLAG") ) { BLACK_FLAG=ioValue.Cast< int >(); return true; }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"FITZPATRICK") ) { FITZPATRICK=ioValue.Cast< ::borogove::UnicodeRange >(); return true; }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"MISC_SYMBOLS") ) { MISC_SYMBOLS=ioValue.Cast< ::borogove::UnicodeRange >(); return true; }
+ if (HX_FIELD_EQ(inName,"VARIATION_16") ) { VARIATION_16=ioValue.Cast< int >(); return true; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"MISC_TECHNICAL") ) { MISC_TECHNICAL=ioValue.Cast< ::borogove::UnicodeRange >(); return true; }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"GEOMETRIC_SHAPES") ) { GEOMETRIC_SHAPES=ioValue.Cast< ::borogove::UnicodeRange >(); return true; }
+ if (HX_FIELD_EQ(inName,"LATIN_SUPPLEMENT") ) { LATIN_SUPPLEMENT=ioValue.Cast< ::borogove::UnicodeRange >(); return true; }
+ break;
+ case 18:
+ if (HX_FIELD_EQ(inName,"LETTERLIKE_SYMBOLS") ) { LETTERLIKE_SYMBOLS=ioValue.Cast< ::borogove::UnicodeList >(); return true; }
+ if (HX_FIELD_EQ(inName,"KEYCAP_COMBINEABLE") ) { KEYCAP_COMBINEABLE=ioValue.Cast< ::borogove::UnicodeBlocks >(); return true; }
+ break;
+ case 19:
+ if (HX_FIELD_EQ(inName,"REGIONAL_INDICATORS") ) { REGIONAL_INDICATORS=ioValue.Cast< ::borogove::UnicodeRange >(); return true; }
+ break;
+ case 20:
+ if (HX_FIELD_EQ(inName,"SUPPLEMENTAL_SYMBOLS") ) { SUPPLEMENTAL_SYMBOLS=ioValue.Cast< ::borogove::UnicodeRange >(); return true; }
+ break;
+ case 26:
+ if (HX_FIELD_EQ(inName,"COMBINING_ENCLOSING_KEYCAP") ) { COMBINING_ENCLOSING_KEYCAP=ioValue.Cast< int >(); return true; }
+ break;
+ case 27:
+ if (HX_FIELD_EQ(inName,"CYK_SYMBOLS_AND_PUNCTUATION") ) { CYK_SYMBOLS_AND_PUNCTUATION=ioValue.Cast< ::borogove::UnicodeList >(); return true; }
+ break;
+ case 28:
+ if (HX_FIELD_EQ(inName,"MISC_SYMBOLS_AND_PICTOGRAPHS") ) { MISC_SYMBOLS_AND_PICTOGRAPHS=ioValue.Cast< ::borogove::UnicodeRange >(); return true; }
+ break;
+ case 31:
+ if (HX_FIELD_EQ(inName,"ENCLOSED_IDEOGRAPHIC_SUPPLEMENT") ) { ENCLOSED_IDEOGRAPHIC_SUPPLEMENT=ioValue.Cast< ::borogove::UnicodeRange >(); return true; }
+ break;
+ case 32:
+ if (HX_FIELD_EQ(inName,"ENCLOSED_ALPHANUMERIC_SUPPLEMENT") ) { ENCLOSED_ALPHANUMERIC_SUPPLEMENT=ioValue.Cast< ::borogove::UnicodeRange >(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *EmojiUtil_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo EmojiUtil_obj_sStaticStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::UnicodeRange */ ,(void *) &EmojiUtil_obj::MISC_SYMBOLS_AND_PICTOGRAPHS,HX_("MISC_SYMBOLS_AND_PICTOGRAPHS",6b,a7,09,a7)},
+ {::hx::fsObject /* ::borogove::UnicodeRange */ ,(void *) &EmojiUtil_obj::SUPPLEMENTAL_SYMBOLS,HX_("SUPPLEMENTAL_SYMBOLS",e0,a9,11,c1)},
+ {::hx::fsObject /* ::borogove::UnicodeRange */ ,(void *) &EmojiUtil_obj::EMOTICONS,HX_("EMOTICONS",0d,70,1d,af)},
+ {::hx::fsObject /* ::borogove::UnicodeRange */ ,(void *) &EmojiUtil_obj::MISC_SYMBOLS,HX_("MISC_SYMBOLS",68,d2,fb,df)},
+ {::hx::fsObject /* ::borogove::UnicodeRange */ ,(void *) &EmojiUtil_obj::DINGBATS,HX_("DINGBATS",fc,32,20,4a)},
+ {::hx::fsObject /* ::borogove::UnicodeRange */ ,(void *) &EmojiUtil_obj::ENCLOSED_ALPHANUMERIC_SUPPLEMENT,HX_("ENCLOSED_ALPHANUMERIC_SUPPLEMENT",df,fc,6e,99)},
+ {::hx::fsObject /* ::borogove::UnicodeRange */ ,(void *) &EmojiUtil_obj::ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,HX_("ENCLOSED_IDEOGRAPHIC_SUPPLEMENT",7f,1e,4d,ee)},
+ {::hx::fsObject /* ::borogove::UnicodeRange */ ,(void *) &EmojiUtil_obj::REGIONAL_INDICATORS,HX_("REGIONAL_INDICATORS",64,22,b5,9f)},
+ {::hx::fsObject /* ::borogove::UnicodeRange */ ,(void *) &EmojiUtil_obj::GEOMETRIC_SHAPES,HX_("GEOMETRIC_SHAPES",90,7a,2c,6b)},
+ {::hx::fsObject /* ::borogove::UnicodeRange */ ,(void *) &EmojiUtil_obj::LATIN_SUPPLEMENT,HX_("LATIN_SUPPLEMENT",f4,1e,75,27)},
+ {::hx::fsObject /* ::borogove::UnicodeRange */ ,(void *) &EmojiUtil_obj::MISC_TECHNICAL,HX_("MISC_TECHNICAL",2a,1e,43,40)},
+ {::hx::fsObject /* ::borogove::UnicodeRange */ ,(void *) &EmojiUtil_obj::TAGS,HX_("TAGS",d9,7c,b7,37)},
+ {::hx::fsObject /* ::borogove::UnicodeList */ ,(void *) &EmojiUtil_obj::CYK_SYMBOLS_AND_PUNCTUATION,HX_("CYK_SYMBOLS_AND_PUNCTUATION",44,38,ef,f1)},
+ {::hx::fsObject /* ::borogove::UnicodeList */ ,(void *) &EmojiUtil_obj::LETTERLIKE_SYMBOLS,HX_("LETTERLIKE_SYMBOLS",b9,91,eb,11)},
+ {::hx::fsObject /* ::borogove::UnicodeBlocks */ ,(void *) &EmojiUtil_obj::KEYCAP_COMBINEABLE,HX_("KEYCAP_COMBINEABLE",cd,11,de,c0)},
+ {::hx::fsObject /* ::borogove::UnicodeBlocks */ ,(void *) &EmojiUtil_obj::SYMBOLIZE,HX_("SYMBOLIZE",dc,fe,6c,db)},
+ {::hx::fsObject /* ::borogove::UnicodeBlocks */ ,(void *) &EmojiUtil_obj::EMOJIS,HX_("EMOJIS",2d,d2,ea,20)},
+ {::hx::fsInt,(void *) &EmojiUtil_obj::ZWJ,HX_("ZWJ",ed,96,44,00)},
+ {::hx::fsInt,(void *) &EmojiUtil_obj::VARIATION_16,HX_("VARIATION_16",31,67,df,98)},
+ {::hx::fsInt,(void *) &EmojiUtil_obj::COMBINING_ENCLOSING_KEYCAP,HX_("COMBINING_ENCLOSING_KEYCAP",e9,3e,16,c3)},
+ {::hx::fsInt,(void *) &EmojiUtil_obj::BLACK_FLAG,HX_("BLACK_FLAG",8c,21,1f,79)},
+ {::hx::fsObject /* ::borogove::UnicodeRange */ ,(void *) &EmojiUtil_obj::FITZPATRICK,HX_("FITZPATRICK",79,7e,fb,f4)},
+ { ::hx::fsUnknown, 0, null()}
+};
+#endif
+
+static void EmojiUtil_obj_sMarkStatics(HX_MARK_PARAMS) {
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::MISC_SYMBOLS_AND_PICTOGRAPHS,"MISC_SYMBOLS_AND_PICTOGRAPHS");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::SUPPLEMENTAL_SYMBOLS,"SUPPLEMENTAL_SYMBOLS");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::EMOTICONS,"EMOTICONS");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::MISC_SYMBOLS,"MISC_SYMBOLS");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::DINGBATS,"DINGBATS");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::ENCLOSED_ALPHANUMERIC_SUPPLEMENT,"ENCLOSED_ALPHANUMERIC_SUPPLEMENT");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,"ENCLOSED_IDEOGRAPHIC_SUPPLEMENT");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::REGIONAL_INDICATORS,"REGIONAL_INDICATORS");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::GEOMETRIC_SHAPES,"GEOMETRIC_SHAPES");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::LATIN_SUPPLEMENT,"LATIN_SUPPLEMENT");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::MISC_TECHNICAL,"MISC_TECHNICAL");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::TAGS,"TAGS");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::CYK_SYMBOLS_AND_PUNCTUATION,"CYK_SYMBOLS_AND_PUNCTUATION");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::LETTERLIKE_SYMBOLS,"LETTERLIKE_SYMBOLS");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::KEYCAP_COMBINEABLE,"KEYCAP_COMBINEABLE");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::SYMBOLIZE,"SYMBOLIZE");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::EMOJIS,"EMOJIS");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::ZWJ,"ZWJ");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::VARIATION_16,"VARIATION_16");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::COMBINING_ENCLOSING_KEYCAP,"COMBINING_ENCLOSING_KEYCAP");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::BLACK_FLAG,"BLACK_FLAG");
+ HX_MARK_MEMBER_NAME(EmojiUtil_obj::FITZPATRICK,"FITZPATRICK");
+};
+
+#ifdef HXCPP_VISIT_ALLOCS
+static void EmojiUtil_obj_sVisitStatics(HX_VISIT_PARAMS) {
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::MISC_SYMBOLS_AND_PICTOGRAPHS,"MISC_SYMBOLS_AND_PICTOGRAPHS");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::SUPPLEMENTAL_SYMBOLS,"SUPPLEMENTAL_SYMBOLS");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::EMOTICONS,"EMOTICONS");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::MISC_SYMBOLS,"MISC_SYMBOLS");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::DINGBATS,"DINGBATS");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::ENCLOSED_ALPHANUMERIC_SUPPLEMENT,"ENCLOSED_ALPHANUMERIC_SUPPLEMENT");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,"ENCLOSED_IDEOGRAPHIC_SUPPLEMENT");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::REGIONAL_INDICATORS,"REGIONAL_INDICATORS");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::GEOMETRIC_SHAPES,"GEOMETRIC_SHAPES");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::LATIN_SUPPLEMENT,"LATIN_SUPPLEMENT");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::MISC_TECHNICAL,"MISC_TECHNICAL");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::TAGS,"TAGS");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::CYK_SYMBOLS_AND_PUNCTUATION,"CYK_SYMBOLS_AND_PUNCTUATION");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::LETTERLIKE_SYMBOLS,"LETTERLIKE_SYMBOLS");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::KEYCAP_COMBINEABLE,"KEYCAP_COMBINEABLE");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::SYMBOLIZE,"SYMBOLIZE");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::EMOJIS,"EMOJIS");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::ZWJ,"ZWJ");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::VARIATION_16,"VARIATION_16");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::COMBINING_ENCLOSING_KEYCAP,"COMBINING_ENCLOSING_KEYCAP");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::BLACK_FLAG,"BLACK_FLAG");
+ HX_VISIT_MEMBER_NAME(EmojiUtil_obj::FITZPATRICK,"FITZPATRICK");
+};
+
+#endif
+
+::hx::Class EmojiUtil_obj::__mClass;
+
+static ::String EmojiUtil_obj_sStaticFields[] = {
+ HX_("MISC_SYMBOLS_AND_PICTOGRAPHS",6b,a7,09,a7),
+ HX_("SUPPLEMENTAL_SYMBOLS",e0,a9,11,c1),
+ HX_("EMOTICONS",0d,70,1d,af),
+ HX_("MISC_SYMBOLS",68,d2,fb,df),
+ HX_("DINGBATS",fc,32,20,4a),
+ HX_("ENCLOSED_ALPHANUMERIC_SUPPLEMENT",df,fc,6e,99),
+ HX_("ENCLOSED_IDEOGRAPHIC_SUPPLEMENT",7f,1e,4d,ee),
+ HX_("REGIONAL_INDICATORS",64,22,b5,9f),
+ HX_("GEOMETRIC_SHAPES",90,7a,2c,6b),
+ HX_("LATIN_SUPPLEMENT",f4,1e,75,27),
+ HX_("MISC_TECHNICAL",2a,1e,43,40),
+ HX_("TAGS",d9,7c,b7,37),
+ HX_("CYK_SYMBOLS_AND_PUNCTUATION",44,38,ef,f1),
+ HX_("LETTERLIKE_SYMBOLS",b9,91,eb,11),
+ HX_("KEYCAP_COMBINEABLE",cd,11,de,c0),
+ HX_("SYMBOLIZE",dc,fe,6c,db),
+ HX_("EMOJIS",2d,d2,ea,20),
+ HX_("ZWJ",ed,96,44,00),
+ HX_("VARIATION_16",31,67,df,98),
+ HX_("COMBINING_ENCLOSING_KEYCAP",e9,3e,16,c3),
+ HX_("BLACK_FLAG",8c,21,1f,79),
+ HX_("FITZPATRICK",79,7e,fb,f4),
+ HX_("parse",33,90,55,bd),
+ HX_("isEmoji",3c,13,5f,0c),
+ HX_("isOnlyEmoji",30,e9,1d,d8),
+ ::String(null())
+};
+
+void EmojiUtil_obj::__register()
+{
+ EmojiUtil_obj _hx_dummy;
+ EmojiUtil_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.EmojiUtil",fb,7a,e0,b0);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &EmojiUtil_obj::__GetStatic;
+ __mClass->mSetStaticField = &EmojiUtil_obj::__SetStatic;
+ __mClass->mMarkFunc = EmojiUtil_obj_sMarkStatics;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(EmojiUtil_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< EmojiUtil_obj >;
+#ifdef HXCPP_VISIT_ALLOCS
+ __mClass->mVisitFunc = EmojiUtil_obj_sVisitStatics;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = EmojiUtil_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = EmojiUtil_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void EmojiUtil_obj::__boot()
+{
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_34_boot)
+HXDLIN( 34) MISC_SYMBOLS_AND_PICTOGRAPHS = ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,127744,128511);
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_35_boot)
+HXDLIN( 35) SUPPLEMENTAL_SYMBOLS = ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,129280,129535);
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_36_boot)
+HXDLIN( 36) EMOTICONS = ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,128512,129782);
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_38_boot)
+HXDLIN( 38) MISC_SYMBOLS = ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,9728,9983);
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_39_boot)
+HXDLIN( 39) DINGBATS = ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,9984,10175);
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_40_boot)
+HXDLIN( 40) ENCLOSED_ALPHANUMERIC_SUPPLEMENT = ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,127232,127487);
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_41_boot)
+HXDLIN( 41) ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,127488,127743);
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_42_boot)
+HXDLIN( 42) REGIONAL_INDICATORS = ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,127462,127487);
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_43_boot)
+HXDLIN( 43) GEOMETRIC_SHAPES = ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,9632,9727);
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_44_boot)
+HXDLIN( 44) LATIN_SUPPLEMENT = ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,128,255);
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_45_boot)
+HXDLIN( 45) MISC_TECHNICAL = ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,8960,9215);
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_46_boot)
+HXDLIN( 46) TAGS = ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,917536,917631);
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_47_boot)
+HXDLIN( 47) CYK_SYMBOLS_AND_PUNCTUATION = ::borogove::UnicodeList_obj::__alloc( HX_CTX ,::Array_obj< int >::fromData( _hx_array_data_b0e07afb_18,2));
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_48_boot)
+HXDLIN( 48) LETTERLIKE_SYMBOLS = ::borogove::UnicodeList_obj::__alloc( HX_CTX ,::Array_obj< int >::fromData( _hx_array_data_b0e07afb_20,2));
+ }
+{
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(0)
+ ::borogove::UnicodeBlocks _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_50_boot)
+HXDLIN( 50) ::borogove::UnicodeList array = ::borogove::UnicodeList_obj::__alloc( HX_CTX ,::Array_obj< int >::fromData( _hx_array_data_b0e07afb_22,1));
+HXDLIN( 50) return ::borogove::UnicodeBlocks_obj::__alloc( HX_CTX ,::Array_obj< ::Dynamic>::__new(3)->init(0,array)->init(1, ::borogove::UnicodeList_obj::__alloc( HX_CTX ,::Array_obj< int >::fromData( _hx_array_data_b0e07afb_23,1)))->init(2, ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,48,57)));
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+ HX_STACKFRAME(&_hx_pos_216062b58077c661_50_boot)
+HXDLIN( 50) KEYCAP_COMBINEABLE = ( ( ::borogove::UnicodeBlocks)( ::Dynamic(new _hx_Closure_0())()) );
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_52_boot)
+HXDLIN( 52) SYMBOLIZE = ::borogove::UnicodeBlocks_obj::__alloc( HX_CTX ,::Array_obj< ::Dynamic>::__new(5)->init(0,::borogove::EmojiUtil_obj::GEOMETRIC_SHAPES)->init(1,::borogove::EmojiUtil_obj::LATIN_SUPPLEMENT)->init(2,::borogove::EmojiUtil_obj::CYK_SYMBOLS_AND_PUNCTUATION)->init(3,::borogove::EmojiUtil_obj::LETTERLIKE_SYMBOLS)->init(4,::borogove::EmojiUtil_obj::KEYCAP_COMBINEABLE));
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_58_boot)
+HXDLIN( 58) EMOJIS = ::borogove::UnicodeBlocks_obj::__alloc( HX_CTX ,::Array_obj< ::Dynamic>::__new(8)->init(0,::borogove::EmojiUtil_obj::MISC_SYMBOLS_AND_PICTOGRAPHS)->init(1,::borogove::EmojiUtil_obj::SUPPLEMENTAL_SYMBOLS)->init(2,::borogove::EmojiUtil_obj::EMOTICONS)->init(3,::borogove::EmojiUtil_obj::MISC_SYMBOLS)->init(4,::borogove::EmojiUtil_obj::DINGBATS)->init(5,::borogove::EmojiUtil_obj::ENCLOSED_ALPHANUMERIC_SUPPLEMENT)->init(6,::borogove::EmojiUtil_obj::ENCLOSED_IDEOGRAPHIC_SUPPLEMENT)->init(7,::borogove::EmojiUtil_obj::MISC_TECHNICAL));
+ }
+{
+ HX_STACKFRAME(&_hx_pos_216062b58077c661_71_boot)
+HXDLIN( 71) ZWJ = 8205;
+ }
+{
+ HX_STACKFRAME(&_hx_pos_216062b58077c661_72_boot)
+HXDLIN( 72) VARIATION_16 = 65039;
+ }
+{
+ HX_STACKFRAME(&_hx_pos_216062b58077c661_73_boot)
+HXDLIN( 73) COMBINING_ENCLOSING_KEYCAP = 8419;
+ }
+{
+ HX_STACKFRAME(&_hx_pos_216062b58077c661_74_boot)
+HXDLIN( 74) BLACK_FLAG = 127988;
+ }
+{
+ HX_GC_STACKFRAME(&_hx_pos_216062b58077c661_75_boot)
+HXDLIN( 75) FITZPATRICK = ::borogove::UnicodeRange_obj::__alloc( HX_CTX ,127995,127999);
+ }
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/EncryptionInfo.cpp b/Sources/c_borogove/src/borogove/EncryptionInfo.cpp
new file mode 100644
index 0000000..2467053
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/EncryptionInfo.cpp
@@ -0,0 +1,400 @@
+// 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
+#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_495491200499f74a_35_new,"borogove.EncryptionInfo","new",0x76c80d50,"borogove.EncryptionInfo.new","borogove/EncryptionInfo.hx",35,0x95cafaff)
+HX_LOCAL_STACK_FRAME(_hx_pos_8773c78945f68a55_423_status__fromC,"borogove.EncryptionInfo","status__fromC",0x22417c77,"borogove.EncryptionInfo.status__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8773c78945f68a55_423_method__fromC,"borogove.EncryptionInfo","method__fromC",0xe6ee50a8,"borogove.EncryptionInfo.method__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8773c78945f68a55_423_methodName__fromC,"borogove.EncryptionInfo","methodName__fromC",0xcee0691d,"borogove.EncryptionInfo.methodName__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8773c78945f68a55_423_reason__fromC,"borogove.EncryptionInfo","reason__fromC",0x325a6a25,"borogove.EncryptionInfo.reason__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8773c78945f68a55_423_reasonText__fromC,"borogove.EncryptionInfo","reasonText__fromC",0xae981af8,"borogove.EncryptionInfo.reasonText__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_495491200499f74a_44_toXml,"borogove.EncryptionInfo","toXml",0x3dce780c,"borogove.EncryptionInfo.toXml","borogove/EncryptionInfo.hx",44,0x95cafaff)
+HX_LOCAL_STACK_FRAME(_hx_pos_495491200499f74a_62_fromStanza,"borogove.EncryptionInfo","fromStanza",0xbb51a40f,"borogove.EncryptionInfo.fromStanza","borogove/EncryptionInfo.hx",62,0x95cafaff)
+HX_LOCAL_STACK_FRAME(_hx_pos_495491200499f74a_17_boot,"borogove.EncryptionInfo","boot",0x705c9942,"borogove.EncryptionInfo.boot","borogove/EncryptionInfo.hx",17,0x95cafaff)
+HX_LOCAL_STACK_FRAME(_hx_pos_495491200499f74a_25_boot,"borogove.EncryptionInfo","boot",0x705c9942,"borogove.EncryptionInfo.boot","borogove/EncryptionInfo.hx",25,0x95cafaff)
+namespace borogove{
+
+void EncryptionInfo_obj::__construct(int status,::String method,::String methodName,::String reason,::String reasonText){
+ HX_STACKFRAME(&_hx_pos_495491200499f74a_35_new)
+HXLINE( 36) this->status = status;
+HXLINE( 37) this->method = method;
+HXLINE( 38) this->methodName = methodName;
+HXLINE( 39) this->reason = reason;
+HXLINE( 40) this->reasonText = reasonText;
+ }
+
+Dynamic EncryptionInfo_obj::__CreateEmpty() { return new EncryptionInfo_obj; }
+
+void *EncryptionInfo_obj::_hx_vtable = 0;
+
+Dynamic EncryptionInfo_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< EncryptionInfo_obj > _hx_result = new EncryptionInfo_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4]);
+ return _hx_result;
+}
+
+bool EncryptionInfo_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x618b2952;
+}
+
+int EncryptionInfo_obj::status__fromC(){
+ HX_STACKFRAME(&_hx_pos_8773c78945f68a55_423_status__fromC)
+HXDLIN( 423) return this->status;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(EncryptionInfo_obj,status__fromC,return )
+
+::String EncryptionInfo_obj::method__fromC(){
+ HX_STACKFRAME(&_hx_pos_8773c78945f68a55_423_method__fromC)
+HXDLIN( 423) return this->method;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(EncryptionInfo_obj,method__fromC,return )
+
+::String EncryptionInfo_obj::methodName__fromC(){
+ HX_STACKFRAME(&_hx_pos_8773c78945f68a55_423_methodName__fromC)
+HXDLIN( 423) return this->methodName;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(EncryptionInfo_obj,methodName__fromC,return )
+
+::String EncryptionInfo_obj::reason__fromC(){
+ HX_STACKFRAME(&_hx_pos_8773c78945f68a55_423_reason__fromC)
+HXDLIN( 423) return this->reason;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(EncryptionInfo_obj,reason__fromC,return )
+
+::String EncryptionInfo_obj::reasonText__fromC(){
+ HX_STACKFRAME(&_hx_pos_8773c78945f68a55_423_reasonText__fromC)
+HXDLIN( 423) return this->reasonText;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(EncryptionInfo_obj,reasonText__fromC,return )
+
+ ::borogove::Stanza EncryptionInfo_obj::toXml(){
+ HX_GC_STACKFRAME(&_hx_pos_495491200499f74a_44_toXml)
+HXLINE( 48) ::String el;
+HXDLIN( 48) if ((this->status == 0)) {
+HXLINE( 48) el = HX_("success",c3,25,4e,b8);
+ }
+ else {
+HXLINE( 48) el = HX_("failure",4a,70,fa,16);
+ }
+HXLINE( 45) ::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))));
+HXLINE( 50) if (::hx::IsNotNull( this->reason )) {
+HXLINE( 51) el1->textTag(HX_("reason",c4,0f,9d,fc),this->reason,null());
+ }
+HXLINE( 53) if (::hx::IsNotNull( this->reasonText )) {
+HXLINE( 54) el1->textTag(HX_("text",ad,cc,f9,4c),this->reasonText,null());
+ }
+HXLINE( 56) return el1;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(EncryptionInfo_obj,toXml,return )
+
+ ::haxe::ds::StringMap EncryptionInfo_obj::knownEncryptionSchemes;
+
+ ::borogove::EncryptionInfo EncryptionInfo_obj::fromStanza( ::borogove::Stanza stanza){
+ HX_GC_STACKFRAME(&_hx_pos_495491200499f74a_62_fromStanza)
+HXLINE( 63) ::borogove::Stanza emeElement = stanza->getChild(HX_("encryption",83,dc,39,4f),HX_("urn:xmpp:eme:0",57,c9,40,47));
+HXLINE( 66) ::String ns = null();
+HXDLIN( 66) ::String name = null();
+HXLINE( 67) if (::hx::IsNotNull( emeElement )) {
+HXLINE( 68) ns = ( (::String)(::Reflect_obj::field(emeElement->attr,HX_("namespace",9b,ea,ed,e7))) );
+HXLINE( 69) name = ( (::String)(::Reflect_obj::field(emeElement->attr,HX_("name",4b,72,ff,48))) );
+ }
+ else {
+HXLINE( 70) if (::hx::IsNotNull( stanza->getChild(HX_("encrypted",04,fa,43,6c),HX_("eu.siacs.conversations.axolotl",44,2e,02,36)) )) {
+HXLINE( 73) ns = HX_("eu.siacs.conversations.axolotl",44,2e,02,36);
+ }
+ }
+HXLINE( 75) if (::hx::IsNotNull( ns )) {
+HXLINE( 78) ::String tmp = ns;
+HXDLIN( 78) ::String _hx_tmp;
+HXDLIN( 78) if (::hx::IsNotNull( tmp )) {
+HXLINE( 78) _hx_tmp = tmp;
+ }
+ else {
+HXLINE( 78) _hx_tmp = HX_("unknown",8a,23,7b,e1);
+ }
+HXLINE( 79) ::String _hx_tmp1;
+HXDLIN( 79) ::String tmp1 = ::borogove::EncryptionInfo_obj::knownEncryptionSchemes->get_string(ns);
+HXDLIN( 79) ::String tmp2;
+HXDLIN( 79) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 79) tmp2 = tmp1;
+ }
+ else {
+HXLINE( 79) tmp2 = name;
+ }
+HXDLIN( 79) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 79) _hx_tmp1 = tmp2;
+ }
+ else {
+HXLINE( 79) _hx_tmp1 = HX_("Unknown encryption",79,3d,1c,26);
+ }
+HXLINE( 81) ::String tmp3 = name;
+HXDLIN( 81) ::String _hx_tmp2;
+HXDLIN( 81) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 81) _hx_tmp2 = tmp3;
+ }
+ else {
+HXLINE( 81) _hx_tmp2 = ns;
+ }
+HXLINE( 76) 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( 84) 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 > __this = new EncryptionInfo_obj();
+ __this->__construct(status,method,methodName,reason,reasonText);
+ return __this;
+}
+
+::hx::ObjectPtr< EncryptionInfo_obj > EncryptionInfo_obj::__alloc(::hx::Ctx *_hx_ctx,int status,::String method,::String methodName,::String reason,::String reasonText) {
+ 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);
+ return __this;
+}
+
+EncryptionInfo_obj::EncryptionInfo_obj()
+{
+}
+
+void EncryptionInfo_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(EncryptionInfo);
+ HX_MARK_MEMBER_NAME(status,"status");
+ HX_MARK_MEMBER_NAME(method,"method");
+ HX_MARK_MEMBER_NAME(methodName,"methodName");
+ HX_MARK_MEMBER_NAME(reason,"reason");
+ HX_MARK_MEMBER_NAME(reasonText,"reasonText");
+ HX_MARK_END_CLASS();
+}
+
+void EncryptionInfo_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(status,"status");
+ HX_VISIT_MEMBER_NAME(method,"method");
+ HX_VISIT_MEMBER_NAME(methodName,"methodName");
+ HX_VISIT_MEMBER_NAME(reason,"reason");
+ HX_VISIT_MEMBER_NAME(reasonText,"reasonText");
+}
+
+::hx::Val EncryptionInfo_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"toXml") ) { return ::hx::Val( toXml_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"status") ) { return ::hx::Val( status ); }
+ if (HX_FIELD_EQ(inName,"method") ) { return ::hx::Val( method ); }
+ if (HX_FIELD_EQ(inName,"reason") ) { return ::hx::Val( reason ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"methodName") ) { return ::hx::Val( methodName ); }
+ if (HX_FIELD_EQ(inName,"reasonText") ) { return ::hx::Val( reasonText ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"status__fromC") ) { return ::hx::Val( status__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"method__fromC") ) { return ::hx::Val( method__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"reason__fromC") ) { return ::hx::Val( reason__fromC_dyn() ); }
+ break;
+ case 17:
+ if (HX_FIELD_EQ(inName,"methodName__fromC") ) { return ::hx::Val( methodName__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"reasonText__fromC") ) { return ::hx::Val( reasonText__fromC_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool EncryptionInfo_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 10:
+ if (HX_FIELD_EQ(inName,"fromStanza") ) { outValue = fromStanza_dyn(); return true; }
+ break;
+ case 22:
+ if (HX_FIELD_EQ(inName,"knownEncryptionSchemes") ) { outValue = ( knownEncryptionSchemes ); return true; }
+ }
+ return false;
+}
+
+::hx::Val EncryptionInfo_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 6:
+ if (HX_FIELD_EQ(inName,"status") ) { status=inValue.Cast< int >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"method") ) { method=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"reason") ) { reason=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"methodName") ) { methodName=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"reasonText") ) { reasonText=inValue.Cast< ::String >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+bool EncryptionInfo_obj::__SetStatic(const ::String &inName,Dynamic &ioValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 22:
+ if (HX_FIELD_EQ(inName,"knownEncryptionSchemes") ) { knownEncryptionSchemes=ioValue.Cast< ::haxe::ds::StringMap >(); return true; }
+ }
+ return false;
+}
+
+void EncryptionInfo_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("status",32,e7,fb,05));
+ outFields->push(HX_("method",e1,f6,5a,09));
+ outFields->push(HX_("methodName",cc,19,0f,12));
+ outFields->push(HX_("reason",c4,0f,9d,fc));
+ outFields->push(HX_("reasonText",91,3a,2d,24));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo EncryptionInfo_obj_sMemberStorageInfo[] = {
+ {::hx::fsInt,(int)offsetof(EncryptionInfo_obj,status),HX_("status",32,e7,fb,05)},
+ {::hx::fsString,(int)offsetof(EncryptionInfo_obj,method),HX_("method",e1,f6,5a,09)},
+ {::hx::fsString,(int)offsetof(EncryptionInfo_obj,methodName),HX_("methodName",cc,19,0f,12)},
+ {::hx::fsString,(int)offsetof(EncryptionInfo_obj,reason),HX_("reason",c4,0f,9d,fc)},
+ {::hx::fsString,(int)offsetof(EncryptionInfo_obj,reasonText),HX_("reasonText",91,3a,2d,24)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo EncryptionInfo_obj_sStaticStorageInfo[] = {
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(void *) &EncryptionInfo_obj::knownEncryptionSchemes,HX_("knownEncryptionSchemes",68,82,e3,f9)},
+ { ::hx::fsUnknown, 0, null()}
+};
+#endif
+
+static ::String EncryptionInfo_obj_sMemberFields[] = {
+ HX_("status",32,e7,fb,05),
+ HX_("status__fromC",87,b3,25,a1),
+ HX_("method",e1,f6,5a,09),
+ HX_("method__fromC",b8,87,d2,65),
+ HX_("methodName",cc,19,0f,12),
+ HX_("methodName__fromC",2d,68,15,d0),
+ HX_("reason",c4,0f,9d,fc),
+ HX_("reason__fromC",35,a1,3e,b1),
+ HX_("reasonText",91,3a,2d,24),
+ HX_("reasonText__fromC",08,1a,cd,af),
+ HX_("toXml",1c,1f,1d,14),
+ ::String(null()) };
+
+static void EncryptionInfo_obj_sMarkStatics(HX_MARK_PARAMS) {
+ HX_MARK_MEMBER_NAME(EncryptionInfo_obj::knownEncryptionSchemes,"knownEncryptionSchemes");
+};
+
+#ifdef HXCPP_VISIT_ALLOCS
+static void EncryptionInfo_obj_sVisitStatics(HX_VISIT_PARAMS) {
+ HX_VISIT_MEMBER_NAME(EncryptionInfo_obj::knownEncryptionSchemes,"knownEncryptionSchemes");
+};
+
+#endif
+
+::hx::Class EncryptionInfo_obj::__mClass;
+
+static ::String EncryptionInfo_obj_sStaticFields[] = {
+ HX_("knownEncryptionSchemes",68,82,e3,f9),
+ HX_("fromStanza",ff,62,3b,49),
+ ::String(null())
+};
+
+void EncryptionInfo_obj::__register()
+{
+ EncryptionInfo_obj _hx_dummy;
+ EncryptionInfo_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.EncryptionInfo",5e,65,4b,3e);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &EncryptionInfo_obj::__GetStatic;
+ __mClass->mSetStaticField = &EncryptionInfo_obj::__SetStatic;
+ __mClass->mMarkFunc = EncryptionInfo_obj_sMarkStatics;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(EncryptionInfo_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(EncryptionInfo_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< EncryptionInfo_obj >;
+#ifdef HXCPP_VISIT_ALLOCS
+ __mClass->mVisitFunc = EncryptionInfo_obj_sVisitStatics;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = EncryptionInfo_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = EncryptionInfo_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void EncryptionInfo_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_495491200499f74a_17_boot)
+HXDLIN( 17) __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_("status__fromC",87,b3,25,a1), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(1,HX_("reasonText__fromC",08,1a,cd,af), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(2,HX_("reason__fromC",35,a1,3e,b1), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(3,HX_("methodName__fromC",2d,68,15,d0), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(4,HX_("method__fromC",b8,87,d2,65), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
+ }
+{
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(0)
+ ::haxe::ds::StringMap _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_495491200499f74a_25_boot)
+HXDLIN( 25) ::haxe::ds::StringMap _g = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXDLIN( 25) _g->set(HX_("urn:xmpp:otr:0",07,f2,ec,0d),HX_("OTR",8d,3b,3c,00));
+HXDLIN( 25) _g->set(HX_("jabber:x:encrypted",6c,67,64,ad),HX_("Legacy OpenPGP",18,54,6a,dd));
+HXDLIN( 25) _g->set(HX_("urn:xmpp:openpgp:0",e9,3d,59,5b),HX_("OpenPGP",cf,10,83,0d));
+HXDLIN( 25) _g->set(HX_("eu.siacs.conversations.axolotl",44,2e,02,36),HX_("OMEMO",89,e0,c1,af));
+HXDLIN( 25) _g->set(HX_("urn:xmpp:omemo:1",04,93,c3,f1),HX_("OMEMO 1",da,f0,61,8c));
+HXDLIN( 25) _g->set(HX_("urn:xmpp:omemo:2",05,93,c3,f1),HX_("OMEMO 2",db,f0,61,8c));
+HXDLIN( 25) return _g;
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+ HX_STACKFRAME(&_hx_pos_495491200499f74a_25_boot)
+HXDLIN( 25) knownEncryptionSchemes = ( ( ::haxe::ds::StringMap)( ::Dynamic(new _hx_Closure_0())()) );
+ }
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/EncryptionPolicy.cpp b/Sources/c_borogove/src/borogove/EncryptionPolicy.cpp
new file mode 100644
index 0000000..c78a0b2
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/EncryptionPolicy.cpp
@@ -0,0 +1,113 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_EncryptionPolicy
+#include <borogove/EncryptionPolicy.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_463b5e117b71e43d_4_new,"borogove.EncryptionPolicy","new",0x977bded4,"borogove.EncryptionPolicy.new","borogove/EncryptionPolicy.hx",4,0xfb297bbb)
+namespace borogove{
+
+void EncryptionPolicy_obj::__construct(bool allowUnencryptedIncoming,bool allowUnencryptedOutgoing,bool preferEncryptedOutgoing){
+ HX_STACKFRAME(&_hx_pos_463b5e117b71e43d_4_new)
+HXDLIN( 4) this->allowUnencryptedIncoming = allowUnencryptedIncoming;
+HXDLIN( 4) this->allowUnencryptedOutgoing = allowUnencryptedOutgoing;
+HXDLIN( 4) this->preferEncryptedOutgoing = preferEncryptedOutgoing;
+ }
+
+Dynamic EncryptionPolicy_obj::__CreateEmpty() { return new EncryptionPolicy_obj; }
+
+void *EncryptionPolicy_obj::_hx_vtable = 0;
+
+Dynamic EncryptionPolicy_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< EncryptionPolicy_obj > _hx_result = new EncryptionPolicy_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2]);
+ return _hx_result;
+}
+
+bool EncryptionPolicy_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x3c34ea9e;
+}
+
+
+EncryptionPolicy_obj::EncryptionPolicy_obj()
+{
+}
+
+::hx::Val EncryptionPolicy_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 23:
+ if (HX_FIELD_EQ(inName,"preferEncryptedOutgoing") ) { return ::hx::Val( preferEncryptedOutgoing ); }
+ break;
+ case 24:
+ if (HX_FIELD_EQ(inName,"allowUnencryptedIncoming") ) { return ::hx::Val( allowUnencryptedIncoming ); }
+ if (HX_FIELD_EQ(inName,"allowUnencryptedOutgoing") ) { return ::hx::Val( allowUnencryptedOutgoing ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val EncryptionPolicy_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 23:
+ if (HX_FIELD_EQ(inName,"preferEncryptedOutgoing") ) { preferEncryptedOutgoing=inValue.Cast< bool >(); return inValue; }
+ break;
+ case 24:
+ if (HX_FIELD_EQ(inName,"allowUnencryptedIncoming") ) { allowUnencryptedIncoming=inValue.Cast< bool >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"allowUnencryptedOutgoing") ) { allowUnencryptedOutgoing=inValue.Cast< bool >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void EncryptionPolicy_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("allowUnencryptedIncoming",88,ed,41,c8));
+ outFields->push(HX_("allowUnencryptedOutgoing",0e,c5,b5,74));
+ outFields->push(HX_("preferEncryptedOutgoing",60,8a,cb,4a));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo EncryptionPolicy_obj_sMemberStorageInfo[] = {
+ {::hx::fsBool,(int)offsetof(EncryptionPolicy_obj,allowUnencryptedIncoming),HX_("allowUnencryptedIncoming",88,ed,41,c8)},
+ {::hx::fsBool,(int)offsetof(EncryptionPolicy_obj,allowUnencryptedOutgoing),HX_("allowUnencryptedOutgoing",0e,c5,b5,74)},
+ {::hx::fsBool,(int)offsetof(EncryptionPolicy_obj,preferEncryptedOutgoing),HX_("preferEncryptedOutgoing",60,8a,cb,4a)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *EncryptionPolicy_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String EncryptionPolicy_obj_sMemberFields[] = {
+ HX_("allowUnencryptedIncoming",88,ed,41,c8),
+ HX_("allowUnencryptedOutgoing",0e,c5,b5,74),
+ HX_("preferEncryptedOutgoing",60,8a,cb,4a),
+ ::String(null()) };
+
+::hx::Class EncryptionPolicy_obj::__mClass;
+
+void EncryptionPolicy_obj::__register()
+{
+ EncryptionPolicy_obj _hx_dummy;
+ EncryptionPolicy_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.EncryptionPolicy",e2,24,cf,57);
+ __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(EncryptionPolicy_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< EncryptionPolicy_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = EncryptionPolicy_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = EncryptionPolicy_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/EventEmitter.cpp b/Sources/c_borogove/src/borogove/EventEmitter.cpp
new file mode 100644
index 0000000..d7a0d2e
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/EventEmitter.cpp
@@ -0,0 +1,261 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_Log
+#include <haxe/Log.h>
+#endif
+#ifndef INCLUDED_haxe_ds_IntMap
+#include <haxe/ds/IntMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_146a13f27c2d9810_23_new,"borogove.EventEmitter","new",0x4c1a4b73,"borogove.EventEmitter.new","borogove/EventEmitter.hx",23,0x67194c7c)
+HX_LOCAL_STACK_FRAME(_hx_pos_146a13f27c2d9810_30_on,"borogove.EventEmitter","on",0x9fe9296c,"borogove.EventEmitter.on","borogove/EventEmitter.hx",30,0x67194c7c)
+HX_LOCAL_STACK_FRAME(_hx_pos_146a13f27c2d9810_44_once,"borogove.EventEmitter","once",0x4b97b30e,"borogove.EventEmitter.once","borogove/EventEmitter.hx",44,0x67194c7c)
+HX_LOCAL_STACK_FRAME(_hx_pos_146a13f27c2d9810_42_once,"borogove.EventEmitter","once",0x4b97b30e,"borogove.EventEmitter.once","borogove/EventEmitter.hx",42,0x67194c7c)
+HX_LOCAL_STACK_FRAME(_hx_pos_146a13f27c2d9810_52_trigger,"borogove.EventEmitter","trigger",0x069c55cb,"borogove.EventEmitter.trigger","borogove/EventEmitter.hx",52,0x67194c7c)
+HX_LOCAL_STACK_FRAME(_hx_pos_146a13f27c2d9810_76_removeEventListener,"borogove.EventEmitter","removeEventListener",0xeb3a98dd,"borogove.EventEmitter.removeEventListener","borogove/EventEmitter.hx",76,0x67194c7c)
+namespace borogove{
+
+void EventEmitter_obj::__construct(){
+ HX_GC_STACKFRAME(&_hx_pos_146a13f27c2d9810_23_new)
+HXLINE( 25) this->eventHandlers = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 24) this->nextEventHandlerToken = 0;
+ }
+
+Dynamic EventEmitter_obj::__CreateEmpty() { return new EventEmitter_obj; }
+
+void *EventEmitter_obj::_hx_vtable = 0;
+
+Dynamic EventEmitter_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< EventEmitter_obj > _hx_result = new EventEmitter_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool EventEmitter_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x4fb834f5;
+}
+
+int EventEmitter_obj::on(::String eventName, ::Dynamic callback){
+ HX_GC_STACKFRAME(&_hx_pos_146a13f27c2d9810_30_on)
+HXLINE( 31) ::haxe::ds::IntMap handlers = ( ( ::haxe::ds::IntMap)(this->eventHandlers->get(eventName)) );
+HXLINE( 32) if (::hx::IsNull( handlers )) {
+HXLINE( 33) handlers = ::haxe::ds::IntMap_obj::__alloc( HX_CTX );
+HXLINE( 34) this->eventHandlers->set(eventName,handlers);
+ }
+HXLINE( 36) int token = this->nextEventHandlerToken++;
+HXLINE( 37) handlers->set(token,callback);
+HXLINE( 38) return token;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(EventEmitter_obj,on,return )
+
+void EventEmitter_obj::once(::String eventName, ::Dynamic callback){
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::EventEmitter,_gthis,::Array< ::Dynamic>,token, ::Dynamic,callback) HXARGC(1)
+ ::borogove::EventResult _hx_run( ::Dynamic e){
+ HX_STACKFRAME(&_hx_pos_146a13f27c2d9810_44_once)
+HXLINE( 45) if (::hx::IsNull( token->__get(0) )) {
+HXLINE( 45) HX_STACK_DO_THROW(HX_("Somehow token was not ready",54,8b,59,8f));
+ }
+HXLINE( 46) _gthis->removeEventListener(( (int)(token->__get(0)) ));
+HXLINE( 47) return callback(e);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_146a13f27c2d9810_42_once)
+HXDLIN( 42) ::borogove::EventEmitter _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 43) ::Array< ::Dynamic> token = ::Array_obj< ::Dynamic>::__new(1)->init(0,null());
+HXLINE( 44) token[0] = this->on(eventName, ::Dynamic(new _hx_Closure_0(_gthis,token,callback)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(EventEmitter_obj,once,(void))
+
+ ::borogove::EventResult EventEmitter_obj::trigger(::String eventName, ::Dynamic eventData){
+ HX_STACKFRAME(&_hx_pos_146a13f27c2d9810_52_trigger)
+HXLINE( 53) ::haxe::ds::IntMap handlers = ( ( ::haxe::ds::IntMap)(this->eventHandlers->get(eventName)) );
+HXLINE( 54) if (::hx::IsNull( handlers )) {
+HXLINE( 54) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+ }
+HXLINE( 56) ::haxe::Log_obj::trace((HX_("firing event: ",93,3a,85,fb) + eventName),::hx::SourceInfo(HX_("borogove/EventEmitter.hx",7c,4c,19,67),56,HX_("borogove.EventEmitter",01,16,b5,ca),HX_("trigger",38,55,df,25)));
+HXLINE( 57) bool handled = false;
+HXLINE( 58) {
+HXLINE( 58) ::Dynamic handler = handlers->iterator();
+HXDLIN( 58) while(( (bool)(handler->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 59) ::borogove::EventResult ret = handler->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()(eventData);
+HXLINE( 60) switch((int)(ret->_hx_getIndex())){
+ case (int)0: {
+HXLINE( 61) handled = true;
+ }
+ break;
+ case (int)1: {
+HXLINE( 62) continue;
+ }
+ break;
+ case (int)2: {
+HXLINE( 63) return ret;
+ }
+ break;
+ case (int)3: {
+HXLINE( 63) return ret;
+ }
+ break;
+ }
+ }
+ }
+HXLINE( 66) if (handled) {
+HXLINE( 66) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ else {
+HXLINE( 66) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+ }
+HXDLIN( 66) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(EventEmitter_obj,trigger,return )
+
+void EventEmitter_obj::removeEventListener(int token){
+ HX_STACKFRAME(&_hx_pos_146a13f27c2d9810_76_removeEventListener)
+HXDLIN( 76) ::Dynamic handlers = this->eventHandlers->iterator();
+HXDLIN( 76) while(( (bool)(handlers->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 77) ( ( ::haxe::ds::IntMap)(handlers->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )->remove(token);
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(EventEmitter_obj,removeEventListener,(void))
+
+
+::hx::ObjectPtr< EventEmitter_obj > EventEmitter_obj::__new() {
+ ::hx::ObjectPtr< EventEmitter_obj > __this = new EventEmitter_obj();
+ __this->__construct();
+ return __this;
+}
+
+::hx::ObjectPtr< EventEmitter_obj > EventEmitter_obj::__alloc(::hx::Ctx *_hx_ctx) {
+ EventEmitter_obj *__this = (EventEmitter_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(EventEmitter_obj), true, "borogove.EventEmitter"));
+ *(void **)__this = EventEmitter_obj::_hx_vtable;
+ __this->__construct();
+ return __this;
+}
+
+EventEmitter_obj::EventEmitter_obj()
+{
+}
+
+void EventEmitter_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(EventEmitter);
+ HX_MARK_MEMBER_NAME(nextEventHandlerToken,"nextEventHandlerToken");
+ HX_MARK_MEMBER_NAME(eventHandlers,"eventHandlers");
+ HX_MARK_END_CLASS();
+}
+
+void EventEmitter_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(nextEventHandlerToken,"nextEventHandlerToken");
+ HX_VISIT_MEMBER_NAME(eventHandlers,"eventHandlers");
+}
+
+::hx::Val EventEmitter_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"on") ) { return ::hx::Val( on_dyn() ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"once") ) { return ::hx::Val( once_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"trigger") ) { return ::hx::Val( trigger_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"eventHandlers") ) { return ::hx::Val( eventHandlers ); }
+ break;
+ case 19:
+ if (HX_FIELD_EQ(inName,"removeEventListener") ) { return ::hx::Val( removeEventListener_dyn() ); }
+ break;
+ case 21:
+ if (HX_FIELD_EQ(inName,"nextEventHandlerToken") ) { return ::hx::Val( nextEventHandlerToken ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val EventEmitter_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 13:
+ if (HX_FIELD_EQ(inName,"eventHandlers") ) { eventHandlers=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
+ break;
+ case 21:
+ if (HX_FIELD_EQ(inName,"nextEventHandlerToken") ) { nextEventHandlerToken=inValue.Cast< int >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void EventEmitter_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("nextEventHandlerToken",96,13,5a,b3));
+ outFields->push(HX_("eventHandlers",a3,4f,27,8f));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo EventEmitter_obj_sMemberStorageInfo[] = {
+ {::hx::fsInt,(int)offsetof(EventEmitter_obj,nextEventHandlerToken),HX_("nextEventHandlerToken",96,13,5a,b3)},
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(EventEmitter_obj,eventHandlers),HX_("eventHandlers",a3,4f,27,8f)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *EventEmitter_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String EventEmitter_obj_sMemberFields[] = {
+ HX_("nextEventHandlerToken",96,13,5a,b3),
+ HX_("eventHandlers",a3,4f,27,8f),
+ HX_("on",1f,61,00,00),
+ HX_("once",81,7d,b2,49),
+ HX_("trigger",38,55,df,25),
+ HX_("removeEventListener",ca,87,75,55),
+ ::String(null()) };
+
+::hx::Class EventEmitter_obj::__mClass;
+
+void EventEmitter_obj::__register()
+{
+ EventEmitter_obj _hx_dummy;
+ EventEmitter_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.EventEmitter",01,16,b5,ca);
+ __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(EventEmitter_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< EventEmitter_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = EventEmitter_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = EventEmitter_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/EventHandler.cpp b/Sources/c_borogove/src/borogove/EventHandler.cpp
similarity index 79%
rename from Sources/c_snikket/src/snikket/EventHandler.cpp
rename to Sources/c_borogove/src/borogove/EventHandler.cpp
index 509e24e..11c9db8 100644
--- a/Sources/c_snikket/src/snikket/EventHandler.cpp
+++ b/Sources/c_borogove/src/borogove/EventHandler.cpp
@@ -1,21 +1,21 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_EventHandler
-#include <snikket/EventHandler.h>
+#ifndef INCLUDED_borogove_EventHandler
+#include <borogove/EventHandler.h>
#endif
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_2843da3dd1b24550_12_new,"snikket.EventHandler","new",0x96c1daf3,"snikket.EventHandler.new","snikket/EventHandler.hx",12,0xe5b62cfc)
-HX_LOCAL_STACK_FRAME(_hx_pos_2843da3dd1b24550_25_call,"snikket.EventHandler","call",0x4b954eab,"snikket.EventHandler.call","snikket/EventHandler.hx",25,0xe5b62cfc)
-HX_LOCAL_STACK_FRAME(_hx_pos_2843da3dd1b24550_32_once,"snikket.EventHandler","once",0x538db38e,"snikket.EventHandler.once","snikket/EventHandler.hx",32,0xe5b62cfc)
-HX_LOCAL_STACK_FRAME(_hx_pos_2843da3dd1b24550_38_unsubscribe,"snikket.EventHandler","unsubscribe",0xe1e5e764,"snikket.EventHandler.unsubscribe","snikket/EventHandler.hx",38,0xe5b62cfc)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_edf2982a70fba2f6_12_new,"borogove.EventHandler","new",0x0a1c23cf,"borogove.EventHandler.new","borogove/EventHandler.hx",12,0x1671b3a0)
+HX_LOCAL_STACK_FRAME(_hx_pos_edf2982a70fba2f6_25_call,"borogove.EventHandler","call",0xc73ac64f,"borogove.EventHandler.call","borogove/EventHandler.hx",25,0x1671b3a0)
+HX_LOCAL_STACK_FRAME(_hx_pos_edf2982a70fba2f6_32_once,"borogove.EventHandler","once",0xcf332b32,"borogove.EventHandler.once","borogove/EventHandler.hx",32,0x1671b3a0)
+HX_LOCAL_STACK_FRAME(_hx_pos_edf2982a70fba2f6_38_unsubscribe,"borogove.EventHandler","unsubscribe",0x6c3e6c40,"borogove.EventHandler.unsubscribe","borogove/EventHandler.hx",38,0x1671b3a0)
+namespace borogove{
void EventHandler_obj::__construct(::Array< ::Dynamic> handlers, ::Dynamic callback, ::Dynamic onlyOnce){
- HX_STACKFRAME(&_hx_pos_2843da3dd1b24550_12_new)
+ HX_STACKFRAME(&_hx_pos_edf2982a70fba2f6_12_new)
HXLINE( 15) this->onlyOnce = false;
HXLINE( 14) this->callback = null();
HXLINE( 13) this->handlers = null();
@@ -38,11 +38,11 @@ Dynamic EventHandler_obj::__Create(::hx::DynamicArray inArgs)
}
bool EventHandler_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x39717849;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x5d6abbb5;
}
- ::snikket::EventResult EventHandler_obj::call( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_2843da3dd1b24550_25_call)
+ ::borogove::EventResult EventHandler_obj::call( ::Dynamic data){
+ HX_STACKFRAME(&_hx_pos_edf2982a70fba2f6_25_call)
HXLINE( 26) if (this->onlyOnce) {
HXLINE( 27) this->unsubscribe();
}
@@ -52,8 +52,8 @@ HXLINE( 29) return this->callback(data);
HX_DEFINE_DYNAMIC_FUNC1(EventHandler_obj,call,return )
- ::snikket::EventHandler EventHandler_obj::once(){
- HX_STACKFRAME(&_hx_pos_2843da3dd1b24550_32_once)
+ ::borogove::EventHandler EventHandler_obj::once(){
+ HX_STACKFRAME(&_hx_pos_edf2982a70fba2f6_32_once)
HXLINE( 33) this->onlyOnce = true;
HXLINE( 34) return ::hx::ObjectPtr<OBJ_>(this);
}
@@ -62,7 +62,7 @@ HXLINE( 34) return ::hx::ObjectPtr<OBJ_>(this);
HX_DEFINE_DYNAMIC_FUNC0(EventHandler_obj,once,return )
void EventHandler_obj::unsubscribe(){
- HX_STACKFRAME(&_hx_pos_2843da3dd1b24550_38_unsubscribe)
+ HX_STACKFRAME(&_hx_pos_edf2982a70fba2f6_38_unsubscribe)
HXDLIN( 38) this->handlers->remove(::hx::ObjectPtr<OBJ_>(this));
}
@@ -77,7 +77,7 @@ HX_DEFINE_DYNAMIC_FUNC0(EventHandler_obj,unsubscribe,(void))
}
::hx::ObjectPtr< EventHandler_obj > EventHandler_obj::__alloc(::hx::Ctx *_hx_ctx,::Array< ::Dynamic> handlers, ::Dynamic callback, ::Dynamic onlyOnce) {
- EventHandler_obj *__this = (EventHandler_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(EventHandler_obj), true, "snikket.EventHandler"));
+ EventHandler_obj *__this = (EventHandler_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(EventHandler_obj), true, "borogove.EventHandler"));
*(void **)__this = EventHandler_obj::_hx_vtable;
__this->__construct(handlers,callback,onlyOnce);
return __this;
@@ -165,7 +165,7 @@ void EventHandler_obj::__register()
EventHandler_obj _hx_dummy;
EventHandler_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.EventHandler",81,e5,7e,d7);
+ __mClass->mName = HX_("borogove.EventHandler",5d,90,94,51);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -183,4 +183,4 @@ void EventHandler_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/EventResult.cpp b/Sources/c_borogove/src/borogove/EventResult.cpp
similarity index 84%
rename from Sources/c_snikket/src/snikket/EventResult.cpp
rename to Sources/c_borogove/src/borogove/EventResult.cpp
index a9aaeac..ff8175c 100644
--- a/Sources/c_snikket/src/snikket/EventResult.cpp
+++ b/Sources/c_borogove/src/borogove/EventResult.cpp
@@ -1,18 +1,18 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
#endif
-namespace snikket{
+namespace borogove{
-::snikket::EventResult EventResult_obj::EventHandled;
+::borogove::EventResult EventResult_obj::EventHandled;
-::snikket::EventResult EventResult_obj::EventStop;
+::borogove::EventResult EventResult_obj::EventStop;
-::snikket::EventResult EventResult_obj::EventUnhandled;
+::borogove::EventResult EventResult_obj::EventUnhandled;
-::snikket::EventResult EventResult_obj::EventValue( ::Dynamic result)
+::borogove::EventResult EventResult_obj::EventValue( ::Dynamic result)
{
return ::hx::CreateEnum< EventResult_obj >(HX_("EventValue",17,8d,c4,a4),3,1)->_hx_init(0,result);
}
@@ -72,7 +72,7 @@ Dynamic __Create_EventResult_obj() { return new EventResult_obj; }
void EventResult_obj::__register()
{
-::hx::Static(__mClass) = ::hx::_hx_RegisterClass(HX_("snikket.EventResult",06,97,23,e2), ::hx::TCanCast< EventResult_obj >,EventResult_obj_sStaticFields,0,
+::hx::Static(__mClass) = ::hx::_hx_RegisterClass(HX_("borogove.EventResult",aa,fb,25,6a), ::hx::TCanCast< EventResult_obj >,EventResult_obj_sStaticFields,0,
&__Create_EventResult_obj, &__Create,
&super::__SGetClass(), &CreateEventResult_obj, 0
#ifdef HXCPP_VISIT_ALLOCS
@@ -93,4 +93,4 @@ EventUnhandled = ::hx::CreateConstEnum< EventResult_obj >(HX_("EventUnhandled",2
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Form.cpp b/Sources/c_borogove/src/borogove/Form.cpp
new file mode 100644
index 0000000..ee06ba3
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Form.cpp
@@ -0,0 +1,583 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.h>
+#endif
+#ifndef INCLUDED_borogove_Form
+#include <borogove/Form.h>
+#endif
+#ifndef INCLUDED_borogove_FormField
+#include <borogove/FormField.h>
+#endif
+#ifndef INCLUDED_borogove_FormItem
+#include <borogove/FormItem.h>
+#endif
+#ifndef INCLUDED_borogove_FormLayoutSection
+#include <borogove/FormLayoutSection.h>
+#endif
+#ifndef INCLUDED_borogove_FormSection
+#include <borogove/FormSection.h>
+#endif
+#ifndef INCLUDED_borogove_FormSubmitBuilder
+#include <borogove/FormSubmitBuilder.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_cpp_Int64Map
+#include <cpp/Int64Map.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_d5f5e869927de4ab_101_new,"borogove.Form","new",0x1fd8d343,"borogove.Form.new","borogove/Form.hx",101,0x25d2f7ac)
+HX_LOCAL_STACK_FRAME(_hx_pos_d5f5e869927de4ab_110_isResult,"borogove.Form","isResult",0x5904aaa4,"borogove.Form.isResult","borogove/Form.hx",110,0x25d2f7ac)
+HX_LOCAL_STACK_FRAME(_hx_pos_d5f5e869927de4ab_120_title,"borogove.Form","title",0xdd30d73b,"borogove.Form.title","borogove/Form.hx",120,0x25d2f7ac)
+HX_LOCAL_STACK_FRAME(_hx_pos_d5f5e869927de4ab_127_url,"borogove.Form","url",0x1fde2e52,"borogove.Form.url","borogove/Form.hx",127,0x25d2f7ac)
+HX_LOCAL_STACK_FRAME(_hx_pos_d5f5e869927de4ab_133_items,"borogove.Form","items",0x8f026da3,"borogove.Form.items","borogove/Form.hx",133,0x25d2f7ac)
+HX_LOCAL_STACK_FRAME(_hx_pos_6b9e5fdea75c39d7_311_items__fromC,"borogove.Form","items__fromC",0x8be04d36,"borogove.Form.items__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_d5f5e869927de4ab_219_submit,"borogove.Form","submit",0x241a0515,"borogove.Form.submit","borogove/Form.hx",219,0x25d2f7ac)
+HX_LOCAL_STACK_FRAME(_hx_pos_d5f5e869927de4ab_96_boot,"borogove.Form","boot",0xb5f907ef,"borogove.Form.boot","borogove/Form.hx",96,0x25d2f7ac)
+namespace borogove{
+
+void Form_obj::__construct( ::borogove::Stanza form, ::borogove::Stanza oob){
+ HX_STACKFRAME(&_hx_pos_d5f5e869927de4ab_101_new)
+HXLINE( 102) bool _hx_tmp;
+HXDLIN( 102) if (::hx::IsNull( form )) {
+HXLINE( 102) _hx_tmp = ::hx::IsNull( oob );
+ }
+ else {
+HXLINE( 102) _hx_tmp = false;
+ }
+HXDLIN( 102) if (_hx_tmp) {
+HXLINE( 102) HX_STACK_DO_THROW(HX_("Need a form or OOB",98,11,b8,58));
+ }
+HXLINE( 103) this->form = form;
+HXLINE( 104) this->oob = oob;
+ }
+
+Dynamic Form_obj::__CreateEmpty() { return new Form_obj; }
+
+void *Form_obj::_hx_vtable = 0;
+
+Dynamic Form_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Form_obj > _hx_result = new Form_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool Form_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2cd080c5;
+}
+
+static ::borogove::FormSection_obj _hx_borogove_Form__hx_borogove_FormSection= {
+ ( ::String (::hx::Object::*)())&::borogove::Form_obj::title,
+ ( ::Array< ::Dynamic> (::hx::Object::*)())&::borogove::Form_obj::items,
+};
+
+void *Form_obj::_hx_getInterface(int inHash) {
+ switch(inHash) {
+ case (int)0xeffc2a60: return &_hx_borogove_Form__hx_borogove_FormSection;
+ }
+ #ifdef HXCPP_SCRIPTABLE
+ return super::_hx_getInterface(inHash);
+ #else
+ return 0;
+ #endif
+}
+
+bool Form_obj::isResult(){
+ HX_STACKFRAME(&_hx_pos_d5f5e869927de4ab_110_isResult)
+HXLINE( 111) if (::hx::IsNull( this->form )) {
+HXLINE( 111) return true;
+ }
+HXLINE( 113) ::String _hx_tmp;
+HXDLIN( 113) ::String tmp = ( (::String)(::Reflect_obj::field(this->form->attr,HX_("type",ba,f2,08,4d))) );
+HXDLIN( 113) if (::hx::IsNotNull( tmp )) {
+HXLINE( 113) _hx_tmp = tmp;
+ }
+ else {
+HXLINE( 113) _hx_tmp = HX_("form",44,61,c0,43);
+ }
+HXDLIN( 113) return (_hx_tmp == HX_("result",dd,68,84,08));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Form_obj,isResult,return )
+
+::String Form_obj::title(){
+ HX_STACKFRAME(&_hx_pos_d5f5e869927de4ab_120_title)
+HXDLIN( 120) if (::hx::IsNotNull( this->form )) {
+HXDLIN( 120) return this->form->getChildText(HX_("title",98,15,3b,10),null());
+ }
+ else {
+HXDLIN( 120) return this->oob->getChildText(HX_("desc",51,5e,66,42),null());
+ }
+HXDLIN( 120) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Form_obj,title,return )
+
+::String Form_obj::url(){
+ HX_STACKFRAME(&_hx_pos_d5f5e869927de4ab_127_url)
+HXDLIN( 127) ::borogove::Stanza tmp = this->oob;
+HXDLIN( 127) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 127) return tmp->getChildText(HX_("url",6f,2b,59,00),null());
+ }
+ else {
+HXDLIN( 127) return null();
+ }
+HXDLIN( 127) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Form_obj,url,return )
+
+::Array< ::Dynamic> Form_obj::items(){
+ HX_GC_STACKFRAME(&_hx_pos_d5f5e869927de4ab_133_items)
+HXLINE( 134) if (::hx::IsNull( this->form )) {
+HXLINE( 134) return ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXLINE( 136) ::borogove::Stanza s = this->form;
+HXLINE( 137) bool hasLayout = ::hx::IsNotNull( s->getChild(HX_("page",4f,da,51,4a),HX_("http://jabber.org/protocol/xdata-layout",a9,5c,62,a8)) );
+HXLINE( 138) ::Array< ::Dynamic> items = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 139) {
+HXLINE( 139) int _g = 0;
+HXDLIN( 139) ::Array< ::Dynamic> _g1 = s->allTags(null(),null());
+HXDLIN( 139) while((_g < _g1->length)){
+HXLINE( 139) ::borogove::Stanza child = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN( 139) _g = (_g + 1);
+HXLINE( 140) bool _hx_tmp;
+HXDLIN( 140) if ((child->name == HX_("instructions",a5,96,3f,6d))) {
+HXLINE( 140) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
+HXLINE( 140) _hx_tmp = (( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("jabber:x:data",c2,e1,e9,7c));
+ }
+ else {
+HXLINE( 140) _hx_tmp = true;
+ }
+ }
+ else {
+HXLINE( 140) _hx_tmp = false;
+ }
+HXDLIN( 140) if (_hx_tmp) {
+HXLINE( 141) ::String _hx_tmp1 = child->getText();
+HXDLIN( 141) 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))) )));
+ }
+HXLINE( 143) bool _hx_tmp2;
+HXDLIN( 143) bool _hx_tmp3;
+HXDLIN( 143) if (!(hasLayout)) {
+HXLINE( 143) _hx_tmp3 = (child->name == HX_("field",ba,94,93,00));
+ }
+ else {
+HXLINE( 143) _hx_tmp3 = false;
+ }
+HXDLIN( 143) if (_hx_tmp3) {
+HXLINE( 143) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
+HXLINE( 143) _hx_tmp2 = (( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("jabber:x:data",c2,e1,e9,7c));
+ }
+ else {
+HXLINE( 143) _hx_tmp2 = true;
+ }
+ }
+ else {
+HXLINE( 143) _hx_tmp2 = false;
+ }
+HXDLIN( 143) if (_hx_tmp2) {
+HXLINE( 144) ::borogove::Stanza fld = child;
+HXLINE( 145) bool _hx_tmp4;
+HXDLIN( 145) ::String attr = ( (::String)(::Reflect_obj::field(fld->attr,HX_("type",ba,f2,08,4d))) );
+HXDLIN( 145) ::String _hx_tmp5;
+HXDLIN( 145) if ((attr == HX_("jid-single",50,8e,f5,83))) {
+HXLINE( 145) _hx_tmp5 = HX_("text-single",68,19,96,16);
+ }
+ else {
+HXLINE( 145) if ((attr == HX_("jid-multi",b1,73,6d,1a))) {
+HXLINE( 145) _hx_tmp5 = HX_("text-multi",99,d3,c0,10);
+ }
+ else {
+HXLINE( 145) _hx_tmp5 = attr;
+ }
+ }
+HXDLIN( 145) if ((_hx_tmp5 == HX_("fixed",74,f9,a1,00))) {
+HXLINE( 145) _hx_tmp4 = ::hx::IsNull( ( (::String)(::Reflect_obj::field(fld->attr,HX_("label",f4,0d,af,6f))) ) );
+ }
+ else {
+HXLINE( 145) _hx_tmp4 = false;
+ }
+HXDLIN( 145) if (_hx_tmp4) {
+HXLINE( 146) int _g2 = 0;
+HXDLIN( 146) ::Array< ::String > _g3 = ::borogove::_DataForm::Field_Impl__obj::get_value(fld);
+HXDLIN( 146) while((_g2 < _g3->length)){
+HXLINE( 146) ::String v = _g3->__get(_g2);
+HXDLIN( 146) _g2 = (_g2 + 1);
+HXLINE( 147) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,v,null(),null(),null(),null(),null()));
+ }
+ }
+ else {
+HXLINE( 149) ::String attr1 = ( (::String)(::Reflect_obj::field(fld->attr,HX_("type",ba,f2,08,4d))) );
+HXDLIN( 149) ::String _hx_tmp6;
+HXDLIN( 149) if ((attr1 == HX_("jid-single",50,8e,f5,83))) {
+HXLINE( 149) _hx_tmp6 = HX_("text-single",68,19,96,16);
+ }
+ else {
+HXLINE( 149) if ((attr1 == HX_("jid-multi",b1,73,6d,1a))) {
+HXLINE( 149) _hx_tmp6 = HX_("text-multi",99,d3,c0,10);
+ }
+ else {
+HXLINE( 149) _hx_tmp6 = attr1;
+ }
+ }
+HXDLIN( 149) if ((_hx_tmp6 != HX_("hidden",6a,ff,95,4c))) {
+HXLINE( 150) ::borogove::FormField _hx_tmp7;
+HXDLIN( 150) if (::hx::IsNull( fld )) {
+HXLINE( 150) _hx_tmp7 = null();
+ }
+ else {
+HXLINE( 150) _hx_tmp7 = ::borogove::FormField_obj::__alloc( HX_CTX ,fld);
+ }
+HXDLIN( 150) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,null(),_hx_tmp7,null(),null(),null(),null()));
+ }
+ }
+ }
+HXLINE( 153) bool _hx_tmp8;
+HXDLIN( 153) bool _hx_tmp9;
+HXDLIN( 153) if (!(hasLayout)) {
+HXLINE( 153) _hx_tmp9 = (child->name == HX_("reported",13,2a,94,dd));
+ }
+ else {
+HXLINE( 153) _hx_tmp9 = false;
+ }
+HXDLIN( 153) if (_hx_tmp9) {
+HXLINE( 153) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
+HXLINE( 153) _hx_tmp8 = (( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("jabber:x:data",c2,e1,e9,7c));
+ }
+ else {
+HXLINE( 153) _hx_tmp8 = true;
+ }
+ }
+ else {
+HXLINE( 153) _hx_tmp8 = false;
+ }
+HXDLIN( 153) if (_hx_tmp8) {
+HXLINE( 156) ::borogove::Stanza tmp = this->form->getChild(HX_("reported",13,2a,94,dd),null());
+HXDLIN( 156) ::Array< ::Dynamic> tmp1;
+HXDLIN( 156) if (::hx::IsNotNull( tmp )) {
+HXLINE( 156) tmp1 = tmp->allTags(HX_("field",ba,94,93,00),null());
+ }
+ else {
+HXLINE( 156) tmp1 = null();
+ }
+HXDLIN( 156) ::Array< ::Dynamic> _hx_tmp10;
+HXDLIN( 156) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 156) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(tmp1->length);
+HXDLIN( 156) {
+HXLINE( 156) int _g4 = 0;
+HXDLIN( 156) int _g5 = tmp1->length;
+HXDLIN( 156) while((_g4 < _g5)){
+HXLINE( 156) _g4 = (_g4 + 1);
+HXDLIN( 156) int i = (_g4 - 1);
+HXDLIN( 156) {
+HXLINE( 156) ::borogove::Stanza f = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(tmp1,i)) );
+HXDLIN( 156) ::borogove::FormField inValue;
+HXDLIN( 156) if (::hx::IsNull( f )) {
+HXLINE( 156) inValue = null();
+ }
+ else {
+HXLINE( 156) inValue = ::borogove::FormField_obj::__alloc( HX_CTX ,f);
+ }
+HXDLIN( 156) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 156) _hx_tmp10 = result;
+ }
+ else {
+HXLINE( 156) _hx_tmp10 = null();
+ }
+HXLINE( 157) ::Array< ::Dynamic> tmp2 = this->form->allTags(HX_("item",13,c5,bf,45),null());
+HXDLIN( 157) ::Array< ::Dynamic> tmp3;
+HXDLIN( 157) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 157) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(tmp2->length);
+HXDLIN( 157) {
+HXLINE( 157) int _g6 = 0;
+HXDLIN( 157) int _g7 = tmp2->length;
+HXDLIN( 157) while((_g6 < _g7)){
+HXLINE( 157) _g6 = (_g6 + 1);
+HXDLIN( 157) int i1 = (_g6 - 1);
+HXDLIN( 157) {
+HXLINE( 157) ::Array< ::Dynamic> inValue1 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(tmp2,i1)) )->allTags(HX_("field",ba,94,93,00),null());
+HXDLIN( 157) result1->__unsafe_set(i1,inValue1);
+ }
+ }
+ }
+HXDLIN( 157) tmp3 = result1;
+ }
+ else {
+HXLINE( 157) tmp3 = null();
+ }
+HXDLIN( 157) ::Array< ::Dynamic> tmp4;
+HXDLIN( 157) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 157) ::Array< ::Dynamic> result2 = ::Array_obj< ::Dynamic>::__new(tmp3->length);
+HXDLIN( 157) {
+HXLINE( 157) int _g8 = 0;
+HXDLIN( 157) int _g9 = tmp3->length;
+HXDLIN( 157) while((_g8 < _g9)){
+HXLINE( 157) _g8 = (_g8 + 1);
+HXDLIN( 157) int i2 = (_g8 - 1);
+HXDLIN( 157) {
+HXLINE( 157) ::Array< ::Dynamic> row = ( (::Array< ::Dynamic>)(_hx_array_unsafe_get(tmp3,i2)) );
+HXDLIN( 157) ::Array< ::Dynamic> result3 = ::Array_obj< ::Dynamic>::__new(row->length);
+HXDLIN( 157) {
+HXLINE( 157) int _g10 = 0;
+HXDLIN( 157) int _g11 = row->length;
+HXDLIN( 157) while((_g10 < _g11)){
+HXLINE( 157) _g10 = (_g10 + 1);
+HXDLIN( 157) int i3 = (_g10 - 1);
+HXDLIN( 157) {
+HXLINE( 157) ::borogove::Stanza f1 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(row,i3)) );
+HXDLIN( 157) ::borogove::FormField inValue2;
+HXDLIN( 157) if (::hx::IsNull( f1 )) {
+HXLINE( 157) inValue2 = null();
+ }
+ else {
+HXLINE( 157) inValue2 = ::borogove::FormField_obj::__alloc( HX_CTX ,f1);
+ }
+HXDLIN( 157) result3->__unsafe_set(i3,inValue2);
+ }
+ }
+ }
+HXDLIN( 157) result2->__unsafe_set(i2,result3);
+ }
+ }
+ }
+HXDLIN( 157) tmp4 = result2;
+ }
+ else {
+HXLINE( 157) tmp4 = null();
+ }
+HXDLIN( 157) ::Array< ::Dynamic> _hx_tmp11;
+HXDLIN( 157) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 157) _hx_tmp11 = tmp4;
+ }
+ else {
+HXLINE( 157) _hx_tmp11 = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXLINE( 154) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,null(),null(),null(),_hx_tmp10,_hx_tmp11,null()));
+ }
+HXLINE( 160) bool _hx_tmp12;
+HXDLIN( 160) if ((child->name == HX_("page",4f,da,51,4a))) {
+HXLINE( 160) _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));
+ }
+ else {
+HXLINE( 160) _hx_tmp12 = false;
+ }
+HXDLIN( 160) if (_hx_tmp12) {
+HXLINE( 161) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,null(),null(), ::borogove::FormLayoutSection_obj::__alloc( HX_CTX ,this->form,child),null(),null(),null()));
+ }
+ }
+ }
+HXLINE( 165) return items;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Form_obj,items,return )
+
+size_t Form_obj::items__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_6b9e5fdea75c39d7_311_items__fromC)
+HXDLIN( 311) ::Array< ::Dynamic> out = this->items();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) {
+HXDLIN( 311) int _g = 0;
+HXDLIN( 311) while((_g < out->length)){
+HXDLIN( 311) ::borogove::FormItem el = out->__get(_g).StaticCast< ::borogove::FormItem >();
+HXDLIN( 311) _g = (_g + 1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic haxeObject = el;
+HXDLIN( 311) void* ptr = haxeObject.mPtr;
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXDLIN( 311) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)out->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXDLIN( 311) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),out));
+HXDLIN( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+ ::borogove::Stanza Form_obj::submit( ::borogove::FormSubmitBuilder data){
+ HX_STACKFRAME(&_hx_pos_d5f5e869927de4ab_219_submit)
+HXDLIN( 219) return data->submit(this->form);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Form_obj,submit,return )
+
+
+::hx::ObjectPtr< Form_obj > Form_obj::__new( ::borogove::Stanza form, ::borogove::Stanza oob) {
+ ::hx::ObjectPtr< Form_obj > __this = new Form_obj();
+ __this->__construct(form,oob);
+ return __this;
+}
+
+::hx::ObjectPtr< Form_obj > Form_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Stanza form, ::borogove::Stanza oob) {
+ Form_obj *__this = (Form_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Form_obj), true, "borogove.Form"));
+ *(void **)__this = Form_obj::_hx_vtable;
+ __this->__construct(form,oob);
+ return __this;
+}
+
+Form_obj::Form_obj()
+{
+}
+
+void Form_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Form);
+ HX_MARK_MEMBER_NAME(form,"form");
+ HX_MARK_MEMBER_NAME(oob,"oob");
+ HX_MARK_END_CLASS();
+}
+
+void Form_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(form,"form");
+ HX_VISIT_MEMBER_NAME(oob,"oob");
+}
+
+::hx::Val Form_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"oob") ) { return ::hx::Val( oob ); }
+ if (HX_FIELD_EQ(inName,"url") ) { return ::hx::Val( url_dyn() ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"form") ) { return ::hx::Val( form ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"title") ) { return ::hx::Val( title_dyn() ); }
+ if (HX_FIELD_EQ(inName,"items") ) { return ::hx::Val( items_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"submit") ) { return ::hx::Val( submit_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"isResult") ) { return ::hx::Val( isResult_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val Form_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"oob") ) { oob=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"form") ) { form=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void Form_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("form",44,61,c0,43));
+ outFields->push(HX_("oob",42,9b,54,00));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo Form_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(Form_obj,form),HX_("form",44,61,c0,43)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(Form_obj,oob),HX_("oob",42,9b,54,00)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *Form_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Form_obj_sMemberFields[] = {
+ HX_("form",44,61,c0,43),
+ HX_("oob",42,9b,54,00),
+ HX_("isResult",67,04,ee,60),
+ HX_("title",98,15,3b,10),
+ HX_("url",6f,2b,59,00),
+ HX_("items",00,ac,0c,c2),
+ HX_("submit",18,58,06,9a),
+ ::String(null()) };
+
+::hx::Class Form_obj::__mClass;
+
+void Form_obj::__register()
+{
+ Form_obj _hx_dummy;
+ Form_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Form",d1,75,ff,dc);
+ __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(Form_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Form_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Form_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Form_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void Form_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_d5f5e869927de4ab_96_boot)
+HXDLIN( 96) __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_("items",00,ac,0c,c2), ::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_("items__fromC",79,44,0d,2d), ::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/FormField.cpp b/Sources/c_borogove/src/borogove/FormField.cpp
new file mode 100644
index 0000000..42a2029
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/FormField.cpp
@@ -0,0 +1,599 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.h>
+#endif
+#ifndef INCLUDED_borogove_FormField
+#include <borogove/FormField.h>
+#endif
+#ifndef INCLUDED_borogove_FormOption
+#include <borogove/FormOption.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_cpp_Int64Map
+#include <cpp/Int64Map.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_088c849e9db23a84_192_new,"borogove.FormField","new",0x7db9c29b,"borogove.FormField.new","borogove/DataForm.hx",192,0x710703a2)
+HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_423_name__fromC,"borogove.FormField","name__fromC",0xcbb1d2c9,"borogove.FormField.name__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_423_label__fromC,"borogove.FormField","label__fromC",0xdd73376a,"borogove.FormField.label__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_423_desc__fromC,"borogove.FormField","desc__fromC",0x436f1383,"borogove.FormField.desc__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_397_value__fromC,"borogove.FormField","value__fromC",0x908b9f8d,"borogove.FormField.value__fromC","HaxeCBridge.hx",397,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_423_required__fromC,"borogove.FormField","required__fromC",0x060c37b5,"borogove.FormField.required__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_423_type__fromC,"borogove.FormField","type__fromC",0x50b7ce3a,"borogove.FormField.type__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_423_datatype__fromC,"borogove.FormField","datatype__fromC",0x990aedd0,"borogove.FormField.datatype__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_397_options__fromC,"borogove.FormField","options__fromC",0xb96a1680,"borogove.FormField.options__fromC","HaxeCBridge.hx",397,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_423_open__fromC,"borogove.FormField","open__fromC",0xfc27ff2a,"borogove.FormField.open__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_423_rangeMin__fromC,"borogove.FormField","rangeMin__fromC",0x4b1e8bff,"borogove.FormField.rangeMin__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_423_rangeMax__fromC,"borogove.FormField","rangeMax__fromC",0xef8bb92d,"borogove.FormField.rangeMax__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_423_regex__fromC,"borogove.FormField","regex__fromC",0xdb3b26f7,"borogove.FormField.regex__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_088c849e9db23a84_177_boot,"borogove.FormField","boot",0x7ce98597,"borogove.FormField.boot","borogove/DataForm.hx",177,0x710703a2)
+namespace borogove{
+
+void FormField_obj::__construct( ::borogove::Stanza field){
+ HX_STACKFRAME(&_hx_pos_088c849e9db23a84_192_new)
+HXLINE( 193) ::String tmp = ( (::String)(::Reflect_obj::field(field->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 193) ::String _hx_tmp;
+HXDLIN( 193) if (::hx::IsNotNull( tmp )) {
+HXLINE( 193) _hx_tmp = tmp;
+ }
+ else {
+HXLINE( 193) _hx_tmp = HX_("",00,00,00,00);
+ }
+HXDLIN( 193) this->name = _hx_tmp;
+HXLINE( 194) this->label = ( (::String)(::Reflect_obj::field(field->attr,HX_("label",f4,0d,af,6f))) );
+HXLINE( 195) this->desc = field->getChildText(HX_("desc",51,5e,66,42),null());
+HXLINE( 196) this->value = ::borogove::_DataForm::Field_Impl__obj::get_value(field);
+HXLINE( 197) this->required = ::hx::IsNotNull( field->getChild(HX_("required",5f,91,62,b2),null()) );
+HXLINE( 198) ::String attr = ( (::String)(::Reflect_obj::field(field->attr,HX_("type",ba,f2,08,4d))) );
+HXDLIN( 198) ::String _hx_tmp1;
+HXDLIN( 198) if ((attr == HX_("jid-single",50,8e,f5,83))) {
+HXLINE( 198) _hx_tmp1 = HX_("text-single",68,19,96,16);
+ }
+ else {
+HXLINE( 198) if ((attr == HX_("jid-multi",b1,73,6d,1a))) {
+HXLINE( 198) _hx_tmp1 = HX_("text-multi",99,d3,c0,10);
+ }
+ else {
+HXLINE( 198) _hx_tmp1 = attr;
+ }
+ }
+HXDLIN( 198) this->type = _hx_tmp1;
+HXLINE( 199) this->datatype = ::borogove::_DataForm::Field_Impl__obj::get_datatype(field);
+HXLINE( 200) ::Array< ::Dynamic> _this = ::borogove::_DataForm::Field_Impl__obj::get_options(field);
+HXDLIN( 200) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN( 200) {
+HXLINE( 200) int _g = 0;
+HXDLIN( 200) int _g1 = _this->length;
+HXDLIN( 200) while((_g < _g1)){
+HXLINE( 200) _g = (_g + 1);
+HXDLIN( 200) int i = (_g - 1);
+HXDLIN( 200) {
+HXLINE( 200) ::borogove::Stanza o = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) );
+HXDLIN( 200) ::borogove::FormOption inValue;
+HXDLIN( 200) if (::hx::IsNull( o )) {
+HXLINE( 200) inValue = null();
+ }
+ else {
+HXLINE( 200) inValue = ::borogove::FormOption_obj::fromOption(o);
+ }
+HXDLIN( 200) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 200) this->options = result;
+HXLINE( 201) ::borogove::Stanza validate = field->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
+HXDLIN( 201) ::borogove::Stanza _hx_tmp2;
+HXDLIN( 201) if (::hx::IsNotNull( validate )) {
+HXLINE( 201) _hx_tmp2 = validate->getChild(HX_("open",ca,03,b4,49),null());
+ }
+ else {
+HXLINE( 201) _hx_tmp2 = null();
+ }
+HXDLIN( 201) this->open = ::hx::IsNotNull( _hx_tmp2 );
+HXLINE( 202) ::borogove::Stanza validate1 = field->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
+HXDLIN( 202) ::borogove::Stanza tmp1;
+HXDLIN( 202) if (::hx::IsNotNull( validate1 )) {
+HXLINE( 202) tmp1 = validate1->getChild(HX_("range",bd,a5,1f,e4),null());
+ }
+ else {
+HXLINE( 202) tmp1 = null();
+ }
+HXDLIN( 202) ::Dynamic tmp2;
+HXDLIN( 202) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 202) tmp2 = tmp1->attr;
+ }
+ else {
+HXLINE( 202) tmp2 = null();
+ }
+HXDLIN( 202) ::String _hx_tmp3;
+HXDLIN( 202) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 202) _hx_tmp3 = ( (::String)(::Reflect_obj::field(tmp2,HX_("min",92,11,53,00))) );
+ }
+ else {
+HXLINE( 202) _hx_tmp3 = null();
+ }
+HXDLIN( 202) this->rangeMin = _hx_tmp3;
+HXLINE( 203) ::borogove::Stanza validate2 = field->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
+HXDLIN( 203) ::borogove::Stanza tmp3;
+HXDLIN( 203) if (::hx::IsNotNull( validate2 )) {
+HXLINE( 203) tmp3 = validate2->getChild(HX_("range",bd,a5,1f,e4),null());
+ }
+ else {
+HXLINE( 203) tmp3 = null();
+ }
+HXDLIN( 203) ::Dynamic tmp4;
+HXDLIN( 203) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 203) tmp4 = tmp3->attr;
+ }
+ else {
+HXLINE( 203) tmp4 = null();
+ }
+HXDLIN( 203) ::String _hx_tmp4;
+HXDLIN( 203) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 203) _hx_tmp4 = ( (::String)(::Reflect_obj::field(tmp4,HX_("max",a4,0a,53,00))) );
+ }
+ else {
+HXLINE( 203) _hx_tmp4 = null();
+ }
+HXDLIN( 203) this->rangeMax = _hx_tmp4;
+HXLINE( 204) ::borogove::Stanza validate3 = field->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
+HXDLIN( 204) ::String _hx_tmp5;
+HXDLIN( 204) if (::hx::IsNotNull( validate3 )) {
+HXLINE( 204) _hx_tmp5 = validate3->getChildText(HX_("regex",c7,2e,bf,e6),null());
+ }
+ else {
+HXLINE( 204) _hx_tmp5 = null();
+ }
+HXDLIN( 204) this->regex = _hx_tmp5;
+ }
+
+Dynamic FormField_obj::__CreateEmpty() { return new FormField_obj; }
+
+void *FormField_obj::_hx_vtable = 0;
+
+Dynamic FormField_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< FormField_obj > _hx_result = new FormField_obj();
+ _hx_result->__construct(inArgs[0]);
+ return _hx_result;
+}
+
+bool FormField_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x676e99b5;
+}
+
+::String FormField_obj::name__fromC(){
+ HX_STACKFRAME(&_hx_pos_8debe23b4b6754d6_423_name__fromC)
+HXDLIN( 423) return this->name;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormField_obj,name__fromC,return )
+
+::String FormField_obj::label__fromC(){
+ HX_STACKFRAME(&_hx_pos_8debe23b4b6754d6_423_label__fromC)
+HXDLIN( 423) return this->label;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormField_obj,label__fromC,return )
+
+::String FormField_obj::desc__fromC(){
+ HX_STACKFRAME(&_hx_pos_8debe23b4b6754d6_423_desc__fromC)
+HXDLIN( 423) return this->desc;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormField_obj,desc__fromC,return )
+
+size_t FormField_obj::value__fromC(const char*** outPtr){
+ HX_STACKFRAME(&_hx_pos_8debe23b4b6754d6_397_value__fromC)
+HXDLIN( 397) ::Array< ::String > x = this->value;
+HXDLIN( 397) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 397) ::cpp::Pointer< const char** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 397) ::Array< size_t > arr = ::Array_obj< size_t >::__new(x->length);
+HXDLIN( 397) {
+HXDLIN( 397) int _g_current = 0;
+HXDLIN( 397) ::Array< ::String > _g_array = x;
+HXDLIN( 397) while((_g_current < _g_array->length)){
+HXDLIN( 397) ::String _g_value = _g_array->__get(_g_current);
+HXDLIN( 397) _g_current = (_g_current + 1);
+HXDLIN( 397) ::String el = _g_value;
+HXDLIN( 397) {
+HXDLIN( 397) const char* cStrPtr = el.utf8_str();
+HXDLIN( 397) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 397) if (::hx::IsNull( store )) {
+HXLINE(2192) 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( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 397) const char* ptr = cStrPtr;
+HXDLIN( 397) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
+ }
+ }
+ }
+HXDLIN( 397) void** ptr1 = (void**)arr->getBase();
+HXDLIN( 397) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 397) if (::hx::IsNull( store1 )) {
+HXLINE(2192) 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( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 397) _hx_tmp->set_ref(( (const char**)(ptr1) ));
+ }
+HXDLIN( 397) return ( (size_t)(x->length) );
+ }
+
+
+bool FormField_obj::required__fromC(){
+ HX_STACKFRAME(&_hx_pos_8debe23b4b6754d6_423_required__fromC)
+HXDLIN( 423) return this->required;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormField_obj,required__fromC,return )
+
+::String FormField_obj::type__fromC(){
+ HX_STACKFRAME(&_hx_pos_8debe23b4b6754d6_423_type__fromC)
+HXDLIN( 423) return this->type;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormField_obj,type__fromC,return )
+
+::String FormField_obj::datatype__fromC(){
+ HX_STACKFRAME(&_hx_pos_8debe23b4b6754d6_423_datatype__fromC)
+HXDLIN( 423) return this->datatype;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormField_obj,datatype__fromC,return )
+
+size_t FormField_obj::options__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_8debe23b4b6754d6_397_options__fromC)
+HXDLIN( 397) ::Array< ::Dynamic> x = this->options;
+HXDLIN( 397) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 397) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 397) {
+HXDLIN( 397) int _g = 0;
+HXDLIN( 397) while((_g < x->length)){
+HXDLIN( 397) ::borogove::FormOption el = x->__get(_g).StaticCast< ::borogove::FormOption >();
+HXDLIN( 397) _g = (_g + 1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic haxeObject = el;
+HXDLIN( 397) void* ptr = haxeObject.mPtr;
+HXDLIN( 397) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 397) if (::hx::IsNull( store )) {
+HXDLIN( 397) 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( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 397) void** ptr1 = (void**)x->getBase();
+HXDLIN( 397) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 397) if (::hx::IsNull( store1 )) {
+HXDLIN( 397) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),x));
+HXDLIN( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 397) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 397) return ( (size_t)(x->length) );
+ }
+
+
+bool FormField_obj::open__fromC(){
+ HX_STACKFRAME(&_hx_pos_8debe23b4b6754d6_423_open__fromC)
+HXDLIN( 423) return this->open;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormField_obj,open__fromC,return )
+
+::String FormField_obj::rangeMin__fromC(){
+ HX_STACKFRAME(&_hx_pos_8debe23b4b6754d6_423_rangeMin__fromC)
+HXDLIN( 423) return this->rangeMin;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormField_obj,rangeMin__fromC,return )
+
+::String FormField_obj::rangeMax__fromC(){
+ HX_STACKFRAME(&_hx_pos_8debe23b4b6754d6_423_rangeMax__fromC)
+HXDLIN( 423) return this->rangeMax;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormField_obj,rangeMax__fromC,return )
+
+::String FormField_obj::regex__fromC(){
+ HX_STACKFRAME(&_hx_pos_8debe23b4b6754d6_423_regex__fromC)
+HXDLIN( 423) return this->regex;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormField_obj,regex__fromC,return )
+
+
+::hx::ObjectPtr< FormField_obj > FormField_obj::__new( ::borogove::Stanza field) {
+ ::hx::ObjectPtr< FormField_obj > __this = new FormField_obj();
+ __this->__construct(field);
+ return __this;
+}
+
+::hx::ObjectPtr< FormField_obj > FormField_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Stanza field) {
+ FormField_obj *__this = (FormField_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(FormField_obj), true, "borogove.FormField"));
+ *(void **)__this = FormField_obj::_hx_vtable;
+ __this->__construct(field);
+ return __this;
+}
+
+FormField_obj::FormField_obj()
+{
+}
+
+void FormField_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(FormField);
+ HX_MARK_MEMBER_NAME(name,"name");
+ HX_MARK_MEMBER_NAME(label,"label");
+ HX_MARK_MEMBER_NAME(desc,"desc");
+ HX_MARK_MEMBER_NAME(value,"value");
+ HX_MARK_MEMBER_NAME(required,"required");
+ HX_MARK_MEMBER_NAME(type,"type");
+ HX_MARK_MEMBER_NAME(datatype,"datatype");
+ HX_MARK_MEMBER_NAME(options,"options");
+ HX_MARK_MEMBER_NAME(open,"open");
+ HX_MARK_MEMBER_NAME(rangeMin,"rangeMin");
+ HX_MARK_MEMBER_NAME(rangeMax,"rangeMax");
+ HX_MARK_MEMBER_NAME(regex,"regex");
+ HX_MARK_END_CLASS();
+}
+
+void FormField_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(name,"name");
+ HX_VISIT_MEMBER_NAME(label,"label");
+ HX_VISIT_MEMBER_NAME(desc,"desc");
+ HX_VISIT_MEMBER_NAME(value,"value");
+ HX_VISIT_MEMBER_NAME(required,"required");
+ HX_VISIT_MEMBER_NAME(type,"type");
+ HX_VISIT_MEMBER_NAME(datatype,"datatype");
+ HX_VISIT_MEMBER_NAME(options,"options");
+ HX_VISIT_MEMBER_NAME(open,"open");
+ HX_VISIT_MEMBER_NAME(rangeMin,"rangeMin");
+ HX_VISIT_MEMBER_NAME(rangeMax,"rangeMax");
+ HX_VISIT_MEMBER_NAME(regex,"regex");
+}
+
+::hx::Val FormField_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"name") ) { return ::hx::Val( name ); }
+ if (HX_FIELD_EQ(inName,"desc") ) { return ::hx::Val( desc ); }
+ if (HX_FIELD_EQ(inName,"type") ) { return ::hx::Val( type ); }
+ if (HX_FIELD_EQ(inName,"open") ) { return ::hx::Val( open ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"label") ) { return ::hx::Val( label ); }
+ if (HX_FIELD_EQ(inName,"value") ) { return ::hx::Val( value ); }
+ if (HX_FIELD_EQ(inName,"regex") ) { return ::hx::Val( regex ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"options") ) { return ::hx::Val( options ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"required") ) { return ::hx::Val( required ); }
+ if (HX_FIELD_EQ(inName,"datatype") ) { return ::hx::Val( datatype ); }
+ if (HX_FIELD_EQ(inName,"rangeMin") ) { return ::hx::Val( rangeMin ); }
+ if (HX_FIELD_EQ(inName,"rangeMax") ) { return ::hx::Val( rangeMax ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"name__fromC") ) { return ::hx::Val( name__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"desc__fromC") ) { return ::hx::Val( desc__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"type__fromC") ) { return ::hx::Val( type__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"open__fromC") ) { return ::hx::Val( open__fromC_dyn() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"label__fromC") ) { return ::hx::Val( label__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"regex__fromC") ) { return ::hx::Val( regex__fromC_dyn() ); }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"required__fromC") ) { return ::hx::Val( required__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"datatype__fromC") ) { return ::hx::Val( datatype__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"rangeMin__fromC") ) { return ::hx::Val( rangeMin__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"rangeMax__fromC") ) { return ::hx::Val( rangeMax__fromC_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val FormField_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"name") ) { name=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"desc") ) { desc=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"type") ) { type=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"open") ) { open=inValue.Cast< bool >(); return inValue; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"label") ) { label=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"value") ) { value=inValue.Cast< ::Array< ::String > >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"regex") ) { regex=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"options") ) { options=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"required") ) { required=inValue.Cast< bool >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"datatype") ) { datatype=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"rangeMin") ) { rangeMin=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"rangeMax") ) { rangeMax=inValue.Cast< ::String >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void FormField_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("name",4b,72,ff,48));
+ outFields->push(HX_("label",f4,0d,af,6f));
+ outFields->push(HX_("desc",51,5e,66,42));
+ outFields->push(HX_("value",71,7f,b8,31));
+ outFields->push(HX_("required",5f,91,62,b2));
+ outFields->push(HX_("type",ba,f2,08,4d));
+ outFields->push(HX_("datatype",e4,a5,a3,a1));
+ outFields->push(HX_("options",5e,33,fe,df));
+ outFields->push(HX_("open",ca,03,b4,49));
+ outFields->push(HX_("rangeMin",d5,97,9d,c6));
+ outFields->push(HX_("rangeMax",e7,90,9d,c6));
+ outFields->push(HX_("regex",c7,2e,bf,e6));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo FormField_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(FormField_obj,name),HX_("name",4b,72,ff,48)},
+ {::hx::fsString,(int)offsetof(FormField_obj,label),HX_("label",f4,0d,af,6f)},
+ {::hx::fsString,(int)offsetof(FormField_obj,desc),HX_("desc",51,5e,66,42)},
+ {::hx::fsObject /* ::Array< ::String > */ ,(int)offsetof(FormField_obj,value),HX_("value",71,7f,b8,31)},
+ {::hx::fsBool,(int)offsetof(FormField_obj,required),HX_("required",5f,91,62,b2)},
+ {::hx::fsString,(int)offsetof(FormField_obj,type),HX_("type",ba,f2,08,4d)},
+ {::hx::fsString,(int)offsetof(FormField_obj,datatype),HX_("datatype",e4,a5,a3,a1)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(FormField_obj,options),HX_("options",5e,33,fe,df)},
+ {::hx::fsBool,(int)offsetof(FormField_obj,open),HX_("open",ca,03,b4,49)},
+ {::hx::fsString,(int)offsetof(FormField_obj,rangeMin),HX_("rangeMin",d5,97,9d,c6)},
+ {::hx::fsString,(int)offsetof(FormField_obj,rangeMax),HX_("rangeMax",e7,90,9d,c6)},
+ {::hx::fsString,(int)offsetof(FormField_obj,regex),HX_("regex",c7,2e,bf,e6)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *FormField_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String FormField_obj_sMemberFields[] = {
+ HX_("name",4b,72,ff,48),
+ HX_("name__fromC",8e,ad,66,0e),
+ HX_("label",f4,0d,af,6f),
+ HX_("label__fromC",05,c9,fd,f8),
+ HX_("desc",51,5e,66,42),
+ HX_("desc__fromC",48,ee,23,86),
+ HX_("value",71,7f,b8,31),
+ HX_("required",5f,91,62,b2),
+ HX_("required__fromC",fa,58,26,7b),
+ HX_("type",ba,f2,08,4d),
+ HX_("type__fromC",ff,a8,6c,93),
+ HX_("datatype",e4,a5,a3,a1),
+ HX_("datatype__fromC",15,0f,25,0e),
+ HX_("options",5e,33,fe,df),
+ HX_("open",ca,03,b4,49),
+ HX_("open__fromC",ef,d9,dc,3e),
+ HX_("rangeMin",d5,97,9d,c6),
+ HX_("rangeMin__fromC",44,ad,38,c0),
+ HX_("rangeMax",e7,90,9d,c6),
+ HX_("rangeMax__fromC",72,da,a5,64),
+ HX_("regex",c7,2e,bf,e6),
+ HX_("regex__fromC",92,b8,c5,f6),
+ ::String(null()) };
+
+::hx::Class FormField_obj::__mClass;
+
+void FormField_obj::__register()
+{
+ FormField_obj _hx_dummy;
+ FormField_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.FormField",29,d9,2f,8c);
+ __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(FormField_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< FormField_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = FormField_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = FormField_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void FormField_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_088c849e9db23a84_177_boot)
+HXDLIN( 177) __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())))
+ ->setFixed(1,HX_("type__fromC",ff,a8,6c,93), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(2,HX_("value__fromC",28,31,16,ac), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(3,HX_("options__fromC",db,84,f0,b9), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(4,HX_("rangeMin__fromC",44,ad,38,c0), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(5,HX_("regex__fromC",92,b8,c5,f6), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(6,HX_("label__fromC",05,c9,fd,f8), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(7,HX_("datatype__fromC",15,0f,25,0e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(8,HX_("name__fromC",8e,ad,66,0e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(9,HX_("open__fromC",ef,d9,dc,3e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(10,HX_("rangeMax__fromC",72,da,a5,64), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(11,HX_("required__fromC",fa,58,26,7b), ::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/FormItem.cpp b/Sources/c_borogove/src/borogove/FormItem.cpp
new file mode 100644
index 0000000..1d0bfb4
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/FormItem.cpp
@@ -0,0 +1,319 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.h>
+#endif
+#ifndef INCLUDED_borogove_FormField
+#include <borogove/FormField.h>
+#endif
+#ifndef INCLUDED_borogove_FormItem
+#include <borogove/FormItem.h>
+#endif
+#ifndef INCLUDED_borogove_FormSection
+#include <borogove/FormSection.h>
+#endif
+#ifndef INCLUDED_cpp_Int64Map
+#include <cpp/Int64Map.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_df0b63d1edfec037_33_new,"borogove.FormItem","new",0x6aa3d676,"borogove.FormItem.new","borogove/Form.hx",33,0x25d2f7ac)
+HX_LOCAL_STACK_FRAME(_hx_pos_58fa9de42f050a39_423_text__fromC,"borogove.FormItem","text__fromC",0x82a04f82,"borogove.FormItem.text__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_58fa9de42f050a39_423_field__fromC,"borogove.FormItem","field__fromC",0xc23fce29,"borogove.FormItem.field__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_58fa9de42f050a39_423_section__fromC,"borogove.FormItem","section__fromC",0x5f2446de,"borogove.FormItem.section__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_58fa9de42f050a39_423_status__fromC,"borogove.FormItem","status__fromC",0x5916711d,"borogove.FormItem.status__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_58fa9de42f050a39_397_tableHeader__fromC,"borogove.FormItem","tableHeader__fromC",0x6e16cc48,"borogove.FormItem.tableHeader__fromC","HaxeCBridge.hx",397,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_df0b63d1edfec037_23_boot,"borogove.FormItem","boot",0xdcd0d15c,"borogove.FormItem.boot","borogove/Form.hx",23,0x25d2f7ac)
+namespace borogove{
+
+void FormItem_obj::__construct(::String text, ::borogove::FormField field,::Dynamic section,::Array< ::Dynamic> tableHeader,::Array< ::Dynamic> tableRows,::String status){
+ HX_STACKFRAME(&_hx_pos_df0b63d1edfec037_33_new)
+HXLINE( 34) this->text = text;
+HXLINE( 35) this->field = field;
+HXLINE( 36) this->section = section;
+HXLINE( 37) this->tableHeader = tableHeader;
+HXLINE( 38) this->tableRows = tableRows;
+HXLINE( 39) this->status = status;
+ }
+
+Dynamic FormItem_obj::__CreateEmpty() { return new FormItem_obj; }
+
+void *FormItem_obj::_hx_vtable = 0;
+
+Dynamic FormItem_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< FormItem_obj > _hx_result = new FormItem_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4],inArgs[5]);
+ return _hx_result;
+}
+
+bool FormItem_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x248dc2dc;
+}
+
+::String FormItem_obj::text__fromC(){
+ HX_STACKFRAME(&_hx_pos_58fa9de42f050a39_423_text__fromC)
+HXDLIN( 423) return this->text;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormItem_obj,text__fromC,return )
+
+ ::borogove::FormField FormItem_obj::field__fromC(){
+ HX_STACKFRAME(&_hx_pos_58fa9de42f050a39_423_field__fromC)
+HXDLIN( 423) return this->field;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormItem_obj,field__fromC,return )
+
+::Dynamic FormItem_obj::section__fromC(){
+ HX_STACKFRAME(&_hx_pos_58fa9de42f050a39_423_section__fromC)
+HXDLIN( 423) return this->section;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormItem_obj,section__fromC,return )
+
+::String FormItem_obj::status__fromC(){
+ HX_STACKFRAME(&_hx_pos_58fa9de42f050a39_423_status__fromC)
+HXDLIN( 423) return this->status;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormItem_obj,status__fromC,return )
+
+size_t FormItem_obj::tableHeader__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_58fa9de42f050a39_397_tableHeader__fromC)
+HXDLIN( 397) ::Array< ::Dynamic> x = this->tableHeader;
+HXDLIN( 397) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 397) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 397) {
+HXDLIN( 397) int _g = 0;
+HXDLIN( 397) while((_g < x->length)){
+HXDLIN( 397) ::borogove::FormField el = x->__get(_g).StaticCast< ::borogove::FormField >();
+HXDLIN( 397) _g = (_g + 1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic haxeObject = el;
+HXDLIN( 397) void* ptr = haxeObject.mPtr;
+HXDLIN( 397) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 397) if (::hx::IsNull( store )) {
+HXDLIN( 397) 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( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 397) void** ptr1 = (void**)x->getBase();
+HXDLIN( 397) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 397) if (::hx::IsNull( store1 )) {
+HXDLIN( 397) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),x));
+HXDLIN( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 397) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 397) return ( (size_t)(x->length) );
+ }
+
+
+
+::hx::ObjectPtr< FormItem_obj > FormItem_obj::__new(::String text, ::borogove::FormField field,::Dynamic section,::Array< ::Dynamic> tableHeader,::Array< ::Dynamic> tableRows,::String status) {
+ ::hx::ObjectPtr< FormItem_obj > __this = new FormItem_obj();
+ __this->__construct(text,field,section,tableHeader,tableRows,status);
+ return __this;
+}
+
+::hx::ObjectPtr< FormItem_obj > FormItem_obj::__alloc(::hx::Ctx *_hx_ctx,::String text, ::borogove::FormField field,::Dynamic section,::Array< ::Dynamic> tableHeader,::Array< ::Dynamic> tableRows,::String status) {
+ FormItem_obj *__this = (FormItem_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(FormItem_obj), true, "borogove.FormItem"));
+ *(void **)__this = FormItem_obj::_hx_vtable;
+ __this->__construct(text,field,section,tableHeader,tableRows,status);
+ return __this;
+}
+
+FormItem_obj::FormItem_obj()
+{
+}
+
+void FormItem_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(FormItem);
+ HX_MARK_MEMBER_NAME(text,"text");
+ HX_MARK_MEMBER_NAME(field,"field");
+ HX_MARK_MEMBER_NAME(section,"section");
+ HX_MARK_MEMBER_NAME(status,"status");
+ HX_MARK_MEMBER_NAME(tableHeader,"tableHeader");
+ HX_MARK_MEMBER_NAME(tableRows,"tableRows");
+ HX_MARK_END_CLASS();
+}
+
+void FormItem_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(text,"text");
+ HX_VISIT_MEMBER_NAME(field,"field");
+ HX_VISIT_MEMBER_NAME(section,"section");
+ HX_VISIT_MEMBER_NAME(status,"status");
+ HX_VISIT_MEMBER_NAME(tableHeader,"tableHeader");
+ HX_VISIT_MEMBER_NAME(tableRows,"tableRows");
+}
+
+::hx::Val FormItem_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"text") ) { return ::hx::Val( text ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"field") ) { return ::hx::Val( field ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"status") ) { return ::hx::Val( status ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"section") ) { return ::hx::Val( section ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"tableRows") ) { return ::hx::Val( tableRows ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"text__fromC") ) { return ::hx::Val( text__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"tableHeader") ) { return ::hx::Val( tableHeader ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"field__fromC") ) { return ::hx::Val( field__fromC_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"status__fromC") ) { return ::hx::Val( status__fromC_dyn() ); }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"section__fromC") ) { return ::hx::Val( section__fromC_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val FormItem_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"text") ) { text=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"field") ) { field=inValue.Cast< ::borogove::FormField >(); return inValue; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"status") ) { status=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"section") ) { section=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"tableRows") ) { tableRows=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"tableHeader") ) { tableHeader=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void FormItem_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("text",ad,cc,f9,4c));
+ outFields->push(HX_("field",ba,94,93,00));
+ outFields->push(HX_("section",e5,05,d8,5d));
+ outFields->push(HX_("status",32,e7,fb,05));
+ outFields->push(HX_("tableHeader",3b,b4,3e,bc));
+ outFields->push(HX_("tableRows",47,f8,43,b9));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo FormItem_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(FormItem_obj,text),HX_("text",ad,cc,f9,4c)},
+ {::hx::fsObject /* ::borogove::FormField */ ,(int)offsetof(FormItem_obj,field),HX_("field",ba,94,93,00)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(FormItem_obj,section),HX_("section",e5,05,d8,5d)},
+ {::hx::fsString,(int)offsetof(FormItem_obj,status),HX_("status",32,e7,fb,05)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(FormItem_obj,tableHeader),HX_("tableHeader",3b,b4,3e,bc)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(FormItem_obj,tableRows),HX_("tableRows",47,f8,43,b9)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *FormItem_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String FormItem_obj_sMemberFields[] = {
+ HX_("text",ad,cc,f9,4c),
+ HX_("text__fromC",6c,43,1b,7f),
+ HX_("field",ba,94,93,00),
+ HX_("field__fromC",ff,46,5a,b1),
+ HX_("section",e5,05,d8,5d),
+ HX_("section__fromC",34,21,6f,24),
+ HX_("status",32,e7,fb,05),
+ HX_("status__fromC",87,b3,25,a1),
+ HX_("tableHeader",3b,b4,3e,bc),
+ HX_("tableRows",47,f8,43,b9),
+ ::String(null()) };
+
+::hx::Class FormItem_obj::__mClass;
+
+void FormItem_obj::__register()
+{
+ FormItem_obj _hx_dummy;
+ FormItem_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.FormItem",84,23,b6,31);
+ __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(FormItem_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< FormItem_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = FormItem_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = FormItem_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void FormItem_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_df0b63d1edfec037_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(6)
+ ->setFixed(0,HX_("status__fromC",87,b3,25,a1), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(1,HX_("field__fromC",ff,46,5a,b1), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(2,HX_("tableRows",47,f8,43,b9), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(3,HX_("section__fromC",34,21,6f,24), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(4,HX_("text__fromC",6c,43,1b,7f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(5,HX_("tableHeader__fromC",9e,89,4c,7f), ::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/FormLayoutSection.cpp b/Sources/c_borogove/src/borogove/FormLayoutSection.cpp
new file mode 100644
index 0000000..4c407eb
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/FormLayoutSection.cpp
@@ -0,0 +1,373 @@
+// 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
+#ifndef INCLUDED_borogove_FormItem
+#include <borogove/FormItem.h>
+#endif
+#ifndef INCLUDED_borogove_FormLayoutSection
+#include <borogove/FormLayoutSection.h>
+#endif
+#ifndef INCLUDED_borogove_FormSection
+#include <borogove/FormSection.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove__DataForm_DataForm_Impl_
+#include <borogove/_DataForm/DataForm_Impl_.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_45e75fb904d6662d_229_new,"borogove.FormLayoutSection","new",0x25c121bc,"borogove.FormLayoutSection.new","borogove/Form.hx",229,0x25d2f7ac)
+HX_LOCAL_STACK_FRAME(_hx_pos_45e75fb904d6662d_235_title,"borogove.FormLayoutSection","title",0x68a475f4,"borogove.FormLayoutSection.title","borogove/Form.hx",235,0x25d2f7ac)
+HX_LOCAL_STACK_FRAME(_hx_pos_45e75fb904d6662d_238_items,"borogove.FormLayoutSection","items",0x1a760c5c,"borogove.FormLayoutSection.items","borogove/Form.hx",238,0x25d2f7ac)
+namespace borogove{
+
+void FormLayoutSection_obj::__construct( ::borogove::Stanza form, ::borogove::Stanza section){
+ HX_STACKFRAME(&_hx_pos_45e75fb904d6662d_229_new)
+HXLINE( 230) this->form = form;
+HXLINE( 231) this->section = section;
+ }
+
+Dynamic FormLayoutSection_obj::__CreateEmpty() { return new FormLayoutSection_obj; }
+
+void *FormLayoutSection_obj::_hx_vtable = 0;
+
+Dynamic FormLayoutSection_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< FormLayoutSection_obj > _hx_result = new FormLayoutSection_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool FormLayoutSection_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x11048972;
+}
+
+static ::borogove::FormSection_obj _hx_borogove_FormLayoutSection__hx_borogove_FormSection= {
+ ( ::String (::hx::Object::*)())&::borogove::FormLayoutSection_obj::title,
+ ( ::Array< ::Dynamic> (::hx::Object::*)())&::borogove::FormLayoutSection_obj::items,
+};
+
+void *FormLayoutSection_obj::_hx_getInterface(int inHash) {
+ switch(inHash) {
+ case (int)0xeffc2a60: return &_hx_borogove_FormLayoutSection__hx_borogove_FormSection;
+ }
+ #ifdef HXCPP_SCRIPTABLE
+ return super::_hx_getInterface(inHash);
+ #else
+ return 0;
+ #endif
+}
+
+::String FormLayoutSection_obj::title(){
+ HX_STACKFRAME(&_hx_pos_45e75fb904d6662d_235_title)
+HXDLIN( 235) return ( (::String)(::Reflect_obj::field(this->section->attr,HX_("label",f4,0d,af,6f))) );
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormLayoutSection_obj,title,return )
+
+::Array< ::Dynamic> FormLayoutSection_obj::items(){
+ HX_GC_STACKFRAME(&_hx_pos_45e75fb904d6662d_238_items)
+HXLINE( 239) ::Array< ::Dynamic> items = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 240) {
+HXLINE( 240) int _g = 0;
+HXDLIN( 240) ::Array< ::Dynamic> _g1 = this->section->allTags(null(),null());
+HXDLIN( 240) while((_g < _g1->length)){
+HXLINE( 240) ::borogove::Stanza child = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN( 240) _g = (_g + 1);
+HXLINE( 241) bool _hx_tmp;
+HXDLIN( 241) if ((child->name == HX_("text",ad,cc,f9,4c))) {
+HXLINE( 241) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
+HXLINE( 241) _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));
+ }
+ else {
+HXLINE( 241) _hx_tmp = true;
+ }
+ }
+ else {
+HXLINE( 241) _hx_tmp = false;
+ }
+HXDLIN( 241) if (_hx_tmp) {
+HXLINE( 242) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,child->getText(),null(),null(),null(),null(),null()));
+ }
+HXLINE( 244) bool _hx_tmp1;
+HXDLIN( 244) if ((child->name == HX_("fieldref",d9,74,29,ac))) {
+HXLINE( 244) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
+HXLINE( 244) _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));
+ }
+ else {
+HXLINE( 244) _hx_tmp1 = true;
+ }
+ }
+ else {
+HXLINE( 244) _hx_tmp1 = false;
+ }
+HXDLIN( 244) if (_hx_tmp1) {
+HXLINE( 245) ::borogove::Stanza this1 = this->form;
+HXDLIN( 245) ::borogove::Stanza this2 = ::borogove::_DataForm::DataForm_Impl__obj::field(this1,( (::String)(::Reflect_obj::field(child->attr,HX_("var",e7,de,59,00))) ));
+HXDLIN( 245) ::borogove::FormField _hx_tmp2;
+HXDLIN( 245) if (::hx::IsNull( this2 )) {
+HXLINE( 245) _hx_tmp2 = null();
+ }
+ else {
+HXLINE( 245) _hx_tmp2 = ::borogove::FormField_obj::__alloc( HX_CTX ,this2);
+ }
+HXDLIN( 245) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,null(),_hx_tmp2,null(),null(),null(),null()));
+ }
+HXLINE( 247) bool _hx_tmp3;
+HXDLIN( 247) if ((child->name == HX_("reportedref",20,fd,c7,a6))) {
+HXLINE( 247) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
+HXLINE( 247) _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));
+ }
+ else {
+HXLINE( 247) _hx_tmp3 = true;
+ }
+ }
+ else {
+HXLINE( 247) _hx_tmp3 = false;
+ }
+HXDLIN( 247) if (_hx_tmp3) {
+HXLINE( 250) ::borogove::Stanza tmp = this->form->getChild(HX_("reported",13,2a,94,dd),null());
+HXDLIN( 250) ::Array< ::Dynamic> tmp1;
+HXDLIN( 250) if (::hx::IsNotNull( tmp )) {
+HXLINE( 250) tmp1 = tmp->allTags(HX_("field",ba,94,93,00),null());
+ }
+ else {
+HXLINE( 250) tmp1 = null();
+ }
+HXDLIN( 250) ::Array< ::Dynamic> _hx_tmp4;
+HXDLIN( 250) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 250) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(tmp1->length);
+HXDLIN( 250) {
+HXLINE( 250) int _g2 = 0;
+HXDLIN( 250) int _g3 = tmp1->length;
+HXDLIN( 250) while((_g2 < _g3)){
+HXLINE( 250) _g2 = (_g2 + 1);
+HXDLIN( 250) int i = (_g2 - 1);
+HXDLIN( 250) {
+HXLINE( 250) ::borogove::Stanza f = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(tmp1,i)) );
+HXDLIN( 250) ::borogove::FormField inValue;
+HXDLIN( 250) if (::hx::IsNull( f )) {
+HXLINE( 250) inValue = null();
+ }
+ else {
+HXLINE( 250) inValue = ::borogove::FormField_obj::__alloc( HX_CTX ,f);
+ }
+HXDLIN( 250) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 250) _hx_tmp4 = result;
+ }
+ else {
+HXLINE( 250) _hx_tmp4 = null();
+ }
+HXLINE( 251) ::Array< ::Dynamic> tmp2 = this->form->allTags(HX_("item",13,c5,bf,45),null());
+HXDLIN( 251) ::Array< ::Dynamic> tmp3;
+HXDLIN( 251) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 251) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(tmp2->length);
+HXDLIN( 251) {
+HXLINE( 251) int _g4 = 0;
+HXDLIN( 251) int _g5 = tmp2->length;
+HXDLIN( 251) while((_g4 < _g5)){
+HXLINE( 251) _g4 = (_g4 + 1);
+HXDLIN( 251) int i1 = (_g4 - 1);
+HXDLIN( 251) {
+HXLINE( 251) ::Array< ::Dynamic> inValue1 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(tmp2,i1)) )->allTags(HX_("field",ba,94,93,00),null());
+HXDLIN( 251) result1->__unsafe_set(i1,inValue1);
+ }
+ }
+ }
+HXDLIN( 251) tmp3 = result1;
+ }
+ else {
+HXLINE( 251) tmp3 = null();
+ }
+HXDLIN( 251) ::Array< ::Dynamic> tmp4;
+HXDLIN( 251) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 251) ::Array< ::Dynamic> result2 = ::Array_obj< ::Dynamic>::__new(tmp3->length);
+HXDLIN( 251) {
+HXLINE( 251) int _g6 = 0;
+HXDLIN( 251) int _g7 = tmp3->length;
+HXDLIN( 251) while((_g6 < _g7)){
+HXLINE( 251) _g6 = (_g6 + 1);
+HXDLIN( 251) int i2 = (_g6 - 1);
+HXDLIN( 251) {
+HXLINE( 251) ::Array< ::Dynamic> row = ( (::Array< ::Dynamic>)(_hx_array_unsafe_get(tmp3,i2)) );
+HXDLIN( 251) ::Array< ::Dynamic> result3 = ::Array_obj< ::Dynamic>::__new(row->length);
+HXDLIN( 251) {
+HXLINE( 251) int _g8 = 0;
+HXDLIN( 251) int _g9 = row->length;
+HXDLIN( 251) while((_g8 < _g9)){
+HXLINE( 251) _g8 = (_g8 + 1);
+HXDLIN( 251) int i3 = (_g8 - 1);
+HXDLIN( 251) {
+HXLINE( 251) ::borogove::Stanza f1 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(row,i3)) );
+HXDLIN( 251) ::borogove::FormField inValue2;
+HXDLIN( 251) if (::hx::IsNull( f1 )) {
+HXLINE( 251) inValue2 = null();
+ }
+ else {
+HXLINE( 251) inValue2 = ::borogove::FormField_obj::__alloc( HX_CTX ,f1);
+ }
+HXDLIN( 251) result3->__unsafe_set(i3,inValue2);
+ }
+ }
+ }
+HXDLIN( 251) result2->__unsafe_set(i2,result3);
+ }
+ }
+ }
+HXDLIN( 251) tmp4 = result2;
+ }
+ else {
+HXLINE( 251) tmp4 = null();
+ }
+HXDLIN( 251) ::Array< ::Dynamic> _hx_tmp5;
+HXDLIN( 251) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 251) _hx_tmp5 = tmp4;
+ }
+ else {
+HXLINE( 251) _hx_tmp5 = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXLINE( 248) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,null(),null(),null(),_hx_tmp4,_hx_tmp5,null()));
+ }
+HXLINE( 254) bool _hx_tmp6;
+HXDLIN( 254) if ((child->name == HX_("section",e5,05,d8,5d))) {
+HXLINE( 254) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
+HXLINE( 254) _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));
+ }
+ else {
+HXLINE( 254) _hx_tmp6 = true;
+ }
+ }
+ else {
+HXLINE( 254) _hx_tmp6 = false;
+ }
+HXDLIN( 254) if (_hx_tmp6) {
+HXLINE( 255) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,null(),null(), ::borogove::FormLayoutSection_obj::__alloc( HX_CTX ,this->form,child),null(),null(),null()));
+ }
+ }
+ }
+HXLINE( 259) return items;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormLayoutSection_obj,items,return )
+
+
+::hx::ObjectPtr< FormLayoutSection_obj > FormLayoutSection_obj::__new( ::borogove::Stanza form, ::borogove::Stanza section) {
+ ::hx::ObjectPtr< FormLayoutSection_obj > __this = new FormLayoutSection_obj();
+ __this->__construct(form,section);
+ return __this;
+}
+
+::hx::ObjectPtr< FormLayoutSection_obj > FormLayoutSection_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Stanza form, ::borogove::Stanza section) {
+ FormLayoutSection_obj *__this = (FormLayoutSection_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(FormLayoutSection_obj), true, "borogove.FormLayoutSection"));
+ *(void **)__this = FormLayoutSection_obj::_hx_vtable;
+ __this->__construct(form,section);
+ return __this;
+}
+
+FormLayoutSection_obj::FormLayoutSection_obj()
+{
+}
+
+void FormLayoutSection_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(FormLayoutSection);
+ HX_MARK_MEMBER_NAME(form,"form");
+ HX_MARK_MEMBER_NAME(section,"section");
+ HX_MARK_END_CLASS();
+}
+
+void FormLayoutSection_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(form,"form");
+ HX_VISIT_MEMBER_NAME(section,"section");
+}
+
+::hx::Val FormLayoutSection_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"form") ) { return ::hx::Val( form ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"title") ) { return ::hx::Val( title_dyn() ); }
+ if (HX_FIELD_EQ(inName,"items") ) { return ::hx::Val( items_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"section") ) { return ::hx::Val( section ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val FormLayoutSection_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"form") ) { form=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"section") ) { section=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void FormLayoutSection_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("form",44,61,c0,43));
+ outFields->push(HX_("section",e5,05,d8,5d));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo FormLayoutSection_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(FormLayoutSection_obj,form),HX_("form",44,61,c0,43)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(FormLayoutSection_obj,section),HX_("section",e5,05,d8,5d)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *FormLayoutSection_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String FormLayoutSection_obj_sMemberFields[] = {
+ HX_("form",44,61,c0,43),
+ HX_("section",e5,05,d8,5d),
+ HX_("title",98,15,3b,10),
+ HX_("items",00,ac,0c,c2),
+ ::String(null()) };
+
+::hx::Class FormLayoutSection_obj::__mClass;
+
+void FormLayoutSection_obj::__register()
+{
+ FormLayoutSection_obj _hx_dummy;
+ FormLayoutSection_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.FormLayoutSection",ca,d3,ae,3c);
+ __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(FormLayoutSection_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< FormLayoutSection_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = FormLayoutSection_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = FormLayoutSection_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/FormOption.cpp b/Sources/c_borogove/src/borogove/FormOption.cpp
new file mode 100644
index 0000000..0f621af
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/FormOption.cpp
@@ -0,0 +1,199 @@
+// 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
+
+HX_DEFINE_STACK_FRAME(_hx_pos_a7d595b8126d2317_218_new,"borogove.FormOption","new",0xfe881c18,"borogove.FormOption.new","borogove/DataForm.hx",218,0x710703a2)
+HX_LOCAL_STACK_FRAME(_hx_pos_ecda2718ab159179_423_label__fromC,"borogove.FormOption","label__fromC",0x9aee464d,"borogove.FormOption.label__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_ecda2718ab159179_423_value__fromC,"borogove.FormOption","value__fromC",0x4e06ae70,"borogove.FormOption.value__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a7d595b8126d2317_225_fromOption,"borogove.FormOption","fromOption",0x42bbf3c7,"borogove.FormOption.fromOption","borogove/DataForm.hx",225,0x710703a2)
+HX_LOCAL_STACK_FRAME(_hx_pos_a7d595b8126d2317_213_boot,"borogove.FormOption","boot",0xb0a9797a,"borogove.FormOption.boot","borogove/DataForm.hx",213,0x710703a2)
+namespace borogove{
+
+void FormOption_obj::__construct(::String label,::String value){
+ HX_STACKFRAME(&_hx_pos_a7d595b8126d2317_218_new)
+HXLINE( 219) ::String _hx_tmp;
+HXDLIN( 219) if (::hx::IsNotNull( label )) {
+HXLINE( 219) _hx_tmp = label;
+ }
+ else {
+HXLINE( 219) _hx_tmp = value;
+ }
+HXDLIN( 219) this->label = _hx_tmp;
+HXLINE( 220) ::String _hx_tmp1;
+HXDLIN( 220) if (::hx::IsNotNull( value )) {
+HXLINE( 220) _hx_tmp1 = value;
+ }
+ else {
+HXLINE( 220) _hx_tmp1 = HX_("",00,00,00,00);
+ }
+HXDLIN( 220) this->value = _hx_tmp1;
+ }
+
+Dynamic FormOption_obj::__CreateEmpty() { return new FormOption_obj; }
+
+void *FormOption_obj::_hx_vtable = 0;
+
+Dynamic FormOption_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< FormOption_obj > _hx_result = new FormOption_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool FormOption_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x139dd7aa;
+}
+
+::String FormOption_obj::label__fromC(){
+ HX_STACKFRAME(&_hx_pos_ecda2718ab159179_423_label__fromC)
+HXDLIN( 423) return this->label;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(FormOption_obj,label__fromC,return )
+
+::String FormOption_obj::value__fromC(){
+ HX_STACKFRAME(&_hx_pos_ecda2718ab159179_423_value__fromC)
+HXDLIN( 423) 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_225_fromOption)
+HXDLIN( 225) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(option->attr,HX_("label",f4,0d,af,6f))) );
+HXDLIN( 225) return ::borogove::FormOption_obj::__alloc( HX_CTX ,_hx_tmp,option->getChildText(HX_("value",71,7f,b8,31),null()));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(FormOption_obj,fromOption,return )
+
+
+FormOption_obj::FormOption_obj()
+{
+}
+
+void FormOption_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(FormOption);
+ HX_MARK_MEMBER_NAME(label,"label");
+ HX_MARK_MEMBER_NAME(value,"value");
+ HX_MARK_END_CLASS();
+}
+
+void FormOption_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(label,"label");
+ HX_VISIT_MEMBER_NAME(value,"value");
+}
+
+::hx::Val FormOption_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"label") ) { return ::hx::Val( label ); }
+ if (HX_FIELD_EQ(inName,"value") ) { return ::hx::Val( value ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"label__fromC") ) { return ::hx::Val( label__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"value__fromC") ) { return ::hx::Val( value__fromC_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool FormOption_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 10:
+ if (HX_FIELD_EQ(inName,"fromOption") ) { outValue = fromOption_dyn(); return true; }
+ }
+ return false;
+}
+
+::hx::Val FormOption_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"label") ) { label=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"value") ) { value=inValue.Cast< ::String >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void FormOption_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("label",f4,0d,af,6f));
+ outFields->push(HX_("value",71,7f,b8,31));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo FormOption_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(FormOption_obj,label),HX_("label",f4,0d,af,6f)},
+ {::hx::fsString,(int)offsetof(FormOption_obj,value),HX_("value",71,7f,b8,31)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *FormOption_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String FormOption_obj_sMemberFields[] = {
+ HX_("label",f4,0d,af,6f),
+ HX_("label__fromC",05,c9,fd,f8),
+ HX_("value",71,7f,b8,31),
+ HX_("value__fromC",28,31,16,ac),
+ ::String(null()) };
+
+::hx::Class FormOption_obj::__mClass;
+
+static ::String FormOption_obj_sStaticFields[] = {
+ HX_("fromOption",7f,d8,be,6e),
+ ::String(null())
+};
+
+void FormOption_obj::__register()
+{
+ FormOption_obj _hx_dummy;
+ FormOption_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.FormOption",26,70,9a,c8);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &FormOption_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(FormOption_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(FormOption_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< FormOption_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = FormOption_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = FormOption_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void FormOption_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_a7d595b8126d2317_213_boot)
+HXDLIN( 213) __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())))
+ ->setFixed(1,HX_("label__fromC",05,c9,fd,f8), ::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/FormSection.cpp b/Sources/c_borogove/src/borogove/FormSection.cpp
new file mode 100644
index 0000000..91ce4ed
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/FormSection.cpp
@@ -0,0 +1,31 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_FormItem
+#include <borogove/FormItem.h>
+#endif
+#ifndef INCLUDED_borogove_FormSection
+#include <borogove/FormSection.h>
+#endif
+
+namespace borogove{
+
+
+static ::String FormSection_obj_sMemberFields[] = {
+ HX_("title",98,15,3b,10),
+ HX_("items",00,ac,0c,c2),
+ ::String(null()) };
+
+::hx::Class FormSection_obj::__mClass;
+
+void FormSection_obj::__register()
+{
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.FormSection",14,84,61,3c);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(FormSection_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TIsInterface< (int)0xeffc2a60 >;
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/FormSubmitBuilder.cpp b/Sources/c_borogove/src/borogove/FormSubmitBuilder.cpp
new file mode 100644
index 0000000..ff4cbed
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/FormSubmitBuilder.cpp
@@ -0,0 +1,292 @@
+// 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
+#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_Log
+#include <haxe/Log.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_4c0d9a76469df0f6_48_new,"borogove.FormSubmitBuilder","new",0x3947db44,"borogove.FormSubmitBuilder.new","borogove/Form.hx",48,0x25d2f7ac)
+HX_LOCAL_STACK_FRAME(_hx_pos_4c0d9a76469df0f6_53_add,"borogove.FormSubmitBuilder","add",0x393dfd05,"borogove.FormSubmitBuilder.add","borogove/Form.hx",53,0x25d2f7ac)
+HX_LOCAL_STACK_FRAME(_hx_pos_4c0d9a76469df0f6_61_submit,"borogove.FormSubmitBuilder","submit",0xa46933b4,"borogove.FormSubmitBuilder.submit","borogove/Form.hx",61,0x25d2f7ac)
+namespace borogove{
+
+void FormSubmitBuilder_obj::__construct(){
+ HX_GC_STACKFRAME(&_hx_pos_4c0d9a76469df0f6_48_new)
+HXDLIN( 48) this->data = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+ }
+
+Dynamic FormSubmitBuilder_obj::__CreateEmpty() { return new FormSubmitBuilder_obj; }
+
+void *FormSubmitBuilder_obj::_hx_vtable = 0;
+
+Dynamic FormSubmitBuilder_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< FormSubmitBuilder_obj > _hx_result = new FormSubmitBuilder_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool FormSubmitBuilder_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x15ec55de;
+}
+
+void FormSubmitBuilder_obj::add(::String k,::String v){
+ HX_STACKFRAME(&_hx_pos_4c0d9a76469df0f6_53_add)
+HXDLIN( 53) if (::hx::IsNotNull( this->data->get(k) )) {
+HXLINE( 54) ::Dynamic this1 = this->data;
+HXDLIN( 54) ( ( ::haxe::ds::StringMap)(this1) )->set(k,( (::Array< ::String >)(this->data->get(k)) )->concat(::Array_obj< ::String >::__new(1)->init(0,v)));
+ }
+ else {
+HXLINE( 56) this->data->set(k,::Array_obj< ::String >::__new(1)->init(0,v));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(FormSubmitBuilder_obj,add,(void))
+
+ ::borogove::Stanza FormSubmitBuilder_obj::submit( ::borogove::Stanza form){
+ HX_GC_STACKFRAME(&_hx_pos_4c0d9a76469df0f6_61_submit)
+HXLINE( 62) ::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))));
+HXLINE( 63) if (::hx::IsNotNull( form )) {
+HXLINE( 64) int _g = 0;
+HXDLIN( 64) ::Array< ::Dynamic> _g1 = form->allTags(HX_("field",ba,94,93,00),null());
+HXDLIN( 64) while((_g < _g1->length)){
+HXLINE( 64) ::borogove::Stanza f = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN( 64) _g = (_g + 1);
+HXLINE( 65) bool _hx_tmp;
+HXDLIN( 65) ::Dynamic this1 = this->data;
+HXDLIN( 65) ::String key;
+HXDLIN( 65) ::String tmp = ( (::String)(::Reflect_obj::field(f->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 65) if (::hx::IsNotNull( tmp )) {
+HXLINE( 65) key = tmp;
+ }
+ else {
+HXLINE( 65) key = HX_("",00,00,00,00);
+ }
+HXDLIN( 65) if (::hx::IsNull( ( ( ::haxe::ds::StringMap)(this1) )->get(key) )) {
+HXLINE( 65) _hx_tmp = (::borogove::_DataForm::Field_Impl__obj::get_value(f)->length > 0);
+ }
+ else {
+HXLINE( 65) _hx_tmp = false;
+ }
+HXDLIN( 65) if (_hx_tmp) {
+HXLINE( 66) ::String tmp1 = ( (::String)(::Reflect_obj::field(f->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 66) ::String tag;
+HXDLIN( 66) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 66) tag = tmp1;
+ }
+ else {
+HXLINE( 66) tag = HX_("",00,00,00,00);
+ }
+HXDLIN( 66) ::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)));
+HXLINE( 67) {
+HXLINE( 67) int _g2 = 0;
+HXDLIN( 67) ::Array< ::String > _g3 = ::borogove::_DataForm::Field_Impl__obj::get_value(f);
+HXDLIN( 67) while((_g2 < _g3->length)){
+HXLINE( 67) ::String v = _g3->__get(_g2);
+HXDLIN( 67) _g2 = (_g2 + 1);
+HXLINE( 68) tag1->textTag(HX_("value",71,7f,b8,31),v,null());
+ }
+ }
+HXLINE( 70) tag1->up();
+ }
+ else {
+HXLINE( 71) bool _hx_tmp1;
+HXDLIN( 71) if (::hx::IsNotNull( f->getChild(HX_("required",5f,91,62,b2),null()) )) {
+HXLINE( 71) ::Dynamic this2 = this->data;
+HXDLIN( 71) ::String key1;
+HXDLIN( 71) ::String tmp2 = ( (::String)(::Reflect_obj::field(f->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 71) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 71) key1 = tmp2;
+ }
+ else {
+HXLINE( 71) key1 = HX_("",00,00,00,00);
+ }
+HXDLIN( 71) if (::hx::IsNotNull( ( ( ::haxe::ds::StringMap)(this2) )->get(key1) )) {
+HXLINE( 71) ::Dynamic this3 = this->data;
+HXDLIN( 71) ::String key2;
+HXDLIN( 71) ::String tmp3 = ( (::String)(::Reflect_obj::field(f->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 71) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 71) key2 = tmp3;
+ }
+ else {
+HXLINE( 71) key2 = HX_("",00,00,00,00);
+ }
+HXDLIN( 71) _hx_tmp1 = (( (::Array< ::String >)(( ( ::haxe::ds::StringMap)(this3) )->get(key2)) )->length < 1);
+ }
+ else {
+HXLINE( 71) _hx_tmp1 = true;
+ }
+ }
+ else {
+HXLINE( 71) _hx_tmp1 = false;
+ }
+HXDLIN( 71) if (_hx_tmp1) {
+HXLINE( 72) ::Dynamic _hx_tmp2 = ::haxe::Log_obj::trace;
+HXDLIN( 72) ::String tmp4 = ( (::String)(::Reflect_obj::field(f->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 72) ::String _hx_tmp3;
+HXDLIN( 72) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 72) _hx_tmp3 = tmp4;
+ }
+ else {
+HXLINE( 72) _hx_tmp3 = HX_("",00,00,00,00);
+ }
+HXDLIN( 72) _hx_tmp2(HX_("No value provided for required field",9f,e8,77,b6), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.FormSubmitBuilder",52,29,e8,61))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,_hx_tmp3))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("submit",18,58,06,9a))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Form.hx",ac,f7,d2,25))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),72)));
+HXLINE( 73) return null();
+ }
+ }
+ }
+ }
+HXLINE( 77) {
+HXLINE( 77) ::Dynamic this4 = this->data;
+HXDLIN( 77) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this4);
+HXDLIN( 77) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 77) ::String key3 = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN( 77) ::Array< ::String > _g_value = ( (::Array< ::String >)(::haxe::IMap_obj::get(this4,key3)) );
+HXDLIN( 77) {
+HXLINE( 78) ::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)));
+HXLINE( 79) {
+HXLINE( 79) int _g4 = 0;
+HXDLIN( 79) while((_g4 < _g_value->length)){
+HXLINE( 79) ::String v1 = _g_value->__get(_g4);
+HXDLIN( 79) _g4 = (_g4 + 1);
+HXLINE( 80) tag2->textTag(HX_("value",71,7f,b8,31),v1,null());
+ }
+ }
+HXLINE( 82) tag2->up();
+ }
+ }
+ }
+HXLINE( 85) return toSubmit;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(FormSubmitBuilder_obj,submit,return )
+
+
+::hx::ObjectPtr< FormSubmitBuilder_obj > FormSubmitBuilder_obj::__new() {
+ ::hx::ObjectPtr< FormSubmitBuilder_obj > __this = new FormSubmitBuilder_obj();
+ __this->__construct();
+ return __this;
+}
+
+::hx::ObjectPtr< FormSubmitBuilder_obj > FormSubmitBuilder_obj::__alloc(::hx::Ctx *_hx_ctx) {
+ FormSubmitBuilder_obj *__this = (FormSubmitBuilder_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(FormSubmitBuilder_obj), true, "borogove.FormSubmitBuilder"));
+ *(void **)__this = FormSubmitBuilder_obj::_hx_vtable;
+ __this->__construct();
+ return __this;
+}
+
+FormSubmitBuilder_obj::FormSubmitBuilder_obj()
+{
+}
+
+void FormSubmitBuilder_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(FormSubmitBuilder);
+ HX_MARK_MEMBER_NAME(data,"data");
+ HX_MARK_END_CLASS();
+}
+
+void FormSubmitBuilder_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(data,"data");
+}
+
+::hx::Val FormSubmitBuilder_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"add") ) { return ::hx::Val( add_dyn() ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"data") ) { return ::hx::Val( data ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"submit") ) { return ::hx::Val( submit_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val FormSubmitBuilder_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"data") ) { data=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void FormSubmitBuilder_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("data",2a,56,63,42));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo FormSubmitBuilder_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(FormSubmitBuilder_obj,data),HX_("data",2a,56,63,42)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *FormSubmitBuilder_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String FormSubmitBuilder_obj_sMemberFields[] = {
+ HX_("data",2a,56,63,42),
+ HX_("add",21,f2,49,00),
+ HX_("submit",18,58,06,9a),
+ ::String(null()) };
+
+::hx::Class FormSubmitBuilder_obj::__mClass;
+
+void FormSubmitBuilder_obj::__register()
+{
+ FormSubmitBuilder_obj _hx_dummy;
+ FormSubmitBuilder_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.FormSubmitBuilder",52,29,e8,61);
+ __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(FormSubmitBuilder_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< FormSubmitBuilder_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = FormSubmitBuilder_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = FormSubmitBuilder_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/GenericStream.cpp b/Sources/c_borogove/src/borogove/GenericStream.cpp
similarity index 52%
rename from Sources/c_snikket/src/snikket/GenericStream.cpp
rename to Sources/c_borogove/src/borogove/GenericStream.cpp
index b6caf66..7940ee4 100644
--- a/Sources/c_snikket/src/snikket/GenericStream.cpp
+++ b/Sources/c_borogove/src/borogove/GenericStream.cpp
@@ -4,52 +4,47 @@
#ifndef INCLUDED_Reflect
#include <Reflect.h>
#endif
-#ifndef INCLUDED_haxe_Log
-#include <haxe/Log.h>
-#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_EventHandler
-#include <snikket/EventHandler.h>
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
#endif
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
#endif
-#ifndef INCLUDED_snikket_GenericStream
-#include <snikket/GenericStream.h>
+#ifndef INCLUDED_borogove_GenericStream
+#include <borogove/GenericStream.h>
#endif
-#ifndef INCLUDED_snikket_IqRequestType
-#include <snikket/IqRequestType.h>
+#ifndef INCLUDED_borogove_IqRequestType
+#include <borogove/IqRequestType.h>
#endif
-#ifndef INCLUDED_snikket_IqResult
-#include <snikket/IqResult.h>
+#ifndef INCLUDED_borogove_IqResult
+#include <borogove/IqResult.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_haxe_Log
+#include <haxe/Log.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_db1e0e19c8d3bf67_13_new,"snikket.GenericStream","new",0x018d6e18,"snikket.GenericStream.new","snikket/GenericStream.hx",13,0x6e4bae59)
-HX_LOCAL_STACK_FRAME(_hx_pos_db1e0e19c8d3bf67_32_sendIq,"snikket.GenericStream","sendIq",0x740a7498,"snikket.GenericStream.sendIq","snikket/GenericStream.hx",32,0x6e4bae59)
-HX_LOCAL_STACK_FRAME(_hx_pos_db1e0e19c8d3bf67_29_sendIq,"snikket.GenericStream","sendIq",0x740a7498,"snikket.GenericStream.sendIq","snikket/GenericStream.hx",29,0x6e4bae59)
-HX_LOCAL_STACK_FRAME(_hx_pos_db1e0e19c8d3bf67_39_onStanza,"snikket.GenericStream","onStanza",0x6f1bfbbc,"snikket.GenericStream.onStanza","snikket/GenericStream.hx",39,0x6e4bae59)
-namespace snikket{
+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_35_sendIq,"borogove.GenericStream","sendIq",0x22505b74,"borogove.GenericStream.sendIq","borogove/GenericStream.hx",35,0xe1a5f735)
+HX_LOCAL_STACK_FRAME(_hx_pos_b33ef4a473e70a2a_32_sendIq,"borogove.GenericStream","sendIq",0x22505b74,"borogove.GenericStream.sendIq","borogove/GenericStream.hx",32,0xe1a5f735)
+HX_LOCAL_STACK_FRAME(_hx_pos_b33ef4a473e70a2a_42_onStanza,"borogove.GenericStream","onStanza",0xa7ce5198,"borogove.GenericStream.onStanza","borogove/GenericStream.hx",42,0xe1a5f735)
+namespace borogove{
void GenericStream_obj::__construct(){
- HX_STACKFRAME(&_hx_pos_db1e0e19c8d3bf67_13_new)
-HXLINE( 15) this->csi = false;
-HXLINE( 14) this->clientId = null();
-HXLINE( 18) super::__construct();
+ HX_STACKFRAME(&_hx_pos_b33ef4a473e70a2a_14_new)
+HXLINE( 17) this->emitSMupdates = true;
+HXLINE( 16) this->csi = false;
+HXLINE( 15) this->clientId = null();
+HXLINE( 20) super::__construct();
}
bool GenericStream_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x6aca71d1) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x6aca71d1;
+ if (inClassId<=(int)0x4fb834f5) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x4fb834f5;
} else {
- return inClassId==(int)0x785c9e5e;
+ return inClassId==(int)0x5ca68e56;
}
}
@@ -63,57 +58,56 @@ HX_DEFINE_DYNAMIC_FUNC0(GenericStream_obj,newId,return )
HX_DEFINE_DYNAMIC_FUNC4(GenericStream_obj,onIq,(void))
-void GenericStream_obj::sendIq( ::snikket::Stanza stanza, ::Dynamic callback){
+void GenericStream_obj::sendIq( ::borogove::Stanza stanza, ::Dynamic callback){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,callback) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic event){
- HX_STACKFRAME(&_hx_pos_db1e0e19c8d3bf67_32_sendIq)
-HXLINE( 33) callback( ::Dynamic(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)));
-HXLINE( 34) return ::snikket::EventResult_obj::EventHandled_dyn();
+ ::borogove::EventResult _hx_run( ::Dynamic event){
+ HX_STACKFRAME(&_hx_pos_b33ef4a473e70a2a_35_sendIq)
+HXLINE( 36) callback( ::Dynamic(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)));
+HXLINE( 37) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_db1e0e19c8d3bf67_29_sendIq)
-HXLINE( 30) ::String id = this->newId();
-HXLINE( 31) ::Reflect_obj::setField(stanza->attr,HX_("id",db,5b,00,00),id);
-HXLINE( 32) this->once((HX_("iq-response/",a9,62,d4,cf) + id), ::Dynamic(new _hx_Closure_0(callback)));
-HXLINE( 36) this->sendStanza(stanza);
+ HX_STACKFRAME(&_hx_pos_b33ef4a473e70a2a_32_sendIq)
+HXLINE( 33) ::String id = this->newId();
+HXLINE( 34) ::Reflect_obj::setField(stanza->attr,HX_("id",db,5b,00,00),id);
+HXLINE( 35) this->once((HX_("iq-response/",a9,62,d4,cf) + id), ::Dynamic(new _hx_Closure_0(callback)));
+HXLINE( 39) this->sendStanza(stanza);
}
HX_DEFINE_DYNAMIC_FUNC2(GenericStream_obj,sendIq,(void))
-void GenericStream_obj::onStanza( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_db1e0e19c8d3bf67_39_onStanza)
-HXLINE( 40) ::haxe::Log_obj::trace(HX_("stanza received!",f5,75,78,a6),::hx::SourceInfo(HX_("snikket/GenericStream.hx",59,ae,4b,6e),40,HX_("snikket.GenericStream",26,c2,0e,26),HX_("onStanza",74,54,a4,e5)));
-HXLINE( 41) ::String xmlns = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("xmlns",dc,31,74,60))) );
-HXLINE( 42) if ((xmlns == HX_("jabber:client",21,64,c5,e4))) {
-HXLINE( 43) ::String name = stanza->name;
-HXLINE( 44) if ((name == HX_("iq",e8,5b,00,00))) {
-HXLINE( 45) ::String type = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) );
-HXLINE( 46) ::haxe::Log_obj::trace((HX_("type: ",e0,c7,36,57) + type),::hx::SourceInfo(HX_("snikket/GenericStream.hx",59,ae,4b,6e),46,HX_("snikket.GenericStream",26,c2,0e,26),HX_("onStanza",74,54,a4,e5)));
-HXLINE( 47) bool _hx_tmp;
-HXDLIN( 47) if ((type != HX_("result",dd,68,84,08))) {
-HXLINE( 47) _hx_tmp = (type == HX_("error",c8,cb,29,73));
+void GenericStream_obj::onStanza( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_b33ef4a473e70a2a_42_onStanza)
+HXLINE( 43) ::haxe::Log_obj::trace(HX_("stanza received!",f5,75,78,a6),::hx::SourceInfo(HX_("borogove/GenericStream.hx",35,f7,a5,e1),43,HX_("borogove.GenericStream",ca,97,ee,7e),HX_("onStanza",74,54,a4,e5)));
+HXLINE( 45) if ((( (::String)(::Reflect_obj::field(stanza->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("jabber:client",21,64,c5,e4))) {
+HXLINE( 46) ::String name = stanza->name;
+HXLINE( 47) if ((name == HX_("iq",e8,5b,00,00))) {
+HXLINE( 48) ::String type = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) );
+HXLINE( 49) ::haxe::Log_obj::trace((HX_("type: ",e0,c7,36,57) + type),::hx::SourceInfo(HX_("borogove/GenericStream.hx",35,f7,a5,e1),49,HX_("borogove.GenericStream",ca,97,ee,7e),HX_("onStanza",74,54,a4,e5)));
+HXLINE( 50) bool _hx_tmp;
+HXDLIN( 50) if ((type != HX_("result",dd,68,84,08))) {
+HXLINE( 50) _hx_tmp = (type == HX_("error",c8,cb,29,73));
}
else {
-HXLINE( 47) _hx_tmp = true;
+HXLINE( 50) _hx_tmp = true;
}
-HXDLIN( 47) if (_hx_tmp) {
-HXLINE( 48) ::String id = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 49) this->trigger((HX_("iq-response/",a9,62,d4,cf) + id), ::Dynamic(::hx::Anon_obj::Create(1)
+HXDLIN( 50) if (_hx_tmp) {
+HXLINE( 52) ::String _hx_tmp1 = (HX_("iq-response/",a9,62,d4,cf) + ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) ));
+HXDLIN( 52) this->trigger(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("stanza",f5,5d,f7,05),stanza)));
}
}
else {
-HXLINE( 53) bool _hx_tmp1;
-HXDLIN( 53) if ((name != HX_("message",c7,35,11,9a))) {
-HXLINE( 53) _hx_tmp1 = (name == HX_("presence",3b,52,d7,66));
+HXLINE( 56) bool _hx_tmp2;
+HXDLIN( 56) if ((name != HX_("message",c7,35,11,9a))) {
+HXLINE( 56) _hx_tmp2 = (name == HX_("presence",3b,52,d7,66));
}
else {
-HXLINE( 53) _hx_tmp1 = true;
+HXLINE( 56) _hx_tmp2 = true;
}
-HXDLIN( 53) if (_hx_tmp1) {
-HXLINE( 54) this->trigger(name, ::Dynamic(::hx::Anon_obj::Create(1)
+HXDLIN( 56) if (_hx_tmp2) {
+HXLINE( 57) this->trigger(name, ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("stanza",f5,5d,f7,05),stanza)));
}
}
@@ -133,7 +127,8 @@ void GenericStream_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_BEGIN_CLASS(GenericStream);
HX_MARK_MEMBER_NAME(clientId,"clientId");
HX_MARK_MEMBER_NAME(csi,"csi");
- ::snikket::EventEmitter_obj::__Mark(HX_MARK_ARG);
+ HX_MARK_MEMBER_NAME(emitSMupdates,"emitSMupdates");
+ ::borogove::EventEmitter_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -141,7 +136,8 @@ void GenericStream_obj::__Visit(HX_VISIT_PARAMS)
{
HX_VISIT_MEMBER_NAME(clientId,"clientId");
HX_VISIT_MEMBER_NAME(csi,"csi");
- ::snikket::EventEmitter_obj::__Visit(HX_VISIT_ARG);
+ HX_VISIT_MEMBER_NAME(emitSMupdates,"emitSMupdates");
+ ::borogove::EventEmitter_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val GenericStream_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -169,6 +165,9 @@ void GenericStream_obj::__Visit(HX_VISIT_PARAMS)
case 10:
if (HX_FIELD_EQ(inName,"disconnect") ) { return ::hx::Val( disconnect_dyn() ); }
if (HX_FIELD_EQ(inName,"sendStanza") ) { return ::hx::Val( sendStanza_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"emitSMupdates") ) { return ::hx::Val( emitSMupdates ); }
}
return super::__Field(inName,inCallProp);
}
@@ -181,6 +180,9 @@ void GenericStream_obj::__Visit(HX_VISIT_PARAMS)
break;
case 8:
if (HX_FIELD_EQ(inName,"clientId") ) { clientId=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"emitSMupdates") ) { emitSMupdates=inValue.Cast< bool >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -189,6 +191,7 @@ void GenericStream_obj::__GetFields(Array< ::String> &outFields)
{
outFields->push(HX_("clientId",06,73,8f,15));
outFields->push(HX_("csi",b9,83,4b,00));
+ outFields->push(HX_("emitSMupdates",3d,a0,ac,b6));
super::__GetFields(outFields);
};
@@ -196,6 +199,7 @@ void GenericStream_obj::__GetFields(Array< ::String> &outFields)
static ::hx::StorageInfo GenericStream_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(GenericStream_obj,clientId),HX_("clientId",06,73,8f,15)},
{::hx::fsBool,(int)offsetof(GenericStream_obj,csi),HX_("csi",b9,83,4b,00)},
+ {::hx::fsBool,(int)offsetof(GenericStream_obj,emitSMupdates),HX_("emitSMupdates",3d,a0,ac,b6)},
{ ::hx::fsUnknown, 0, null()}
};
static ::hx::StaticInfo *GenericStream_obj_sStaticStorageInfo = 0;
@@ -204,6 +208,7 @@ static ::hx::StaticInfo *GenericStream_obj_sStaticStorageInfo = 0;
static ::String GenericStream_obj_sMemberFields[] = {
HX_("clientId",06,73,8f,15),
HX_("csi",b9,83,4b,00),
+ HX_("emitSMupdates",3d,a0,ac,b6),
HX_("connect",ea,3b,80,15),
HX_("disconnect",5c,64,44,69),
HX_("sendStanza",5d,85,4d,a7),
@@ -218,7 +223,7 @@ static ::String GenericStream_obj_sMemberFields[] = {
void GenericStream_obj::__register()
{
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.GenericStream",26,c2,0e,26);
+ __mClass->mName = HX_("borogove.GenericStream",ca,97,ee,7e);
__mClass->mSuper = &super::__SGetClass();
__mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
__mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
@@ -234,4 +239,4 @@ void GenericStream_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/Hash.cpp b/Sources/c_borogove/src/borogove/Hash.cpp
similarity index 56%
rename from Sources/c_snikket/src/snikket/Hash.cpp
rename to Sources/c_borogove/src/borogove/Hash.cpp
index bdf67d3..ea51667 100644
--- a/Sources/c_snikket/src/snikket/Hash.cpp
+++ b/Sources/c_borogove/src/borogove/Hash.cpp
@@ -4,6 +4,12 @@
#ifndef INCLUDED_StringTools
#include <StringTools.h>
#endif
+#ifndef INCLUDED_borogove_Config
+#include <borogove/Config.h>
+#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
#ifndef INCLUDED_haxe_crypto_Base64
#include <haxe/crypto/Base64.h>
#endif
@@ -16,32 +22,26 @@
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
-#ifndef INCLUDED_snikket_Config
-#include <snikket/Config.h>
-#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
-#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_9ae683eb017e4032_28_new,"snikket.Hash","new",0xae73a1f1,"snikket.Hash.new","snikket/Hash.hx",28,0x711518be)
-HX_LOCAL_STACK_FRAME(_hx_pos_7ac9242dabfc377a_355_algorithm__fromC,"snikket.Hash","algorithm__fromC",0x170887b9,"snikket.Hash.algorithm__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9ae683eb017e4032_68_toUri,"snikket.Hash","toUri",0x66fef482,"snikket.Hash.toUri","snikket/Hash.hx",68,0x711518be)
-HX_LOCAL_STACK_FRAME(_hx_pos_9ae683eb017e4032_77_bobUri,"snikket.Hash","bobUri",0x8e2c4b86,"snikket.Hash.bobUri","snikket/Hash.hx",77,0x711518be)
-HX_LOCAL_STACK_FRAME(_hx_pos_9ae683eb017e4032_82_serializeUri,"snikket.Hash","serializeUri",0x078265bb,"snikket.Hash.serializeUri","snikket/Hash.hx",82,0x711518be)
-HX_LOCAL_STACK_FRAME(_hx_pos_9ae683eb017e4032_86_toHex,"snikket.Hash","toHex",0x66f50bf1,"snikket.Hash.toHex","snikket/Hash.hx",86,0x711518be)
-HX_LOCAL_STACK_FRAME(_hx_pos_9ae683eb017e4032_90_toBase64,"snikket.Hash","toBase64",0xce108639,"snikket.Hash.toBase64","snikket/Hash.hx",90,0x711518be)
-HX_LOCAL_STACK_FRAME(_hx_pos_9ae683eb017e4032_94_toBase64Url,"snikket.Hash","toBase64Url",0x147546b6,"snikket.Hash.toBase64Url","snikket/Hash.hx",94,0x711518be)
-HX_LOCAL_STACK_FRAME(_hx_pos_9ae683eb017e4032_34_fromHex,"snikket.Hash","fromHex",0x3df081a2,"snikket.Hash.fromHex","snikket/Hash.hx",34,0x711518be)
-HX_LOCAL_STACK_FRAME(_hx_pos_9ae683eb017e4032_41_fromUri,"snikket.Hash","fromUri",0x3dfa6a33,"snikket.Hash.fromUri","snikket/Hash.hx",41,0x711518be)
-HX_LOCAL_STACK_FRAME(_hx_pos_9ae683eb017e4032_59_sha1,"snikket.Hash","sha1",0xfa0a55d4,"snikket.Hash.sha1","snikket/Hash.hx",59,0x711518be)
-HX_LOCAL_STACK_FRAME(_hx_pos_9ae683eb017e4032_64_sha256,"snikket.Hash","sha256",0x51ab6376,"snikket.Hash.sha256","snikket/Hash.hx",64,0x711518be)
-HX_LOCAL_STACK_FRAME(_hx_pos_9ae683eb017e4032_22_boot,"snikket.Hash","boot",0xeed31181,"snikket.Hash.boot","snikket/Hash.hx",22,0x711518be)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_31_new,"borogove.Hash","new",0xd16baecd,"borogove.Hash.new","borogove/Hash.hx",31,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_cf3f028669fb61f2_423_algorithm__fromC,"borogove.Hash","algorithm__fromC",0xe5eca15d,"borogove.Hash.algorithm__fromC","HaxeCBridge.hx",423,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)
+namespace borogove{
void Hash_obj::__construct(::String algorithm,::Array< unsigned char > hash){
- HX_STACKFRAME(&_hx_pos_9ae683eb017e4032_28_new)
-HXLINE( 29) this->algorithm = algorithm;
-HXLINE( 30) this->hash = hash;
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_31_new)
+HXLINE( 32) this->algorithm = algorithm;
+HXLINE( 33) this->hash = hash;
}
Dynamic Hash_obj::__CreateEmpty() { return new Hash_obj; }
@@ -56,164 +56,164 @@ Dynamic Hash_obj::__Create(::hx::DynamicArray inArgs)
}
bool Hash_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x05b4502b;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2e184f4f;
}
::String Hash_obj::algorithm__fromC(){
- HX_STACKFRAME(&_hx_pos_7ac9242dabfc377a_355_algorithm__fromC)
-HXDLIN( 355) return this->algorithm;
+ HX_STACKFRAME(&_hx_pos_cf3f028669fb61f2_423_algorithm__fromC)
+HXDLIN( 423) return this->algorithm;
}
HX_DEFINE_DYNAMIC_FUNC0(Hash_obj,algorithm__fromC,return )
::String Hash_obj::toUri(){
- HX_STACKFRAME(&_hx_pos_9ae683eb017e4032_68_toUri)
-HXDLIN( 68) if (::snikket::Config_obj::relativeHashUri) {
-HXLINE( 69) ::String _hx_tmp = ((HX_("/.well-known/ni/",e8,1b,93,12) + ::StringTools_obj::urlEncode(this->algorithm)) + HX_("/",2f,00,00,00));
-HXDLIN( 69) return (_hx_tmp + this->toBase64Url());
+ 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());
}
else {
-HXLINE( 71) return this->serializeUri();
+HXLINE( 92) return this->serializeUri();
}
-HXLINE( 68) return null();
+HXLINE( 89) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(Hash_obj,toUri,return )
::String Hash_obj::bobUri(){
- HX_STACKFRAME(&_hx_pos_9ae683eb017e4032_77_bobUri)
-HXDLIN( 77) ::String _hx_tmp;
-HXDLIN( 77) if ((this->algorithm == HX_("sha-1",90,a8,1c,7c))) {
-HXDLIN( 77) _hx_tmp = HX_("sha1",85,c8,52,4c);
+ 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);
}
else {
-HXDLIN( 77) _hx_tmp = ::StringTools_obj::urlEncode(this->algorithm);
+HXDLIN( 98) _hx_tmp = ::StringTools_obj::urlEncode(this->algorithm);
}
-HXDLIN( 77) 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( 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));
}
HX_DEFINE_DYNAMIC_FUNC0(Hash_obj,bobUri,return )
::String Hash_obj::serializeUri(){
- HX_STACKFRAME(&_hx_pos_9ae683eb017e4032_82_serializeUri)
-HXDLIN( 82) ::String _hx_tmp = ((HX_("ni:///",d0,cc,ce,96) + ::StringTools_obj::urlEncode(this->algorithm)) + HX_(";",3b,00,00,00));
-HXDLIN( 82) return (_hx_tmp + this->toBase64Url());
+ 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_DEFINE_DYNAMIC_FUNC0(Hash_obj,serializeUri,return )
::String Hash_obj::toHex(){
- HX_STACKFRAME(&_hx_pos_9ae683eb017e4032_86_toHex)
-HXDLIN( 86) return ::haxe::io::Bytes_obj::ofData(this->hash)->toHex();
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_112_toHex)
+HXDLIN( 112) 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_9ae683eb017e4032_90_toBase64)
-HXDLIN( 90) return ::haxe::crypto::Base64_obj::encode(::haxe::io::Bytes_obj::ofData(this->hash),true);
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_121_toBase64)
+HXDLIN( 121) 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_9ae683eb017e4032_94_toBase64Url)
-HXDLIN( 94) return ::haxe::crypto::Base64_obj::urlEncode(::haxe::io::Bytes_obj::ofData(this->hash),null());
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_130_toBase64Url)
+HXDLIN( 130) return ::haxe::crypto::Base64_obj::urlEncode(::haxe::io::Bytes_obj::ofData(this->hash),null());
}
HX_DEFINE_DYNAMIC_FUNC0(Hash_obj,toBase64Url,return )
- ::snikket::Hash Hash_obj::fromHex(::String algorithm,::String hash){
- HX_GC_STACKFRAME(&_hx_pos_9ae683eb017e4032_34_fromHex)
-HXDLIN( 34) try {
+ ::borogove::Hash Hash_obj::fromHex(::String algorithm,::String hash){
+ HX_GC_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_44_fromHex)
+HXDLIN( 44) try {
HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 35) return ::snikket::Hash_obj::__alloc( HX_CTX ,algorithm,::haxe::io::Bytes_obj::ofHex(hash)->b);
+HXLINE( 45) 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( 37) return null();
+HXLINE( 47) return null();
}
else {
HX_STACK_DO_THROW(_hx_e);
}
}
-HXLINE( 34) return null();
+HXLINE( 44) return null();
}
STATIC_HX_DEFINE_DYNAMIC_FUNC2(Hash_obj,fromHex,return )
- ::snikket::Hash Hash_obj::fromUri(::String uri){
- HX_GC_STACKFRAME(&_hx_pos_9ae683eb017e4032_41_fromUri)
-HXLINE( 42) bool _hx_tmp;
-HXDLIN( 42) bool _hx_tmp1;
-HXDLIN( 42) if (::StringTools_obj::startsWith(uri,HX_("cid:",7c,23,c0,41))) {
-HXLINE( 42) _hx_tmp1 = ::StringTools_obj::endsWith(uri,HX_("@bob.xmpp.org",04,79,99,e7));
+ ::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));
}
else {
-HXLINE( 42) _hx_tmp1 = false;
+HXLINE( 58) _hx_tmp1 = false;
}
-HXDLIN( 42) if (_hx_tmp1) {
-HXLINE( 42) _hx_tmp = (uri.indexOf(HX_("+",2b,00,00,00),null()) != -1);
+HXDLIN( 58) if (_hx_tmp1) {
+HXLINE( 58) _hx_tmp = (uri.indexOf(HX_("+",2b,00,00,00),null()) != -1);
}
else {
-HXLINE( 42) _hx_tmp = false;
+HXLINE( 58) _hx_tmp = false;
}
-HXDLIN( 42) if (_hx_tmp) {
-HXLINE( 43) ::Array< ::String > parts = uri.substr(4,null()).split(HX_("@",40,00,00,00))->__get(0).split(HX_("+",2b,00,00,00));
-HXLINE( 44) ::String algo;
-HXDLIN( 44) if ((parts->__get(0) == HX_("sha1",85,c8,52,4c))) {
-HXLINE( 44) algo = HX_("sha-1",90,a8,1c,7c);
+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);
}
else {
-HXLINE( 44) algo = parts->__get(0);
+HXLINE( 60) algo = parts->__get(0);
}
-HXLINE( 45) return ::snikket::Hash_obj::fromHex(algo,parts->__get(1));
+HXLINE( 61) return ::borogove::Hash_obj::fromHex(algo,parts->__get(1));
}
-HXLINE( 46) bool _hx_tmp2;
-HXDLIN( 46) if (::StringTools_obj::startsWith(uri,HX_("ni:///",d0,cc,ce,96))) {
-HXLINE( 46) _hx_tmp2 = (uri.indexOf(HX_(";",3b,00,00,00),null()) != -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);
}
else {
-HXLINE( 46) _hx_tmp2 = false;
+HXLINE( 62) _hx_tmp2 = false;
}
-HXDLIN( 46) if (_hx_tmp2) {
-HXLINE( 47) ::Array< ::String > parts1 = uri.substring(6,null()).split(HX_(";",3b,00,00,00));
-HXLINE( 48) ::String parts2 = parts1->__get(0);
-HXDLIN( 48) return ::snikket::Hash_obj::__alloc( HX_CTX ,parts2,::haxe::crypto::Base64_obj::urlDecode(parts1->__get(1),null())->b);
+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);
}
else {
-HXLINE( 49) if (::StringTools_obj::startsWith(uri,HX_("/.well-known/ni/",e8,1b,93,12))) {
-HXLINE( 50) ::Array< ::String > parts3 = uri.substring(16,null()).split(HX_("/",2f,00,00,00));
-HXLINE( 51) ::String parts4 = parts3->__get(0);
-HXDLIN( 51) return ::snikket::Hash_obj::__alloc( HX_CTX ,parts4,::haxe::crypto::Base64_obj::urlDecode(parts3->__get(1),null())->b);
+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( 54) return null();
+HXLINE( 70) return null();
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Hash_obj,fromUri,return )
- ::snikket::Hash Hash_obj::sha1( ::haxe::io::Bytes bytes){
- HX_GC_STACKFRAME(&_hx_pos_9ae683eb017e4032_59_sha1)
-HXDLIN( 59) return ::snikket::Hash_obj::__alloc( HX_CTX ,HX_("sha-1",90,a8,1c,7c),::haxe::crypto::Sha1_obj::make(bytes)->b);
+ ::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);
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Hash_obj,sha1,return )
- ::snikket::Hash Hash_obj::sha256( ::haxe::io::Bytes bytes){
- HX_GC_STACKFRAME(&_hx_pos_9ae683eb017e4032_64_sha256)
-HXDLIN( 64) return ::snikket::Hash_obj::__alloc( HX_CTX ,HX_("sha-256",32,dd,04,3b),::haxe::crypto::Sha256_obj::make(bytes)->b);
+ ::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);
}
@@ -227,7 +227,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(Hash_obj,sha256,return )
}
::hx::ObjectPtr< Hash_obj > Hash_obj::__alloc(::hx::Ctx *_hx_ctx,::String algorithm,::Array< unsigned char > hash) {
- Hash_obj *__this = (Hash_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Hash_obj), true, "snikket.Hash"));
+ Hash_obj *__this = (Hash_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Hash_obj), true, "borogove.Hash"));
*(void **)__this = Hash_obj::_hx_vtable;
__this->__construct(algorithm,hash);
return __this;
@@ -353,7 +353,7 @@ void Hash_obj::__register()
Hash_obj _hx_dummy;
Hash_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Hash",7f,d5,c5,4f);
+ __mClass->mName = HX_("borogove.Hash",5b,44,47,de);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -374,7 +374,7 @@ void Hash_obj::__register()
void Hash_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_9ae683eb017e4032_22_boot)
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_22_boot)
HXDLIN( 22) __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)
@@ -382,4 +382,4 @@ HXDLIN( 22) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
}
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/ID.cpp b/Sources/c_borogove/src/borogove/ID.cpp
similarity index 76%
rename from Sources/c_snikket/src/snikket/ID.cpp
rename to Sources/c_borogove/src/borogove/ID.cpp
index 2bcffb8..a2eb233 100644
--- a/Sources/c_snikket/src/snikket/ID.cpp
+++ b/Sources/c_borogove/src/borogove/ID.cpp
@@ -1,21 +1,21 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
+#endif
#ifndef INCLUDED_hx_strings_RandomStrings
#include <hx/strings/RandomStrings.h>
#endif
#ifndef INCLUDED_hx_strings_internal__Either2__Either2
#include <hx/strings/internal/_Either2/_Either2.h>
#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
-#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_21b2f1b736a5ee9f_7_tiny,"snikket.ID","tiny",0x1693f982,"snikket.ID.tiny","snikket/ID.hx",7,0x63b75f71)
-HX_LOCAL_STACK_FRAME(_hx_pos_21b2f1b736a5ee9f_11_short,"snikket.ID","short",0x16d749ba,"snikket.ID.short","snikket/ID.hx",11,0x63b75f71)
-HX_LOCAL_STACK_FRAME(_hx_pos_21b2f1b736a5ee9f_15_medium,"snikket.ID","medium",0xbde52577,"snikket.ID.medium","snikket/ID.hx",15,0x63b75f71)
-HX_LOCAL_STACK_FRAME(_hx_pos_21b2f1b736a5ee9f_19_long,"snikket.ID","long",0x114ed1fe,"snikket.ID.long","snikket/ID.hx",19,0x63b75f71)
-namespace snikket{
+HX_LOCAL_STACK_FRAME(_hx_pos_9e0ef13dc78fa627_7_tiny,"borogove.ID","tiny",0x15963c26,"borogove.ID.tiny","borogove/ID.hx",7,0x8676f115)
+HX_LOCAL_STACK_FRAME(_hx_pos_9e0ef13dc78fa627_11_short,"borogove.ID","short",0x39cf5696,"borogove.ID.short","borogove/ID.hx",11,0x8676f115)
+HX_LOCAL_STACK_FRAME(_hx_pos_9e0ef13dc78fa627_15_medium,"borogove.ID","medium",0x33f8591b,"borogove.ID.medium","borogove/ID.hx",15,0x8676f115)
+HX_LOCAL_STACK_FRAME(_hx_pos_9e0ef13dc78fa627_19_long,"borogove.ID","long",0x105114a2,"borogove.ID.long","borogove/ID.hx",19,0x8676f115)
+namespace borogove{
void ID_obj::__construct() { }
@@ -31,11 +31,11 @@ Dynamic ID_obj::__Create(::hx::DynamicArray inArgs)
}
bool ID_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x5880bad8;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2a811f28;
}
::String ID_obj::tiny(){
- HX_STACKFRAME(&_hx_pos_21b2f1b736a5ee9f_7_tiny)
+ HX_STACKFRAME(&_hx_pos_9e0ef13dc78fa627_7_tiny)
HXDLIN( 7) return ::hx::strings::RandomStrings_obj::random(6,::hx::strings::internal::_Either2::_Either2_obj::b(::hx::strings::RandomStrings_obj::ASCII_ALPHA_NUMERIC));
}
@@ -43,7 +43,7 @@ HXDLIN( 7) return ::hx::strings::RandomStrings_obj::random(6,::hx::strings::i
STATIC_HX_DEFINE_DYNAMIC_FUNC0(ID_obj,tiny,return )
::String ID_obj::_hx_short(){
- HX_STACKFRAME(&_hx_pos_21b2f1b736a5ee9f_11_short)
+ HX_STACKFRAME(&_hx_pos_9e0ef13dc78fa627_11_short)
HXDLIN( 11) return ::hx::strings::RandomStrings_obj::random(18,::hx::strings::internal::_Either2::_Either2_obj::b(::hx::strings::RandomStrings_obj::ASCII_ALPHA_NUMERIC));
}
@@ -51,7 +51,7 @@ HXDLIN( 11) return ::hx::strings::RandomStrings_obj::random(18,::hx::strings::
STATIC_HX_DEFINE_DYNAMIC_FUNC0(ID_obj,_hx_short,return )
::String ID_obj::medium(){
- HX_STACKFRAME(&_hx_pos_21b2f1b736a5ee9f_15_medium)
+ HX_STACKFRAME(&_hx_pos_9e0ef13dc78fa627_15_medium)
HXDLIN( 15) return ::hx::strings::RandomStrings_obj::random(32,::hx::strings::internal::_Either2::_Either2_obj::b(::hx::strings::RandomStrings_obj::ASCII_ALPHA_NUMERIC));
}
@@ -59,7 +59,7 @@ HXDLIN( 15) return ::hx::strings::RandomStrings_obj::random(32,::hx::strings::
STATIC_HX_DEFINE_DYNAMIC_FUNC0(ID_obj,medium,return )
::String ID_obj::_hx_long(){
- HX_STACKFRAME(&_hx_pos_21b2f1b736a5ee9f_19_long)
+ HX_STACKFRAME(&_hx_pos_9e0ef13dc78fa627_19_long)
HXDLIN( 19) return ::hx::strings::RandomStrings_obj::randomUUIDv4(null());
}
@@ -107,7 +107,7 @@ void ID_obj::__register()
ID_obj _hx_dummy;
ID_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.ID",2c,83,d0,18);
+ __mClass->mName = HX_("borogove.ID",08,43,bd,c2);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -125,4 +125,4 @@ void ID_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Identicon.cpp b/Sources/c_borogove/src/borogove/Identicon.cpp
new file mode 100644
index 0000000..e0425a6
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Identicon.cpp
@@ -0,0 +1,171 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_Color
+#include <borogove/Color.h>
+#endif
+#ifndef INCLUDED_borogove_Identicon
+#include <borogove/Identicon.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_Sha1
+#include <haxe/crypto/Sha1.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+#ifndef INCLUDED_haxe_io_BytesInput
+#include <haxe/io/BytesInput.h>
+#endif
+#ifndef INCLUDED_haxe_io_Encoding
+#include <haxe/io/Encoding.h>
+#endif
+#ifndef INCLUDED_haxe_io_Input
+#include <haxe/io/Input.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_d6eb31ee75492eec_19_svg,"borogove.Identicon","svg",0x3a0e37b2,"borogove.Identicon.svg","borogove/Identicon.hx",19,0x517def03)
+namespace borogove{
+
+void Identicon_obj::__construct() { }
+
+Dynamic Identicon_obj::__CreateEmpty() { return new Identicon_obj; }
+
+void *Identicon_obj::_hx_vtable = 0;
+
+Dynamic Identicon_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Identicon_obj > _hx_result = new Identicon_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Identicon_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x31496f48;
+}
+
+::String Identicon_obj::svg(::String source){
+ HX_GC_STACKFRAME(&_hx_pos_d6eb31ee75492eec_19_svg)
+HXLINE( 21) ::haxe::io::BytesInput input = ::haxe::io::BytesInput_obj::__alloc( HX_CTX ,::haxe::crypto::Sha1_obj::make(::haxe::io::Bytes_obj::ofString(source,null())),null(),null());
+HXLINE( 22) input->set_bigEndian(true);
+HXLINE( 23) int hash = input->readInt32();
+HXLINE( 24) ::String uri = HX_("data:image/svg+xml,<svg%20xmlns=\"http://www.w3.org/2000/svg\"%20version=\"1.1\"%20width=\"5\"%20height=\"5\"%20viewBox=\"0%200%205%205\">",ab,fb,bd,f4);
+HXLINE( 25) uri = (HX_("data:image/svg+xml,<svg%20xmlns=\"http://www.w3.org/2000/svg\"%20version=\"1.1\"%20width=\"5\"%20height=\"5\"%20viewBox=\"0%200%205%205\">",ab,fb,bd,f4) + ((HX_("<style>rect{fill:%23",3d,8c,37,23) + ::borogove::Color_obj::forString(source).substr(1,null())) + HX_(";}</style>",82,58,20,71)));
+HXLINE( 27) {
+HXLINE( 28) {
+HXLINE( 30) if ((::hx::Mod(hash,2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 0) + HX_("\"%20y=\"",5d,64,2d,3b)) + 0) + HX_("\"/>",d1,f5,19,00)));
+HXLINE( 33) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 4) + HX_("\"%20y=\"",5d,64,2d,3b)) + 0) + HX_("\"/>",d1,f5,19,00)));
+ }
+HXLINE( 30) if ((::hx::Mod((hash >> 1),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 0) + HX_("\"%20y=\"",5d,64,2d,3b)) + 1) + HX_("\"/>",d1,f5,19,00)));
+HXLINE( 33) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 4) + HX_("\"%20y=\"",5d,64,2d,3b)) + 1) + HX_("\"/>",d1,f5,19,00)));
+ }
+HXLINE( 30) if ((::hx::Mod((hash >> 2),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 0) + HX_("\"%20y=\"",5d,64,2d,3b)) + 2) + HX_("\"/>",d1,f5,19,00)));
+HXLINE( 33) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 4) + HX_("\"%20y=\"",5d,64,2d,3b)) + 2) + HX_("\"/>",d1,f5,19,00)));
+ }
+HXLINE( 30) if ((::hx::Mod((hash >> 3),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 0) + HX_("\"%20y=\"",5d,64,2d,3b)) + 3) + HX_("\"/>",d1,f5,19,00)));
+HXLINE( 33) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 4) + HX_("\"%20y=\"",5d,64,2d,3b)) + 3) + HX_("\"/>",d1,f5,19,00)));
+ }
+HXLINE( 30) if ((::hx::Mod((hash >> 4),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 0) + HX_("\"%20y=\"",5d,64,2d,3b)) + 4) + HX_("\"/>",d1,f5,19,00)));
+HXLINE( 33) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 4) + HX_("\"%20y=\"",5d,64,2d,3b)) + 4) + HX_("\"/>",d1,f5,19,00)));
+ }
+ }
+HXLINE( 28) {
+HXLINE( 30) if ((::hx::Mod((hash >> 5),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 1) + HX_("\"%20y=\"",5d,64,2d,3b)) + 0) + HX_("\"/>",d1,f5,19,00)));
+HXLINE( 33) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 3) + HX_("\"%20y=\"",5d,64,2d,3b)) + 0) + HX_("\"/>",d1,f5,19,00)));
+ }
+HXLINE( 30) if ((::hx::Mod((hash >> 6),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 1) + HX_("\"%20y=\"",5d,64,2d,3b)) + 1) + HX_("\"/>",d1,f5,19,00)));
+HXLINE( 33) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 3) + HX_("\"%20y=\"",5d,64,2d,3b)) + 1) + HX_("\"/>",d1,f5,19,00)));
+ }
+HXLINE( 30) if ((::hx::Mod((hash >> 7),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 1) + HX_("\"%20y=\"",5d,64,2d,3b)) + 2) + HX_("\"/>",d1,f5,19,00)));
+HXLINE( 33) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 3) + HX_("\"%20y=\"",5d,64,2d,3b)) + 2) + HX_("\"/>",d1,f5,19,00)));
+ }
+HXLINE( 30) if ((::hx::Mod((hash >> 8),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 1) + HX_("\"%20y=\"",5d,64,2d,3b)) + 3) + HX_("\"/>",d1,f5,19,00)));
+HXLINE( 33) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 3) + HX_("\"%20y=\"",5d,64,2d,3b)) + 3) + HX_("\"/>",d1,f5,19,00)));
+ }
+HXLINE( 30) if ((::hx::Mod((hash >> 9),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 1) + HX_("\"%20y=\"",5d,64,2d,3b)) + 4) + HX_("\"/>",d1,f5,19,00)));
+HXLINE( 33) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 3) + HX_("\"%20y=\"",5d,64,2d,3b)) + 4) + HX_("\"/>",d1,f5,19,00)));
+ }
+ }
+HXLINE( 28) {
+HXLINE( 30) if ((::hx::Mod((hash >> 10),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 2) + HX_("\"%20y=\"",5d,64,2d,3b)) + 0) + HX_("\"/>",d1,f5,19,00)));
+ }
+HXLINE( 30) if ((::hx::Mod((hash >> 11),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 2) + HX_("\"%20y=\"",5d,64,2d,3b)) + 1) + HX_("\"/>",d1,f5,19,00)));
+ }
+HXLINE( 30) if ((::hx::Mod((hash >> 12),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 2) + HX_("\"%20y=\"",5d,64,2d,3b)) + 2) + HX_("\"/>",d1,f5,19,00)));
+ }
+HXLINE( 30) if ((::hx::Mod((hash >> 13),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 2) + HX_("\"%20y=\"",5d,64,2d,3b)) + 3) + HX_("\"/>",d1,f5,19,00)));
+ }
+HXLINE( 30) if ((::hx::Mod((hash >> 14),2) == 0)) {
+HXLINE( 31) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 2) + HX_("\"%20y=\"",5d,64,2d,3b)) + 4) + HX_("\"/>",d1,f5,19,00)));
+ }
+ }
+ }
+HXLINE( 38) return (uri + HX_("</svg>",4d,57,9c,59));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Identicon_obj,svg,return )
+
+
+Identicon_obj::Identicon_obj()
+{
+}
+
+bool Identicon_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"svg") ) { outValue = svg_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *Identicon_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *Identicon_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class Identicon_obj::__mClass;
+
+static ::String Identicon_obj_sStaticFields[] = {
+ HX_("svg",64,aa,57,00),
+ ::String(null())
+};
+
+void Identicon_obj::__register()
+{
+ Identicon_obj _hx_dummy;
+ Identicon_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Identicon",bc,ae,0a,56);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Identicon_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Identicon_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< Identicon_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Identicon_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Identicon_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Identity.cpp b/Sources/c_borogove/src/borogove/Identity.cpp
new file mode 100644
index 0000000..0721798
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Identity.cpp
@@ -0,0 +1,261 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED_borogove_Identity
+#include <borogove/Identity.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.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_haxe_io_Output
+#include <haxe/io/Output.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_d5f7fc7fc3ee8081_178_new,"borogove.Identity","new",0x6fb346bd,"borogove.Identity.new","borogove/Caps.hx",178,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_d5f7fc7fc3ee8081_185_addToDisco,"borogove.Identity","addToDisco",0xe04e3b21,"borogove.Identity.addToDisco","borogove/Caps.hx",185,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_d5f7fc7fc3ee8081_192_ver,"borogove.Identity","ver",0x6fb958c0,"borogove.Identity.ver","borogove/Caps.hx",192,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_d5f7fc7fc3ee8081_195_writeTo,"borogove.Identity","writeTo",0x8acc5517,"borogove.Identity.writeTo","borogove/Caps.hx",195,0xed3da4ef)
+namespace borogove{
+
+void Identity_obj::__construct(::String category,::String type,::String name,::String lang){
+ HX_STACKFRAME(&_hx_pos_d5f7fc7fc3ee8081_178_new)
+HXLINE( 179) this->category = category;
+HXLINE( 180) this->type = type;
+HXLINE( 181) this->name = name;
+HXLINE( 182) ::String _hx_tmp;
+HXDLIN( 182) if (::hx::IsNotNull( lang )) {
+HXLINE( 182) _hx_tmp = lang;
+ }
+ else {
+HXLINE( 182) _hx_tmp = HX_("",00,00,00,00);
+ }
+HXDLIN( 182) this->lang = _hx_tmp;
+ }
+
+Dynamic Identity_obj::__CreateEmpty() { return new Identity_obj; }
+
+void *Identity_obj::_hx_vtable = 0;
+
+Dynamic Identity_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Identity_obj > _hx_result = new Identity_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3]);
+ return _hx_result;
+}
+
+bool Identity_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1cebb93f;
+}
+
+void Identity_obj::addToDisco( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_d5f7fc7fc3ee8081_185_addToDisco)
+HXLINE( 186) ::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( 187) bool _hx_tmp;
+HXDLIN( 187) if (::hx::IsNotNull( this->lang )) {
+HXLINE( 187) _hx_tmp = (this->lang != HX_("",00,00,00,00));
+ }
+ else {
+HXLINE( 187) _hx_tmp = false;
+ }
+HXDLIN( 187) if (_hx_tmp) {
+HXLINE( 187) ::Reflect_obj::setField(attrs,HX_("xml:lang",f1,b1,be,5f),this->lang);
+ }
+HXLINE( 188) stanza->tag(HX_("identity",3e,45,2f,b9),attrs)->up();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Identity_obj,addToDisco,(void))
+
+::String Identity_obj::ver(){
+ HX_STACKFRAME(&_hx_pos_d5f7fc7fc3ee8081_192_ver)
+HXDLIN( 192) ::String tmp = this->lang;
+HXDLIN( 192) ::String _hx_tmp;
+HXDLIN( 192) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 192) _hx_tmp = tmp;
+ }
+ else {
+HXDLIN( 192) _hx_tmp = HX_("",00,00,00,00);
+ }
+HXDLIN( 192) 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_195_writeTo)
+HXLINE( 196) {
+HXLINE( 196) ::haxe::io::Bytes b = ::haxe::io::Bytes_obj::ofString(this->category,null());
+HXDLIN( 196) out->writeBytes(b,0,b->length);
+ }
+HXLINE( 197) out->writeByte(31);
+HXLINE( 198) {
+HXLINE( 198) ::haxe::io::Bytes b1 = ::haxe::io::Bytes_obj::ofString(this->type,null());
+HXDLIN( 198) out->writeBytes(b1,0,b1->length);
+ }
+HXLINE( 199) out->writeByte(31);
+HXLINE( 200) {
+HXLINE( 200) ::String s;
+HXDLIN( 200) ::String tmp = this->lang;
+HXDLIN( 200) if (::hx::IsNotNull( tmp )) {
+HXLINE( 200) s = tmp;
+ }
+ else {
+HXLINE( 200) s = HX_("",00,00,00,00);
+ }
+HXDLIN( 200) ::haxe::io::Bytes b2 = ::haxe::io::Bytes_obj::ofString(s,null());
+HXDLIN( 200) out->writeBytes(b2,0,b2->length);
+ }
+HXLINE( 201) out->writeByte(31);
+HXLINE( 202) {
+HXLINE( 202) ::haxe::io::Bytes b3 = ::haxe::io::Bytes_obj::ofString(this->name,null());
+HXDLIN( 202) out->writeBytes(b3,0,b3->length);
+ }
+HXLINE( 203) out->writeByte(31);
+HXLINE( 204) out->writeByte(30);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Identity_obj,writeTo,(void))
+
+
+::hx::ObjectPtr< Identity_obj > Identity_obj::__new(::String category,::String type,::String name,::String lang) {
+ ::hx::ObjectPtr< Identity_obj > __this = new Identity_obj();
+ __this->__construct(category,type,name,lang);
+ return __this;
+}
+
+::hx::ObjectPtr< Identity_obj > Identity_obj::__alloc(::hx::Ctx *_hx_ctx,::String category,::String type,::String name,::String lang) {
+ Identity_obj *__this = (Identity_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Identity_obj), true, "borogove.Identity"));
+ *(void **)__this = Identity_obj::_hx_vtable;
+ __this->__construct(category,type,name,lang);
+ return __this;
+}
+
+Identity_obj::Identity_obj()
+{
+}
+
+void Identity_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Identity);
+ HX_MARK_MEMBER_NAME(category,"category");
+ HX_MARK_MEMBER_NAME(type,"type");
+ HX_MARK_MEMBER_NAME(name,"name");
+ HX_MARK_MEMBER_NAME(lang,"lang");
+ HX_MARK_END_CLASS();
+}
+
+void Identity_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(category,"category");
+ HX_VISIT_MEMBER_NAME(type,"type");
+ HX_VISIT_MEMBER_NAME(name,"name");
+ HX_VISIT_MEMBER_NAME(lang,"lang");
+}
+
+::hx::Val Identity_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"ver") ) { return ::hx::Val( ver_dyn() ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"type") ) { return ::hx::Val( type ); }
+ if (HX_FIELD_EQ(inName,"name") ) { return ::hx::Val( name ); }
+ if (HX_FIELD_EQ(inName,"lang") ) { return ::hx::Val( lang ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"writeTo") ) { return ::hx::Val( writeTo_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"category") ) { return ::hx::Val( category ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"addToDisco") ) { return ::hx::Val( addToDisco_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val Identity_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"type") ) { type=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"name") ) { name=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"lang") ) { lang=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"category") ) { category=inValue.Cast< ::String >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void Identity_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("category",fe,2a,6c,ad));
+ outFields->push(HX_("type",ba,f2,08,4d));
+ outFields->push(HX_("name",4b,72,ff,48));
+ outFields->push(HX_("lang",ee,05,ad,47));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo Identity_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(Identity_obj,category),HX_("category",fe,2a,6c,ad)},
+ {::hx::fsString,(int)offsetof(Identity_obj,type),HX_("type",ba,f2,08,4d)},
+ {::hx::fsString,(int)offsetof(Identity_obj,name),HX_("name",4b,72,ff,48)},
+ {::hx::fsString,(int)offsetof(Identity_obj,lang),HX_("lang",ee,05,ad,47)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *Identity_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Identity_obj_sMemberFields[] = {
+ HX_("category",fe,2a,6c,ad),
+ HX_("type",ba,f2,08,4d),
+ HX_("name",4b,72,ff,48),
+ HX_("lang",ee,05,ad,47),
+ HX_("addToDisco",de,7b,df,0d),
+ HX_("ver",63,e2,59,00),
+ HX_("writeTo",3a,ec,35,ab),
+ ::String(null()) };
+
+::hx::Class Identity_obj::__mClass;
+
+void Identity_obj::__register()
+{
+ Identity_obj _hx_dummy;
+ Identity_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Identity",4b,24,08,91);
+ __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(Identity_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Identity_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Identity_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Identity_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/IqRequestType.cpp b/Sources/c_borogove/src/borogove/IqRequestType.cpp
similarity index 82%
rename from Sources/c_snikket/src/snikket/IqRequestType.cpp
rename to Sources/c_borogove/src/borogove/IqRequestType.cpp
index f269382..76913cc 100644
--- a/Sources/c_snikket/src/snikket/IqRequestType.cpp
+++ b/Sources/c_borogove/src/borogove/IqRequestType.cpp
@@ -1,14 +1,14 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_IqRequestType
-#include <snikket/IqRequestType.h>
+#ifndef INCLUDED_borogove_IqRequestType
+#include <borogove/IqRequestType.h>
#endif
-namespace snikket{
+namespace borogove{
-::snikket::IqRequestType IqRequestType_obj::Get;
+::borogove::IqRequestType IqRequestType_obj::Get;
-::snikket::IqRequestType IqRequestType_obj::Set;
+::borogove::IqRequestType IqRequestType_obj::Set;
bool IqRequestType_obj::__GetStatic(const ::String &inName, ::Dynamic &outValue, ::hx::PropertyAccess inCallProp)
{
@@ -53,7 +53,7 @@ Dynamic __Create_IqRequestType_obj() { return new IqRequestType_obj; }
void IqRequestType_obj::__register()
{
-::hx::Static(__mClass) = ::hx::_hx_RegisterClass(HX_("snikket.IqRequestType",d0,62,72,94), ::hx::TCanCast< IqRequestType_obj >,IqRequestType_obj_sStaticFields,0,
+::hx::Static(__mClass) = ::hx::_hx_RegisterClass(HX_("borogove.IqRequestType",74,38,52,ed), ::hx::TCanCast< IqRequestType_obj >,IqRequestType_obj_sStaticFields,0,
&__Create_IqRequestType_obj, &__Create,
&super::__SGetClass(), &CreateIqRequestType_obj, 0
#ifdef HXCPP_VISIT_ALLOCS
@@ -73,4 +73,4 @@ Set = ::hx::CreateConstEnum< IqRequestType_obj >(HX_("Set",82,53,3f,00),1);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/IqResult.cpp b/Sources/c_borogove/src/borogove/IqResult.cpp
similarity index 80%
rename from Sources/c_snikket/src/snikket/IqResult.cpp
rename to Sources/c_borogove/src/borogove/IqResult.cpp
index 11df743..25bbce1 100644
--- a/Sources/c_snikket/src/snikket/IqResult.cpp
+++ b/Sources/c_borogove/src/borogove/IqResult.cpp
@@ -1,22 +1,19 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_IqResult
-#include <snikket/IqResult.h>
+#ifndef INCLUDED_borogove_IqResult
+#include <borogove/IqResult.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-namespace snikket{
+namespace borogove{
-::snikket::IqResult IqResult_obj::IqNoResult;
+::borogove::IqResult IqResult_obj::IqNoResult;
-::snikket::IqResult IqResult_obj::IqResult;
+::borogove::IqResult IqResult_obj::IqResult;
-::snikket::IqResult IqResult_obj::IqResultElement( ::snikket::Stanza element)
+::borogove::IqResult IqResult_obj::IqResultElement( ::borogove::Stanza element)
{
return ::hx::CreateEnum< IqResult_obj >(HX_("IqResultElement",37,9e,bd,34),0,1)->_hx_init(0,element);
}
@@ -71,7 +68,7 @@ Dynamic __Create_IqResult_obj() { return new IqResult_obj; }
void IqResult_obj::__register()
{
-::hx::Static(__mClass) = ::hx::_hx_RegisterClass(HX_("snikket.IqResult",16,e9,a3,c2), ::hx::TCanCast< IqResult_obj >,IqResult_obj_sStaticFields,0,
+::hx::Static(__mClass) = ::hx::_hx_RegisterClass(HX_("borogove.IqResult",f2,f5,9b,e5), ::hx::TCanCast< IqResult_obj >,IqResult_obj_sStaticFields,0,
&__Create_IqResult_obj, &__Create,
&super::__SGetClass(), &CreateIqResult_obj, 0
#ifdef HXCPP_VISIT_ALLOCS
@@ -91,4 +88,4 @@ IqResult = ::hx::CreateConstEnum< IqResult_obj >(HX_("IqResult",05,d3,74,e7),1);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/JID.cpp b/Sources/c_borogove/src/borogove/JID.cpp
similarity index 79%
rename from Sources/c_snikket/src/snikket/JID.cpp
rename to Sources/c_borogove/src/borogove/JID.cpp
index 60bdbba..c4bbe9c 100644
--- a/Sources/c_snikket/src/snikket/JID.cpp
+++ b/Sources/c_borogove/src/borogove/JID.cpp
@@ -4,25 +4,25 @@
#ifndef INCLUDED_StringTools
#include <StringTools.h>
#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_72d6039c98e7ca24_9_new,"snikket.JID","new",0xbc81d526,"snikket.JID.new","snikket/JID.hx",9,0x327707cb)
-HX_LOCAL_STACK_FRAME(_hx_pos_72d6039c98e7ca24_56_asBare,"snikket.JID","asBare",0xe7e9843e,"snikket.JID.asBare","snikket/JID.hx",56,0x327707cb)
-HX_LOCAL_STACK_FRAME(_hx_pos_72d6039c98e7ca24_60_withResource,"snikket.JID","withResource",0x5ce3376e,"snikket.JID.withResource","snikket/JID.hx",60,0x327707cb)
-HX_LOCAL_STACK_FRAME(_hx_pos_72d6039c98e7ca24_64_isValid,"snikket.JID","isValid",0xd514f878,"snikket.JID.isValid","snikket/JID.hx",64,0x327707cb)
-HX_LOCAL_STACK_FRAME(_hx_pos_72d6039c98e7ca24_68_isDomain,"snikket.JID","isDomain",0x7b173a48,"snikket.JID.isDomain","snikket/JID.hx",68,0x327707cb)
-HX_LOCAL_STACK_FRAME(_hx_pos_72d6039c98e7ca24_72_isBare,"snikket.JID","isBare",0x1ac46736,"snikket.JID.isBare","snikket/JID.hx",72,0x327707cb)
-HX_LOCAL_STACK_FRAME(_hx_pos_72d6039c98e7ca24_76_equals,"snikket.JID","equals",0x7c3fa939,"snikket.JID.equals","snikket/JID.hx",76,0x327707cb)
-HX_LOCAL_STACK_FRAME(_hx_pos_72d6039c98e7ca24_84_asString,"snikket.JID","asString",0x953320dd,"snikket.JID.asString","snikket/JID.hx",84,0x327707cb)
-HX_LOCAL_STACK_FRAME(_hx_pos_72d6039c98e7ca24_41_parse,"snikket.JID","parse",0x64a2d279,"snikket.JID.parse","snikket/JID.hx",41,0x327707cb)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_78b34adee00b61f5_9_new,"borogove.JID","new",0xbb8417ca,"borogove.JID.new","borogove/JID.hx",9,0x7756e5a7)
+HX_LOCAL_STACK_FRAME(_hx_pos_78b34adee00b61f5_56_asBare,"borogove.JID","asBare",0xc2a3801a,"borogove.JID.asBare","borogove/JID.hx",56,0x7756e5a7)
+HX_LOCAL_STACK_FRAME(_hx_pos_78b34adee00b61f5_60_withResource,"borogove.JID","withResource",0xd03d804a,"borogove.JID.withResource","borogove/JID.hx",60,0x7756e5a7)
+HX_LOCAL_STACK_FRAME(_hx_pos_78b34adee00b61f5_64_isValid,"borogove.JID","isValid",0x5d175d1c,"borogove.JID.isValid","borogove/JID.hx",64,0x7756e5a7)
+HX_LOCAL_STACK_FRAME(_hx_pos_78b34adee00b61f5_68_isDomain,"borogove.JID","isDomain",0xf52ce524,"borogove.JID.isDomain","borogove/JID.hx",68,0x7756e5a7)
+HX_LOCAL_STACK_FRAME(_hx_pos_78b34adee00b61f5_72_isBare,"borogove.JID","isBare",0xf57e6312,"borogove.JID.isBare","borogove/JID.hx",72,0x7756e5a7)
+HX_LOCAL_STACK_FRAME(_hx_pos_78b34adee00b61f5_76_equals,"borogove.JID","equals",0x56f9a515,"borogove.JID.equals","borogove/JID.hx",76,0x7756e5a7)
+HX_LOCAL_STACK_FRAME(_hx_pos_78b34adee00b61f5_84_asString,"borogove.JID","asString",0x0f48cbb9,"borogove.JID.asString","borogove/JID.hx",84,0x7756e5a7)
+HX_LOCAL_STACK_FRAME(_hx_pos_78b34adee00b61f5_41_parse,"borogove.JID","parse",0xdab6061d,"borogove.JID.parse","borogove/JID.hx",41,0x7756e5a7)
+namespace borogove{
void JID_obj::__construct(::String node,::String domain,::String resource, ::Dynamic __o_raw){
::Dynamic raw = __o_raw;
if (::hx::IsNull(__o_raw)) raw = false;
- HX_STACKFRAME(&_hx_pos_72d6039c98e7ca24_9_new)
+ HX_STACKFRAME(&_hx_pos_78b34adee00b61f5_9_new)
HXLINE( 10) ::String _hx_tmp;
HXDLIN( 10) bool _hx_tmp1;
HXDLIN( 10) if (::hx::IsNotNull( node )) {
@@ -54,27 +54,27 @@ Dynamic JID_obj::__Create(::hx::DynamicArray inArgs)
}
bool JID_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x18238908;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x68daca80;
}
- ::snikket::JID JID_obj::asBare(){
- HX_GC_STACKFRAME(&_hx_pos_72d6039c98e7ca24_56_asBare)
-HXDLIN( 56) return ::snikket::JID_obj::__alloc( HX_CTX ,this->node,this->domain,null(),true);
+ ::borogove::JID JID_obj::asBare(){
+ HX_GC_STACKFRAME(&_hx_pos_78b34adee00b61f5_56_asBare)
+HXDLIN( 56) return ::borogove::JID_obj::__alloc( HX_CTX ,this->node,this->domain,null(),true);
}
HX_DEFINE_DYNAMIC_FUNC0(JID_obj,asBare,return )
- ::snikket::JID JID_obj::withResource(::String resource){
- HX_GC_STACKFRAME(&_hx_pos_72d6039c98e7ca24_60_withResource)
-HXDLIN( 60) return ::snikket::JID_obj::__alloc( HX_CTX ,this->node,this->domain,resource,true);
+ ::borogove::JID JID_obj::withResource(::String resource){
+ HX_GC_STACKFRAME(&_hx_pos_78b34adee00b61f5_60_withResource)
+HXDLIN( 60) return ::borogove::JID_obj::__alloc( HX_CTX ,this->node,this->domain,resource,true);
}
HX_DEFINE_DYNAMIC_FUNC1(JID_obj,withResource,return )
bool JID_obj::isValid(){
- HX_STACKFRAME(&_hx_pos_72d6039c98e7ca24_64_isValid)
+ HX_STACKFRAME(&_hx_pos_78b34adee00b61f5_64_isValid)
HXDLIN( 64) return (this->domain.indexOf(HX_(".",2e,00,00,00),null()) >= 0);
}
@@ -82,7 +82,7 @@ HXDLIN( 64) return (this->domain.indexOf(HX_(".",2e,00,00,00),null()) >= 0);
HX_DEFINE_DYNAMIC_FUNC0(JID_obj,isValid,return )
bool JID_obj::isDomain(){
- HX_STACKFRAME(&_hx_pos_72d6039c98e7ca24_68_isDomain)
+ HX_STACKFRAME(&_hx_pos_78b34adee00b61f5_68_isDomain)
HXDLIN( 68) return ::hx::IsNull( this->node );
}
@@ -90,15 +90,15 @@ HXDLIN( 68) return ::hx::IsNull( this->node );
HX_DEFINE_DYNAMIC_FUNC0(JID_obj,isDomain,return )
bool JID_obj::isBare(){
- HX_STACKFRAME(&_hx_pos_72d6039c98e7ca24_72_isBare)
+ HX_STACKFRAME(&_hx_pos_78b34adee00b61f5_72_isBare)
HXDLIN( 72) return ::hx::IsNull( this->resource );
}
HX_DEFINE_DYNAMIC_FUNC0(JID_obj,isBare,return )
-bool JID_obj::equals( ::snikket::JID rhs){
- HX_STACKFRAME(&_hx_pos_72d6039c98e7ca24_76_equals)
+bool JID_obj::equals( ::borogove::JID rhs){
+ HX_STACKFRAME(&_hx_pos_78b34adee00b61f5_76_equals)
HXLINE( 77) bool _hx_tmp;
HXDLIN( 77) if ((this->node == rhs->node)) {
HXLINE( 77) _hx_tmp = (this->domain == rhs->domain);
@@ -119,7 +119,7 @@ HXDLIN( 76) return false;
HX_DEFINE_DYNAMIC_FUNC1(JID_obj,equals,return )
::String JID_obj::asString(){
- HX_STACKFRAME(&_hx_pos_72d6039c98e7ca24_84_asString)
+ HX_STACKFRAME(&_hx_pos_78b34adee00b61f5_84_asString)
HXLINE( 85) ::String _hx_tmp;
HXDLIN( 85) if (::hx::IsNotNull( this->node )) {
HXLINE( 85) _hx_tmp = (this->node + HX_("@",40,00,00,00));
@@ -140,8 +140,8 @@ HXLINE( 84) return ((_hx_tmp + this->domain) + _hx_tmp1);
HX_DEFINE_DYNAMIC_FUNC0(JID_obj,asString,return )
- ::snikket::JID JID_obj::parse(::String jid){
- HX_GC_STACKFRAME(&_hx_pos_72d6039c98e7ca24_41_parse)
+ ::borogove::JID JID_obj::parse(::String jid){
+ HX_GC_STACKFRAME(&_hx_pos_78b34adee00b61f5_41_parse)
HXLINE( 42) int resourceDelimiter = jid.indexOf(HX_("/",2f,00,00,00),null());
HXLINE( 43) int nodeDelimiter = jid.indexOf(HX_("@",40,00,00,00),null());
HXLINE( 44) bool _hx_tmp;
@@ -183,7 +183,7 @@ HXLINE( 50) _hx_tmp5 = null();
else {
HXLINE( 50) _hx_tmp5 = jid.substring((resourceDelimiter + 1),null());
}
-HXLINE( 47) return ::snikket::JID_obj::__alloc( HX_CTX ,_hx_tmp1,_hx_tmp4,_hx_tmp5,true);
+HXLINE( 47) return ::borogove::JID_obj::__alloc( HX_CTX ,_hx_tmp1,_hx_tmp4,_hx_tmp5,true);
}
@@ -197,7 +197,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(JID_obj,parse,return )
}
::hx::ObjectPtr< JID_obj > JID_obj::__alloc(::hx::Ctx *_hx_ctx,::String node,::String domain,::String resource, ::Dynamic __o_raw) {
- JID_obj *__this = (JID_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(JID_obj), true, "snikket.JID"));
+ JID_obj *__this = (JID_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(JID_obj), true, "borogove.JID"));
*(void **)__this = JID_obj::_hx_vtable;
__this->__construct(node,domain,resource,__o_raw);
return __this;
@@ -316,7 +316,7 @@ void JID_obj::__register()
JID_obj _hx_dummy;
JID_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.JID",34,0a,a3,9d);
+ __mClass->mName = HX_("borogove.JID",d8,2a,de,a2);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -334,4 +334,4 @@ void JID_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/JsonPrinter.cpp b/Sources/c_borogove/src/borogove/JsonPrinter.cpp
similarity index 84%
rename from Sources/c_snikket/src/snikket/JsonPrinter.cpp
rename to Sources/c_borogove/src/borogove/JsonPrinter.cpp
index e6b9aad..36e50b5 100644
--- a/Sources/c_snikket/src/snikket/JsonPrinter.cpp
+++ b/Sources/c_borogove/src/borogove/JsonPrinter.cpp
@@ -26,56 +26,56 @@
#ifndef INCLUDED_ValueType
#include <ValueType.h>
#endif
+#ifndef INCLUDED_borogove_JsonPrinter
+#include <borogove/JsonPrinter.h>
+#endif
#ifndef INCLUDED_haxe_IMap
#include <haxe/IMap.h>
#endif
#ifndef INCLUDED_haxe_ds_StringMap
#include <haxe/ds/StringMap.h>
#endif
-#ifndef INCLUDED_snikket_JsonPrinter
-#include <snikket/JsonPrinter.h>
-#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_b77b8280a0c8b7bd_56_new,"snikket.JsonPrinter","new",0x99b46873,"snikket.JsonPrinter.new","snikket/JsonPrinter.hx",56,0xc4bd461e)
-HX_LOCAL_STACK_FRAME(_hx_pos_b77b8280a0c8b7bd_81_write,"snikket.JsonPrinter","write",0xf51e6fb2,"snikket.JsonPrinter.write","snikket/JsonPrinter.hx",81,0xc4bd461e)
-static const ::String _hx_array_data_9fbcb301_4[] = {
+HX_DEFINE_STACK_FRAME(_hx_pos_d3ea37de6dab7070_56_new,"borogove.JsonPrinter","new",0xca6fef17,"borogove.JsonPrinter.new","borogove/JsonPrinter.hx",56,0x2fb85ffa)
+HX_LOCAL_STACK_FRAME(_hx_pos_d3ea37de6dab7070_81_write,"borogove.JsonPrinter","write",0x70c3e756,"borogove.JsonPrinter.write","borogove/JsonPrinter.hx",81,0x2fb85ffa)
+static const ::String _hx_array_data_27bf17a5_4[] = {
HX_("null",87,9e,0e,49),
};
-static const ::String _hx_array_data_9fbcb301_5[] = {
+static const ::String _hx_array_data_27bf17a5_5[] = {
HX_("\"<fun>\"",09,3c,cc,8b),
};
-static const ::String _hx_array_data_9fbcb301_6[] = {
+static const ::String _hx_array_data_27bf17a5_6[] = {
HX_("\"???\"",45,2f,74,bd),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_b77b8280a0c8b7bd_158_classString,"snikket.JsonPrinter","classString",0x801c723c,"snikket.JsonPrinter.classString","snikket/JsonPrinter.hx",158,0xc4bd461e)
-HX_LOCAL_STACK_FRAME(_hx_pos_b77b8280a0c8b7bd_165_fieldsString,"snikket.JsonPrinter","fieldsString",0xebaa19b7,"snikket.JsonPrinter.fieldsString","snikket/JsonPrinter.hx",165,0xc4bd461e)
-HX_LOCAL_STACK_FRAME(_hx_pos_b77b8280a0c8b7bd_195_quote,"snikket.JsonPrinter","quote",0x82b7260f,"snikket.JsonPrinter.quote","snikket/JsonPrinter.hx",195,0xc4bd461e)
-static const ::String _hx_array_data_9fbcb301_12[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_d3ea37de6dab7070_158_classString,"borogove.JsonPrinter","classString",0xe3753ce0,"borogove.JsonPrinter.classString","borogove/JsonPrinter.hx",158,0x2fb85ffa)
+HX_LOCAL_STACK_FRAME(_hx_pos_d3ea37de6dab7070_165_fieldsString,"borogove.JsonPrinter","fieldsString",0x76029e93,"borogove.JsonPrinter.fieldsString","borogove/JsonPrinter.hx",165,0x2fb85ffa)
+HX_LOCAL_STACK_FRAME(_hx_pos_d3ea37de6dab7070_195_quote,"borogove.JsonPrinter","quote",0xfe5c9db3,"borogove.JsonPrinter.quote","borogove/JsonPrinter.hx",195,0x2fb85ffa)
+static const ::String _hx_array_data_27bf17a5_12[] = {
HX_("\\b",86,50,00,00),
};
-static const ::String _hx_array_data_9fbcb301_13[] = {
+static const ::String _hx_array_data_27bf17a5_13[] = {
HX_("\\t",98,50,00,00),
};
-static const ::String _hx_array_data_9fbcb301_14[] = {
+static const ::String _hx_array_data_27bf17a5_14[] = {
HX_("\\n",92,50,00,00),
};
-static const ::String _hx_array_data_9fbcb301_15[] = {
+static const ::String _hx_array_data_27bf17a5_15[] = {
HX_("\\f",8a,50,00,00),
};
-static const ::String _hx_array_data_9fbcb301_16[] = {
+static const ::String _hx_array_data_27bf17a5_16[] = {
HX_("\\r",96,50,00,00),
};
-static const ::String _hx_array_data_9fbcb301_17[] = {
+static const ::String _hx_array_data_27bf17a5_17[] = {
HX_("\\\"",46,50,00,00),
};
-static const ::String _hx_array_data_9fbcb301_18[] = {
+static const ::String _hx_array_data_27bf17a5_18[] = {
HX_("\\\\",80,50,00,00),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_b77b8280a0c8b7bd_44_print,"snikket.JsonPrinter","print",0xed505b00,"snikket.JsonPrinter.print","snikket/JsonPrinter.hx",44,0xc4bd461e)
-namespace snikket{
+HX_LOCAL_STACK_FRAME(_hx_pos_d3ea37de6dab7070_44_print,"borogove.JsonPrinter","print",0x68f5d2a4,"borogove.JsonPrinter.print","borogove/JsonPrinter.hx",44,0x2fb85ffa)
+namespace borogove{
void JsonPrinter_obj::__construct( ::Dynamic replacer,::String space){
- HX_GC_STACKFRAME(&_hx_pos_b77b8280a0c8b7bd_56_new)
+ HX_GC_STACKFRAME(&_hx_pos_d3ea37de6dab7070_56_new)
HXLINE( 57) this->replacer = replacer;
HXLINE( 58) this->indent = space;
HXLINE( 59) this->pretty = ::hx::IsNotNull( space );
@@ -95,11 +95,11 @@ Dynamic JsonPrinter_obj::__Create(::hx::DynamicArray inArgs)
}
bool JsonPrinter_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x1bd625d5;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x60981331;
}
void JsonPrinter_obj::write( ::Dynamic k, ::Dynamic v){
- HX_STACKFRAME(&_hx_pos_b77b8280a0c8b7bd_81_write)
+ HX_STACKFRAME(&_hx_pos_d3ea37de6dab7070_81_write)
HXLINE( 82) if (::hx::IsNotNull( this->replacer )) {
HXLINE( 83) v = this->replacer(k,v);
}
@@ -112,7 +112,7 @@ HXDLIN( 136) if (::hx::IsNotNull( _this->charBuf )) {
HXLINE( 136) _this->flush();
}
HXDLIN( 136) if (::hx::IsNull( _this->b )) {
-HXLINE( 136) _this->b = ::Array_obj< ::String >::fromData( _hx_array_data_9fbcb301_4,1);
+HXLINE( 136) _this->b = ::Array_obj< ::String >::fromData( _hx_array_data_27bf17a5_4,1);
}
else {
HXLINE( 136) _this->b->push(HX_("null",87,9e,0e,49));
@@ -186,7 +186,7 @@ HXDLIN( 94) if (::hx::IsNotNull( _this7->charBuf )) {
HXLINE( 94) _this7->flush();
}
HXDLIN( 94) if (::hx::IsNull( _this7->b )) {
-HXLINE( 94) _this7->b = ::Array_obj< ::String >::fromData( _hx_array_data_9fbcb301_5,1);
+HXLINE( 94) _this7->b = ::Array_obj< ::String >::fromData( _hx_array_data_27bf17a5_5,1);
}
else {
HXLINE( 94) _this7->b->push(HX_("\"<fun>\"",09,3c,cc,8b));
@@ -194,12 +194,12 @@ HXLINE( 94) _this7->b->push(HX_("\"<fun>\"",09,3c,cc,8b));
}
break;
case (int)6: {
-HXLINE( 95) ::hx::Class c = _g->_hx_getObject(0).StaticCast< ::hx::Class >();
-HXLINE( 96) if (::hx::IsPointerEq( c,::hx::ClassOf< ::String >() )) {
+HXLINE( 95) ::hx::Class _g1 = _g->_hx_getObject(0).StaticCast< ::hx::Class >();
+HXLINE( 96) if (::hx::IsPointerEq( _g1,::hx::ClassOf< ::String >() )) {
HXLINE( 97) this->quote(( (::String)(v) ));
}
else {
-HXLINE( 98) if (::hx::IsPointerEq( c,::hx::ArrayBase::__mClass )) {
+HXLINE( 98) if (::hx::IsPointerEq( _g1,::hx::ArrayBase::__mClass )) {
HXLINE( 99) ::cpp::VirtualArray v4 = ( (::cpp::VirtualArray)(v) );
HXLINE( 100) {
HXLINE( 100) ::StringBuf _this8 = this->buf;
@@ -213,11 +213,10 @@ HXDLIN( 100) _this8->charBuf->push(91);
HXLINE( 102) int len = v4->get_length();
HXLINE( 103) int last = (len - 1);
HXLINE( 104) {
-HXLINE( 104) int _g1 = 0;
-HXDLIN( 104) int _g2 = len;
-HXDLIN( 104) while((_g1 < _g2)){
-HXLINE( 104) _g1 = (_g1 + 1);
-HXDLIN( 104) int i = (_g1 - 1);
+HXLINE( 104) int _g2 = 0;
+HXDLIN( 104) while((_g2 < len)){
+HXLINE( 104) _g2 = (_g2 + 1);
+HXDLIN( 104) int i = (_g2 - 1);
HXLINE( 105) if ((i > 0)) {
HXLINE( 106) ::StringBuf _this9 = this->buf;
HXDLIN( 106) {
@@ -297,7 +296,7 @@ HXDLIN( 118) _this16->charBuf->push(93);
}
}
else {
-HXLINE( 119) if (::hx::IsPointerEq( c,::hx::ClassOf< ::haxe::ds::StringMap >() )) {
+HXLINE( 119) if (::hx::IsPointerEq( _g1,::hx::ClassOf< ::haxe::ds::StringMap >() )) {
HXLINE( 120) ::haxe::ds::StringMap v7 = ( ( ::haxe::ds::StringMap)(v) );
HXLINE( 121) ::Dynamic o = ::Dynamic(::hx::Anon_obj::Create(0));
HXLINE( 122) {
@@ -313,9 +312,8 @@ HXDLIN( 124) this->fieldsString(v8,::Reflect_obj::fields(v8));
}
}
else {
-HXLINE( 125) if (::hx::IsPointerEq( c,::hx::ClassOf< ::Date >() )) {
-HXLINE( 126) ::Date v9 = ( ( ::Date)(v) );
-HXLINE( 127) this->quote(v9->toString());
+HXLINE( 125) if (::hx::IsPointerEq( _g1,::hx::ClassOf< ::Date >() )) {
+HXLINE( 127) this->quote(( ( ::Date)(v) )->toString());
}
else {
HXLINE( 129) this->classString(v);
@@ -326,24 +324,18 @@ HXLINE( 129) this->classString(v);
}
break;
case (int)7: {
-HXLINE( 130) ::hx::Class _g3 = _g->_hx_getObject(0).StaticCast< ::hx::Class >();
-HXDLIN( 130) {
-HXLINE( 131) int i1 = _hx_getEnumValueIndex(v);
-HXLINE( 132) {
-HXLINE( 132) ::String v10 = ::Std_obj::string(i1);
-HXDLIN( 132) {
-HXLINE( 132) ::StringBuf _this17 = this->buf;
-HXDLIN( 132) if (::hx::IsNotNull( _this17->charBuf )) {
-HXLINE( 132) _this17->flush();
- }
-HXDLIN( 132) if (::hx::IsNull( _this17->b )) {
-HXLINE( 132) _this17->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v10));
- }
- else {
-HXLINE( 132) ::Array< ::String > _this18 = _this17->b;
-HXDLIN( 132) _this18->push(::Std_obj::string(v10));
- }
- }
+HXLINE( 132) ::String v9 = ::Std_obj::string(_hx_getEnumValueIndex(v));
+HXDLIN( 132) {
+HXLINE( 132) ::StringBuf _this17 = this->buf;
+HXDLIN( 132) if (::hx::IsNotNull( _this17->charBuf )) {
+HXLINE( 132) _this17->flush();
+ }
+HXDLIN( 132) if (::hx::IsNull( _this17->b )) {
+HXLINE( 132) _this17->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v9));
+ }
+ else {
+HXLINE( 132) ::Array< ::String > _this18 = _this17->b;
+HXDLIN( 132) _this18->push(::Std_obj::string(v9));
}
}
}
@@ -354,7 +346,7 @@ HXDLIN( 86) if (::hx::IsNotNull( _this19->charBuf )) {
HXLINE( 86) _this19->flush();
}
HXDLIN( 86) if (::hx::IsNull( _this19->b )) {
-HXLINE( 86) _this19->b = ::Array_obj< ::String >::fromData( _hx_array_data_9fbcb301_6,1);
+HXLINE( 86) _this19->b = ::Array_obj< ::String >::fromData( _hx_array_data_27bf17a5_6,1);
}
else {
HXLINE( 86) _this19->b->push(HX_("\"???\"",45,2f,74,bd));
@@ -369,7 +361,7 @@ HXLINE( 86) _this19->b->push(HX_("\"???\"",45,2f,74,bd));
HX_DEFINE_DYNAMIC_FUNC2(JsonPrinter_obj,write,(void))
void JsonPrinter_obj::classString( ::Dynamic v){
- HX_STACKFRAME(&_hx_pos_b77b8280a0c8b7bd_158_classString)
+ HX_STACKFRAME(&_hx_pos_d3ea37de6dab7070_158_classString)
HXDLIN( 158) this->fieldsString(v,::Type_obj::getInstanceFields(::Type_obj::getClass(v)));
}
@@ -377,7 +369,7 @@ HXDLIN( 158) this->fieldsString(v,::Type_obj::getInstanceFields(::Type_obj::get
HX_DEFINE_DYNAMIC_FUNC1(JsonPrinter_obj,classString,(void))
void JsonPrinter_obj::fieldsString( ::Dynamic v,::Array< ::String > fields){
- HX_STACKFRAME(&_hx_pos_b77b8280a0c8b7bd_165_fieldsString)
+ HX_STACKFRAME(&_hx_pos_d3ea37de6dab7070_165_fieldsString)
HXLINE( 166) {
HXLINE( 166) ::StringBuf _this = this->buf;
HXDLIN( 166) {
@@ -391,11 +383,9 @@ HXLINE( 167) int len = fields->length;
HXLINE( 168) bool empty = true;
HXLINE( 169) {
HXLINE( 169) int _g = 0;
-HXDLIN( 169) int _g1 = len;
-HXDLIN( 169) while((_g < _g1)){
+HXDLIN( 169) while((_g < len)){
HXLINE( 169) _g = (_g + 1);
-HXDLIN( 169) int i = (_g - 1);
-HXLINE( 170) ::String f = fields->__get(i);
+HXLINE( 170) ::String f = fields->__get((_g - 1));
HXLINE( 171) ::Dynamic value = ::Reflect_obj::field(v,f);
HXLINE( 172) if (::Reflect_obj::isFunction(value)) {
HXLINE( 173) continue;
@@ -503,7 +493,7 @@ HXDLIN( 192) _this10->charBuf->push(125);
HX_DEFINE_DYNAMIC_FUNC2(JsonPrinter_obj,fieldsString,(void))
void JsonPrinter_obj::quote(::String s){
- HX_STACKFRAME(&_hx_pos_b77b8280a0c8b7bd_195_quote)
+ HX_STACKFRAME(&_hx_pos_d3ea37de6dab7070_195_quote)
HXLINE( 196) {
HXLINE( 196) ::StringBuf _this = this->buf;
HXDLIN( 196) {
@@ -517,10 +507,9 @@ HXLINE( 197) {
HXLINE( 197) int _g_offset = 0;
HXDLIN( 197) ::String _g_s = s;
HXDLIN( 197) while((_g_offset < _g_s.length)){
-HXLINE( 197) ::String s1 = _g_s;
-HXDLIN( 197) _g_offset = (_g_offset + 1);
+HXLINE( 197) _g_offset = (_g_offset + 1);
HXDLIN( 197) int index = (_g_offset - 1);
-HXDLIN( 197) int c = s1.cca(index);
+HXDLIN( 197) int c = _g_s.cca(index);
HXDLIN( 197) bool _hx_tmp;
HXDLIN( 197) if ((c >= 55296)) {
HXLINE( 197) _hx_tmp = (c <= 56319);
@@ -529,21 +518,20 @@ HXLINE( 197) _hx_tmp = (c <= 56319);
HXLINE( 197) _hx_tmp = false;
}
HXDLIN( 197) if (_hx_tmp) {
-HXLINE( 639) c = (((c - 55232) << 10) | (s1.cca((index + 1)) & 1023));
+HXLINE( 639) c = (((c - 55232) << 10) | (_g_s.cca((index + 1)) & 1023));
}
HXLINE( 197) int c1 = c;
HXDLIN( 197) if ((c1 >= 65536)) {
HXLINE( 197) _g_offset = (_g_offset + 1);
}
-HXDLIN( 197) int c2 = c1;
-HXLINE( 198) switch((int)(c2)){
+HXLINE( 198) switch((int)(c1)){
case (int)8: {
HXLINE( 210) ::StringBuf _this1 = this->buf;
HXDLIN( 210) if (::hx::IsNotNull( _this1->charBuf )) {
HXLINE( 210) _this1->flush();
}
HXDLIN( 210) if (::hx::IsNull( _this1->b )) {
-HXLINE( 210) _this1->b = ::Array_obj< ::String >::fromData( _hx_array_data_9fbcb301_12,1);
+HXLINE( 210) _this1->b = ::Array_obj< ::String >::fromData( _hx_array_data_27bf17a5_12,1);
}
else {
HXLINE( 210) _this1->b->push(HX_("\\b",86,50,00,00));
@@ -556,7 +544,7 @@ HXDLIN( 208) if (::hx::IsNotNull( _this2->charBuf )) {
HXLINE( 208) _this2->flush();
}
HXDLIN( 208) if (::hx::IsNull( _this2->b )) {
-HXLINE( 208) _this2->b = ::Array_obj< ::String >::fromData( _hx_array_data_9fbcb301_13,1);
+HXLINE( 208) _this2->b = ::Array_obj< ::String >::fromData( _hx_array_data_27bf17a5_13,1);
}
else {
HXLINE( 208) _this2->b->push(HX_("\\t",98,50,00,00));
@@ -569,7 +557,7 @@ HXDLIN( 204) if (::hx::IsNotNull( _this3->charBuf )) {
HXLINE( 204) _this3->flush();
}
HXDLIN( 204) if (::hx::IsNull( _this3->b )) {
-HXLINE( 204) _this3->b = ::Array_obj< ::String >::fromData( _hx_array_data_9fbcb301_14,1);
+HXLINE( 204) _this3->b = ::Array_obj< ::String >::fromData( _hx_array_data_27bf17a5_14,1);
}
else {
HXLINE( 204) _this3->b->push(HX_("\\n",92,50,00,00));
@@ -582,7 +570,7 @@ HXDLIN( 212) if (::hx::IsNotNull( _this4->charBuf )) {
HXLINE( 212) _this4->flush();
}
HXDLIN( 212) if (::hx::IsNull( _this4->b )) {
-HXLINE( 212) _this4->b = ::Array_obj< ::String >::fromData( _hx_array_data_9fbcb301_15,1);
+HXLINE( 212) _this4->b = ::Array_obj< ::String >::fromData( _hx_array_data_27bf17a5_15,1);
}
else {
HXLINE( 212) _this4->b->push(HX_("\\f",8a,50,00,00));
@@ -595,7 +583,7 @@ HXDLIN( 206) if (::hx::IsNotNull( _this5->charBuf )) {
HXLINE( 206) _this5->flush();
}
HXDLIN( 206) if (::hx::IsNull( _this5->b )) {
-HXLINE( 206) _this5->b = ::Array_obj< ::String >::fromData( _hx_array_data_9fbcb301_16,1);
+HXLINE( 206) _this5->b = ::Array_obj< ::String >::fromData( _hx_array_data_27bf17a5_16,1);
}
else {
HXLINE( 206) _this5->b->push(HX_("\\r",96,50,00,00));
@@ -608,7 +596,7 @@ HXDLIN( 200) if (::hx::IsNotNull( _this6->charBuf )) {
HXLINE( 200) _this6->flush();
}
HXDLIN( 200) if (::hx::IsNull( _this6->b )) {
-HXLINE( 200) _this6->b = ::Array_obj< ::String >::fromData( _hx_array_data_9fbcb301_17,1);
+HXLINE( 200) _this6->b = ::Array_obj< ::String >::fromData( _hx_array_data_27bf17a5_17,1);
}
else {
HXLINE( 200) _this6->b->push(HX_("\\\"",46,50,00,00));
@@ -621,7 +609,7 @@ HXDLIN( 202) if (::hx::IsNotNull( _this7->charBuf )) {
HXLINE( 202) _this7->flush();
}
HXDLIN( 202) if (::hx::IsNull( _this7->b )) {
-HXLINE( 202) _this7->b = ::Array_obj< ::String >::fromData( _hx_array_data_9fbcb301_18,1);
+HXLINE( 202) _this7->b = ::Array_obj< ::String >::fromData( _hx_array_data_27bf17a5_18,1);
}
else {
HXLINE( 202) _this7->b->push(HX_("\\\\",80,50,00,00));
@@ -630,8 +618,8 @@ HXLINE( 202) _this7->b->push(HX_("\\\\",80,50,00,00));
break;
default:{
HXLINE( 214) ::StringBuf _this8 = this->buf;
-HXDLIN( 214) if ((c2 >= 127)) {
-HXLINE( 214) ::String x = ::String::fromCharCode(c2);
+HXDLIN( 214) if ((c1 >= 127)) {
+HXLINE( 214) ::String x = ::String::fromCharCode(c1);
HXDLIN( 214) if (::hx::IsNotNull( _this8->charBuf )) {
HXLINE( 214) _this8->flush();
}
@@ -647,7 +635,7 @@ HXDLIN( 214) _this9->push(::Std_obj::string(x));
HXLINE( 214) if (::hx::IsNull( _this8->charBuf )) {
HXLINE( 214) _this8->charBuf = ::Array_obj< char >::__new();
}
-HXDLIN( 214) _this8->charBuf->push(c2);
+HXDLIN( 214) _this8->charBuf->push(c1);
}
}
}
@@ -668,8 +656,8 @@ HXDLIN( 217) _this10->charBuf->push(34);
HX_DEFINE_DYNAMIC_FUNC1(JsonPrinter_obj,quote,(void))
::String JsonPrinter_obj::print( ::Dynamic o, ::Dynamic replacer,::String space){
- HX_GC_STACKFRAME(&_hx_pos_b77b8280a0c8b7bd_44_print)
-HXLINE( 45) ::snikket::JsonPrinter printer = ::snikket::JsonPrinter_obj::__alloc( HX_CTX ,replacer,space);
+ HX_GC_STACKFRAME(&_hx_pos_d3ea37de6dab7070_44_print)
+HXLINE( 45) ::borogove::JsonPrinter printer = ::borogove::JsonPrinter_obj::__alloc( HX_CTX ,replacer,space);
HXLINE( 46) printer->write(HX_("",00,00,00,00),o);
HXLINE( 47) return printer->buf->toString();
}
@@ -685,7 +673,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC3(JsonPrinter_obj,print,return )
}
::hx::ObjectPtr< JsonPrinter_obj > JsonPrinter_obj::__alloc(::hx::Ctx *_hx_ctx, ::Dynamic replacer,::String space) {
- JsonPrinter_obj *__this = (JsonPrinter_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(JsonPrinter_obj), true, "snikket.JsonPrinter"));
+ JsonPrinter_obj *__this = (JsonPrinter_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(JsonPrinter_obj), true, "borogove.JsonPrinter"));
*(void **)__this = JsonPrinter_obj::_hx_vtable;
__this->__construct(replacer,space);
return __this;
@@ -817,7 +805,7 @@ void JsonPrinter_obj::__register()
JsonPrinter_obj _hx_dummy;
JsonPrinter_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.JsonPrinter",01,b3,bc,9f);
+ __mClass->mName = HX_("borogove.JsonPrinter",a5,17,bf,27);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -835,4 +823,4 @@ void JsonPrinter_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Message.cpp b/Sources/c_borogove/src/borogove/Message.cpp
new file mode 100644
index 0000000..c9c8291
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Message.cpp
@@ -0,0 +1,1229 @@
+// 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_StringTools
+#include <StringTools.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_CustomEmojiReaction
+#include <borogove/CustomEmojiReaction.h>
+#endif
+#ifndef INCLUDED_borogove_Date
+#include <borogove/Date.h>
+#endif
+#ifndef INCLUDED_borogove_EmojiUtil
+#include <borogove/EmojiUtil.h>
+#endif
+#ifndef INCLUDED_borogove_EncryptionInfo
+#include <borogove/EncryptionInfo.h>
+#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.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_ModerationAction
+#include <borogove/ModerationAction.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_Log
+#include <haxe/Log.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_5c42425238de6f01_43_new,"borogove.Message","new",0x751d0d4c,"borogove.Message.new","borogove/Message.hx",43,0x7a818ae5)
+HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_51_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",51,0x7a818ae5)
+HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_179_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",179,0x7a818ae5)
+HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_180_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",180,0x7a818ae5)
+HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_181_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",181,0x7a818ae5)
+HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_182_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",182,0x7a818ae5)
+HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_186_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",186,0x7a818ae5)
+namespace borogove{
+
+void Message_obj::__construct(::String chatId,::String senderId,::String threadId, ::borogove::MessageStanza parsed, ::borogove::EncryptionInfo encryption){
+ HX_STACKFRAME(&_hx_pos_5c42425238de6f01_43_new)
+HXLINE( 44) this->chatId = chatId;
+HXLINE( 45) this->senderId = senderId;
+HXLINE( 46) this->threadId = threadId;
+HXLINE( 47) this->parsed = parsed;
+HXLINE( 48) this->encryption = encryption;
+ }
+
+Dynamic Message_obj::__CreateEmpty() { return new Message_obj; }
+
+void *Message_obj::_hx_vtable = 0;
+
+Dynamic Message_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Message_obj > _hx_result = new Message_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4]);
+ return _hx_result;
+}
+
+bool Message_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x7f796532;
+}
+
+ ::borogove::Message Message_obj::fromStanza( ::borogove::Stanza stanza, ::borogove::JID localJid, ::Dynamic addContext, ::borogove::EncryptionInfo encryptionInfo){
+ HX_GC_STACKFRAME(&_hx_pos_5c42425238de6f01_51_fromStanza)
+HXDLIN( 51) 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_179_fromStanza)
+HXLINE( 179) 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_180_fromStanza)
+HXLINE( 180) ::String _hx_tmp = x->asString();
+HXDLIN( 180) 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_181_fromStanza)
+HXLINE( 181) 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_182_fromStanza)
+HXLINE( 182) ::String _hx_tmp = x->asString();
+HXDLIN( 182) return ::Reflect_obj::compare(_hx_tmp,y->asString());
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXLINE( 52) ::String fromAttr = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
+HXLINE( 53) ::String from;
+HXDLIN( 53) if (::hx::IsNull( fromAttr )) {
+HXLINE( 53) from = localJid->domain;
+ }
+ else {
+HXLINE( 53) from = fromAttr;
+ }
+HXLINE( 54) ::String localId = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) );
+HXLINE( 55) if (::hx::IsNull( encryptionInfo )) {
+HXLINE( 56) encryptionInfo = ::borogove::EncryptionInfo_obj::fromStanza(stanza);
+ }
+HXLINE( 59) if ((( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
+HXLINE( 60) return ::borogove::Message_obj::__alloc( HX_CTX ,from,from,null(),::borogove::MessageStanza_obj::ErrorMessageStanza(localId,stanza),encryptionInfo);
+ }
+HXLINE( 63) ::borogove::ChatMessageBuilder msg = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
+HXLINE( 64) msg->stanza = stanza;
+HXLINE( 65) msg->timestamp = stanza->findText(HX_("{urn:xmpp:delay}delay@stamp",cb,88,c4,86));
+HXLINE( 66) msg->threadId = stanza->getChildText(HX_("thread",ca,7a,b9,8e),null());
+HXLINE( 67) msg->lang = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("xml:lang",f1,b1,be,5f))) );
+HXLINE( 68) msg->text = stanza->getChildText(HX_("body",a2,7a,1b,41),null());
+HXLINE( 69) bool _hx_tmp;
+HXDLIN( 69) if (::hx::IsNotNull( msg->text )) {
+HXLINE( 69) if (::hx::IsNotNull( msg->lang )) {
+HXLINE( 69) _hx_tmp = (msg->lang == HX_("",00,00,00,00));
+ }
+ else {
+HXLINE( 69) _hx_tmp = true;
+ }
+ }
+ else {
+HXLINE( 69) _hx_tmp = false;
+ }
+HXDLIN( 69) if (_hx_tmp) {
+HXLINE( 70) ::borogove::Stanza tmp = stanza->getChild(HX_("body",a2,7a,1b,41),null());
+HXDLIN( 70) ::String _hx_tmp1;
+HXDLIN( 70) if (::hx::IsNotNull( tmp )) {
+HXLINE( 70) _hx_tmp1 = ( (::String)(::Reflect_obj::field(tmp->attr,HX_("xml:lang",f1,b1,be,5f))) );
+ }
+ else {
+HXLINE( 70) _hx_tmp1 = null();
+ }
+HXDLIN( 70) msg->lang = _hx_tmp1;
+ }
+HXLINE( 72) msg->from = ::borogove::JID_obj::parse(from);
+HXLINE( 73) bool isGroupchat = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("groupchat",97,1d,c8,e5));
+HXLINE( 74) int _hx_tmp2;
+HXDLIN( 74) if (isGroupchat) {
+HXLINE( 74) _hx_tmp2 = 2;
+ }
+ else {
+HXLINE( 74) _hx_tmp2 = 0;
+ }
+HXDLIN( 74) msg->type = _hx_tmp2;
+HXLINE( 75) bool _hx_tmp3;
+HXDLIN( 75) if ((msg->type == 0)) {
+HXLINE( 75) _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( 75) _hx_tmp3 = false;
+ }
+HXDLIN( 75) if (_hx_tmp3) {
+HXLINE( 76) msg->type = 3;
+ }
+HXLINE( 78) ::borogove::JID tmp1;
+HXDLIN( 78) bool tmp2;
+HXDLIN( 78) if ((msg->type != 2)) {
+HXLINE( 78) tmp2 = (msg->type == 3);
+ }
+ else {
+HXLINE( 78) tmp2 = true;
+ }
+HXDLIN( 78) if (tmp2) {
+HXLINE( 78) tmp1 = msg->from;
+ }
+ else {
+HXLINE( 78) ::borogove::JID tmp3 = msg->from;
+HXDLIN( 78) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 78) tmp1 = tmp3->asBare();
+ }
+ else {
+HXLINE( 78) tmp1 = null();
+ }
+ }
+HXDLIN( 78) ::String _hx_tmp4;
+HXDLIN( 78) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 78) _hx_tmp4 = tmp1->asString();
+ }
+ else {
+HXLINE( 78) _hx_tmp4 = null();
+ }
+HXDLIN( 78) msg->senderId = _hx_tmp4;
+HXLINE( 79) ::borogove::JID localJidBare = localJid->asBare();
+HXLINE( 80) ::String domain = localJid->domain;
+HXLINE( 81) ::String to = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) );
+HXLINE( 82) ::borogove::JID _hx_tmp5;
+HXDLIN( 82) if (::hx::IsNull( to )) {
+HXLINE( 82) _hx_tmp5 = localJid;
+ }
+ else {
+HXLINE( 82) _hx_tmp5 = ::borogove::JID_obj::parse(to);
+ }
+HXDLIN( 82) msg->to = _hx_tmp5;
+HXLINE( 83) msg->encryption = encryptionInfo;
+HXLINE( 85) bool _hx_tmp6;
+HXDLIN( 85) if (::hx::IsNotNull( msg->from )) {
+HXLINE( 85) _hx_tmp6 = msg->from->equals(localJidBare);
+ }
+ else {
+HXLINE( 85) _hx_tmp6 = false;
+ }
+HXDLIN( 85) if (_hx_tmp6) {
+HXLINE( 86) ::borogove::Stanza carbon = stanza->getChild(HX_("received",21,45,fd,e2),HX_("urn:xmpp:carbons:2",02,86,9e,df));
+HXLINE( 87) if (::hx::IsNull( carbon )) {
+HXLINE( 87) carbon = stanza->getChild(HX_("sent",58,8d,50,4c),HX_("urn:xmpp:carbons:2",02,86,9e,df));
+ }
+HXLINE( 88) if (::hx::IsNotNull( carbon )) {
+HXLINE( 89) ::borogove::Stanza fwd = carbon->getChild(HX_("forwarded",64,f5,9a,17),HX_("urn:xmpp:forward:0",1f,ec,b0,d1));
+HXLINE( 90) if (::hx::IsNotNull( fwd )) {
+HXLINE( 90) ::Dynamic _gtmp = null();
+HXDLIN( 90) stanza = fwd->getFirstChild();
+HXDLIN( 90) addContext = _gtmp;
+HXLINE( 1) continue;
+ }
+ }
+ }
+HXLINE( 94) if (::hx::IsNotNull( localId )) {
+HXLINE( 94) msg->localId = localId;
+ }
+HXLINE( 95) ::borogove::Stanza altServerId = null();
+HXLINE( 96) {
+HXLINE( 96) int _g = 0;
+HXDLIN( 96) ::Array< ::Dynamic> _g1 = stanza->allTags(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
+HXDLIN( 96) while((_g < _g1->length)){
+HXLINE( 96) ::borogove::Stanza stanzaId = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN( 96) _g = (_g + 1);
+HXLINE( 97) ::String id = ( (::String)(::Reflect_obj::field(stanzaId->attr,HX_("id",db,5b,00,00))) );
+HXLINE( 98) bool _hx_tmp7;
+HXDLIN( 98) bool _hx_tmp8;
+HXDLIN( 98) if ((( (::String)(::Reflect_obj::field(stanzaId->attr,HX_("by",d7,55,00,00))) ) != domain)) {
+HXLINE( 98) ::String _hx_tmp9 = ( (::String)(::Reflect_obj::field(stanzaId->attr,HX_("by",d7,55,00,00))) );
+HXDLIN( 98) _hx_tmp8 = (_hx_tmp9 == localJidBare->asString());
+ }
+ else {
+HXLINE( 98) _hx_tmp8 = true;
+ }
+HXDLIN( 98) if (_hx_tmp8) {
+HXLINE( 98) _hx_tmp7 = ::hx::IsNotNull( id );
+ }
+ else {
+HXLINE( 98) _hx_tmp7 = false;
+ }
+HXDLIN( 98) if (_hx_tmp7) {
+HXLINE( 99) msg->serverIdBy = localJidBare->asString();
+HXLINE( 100) msg->serverId = id;
+HXLINE( 101) goto _hx_goto_2;
+ }
+HXLINE( 103) altServerId = stanzaId;
+ }
+ _hx_goto_2:;
+ }
+HXLINE( 105) bool _hx_tmp10;
+HXDLIN( 105) bool _hx_tmp11;
+HXDLIN( 105) if (::hx::IsNull( msg->serverId )) {
+HXLINE( 105) _hx_tmp11 = ::hx::IsNotNull( altServerId );
+ }
+ else {
+HXLINE( 105) _hx_tmp11 = false;
+ }
+HXDLIN( 105) if (_hx_tmp11) {
+HXLINE( 105) _hx_tmp10 = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) != HX_("error",c8,cb,29,73));
+ }
+ else {
+HXLINE( 105) _hx_tmp10 = false;
+ }
+HXDLIN( 105) if (_hx_tmp10) {
+HXLINE( 106) ::String id1 = ( (::String)(::Reflect_obj::field(altServerId->attr,HX_("id",db,5b,00,00))) );
+HXLINE( 107) if (::hx::IsNotNull( id1 )) {
+HXLINE( 108) msg->serverId = id1;
+HXLINE( 109) msg->serverIdBy = ( (::String)(::Reflect_obj::field(altServerId->attr,HX_("by",d7,55,00,00))) );
+ }
+ }
+HXLINE( 112) bool _hx_tmp12;
+HXDLIN( 112) if (::hx::IsNotNull( msg->serverIdBy )) {
+HXLINE( 112) ::String msg1 = msg->serverIdBy;
+HXDLIN( 112) _hx_tmp12 = (msg1 != localJid->asBare()->asString());
+ }
+ else {
+HXLINE( 112) _hx_tmp12 = false;
+ }
+HXDLIN( 112) if (_hx_tmp12) {
+HXLINE( 113) msg->replyId = msg->serverId;
+ }
+ else {
+HXLINE( 114) ::String msg2 = msg->serverIdBy;
+HXDLIN( 114) if ((msg2 == localJid->asBare()->asString())) {
+HXLINE( 115) msg->replyId = msg->localId;
+ }
+ }
+HXLINE( 117) int _hx_tmp13;
+HXDLIN( 117) bool _hx_tmp14;
+HXDLIN( 117) if (::hx::IsNotNull( msg->to )) {
+HXLINE( 117) _hx_tmp14 = msg->to->asBare()->equals(localJidBare);
+ }
+ else {
+HXLINE( 117) _hx_tmp14 = true;
+ }
+HXDLIN( 117) if (_hx_tmp14) {
+HXLINE( 117) _hx_tmp13 = 0;
+ }
+ else {
+HXLINE( 117) _hx_tmp13 = 1;
+ }
+HXDLIN( 117) msg->direction = _hx_tmp13;
+HXLINE( 118) bool _hx_tmp15;
+HXDLIN( 118) if (::hx::IsNotNull( msg->from )) {
+HXLINE( 118) _hx_tmp15 = msg->from->asBare()->equals(localJidBare);
+ }
+ else {
+HXLINE( 118) _hx_tmp15 = false;
+ }
+HXDLIN( 118) if (_hx_tmp15) {
+HXLINE( 118) msg->direction = 1;
+ }
+HXLINE( 119) int _hx_tmp16;
+HXDLIN( 119) if ((msg->direction == 0)) {
+HXLINE( 119) _hx_tmp16 = 2;
+ }
+ else {
+HXLINE( 119) _hx_tmp16 = 1;
+ }
+HXDLIN( 119) msg->status = _hx_tmp16;
+HXLINE( 121) ::borogove::Stanza mucDirectInvite = stanza->getChild(HX_("x",78,00,00,00),HX_("jabber:x:conference",b4,78,c2,fc));
+HXLINE( 122) if (::hx::IsNotNull( mucDirectInvite )) {
+HXLINE( 123) ::String mucJid = ( (::String)(::Reflect_obj::field(mucDirectInvite->attr,HX_("jid",c5,ca,50,00))) );
+HXLINE( 124) if (::hx::IsNotNull( mucJid )) {
+HXLINE( 125) ::String _hx_tmp17 = ( (::String)(::Reflect_obj::field(mucDirectInvite->attr,HX_("thread",ca,7a,b9,8e))) );
+HXDLIN( 125) ::String msg3 = msg->serverId;
+HXDLIN( 125) ::String msg4 = msg->serverIdBy;
+HXDLIN( 125) ::String _hx_tmp18 = ( (::String)(::Reflect_obj::field(mucDirectInvite->attr,HX_("reason",c4,0f,9d,fc))) );
+HXDLIN( 125) return ::borogove::Message_obj::__alloc( HX_CTX ,mucJid,from,_hx_tmp17,::borogove::MessageStanza_obj::MucInviteStanza(msg3,msg4,_hx_tmp18,( (::String)(::Reflect_obj::field(mucDirectInvite->attr,HX_("password",1b,23,d0,48))) )),encryptionInfo);
+ }
+ }
+HXLINE( 129) ::borogove::Stanza mucUser = stanza->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+HXLINE( 130) ::borogove::Stanza mucInvite;
+HXDLIN( 130) if (::hx::IsNotNull( mucUser )) {
+HXLINE( 130) mucInvite = mucUser->getChild(HX_("invite",c9,f1,db,9f),null());
+ }
+ else {
+HXLINE( 130) mucInvite = null();
+ }
+HXLINE( 131) if (::hx::IsNotNull( mucInvite )) {
+HXLINE( 132) ::borogove::Stanza tmp4 = mucInvite->getChild(HX_("continue",67,e0,c8,31),null());
+HXDLIN( 132) ::Dynamic tmp5;
+HXDLIN( 132) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 132) tmp5 = tmp4->attr;
+ }
+ else {
+HXLINE( 132) tmp5 = null();
+ }
+HXDLIN( 132) ::String threadId;
+HXDLIN( 132) if (::hx::IsNotNull( tmp5 )) {
+HXLINE( 132) threadId = ( (::String)(::Reflect_obj::field(tmp5,HX_("thread",ca,7a,b9,8e))) );
+ }
+ else {
+HXLINE( 132) threadId = null();
+ }
+HXLINE( 133) ::String reason = mucInvite->getChildText(HX_("reason",c4,0f,9d,fc),null());
+HXLINE( 134) ::String password = mucInvite->getChildText(HX_("password",1b,23,d0,48),null());
+HXLINE( 136) ::String _hx_tmp19;
+HXDLIN( 136) ::String tmp6 = ( (::String)(::Reflect_obj::field(mucInvite->attr,HX_("from",6a,a5,c2,43))) );
+HXDLIN( 136) if (::hx::IsNotNull( tmp6 )) {
+HXLINE( 136) _hx_tmp19 = tmp6;
+ }
+ else {
+HXLINE( 136) _hx_tmp19 = from;
+ }
+HXDLIN( 136) return ::borogove::Message_obj::__alloc( HX_CTX ,from,_hx_tmp19,threadId,::borogove::MessageStanza_obj::MucInviteStanza(msg->serverId,msg->serverIdBy,reason,password),encryptionInfo);
+ }
+HXLINE( 139) ::haxe::ds::StringMap recipients = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 140) ::haxe::ds::StringMap replyTo = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 141) if (::hx::IsNotNull( msg->to )) {
+HXLINE( 142) ::String k = msg->to->asBare()->asString();
+HXDLIN( 142) recipients->set(k,true);
+ }
+HXLINE( 144) ::borogove::JID from1 = msg->from;
+HXLINE( 145) bool _hx_tmp20;
+HXDLIN( 145) if ((msg->direction == 0)) {
+HXLINE( 145) _hx_tmp20 = ::hx::IsNotNull( from1 );
+ }
+ else {
+HXLINE( 145) _hx_tmp20 = false;
+ }
+HXDLIN( 145) if (_hx_tmp20) {
+HXLINE( 146) ::String k1;
+HXDLIN( 146) if (isGroupchat) {
+HXLINE( 146) k1 = from1->asBare()->asString();
+ }
+ else {
+HXLINE( 146) k1 = from1->asString();
+ }
+HXDLIN( 146) replyTo->set(k1,true);
+ }
+ else {
+HXLINE( 147) if (::hx::IsNotNull( msg->to )) {
+HXLINE( 148) ::String k2 = msg->to->asString();
+HXDLIN( 148) replyTo->set(k2,true);
+ }
+ }
+HXLINE( 151) ::borogove::Stanza addresses = stanza->getChild(HX_("addresses",22,9f,12,8c),HX_("http://jabber.org/protocol/address",c0,fd,09,ed));
+HXLINE( 152) bool anyExtendedReplyTo = false;
+HXLINE( 153) if (::hx::IsNotNull( addresses )) {
+HXLINE( 154) int _g2 = 0;
+HXDLIN( 154) ::Array< ::Dynamic> _g3 = addresses->allTags(HX_("address",b4,71,0b,9d),null());
+HXDLIN( 154) while((_g2 < _g3->length)){
+HXLINE( 154) ::borogove::Stanza address = _g3->__get(_g2).StaticCast< ::borogove::Stanza >();
+HXDLIN( 154) _g2 = (_g2 + 1);
+HXLINE( 155) ::String jid = ( (::String)(::Reflect_obj::field(address->attr,HX_("jid",c5,ca,50,00))) );
+HXLINE( 156) if ((( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) == HX_("noreply",49,1d,9c,26))) {
+HXLINE( 157) replyTo->clear();
+ }
+ else {
+HXLINE( 158) if (::hx::IsNull( jid )) {
+HXLINE( 159) ::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),159)));
+HXLINE( 160) ::String _hx_tmp21 = msg->chatId();
+HXDLIN( 160) ::String _hx_tmp22 = msg->get_senderId();
+HXDLIN( 160) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp21,_hx_tmp22,msg->threadId,::borogove::MessageStanza_obj::UnknownMessageStanza(stanza),encryptionInfo);
+ }
+ else {
+HXLINE( 161) bool _hx_tmp23;
+HXDLIN( 161) if ((( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) != HX_("to",7b,65,00,00))) {
+HXLINE( 161) _hx_tmp23 = (( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) == HX_("cc",a0,56,00,00));
+ }
+ else {
+HXLINE( 161) _hx_tmp23 = true;
+ }
+HXDLIN( 161) if (_hx_tmp23) {
+HXLINE( 162) {
+HXLINE( 162) ::String k3 = ::borogove::JID_obj::parse(jid)->asBare()->asString();
+HXDLIN( 162) recipients->set(k3,true);
+ }
+HXLINE( 163) if (!(anyExtendedReplyTo)) {
+HXLINE( 163) ::String k4 = ::borogove::JID_obj::parse(jid)->asString();
+HXDLIN( 163) replyTo->set(k4,true);
+ }
+ }
+ else {
+HXLINE( 164) bool _hx_tmp24;
+HXDLIN( 164) if ((( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) != HX_("replyto",25,8d,3a,ab))) {
+HXLINE( 164) _hx_tmp24 = (( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) == HX_("replyroom",45,d4,81,d7));
+ }
+ else {
+HXLINE( 164) _hx_tmp24 = true;
+ }
+HXDLIN( 164) if (_hx_tmp24) {
+HXLINE( 165) if (!(anyExtendedReplyTo)) {
+HXLINE( 166) replyTo->clear();
+HXLINE( 167) anyExtendedReplyTo = true;
+ }
+HXLINE( 169) {
+HXLINE( 169) ::String k5 = ::borogove::JID_obj::parse(jid)->asString();
+HXDLIN( 169) replyTo->set(k5,true);
+ }
+ }
+ else {
+HXLINE( 170) if ((( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) == HX_("ofrom",59,09,3d,2d))) {
+HXLINE( 171) ::borogove::JID tmp7 = msg->from;
+HXDLIN( 171) ::String _hx_tmp25;
+HXDLIN( 171) if (::hx::IsNotNull( tmp7 )) {
+HXLINE( 171) _hx_tmp25 = tmp7->domain;
+ }
+ else {
+HXLINE( 171) _hx_tmp25 = null();
+ }
+HXDLIN( 171) if ((::borogove::JID_obj::parse(jid)->domain == _hx_tmp25)) {
+HXLINE( 173) msg->senderId = ::borogove::JID_obj::parse(jid)->asBare()->asString();
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+HXLINE( 179) ::Array< ::Dynamic> _g4 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 179) ::Dynamic x = ::Dynamic(new _hx_Closure_0(recipients))();
+HXDLIN( 179) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 179) _g4->push(::borogove::JID_obj::parse(( (::String)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )));
+ }
+HXDLIN( 179) msg->recipients = _g4;
+HXLINE( 180) msg->recipients->sort( ::Dynamic(new _hx_Closure_1()));
+HXLINE( 181) ::Array< ::Dynamic> _g5 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 181) ::Dynamic x1 = ::Dynamic(new _hx_Closure_2(replyTo))();
+HXDLIN( 181) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 181) _g5->push(::borogove::JID_obj::parse(( (::String)(x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )));
+ }
+HXDLIN( 181) msg->replyTo = _g5;
+HXLINE( 182) msg->replyTo->sort( ::Dynamic(new _hx_Closure_3()));
+HXLINE( 184) ::borogove::JID msgFrom = msg->from;
+HXLINE( 186) bool _hx_tmp26;
+HXDLIN( 186) bool _hx_tmp27;
+HXDLIN( 186) if ((msg->direction == 0)) {
+HXLINE( 186) _hx_tmp27 = ::hx::IsNotNull( msgFrom );
+ }
+ else {
+HXLINE( 186) _hx_tmp27 = false;
+ }
+HXDLIN( 186) if (_hx_tmp27) {
+ 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_186_fromStanza)
+HXLINE( 186) ::borogove::JID f = r->asBare();
+HXDLIN( 186) return f->equals(msgFrom->asBare());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 186) ::Array< ::Dynamic> it = msg->replyTo;
+HXDLIN( 186) ::Dynamic f = ::Dynamic(new _hx_Closure_4(msgFrom));
+HXDLIN( 186) ::borogove::JID result = null();
+HXDLIN( 186) {
+HXLINE( 186) int _g6 = 0;
+HXDLIN( 186) while((_g6 < it->length)){
+HXLINE( 186) ::borogove::JID v = it->__get(_g6).StaticCast< ::borogove::JID >();
+HXDLIN( 186) _g6 = (_g6 + 1);
+HXDLIN( 186) if (( (bool)(f(v)) )) {
+HXLINE( 71) result = v;
+HXLINE( 186) goto _hx_goto_6;
+ }
+ }
+ _hx_goto_6:;
+ }
+HXDLIN( 186) _hx_tmp26 = ::hx::IsNull( result );
+ }
+ else {
+HXLINE( 186) _hx_tmp26 = false;
+ }
+HXDLIN( 186) if (_hx_tmp26) {
+HXLINE( 187) ::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),187)));
+HXLINE( 188) ::String _hx_tmp28 = msg->chatId();
+HXDLIN( 188) ::String _hx_tmp29 = msg->get_senderId();
+HXDLIN( 188) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp28,_hx_tmp29,msg->threadId,::borogove::MessageStanza_obj::UnknownMessageStanza(stanza),encryptionInfo);
+ }
+HXLINE( 191) if (::hx::IsNotNull( addContext )) {
+HXLINE( 191) msg = ( ( ::borogove::ChatMessageBuilder)(addContext(msg,stanza)) );
+ }
+HXLINE( 192) ::String timestamp;
+HXDLIN( 192) ::String tmp8 = msg->timestamp;
+HXDLIN( 192) if (::hx::IsNotNull( tmp8 )) {
+HXLINE( 192) timestamp = tmp8;
+ }
+ else {
+HXLINE( 192) timestamp = ::borogove::Date_obj::format(::Date_obj::now());
+ }
+HXLINE( 193) msg->timestamp = timestamp;
+HXLINE( 195) ::borogove::Stanza reactionsEl = stanza->getChild(HX_("reactions",aa,cc,95,e7),HX_("urn:xmpp:reactions:0",44,fb,42,53));
+HXLINE( 196) if (::hx::IsNotNull( reactionsEl )) {
+HXLINE( 198) ::Array< ::Dynamic> _this = reactionsEl->allTags(HX_("reaction",a9,e7,b4,f6),null());
+HXDLIN( 198) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 198) {
+HXLINE( 198) int _g7 = 0;
+HXDLIN( 198) int _g8 = _this->length;
+HXDLIN( 198) while((_g7 < _g8)){
+HXLINE( 198) _g7 = (_g7 + 1);
+HXDLIN( 198) int i = (_g7 - 1);
+HXDLIN( 198) {
+HXLINE( 198) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
+HXDLIN( 198) result1->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXLINE( 199) ::String reactionId = ( (::String)(::Reflect_obj::field(reactionsEl->attr,HX_("id",db,5b,00,00))) );
+HXLINE( 200) if (::hx::IsNotNull( reactionId )) {
+HXLINE( 201) ::String _hx_tmp30 = msg->chatId();
+HXDLIN( 201) ::String _hx_tmp31 = msg->get_senderId();
+HXDLIN( 201) ::String msg5 = msg->threadId;
+HXLINE( 202) ::String _hx_tmp32;
+HXDLIN( 202) ::String tmp9 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) );
+HXDLIN( 202) if (::hx::IsNotNull( tmp9 )) {
+HXLINE( 202) _hx_tmp32 = tmp9;
+ }
+ else {
+HXLINE( 202) _hx_tmp32 = ::borogove::ID_obj::_hx_long();
+ }
+HXLINE( 203) ::String _hx_tmp33;
+HXDLIN( 203) if (isGroupchat) {
+HXLINE( 203) _hx_tmp33 = reactionId;
+ }
+ else {
+HXLINE( 203) _hx_tmp33 = null();
+ }
+HXLINE( 204) ::String _hx_tmp34;
+HXDLIN( 204) if (isGroupchat) {
+HXLINE( 204) _hx_tmp34 = msg->chatId();
+ }
+ else {
+HXLINE( 204) _hx_tmp34 = null();
+ }
+HXLINE( 205) ::String _hx_tmp35;
+HXDLIN( 205) if (isGroupchat) {
+HXLINE( 205) _hx_tmp35 = null();
+ }
+ else {
+HXLINE( 205) _hx_tmp35 = reactionId;
+ }
+HXLINE( 206) ::String _hx_tmp36 = msg->chatId();
+HXLINE( 207) ::String _hx_tmp37 = msg->get_senderId();
+HXLINE( 209) ::Array< ::Dynamic> result2 = ::Array_obj< ::Dynamic>::__new(result1->length);
+HXDLIN( 209) {
+HXLINE( 209) int _g9 = 0;
+HXDLIN( 209) int _g10 = result1->length;
+HXDLIN( 209) while((_g9 < _g10)){
+HXLINE( 209) _g9 = (_g9 + 1);
+HXDLIN( 209) int i1 = (_g9 - 1);
+HXDLIN( 209) {
+HXLINE( 209) ::String text = ( (::String)(_hx_array_unsafe_get(result1,i1)) );
+HXDLIN( 209) ::borogove::Reaction inValue1 = ::borogove::Reaction_obj::__alloc( HX_CTX ,msg->get_senderId(),timestamp,text,msg->localId,null());
+HXDLIN( 209) result2->__unsafe_set(i1,inValue1);
+ }
+ }
+ }
+HXLINE( 201) 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,_hx_tmp37,timestamp,result2,0)),encryptionInfo);
+ }
+ }
+HXLINE( 215) {
+HXLINE( 215) int _g11 = 0;
+HXDLIN( 215) ::Array< ::Dynamic> _g12 = stanza->allTags(HX_("reference",cb,07,c5,5a),HX_("urn:xmpp:reference:0",a5,00,10,5d));
+HXDLIN( 215) while((_g11 < _g12->length)){
+HXLINE( 215) ::borogove::Stanza ref = _g12->__get(_g11).StaticCast< ::borogove::Stanza >();
+HXDLIN( 215) _g11 = (_g11 + 1);
+HXLINE( 216) bool _hx_tmp38;
+HXDLIN( 216) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(ref->attr,HX_("begin",29,ea,55,b0))) ) )) {
+HXLINE( 216) _hx_tmp38 = ::hx::IsNull( ( (::String)(::Reflect_obj::field(ref->attr,HX_("end",db,03,4d,00))) ) );
+ }
+ else {
+HXLINE( 216) _hx_tmp38 = false;
+ }
+HXDLIN( 216) if (_hx_tmp38) {
+HXLINE( 217) ::borogove::Stanza sims = ref->getChild(HX_("media-sharing",33,1c,0a,3d),HX_("urn:xmpp:sims:1",4f,1c,49,62));
+HXLINE( 218) if (::hx::IsNotNull( sims )) {
+HXLINE( 218) msg->attachSims(sims);
+ }
+ }
+ }
+ }
+HXLINE( 222) {
+HXLINE( 222) int _g13 = 0;
+HXDLIN( 222) ::Array< ::Dynamic> _g14 = stanza->allTags(HX_("media-sharing",33,1c,0a,3d),HX_("urn:xmpp:sims:1",4f,1c,49,62));
+HXDLIN( 222) while((_g13 < _g14->length)){
+HXLINE( 222) ::borogove::Stanza sims1 = _g14->__get(_g13).StaticCast< ::borogove::Stanza >();
+HXDLIN( 222) _g13 = (_g13 + 1);
+HXLINE( 223) msg->attachSims(sims1);
+ }
+ }
+HXLINE( 226) ::borogove::Stanza jmi = stanza->getChild(null(),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 227) bool _hx_tmp39;
+HXDLIN( 227) if (::hx::IsNotNull( jmi )) {
+HXLINE( 227) _hx_tmp39 = (jmi->name != HX_("accept",08,93,06,0b));
+ }
+ else {
+HXLINE( 227) _hx_tmp39 = false;
+ }
+HXDLIN( 227) if (_hx_tmp39) {
+HXLINE( 228) msg->type = 1;
+HXLINE( 229) msg->payloads->push(jmi);
+HXLINE( 230) if (::hx::IsNull( msg->text )) {
+HXLINE( 230) msg->text = (HX_("call ",c2,71,1b,41) + jmi->name);
+ }
+HXLINE( 231) if ((jmi->name != HX_("propose",fe,fe,e9,f9))) {
+HXLINE( 232) msg->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,msg->build());
+ }
+HXLINE( 235) msg->localId = ( (::String)(::Reflect_obj::field(jmi->attr,HX_("id",db,5b,00,00))) );
+ }
+HXLINE( 238) ::borogove::Stanza retract = stanza->getChild(HX_("replace",34,48,28,ab),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5));
+HXLINE( 239) ::borogove::Stanza fasten = stanza->getChild(HX_("apply-to",3a,9e,dd,24),HX_("urn:xmpp:fasten:0",17,f4,ed,3d));
+HXLINE( 240) ::borogove::Stanza moderated;
+HXDLIN( 240) ::borogove::Stanza tmp10;
+HXDLIN( 240) if (::hx::IsNotNull( retract )) {
+HXLINE( 240) tmp10 = retract->getChild(HX_("moderated",41,37,3b,22),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5));
+ }
+ else {
+HXLINE( 240) tmp10 = null();
+ }
+HXDLIN( 240) if (::hx::IsNotNull( tmp10 )) {
+HXLINE( 240) moderated = tmp10;
+ }
+ else {
+HXLINE( 240) if (::hx::IsNotNull( fasten )) {
+HXLINE( 240) moderated = fasten->getChild(HX_("moderated",41,37,3b,22),HX_("urn:xmpp:message-moderate:0",5b,30,1a,b9));
+ }
+ else {
+HXLINE( 240) moderated = null();
+ }
+ }
+HXLINE( 241) ::String moderateServerId;
+HXDLIN( 241) ::Dynamic tmp11;
+HXDLIN( 241) if (::hx::IsNotNull( retract )) {
+HXLINE( 241) tmp11 = retract->attr;
+ }
+ else {
+HXLINE( 241) tmp11 = null();
+ }
+HXDLIN( 241) ::String tmp12;
+HXDLIN( 241) if (::hx::IsNotNull( tmp11 )) {
+HXLINE( 241) tmp12 = ( (::String)(::Reflect_obj::field(tmp11,HX_("id",db,5b,00,00))) );
+ }
+ else {
+HXLINE( 241) tmp12 = null();
+ }
+HXDLIN( 241) if (::hx::IsNotNull( tmp12 )) {
+HXLINE( 241) moderateServerId = tmp12;
+ }
+ else {
+HXLINE( 241) ::Dynamic tmp13;
+HXDLIN( 241) if (::hx::IsNotNull( fasten )) {
+HXLINE( 241) tmp13 = fasten->attr;
+ }
+ else {
+HXLINE( 241) tmp13 = null();
+ }
+HXDLIN( 241) if (::hx::IsNotNull( tmp13 )) {
+HXLINE( 241) moderateServerId = ( (::String)(::Reflect_obj::field(tmp13,HX_("id",db,5b,00,00))) );
+ }
+ else {
+HXLINE( 241) moderateServerId = null();
+ }
+ }
+HXLINE( 242) bool _hx_tmp40;
+HXDLIN( 242) bool _hx_tmp41;
+HXDLIN( 242) bool _hx_tmp42;
+HXDLIN( 242) bool _hx_tmp43;
+HXDLIN( 242) bool _hx_tmp44;
+HXDLIN( 242) if (::hx::IsNotNull( moderated )) {
+HXLINE( 242) _hx_tmp44 = ::hx::IsNotNull( moderateServerId );
+ }
+ else {
+HXLINE( 242) _hx_tmp44 = false;
+ }
+HXDLIN( 242) if (_hx_tmp44) {
+HXLINE( 242) _hx_tmp43 = isGroupchat;
+ }
+ else {
+HXLINE( 242) _hx_tmp43 = false;
+ }
+HXDLIN( 242) if (_hx_tmp43) {
+HXLINE( 242) _hx_tmp42 = ::hx::IsNotNull( msg->from );
+ }
+ else {
+HXLINE( 242) _hx_tmp42 = false;
+ }
+HXDLIN( 242) if (_hx_tmp42) {
+HXLINE( 242) _hx_tmp41 = msg->from->isBare();
+ }
+ else {
+HXLINE( 242) _hx_tmp41 = false;
+ }
+HXDLIN( 242) if (_hx_tmp41) {
+HXLINE( 242) ::String _hx_tmp45 = msg->from->asString();
+HXDLIN( 242) _hx_tmp40 = (_hx_tmp45 == msg->chatId());
+ }
+ else {
+HXLINE( 242) _hx_tmp40 = false;
+ }
+HXDLIN( 242) if (_hx_tmp40) {
+HXLINE( 243) ::String reason1;
+HXDLIN( 243) ::String tmp14;
+HXDLIN( 243) if (::hx::IsNotNull( retract )) {
+HXLINE( 243) tmp14 = retract->getChildText(HX_("reason",c4,0f,9d,fc),null());
+ }
+ else {
+HXLINE( 243) tmp14 = null();
+ }
+HXDLIN( 243) if (::hx::IsNotNull( tmp14 )) {
+HXLINE( 243) reason1 = tmp14;
+ }
+ else {
+HXLINE( 243) if (::hx::IsNotNull( moderated )) {
+HXLINE( 243) reason1 = moderated->getChildText(HX_("reason",c4,0f,9d,fc),null());
+ }
+ else {
+HXLINE( 243) reason1 = null();
+ }
+ }
+HXLINE( 244) ::String by = ( (::String)(::Reflect_obj::field(moderated->attr,HX_("by",d7,55,00,00))) );
+HXLINE( 247) ::String _hx_tmp46 = msg->chatId();
+HXLINE( 248) ::String _hx_tmp47 = msg->get_senderId();
+HXLINE( 249) ::String msg6 = msg->threadId;
+HXLINE( 246) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp46,_hx_tmp47,msg6,::borogove::MessageStanza_obj::ModerateMessageStanza( ::borogove::ModerationAction_obj::__alloc( HX_CTX ,msg->chatId(),moderateServerId,timestamp,by,reason1)),encryptionInfo);
+ }
+HXLINE( 255) ::borogove::Stanza replace = stanza->getChild(HX_("replace",34,48,28,ab),HX_("urn:xmpp:message-correct:0",be,10,1b,b0));
+HXLINE( 256) ::Dynamic tmp15;
+HXDLIN( 256) if (::hx::IsNotNull( replace )) {
+HXLINE( 256) tmp15 = replace->attr;
+ }
+ else {
+HXLINE( 256) tmp15 = null();
+ }
+HXDLIN( 256) ::String replaceId;
+HXDLIN( 256) if (::hx::IsNotNull( tmp15 )) {
+HXLINE( 256) replaceId = ( (::String)(::Reflect_obj::field(tmp15,HX_("id",db,5b,00,00))) );
+ }
+ else {
+HXLINE( 256) replaceId = null();
+ }
+HXLINE( 258) bool _hx_tmp48;
+HXDLIN( 258) bool _hx_tmp49;
+HXDLIN( 258) if (::hx::IsNull( msg->text )) {
+HXLINE( 258) _hx_tmp49 = (msg->attachments->length < 1);
+ }
+ else {
+HXLINE( 258) _hx_tmp49 = false;
+ }
+HXDLIN( 258) if (_hx_tmp49) {
+HXLINE( 258) _hx_tmp48 = ::hx::IsNull( replaceId );
+ }
+ else {
+HXLINE( 258) _hx_tmp48 = false;
+ }
+HXDLIN( 258) if (_hx_tmp48) {
+HXLINE( 258) ::String _hx_tmp50 = msg->chatId();
+HXDLIN( 258) ::String _hx_tmp51 = msg->get_senderId();
+HXDLIN( 258) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp50,_hx_tmp51,msg->threadId,::borogove::MessageStanza_obj::UnknownMessageStanza(stanza),encryptionInfo);
+ }
+HXLINE( 260) {
+HXLINE( 260) int _g15 = 0;
+HXDLIN( 260) ::Array< ::Dynamic> _g16 = stanza->allTags(HX_("fallback",22,f0,9d,2a),HX_("urn:xmpp:fallback:0",74,aa,56,9b));
+HXDLIN( 260) while((_g15 < _g16->length)){
+HXLINE( 260) ::borogove::Stanza fallback = _g16->__get(_g15).StaticCast< ::borogove::Stanza >();
+HXDLIN( 260) _g15 = (_g15 + 1);
+HXLINE( 261) msg->payloads->push(fallback);
+ }
+ }
+HXLINE( 264) ::borogove::Stanza unstyled = stanza->getChild(HX_("unstyled",2c,15,1a,18),HX_("urn:xmpp:styling:0",48,d3,aa,fb));
+HXLINE( 265) if (::hx::IsNotNull( unstyled )) {
+HXLINE( 266) msg->payloads->push(unstyled);
+ }
+HXLINE( 269) ::borogove::Stanza html = stanza->getChild(HX_("html",6b,95,16,45),HX_("http://jabber.org/protocol/xhtml-im",c2,5d,b2,ce));
+HXLINE( 270) if (::hx::IsNotNull( html )) {
+HXLINE( 271) msg->payloads->push(html);
+ }
+HXLINE( 274) ::borogove::Stanza reply = stanza->getChild(HX_("reply",2a,09,c6,e6),HX_("urn:xmpp:reply:0",c4,d5,6f,90));
+HXLINE( 275) if (::hx::IsNotNull( reply )) {
+HXLINE( 276) ::String replyToJid = ( (::String)(::Reflect_obj::field(reply->attr,HX_("to",7b,65,00,00))) );
+HXLINE( 277) ::String replyToID = ( (::String)(::Reflect_obj::field(reply->attr,HX_("id",db,5b,00,00))) );
+HXLINE( 279) ::String text1 = msg->text;
+HXLINE( 280) bool _hx_tmp52;
+HXDLIN( 280) if (::hx::IsNotNull( text1 )) {
+HXLINE( 280) _hx_tmp52 = ::borogove::EmojiUtil_obj::isOnlyEmoji(::StringTools_obj::trim(text1));
+ }
+ else {
+HXLINE( 280) _hx_tmp52 = false;
+ }
+HXDLIN( 280) if (_hx_tmp52) {
+HXLINE( 281) ::String _hx_tmp53 = msg->chatId();
+HXDLIN( 281) ::String _hx_tmp54 = msg->get_senderId();
+HXDLIN( 281) ::String msg7 = msg->threadId;
+HXLINE( 282) ::String _hx_tmp55;
+HXDLIN( 282) ::String tmp16 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) );
+HXDLIN( 282) if (::hx::IsNotNull( tmp16 )) {
+HXLINE( 282) _hx_tmp55 = tmp16;
+ }
+ else {
+HXLINE( 282) _hx_tmp55 = ::borogove::ID_obj::_hx_long();
+ }
+HXLINE( 283) ::String _hx_tmp56;
+HXDLIN( 283) if (isGroupchat) {
+HXLINE( 283) _hx_tmp56 = replyToID;
+ }
+ else {
+HXLINE( 283) _hx_tmp56 = null();
+ }
+HXLINE( 284) ::String _hx_tmp57;
+HXDLIN( 284) if (isGroupchat) {
+HXLINE( 284) _hx_tmp57 = msg->chatId();
+ }
+ else {
+HXLINE( 284) _hx_tmp57 = null();
+ }
+HXLINE( 285) ::String _hx_tmp58;
+HXDLIN( 285) if (isGroupchat) {
+HXLINE( 285) _hx_tmp58 = null();
+ }
+ else {
+HXLINE( 285) _hx_tmp58 = replyToID;
+ }
+HXLINE( 286) ::String _hx_tmp59 = msg->chatId();
+HXLINE( 287) ::String _hx_tmp60 = msg->get_senderId();
+HXLINE( 289) ::String _hx_tmp61 = msg->get_senderId();
+HXDLIN( 289) ::String _hx_tmp62 = ::StringTools_obj::trim(text1);
+HXLINE( 281) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp53,_hx_tmp54,msg7,::borogove::MessageStanza_obj::ReactionUpdateStanza( ::borogove::ReactionUpdate_obj::__alloc( HX_CTX ,_hx_tmp55,_hx_tmp56,_hx_tmp57,_hx_tmp58,_hx_tmp59,_hx_tmp60,timestamp,::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::Reaction_obj::__alloc( HX_CTX ,_hx_tmp61,timestamp,_hx_tmp62,msg->localId,null())),1)),encryptionInfo);
+ }
+HXLINE( 294) if (::hx::IsNotNull( html )) {
+HXLINE( 295) ::borogove::Stanza body = html->getChild(HX_("body",a2,7a,1b,41),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8));
+HXLINE( 296) if (::hx::IsNotNull( body )) {
+HXLINE( 297) ::Array< ::Dynamic> els = body->allTags(null(),null());
+HXLINE( 298) bool _hx_tmp63;
+HXDLIN( 298) if ((els->length == 1)) {
+HXLINE( 298) _hx_tmp63 = (els->__get(0).StaticCast< ::borogove::Stanza >()->name == HX_("img",03,0c,50,00));
+ }
+ else {
+HXLINE( 298) _hx_tmp63 = false;
+ }
+HXDLIN( 298) if (_hx_tmp63) {
+HXLINE( 299) ::String tmp17 = ( (::String)(::Reflect_obj::field(els->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("src",e4,a6,57,00))) );
+HXDLIN( 299) ::String hash;
+HXDLIN( 299) if (::hx::IsNotNull( tmp17 )) {
+HXLINE( 299) hash = tmp17;
+ }
+ else {
+HXLINE( 299) hash = HX_("",00,00,00,00);
+ }
+HXDLIN( 299) ::borogove::Hash hash1 = ::borogove::Hash_obj::fromUri(hash);
+HXLINE( 300) if (::hx::IsNotNull( hash1 )) {
+HXLINE( 301) ::String _hx_tmp64 = msg->chatId();
+HXDLIN( 301) ::String _hx_tmp65 = msg->get_senderId();
+HXDLIN( 301) ::String msg8 = msg->threadId;
+HXLINE( 302) ::String _hx_tmp66;
+HXDLIN( 302) ::String tmp18 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) );
+HXDLIN( 302) if (::hx::IsNotNull( tmp18 )) {
+HXLINE( 302) _hx_tmp66 = tmp18;
+ }
+ else {
+HXLINE( 302) _hx_tmp66 = ::borogove::ID_obj::_hx_long();
+ }
+HXLINE( 303) ::String _hx_tmp67;
+HXDLIN( 303) if (isGroupchat) {
+HXLINE( 303) _hx_tmp67 = replyToID;
+ }
+ else {
+HXLINE( 303) _hx_tmp67 = null();
+ }
+HXLINE( 304) ::String _hx_tmp68;
+HXDLIN( 304) if (isGroupchat) {
+HXLINE( 304) _hx_tmp68 = msg->chatId();
+ }
+ else {
+HXLINE( 304) _hx_tmp68 = null();
+ }
+HXLINE( 305) ::String _hx_tmp69;
+HXDLIN( 305) if (isGroupchat) {
+HXLINE( 305) _hx_tmp69 = null();
+ }
+ else {
+HXLINE( 305) _hx_tmp69 = replyToID;
+ }
+HXLINE( 306) ::String _hx_tmp70 = msg->chatId();
+HXLINE( 307) ::String _hx_tmp71 = msg->get_senderId();
+HXLINE( 309) ::String _hx_tmp72 = msg->get_senderId();
+HXDLIN( 309) ::String _hx_tmp73;
+HXDLIN( 309) ::String tmp19 = ( (::String)(::Reflect_obj::field(els->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("alt",29,f9,49,00))) );
+HXDLIN( 309) if (::hx::IsNotNull( tmp19 )) {
+HXLINE( 309) _hx_tmp73 = tmp19;
+ }
+ else {
+HXLINE( 309) _hx_tmp73 = HX_("",00,00,00,00);
+ }
+HXDLIN( 309) ::String _hx_tmp74 = hash1->serializeUri();
+HXLINE( 301) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp64,_hx_tmp65,msg8,::borogove::MessageStanza_obj::ReactionUpdateStanza( ::borogove::ReactionUpdate_obj::__alloc( HX_CTX ,_hx_tmp66,_hx_tmp67,_hx_tmp68,_hx_tmp69,_hx_tmp70,_hx_tmp71,timestamp,::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::CustomEmojiReaction_obj::__alloc( HX_CTX ,_hx_tmp72,timestamp,_hx_tmp73,_hx_tmp74,msg->localId)),1)),encryptionInfo);
+ }
+ }
+ }
+ }
+HXLINE( 317) if (::hx::IsNotNull( replyToID )) {
+HXLINE( 319) ::borogove::ChatMessageBuilder replyToMessage = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
+HXLINE( 320) ::borogove::JID _hx_tmp75;
+HXDLIN( 320) if ((replyToJid == msg->get_senderId())) {
+HXLINE( 320) _hx_tmp75 = msg->to;
+ }
+ else {
+HXLINE( 320) _hx_tmp75 = msg->from;
+ }
+HXDLIN( 320) replyToMessage->to = _hx_tmp75;
+HXLINE( 321) ::borogove::JID _hx_tmp76;
+HXDLIN( 321) if (::hx::IsNull( replyToJid )) {
+HXLINE( 321) _hx_tmp76 = null();
+ }
+ else {
+HXLINE( 321) _hx_tmp76 = ::borogove::JID_obj::parse(replyToJid);
+ }
+HXDLIN( 321) replyToMessage->from = _hx_tmp76;
+HXLINE( 322) ::String _hx_tmp77;
+HXDLIN( 322) if (isGroupchat) {
+HXLINE( 322) ::borogove::JID tmp20 = replyToMessage->from;
+HXDLIN( 322) if (::hx::IsNotNull( tmp20 )) {
+HXLINE( 322) _hx_tmp77 = tmp20->asString();
+ }
+ else {
+HXLINE( 322) _hx_tmp77 = null();
+ }
+ }
+ else {
+HXLINE( 322) ::borogove::JID tmp21 = replyToMessage->from;
+HXDLIN( 322) ::borogove::JID tmp22;
+HXDLIN( 322) if (::hx::IsNotNull( tmp21 )) {
+HXLINE( 322) tmp22 = tmp21->asBare();
+ }
+ else {
+HXLINE( 322) tmp22 = null();
+ }
+HXDLIN( 322) if (::hx::IsNotNull( tmp22 )) {
+HXLINE( 322) _hx_tmp77 = tmp22->asString();
+ }
+ else {
+HXLINE( 322) _hx_tmp77 = null();
+ }
+ }
+HXDLIN( 322) replyToMessage->senderId = _hx_tmp77;
+HXLINE( 323) replyToMessage->replyId = replyToID;
+HXLINE( 324) bool _hx_tmp78;
+HXDLIN( 324) if (::hx::IsNotNull( msg->serverIdBy )) {
+HXLINE( 324) ::String msg9 = msg->serverIdBy;
+HXDLIN( 324) _hx_tmp78 = (msg9 != localJid->asBare()->asString());
+ }
+ else {
+HXLINE( 324) _hx_tmp78 = false;
+ }
+HXDLIN( 324) if (_hx_tmp78) {
+HXLINE( 325) replyToMessage->serverId = replyToID;
+ }
+ else {
+HXLINE( 327) replyToMessage->localId = replyToID;
+ }
+HXLINE( 329) msg->replyToMessage = replyToMessage->build();
+ }
+ }
+HXLINE( 333) if (::hx::IsNotNull( replaceId )) {
+HXLINE( 334) if ((msg->versions->length < 1)) {
+HXLINE( 334) msg->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,msg->build());
+ }
+HXLINE( 335) msg->localId = replaceId;
+ }
+HXLINE( 338) ::String _hx_tmp79 = msg->chatId();
+HXDLIN( 338) ::String _hx_tmp80 = msg->get_senderId();
+HXDLIN( 338) ::String msg10 = msg->threadId;
+HXDLIN( 338) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp79,_hx_tmp80,msg10,::borogove::MessageStanza_obj::ChatMessageStanza(msg->build()),encryptionInfo);
+ }
+HXLINE( 51) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(Message_obj,fromStanza,return )
+
+
+::hx::ObjectPtr< Message_obj > Message_obj::__new(::String chatId,::String senderId,::String threadId, ::borogove::MessageStanza parsed, ::borogove::EncryptionInfo encryption) {
+ ::hx::ObjectPtr< Message_obj > __this = new Message_obj();
+ __this->__construct(chatId,senderId,threadId,parsed,encryption);
+ return __this;
+}
+
+::hx::ObjectPtr< Message_obj > Message_obj::__alloc(::hx::Ctx *_hx_ctx,::String chatId,::String senderId,::String threadId, ::borogove::MessageStanza parsed, ::borogove::EncryptionInfo encryption) {
+ Message_obj *__this = (Message_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Message_obj), true, "borogove.Message"));
+ *(void **)__this = Message_obj::_hx_vtable;
+ __this->__construct(chatId,senderId,threadId,parsed,encryption);
+ return __this;
+}
+
+Message_obj::Message_obj()
+{
+}
+
+void Message_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Message);
+ HX_MARK_MEMBER_NAME(chatId,"chatId");
+ HX_MARK_MEMBER_NAME(senderId,"senderId");
+ HX_MARK_MEMBER_NAME(threadId,"threadId");
+ HX_MARK_MEMBER_NAME(encryption,"encryption");
+ HX_MARK_MEMBER_NAME(parsed,"parsed");
+ HX_MARK_END_CLASS();
+}
+
+void Message_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(chatId,"chatId");
+ HX_VISIT_MEMBER_NAME(senderId,"senderId");
+ HX_VISIT_MEMBER_NAME(threadId,"threadId");
+ HX_VISIT_MEMBER_NAME(encryption,"encryption");
+ HX_VISIT_MEMBER_NAME(parsed,"parsed");
+}
+
+::hx::Val Message_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 6:
+ if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( chatId ); }
+ if (HX_FIELD_EQ(inName,"parsed") ) { return ::hx::Val( parsed ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"senderId") ) { return ::hx::Val( senderId ); }
+ if (HX_FIELD_EQ(inName,"threadId") ) { return ::hx::Val( threadId ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"encryption") ) { return ::hx::Val( encryption ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool Message_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 10:
+ if (HX_FIELD_EQ(inName,"fromStanza") ) { outValue = fromStanza_dyn(); return true; }
+ }
+ return false;
+}
+
+::hx::Val Message_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 6:
+ if (HX_FIELD_EQ(inName,"chatId") ) { chatId=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"parsed") ) { parsed=inValue.Cast< ::borogove::MessageStanza >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"senderId") ) { senderId=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"threadId") ) { threadId=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"encryption") ) { encryption=inValue.Cast< ::borogove::EncryptionInfo >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void Message_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("chatId",d3,04,77,b7));
+ outFields->push(HX_("senderId",f0,1e,0e,ec));
+ outFields->push(HX_("threadId",45,81,25,cc));
+ outFields->push(HX_("encryption",83,dc,39,4f));
+ outFields->push(HX_("parsed",d1,9c,88,ed));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo Message_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(Message_obj,chatId),HX_("chatId",d3,04,77,b7)},
+ {::hx::fsString,(int)offsetof(Message_obj,senderId),HX_("senderId",f0,1e,0e,ec)},
+ {::hx::fsString,(int)offsetof(Message_obj,threadId),HX_("threadId",45,81,25,cc)},
+ {::hx::fsObject /* ::borogove::EncryptionInfo */ ,(int)offsetof(Message_obj,encryption),HX_("encryption",83,dc,39,4f)},
+ {::hx::fsObject /* ::borogove::MessageStanza */ ,(int)offsetof(Message_obj,parsed),HX_("parsed",d1,9c,88,ed)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *Message_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Message_obj_sMemberFields[] = {
+ HX_("chatId",d3,04,77,b7),
+ HX_("senderId",f0,1e,0e,ec),
+ HX_("threadId",45,81,25,cc),
+ HX_("encryption",83,dc,39,4f),
+ HX_("parsed",d1,9c,88,ed),
+ ::String(null()) };
+
+::hx::Class Message_obj::__mClass;
+
+static ::String Message_obj_sStaticFields[] = {
+ HX_("fromStanza",ff,62,3b,49),
+ ::String(null())
+};
+
+void Message_obj::__register()
+{
+ Message_obj _hx_dummy;
+ Message_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Message",5a,b7,a9,a7);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Message_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Message_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(Message_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Message_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Message_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Message_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/MessageStanza.cpp b/Sources/c_borogove/src/borogove/MessageStanza.cpp
similarity index 63%
rename from Sources/c_snikket/src/snikket/MessageStanza.cpp
rename to Sources/c_borogove/src/borogove/MessageStanza.cpp
index 6c18490..0dc1fb7 100644
--- a/Sources/c_snikket/src/snikket/MessageStanza.cpp
+++ b/Sources/c_borogove/src/borogove/MessageStanza.cpp
@@ -1,49 +1,51 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
#endif
-#ifndef INCLUDED_snikket_MessageStanza
-#include <snikket/MessageStanza.h>
+#ifndef INCLUDED_borogove_MessageStanza
+#include <borogove/MessageStanza.h>
#endif
-#ifndef INCLUDED_snikket_ModerationAction
-#include <snikket/ModerationAction.h>
+#ifndef INCLUDED_borogove_ModerationAction
+#include <borogove/ModerationAction.h>
#endif
-#ifndef INCLUDED_snikket_ReactionUpdate
-#include <snikket/ReactionUpdate.h>
+#ifndef INCLUDED_borogove_ReactionUpdate
+#include <borogove/ReactionUpdate.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-namespace snikket{
+namespace borogove{
-::snikket::MessageStanza MessageStanza_obj::ChatMessageStanza( ::snikket::ChatMessage message)
+::borogove::MessageStanza MessageStanza_obj::ChatMessageStanza( ::borogove::ChatMessage message)
{
return ::hx::CreateEnum< MessageStanza_obj >(HX_("ChatMessageStanza",04,61,54,9f),1,1)->_hx_init(0,message);
}
-::snikket::MessageStanza MessageStanza_obj::ErrorMessageStanza( ::snikket::Stanza stanza)
+::borogove::MessageStanza MessageStanza_obj::ErrorMessageStanza(::String localId, ::borogove::Stanza stanza)
{
- return ::hx::CreateEnum< MessageStanza_obj >(HX_("ErrorMessageStanza",54,02,51,07),0,1)->_hx_init(0,stanza);
+ return ::hx::CreateEnum< MessageStanza_obj >(HX_("ErrorMessageStanza",54,02,51,07),0,2)->_hx_init(0,localId)->_hx_init(1,stanza);
}
-::snikket::MessageStanza MessageStanza_obj::ModerateMessageStanza( ::snikket::ModerationAction action)
+::borogove::MessageStanza MessageStanza_obj::ModerateMessageStanza( ::borogove::ModerationAction action)
{
return ::hx::CreateEnum< MessageStanza_obj >(HX_("ModerateMessageStanza",39,25,06,6f),2,1)->_hx_init(0,action);
}
-::snikket::MessageStanza MessageStanza_obj::ReactionUpdateStanza( ::snikket::ReactionUpdate update)
+::borogove::MessageStanza MessageStanza_obj::MucInviteStanza(::String serverId,::String serverIdBy,::String reason,::String password)
+{
+ return ::hx::CreateEnum< MessageStanza_obj >(HX_("MucInviteStanza",19,bd,35,96),4,4)->_hx_init(0,serverId)->_hx_init(1,serverIdBy)->_hx_init(2,reason)->_hx_init(3,password);
+}
+
+::borogove::MessageStanza MessageStanza_obj::ReactionUpdateStanza( ::borogove::ReactionUpdate update)
{
return ::hx::CreateEnum< MessageStanza_obj >(HX_("ReactionUpdateStanza",47,fe,3e,f3),3,1)->_hx_init(0,update);
}
-::snikket::MessageStanza MessageStanza_obj::UnknownMessageStanza( ::snikket::Stanza stanza)
+::borogove::MessageStanza MessageStanza_obj::UnknownMessageStanza( ::borogove::Stanza stanza)
{
- return ::hx::CreateEnum< MessageStanza_obj >(HX_("UnknownMessageStanza",52,c1,f7,28),4,1)->_hx_init(0,stanza);
+ return ::hx::CreateEnum< MessageStanza_obj >(HX_("UnknownMessageStanza",52,c1,f7,28),5,1)->_hx_init(0,stanza);
}
bool MessageStanza_obj::__GetStatic(const ::String &inName, ::Dynamic &outValue, ::hx::PropertyAccess inCallProp)
@@ -51,6 +53,7 @@ bool MessageStanza_obj::__GetStatic(const ::String &inName, ::Dynamic &outValue,
if (inName==HX_("ChatMessageStanza",04,61,54,9f)) { outValue = MessageStanza_obj::ChatMessageStanza_dyn(); return true; }
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_("ReactionUpdateStanza",47,fe,3e,f3)) { outValue = MessageStanza_obj::ReactionUpdateStanza_dyn(); return true; }
if (inName==HX_("UnknownMessageStanza",52,c1,f7,28)) { outValue = MessageStanza_obj::UnknownMessageStanza_dyn(); return true; }
return super::__GetStatic(inName, outValue, inCallProp);
@@ -63,17 +66,20 @@ int MessageStanza_obj::__FindIndex(::String inName)
if (inName==HX_("ChatMessageStanza",04,61,54,9f)) return 1;
if (inName==HX_("ErrorMessageStanza",54,02,51,07)) return 0;
if (inName==HX_("ModerateMessageStanza",39,25,06,6f)) return 2;
+ if (inName==HX_("MucInviteStanza",19,bd,35,96)) return 4;
if (inName==HX_("ReactionUpdateStanza",47,fe,3e,f3)) return 3;
- if (inName==HX_("UnknownMessageStanza",52,c1,f7,28)) return 4;
+ if (inName==HX_("UnknownMessageStanza",52,c1,f7,28)) return 5;
return super::__FindIndex(inName);
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(MessageStanza_obj,ChatMessageStanza,return)
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(MessageStanza_obj,ErrorMessageStanza,return)
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(MessageStanza_obj,ErrorMessageStanza,return)
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,ReactionUpdateStanza,return)
STATIC_HX_DEFINE_DYNAMIC_FUNC1(MessageStanza_obj,UnknownMessageStanza,return)
@@ -81,8 +87,9 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(MessageStanza_obj,UnknownMessageStanza,return)
int MessageStanza_obj::__FindArgCount(::String inName)
{
if (inName==HX_("ChatMessageStanza",04,61,54,9f)) return 1;
- if (inName==HX_("ErrorMessageStanza",54,02,51,07)) return 1;
+ 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_("ReactionUpdateStanza",47,fe,3e,f3)) return 1;
if (inName==HX_("UnknownMessageStanza",52,c1,f7,28)) return 1;
return super::__FindArgCount(inName);
@@ -93,6 +100,7 @@ int MessageStanza_obj::__FindArgCount(::String inName)
if (inName==HX_("ChatMessageStanza",04,61,54,9f)) return ChatMessageStanza_dyn();
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_("ReactionUpdateStanza",47,fe,3e,f3)) return ReactionUpdateStanza_dyn();
if (inName==HX_("UnknownMessageStanza",52,c1,f7,28)) return UnknownMessageStanza_dyn();
return super::__Field(inName,inCallProp);
@@ -103,6 +111,7 @@ static ::String MessageStanza_obj_sStaticFields[] = {
HX_("ChatMessageStanza",04,61,54,9f),
HX_("ModerateMessageStanza",39,25,06,6f),
HX_("ReactionUpdateStanza",47,fe,3e,f3),
+ HX_("MucInviteStanza",19,bd,35,96),
HX_("UnknownMessageStanza",52,c1,f7,28),
::String(null())
};
@@ -114,7 +123,7 @@ Dynamic __Create_MessageStanza_obj() { return new MessageStanza_obj; }
void MessageStanza_obj::__register()
{
-::hx::Static(__mClass) = ::hx::_hx_RegisterClass(HX_("snikket.MessageStanza",4b,b3,84,a4), ::hx::TCanCast< MessageStanza_obj >,MessageStanza_obj_sStaticFields,0,
+::hx::Static(__mClass) = ::hx::_hx_RegisterClass(HX_("borogove.MessageStanza",ef,88,64,fd), ::hx::TCanCast< MessageStanza_obj >,MessageStanza_obj_sStaticFields,0,
&__Create_MessageStanza_obj, &__Create,
&super::__SGetClass(), &CreateMessageStanza_obj, 0
#ifdef HXCPP_VISIT_ALLOCS
@@ -132,4 +141,4 @@ void MessageStanza_obj::__boot()
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/MessageSync.cpp b/Sources/c_borogove/src/borogove/MessageSync.cpp
new file mode 100644
index 0000000..fabc4d2
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/MessageSync.cpp
@@ -0,0 +1,594 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_EReg
+#include <EReg.h>
+#endif
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_StringTools
+#include <StringTools.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessageBuilder
+#include <borogove/ChatMessageBuilder.h>
+#endif
+#ifndef INCLUDED_borogove_Client
+#include <borogove/Client.h>
+#endif
+#ifndef INCLUDED_borogove_EncryptionInfo
+#include <borogove/EncryptionInfo.h>
+#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
+#endif
+#ifndef INCLUDED_borogove_GenericStream
+#include <borogove/GenericStream.h>
+#endif
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
+#endif
+#ifndef INCLUDED_borogove_Message
+#include <borogove/Message.h>
+#endif
+#ifndef INCLUDED_borogove_MessageSync
+#include <borogove/MessageSync.h>
+#endif
+#ifndef INCLUDED_borogove_NS
+#include <borogove/NS.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_MAMQuery
+#include <borogove/queries/MAMQuery.h>
+#endif
+#ifndef INCLUDED_haxe_Exception
+#include <haxe/Exception.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
+#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_b6f42aa0d664cfb6_33_new,"borogove.MessageSync","new",0x01408247,"borogove.MessageSync.new","borogove/MessageSync.hx",33,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_74_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",74,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_94_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",94,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_145_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",145,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_158_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",158,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_48_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",48,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_183_hasMore,"borogove.MessageSync","hasMore",0xecce3176,"borogove.MessageSync.hasMore","borogove/MessageSync.hx",183,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_187_addContext,"borogove.MessageSync","addContext",0x33022ac7,"borogove.MessageSync.addContext","borogove/MessageSync.hx",187,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_191_onMessages,"borogove.MessageSync","onMessages",0xc4b51604,"borogove.MessageSync.onMessages","borogove/MessageSync.hx",191,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_195_onError,"borogove.MessageSync","onError",0xde909b90,"borogove.MessageSync.onError","borogove/MessageSync.hx",195,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_199_setNewestPageFirst,"borogove.MessageSync","setNewestPageFirst",0xfe9d2b12,"borogove.MessageSync.setNewestPageFirst","borogove/MessageSync.hx",199,0xc40e42ca)
+namespace borogove{
+
+void MessageSync_obj::__construct( ::borogove::Client client, ::borogove::GenericStream stream, ::Dynamic filter,::String serviceJID){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
+ ::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder b, ::borogove::Stanza _){
+ HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_33_new)
+HXLINE( 33) 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->newestPageFirst = true;
+HXLINE( 37) this->complete = false;
+HXLINE( 36) this->progress = 0;
+HXLINE( 33) 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) ::String _hx_tmp;
+HXDLIN( 45) if (::hx::IsNotNull( serviceJID )) {
+HXLINE( 45) _hx_tmp = serviceJID;
+ }
+ else {
+HXLINE( 45) _hx_tmp = client->accountId();
+ }
+HXDLIN( 45) this->serviceJID = _hx_tmp;
+ }
+
+Dynamic MessageSync_obj::__CreateEmpty() { return new MessageSync_obj; }
+
+void *MessageSync_obj::_hx_vtable = 0;
+
+Dynamic MessageSync_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< MessageSync_obj > _hx_result = new MessageSync_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3]);
+ return _hx_result;
+}
+
+bool MessageSync_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x0e3ada7d;
+}
+
+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_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_74_fetchNext)
+HXLINE( 75) _gthis->progress++;
+HXLINE( 76) ::borogove::Stanza message = ( ( ::borogove::Stanza)(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
+HXLINE( 77) ::String from;
+HXDLIN( 77) if (::Reflect_obj::hasField(message->attr,HX_("from",6a,a5,c2,43))) {
+HXLINE( 77) from = ( (::String)(::Reflect_obj::field(message->attr,HX_("from",6a,a5,c2,43))) );
+ }
+ else {
+HXLINE( 77) from = _gthis->client->accountId();
+ }
+HXLINE( 78) if ((from != _gthis->serviceJID)) {
+HXLINE( 79) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+ }
+HXLINE( 81) ::borogove::Stanza result = message->getChild(HX_("result",dd,68,84,08),query->xmlns);
+HXLINE( 82) bool eventToken;
+HXDLIN( 82) if (::hx::IsNotNull( result )) {
+HXLINE( 82) ::String eventToken1 = ( (::String)(::Reflect_obj::field(result->attr,HX_("queryid",e3,b8,e9,95))) );
+HXDLIN( 82) eventToken = (eventToken1 != query->queryId);
+ }
+ else {
+HXLINE( 82) eventToken = true;
+ }
+HXDLIN( 82) if (eventToken) {
+HXLINE( 83) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+ }
+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( 89) ::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( 90) if (::hx::IsNull( timestamp->__get(0) )) {
+HXLINE( 91) ::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),91)));
+ }
+ 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_94_fetchNext)
+HXLINE( 95) bool eventToken;
+HXDLIN( 95) if (::hx::IsNotNull( ereg->matched(2) )) {
+HXLINE( 95) eventToken = (ereg->matched(2) == HX_(".000",c2,66,8c,1e));
+ }
+ else {
+HXLINE( 95) eventToken = true;
+ }
+HXDLIN( 95) if (eventToken) {
+HXLINE( 96) ::String eventToken1 = ereg->matched(1);
+HXDLIN( 96) if ((eventToken1 == previousMessageTime->__get(0))) {
+HXLINE( 97) counterSameTime[0]++;
+ }
+ else {
+HXLINE( 99) previousMessageTime[0] = ereg->matched(1);
+HXLINE( 100) counterSameTime[0] = 1;
+ }
+HXLINE( 103) ::String eventToken2 = (ereg->matched(1) + HX_(".",2e,00,00,00));
+HXDLIN( 103) return (eventToken2 + ::StringTools_obj::lpad(::Std_obj::string(counterSameTime->__get(0)),HX_("0",30,00,00,00),3));
+ }
+HXLINE( 106) return ereg->matched(0);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 94) ::Array< ::String > timestamp1 = timestamp;
+HXDLIN( 94) ::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( 94) timestamp1[0] = eventToken2->map(timestamp->__get(0), ::Dynamic(new _hx_Closure_0(counterSameTime,previousMessageTime)));
+ }
+HXLINE( 110) ::Array< ::Dynamic> jmiChildren = originalMessage->allTags(null(),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 111) if ((jmiChildren->length > 0)) {
+HXLINE( 112) ::Dynamic this1 = _gthis->jmi;
+HXDLIN( 112) ( ( ::haxe::ds::StringMap)(this1) )->set(( (::String)(::Reflect_obj::field(jmiChildren->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("id",db,5b,00,00))) ),originalMessage);
+ }
+HXLINE( 115) if (originalMessage->hasChild(HX_("encrypted",04,fa,43,6c),::borogove::NS_obj::OMEMO)) {
+HXLINE( 141) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::borogove::MessageSync,_gthis,::Array< ::String >,timestamp, ::borogove::Stanza,result) HXARGC(2)
+ ::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder builder, ::borogove::Stanza stanza){
+ HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_145_fetchNext)
+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 );
+ }
+ else {
+HXLINE( 148) msg = false;
+ }
+HXDLIN( 148) if (msg) {
+HXLINE( 148) builder->timestamp = timestamp->__get(0);
+ }
+HXLINE( 149) return ( ( ::borogove::ChatMessageBuilder)(_gthis->contextHandler(builder,stanza)) );
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXLINE( 143) ::Dynamic eventToken3 = ::haxe::Log_obj::trace;
+HXDLIN( 143) ::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( 143) eventToken3(eventToken4,::hx::SourceInfo(HX_("borogove/MessageSync.hx",ca,42,0e,c4),143,HX_("borogove.MessageSync",d5,52,9a,8d),HX_("fetchNext",4d,6a,ad,1f)));
+HXLINE( 145) ::borogove::Message msg = ::borogove::Message_obj::fromStanza(originalMessage,_gthis->client->jid, ::Dynamic(new _hx_Closure_1(_gthis,timestamp,result)),null());
+HXLINE( 152) ::Array< ::Dynamic> promisedMessages1 = promisedMessages;
+HXDLIN( 152) promisedMessages1->push(::thenshim::_Promise::Promise_Impl__obj::resolve(msg));
+ }
+HXLINE( 156) 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_158_fetchNext)
+HXLINE( 159) _gthis->stream->removeEventListener(eventToken);
+HXLINE( 160) ::Dynamic result = query->getResult();
+HXLINE( 161) if (::hx::IsNull( result )) {
+HXLINE( 162) ::haxe::Log_obj::trace(HX_("Error from MAM, stopping sync",b8,c9,46,be),::hx::SourceInfo(HX_("borogove/MessageSync.hx",ca,42,0e,c4),162,HX_("borogove.MessageSync",d5,52,9a,8d),HX_("fetchNext",4d,6a,ad,1f)));
+HXLINE( 163) _gthis->complete = true;
+HXLINE( 164) if (::hx::IsNotNull( _gthis->errorHandler )) {
+HXLINE( 165) _gthis->errorHandler(query->responseStanza);
+ }
+ }
+ else {
+HXLINE( 167) _gthis->complete = ( (bool)(result->__Field(HX_("complete",b9,00,c8,7f),::hx::paccDynamic)) );
+HXLINE( 168) _gthis->lastPage = result->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic);
+ }
+HXLINE( 170) bool _hx_tmp;
+HXDLIN( 170) if (::hx::IsNull( result )) {
+HXLINE( 170) _hx_tmp = ::hx::IsNull( _gthis->errorHandler );
+ }
+ else {
+HXLINE( 170) _hx_tmp = true;
+ }
+HXDLIN( 170) 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_172_fetchNext)
+HXLINE( 172) _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( 171) ::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_48_fetchNext)
+HXDLIN( 48) ::borogove::MessageSync _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 49) if (::hx::IsNull( this->handler )) {
+HXLINE( 50) 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( 52) if (this->complete) {
+HXLINE( 53) 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( 55) ::Array< ::Dynamic> promisedMessages = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 56) if (::hx::IsNull( this->lastPage )) {
+HXLINE( 57) bool _hx_tmp;
+HXDLIN( 57) if ((this->newestPageFirst == true)) {
+HXLINE( 57) if (::hx::IsNotNull( this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic) )) {
+HXLINE( 57) 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( 57) _hx_tmp = ::hx::IsNull( ::Dynamic(this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic))->__Field(HX_("after",1c,66,a2,1d),::hx::paccDynamic) );
+ }
+ else {
+HXLINE( 57) _hx_tmp = false;
+ }
+ }
+ else {
+HXLINE( 57) _hx_tmp = true;
+ }
+ }
+ else {
+HXLINE( 57) _hx_tmp = false;
+ }
+HXDLIN( 57) if (_hx_tmp) {
+HXLINE( 58) 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( 60) ::Dynamic(this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic))->__SetField(HX_("before",7f,54,32,9a),HX_("",00,00,00,00),::hx::paccDynamic);
+ }
+ }
+ else {
+HXLINE( 63) 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( 65) if ((this->newestPageFirst == true)) {
+HXLINE( 66) ::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);
+ }
+ else {
+HXLINE( 68) ::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( 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( 158) query->onFinished( ::Dynamic(new _hx_Closure_4(_gthis,query,eventToken,promisedMessages)));
+HXLINE( 179) this->client->sendQuery(query);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(MessageSync_obj,fetchNext,(void))
+
+bool MessageSync_obj::hasMore(){
+ HX_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_183_hasMore)
+HXDLIN( 183) return !(this->complete);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(MessageSync_obj,hasMore,return )
+
+void MessageSync_obj::addContext( ::Dynamic handler){
+ HX_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_187_addContext)
+HXDLIN( 187) this->contextHandler = handler;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(MessageSync_obj,addContext,(void))
+
+void MessageSync_obj::onMessages( ::Dynamic handler){
+ HX_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_191_onMessages)
+HXDLIN( 191) this->handler = handler;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(MessageSync_obj,onMessages,(void))
+
+void MessageSync_obj::onError( ::Dynamic handler){
+ HX_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_195_onError)
+HXDLIN( 195) this->errorHandler = handler;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(MessageSync_obj,onError,(void))
+
+void MessageSync_obj::setNewestPageFirst(bool newestPageFirst){
+ HX_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_199_setNewestPageFirst)
+HXDLIN( 199) this->newestPageFirst = newestPageFirst;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(MessageSync_obj,setNewestPageFirst,(void))
+
+
+::hx::ObjectPtr< MessageSync_obj > MessageSync_obj::__new( ::borogove::Client client, ::borogove::GenericStream stream, ::Dynamic filter,::String serviceJID) {
+ ::hx::ObjectPtr< MessageSync_obj > __this = new MessageSync_obj();
+ __this->__construct(client,stream,filter,serviceJID);
+ return __this;
+}
+
+::hx::ObjectPtr< MessageSync_obj > MessageSync_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::GenericStream stream, ::Dynamic filter,::String serviceJID) {
+ MessageSync_obj *__this = (MessageSync_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MessageSync_obj), true, "borogove.MessageSync"));
+ *(void **)__this = MessageSync_obj::_hx_vtable;
+ __this->__construct(client,stream,filter,serviceJID);
+ return __this;
+}
+
+MessageSync_obj::MessageSync_obj()
+{
+}
+
+void MessageSync_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(MessageSync);
+ HX_MARK_MEMBER_NAME(client,"client");
+ HX_MARK_MEMBER_NAME(stream,"stream");
+ HX_MARK_MEMBER_NAME(filter,"filter");
+ HX_MARK_MEMBER_NAME(serviceJID,"serviceJID");
+ HX_MARK_MEMBER_NAME(handler,"handler");
+ HX_MARK_MEMBER_NAME(contextHandler,"contextHandler");
+ HX_MARK_MEMBER_NAME(errorHandler,"errorHandler");
+ HX_MARK_MEMBER_NAME(lastPage,"lastPage");
+ HX_MARK_MEMBER_NAME(progress,"progress");
+ HX_MARK_MEMBER_NAME(complete,"complete");
+ HX_MARK_MEMBER_NAME(newestPageFirst,"newestPageFirst");
+ HX_MARK_MEMBER_NAME(jmi,"jmi");
+ HX_MARK_END_CLASS();
+}
+
+void MessageSync_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(client,"client");
+ HX_VISIT_MEMBER_NAME(stream,"stream");
+ HX_VISIT_MEMBER_NAME(filter,"filter");
+ HX_VISIT_MEMBER_NAME(serviceJID,"serviceJID");
+ HX_VISIT_MEMBER_NAME(handler,"handler");
+ HX_VISIT_MEMBER_NAME(contextHandler,"contextHandler");
+ HX_VISIT_MEMBER_NAME(errorHandler,"errorHandler");
+ HX_VISIT_MEMBER_NAME(lastPage,"lastPage");
+ HX_VISIT_MEMBER_NAME(progress,"progress");
+ HX_VISIT_MEMBER_NAME(complete,"complete");
+ HX_VISIT_MEMBER_NAME(newestPageFirst,"newestPageFirst");
+ HX_VISIT_MEMBER_NAME(jmi,"jmi");
+}
+
+::hx::Val MessageSync_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"jmi") ) { return ::hx::Val( jmi ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"client") ) { return ::hx::Val( client ); }
+ if (HX_FIELD_EQ(inName,"stream") ) { return ::hx::Val( stream ); }
+ if (HX_FIELD_EQ(inName,"filter") ) { return ::hx::Val( filter ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"handler") ) { return ::hx::Val( handler ); }
+ if (HX_FIELD_EQ(inName,"hasMore") ) { return ::hx::Val( hasMore_dyn() ); }
+ if (HX_FIELD_EQ(inName,"onError") ) { return ::hx::Val( onError_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"lastPage") ) { return ::hx::Val( lastPage ); }
+ if (HX_FIELD_EQ(inName,"progress") ) { return ::hx::Val( progress ); }
+ if (HX_FIELD_EQ(inName,"complete") ) { return ::hx::Val( complete ); }
+ break;
+ case 9:
+ 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,"addContext") ) { return ::hx::Val( addContext_dyn() ); }
+ if (HX_FIELD_EQ(inName,"onMessages") ) { return ::hx::Val( onMessages_dyn() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"errorHandler") ) { return ::hx::Val( errorHandler ); }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"contextHandler") ) { return ::hx::Val( contextHandler ); }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"newestPageFirst") ) { return ::hx::Val( newestPageFirst ); }
+ break;
+ case 18:
+ if (HX_FIELD_EQ(inName,"setNewestPageFirst") ) { return ::hx::Val( setNewestPageFirst_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val MessageSync_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"jmi") ) { jmi=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"client") ) { client=inValue.Cast< ::borogove::Client >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"stream") ) { stream=inValue.Cast< ::borogove::GenericStream >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"filter") ) { filter=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"handler") ) { handler=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"lastPage") ) { lastPage=inValue.Cast< ::Dynamic >(); return inValue; }
+ 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 10:
+ if (HX_FIELD_EQ(inName,"serviceJID") ) { serviceJID=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"errorHandler") ) { errorHandler=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"contextHandler") ) { contextHandler=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"newestPageFirst") ) { newestPageFirst=inValue.Cast< bool >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void MessageSync_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("client",4b,ca,4f,0a));
+ 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_("lastPage",c5,f3,9a,dd));
+ outFields->push(HX_("progress",ad,f7,2a,86));
+ outFields->push(HX_("complete",b9,00,c8,7f));
+ outFields->push(HX_("newestPageFirst",9b,ce,b0,7d));
+ outFields->push(HX_("jmi",46,ce,50,00));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo MessageSync_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::Client */ ,(int)offsetof(MessageSync_obj,client),HX_("client",4b,ca,4f,0a)},
+ {::hx::fsObject /* ::borogove::GenericStream */ ,(int)offsetof(MessageSync_obj,stream),HX_("stream",80,14,2d,11)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(MessageSync_obj,filter),HX_("filter",b8,1f,35,85)},
+ {::hx::fsString,(int)offsetof(MessageSync_obj,serviceJID),HX_("serviceJID",90,19,2d,7d)},
+ {::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::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)},
+ {::hx::fsBool,(int)offsetof(MessageSync_obj,newestPageFirst),HX_("newestPageFirst",9b,ce,b0,7d)},
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(MessageSync_obj,jmi),HX_("jmi",46,ce,50,00)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *MessageSync_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String MessageSync_obj_sMemberFields[] = {
+ HX_("client",4b,ca,4f,0a),
+ HX_("stream",80,14,2d,11),
+ HX_("filter",b8,1f,35,85),
+ HX_("serviceJID",90,19,2d,7d),
+ HX_("handler",ca,af,d5,45),
+ HX_("contextHandler",9b,6d,14,e9),
+ HX_("errorHandler",e2,94,05,f7),
+ HX_("lastPage",c5,f3,9a,dd),
+ HX_("progress",ad,f7,2a,86),
+ HX_("complete",b9,00,c8,7f),
+ HX_("newestPageFirst",9b,ce,b0,7d),
+ HX_("jmi",46,ce,50,00),
+ HX_("fetchNext",4d,6a,ad,1f),
+ HX_("hasMore",0f,00,a5,17),
+ HX_("addContext",ce,c1,01,81),
+ HX_("onMessages",0b,ad,b4,12),
+ HX_("onError",29,6a,67,09),
+ HX_("setNewestPageFirst",19,a1,25,0d),
+ ::String(null()) };
+
+::hx::Class MessageSync_obj::__mClass;
+
+void MessageSync_obj::__register()
+{
+ MessageSync_obj _hx_dummy;
+ MessageSync_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.MessageSync",d5,52,9a,8d);
+ __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(MessageSync_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< MessageSync_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = MessageSync_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = MessageSync_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/ModerationAction.cpp b/Sources/c_borogove/src/borogove/ModerationAction.cpp
similarity index 91%
rename from Sources/c_snikket/src/snikket/ModerationAction.cpp
rename to Sources/c_borogove/src/borogove/ModerationAction.cpp
index 3e3c85e..da5d81d 100644
--- a/Sources/c_snikket/src/snikket/ModerationAction.cpp
+++ b/Sources/c_borogove/src/borogove/ModerationAction.cpp
@@ -1,15 +1,15 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_ModerationAction
-#include <snikket/ModerationAction.h>
+#ifndef INCLUDED_borogove_ModerationAction
+#include <borogove/ModerationAction.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_cab007b58fe42bf8_10_new,"snikket.ModerationAction","new",0x79208b9f,"snikket.ModerationAction.new","snikket/ModerationAction.hx",10,0x7a73b150)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_1331bd461281db0a_10_new,"borogove.ModerationAction","new",0x2766727b,"borogove.ModerationAction.new","borogove/ModerationAction.hx",10,0x442159f4)
+namespace borogove{
void ModerationAction_obj::__construct(::String chatId,::String moderateServerId,::String timestamp,::String moderatorId,::String reason){
- HX_STACKFRAME(&_hx_pos_cab007b58fe42bf8_10_new)
+ HX_STACKFRAME(&_hx_pos_1331bd461281db0a_10_new)
HXLINE( 11) this->chatId = chatId;
HXLINE( 12) this->moderateServerId = moderateServerId;
HXLINE( 13) this->timestamp = timestamp;
@@ -29,7 +29,7 @@ Dynamic ModerationAction_obj::__Create(::hx::DynamicArray inArgs)
}
bool ModerationAction_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x2ac69cd9;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x67bec1fd;
}
@@ -132,7 +132,7 @@ void ModerationAction_obj::__register()
ModerationAction_obj _hx_dummy;
ModerationAction_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.ModerationAction",2d,d0,b4,ae);
+ __mClass->mName = HX_("borogove.ModerationAction",09,19,0f,22);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -150,4 +150,4 @@ void ModerationAction_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/NS.cpp b/Sources/c_borogove/src/borogove/NS.cpp
new file mode 100644
index 0000000..26c9682
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/NS.cpp
@@ -0,0 +1,114 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_NS
+#include <borogove/NS.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_57dab57684bef34a_4_boot,"borogove.NS","boot",0xd8faaeae,"borogove.NS.boot","borogove/NS.hx",4,0x71620aeb)
+namespace borogove{
+
+void NS_obj::__construct() { }
+
+Dynamic NS_obj::__CreateEmpty() { return new NS_obj; }
+
+void *NS_obj::_hx_vtable = 0;
+
+Dynamic NS_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< NS_obj > _hx_result = new NS_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool NS_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2a812392;
+}
+
+::String NS_obj::OMEMO;
+
+
+NS_obj::NS_obj()
+{
+}
+
+bool NS_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"OMEMO") ) { outValue = ( OMEMO ); return true; }
+ }
+ return false;
+}
+
+bool NS_obj::__SetStatic(const ::String &inName,Dynamic &ioValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"OMEMO") ) { OMEMO=ioValue.Cast< ::String >(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *NS_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo NS_obj_sStaticStorageInfo[] = {
+ {::hx::fsString,(void *) &NS_obj::OMEMO,HX_("OMEMO",89,e0,c1,af)},
+ { ::hx::fsUnknown, 0, null()}
+};
+#endif
+
+static void NS_obj_sMarkStatics(HX_MARK_PARAMS) {
+ HX_MARK_MEMBER_NAME(NS_obj::OMEMO,"OMEMO");
+};
+
+#ifdef HXCPP_VISIT_ALLOCS
+static void NS_obj_sVisitStatics(HX_VISIT_PARAMS) {
+ HX_VISIT_MEMBER_NAME(NS_obj::OMEMO,"OMEMO");
+};
+
+#endif
+
+::hx::Class NS_obj::__mClass;
+
+static ::String NS_obj_sStaticFields[] = {
+ HX_("OMEMO",89,e0,c1,af),
+ ::String(null())
+};
+
+void NS_obj::__register()
+{
+ NS_obj _hx_dummy;
+ NS_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.NS",72,47,bd,c2);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &NS_obj::__GetStatic;
+ __mClass->mSetStaticField = &NS_obj::__SetStatic;
+ __mClass->mMarkFunc = NS_obj_sMarkStatics;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(NS_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< NS_obj >;
+#ifdef HXCPP_VISIT_ALLOCS
+ __mClass->mVisitFunc = NS_obj_sVisitStatics;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = NS_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = NS_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void NS_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_57dab57684bef34a_4_boot)
+HXDLIN( 4) OMEMO = HX_("eu.siacs.conversations.axolotl",44,2e,02,36);
+ }
+}
+
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/Node.cpp b/Sources/c_borogove/src/borogove/Node.cpp
similarity index 78%
rename from Sources/c_snikket/src/snikket/Node.cpp
rename to Sources/c_borogove/src/borogove/Node.cpp
index a67c057..a47cc7b 100644
--- a/Sources/c_snikket/src/snikket/Node.cpp
+++ b/Sources/c_borogove/src/borogove/Node.cpp
@@ -1,23 +1,20 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_Node
-#include <snikket/Node.h>
+#ifndef INCLUDED_borogove_Node
+#include <borogove/Node.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-namespace snikket{
+namespace borogove{
-::snikket::Node Node_obj::CData(::String textNode)
+::borogove::Node Node_obj::CData(::String textNode)
{
return ::hx::CreateEnum< Node_obj >(HX_("CData",0d,60,15,c1),1,1)->_hx_init(0,textNode);
}
-::snikket::Node Node_obj::Element( ::snikket::Stanza stanza)
+::borogove::Node Node_obj::Element( ::borogove::Stanza stanza)
{
return ::hx::CreateEnum< Node_obj >(HX_("Element",9c,d6,a5,d3),0,1)->_hx_init(0,stanza);
}
@@ -69,7 +66,7 @@ Dynamic __Create_Node_obj() { return new Node_obj; }
void Node_obj::__register()
{
-::hx::Static(__mClass) = ::hx::_hx_RegisterClass(HX_("snikket.Node",b3,af,c7,53), ::hx::TCanCast< Node_obj >,Node_obj_sStaticFields,0,
+::hx::Static(__mClass) = ::hx::_hx_RegisterClass(HX_("borogove.Node",8f,1e,49,e2), ::hx::TCanCast< Node_obj >,Node_obj_sStaticFields,0,
&__Create_Node_obj, &__Create,
&super::__SGetClass(), &CreateNode_obj, 0
#ifdef HXCPP_VISIT_ALLOCS
@@ -87,4 +84,4 @@ void Node_obj::__boot()
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/Notification.cpp b/Sources/c_borogove/src/borogove/Notification.cpp
similarity index 66%
rename from Sources/c_snikket/src/snikket/Notification.cpp
rename to Sources/c_borogove/src/borogove/Notification.cpp
index 0aa7a21..e1492c7 100644
--- a/Sources/c_snikket/src/snikket/Notification.cpp
+++ b/Sources/c_borogove/src/borogove/Notification.cpp
@@ -4,57 +4,54 @@
#ifndef INCLUDED_Reflect
#include <Reflect.h>
#endif
-#ifndef INCLUDED_snikket_ChatAttachment
-#include <snikket/ChatAttachment.h>
+#ifndef INCLUDED_borogove_ChatAttachment
+#include <borogove/ChatAttachment.h>
#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
#endif
-#ifndef INCLUDED_snikket_Notification
-#include <snikket/Notification.h>
+#ifndef INCLUDED_borogove_Notification
+#include <borogove/Notification.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_b0a79cae3ba17812_31_new,"snikket.Notification","new",0x26dbd48e,"snikket.Notification.new","snikket/Notification.hx",31,0x3ec09fc1)
-HX_LOCAL_STACK_FRAME(_hx_pos_a71b5c2960d44fdc_355_title__fromC,"snikket.Notification","title__fromC",0x471ac3f3,"snikket.Notification.title__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a71b5c2960d44fdc_355_body__fromC,"snikket.Notification","body__fromC",0x310d5045,"snikket.Notification.body__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a71b5c2960d44fdc_355_accountId__fromC,"snikket.Notification","accountId__fromC",0x303bf2a3,"snikket.Notification.accountId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a71b5c2960d44fdc_355_chatId__fromC,"snikket.Notification","chatId__fromC",0xd6de45b4,"snikket.Notification.chatId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a71b5c2960d44fdc_355_senderId__fromC,"snikket.Notification","senderId__fromC",0x285da0b7,"snikket.Notification.senderId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a71b5c2960d44fdc_355_messageId__fromC,"snikket.Notification","messageId__fromC",0x04e5c649,"snikket.Notification.messageId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a71b5c2960d44fdc_355_type__fromC,"snikket.Notification","type__fromC",0x2ef98b2d,"snikket.Notification.type__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a71b5c2960d44fdc_355_callStatus__fromC,"snikket.Notification","callStatus__fromC",0x3a2418b7,"snikket.Notification.callStatus__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a71b5c2960d44fdc_355_callSid__fromC,"snikket.Notification","callSid__fromC",0x1bec6bfb,"snikket.Notification.callSid__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a71b5c2960d44fdc_355_imageUri__fromC,"snikket.Notification","imageUri__fromC",0xc4a25ef6,"snikket.Notification.imageUri__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a71b5c2960d44fdc_355_lang__fromC,"snikket.Notification","lang__fromC",0xed8d0679,"snikket.Notification.lang__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a71b5c2960d44fdc_355_timestamp__fromC,"snikket.Notification","timestamp__fromC",0xec75f975,"snikket.Notification.timestamp__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_b0a79cae3ba17812_47_fromChatMessage,"snikket.Notification","fromChatMessage",0xbfab11b3,"snikket.Notification.fromChatMessage","snikket/Notification.hx",47,0x3ec09fc1)
-HX_LOCAL_STACK_FRAME(_hx_pos_b0a79cae3ba17812_73_fromThinStanza,"snikket.Notification","fromThinStanza",0xff0721ca,"snikket.Notification.fromThinStanza","snikket/Notification.hx",73,0x3ec09fc1)
-HX_LOCAL_STACK_FRAME(_hx_pos_b0a79cae3ba17812_16_boot,"snikket.Notification","boot",0xd1972844,"snikket.Notification.boot","snikket/Notification.hx",16,0x3ec09fc1)
-namespace snikket{
+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_423_title__fromC,"borogove.Notification","title__fromC",0xca367f97,"borogove.Notification.title__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_423_body__fromC,"borogove.Notification","body__fromC",0xbb65d521,"borogove.Notification.body__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_423_accountId__fromC,"borogove.Notification","accountId__fromC",0x39085047,"borogove.Notification.accountId__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_423_chatId__fromC,"borogove.Notification","chatId__fromC",0x0c06b990,"borogove.Notification.chatId__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_423_senderId__fromC,"borogove.Notification","senderId__fromC",0x4f6fc393,"borogove.Notification.senderId__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_423_messageId__fromC,"borogove.Notification","messageId__fromC",0x0db223ed,"borogove.Notification.messageId__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_423_type__fromC,"borogove.Notification","type__fromC",0xb9521009,"borogove.Notification.type__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_423_callStatus__fromC,"borogove.Notification","callStatus__fromC",0xe429aa93,"borogove.Notification.callStatus__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_423_callSid__fromC,"borogove.Notification","callSid__fromC",0x6a29589f,"borogove.Notification.callSid__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_423_imageUri__fromC,"borogove.Notification","imageUri__fromC",0xebb481d2,"borogove.Notification.imageUri__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_423_lang__fromC,"borogove.Notification","lang__fromC",0x77e58b55,"borogove.Notification.lang__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_423_timestamp__fromC,"borogove.Notification","timestamp__fromC",0xf5425719,"borogove.Notification.timestamp__fromC","HaxeCBridge.hx",423,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_16_boot,"borogove.Notification","boot",0x4d3c9fe8,"borogove.Notification.boot","borogove/Notification.hx",16,0x6f7c2665)
+namespace borogove{
void Notification_obj::__construct(::String title,::String body,::String accountId,::String chatId,::String senderId,::String messageId,int type,::String callStatus,::String callSid,::String imageUri,::String lang,::String timestamp){
- HX_STACKFRAME(&_hx_pos_b0a79cae3ba17812_31_new)
-HXLINE( 32) this->title = title;
-HXLINE( 33) this->body = body;
-HXLINE( 34) this->accountId = accountId;
-HXLINE( 35) this->chatId = chatId;
-HXLINE( 36) this->senderId = senderId;
-HXLINE( 37) this->messageId = messageId;
-HXLINE( 38) this->type = type;
-HXLINE( 39) this->callStatus = callStatus;
-HXLINE( 40) this->callSid = callSid;
-HXLINE( 41) this->imageUri = imageUri;
-HXLINE( 42) this->lang = lang;
-HXLINE( 43) this->timestamp = timestamp;
+ HX_STACKFRAME(&_hx_pos_44a57d84c61de0e9_67_new)
+HXLINE( 68) this->title = title;
+HXLINE( 69) this->body = body;
+HXLINE( 70) this->accountId = accountId;
+HXLINE( 71) this->chatId = chatId;
+HXLINE( 72) this->senderId = senderId;
+HXLINE( 73) this->messageId = messageId;
+HXLINE( 74) this->type = type;
+HXLINE( 75) this->callStatus = callStatus;
+HXLINE( 76) this->callSid = callSid;
+HXLINE( 77) this->imageUri = imageUri;
+HXLINE( 78) this->lang = lang;
+HXLINE( 79) this->timestamp = timestamp;
}
Dynamic Notification_obj::__CreateEmpty() { return new Notification_obj; }
@@ -69,139 +66,139 @@ Dynamic Notification_obj::__Create(::hx::DynamicArray inArgs)
}
bool Notification_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x778a3c48;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x5c77ff6c;
}
::String Notification_obj::title__fromC(){
- HX_STACKFRAME(&_hx_pos_a71b5c2960d44fdc_355_title__fromC)
-HXDLIN( 355) return this->title;
+ HX_STACKFRAME(&_hx_pos_a36c4e022559a091_423_title__fromC)
+HXDLIN( 423) return this->title;
}
HX_DEFINE_DYNAMIC_FUNC0(Notification_obj,title__fromC,return )
::String Notification_obj::body__fromC(){
- HX_STACKFRAME(&_hx_pos_a71b5c2960d44fdc_355_body__fromC)
-HXDLIN( 355) return this->body;
+ HX_STACKFRAME(&_hx_pos_a36c4e022559a091_423_body__fromC)
+HXDLIN( 423) return this->body;
}
HX_DEFINE_DYNAMIC_FUNC0(Notification_obj,body__fromC,return )
::String Notification_obj::accountId__fromC(){
- HX_STACKFRAME(&_hx_pos_a71b5c2960d44fdc_355_accountId__fromC)
-HXDLIN( 355) return this->accountId;
+ HX_STACKFRAME(&_hx_pos_a36c4e022559a091_423_accountId__fromC)
+HXDLIN( 423) return this->accountId;
}
HX_DEFINE_DYNAMIC_FUNC0(Notification_obj,accountId__fromC,return )
::String Notification_obj::chatId__fromC(){
- HX_STACKFRAME(&_hx_pos_a71b5c2960d44fdc_355_chatId__fromC)
-HXDLIN( 355) return this->chatId;
+ HX_STACKFRAME(&_hx_pos_a36c4e022559a091_423_chatId__fromC)
+HXDLIN( 423) return this->chatId;
}
HX_DEFINE_DYNAMIC_FUNC0(Notification_obj,chatId__fromC,return )
::String Notification_obj::senderId__fromC(){
- HX_STACKFRAME(&_hx_pos_a71b5c2960d44fdc_355_senderId__fromC)
-HXDLIN( 355) return this->senderId;
+ HX_STACKFRAME(&_hx_pos_a36c4e022559a091_423_senderId__fromC)
+HXDLIN( 423) return this->senderId;
}
HX_DEFINE_DYNAMIC_FUNC0(Notification_obj,senderId__fromC,return )
::String Notification_obj::messageId__fromC(){
- HX_STACKFRAME(&_hx_pos_a71b5c2960d44fdc_355_messageId__fromC)
-HXDLIN( 355) return this->messageId;
+ HX_STACKFRAME(&_hx_pos_a36c4e022559a091_423_messageId__fromC)
+HXDLIN( 423) return this->messageId;
}
HX_DEFINE_DYNAMIC_FUNC0(Notification_obj,messageId__fromC,return )
int Notification_obj::type__fromC(){
- HX_STACKFRAME(&_hx_pos_a71b5c2960d44fdc_355_type__fromC)
-HXDLIN( 355) return this->type;
+ HX_STACKFRAME(&_hx_pos_a36c4e022559a091_423_type__fromC)
+HXDLIN( 423) return this->type;
}
HX_DEFINE_DYNAMIC_FUNC0(Notification_obj,type__fromC,return )
::String Notification_obj::callStatus__fromC(){
- HX_STACKFRAME(&_hx_pos_a71b5c2960d44fdc_355_callStatus__fromC)
-HXDLIN( 355) return this->callStatus;
+ HX_STACKFRAME(&_hx_pos_a36c4e022559a091_423_callStatus__fromC)
+HXDLIN( 423) return this->callStatus;
}
HX_DEFINE_DYNAMIC_FUNC0(Notification_obj,callStatus__fromC,return )
::String Notification_obj::callSid__fromC(){
- HX_STACKFRAME(&_hx_pos_a71b5c2960d44fdc_355_callSid__fromC)
-HXDLIN( 355) return this->callSid;
+ HX_STACKFRAME(&_hx_pos_a36c4e022559a091_423_callSid__fromC)
+HXDLIN( 423) return this->callSid;
}
HX_DEFINE_DYNAMIC_FUNC0(Notification_obj,callSid__fromC,return )
::String Notification_obj::imageUri__fromC(){
- HX_STACKFRAME(&_hx_pos_a71b5c2960d44fdc_355_imageUri__fromC)
-HXDLIN( 355) return this->imageUri;
+ HX_STACKFRAME(&_hx_pos_a36c4e022559a091_423_imageUri__fromC)
+HXDLIN( 423) return this->imageUri;
}
HX_DEFINE_DYNAMIC_FUNC0(Notification_obj,imageUri__fromC,return )
::String Notification_obj::lang__fromC(){
- HX_STACKFRAME(&_hx_pos_a71b5c2960d44fdc_355_lang__fromC)
-HXDLIN( 355) return this->lang;
+ HX_STACKFRAME(&_hx_pos_a36c4e022559a091_423_lang__fromC)
+HXDLIN( 423) return this->lang;
}
HX_DEFINE_DYNAMIC_FUNC0(Notification_obj,lang__fromC,return )
::String Notification_obj::timestamp__fromC(){
- HX_STACKFRAME(&_hx_pos_a71b5c2960d44fdc_355_timestamp__fromC)
-HXDLIN( 355) return this->timestamp;
+ HX_STACKFRAME(&_hx_pos_a36c4e022559a091_423_timestamp__fromC)
+HXDLIN( 423) return this->timestamp;
}
HX_DEFINE_DYNAMIC_FUNC0(Notification_obj,timestamp__fromC,return )
- ::snikket::Notification Notification_obj::fromChatMessage( ::snikket::ChatMessage m){
- HX_GC_STACKFRAME(&_hx_pos_b0a79cae3ba17812_47_fromChatMessage)
-HXLINE( 48) ::String imageUri = null();
-HXLINE( 49) ::snikket::ChatAttachment attachment = m->attachments->__get(0).StaticCast< ::snikket::ChatAttachment >();
-HXLINE( 50) if (::hx::IsNotNull( attachment )) {
-HXLINE( 51) imageUri = attachment->uris->__get(0);
+ ::borogove::Notification Notification_obj::fromChatMessage( ::borogove::ChatMessage m){
+ HX_GC_STACKFRAME(&_hx_pos_44a57d84c61de0e9_83_fromChatMessage)
+HXLINE( 84) ::String imageUri = null();
+HXLINE( 85) ::borogove::ChatAttachment attachment = m->attachments->__get(0).StaticCast< ::borogove::ChatAttachment >();
+HXLINE( 86) if (::hx::IsNotNull( attachment )) {
+HXLINE( 87) imageUri = attachment->uris->__get(0);
}
-HXLINE( 54) ::String _hx_tmp;
-HXDLIN( 54) if ((m->type == 1)) {
-HXLINE( 54) _hx_tmp = HX_("Incoming Call",18,e2,4d,47);
+HXLINE( 90) ::String _hx_tmp;
+HXDLIN( 90) if ((m->type == 1)) {
+HXLINE( 90) _hx_tmp = HX_("Incoming Call",18,e2,4d,47);
}
else {
-HXLINE( 54) _hx_tmp = HX_("New Message",c7,69,0e,bd);
+HXLINE( 90) _hx_tmp = HX_("New Message",c7,69,0e,bd);
}
-HXLINE( 55) ::String m1 = m->text;
-HXLINE( 56) ::String _hx_tmp1 = m->account();
-HXLINE( 57) ::String _hx_tmp2 = m->chatId();
-HXLINE( 58) ::String m2 = m->senderId;
-HXLINE( 59) ::String m3 = m->serverId;
-HXLINE( 60) int m4 = m->type;
-HXLINE( 61) ::String _hx_tmp3 = m->callStatus();
-HXLINE( 62) ::String _hx_tmp4 = m->callSid();
-HXLINE( 53) return ::snikket::Notification_obj::__alloc( HX_CTX ,_hx_tmp,m1,_hx_tmp1,_hx_tmp2,m2,m3,m4,_hx_tmp3,_hx_tmp4,imageUri,m->lang,m->timestamp);
+HXLINE( 91) ::String m1 = m->text;
+HXLINE( 92) ::String _hx_tmp1 = m->account();
+HXLINE( 93) ::String _hx_tmp2 = m->chatId();
+HXLINE( 94) ::String m2 = m->senderId;
+HXLINE( 95) ::String m3 = m->serverId;
+HXLINE( 96) int m4 = m->type;
+HXLINE( 97) ::String _hx_tmp3 = m->callStatus();
+HXLINE( 98) ::String _hx_tmp4 = m->callSid();
+HXLINE( 89) return ::borogove::Notification_obj::__alloc( HX_CTX ,_hx_tmp,m1,_hx_tmp1,_hx_tmp2,m2,m3,m4,_hx_tmp3,_hx_tmp4,imageUri,m->lang,m->timestamp);
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Notification_obj,fromChatMessage,return )
- ::snikket::Notification Notification_obj::fromThinStanza( ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_b0a79cae3ba17812_73_fromThinStanza)
-HXLINE( 76) ::String _hx_tmp = ::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) ))->asBare()->asString();
-HXLINE( 77) ::String _hx_tmp1 = ::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ))->asBare()->asString();
-HXLINE( 78) ::String _hx_tmp2 = ::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ))->asString();
-HXLINE( 73) return ::snikket::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());
+ ::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());
}
@@ -424,7 +421,7 @@ void Notification_obj::__register()
Notification_obj _hx_dummy;
Notification_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Notification",9c,35,5f,5d);
+ __mClass->mName = HX_("borogove.Notification",78,e0,74,d7);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -445,7 +442,7 @@ void Notification_obj::__register()
void Notification_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_b0a79cae3ba17812_16_boot)
+ HX_STACKFRAME(&_hx_pos_44a57d84c61de0e9_16_boot)
HXDLIN( 16) __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_("type__fromC",ff,a8,6c,93), ::Dynamic(::hx::Anon_obj::Create(1)
@@ -475,4 +472,4 @@ HXDLIN( 16) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
}
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/Other.cpp b/Sources/c_borogove/src/borogove/Other.cpp
similarity index 71%
rename from Sources/c_snikket/src/snikket/Other.cpp
rename to Sources/c_borogove/src/borogove/Other.cpp
index 21b60e5..79d8e87 100644
--- a/Sources/c_snikket/src/snikket/Other.cpp
+++ b/Sources/c_borogove/src/borogove/Other.cpp
@@ -1,19 +1,19 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_Other
-#include <snikket/Other.h>
+#ifndef INCLUDED_borogove_Other
+#include <borogove/Other.h>
#endif
-#ifndef INCLUDED_snikket_Symbol
-#include <snikket/Symbol.h>
+#ifndef INCLUDED_borogove_Symbol
+#include <borogove/Symbol.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_aac171f877c525f9_146_new,"snikket.Other","new",0xfa8cc871,"snikket.Other.new","snikket/EmojiUtil.hx",146,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_aac171f877c525f9_150_isEmoji,"snikket.Other","isEmoji",0xac43e7cd,"snikket.Other.isEmoji","snikket/EmojiUtil.hx",150,0x30de6948)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_c8cb9fdf9d715eea_146_new,"borogove.Other","new",0x709ffc15,"borogove.Other.new","borogove/EmojiUtil.hx",146,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_c8cb9fdf9d715eea_150_isEmoji,"borogove.Other","isEmoji",0x0523bd71,"borogove.Other.isEmoji","borogove/EmojiUtil.hx",150,0xaaf41424)
+namespace borogove{
void Other_obj::__construct(::Array< int > codepoints){
- HX_STACKFRAME(&_hx_pos_aac171f877c525f9_146_new)
+ HX_STACKFRAME(&_hx_pos_c8cb9fdf9d715eea_146_new)
HXDLIN( 146) super::__construct(codepoints);
}
@@ -29,15 +29,15 @@ Dynamic Other_obj::__Create(::hx::DynamicArray inArgs)
}
bool Other_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x0c6697d3) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x0c6697d3;
+ if (inClassId<=(int)0x3b81d82f) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x3b81d82f;
} else {
- return inClassId==(int)0x4b1860f5;
+ return inClassId==(int)0x53d57119;
}
}
bool Other_obj::isEmoji(){
- HX_STACKFRAME(&_hx_pos_aac171f877c525f9_150_isEmoji)
+ HX_STACKFRAME(&_hx_pos_c8cb9fdf9d715eea_150_isEmoji)
HXDLIN( 150) return false;
}
@@ -72,7 +72,7 @@ void Other_obj::__register()
Other_obj _hx_dummy;
Other_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Other",ff,bb,a9,91);
+ __mClass->mName = HX_("borogove.Other",a3,4d,69,b4);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -90,4 +90,4 @@ void Other_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Outbox.cpp b/Sources/c_borogove/src/borogove/Outbox.cpp
new file mode 100644
index 0000000..3e04fc1
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Outbox.cpp
@@ -0,0 +1,197 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_Outbox
+#include <borogove/Outbox.h>
+#endif
+#ifndef INCLUDED_borogove_OutboxItem
+#include <borogove/OutboxItem.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_49615925a2963367_3_new,"borogove.Outbox","new",0x5e38e9fc,"borogove.Outbox.new","borogove/Outbox.hx",3,0xa091e0d3)
+HX_LOCAL_STACK_FRAME(_hx_pos_49615925a2963367_9_newItem,"borogove.Outbox","newItem",0x80f4892f,"borogove.Outbox.newItem","borogove/Outbox.hx",9,0xa091e0d3)
+HX_LOCAL_STACK_FRAME(_hx_pos_49615925a2963367_16_next,"borogove.Outbox","next",0x1393d3d7,"borogove.Outbox.next","borogove/Outbox.hx",16,0xa091e0d3)
+HX_LOCAL_STACK_FRAME(_hx_pos_49615925a2963367_26_pause,"borogove.Outbox","pause",0x31eb8f92,"borogove.Outbox.pause","borogove/Outbox.hx",26,0xa091e0d3)
+HX_LOCAL_STACK_FRAME(_hx_pos_49615925a2963367_29_start,"borogove.Outbox","start",0xf89f2cfe,"borogove.Outbox.start","borogove/Outbox.hx",29,0xa091e0d3)
+namespace borogove{
+
+void Outbox_obj::__construct(){
+ HX_STACKFRAME(&_hx_pos_49615925a2963367_3_new)
+HXLINE( 5) this->paused = true;
+HXLINE( 4) this->items = ::Array_obj< ::Dynamic>::__new(0);
+ }
+
+Dynamic Outbox_obj::__CreateEmpty() { return new Outbox_obj; }
+
+void *Outbox_obj::_hx_vtable = 0;
+
+Dynamic Outbox_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Outbox_obj > _hx_result = new Outbox_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Outbox_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x716e2bfe;
+}
+
+ ::borogove::OutboxItem Outbox_obj::newItem(){
+ HX_GC_STACKFRAME(&_hx_pos_49615925a2963367_9_newItem)
+HXLINE( 10) ::borogove::OutboxItem item = ::borogove::OutboxItem_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this));
+HXLINE( 11) this->items->push(item);
+HXLINE( 12) return item;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Outbox_obj,newItem,return )
+
+void Outbox_obj::next(){
+ HX_STACKFRAME(&_hx_pos_49615925a2963367_16_next)
+HXLINE( 17) if (this->paused) {
+HXLINE( 17) return;
+ }
+HXLINE( 18) if ((this->items->length < 1)) {
+HXLINE( 18) return;
+ }
+HXLINE( 19) if (this->items->__get(0).StaticCast< ::borogove::OutboxItem >()->run()) {
+HXLINE( 20) this->items->shift().StaticCast< ::borogove::OutboxItem >();
+HXLINE( 21) this->next();
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Outbox_obj,next,(void))
+
+void Outbox_obj::pause(){
+ HX_STACKFRAME(&_hx_pos_49615925a2963367_26_pause)
+HXDLIN( 26) this->paused = true;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Outbox_obj,pause,(void))
+
+void Outbox_obj::start(){
+ HX_STACKFRAME(&_hx_pos_49615925a2963367_29_start)
+HXLINE( 30) this->paused = false;
+HXLINE( 31) this->next();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Outbox_obj,start,(void))
+
+
+::hx::ObjectPtr< Outbox_obj > Outbox_obj::__new() {
+ ::hx::ObjectPtr< Outbox_obj > __this = new Outbox_obj();
+ __this->__construct();
+ return __this;
+}
+
+::hx::ObjectPtr< Outbox_obj > Outbox_obj::__alloc(::hx::Ctx *_hx_ctx) {
+ Outbox_obj *__this = (Outbox_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Outbox_obj), true, "borogove.Outbox"));
+ *(void **)__this = Outbox_obj::_hx_vtable;
+ __this->__construct();
+ return __this;
+}
+
+Outbox_obj::Outbox_obj()
+{
+}
+
+void Outbox_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Outbox);
+ HX_MARK_MEMBER_NAME(items,"items");
+ HX_MARK_MEMBER_NAME(paused,"paused");
+ HX_MARK_END_CLASS();
+}
+
+void Outbox_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(items,"items");
+ HX_VISIT_MEMBER_NAME(paused,"paused");
+}
+
+::hx::Val Outbox_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"next") ) { return ::hx::Val( next_dyn() ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"items") ) { return ::hx::Val( items ); }
+ if (HX_FIELD_EQ(inName,"pause") ) { return ::hx::Val( pause_dyn() ); }
+ if (HX_FIELD_EQ(inName,"start") ) { return ::hx::Val( start_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"paused") ) { return ::hx::Val( paused ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"newItem") ) { return ::hx::Val( newItem_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val Outbox_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"items") ) { items=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"paused") ) { paused=inValue.Cast< bool >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void Outbox_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("items",00,ac,0c,c2));
+ outFields->push(HX_("paused",ae,40,84,ef));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo Outbox_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(Outbox_obj,items),HX_("items",00,ac,0c,c2)},
+ {::hx::fsBool,(int)offsetof(Outbox_obj,paused),HX_("paused",ae,40,84,ef)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *Outbox_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Outbox_obj_sMemberFields[] = {
+ HX_("items",00,ac,0c,c2),
+ HX_("paused",ae,40,84,ef),
+ HX_("newItem",93,71,8c,f5),
+ HX_("next",f3,84,02,49),
+ HX_("pause",f6,d6,57,bd),
+ HX_("start",62,74,0b,84),
+ ::String(null()) };
+
+::hx::Class Outbox_obj::__mClass;
+
+void Outbox_obj::__register()
+{
+ Outbox_obj _hx_dummy;
+ Outbox_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Outbox",0a,7c,0d,c3);
+ __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(Outbox_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Outbox_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Outbox_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Outbox_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/OutboxItem.cpp b/Sources/c_borogove/src/borogove/OutboxItem.cpp
new file mode 100644
index 0000000..c3a49a3
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/OutboxItem.cpp
@@ -0,0 +1,165 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_Outbox
+#include <borogove/Outbox.h>
+#endif
+#ifndef INCLUDED_borogove_OutboxItem
+#include <borogove/OutboxItem.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_d21195ccef1b7982_35_new,"borogove.OutboxItem","new",0xaee83daf,"borogove.OutboxItem.new","borogove/Outbox.hx",35,0xa091e0d3)
+HX_LOCAL_STACK_FRAME(_hx_pos_d21195ccef1b7982_44_handle,"borogove.OutboxItem","handle",0x9e6311b9,"borogove.OutboxItem.handle","borogove/Outbox.hx",44,0xa091e0d3)
+HX_LOCAL_STACK_FRAME(_hx_pos_d21195ccef1b7982_50_run,"borogove.OutboxItem","run",0xaeeb549a,"borogove.OutboxItem.run","borogove/Outbox.hx",50,0xa091e0d3)
+namespace borogove{
+
+void OutboxItem_obj::__construct( ::borogove::Outbox outbox){
+ HX_STACKFRAME(&_hx_pos_d21195ccef1b7982_35_new)
+HXLINE( 37) this->_handle = null();
+HXLINE( 41) this->outbox = outbox;
+ }
+
+Dynamic OutboxItem_obj::__CreateEmpty() { return new OutboxItem_obj; }
+
+void *OutboxItem_obj::_hx_vtable = 0;
+
+Dynamic OutboxItem_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< OutboxItem_obj > _hx_result = new OutboxItem_obj();
+ _hx_result->__construct(inArgs[0]);
+ return _hx_result;
+}
+
+bool OutboxItem_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x6bbff431;
+}
+
+void OutboxItem_obj::handle( ::Dynamic f){
+ HX_STACKFRAME(&_hx_pos_d21195ccef1b7982_44_handle)
+HXLINE( 45) this->_handle = f;
+HXLINE( 46) this->outbox->next();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(OutboxItem_obj,handle,(void))
+
+bool OutboxItem_obj::run(){
+ HX_STACKFRAME(&_hx_pos_d21195ccef1b7982_50_run)
+HXLINE( 51) if (::hx::IsNull( this->_handle )) {
+HXLINE( 51) return false;
+ }
+HXLINE( 53) this->_handle();
+HXLINE( 54) return true;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(OutboxItem_obj,run,return )
+
+
+::hx::ObjectPtr< OutboxItem_obj > OutboxItem_obj::__new( ::borogove::Outbox outbox) {
+ ::hx::ObjectPtr< OutboxItem_obj > __this = new OutboxItem_obj();
+ __this->__construct(outbox);
+ return __this;
+}
+
+::hx::ObjectPtr< OutboxItem_obj > OutboxItem_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Outbox outbox) {
+ OutboxItem_obj *__this = (OutboxItem_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(OutboxItem_obj), true, "borogove.OutboxItem"));
+ *(void **)__this = OutboxItem_obj::_hx_vtable;
+ __this->__construct(outbox);
+ return __this;
+}
+
+OutboxItem_obj::OutboxItem_obj()
+{
+}
+
+void OutboxItem_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(OutboxItem);
+ HX_MARK_MEMBER_NAME(outbox,"outbox");
+ HX_MARK_MEMBER_NAME(_handle,"_handle");
+ HX_MARK_END_CLASS();
+}
+
+void OutboxItem_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(outbox,"outbox");
+ HX_VISIT_MEMBER_NAME(_handle,"_handle");
+}
+
+::hx::Val OutboxItem_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"run") ) { return ::hx::Val( run_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"outbox") ) { return ::hx::Val( outbox ); }
+ if (HX_FIELD_EQ(inName,"handle") ) { return ::hx::Val( handle_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"_handle") ) { return ::hx::Val( _handle ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val OutboxItem_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 6:
+ if (HX_FIELD_EQ(inName,"outbox") ) { outbox=inValue.Cast< ::borogove::Outbox >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"_handle") ) { _handle=inValue.Cast< ::Dynamic >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void OutboxItem_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("outbox",3d,6a,76,0c));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo OutboxItem_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::Outbox */ ,(int)offsetof(OutboxItem_obj,outbox),HX_("outbox",3d,6a,76,0c)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(OutboxItem_obj,_handle),HX_("_handle",47,95,74,26)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *OutboxItem_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String OutboxItem_obj_sMemberFields[] = {
+ HX_("outbox",3d,6a,76,0c),
+ HX_("_handle",47,95,74,26),
+ HX_("handle",a8,83,fd,b7),
+ HX_("run",4b,e7,56,00),
+ ::String(null()) };
+
+::hx::Class OutboxItem_obj::__mClass;
+
+void OutboxItem_obj::__register()
+{
+ OutboxItem_obj _hx_dummy;
+ OutboxItem_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.OutboxItem",3d,3a,16,70);
+ __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(OutboxItem_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< OutboxItem_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = OutboxItem_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = OutboxItem_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Participant.cpp b/Sources/c_borogove/src/borogove/Participant.cpp
new file mode 100644
index 0000000..e4a2287
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Participant.cpp
@@ -0,0 +1,377 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.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_Stanza
+#include <borogove/Stanza.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_25_new,"borogove.Participant","new",0x618fcab8,"borogove.Participant.new","borogove/Participant.hx",25,0xf8259379)
+HX_LOCAL_STACK_FRAME(_hx_pos_9afbd85bbbe40848_423_displayName__fromC,"borogove.Participant","displayName__fromC",0xdcc10714,"borogove.Participant.displayName__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9afbd85bbbe40848_423_photoUri__fromC,"borogove.Participant","photoUri__fromC",0x9f724837,"borogove.Participant.photoUri__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9afbd85bbbe40848_423_placeholderUri__fromC,"borogove.Participant","placeholderUri__fromC",0x53e4a038,"borogove.Participant.placeholderUri__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9afbd85bbbe40848_423_isSelf__fromC,"borogove.Participant","isSelf__fromC",0xdd7b56fb,"borogove.Participant.isSelf__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74a0113f4a5624a8_37_profile,"borogove.Participant","profile",0xe64d4f81,"borogove.Participant.profile","borogove/Participant.hx",37,0xf8259379)
+HX_LOCAL_STACK_FRAME(_hx_pos_74a0113f4a5624a8_35_profile,"borogove.Participant","profile",0xe64d4f81,"borogove.Participant.profile","borogove/Participant.hx",35,0xf8259379)
+HX_LOCAL_STACK_FRAME(_hx_pos_74a0113f4a5624a8_34_profile,"borogove.Participant","profile",0xe64d4f81,"borogove.Participant.profile","borogove/Participant.hx",34,0xf8259379)
+HX_LOCAL_STACK_FRAME(_hx_pos_9afbd85bbbe40848_313_profile__fromC,"borogove.Participant","profile__fromC",0x01e28318,"borogove.Participant.profile__fromC","HaxeCBridge.hx",313,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74a0113f4a5624a8_17_boot,"borogove.Participant","boot",0xf45a96da,"borogove.Participant.boot","borogove/Participant.hx",17,0xf8259379)
+namespace borogove{
+
+void Participant_obj::__construct(::String displayName,::String photoUri,::String placeholderUri,bool isSelf, ::borogove::JID jid){
+ HX_STACKFRAME(&_hx_pos_74a0113f4a5624a8_25_new)
+HXLINE( 26) this->displayName = displayName;
+HXLINE( 27) this->photoUri = photoUri;
+HXLINE( 28) this->placeholderUri = placeholderUri;
+HXLINE( 29) this->isSelf = isSelf;
+HXLINE( 30) 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]);
+ 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_423_displayName__fromC)
+HXDLIN( 423) return this->displayName;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Participant_obj,displayName__fromC,return )
+
+::String Participant_obj::photoUri__fromC(){
+ HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_423_photoUri__fromC)
+HXDLIN( 423) return this->photoUri;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Participant_obj,photoUri__fromC,return )
+
+::String Participant_obj::placeholderUri__fromC(){
+ HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_423_placeholderUri__fromC)
+HXDLIN( 423) return this->placeholderUri;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Participant_obj,placeholderUri__fromC,return )
+
+bool Participant_obj::isSelf__fromC(){
+ HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_423_isSelf__fromC)
+HXDLIN( 423) return this->isSelf;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Participant_obj,isSelf__fromC,return )
+
+::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_37_profile)
+HXLINE( 38) ::borogove::Stanza item = get->getResult()->__get(0).StaticCast< ::borogove::Stanza >();
+HXLINE( 39) ::borogove::Stanza fromItem;
+HXDLIN( 39) if (::hx::IsNotNull( item )) {
+HXLINE( 39) fromItem = item->getChild(HX_("vcard",46,91,02,33),HX_("urn:ietf:params:xml:ns:vcard-4.0",6e,ca,81,21));
+ }
+ else {
+HXLINE( 39) fromItem = null();
+ }
+HXLINE( 40) ::borogove::Stanza vcard;
+HXDLIN( 40) if (::hx::IsNull( fromItem )) {
+HXLINE( 40) 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( 40) vcard = fromItem;
+ }
+HXLINE( 41) if (!(vcard->hasChild(HX_("fn",48,59,00,00),null()))) {
+HXLINE( 42) 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( 44) ::Dynamic resolve1 = resolve;
+HXDLIN( 44) resolve1( ::borogove::Profile_obj::__alloc( HX_CTX ,vcard,null()));
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_74a0113f4a5624a8_35_profile)
+HXLINE( 36) ::borogove::queries::PubsubGet get = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,_gthis->jid->asString(),HX_("urn:xmpp:vcard4",4a,89,04,19),null());
+HXLINE( 37) get->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,resolve,get)));
+HXLINE( 46) client->sendQuery(get);
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ HX_STACKFRAME(&_hx_pos_74a0113f4a5624a8_34_profile)
+HXDLIN( 34) ::borogove::Participant _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 35) 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_313_profile__fromC)
+HXDLIN( 313) if (::hx::IsNull( handler )) {
+HXDLIN( 313) 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_313_profile__fromC)
+HXDLIN( 313) ::cpp::Function< void (void*,void*) > handler1 = handler;
+HXLINE( 297) ::Dynamic haxeObject = v;
+HXDLIN( 297) void* ptr = haxeObject.mPtr;
+HXDLIN( 297) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 297) {
+HXLINE( 297) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 297) if (::hx::IsNull( store )) {
+HXLINE( 297) 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( 297) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 297) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 313) 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_313_profile__fromC)
+HXDLIN( 313) handler(null(),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 313) ::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)));
+ }
+ }
+
+
+
+::hx::ObjectPtr< Participant_obj > Participant_obj::__new(::String displayName,::String photoUri,::String placeholderUri,bool isSelf, ::borogove::JID jid) {
+ ::hx::ObjectPtr< Participant_obj > __this = new Participant_obj();
+ __this->__construct(displayName,photoUri,placeholderUri,isSelf,jid);
+ return __this;
+}
+
+::hx::ObjectPtr< Participant_obj > Participant_obj::__alloc(::hx::Ctx *_hx_ctx,::String displayName,::String photoUri,::String placeholderUri,bool isSelf, ::borogove::JID jid) {
+ 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,jid);
+ 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(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(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 6:
+ if (HX_FIELD_EQ(inName,"isSelf") ) { return ::hx::Val( isSelf ); }
+ 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 ); }
+ 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 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_("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::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_("jid",c5,ca,50,00),
+ HX_("profile",29,49,49,f3),
+ ::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_17_boot)
+HXDLIN( 17) __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_("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_("photoUri__fromC",df,29,fc,dc), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(2,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(3,HX_("profile__fromC",70,8e,62,f4), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(4,HX_("isSelf__fromC",a3,fe,4d,03), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(5,HX_("displayName__fromC",6c,9e,e5,22), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
+ }
+}
+
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/Persistence.cpp b/Sources/c_borogove/src/borogove/Persistence.cpp
similarity index 68%
rename from Sources/c_snikket/src/snikket/Persistence.cpp
rename to Sources/c_borogove/src/borogove/Persistence.cpp
index 96fdd7c..cc1a27c 100644
--- a/Sources/c_snikket/src/snikket/Persistence.cpp
+++ b/Sources/c_borogove/src/borogove/Persistence.cpp
@@ -1,27 +1,27 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_Caps
-#include <snikket/Caps.h>
+#ifndef INCLUDED_borogove_Caps
+#include <borogove/Caps.h>
#endif
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
+#ifndef INCLUDED_borogove_Chat
+#include <borogove/Chat.h>
#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
#endif
-#ifndef INCLUDED_snikket_Persistence
-#include <snikket/Persistence.h>
+#ifndef INCLUDED_borogove_Persistence
+#include <borogove/Persistence.h>
#endif
-#ifndef INCLUDED_snikket_ReactionUpdate
-#include <snikket/ReactionUpdate.h>
+#ifndef INCLUDED_borogove_ReactionUpdate
+#include <borogove/ReactionUpdate.h>
#endif
-#ifndef INCLUDED_snikket_SerializedChat
-#include <snikket/SerializedChat.h>
+#ifndef INCLUDED_thenshim_Thenable
+#include <thenshim/Thenable.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_6a657925c17c54af_11_boot,"snikket.Persistence","boot",0xeeb1eed2,"snikket.Persistence.boot","snikket/Persistence.hx",11,0xd1747d71)
-namespace snikket{
+HX_LOCAL_STACK_FRAME(_hx_pos_86b0a481bb186c19_17_boot,"borogove.Persistence","boot",0x620c37ae,"borogove.Persistence.boot","borogove/Persistence.hx",17,0x3c6f974d)
+namespace borogove{
static ::String Persistence_obj_sMemberFields[] = {
@@ -57,18 +57,18 @@ static ::String Persistence_obj_sMemberFields[] = {
void Persistence_obj::__register()
{
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Persistence",ce,f9,15,7d);
+ __mClass->mName = HX_("borogove.Persistence",72,5e,18,05);
__mClass->mSuper = &super::__SGetClass();
__mClass->mMembers = ::hx::Class_obj::dupFunctions(Persistence_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TIsInterface< (int)0x3e9d59e2 >;
+ __mClass->mCanCast = ::hx::TIsInterface< (int)0xb8b304be >;
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
void Persistence_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_6a657925c17c54af_11_boot)
-HXDLIN( 11) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_86b0a481bb186c19_17_boot)
+HXDLIN( 17) __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_("getChatsUnreadDetails",ee,d4,5a,85), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
@@ -77,4 +77,4 @@ HXDLIN( 11) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
}
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/Presence.cpp b/Sources/c_borogove/src/borogove/Presence.cpp
similarity index 58%
rename from Sources/c_snikket/src/snikket/Presence.cpp
rename to Sources/c_borogove/src/borogove/Presence.cpp
index 40f67fc..0c1954a 100644
--- a/Sources/c_snikket/src/snikket/Presence.cpp
+++ b/Sources/c_borogove/src/borogove/Presence.cpp
@@ -1,26 +1,27 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_Caps
-#include <snikket/Caps.h>
+#ifndef INCLUDED_borogove_Caps
+#include <borogove/Caps.h>
#endif
-#ifndef INCLUDED_snikket_Presence
-#include <snikket/Presence.h>
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Presence
+#include <borogove/Presence.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_75a95b95fe90dc08_8_new,"snikket.Presence","new",0x129c6b5e,"snikket.Presence.new","snikket/Presence.hx",8,0x5c3c1771)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_1d9bbb58bea02cc4_12_new,"borogove.Presence","new",0x8cb2163a,"borogove.Presence.new","borogove/Presence.hx",12,0xe43e7c15)
+namespace borogove{
-void Presence_obj::__construct( ::snikket::Caps caps, ::snikket::Stanza mucUser){
- HX_STACKFRAME(&_hx_pos_75a95b95fe90dc08_8_new)
-HXLINE( 9) this->caps = caps;
-HXLINE( 10) this->mucUser = mucUser;
+void Presence_obj::__construct( ::borogove::Caps caps, ::borogove::Stanza mucUser, ::borogove::Hash avatarHash){
+ HX_STACKFRAME(&_hx_pos_1d9bbb58bea02cc4_12_new)
+HXLINE( 13) this->caps = caps;
+HXLINE( 14) this->mucUser = mucUser;
+HXLINE( 15) this->avatarHash = avatarHash;
}
Dynamic Presence_obj::__CreateEmpty() { return new Presence_obj; }
@@ -30,25 +31,25 @@ void *Presence_obj::_hx_vtable = 0;
Dynamic Presence_obj::__Create(::hx::DynamicArray inArgs)
{
::hx::ObjectPtr< Presence_obj > _hx_result = new Presence_obj();
- _hx_result->__construct(inArgs[0],inArgs[1]);
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2]);
return _hx_result;
}
bool Presence_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x4c576518;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x3187d0a0;
}
-::hx::ObjectPtr< Presence_obj > Presence_obj::__new( ::snikket::Caps caps, ::snikket::Stanza mucUser) {
+::hx::ObjectPtr< Presence_obj > Presence_obj::__new( ::borogove::Caps caps, ::borogove::Stanza mucUser, ::borogove::Hash avatarHash) {
::hx::ObjectPtr< Presence_obj > __this = new Presence_obj();
- __this->__construct(caps,mucUser);
+ __this->__construct(caps,mucUser,avatarHash);
return __this;
}
-::hx::ObjectPtr< Presence_obj > Presence_obj::__alloc(::hx::Ctx *_hx_ctx, ::snikket::Caps caps, ::snikket::Stanza mucUser) {
- Presence_obj *__this = (Presence_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Presence_obj), true, "snikket.Presence"));
+::hx::ObjectPtr< Presence_obj > Presence_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Caps caps, ::borogove::Stanza mucUser, ::borogove::Hash avatarHash) {
+ Presence_obj *__this = (Presence_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Presence_obj), true, "borogove.Presence"));
*(void **)__this = Presence_obj::_hx_vtable;
- __this->__construct(caps,mucUser);
+ __this->__construct(caps,mucUser,avatarHash);
return __this;
}
@@ -61,6 +62,7 @@ void Presence_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_BEGIN_CLASS(Presence);
HX_MARK_MEMBER_NAME(caps,"caps");
HX_MARK_MEMBER_NAME(mucUser,"mucUser");
+ HX_MARK_MEMBER_NAME(avatarHash,"avatarHash");
HX_MARK_END_CLASS();
}
@@ -68,6 +70,7 @@ void Presence_obj::__Visit(HX_VISIT_PARAMS)
{
HX_VISIT_MEMBER_NAME(caps,"caps");
HX_VISIT_MEMBER_NAME(mucUser,"mucUser");
+ HX_VISIT_MEMBER_NAME(avatarHash,"avatarHash");
}
::hx::Val Presence_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -78,6 +81,9 @@ void Presence_obj::__Visit(HX_VISIT_PARAMS)
break;
case 7:
if (HX_FIELD_EQ(inName,"mucUser") ) { return ::hx::Val( mucUser ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"avatarHash") ) { return ::hx::Val( avatarHash ); }
}
return super::__Field(inName,inCallProp);
}
@@ -86,10 +92,13 @@ void Presence_obj::__Visit(HX_VISIT_PARAMS)
{
switch(inName.length) {
case 4:
- if (HX_FIELD_EQ(inName,"caps") ) { caps=inValue.Cast< ::snikket::Caps >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"caps") ) { caps=inValue.Cast< ::borogove::Caps >(); return inValue; }
break;
case 7:
- if (HX_FIELD_EQ(inName,"mucUser") ) { mucUser=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"mucUser") ) { mucUser=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"avatarHash") ) { avatarHash=inValue.Cast< ::borogove::Hash >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -98,13 +107,15 @@ void Presence_obj::__GetFields(Array< ::String> &outFields)
{
outFields->push(HX_("caps",21,1c,ba,41));
outFields->push(HX_("mucUser",e6,f3,96,b5));
+ outFields->push(HX_("avatarHash",87,5c,82,37));
super::__GetFields(outFields);
};
#ifdef HXCPP_SCRIPTABLE
static ::hx::StorageInfo Presence_obj_sMemberStorageInfo[] = {
- {::hx::fsObject /* ::snikket::Caps */ ,(int)offsetof(Presence_obj,caps),HX_("caps",21,1c,ba,41)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(Presence_obj,mucUser),HX_("mucUser",e6,f3,96,b5)},
+ {::hx::fsObject /* ::borogove::Caps */ ,(int)offsetof(Presence_obj,caps),HX_("caps",21,1c,ba,41)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(Presence_obj,mucUser),HX_("mucUser",e6,f3,96,b5)},
+ {::hx::fsObject /* ::borogove::Hash */ ,(int)offsetof(Presence_obj,avatarHash),HX_("avatarHash",87,5c,82,37)},
{ ::hx::fsUnknown, 0, null()}
};
static ::hx::StaticInfo *Presence_obj_sStaticStorageInfo = 0;
@@ -113,6 +124,7 @@ static ::hx::StaticInfo *Presence_obj_sStaticStorageInfo = 0;
static ::String Presence_obj_sMemberFields[] = {
HX_("caps",21,1c,ba,41),
HX_("mucUser",e6,f3,96,b5),
+ HX_("avatarHash",87,5c,82,37),
::String(null()) };
::hx::Class Presence_obj::__mClass;
@@ -122,7 +134,7 @@ void Presence_obj::__register()
Presence_obj _hx_dummy;
Presence_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Presence",6c,24,b8,1b);
+ __mClass->mName = HX_("borogove.Presence",48,31,b0,3e);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -140,4 +152,4 @@ void Presence_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Profile.cpp b/Sources/c_borogove/src/borogove/Profile.cpp
new file mode 100644
index 0000000..9093ae2
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Profile.cpp
@@ -0,0 +1,251 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.h>
+#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
+#endif
+#ifndef INCLUDED_borogove_Profile
+#include <borogove/Profile.h>
+#endif
+#ifndef INCLUDED_borogove_ProfileItem
+#include <borogove/ProfileItem.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove__Profile_Profile_Fields_
+#include <borogove/_Profile/Profile_Fields_.h>
+#endif
+#ifndef INCLUDED_cpp_Int64Map
+#include <cpp/Int64Map.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_ce4ac9f79e689c3e_28_new,"borogove.Profile","new",0xd49f79ae,"borogove.Profile.new","borogove/Profile.hx",28,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_83ac2628da8a8bb8_397_items__fromC,"borogove.Profile","items__fromC",0xb735016b,"borogove.Profile.items__fromC","HaxeCBridge.hx",397,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_ce4ac9f79e689c3e_18_boot,"borogove.Profile","boot",0x2f03ff24,"borogove.Profile.boot","borogove/Profile.hx",18,0x841e40c3)
+namespace borogove{
+
+void Profile_obj::__construct( ::borogove::Stanza vcard,::Array< ::Dynamic> items){
+ HX_GC_STACKFRAME(&_hx_pos_ce4ac9f79e689c3e_28_new)
+HXLINE( 29) this->vcard = vcard;
+HXLINE( 30) ::Array< ::Dynamic> _hx_tmp;
+HXDLIN( 30) if (::hx::IsNotNull( items )) {
+HXLINE( 30) _hx_tmp = items;
+ }
+ else {
+HXLINE( 30) ::Array< ::Dynamic> _this = vcard->allTags(null(),null());
+HXDLIN( 30) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 30) {
+HXLINE( 30) int _g1 = 0;
+HXDLIN( 30) while((_g1 < _this->length)){
+HXLINE( 30) ::borogove::Stanza v = _this->__get(_g1).StaticCast< ::borogove::Stanza >();
+HXDLIN( 30) _g1 = (_g1 + 1);
+HXDLIN( 30) if (::hx::IsNotNull( ::borogove::_Profile::Profile_Fields__obj::TYPES->get(v->name) )) {
+HXLINE( 30) _g->push(v);
+ }
+ }
+ }
+HXDLIN( 30) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
+HXDLIN( 30) {
+HXLINE( 30) int _g2 = 0;
+HXDLIN( 30) int _g3 = _g->length;
+HXDLIN( 30) while((_g2 < _g3)){
+HXLINE( 30) _g2 = (_g2 + 1);
+HXDLIN( 30) int i = (_g2 - 1);
+HXDLIN( 30) {
+HXLINE( 32) ::borogove::Stanza child = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_g,i)) );
+HXDLIN( 32) ::String inValue = (child->name + HX_("/",2f,00,00,00));
+HXLINE( 30) ::borogove::ProfileItem inValue1 = ::borogove::ProfileItem_obj::__alloc( HX_CTX ,child,(inValue + ::borogove::ID_obj::_hx_short()));
+HXDLIN( 30) result->__unsafe_set(i,inValue1);
+ }
+ }
+ }
+HXDLIN( 30) _hx_tmp = result;
+ }
+HXDLIN( 30) this->items = _hx_tmp;
+ }
+
+Dynamic Profile_obj::__CreateEmpty() { return new Profile_obj; }
+
+void *Profile_obj::_hx_vtable = 0;
+
+Dynamic Profile_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Profile_obj > _hx_result = new Profile_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool Profile_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x7f7922cc;
+}
+
+size_t Profile_obj::items__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_83ac2628da8a8bb8_397_items__fromC)
+HXDLIN( 397) ::Array< ::Dynamic> x = this->items;
+HXDLIN( 397) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 397) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 397) ::Array< ::Dynamic> x1 = x;
+HXDLIN( 397) {
+HXDLIN( 397) int _g = 0;
+HXDLIN( 397) while((_g < x1->length)){
+HXDLIN( 397) ::borogove::ProfileItem el = x1->__get(_g).StaticCast< ::borogove::ProfileItem >();
+HXDLIN( 397) _g = (_g + 1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic haxeObject = el;
+HXDLIN( 397) void* ptr = haxeObject.mPtr;
+HXDLIN( 397) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 397) if (::hx::IsNull( store )) {
+HXDLIN( 397) 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( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 397) void** ptr1 = (void**)x1->getBase();
+HXDLIN( 397) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 397) {
+HXDLIN( 397) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 397) if (::hx::IsNull( store1 )) {
+HXDLIN( 397) 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( 397) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 397) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 397) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 397) return ( (size_t)(x->length) );
+ }
+
+
+
+::hx::ObjectPtr< Profile_obj > Profile_obj::__new( ::borogove::Stanza vcard,::Array< ::Dynamic> items) {
+ ::hx::ObjectPtr< Profile_obj > __this = new Profile_obj();
+ __this->__construct(vcard,items);
+ return __this;
+}
+
+::hx::ObjectPtr< Profile_obj > Profile_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Stanza vcard,::Array< ::Dynamic> items) {
+ Profile_obj *__this = (Profile_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Profile_obj), true, "borogove.Profile"));
+ *(void **)__this = Profile_obj::_hx_vtable;
+ __this->__construct(vcard,items);
+ return __this;
+}
+
+Profile_obj::Profile_obj()
+{
+}
+
+void Profile_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Profile);
+ HX_MARK_MEMBER_NAME(vcard,"vcard");
+ HX_MARK_MEMBER_NAME(items,"items");
+ HX_MARK_END_CLASS();
+}
+
+void Profile_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(vcard,"vcard");
+ HX_VISIT_MEMBER_NAME(items,"items");
+}
+
+::hx::Val Profile_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"vcard") ) { return ::hx::Val( vcard ); }
+ if (HX_FIELD_EQ(inName,"items") ) { return ::hx::Val( items ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val Profile_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"vcard") ) { vcard=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"items") ) { items=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void Profile_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("vcard",46,91,02,33));
+ outFields->push(HX_("items",00,ac,0c,c2));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo Profile_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(Profile_obj,vcard),HX_("vcard",46,91,02,33)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(Profile_obj,items),HX_("items",00,ac,0c,c2)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *Profile_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Profile_obj_sMemberFields[] = {
+ HX_("vcard",46,91,02,33),
+ HX_("items",00,ac,0c,c2),
+ ::String(null()) };
+
+::hx::Class Profile_obj::__mClass;
+
+void Profile_obj::__register()
+{
+ Profile_obj _hx_dummy;
+ Profile_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Profile",bc,ca,e1,00);
+ __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(Profile_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Profile_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Profile_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Profile_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void Profile_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_ce4ac9f79e689c3e_18_boot)
+HXDLIN( 18) __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_("items__fromC",79,44,0d,2d), ::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/ProfileBuilder.cpp b/Sources/c_borogove/src/borogove/ProfileBuilder.cpp
new file mode 100644
index 0000000..168d181
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/ProfileBuilder.cpp
@@ -0,0 +1,349 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Lambda
+#include <Lambda.h>
+#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
+#endif
+#ifndef INCLUDED_borogove_Profile
+#include <borogove/Profile.h>
+#endif
+#ifndef INCLUDED_borogove_ProfileBuilder
+#include <borogove/ProfileBuilder.h>
+#endif
+#ifndef INCLUDED_borogove_ProfileItem
+#include <borogove/ProfileItem.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove__Profile_Profile_Fields_
+#include <borogove/_Profile/Profile_Fields_.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_330db0caed3d734f_137_new,"borogove.ProfileBuilder","new",0xd2573431,"borogove.ProfileBuilder.new","borogove/Profile.hx",137,0x841e40c3)
+static const ::String _hx_array_data_596347bf_3[] = {
+ HX_("n",6e,00,00,00),HX_("adr",2f,f2,49,00),HX_("gender",41,73,3c,9f),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_330db0caed3d734f_157_add,"borogove.ProfileBuilder","add",0xd24d55f2,"borogove.ProfileBuilder.add","borogove/Profile.hx",157,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_330db0caed3d734f_174_set,"borogove.ProfileBuilder","set",0xd25aff73,"borogove.ProfileBuilder.set","borogove/Profile.hx",174,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_330db0caed3d734f_171_set,"borogove.ProfileBuilder","set",0xd25aff73,"borogove.ProfileBuilder.set","borogove/Profile.hx",171,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_330db0caed3d734f_193_move,"borogove.ProfileBuilder","move",0x3954d620,"borogove.ProfileBuilder.move","borogove/Profile.hx",193,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_330db0caed3d734f_196_move,"borogove.ProfileBuilder","move",0x3954d620,"borogove.ProfileBuilder.move","borogove/Profile.hx",196,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_330db0caed3d734f_192_move,"borogove.ProfileBuilder","move",0x3954d620,"borogove.ProfileBuilder.move","borogove/Profile.hx",192,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_330db0caed3d734f_206_remove,"borogove.ProfileBuilder","remove",0x10aab113,"borogove.ProfileBuilder.remove","borogove/Profile.hx",206,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_330db0caed3d734f_205_remove,"borogove.ProfileBuilder","remove",0x10aab113,"borogove.ProfileBuilder.remove","borogove/Profile.hx",205,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_330db0caed3d734f_214_build,"borogove.ProfileBuilder","build",0x9f6b953f,"borogove.ProfileBuilder.build","borogove/Profile.hx",214,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_330db0caed3d734f_219_buildStanza,"borogove.ProfileBuilder","buildStanza",0xf61d6094,"borogove.ProfileBuilder.buildStanza","borogove/Profile.hx",219,0x841e40c3)
+namespace borogove{
+
+void ProfileBuilder_obj::__construct( ::borogove::Profile profile){
+ HX_GC_STACKFRAME(&_hx_pos_330db0caed3d734f_137_new)
+HXLINE( 139) this->items = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 142) this->vcard = profile->vcard->clone();
+HXLINE( 143) ::Array< ::Dynamic> _this = this->vcard->allTags(null(),null());
+HXDLIN( 143) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 143) {
+HXLINE( 143) int _g1 = 0;
+HXDLIN( 143) while((_g1 < _this->length)){
+HXLINE( 143) ::borogove::Stanza v = _this->__get(_g1).StaticCast< ::borogove::Stanza >();
+HXDLIN( 143) _g1 = (_g1 + 1);
+HXDLIN( 143) if (!(::Array_obj< ::String >::fromData( _hx_array_data_596347bf_3,3)->contains(v->name))) {
+HXLINE( 143) _g->push(v);
+ }
+ }
+ }
+HXLINE( 147) {
+HXLINE( 147) int _g2 = 0;
+HXDLIN( 147) ::Array< ::Dynamic> _g3 = profile->items;
+HXDLIN( 147) while((_g2 < _g3->length)){
+HXLINE( 147) ::borogove::ProfileItem item = _g3->__get(_g2).StaticCast< ::borogove::ProfileItem >();
+HXDLIN( 147) _g2 = (_g2 + 1);
+HXLINE( 148) ::borogove::Stanza el = _g->shift().StaticCast< ::borogove::Stanza >();
+HXLINE( 149) bool _hx_tmp;
+HXDLIN( 149) if (::hx::IsNotNull( el )) {
+HXLINE( 149) _hx_tmp = (el->name != item->key);
+ }
+ else {
+HXLINE( 149) _hx_tmp = true;
+ }
+HXDLIN( 149) if (_hx_tmp) {
+HXLINE( 149) HX_STACK_DO_THROW(HX_("els/items mismatch",31,ac,3f,bf));
+ }
+HXLINE( 150) this->items->push( ::borogove::ProfileItem_obj::__alloc( HX_CTX ,el,item->id));
+ }
+ }
+ }
+
+Dynamic ProfileBuilder_obj::__CreateEmpty() { return new ProfileBuilder_obj; }
+
+void *ProfileBuilder_obj::_hx_vtable = 0;
+
+Dynamic ProfileBuilder_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< ProfileBuilder_obj > _hx_result = new ProfileBuilder_obj();
+ _hx_result->__construct(inArgs[0]);
+ return _hx_result;
+}
+
+bool ProfileBuilder_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x7ca30bb3;
+}
+
+void ProfileBuilder_obj::add(::String k,::String v){
+ HX_GC_STACKFRAME(&_hx_pos_330db0caed3d734f_157_add)
+HXLINE( 158) ::String type = ::borogove::_Profile::Profile_Fields__obj::TYPES->get_string(k);
+HXLINE( 159) if (::hx::IsNotNull( type )) {
+HXLINE( 160) ::borogove::Stanza el = ::borogove::Stanza_obj::__alloc( HX_CTX ,k,null())->textTag(type,v,null());
+HXLINE( 161) this->vcard->addChild(el);
+HXLINE( 162) ::Array< ::Dynamic> _hx_tmp = this->items;
+HXDLIN( 162) _hx_tmp->push( ::borogove::ProfileItem_obj::__alloc( HX_CTX ,el,((k + HX_("/",2f,00,00,00)) + ::borogove::ID_obj::_hx_short())));
+ }
+ else {
+HXLINE( 164) HX_STACK_DO_THROW((HX_("Unknown profile property ",3e,fe,b6,f1) + k));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(ProfileBuilder_obj,add,(void))
+
+void ProfileBuilder_obj::set(::String id,::String v){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::String,id) HXARGC(1)
+ bool _hx_run( ::borogove::ProfileItem item){
+ HX_STACKFRAME(&_hx_pos_330db0caed3d734f_174_set)
+HXLINE( 174) return (item->id == id);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_330db0caed3d734f_171_set)
+HXLINE( 172) ::Array< ::String > parts = id.split(HX_("/",2f,00,00,00));
+HXLINE( 173) ::String k = parts->__get(0);
+HXLINE( 174) ::borogove::ProfileItem tmp = ( ( ::borogove::ProfileItem)(::Lambda_obj::find(this->items, ::Dynamic(new _hx_Closure_0(id)))) );
+HXDLIN( 174) ::borogove::Stanza prop;
+HXDLIN( 174) if (::hx::IsNotNull( tmp )) {
+HXLINE( 174) prop = tmp->item;
+ }
+ else {
+HXLINE( 174) prop = null();
+ }
+HXLINE( 175) if (::hx::IsNull( prop )) {
+HXLINE( 175) HX_STACK_DO_THROW((HX_("prop not found for ",5f,11,d5,80) + id));
+ }
+HXLINE( 177) ::String type = ::borogove::_Profile::Profile_Fields__obj::TYPES->get_string(k);
+HXLINE( 178) if (::hx::IsNotNull( type )) {
+HXLINE( 179) prop->removeChildren(null(),null());
+HXLINE( 180) prop->textTag(type,v,null());
+ }
+ else {
+HXLINE( 182) HX_STACK_DO_THROW((HX_("Unknown profile property ",3e,fe,b6,f1) + k));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(ProfileBuilder_obj,set,(void))
+
+void ProfileBuilder_obj::move(::String id,::String moveTo){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::String,id) HXARGC(1)
+ bool _hx_run( ::borogove::ProfileItem item){
+ HX_STACKFRAME(&_hx_pos_330db0caed3d734f_193_move)
+HXLINE( 193) return (item->id == id);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1,::String,moveTo) HXARGC(1)
+ bool _hx_run( ::borogove::ProfileItem item){
+ HX_STACKFRAME(&_hx_pos_330db0caed3d734f_196_move)
+HXLINE( 196) return (item->id == moveTo);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_330db0caed3d734f_192_move)
+HXLINE( 193) ::borogove::ProfileItem move = ( ( ::borogove::ProfileItem)(::Lambda_obj::find(this->items, ::Dynamic(new _hx_Closure_0(id)))) );
+HXLINE( 194) if (::hx::IsNull( move )) {
+HXLINE( 194) HX_STACK_DO_THROW(((HX_("item ",ad,ab,0c,c2) + id) + HX_(" not found",55,f3,a5,21)));
+ }
+HXLINE( 196) int idx = ::Lambda_obj::findIndex(this->items, ::Dynamic(new _hx_Closure_1(moveTo)));
+HXLINE( 197) this->remove(id);
+HXLINE( 198) this->items->insert(idx,move);
+HXLINE( 199) this->vcard->insertChild(idx,move->item);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(ProfileBuilder_obj,move,(void))
+
+void ProfileBuilder_obj::remove(::String id){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::String,id) HXARGC(1)
+ bool _hx_run( ::borogove::ProfileItem item){
+ HX_STACKFRAME(&_hx_pos_330db0caed3d734f_206_remove)
+HXLINE( 206) return (item->id == id);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_330db0caed3d734f_205_remove)
+HXLINE( 206) ::borogove::ProfileItem prop = ( ( ::borogove::ProfileItem)(::Lambda_obj::find(this->items, ::Dynamic(new _hx_Closure_0(id)))) );
+HXLINE( 207) if (::hx::IsNull( prop )) {
+HXLINE( 207) return;
+ }
+HXLINE( 209) ::Array< ::Dynamic> _this = this->items;
+HXDLIN( 209) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 209) {
+HXLINE( 209) int _g1 = 0;
+HXDLIN( 209) while((_g1 < _this->length)){
+HXLINE( 209) ::borogove::ProfileItem v = _this->__get(_g1).StaticCast< ::borogove::ProfileItem >();
+HXDLIN( 209) _g1 = (_g1 + 1);
+HXDLIN( 209) if ((v->id != id)) {
+HXLINE( 209) _g->push(v);
+ }
+ }
+ }
+HXDLIN( 209) this->items = _g;
+HXLINE( 210) this->vcard->removeChild(prop->item);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ProfileBuilder_obj,remove,(void))
+
+ ::borogove::Profile ProfileBuilder_obj::build(){
+ HX_GC_STACKFRAME(&_hx_pos_330db0caed3d734f_214_build)
+HXDLIN( 214) ::borogove::Stanza _hx_tmp = this->vcard->clone();
+HXDLIN( 214) return ::borogove::Profile_obj::__alloc( HX_CTX ,_hx_tmp,::Lambda_obj::array(this->items));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ProfileBuilder_obj,build,return )
+
+ ::borogove::Stanza ProfileBuilder_obj::buildStanza(){
+ HX_STACKFRAME(&_hx_pos_330db0caed3d734f_219_buildStanza)
+HXDLIN( 219) return this->vcard->clone();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ProfileBuilder_obj,buildStanza,return )
+
+
+::hx::ObjectPtr< ProfileBuilder_obj > ProfileBuilder_obj::__new( ::borogove::Profile profile) {
+ ::hx::ObjectPtr< ProfileBuilder_obj > __this = new ProfileBuilder_obj();
+ __this->__construct(profile);
+ return __this;
+}
+
+::hx::ObjectPtr< ProfileBuilder_obj > ProfileBuilder_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Profile profile) {
+ ProfileBuilder_obj *__this = (ProfileBuilder_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ProfileBuilder_obj), true, "borogove.ProfileBuilder"));
+ *(void **)__this = ProfileBuilder_obj::_hx_vtable;
+ __this->__construct(profile);
+ return __this;
+}
+
+ProfileBuilder_obj::ProfileBuilder_obj()
+{
+}
+
+void ProfileBuilder_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(ProfileBuilder);
+ HX_MARK_MEMBER_NAME(vcard,"vcard");
+ HX_MARK_MEMBER_NAME(items,"items");
+ HX_MARK_END_CLASS();
+}
+
+void ProfileBuilder_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(vcard,"vcard");
+ HX_VISIT_MEMBER_NAME(items,"items");
+}
+
+::hx::Val ProfileBuilder_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"add") ) { return ::hx::Val( add_dyn() ); }
+ if (HX_FIELD_EQ(inName,"set") ) { return ::hx::Val( set_dyn() ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"move") ) { return ::hx::Val( move_dyn() ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"vcard") ) { return ::hx::Val( vcard ); }
+ if (HX_FIELD_EQ(inName,"items") ) { return ::hx::Val( items ); }
+ if (HX_FIELD_EQ(inName,"build") ) { return ::hx::Val( build_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"remove") ) { return ::hx::Val( remove_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"buildStanza") ) { return ::hx::Val( buildStanza_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val ProfileBuilder_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"vcard") ) { vcard=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"items") ) { items=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void ProfileBuilder_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("vcard",46,91,02,33));
+ outFields->push(HX_("items",00,ac,0c,c2));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo ProfileBuilder_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(ProfileBuilder_obj,vcard),HX_("vcard",46,91,02,33)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ProfileBuilder_obj,items),HX_("items",00,ac,0c,c2)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *ProfileBuilder_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String ProfileBuilder_obj_sMemberFields[] = {
+ HX_("vcard",46,91,02,33),
+ HX_("items",00,ac,0c,c2),
+ HX_("add",21,f2,49,00),
+ HX_("set",a2,9b,57,00),
+ HX_("move",11,e3,60,48),
+ HX_("remove",44,9c,88,04),
+ HX_("build",2e,db,ea,ba),
+ HX_("buildStanza",c3,43,68,56),
+ ::String(null()) };
+
+::hx::Class ProfileBuilder_obj::__mClass;
+
+void ProfileBuilder_obj::__register()
+{
+ ProfileBuilder_obj _hx_dummy;
+ ProfileBuilder_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.ProfileBuilder",bf,47,63,59);
+ __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(ProfileBuilder_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< ProfileBuilder_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = ProfileBuilder_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = ProfileBuilder_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/ProfileItem.cpp b/Sources/c_borogove/src/borogove/ProfileItem.cpp
new file mode 100644
index 0000000..965388c
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/ProfileItem.cpp
@@ -0,0 +1,864 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.h>
+#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
+#endif
+#ifndef INCLUDED_borogove_ProfileItem
+#include <borogove/ProfileItem.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
+
+HX_DEFINE_STACK_FRAME(_hx_pos_f70289cea0098992_50_new,"borogove.ProfileItem","new",0x1a958e61,"borogove.ProfileItem.new","borogove/Profile.hx",50,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_fe69ecc873f78d42_423_id__fromC,"borogove.ProfileItem","id__fromC",0x265ecabf,"borogove.ProfileItem.id__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_fe69ecc873f78d42_423_key__fromC,"borogove.ProfileItem","key__fromC",0xdbe75cd9,"borogove.ProfileItem.key__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_f70289cea0098992_56_parameters,"borogove.ProfileItem","parameters",0x1b4332c9,"borogove.ProfileItem.parameters","borogove/Profile.hx",56,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_fe69ecc873f78d42_311_parameters__fromC,"borogove.ProfileItem","parameters__fromC",0x56ef18d0,"borogove.ProfileItem.parameters__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_f70289cea0098992_62_text,"borogove.ProfileItem","text",0x2c3e4f8c,"borogove.ProfileItem.text","borogove/Profile.hx",62,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_fe69ecc873f78d42_311_text__fromC,"borogove.ProfileItem","text__fromC",0x413c6a6d,"borogove.ProfileItem.text__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_f70289cea0098992_66_uri,"borogove.ProfileItem","uri",0x1a9ae96d,"borogove.ProfileItem.uri","borogove/Profile.hx",66,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_fe69ecc873f78d42_311_uri__fromC,"borogove.ProfileItem","uri__fromC",0x81eb3eac,"borogove.ProfileItem.uri__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_f70289cea0098992_70_date,"borogove.ProfileItem","date",0x21a7d90d,"borogove.ProfileItem.date","borogove/Profile.hx",70,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_fe69ecc873f78d42_311_date__fromC,"borogove.ProfileItem","date__fromC",0x8c71830c,"borogove.ProfileItem.date__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_f70289cea0098992_74_time,"borogove.ProfileItem","time",0x2c414eec,"borogove.ProfileItem.time","borogove/Profile.hx",74,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_fe69ecc873f78d42_311_time__fromC,"borogove.ProfileItem","time__fromC",0xd812170d,"borogove.ProfileItem.time__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_f70289cea0098992_78_datetime,"borogove.ProfileItem","datetime",0x3e3aaf9a,"borogove.ProfileItem.datetime","borogove/Profile.hx",78,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_fe69ecc873f78d42_311_datetime__fromC,"borogove.ProfileItem","datetime__fromC",0xb24e481f,"borogove.ProfileItem.datetime__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_f70289cea0098992_83_boolean,"borogove.ProfileItem","boolean",0x025e3d29,"borogove.ProfileItem.boolean","borogove/Profile.hx",83,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_f70289cea0098992_88_integer,"borogove.ProfileItem","integer",0x9b7b103f,"borogove.ProfileItem.integer","borogove/Profile.hx",88,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_f70289cea0098992_92_languageTag,"borogove.ProfileItem","languageTag",0xfe6a7fe3,"borogove.ProfileItem.languageTag","borogove/Profile.hx",92,0x841e40c3)
+HX_LOCAL_STACK_FRAME(_hx_pos_fe69ecc873f78d42_311_languageTag__fromC,"borogove.ProfileItem","languageTag__fromC",0x321b02f6,"borogove.ProfileItem.languageTag__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_f70289cea0098992_42_boot,"borogove.ProfileItem","boot",0x20600711,"borogove.ProfileItem.boot","borogove/Profile.hx",42,0x841e40c3)
+namespace borogove{
+
+void ProfileItem_obj::__construct( ::borogove::Stanza item,::String id){
+ HX_STACKFRAME(&_hx_pos_f70289cea0098992_50_new)
+HXLINE( 51) this->item = item;
+HXLINE( 52) this->id = id;
+HXLINE( 53) this->key = item->name;
+ }
+
+Dynamic ProfileItem_obj::__CreateEmpty() { return new ProfileItem_obj; }
+
+void *ProfileItem_obj::_hx_vtable = 0;
+
+Dynamic ProfileItem_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< ProfileItem_obj > _hx_result = new ProfileItem_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool ProfileItem_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1f55c57b;
+}
+
+::String ProfileItem_obj::id__fromC(){
+ HX_STACKFRAME(&_hx_pos_fe69ecc873f78d42_423_id__fromC)
+HXDLIN( 423) return this->id;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ProfileItem_obj,id__fromC,return )
+
+::String ProfileItem_obj::key__fromC(){
+ HX_STACKFRAME(&_hx_pos_fe69ecc873f78d42_423_key__fromC)
+HXDLIN( 423) return this->key;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ProfileItem_obj,key__fromC,return )
+
+::Array< ::Dynamic> ProfileItem_obj::parameters(){
+ HX_GC_STACKFRAME(&_hx_pos_f70289cea0098992_56_parameters)
+HXLINE( 57) ::Array< ::Dynamic> params;
+HXDLIN( 57) ::borogove::Stanza tmp = this->item->getChild(HX_("parameters",aa,be,7e,51),null());
+HXDLIN( 57) ::Array< ::Dynamic> tmp1;
+HXDLIN( 57) if (::hx::IsNotNull( tmp )) {
+HXLINE( 57) tmp1 = tmp->allTags(null(),null());
+ }
+ else {
+HXLINE( 57) tmp1 = null();
+ }
+HXDLIN( 57) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 57) params = tmp1;
+ }
+ else {
+HXLINE( 57) params = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXLINE( 58) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(params->length);
+HXDLIN( 58) {
+HXLINE( 58) int _g = 0;
+HXDLIN( 58) int _g1 = params->length;
+HXDLIN( 58) while((_g < _g1)){
+HXLINE( 58) _g = (_g + 1);
+HXDLIN( 58) int i = (_g - 1);
+HXDLIN( 58) {
+HXLINE( 58) ::borogove::Stanza param = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(params,i)) );
+HXDLIN( 58) ::String inValue = (this->id + HX_("/",2f,00,00,00));
+HXDLIN( 58) ::borogove::ProfileItem inValue1 = ::borogove::ProfileItem_obj::__alloc( HX_CTX ,param,(inValue + ::borogove::ID_obj::_hx_short()));
+HXDLIN( 58) result->__unsafe_set(i,inValue1);
+ }
+ }
+ }
+HXDLIN( 58) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ProfileItem_obj,parameters,return )
+
+size_t ProfileItem_obj::parameters__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_fe69ecc873f78d42_311_parameters__fromC)
+HXDLIN( 311) ::Array< ::Dynamic> out = this->parameters();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) {
+HXDLIN( 311) int _g = 0;
+HXDLIN( 311) while((_g < out->length)){
+HXDLIN( 311) ::borogove::ProfileItem el = out->__get(_g).StaticCast< ::borogove::ProfileItem >();
+HXDLIN( 311) _g = (_g + 1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic haxeObject = el;
+HXDLIN( 311) void* ptr = haxeObject.mPtr;
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXDLIN( 311) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)out->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXDLIN( 311) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),out));
+HXDLIN( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+::Array< ::String > ProfileItem_obj::text(){
+ HX_STACKFRAME(&_hx_pos_f70289cea0098992_62_text)
+HXDLIN( 62) ::Array< ::Dynamic> _this = this->item->allTags(HX_("text",ad,cc,f9,4c),null());
+HXDLIN( 62) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 62) {
+HXDLIN( 62) int _g = 0;
+HXDLIN( 62) int _g1 = _this->length;
+HXDLIN( 62) while((_g < _g1)){
+HXDLIN( 62) _g = (_g + 1);
+HXDLIN( 62) int i = (_g - 1);
+HXDLIN( 62) {
+HXDLIN( 62) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
+HXDLIN( 62) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 62) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ProfileItem_obj,text,return )
+
+size_t ProfileItem_obj::text__fromC(const char*** outPtr){
+ HX_STACKFRAME(&_hx_pos_fe69ecc873f78d42_311_text__fromC)
+HXDLIN( 311) ::Array< ::String > out = this->text();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< const char** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) ::Array< size_t > arr = ::Array_obj< size_t >::__new(out->length);
+HXDLIN( 311) {
+HXDLIN( 311) int _g_current = 0;
+HXDLIN( 311) ::Array< ::String > _g_array = out;
+HXDLIN( 311) while((_g_current < _g_array->length)){
+HXDLIN( 311) ::String _g_value = _g_array->__get(_g_current);
+HXDLIN( 311) _g_current = (_g_current + 1);
+HXDLIN( 311) ::String el = _g_value;
+HXDLIN( 311) {
+HXDLIN( 311) const char* cStrPtr = el.utf8_str();
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) const char* ptr = cStrPtr;
+HXDLIN( 311) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)arr->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(( (const char**)(ptr1) ));
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+::Array< ::String > ProfileItem_obj::uri(){
+ HX_STACKFRAME(&_hx_pos_f70289cea0098992_66_uri)
+HXDLIN( 66) ::Array< ::Dynamic> _this = this->item->allTags(HX_("uri",6c,2b,59,00),null());
+HXDLIN( 66) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 66) {
+HXDLIN( 66) int _g = 0;
+HXDLIN( 66) int _g1 = _this->length;
+HXDLIN( 66) while((_g < _g1)){
+HXDLIN( 66) _g = (_g + 1);
+HXDLIN( 66) int i = (_g - 1);
+HXDLIN( 66) {
+HXDLIN( 66) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
+HXDLIN( 66) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 66) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ProfileItem_obj,uri,return )
+
+size_t ProfileItem_obj::uri__fromC(const char*** outPtr){
+ HX_STACKFRAME(&_hx_pos_fe69ecc873f78d42_311_uri__fromC)
+HXDLIN( 311) ::Array< ::String > out = this->uri();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< const char** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) ::Array< size_t > arr = ::Array_obj< size_t >::__new(out->length);
+HXDLIN( 311) {
+HXDLIN( 311) int _g_current = 0;
+HXDLIN( 311) ::Array< ::String > _g_array = out;
+HXDLIN( 311) while((_g_current < _g_array->length)){
+HXDLIN( 311) ::String _g_value = _g_array->__get(_g_current);
+HXDLIN( 311) _g_current = (_g_current + 1);
+HXDLIN( 311) ::String el = _g_value;
+HXDLIN( 311) {
+HXDLIN( 311) const char* cStrPtr = el.utf8_str();
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) const char* ptr = cStrPtr;
+HXDLIN( 311) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)arr->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(( (const char**)(ptr1) ));
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+::Array< ::String > ProfileItem_obj::date(){
+ HX_STACKFRAME(&_hx_pos_f70289cea0098992_70_date)
+HXDLIN( 70) ::Array< ::Dynamic> _this = this->item->allTags(HX_("date",2e,56,63,42),null());
+HXDLIN( 70) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 70) {
+HXDLIN( 70) int _g = 0;
+HXDLIN( 70) int _g1 = _this->length;
+HXDLIN( 70) while((_g < _g1)){
+HXDLIN( 70) _g = (_g + 1);
+HXDLIN( 70) int i = (_g - 1);
+HXDLIN( 70) {
+HXDLIN( 70) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
+HXDLIN( 70) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 70) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ProfileItem_obj,date,return )
+
+size_t ProfileItem_obj::date__fromC(const char*** outPtr){
+ HX_STACKFRAME(&_hx_pos_fe69ecc873f78d42_311_date__fromC)
+HXDLIN( 311) ::Array< ::String > out = this->date();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< const char** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) ::Array< size_t > arr = ::Array_obj< size_t >::__new(out->length);
+HXDLIN( 311) {
+HXDLIN( 311) int _g_current = 0;
+HXDLIN( 311) ::Array< ::String > _g_array = out;
+HXDLIN( 311) while((_g_current < _g_array->length)){
+HXDLIN( 311) ::String _g_value = _g_array->__get(_g_current);
+HXDLIN( 311) _g_current = (_g_current + 1);
+HXDLIN( 311) ::String el = _g_value;
+HXDLIN( 311) {
+HXDLIN( 311) const char* cStrPtr = el.utf8_str();
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) const char* ptr = cStrPtr;
+HXDLIN( 311) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)arr->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(( (const char**)(ptr1) ));
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+::Array< ::String > ProfileItem_obj::time(){
+ HX_STACKFRAME(&_hx_pos_f70289cea0098992_74_time)
+HXDLIN( 74) ::Array< ::Dynamic> _this = this->item->allTags(HX_("time",0d,cc,fc,4c),null());
+HXDLIN( 74) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 74) {
+HXDLIN( 74) int _g = 0;
+HXDLIN( 74) int _g1 = _this->length;
+HXDLIN( 74) while((_g < _g1)){
+HXDLIN( 74) _g = (_g + 1);
+HXDLIN( 74) int i = (_g - 1);
+HXDLIN( 74) {
+HXDLIN( 74) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
+HXDLIN( 74) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 74) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ProfileItem_obj,time,return )
+
+size_t ProfileItem_obj::time__fromC(const char*** outPtr){
+ HX_STACKFRAME(&_hx_pos_fe69ecc873f78d42_311_time__fromC)
+HXDLIN( 311) ::Array< ::String > out = this->time();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< const char** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) ::Array< size_t > arr = ::Array_obj< size_t >::__new(out->length);
+HXDLIN( 311) {
+HXDLIN( 311) int _g_current = 0;
+HXDLIN( 311) ::Array< ::String > _g_array = out;
+HXDLIN( 311) while((_g_current < _g_array->length)){
+HXDLIN( 311) ::String _g_value = _g_array->__get(_g_current);
+HXDLIN( 311) _g_current = (_g_current + 1);
+HXDLIN( 311) ::String el = _g_value;
+HXDLIN( 311) {
+HXDLIN( 311) const char* cStrPtr = el.utf8_str();
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) const char* ptr = cStrPtr;
+HXDLIN( 311) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)arr->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(( (const char**)(ptr1) ));
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+::Array< ::String > ProfileItem_obj::datetime(){
+ HX_STACKFRAME(&_hx_pos_f70289cea0098992_78_datetime)
+HXDLIN( 78) ::Array< ::Dynamic> _this = this->item->allTags(HX_("datetime",3b,d1,31,ef),null());
+HXDLIN( 78) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 78) {
+HXDLIN( 78) int _g = 0;
+HXDLIN( 78) int _g1 = _this->length;
+HXDLIN( 78) while((_g < _g1)){
+HXDLIN( 78) _g = (_g + 1);
+HXDLIN( 78) int i = (_g - 1);
+HXDLIN( 78) {
+HXDLIN( 78) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
+HXDLIN( 78) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 78) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ProfileItem_obj,datetime,return )
+
+size_t ProfileItem_obj::datetime__fromC(const char*** outPtr){
+ HX_STACKFRAME(&_hx_pos_fe69ecc873f78d42_311_datetime__fromC)
+HXDLIN( 311) ::Array< ::String > out = this->datetime();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< const char** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) ::Array< size_t > arr = ::Array_obj< size_t >::__new(out->length);
+HXDLIN( 311) {
+HXDLIN( 311) int _g_current = 0;
+HXDLIN( 311) ::Array< ::String > _g_array = out;
+HXDLIN( 311) while((_g_current < _g_array->length)){
+HXDLIN( 311) ::String _g_value = _g_array->__get(_g_current);
+HXDLIN( 311) _g_current = (_g_current + 1);
+HXDLIN( 311) ::String el = _g_value;
+HXDLIN( 311) {
+HXDLIN( 311) const char* cStrPtr = el.utf8_str();
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) const char* ptr = cStrPtr;
+HXDLIN( 311) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)arr->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(( (const char**)(ptr1) ));
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+::Array< bool > ProfileItem_obj::boolean(){
+ HX_STACKFRAME(&_hx_pos_f70289cea0098992_83_boolean)
+HXDLIN( 83) ::Array< ::Dynamic> _this = this->item->allTags(HX_("boolean",a8,ea,fe,7d),null());
+HXDLIN( 83) ::Array< bool > result = ::Array_obj< bool >::__new(_this->length);
+HXDLIN( 83) {
+HXDLIN( 83) int _g = 0;
+HXDLIN( 83) int _g1 = _this->length;
+HXDLIN( 83) while((_g < _g1)){
+HXDLIN( 83) _g = (_g + 1);
+HXDLIN( 83) int i = (_g - 1);
+HXDLIN( 83) {
+HXDLIN( 83) bool inValue = (( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText() == HX_("true",4e,a7,03,4d));
+HXDLIN( 83) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 83) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ProfileItem_obj,boolean,return )
+
+::Array< int > ProfileItem_obj::integer(){
+ HX_STACKFRAME(&_hx_pos_f70289cea0098992_88_integer)
+HXDLIN( 88) ::Array< ::Dynamic> _this = this->item->allTags(HX_("integer",be,bd,1b,17),null());
+HXDLIN( 88) ::Array< int > result = ::Array_obj< int >::__new(_this->length);
+HXDLIN( 88) {
+HXDLIN( 88) int _g = 0;
+HXDLIN( 88) int _g1 = _this->length;
+HXDLIN( 88) while((_g < _g1)){
+HXDLIN( 88) _g = (_g + 1);
+HXDLIN( 88) int i = (_g - 1);
+HXDLIN( 88) {
+HXDLIN( 88) int inValue;
+HXDLIN( 88) ::Dynamic tmp = ::Std_obj::parseInt(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText());
+HXDLIN( 88) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 88) inValue = ( (int)(tmp) );
+ }
+ else {
+HXDLIN( 88) inValue = 0;
+ }
+HXDLIN( 88) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 88) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ProfileItem_obj,integer,return )
+
+::Array< ::String > ProfileItem_obj::languageTag(){
+ HX_STACKFRAME(&_hx_pos_f70289cea0098992_92_languageTag)
+HXDLIN( 92) ::Array< ::Dynamic> _this = this->item->allTags(HX_("language-tag",a5,80,2b,6a),null());
+HXDLIN( 92) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 92) {
+HXDLIN( 92) int _g = 0;
+HXDLIN( 92) int _g1 = _this->length;
+HXDLIN( 92) while((_g < _g1)){
+HXDLIN( 92) _g = (_g + 1);
+HXDLIN( 92) int i = (_g - 1);
+HXDLIN( 92) {
+HXDLIN( 92) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
+HXDLIN( 92) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 92) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ProfileItem_obj,languageTag,return )
+
+size_t ProfileItem_obj::languageTag__fromC(const char*** outPtr){
+ HX_STACKFRAME(&_hx_pos_fe69ecc873f78d42_311_languageTag__fromC)
+HXDLIN( 311) ::Array< ::String > out = this->languageTag();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< const char** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) ::Array< size_t > arr = ::Array_obj< size_t >::__new(out->length);
+HXDLIN( 311) {
+HXDLIN( 311) int _g_current = 0;
+HXDLIN( 311) ::Array< ::String > _g_array = out;
+HXDLIN( 311) while((_g_current < _g_array->length)){
+HXDLIN( 311) ::String _g_value = _g_array->__get(_g_current);
+HXDLIN( 311) _g_current = (_g_current + 1);
+HXDLIN( 311) ::String el = _g_value;
+HXDLIN( 311) {
+HXDLIN( 311) const char* cStrPtr = el.utf8_str();
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) const char* ptr = cStrPtr;
+HXDLIN( 311) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)arr->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXLINE(2192) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(( (const char**)(ptr1) ));
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+
+::hx::ObjectPtr< ProfileItem_obj > ProfileItem_obj::__new( ::borogove::Stanza item,::String id) {
+ ::hx::ObjectPtr< ProfileItem_obj > __this = new ProfileItem_obj();
+ __this->__construct(item,id);
+ return __this;
+}
+
+::hx::ObjectPtr< ProfileItem_obj > ProfileItem_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Stanza item,::String id) {
+ ProfileItem_obj *__this = (ProfileItem_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ProfileItem_obj), true, "borogove.ProfileItem"));
+ *(void **)__this = ProfileItem_obj::_hx_vtable;
+ __this->__construct(item,id);
+ return __this;
+}
+
+ProfileItem_obj::ProfileItem_obj()
+{
+}
+
+void ProfileItem_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(ProfileItem);
+ HX_MARK_MEMBER_NAME(id,"id");
+ HX_MARK_MEMBER_NAME(key,"key");
+ HX_MARK_MEMBER_NAME(item,"item");
+ HX_MARK_END_CLASS();
+}
+
+void ProfileItem_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(id,"id");
+ HX_VISIT_MEMBER_NAME(key,"key");
+ HX_VISIT_MEMBER_NAME(item,"item");
+}
+
+::hx::Val ProfileItem_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"id") ) { return ::hx::Val( id ); }
+ break;
+ case 3:
+ if (HX_FIELD_EQ(inName,"key") ) { return ::hx::Val( key ); }
+ if (HX_FIELD_EQ(inName,"uri") ) { return ::hx::Val( uri_dyn() ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"item") ) { return ::hx::Val( item ); }
+ if (HX_FIELD_EQ(inName,"text") ) { return ::hx::Val( text_dyn() ); }
+ if (HX_FIELD_EQ(inName,"date") ) { return ::hx::Val( date_dyn() ); }
+ if (HX_FIELD_EQ(inName,"time") ) { return ::hx::Val( time_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"boolean") ) { return ::hx::Val( boolean_dyn() ); }
+ if (HX_FIELD_EQ(inName,"integer") ) { return ::hx::Val( integer_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"datetime") ) { return ::hx::Val( datetime_dyn() ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"id__fromC") ) { return ::hx::Val( id__fromC_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"key__fromC") ) { return ::hx::Val( key__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"parameters") ) { return ::hx::Val( parameters_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"languageTag") ) { return ::hx::Val( languageTag_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val ProfileItem_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"id") ) { id=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 3:
+ if (HX_FIELD_EQ(inName,"key") ) { key=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"item") ) { item=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void ProfileItem_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("id",db,5b,00,00));
+ outFields->push(HX_("key",9f,89,51,00));
+ outFields->push(HX_("item",13,c5,bf,45));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo ProfileItem_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(ProfileItem_obj,id),HX_("id",db,5b,00,00)},
+ {::hx::fsString,(int)offsetof(ProfileItem_obj,key),HX_("key",9f,89,51,00)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(ProfileItem_obj,item),HX_("item",13,c5,bf,45)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *ProfileItem_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String ProfileItem_obj_sMemberFields[] = {
+ HX_("id",db,5b,00,00),
+ HX_("id__fromC",fe,15,a5,4d),
+ HX_("key",9f,89,51,00),
+ HX_("key__fromC",ba,e8,22,12),
+ HX_("item",13,c5,bf,45),
+ HX_("parameters",aa,be,7e,51),
+ HX_("text",ad,cc,f9,4c),
+ HX_("uri",6c,2b,59,00),
+ HX_("date",2e,56,63,42),
+ HX_("time",0d,cc,fc,4c),
+ HX_("datetime",3b,d1,31,ef),
+ HX_("boolean",a8,ea,fe,7d),
+ HX_("integer",be,bd,1b,17),
+ HX_("languageTag",e2,58,49,3c),
+ ::String(null()) };
+
+::hx::Class ProfileItem_obj::__mClass;
+
+void ProfileItem_obj::__register()
+{
+ ProfileItem_obj _hx_dummy;
+ ProfileItem_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.ProfileItem",ef,c9,7c,e6);
+ __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(ProfileItem_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< ProfileItem_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = ProfileItem_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = ProfileItem_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void ProfileItem_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_f70289cea0098992_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(18)
+ ->setFixed(0,HX_("datetime__fromC",9e,0c,a7,97), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(1,HX_("uri__fromC",8d,ca,26,b8), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(2,HX_("date__fromC",0b,5c,50,ca), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(3,HX_("parameters__fromC",0f,3b,61,d7), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(4,HX_("datetime",3b,d1,31,ef), ::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_("uri",6c,2b,59,00), ::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(6,HX_("key__fromC",ba,e8,22,12), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(7,HX_("languageTag__fromC",d7,d7,86,15), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(8,HX_("time__fromC",0c,f0,f0,15), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(9,HX_("integer",be,bd,1b,17), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(10,HX_("languageTag",e2,58,49,3c), ::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(11,HX_("date",2e,56,63,42), ::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_("text",ad,cc,f9,4c), ::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_("time",0d,cc,fc,4c), ::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(14,HX_("id__fromC",fe,15,a5,4d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(15,HX_("parameters",aa,be,7e,51), ::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_("boolean",a8,ea,fe,7d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(17,HX_("text__fromC",6c,43,1b,7f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
+ }
+}
+
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/PubsubEvent.cpp b/Sources/c_borogove/src/borogove/PubsubEvent.cpp
similarity index 76%
rename from Sources/c_snikket/src/snikket/PubsubEvent.cpp
rename to Sources/c_borogove/src/borogove/PubsubEvent.cpp
index a4b59e5..8b0385d 100644
--- a/Sources/c_snikket/src/snikket/PubsubEvent.cpp
+++ b/Sources/c_borogove/src/borogove/PubsubEvent.cpp
@@ -4,25 +4,22 @@
#ifndef INCLUDED_Reflect
#include <Reflect.h>
#endif
-#ifndef INCLUDED_snikket_PubsubEvent
-#include <snikket/PubsubEvent.h>
+#ifndef INCLUDED_borogove_PubsubEvent
+#include <borogove/PubsubEvent.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_6e534b80cea4fb8b_9_new,"snikket.PubsubEvent","new",0x664bd498,"snikket.PubsubEvent.new","snikket/PubsubEvent.hx",9,0x1bc16599)
-HX_LOCAL_STACK_FRAME(_hx_pos_6e534b80cea4fb8b_28_getFrom,"snikket.PubsubEvent","getFrom",0xb0ffd558,"snikket.PubsubEvent.getFrom","snikket/PubsubEvent.hx",28,0x1bc16599)
-HX_LOCAL_STACK_FRAME(_hx_pos_6e534b80cea4fb8b_32_getNode,"snikket.PubsubEvent","getNode",0xb64739f0,"snikket.PubsubEvent.getNode","snikket/PubsubEvent.hx",32,0x1bc16599)
-HX_LOCAL_STACK_FRAME(_hx_pos_6e534b80cea4fb8b_36_getItems,"snikket.PubsubEvent","getItems",0xea596c52,"snikket.PubsubEvent.getItems","snikket/PubsubEvent.hx",36,0x1bc16599)
-HX_LOCAL_STACK_FRAME(_hx_pos_6e534b80cea4fb8b_16_fromStanza,"snikket.PubsubEvent","fromStanza",0x5f14d5c7,"snikket.PubsubEvent.fromStanza","snikket/PubsubEvent.hx",16,0x1bc16599)
-namespace snikket{
+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)
+HX_LOCAL_STACK_FRAME(_hx_pos_b1bbb10371f77428_32_getNode,"borogove.PubsubEvent","getNode",0x7ff4e294,"borogove.PubsubEvent.getNode","borogove/PubsubEvent.hx",32,0x86bc7f75)
+HX_LOCAL_STACK_FRAME(_hx_pos_b1bbb10371f77428_36_getItems,"borogove.PubsubEvent","getItems",0x989f532e,"borogove.PubsubEvent.getItems","borogove/PubsubEvent.hx",36,0x86bc7f75)
+HX_LOCAL_STACK_FRAME(_hx_pos_b1bbb10371f77428_16_fromStanza,"borogove.PubsubEvent","fromStanza",0x97c72ba3,"borogove.PubsubEvent.fromStanza","borogove/PubsubEvent.hx",16,0x86bc7f75)
+namespace borogove{
void PubsubEvent_obj::__construct(::String from,::String to,::String node,::Array< ::Dynamic> items){
- HX_STACKFRAME(&_hx_pos_6e534b80cea4fb8b_9_new)
+ HX_STACKFRAME(&_hx_pos_b1bbb10371f77428_9_new)
HXLINE( 10) this->from = from;
HXLINE( 11) this->to = to;
HXLINE( 12) this->node = node;
@@ -41,11 +38,11 @@ Dynamic PubsubEvent_obj::__Create(::hx::DynamicArray inArgs)
}
bool PubsubEvent_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x04e7c6de;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x35d348d6;
}
::String PubsubEvent_obj::getFrom(){
- HX_STACKFRAME(&_hx_pos_6e534b80cea4fb8b_28_getFrom)
+ HX_STACKFRAME(&_hx_pos_b1bbb10371f77428_28_getFrom)
HXDLIN( 28) return this->from;
}
@@ -53,7 +50,7 @@ HXDLIN( 28) return this->from;
HX_DEFINE_DYNAMIC_FUNC0(PubsubEvent_obj,getFrom,return )
::String PubsubEvent_obj::getNode(){
- HX_STACKFRAME(&_hx_pos_6e534b80cea4fb8b_32_getNode)
+ HX_STACKFRAME(&_hx_pos_b1bbb10371f77428_32_getNode)
HXDLIN( 32) return this->node;
}
@@ -61,27 +58,27 @@ HXDLIN( 32) return this->node;
HX_DEFINE_DYNAMIC_FUNC0(PubsubEvent_obj,getNode,return )
::Array< ::Dynamic> PubsubEvent_obj::getItems(){
- HX_STACKFRAME(&_hx_pos_6e534b80cea4fb8b_36_getItems)
+ HX_STACKFRAME(&_hx_pos_b1bbb10371f77428_36_getItems)
HXDLIN( 36) return this->items;
}
HX_DEFINE_DYNAMIC_FUNC0(PubsubEvent_obj,getItems,return )
- ::snikket::PubsubEvent PubsubEvent_obj::fromStanza( ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_6e534b80cea4fb8b_16_fromStanza)
-HXLINE( 17) ::snikket::Stanza event = stanza->getChild(HX_("event",1a,c8,c4,75),HX_("http://jabber.org/protocol/pubsub#event",ae,58,f1,45));
+ ::borogove::PubsubEvent PubsubEvent_obj::fromStanza( ::borogove::Stanza stanza){
+ HX_GC_STACKFRAME(&_hx_pos_b1bbb10371f77428_16_fromStanza)
+HXLINE( 17) ::borogove::Stanza event = stanza->getChild(HX_("event",1a,c8,c4,75),HX_("http://jabber.org/protocol/pubsub#event",ae,58,f1,45));
HXLINE( 18) if (::hx::IsNull( event )) {
HXLINE( 18) return null();
}
-HXLINE( 20) ::snikket::Stanza items = event->getChild(HX_("items",00,ac,0c,c2),null());
+HXLINE( 20) ::borogove::Stanza items = event->getChild(HX_("items",00,ac,0c,c2),null());
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))) );
-HXDLIN( 24) return ::snikket::PubsubEvent_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,_hx_tmp2,items->allTags(HX_("item",13,c5,bf,45),null()));
+HXDLIN( 24) return ::borogove::PubsubEvent_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,_hx_tmp2,items->allTags(HX_("item",13,c5,bf,45),null()));
}
@@ -95,7 +92,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(PubsubEvent_obj,fromStanza,return )
}
::hx::ObjectPtr< PubsubEvent_obj > PubsubEvent_obj::__alloc(::hx::Ctx *_hx_ctx,::String from,::String to,::String node,::Array< ::Dynamic> items) {
- PubsubEvent_obj *__this = (PubsubEvent_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(PubsubEvent_obj), true, "snikket.PubsubEvent"));
+ PubsubEvent_obj *__this = (PubsubEvent_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(PubsubEvent_obj), true, "borogove.PubsubEvent"));
*(void **)__this = PubsubEvent_obj::_hx_vtable;
__this->__construct(from,to,node,items);
return __this;
@@ -213,7 +210,7 @@ void PubsubEvent_obj::__register()
PubsubEvent_obj _hx_dummy;
PubsubEvent_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.PubsubEvent",a6,e8,f7,74);
+ __mClass->mName = HX_("borogove.PubsubEvent",4a,4d,fa,fc);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -231,4 +228,4 @@ void PubsubEvent_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Push.cpp b/Sources/c_borogove/src/borogove/Push.cpp
new file mode 100644
index 0000000..c33a8e6
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Push.cpp
@@ -0,0 +1,144 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessageBuilder
+#include <borogove/ChatMessageBuilder.h>
+#endif
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
+#endif
+#ifndef INCLUDED_borogove_Notification
+#include <borogove/Notification.h>
+#endif
+#ifndef INCLUDED_borogove_Persistence
+#include <borogove/Persistence.h>
+#endif
+#ifndef INCLUDED_borogove_Push
+#include <borogove/Push.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_thenshim_Thenable
+#include <thenshim/Thenable.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_3e92fffecd881428_28_receive,"borogove.Push","receive",0xa9c048dc,"borogove.Push.receive","borogove/Push.hx",28,0xbbe648d6)
+namespace borogove{
+
+void Push_obj::__construct() { }
+
+Dynamic Push_obj::__CreateEmpty() { return new Push_obj; }
+
+void *Push_obj::_hx_vtable = 0;
+
+Dynamic Push_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Push_obj > _hx_result = new Push_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Push_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x3371315b;
+}
+
+ ::borogove::Notification Push_obj::receive(::String data,::Dynamic persistence){
+ HX_STACKFRAME(&_hx_pos_3e92fffecd881428_28_receive)
+HXLINE( 29) ::borogove::Stanza stanza = ::borogove::Stanza_obj::parse(data);
+HXLINE( 30) if (::hx::IsNull( stanza )) {
+HXLINE( 30) return null();
+ }
+HXLINE( 31) bool _hx_tmp;
+HXDLIN( 31) if ((stanza->name == HX_("envelope",10,df,6c,0c))) {
+HXLINE( 31) _hx_tmp = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:sce:1",30,c6,40,50));
+ }
+ else {
+HXLINE( 31) _hx_tmp = false;
+ }
+HXDLIN( 31) if (_hx_tmp) {
+HXLINE( 32) stanza = stanza->getChild(HX_("content",39,8d,77,19),null())->getFirstChild();
+ }
+HXLINE( 34) bool _hx_tmp1;
+HXDLIN( 34) if ((stanza->name == HX_("forwarded",64,f5,9a,17))) {
+HXLINE( 34) _hx_tmp1 = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:forward:0",1f,ec,b0,d1));
+ }
+ else {
+HXLINE( 34) _hx_tmp1 = false;
+ }
+HXDLIN( 34) if (_hx_tmp1) {
+HXLINE( 35) stanza = 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->attr,HX_("to",7b,65,00,00))) ) )) {
+HXLINE( 37) return null();
+ }
+HXLINE( 39) ::borogove::ChatMessage message = ::borogove::ChatMessage_obj::fromStanza(stanza,::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) ))->asBare(),null());
+HXLINE( 40) if (::hx::IsNotNull( message )) {
+HXLINE( 41) ::borogove::Persistence_obj::storeMessages(persistence,message->account(),::Array_obj< ::Dynamic>::__new(1)->init(0,message));
+HXLINE( 42) return ::borogove::Notification_obj::fromChatMessage(message);
+ }
+ else {
+HXLINE( 44) return ::borogove::Notification_obj::fromThinStanza(stanza);
+ }
+HXLINE( 40) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(Push_obj,receive,return )
+
+
+Push_obj::Push_obj()
+{
+}
+
+bool Push_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 7:
+ if (HX_FIELD_EQ(inName,"receive") ) { outValue = receive_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *Push_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *Push_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class Push_obj::__mClass;
+
+static ::String Push_obj_sStaticFields[] = {
+ HX_("receive",e3,61,58,2a),
+ ::String(null())
+};
+
+void Push_obj::__register()
+{
+ Push_obj _hx_dummy;
+ Push_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Push",67,26,a0,e3);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Push_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Push_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< Push_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Push_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Push_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/Reaction.cpp b/Sources/c_borogove/src/borogove/Reaction.cpp
similarity index 63%
rename from Sources/c_snikket/src/snikket/Reaction.cpp
rename to Sources/c_borogove/src/borogove/Reaction.cpp
index 5a3e2ed..e13e488 100644
--- a/Sources/c_snikket/src/snikket/Reaction.cpp
+++ b/Sources/c_borogove/src/borogove/Reaction.cpp
@@ -4,35 +4,33 @@
#ifndef INCLUDED_StringTools
#include <StringTools.h>
#endif
-#ifndef INCLUDED_snikket_Reaction
-#include <snikket/Reaction.h>
+#ifndef INCLUDED_borogove_Reaction
+#include <borogove/Reaction.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_0c571df6f15c506b_23_new,"snikket.Reaction","new",0x5f7c4fcc,"snikket.Reaction.new","snikket/Reaction.hx",23,0x19ff1ac3)
-HX_LOCAL_STACK_FRAME(_hx_pos_c56bcd6450319fb4_355_senderId__fromC,"snikket.Reaction","senderId__fromC",0x31e900f5,"snikket.Reaction.senderId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_c56bcd6450319fb4_355_timestamp__fromC,"snikket.Reaction","timestamp__fromC",0x3cdecf77,"snikket.Reaction.timestamp__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_c56bcd6450319fb4_355_text__fromC,"snikket.Reaction","text__fromC",0x07330ed8,"snikket.Reaction.text__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_c56bcd6450319fb4_355_key__fromC,"snikket.Reaction","key__fromC",0x8fe06ece,"snikket.Reaction.key__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_c56bcd6450319fb4_355_envelopeId__fromC,"snikket.Reaction","envelopeId__fromC",0x1c2ed93a,"snikket.Reaction.envelopeId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c571df6f15c506b_33_render,"snikket.Reaction","render",0xc87d576a,"snikket.Reaction.render","snikket/Reaction.hx",33,0x19ff1ac3)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c571df6f15c506b_15_boot,"snikket.Reaction","boot",0x25628346,"snikket.Reaction.boot","snikket/Reaction.hx",15,0x19ff1ac3)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_4535f3ba2f7d91d5_35_new,"borogove.Reaction","new",0xd991faa8,"borogove.Reaction.new","borogove/Reaction.hx",35,0xa2017f67)
+HX_LOCAL_STACK_FRAME(_hx_pos_88fddae410342e60_423_senderId__fromC,"borogove.Reaction","senderId__fromC",0xbc4185d1,"borogove.Reaction.senderId__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_88fddae410342e60_423_timestamp__fromC,"borogove.Reaction","timestamp__fromC",0xbffa8b1b,"borogove.Reaction.timestamp__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_88fddae410342e60_423_key__fromC,"borogove.Reaction","key__fromC",0x598e1772,"borogove.Reaction.key__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_4535f3ba2f7d91d5_68_render,"borogove.Reaction","render",0xf938de0e,"borogove.Reaction.render","borogove/Reaction.hx",68,0xa2017f67)
+HX_LOCAL_STACK_FRAME(_hx_pos_4535f3ba2f7d91d5_50_unicode,"borogove.Reaction","unicode",0x4cdd7f65,"borogove.Reaction.unicode","borogove/Reaction.hx",50,0xa2017f67)
+HX_LOCAL_STACK_FRAME(_hx_pos_4535f3ba2f7d91d5_15_boot,"borogove.Reaction","boot",0x7e4258ea,"borogove.Reaction.boot","borogove/Reaction.hx",15,0xa2017f67)
+namespace borogove{
void Reaction_obj::__construct(::String senderId,::String timestamp,::String text,::String envelopeId,::String key){
- HX_STACKFRAME(&_hx_pos_0c571df6f15c506b_23_new)
-HXLINE( 24) this->senderId = senderId;
-HXLINE( 25) this->timestamp = timestamp;
-HXLINE( 26) this->text = ::StringTools_obj::replace(text,HX_W(u"\ufe0f",fb86,00b5),HX_("",00,00,00,00));
-HXLINE( 27) this->envelopeId = envelopeId;
-HXLINE( 28) ::String tmp = key;
-HXDLIN( 28) ::String _hx_tmp;
-HXDLIN( 28) if (::hx::IsNotNull( tmp )) {
-HXLINE( 28) _hx_tmp = tmp;
+ HX_STACKFRAME(&_hx_pos_4535f3ba2f7d91d5_35_new)
+HXLINE( 36) this->senderId = senderId;
+HXLINE( 37) this->timestamp = timestamp;
+HXLINE( 38) this->text = ::StringTools_obj::replace(text,HX_W(u"\ufe0f",fb86,00b5),HX_("",00,00,00,00));
+HXLINE( 39) this->envelopeId = envelopeId;
+HXLINE( 40) ::String _hx_tmp;
+HXDLIN( 40) if (::hx::IsNotNull( key )) {
+HXLINE( 40) _hx_tmp = key;
}
else {
-HXLINE( 28) _hx_tmp = this->text;
+HXLINE( 40) _hx_tmp = this->text;
}
-HXDLIN( 28) this->key = _hx_tmp;
+HXDLIN( 40) this->key = _hx_tmp;
}
Dynamic Reaction_obj::__CreateEmpty() { return new Reaction_obj; }
@@ -47,56 +45,48 @@ Dynamic Reaction_obj::__Create(::hx::DynamicArray inArgs)
}
bool Reaction_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x7f8e2b4a;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x5a715baa;
}
::String Reaction_obj::senderId__fromC(){
- HX_STACKFRAME(&_hx_pos_c56bcd6450319fb4_355_senderId__fromC)
-HXDLIN( 355) return this->senderId;
+ HX_STACKFRAME(&_hx_pos_88fddae410342e60_423_senderId__fromC)
+HXDLIN( 423) return this->senderId;
}
HX_DEFINE_DYNAMIC_FUNC0(Reaction_obj,senderId__fromC,return )
::String Reaction_obj::timestamp__fromC(){
- HX_STACKFRAME(&_hx_pos_c56bcd6450319fb4_355_timestamp__fromC)
-HXDLIN( 355) return this->timestamp;
+ HX_STACKFRAME(&_hx_pos_88fddae410342e60_423_timestamp__fromC)
+HXDLIN( 423) return this->timestamp;
}
HX_DEFINE_DYNAMIC_FUNC0(Reaction_obj,timestamp__fromC,return )
-::String Reaction_obj::text__fromC(){
- HX_STACKFRAME(&_hx_pos_c56bcd6450319fb4_355_text__fromC)
-HXDLIN( 355) return this->text;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Reaction_obj,text__fromC,return )
-
::String Reaction_obj::key__fromC(){
- HX_STACKFRAME(&_hx_pos_c56bcd6450319fb4_355_key__fromC)
-HXDLIN( 355) return this->key;
+ HX_STACKFRAME(&_hx_pos_88fddae410342e60_423_key__fromC)
+HXDLIN( 423) return this->key;
}
HX_DEFINE_DYNAMIC_FUNC0(Reaction_obj,key__fromC,return )
-::String Reaction_obj::envelopeId__fromC(){
- HX_STACKFRAME(&_hx_pos_c56bcd6450319fb4_355_envelopeId__fromC)
-HXDLIN( 355) return this->envelopeId;
+::String Reaction_obj::render( ::Dynamic forText, ::Dynamic forImage){
+ HX_STACKFRAME(&_hx_pos_4535f3ba2f7d91d5_68_render)
+HXDLIN( 68) return ( (::String)(forText((this->text + HX_W(u"\ufe0f",fb86,00b5)))) );
}
-HX_DEFINE_DYNAMIC_FUNC0(Reaction_obj,envelopeId__fromC,return )
+HX_DEFINE_DYNAMIC_FUNC2(Reaction_obj,render,return )
- ::Dynamic Reaction_obj::render( ::Dynamic forText, ::Dynamic forImage){
- HX_STACKFRAME(&_hx_pos_0c571df6f15c506b_33_render)
-HXDLIN( 33) return forText((this->text + HX_W(u"\ufe0f",fb86,00b5)));
+ ::borogove::Reaction Reaction_obj::unicode(::String unicode){
+ HX_GC_STACKFRAME(&_hx_pos_4535f3ba2f7d91d5_50_unicode)
+HXDLIN( 50) return ::borogove::Reaction_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),HX_("",00,00,00,00),unicode,null(),null());
}
-HX_DEFINE_DYNAMIC_FUNC2(Reaction_obj,render,return )
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Reaction_obj,unicode,return )
::hx::ObjectPtr< Reaction_obj > Reaction_obj::__new(::String senderId,::String timestamp,::String text,::String envelopeId,::String key) {
@@ -106,7 +96,7 @@ HX_DEFINE_DYNAMIC_FUNC2(Reaction_obj,render,return )
}
::hx::ObjectPtr< Reaction_obj > Reaction_obj::__alloc(::hx::Ctx *_hx_ctx,::String senderId,::String timestamp,::String text,::String envelopeId,::String key) {
- Reaction_obj *__this = (Reaction_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Reaction_obj), true, "snikket.Reaction"));
+ Reaction_obj *__this = (Reaction_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Reaction_obj), true, "borogove.Reaction"));
*(void **)__this = Reaction_obj::_hx_vtable;
__this->__construct(senderId,timestamp,text,envelopeId,key);
return __this;
@@ -158,21 +148,24 @@ void Reaction_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"key__fromC") ) { return ::hx::Val( key__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"envelopeId") ) { return ::hx::Val( envelopeId ); }
break;
- case 11:
- if (HX_FIELD_EQ(inName,"text__fromC") ) { return ::hx::Val( text__fromC_dyn() ); }
- break;
case 15:
if (HX_FIELD_EQ(inName,"senderId__fromC") ) { return ::hx::Val( senderId__fromC_dyn() ); }
break;
case 16:
if (HX_FIELD_EQ(inName,"timestamp__fromC") ) { return ::hx::Val( timestamp__fromC_dyn() ); }
- break;
- case 17:
- if (HX_FIELD_EQ(inName,"envelopeId__fromC") ) { return ::hx::Val( envelopeId__fromC_dyn() ); }
}
return super::__Field(inName,inCallProp);
}
+bool Reaction_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 7:
+ if (HX_FIELD_EQ(inName,"unicode") ) { outValue = unicode_dyn(); return true; }
+ }
+ return false;
+}
+
::hx::Val Reaction_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
{
switch(inName.length) {
@@ -222,28 +215,31 @@ static ::String Reaction_obj_sMemberFields[] = {
HX_("timestamp",d6,d4,ce,a5),
HX_("timestamp__fromC",63,82,8b,d7),
HX_("text",ad,cc,f9,4c),
- HX_("text__fromC",6c,43,1b,7f),
HX_("key",9f,89,51,00),
HX_("key__fromC",ba,e8,22,12),
HX_("envelopeId",0b,03,af,a8),
- HX_("envelopeId__fromC",ce,b4,9e,d8),
HX_("render",56,6b,29,05),
::String(null()) };
::hx::Class Reaction_obj::__mClass;
+static ::String Reaction_obj_sStaticFields[] = {
+ HX_("unicode",1d,91,68,b3),
+ ::String(null())
+};
+
void Reaction_obj::__register()
{
Reaction_obj _hx_dummy;
Reaction_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Reaction",da,b9,95,ab);
+ __mClass->mName = HX_("borogove.Reaction",b6,c6,8d,ce);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
+ __mClass->mGetStaticField = &Reaction_obj::__GetStatic;
__mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(0 /* sStaticFields */);
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Reaction_obj_sStaticFields);
__mClass->mMembers = ::hx::Class_obj::dupFunctions(Reaction_obj_sMemberFields);
__mClass->mCanCast = ::hx::TCanCast< Reaction_obj >;
#ifdef HXCPP_SCRIPTABLE
@@ -258,20 +254,16 @@ void Reaction_obj::__register()
void Reaction_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_0c571df6f15c506b_15_boot)
+ HX_STACKFRAME(&_hx_pos_4535f3ba2f7d91d5_15_boot)
HXDLIN( 15) __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_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("senderId__fromC",89,0f,49,cb), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
->setFixed(1,HX_("timestamp__fromC",63,82,8b,d7), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(2,HX_("envelopeId__fromC",ce,b4,9e,d8), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(3,HX_("key__fromC",ba,e8,22,12), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(4,HX_("text__fromC",6c,43,1b,7f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(2,HX_("key__fromC",ba,e8,22,12), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
}
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/ReactionUpdate.cpp b/Sources/c_borogove/src/borogove/ReactionUpdate.cpp
similarity index 80%
rename from Sources/c_snikket/src/snikket/ReactionUpdate.cpp
rename to Sources/c_borogove/src/borogove/ReactionUpdate.cpp
index 9a69145..5e6278d 100644
--- a/Sources/c_snikket/src/snikket/ReactionUpdate.cpp
+++ b/Sources/c_borogove/src/borogove/ReactionUpdate.cpp
@@ -7,42 +7,39 @@
#ifndef INCLUDED_Std
#include <Std.h>
#endif
-#ifndef INCLUDED_haxe_IMap
-#include <haxe/IMap.h>
-#endif
-#ifndef INCLUDED_haxe_ds_StringMap
-#include <haxe/ds/StringMap.h>
+#ifndef INCLUDED_borogove_CustomEmojiReaction
+#include <borogove/CustomEmojiReaction.h>
#endif
-#ifndef INCLUDED_snikket_CustomEmojiReaction
-#include <snikket/CustomEmojiReaction.h>
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
+#ifndef INCLUDED_borogove_Reaction
+#include <borogove/Reaction.h>
#endif
-#ifndef INCLUDED_snikket_Reaction
-#include <snikket/Reaction.h>
+#ifndef INCLUDED_borogove_ReactionUpdate
+#include <borogove/ReactionUpdate.h>
#endif
-#ifndef INCLUDED_snikket_ReactionUpdate
-#include <snikket/ReactionUpdate.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove__Util_Util_Fields_
+#include <borogove/_Util/Util_Fields_.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
#endif
-#ifndef INCLUDED_snikket__Util_Util_Fields_
-#include <snikket/_Util/Util_Fields_.h>
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_e489f3454bf66450_25_new,"snikket.ReactionUpdate","new",0x3406b1f5,"snikket.ReactionUpdate.new","snikket/ReactionUpdate.hx",25,0x80d471fa)
-HX_LOCAL_STACK_FRAME(_hx_pos_e489f3454bf66450_39_getReactions,"snikket.ReactionUpdate","getReactions",0x1bad2cff,"snikket.ReactionUpdate.getReactions","snikket/ReactionUpdate.hx",39,0x80d471fa)
-HX_LOCAL_STACK_FRAME(_hx_pos_e489f3454bf66450_67_inlineHashReferences,"snikket.ReactionUpdate","inlineHashReferences",0x288d7aba,"snikket.ReactionUpdate.inlineHashReferences","snikket/ReactionUpdate.hx",67,0x80d471fa)
-HX_LOCAL_STACK_FRAME(_hx_pos_e489f3454bf66450_82_asStanza,"snikket.ReactionUpdate","asStanza",0x9b37aad2,"snikket.ReactionUpdate.asStanza","snikket/ReactionUpdate.hx",82,0x80d471fa)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_7ae1846c96c5ccc5_25_new,"borogove.ReactionUpdate","new",0xe929e9d1,"borogove.ReactionUpdate.new","borogove/ReactionUpdate.hx",25,0xfc79e99e)
+HX_LOCAL_STACK_FRAME(_hx_pos_7ae1846c96c5ccc5_39_getReactions,"borogove.ReactionUpdate","getReactions",0x69ea19a3,"borogove.ReactionUpdate.getReactions","borogove/ReactionUpdate.hx",39,0xfc79e99e)
+HX_LOCAL_STACK_FRAME(_hx_pos_7ae1846c96c5ccc5_67_inlineHashReferences,"borogove.ReactionUpdate","inlineHashReferences",0xc23dab5e,"borogove.ReactionUpdate.inlineHashReferences","borogove/ReactionUpdate.hx",67,0xfc79e99e)
+HX_LOCAL_STACK_FRAME(_hx_pos_7ae1846c96c5ccc5_82_asStanza,"borogove.ReactionUpdate","asStanza",0xfe907576,"borogove.ReactionUpdate.asStanza","borogove/ReactionUpdate.hx",82,0xfc79e99e)
+namespace borogove{
void ReactionUpdate_obj::__construct(::String updateId,::String serverId,::String serverIdBy,::String localId,::String chatId,::String senderId,::String timestamp,::Array< ::Dynamic> reactions,int kind){
- HX_STACKFRAME(&_hx_pos_e489f3454bf66450_25_new)
+ HX_STACKFRAME(&_hx_pos_7ae1846c96c5ccc5_25_new)
HXLINE( 26) bool _hx_tmp;
HXDLIN( 26) if (::hx::IsNull( serverId )) {
HXLINE( 26) _hx_tmp = ::hx::IsNull( localId );
@@ -86,26 +83,25 @@ Dynamic ReactionUpdate_obj::__Create(::hx::DynamicArray inArgs)
}
bool ReactionUpdate_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x71029d2f;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x15364c1b;
}
::Array< ::Dynamic> ReactionUpdate_obj::getReactions(::Array< ::Dynamic> existingReactions){
- HX_GC_STACKFRAME(&_hx_pos_e489f3454bf66450_39_getReactions)
+ HX_GC_STACKFRAME(&_hx_pos_7ae1846c96c5ccc5_39_getReactions)
HXLINE( 40) if ((this->kind == 1)) {
HXLINE( 41) ::haxe::ds::StringMap set = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
HXLINE( 42) ::Array< ::Dynamic> list = ::Array_obj< ::Dynamic>::__new(0);
HXLINE( 43) {
HXLINE( 43) int _g = 0;
HXDLIN( 43) ::Array< ::Dynamic> _g1;
-HXDLIN( 43) ::Array< ::Dynamic> tmp = existingReactions;
-HXDLIN( 43) if (::hx::IsNotNull( tmp )) {
-HXLINE( 43) _g1 = tmp;
+HXDLIN( 43) if (::hx::IsNotNull( existingReactions )) {
+HXLINE( 43) _g1 = existingReactions;
}
else {
HXLINE( 43) _g1 = ::Array_obj< ::Dynamic>::__new(0);
}
HXDLIN( 43) while((_g < _g1->length)){
-HXLINE( 43) ::snikket::Reaction r = _g1->__get(_g).StaticCast< ::snikket::Reaction >();
+HXLINE( 43) ::borogove::Reaction r = _g1->__get(_g).StaticCast< ::borogove::Reaction >();
HXDLIN( 43) _g = (_g + 1);
HXLINE( 44) if (!(set->exists(r->key))) {
HXLINE( 44) list->push(r);
@@ -117,7 +113,7 @@ HXLINE( 47) {
HXLINE( 47) int _g2 = 0;
HXDLIN( 47) ::Array< ::Dynamic> _g3 = this->reactions;
HXDLIN( 47) while((_g2 < _g3->length)){
-HXLINE( 47) ::snikket::Reaction r1 = _g3->__get(_g2).StaticCast< ::snikket::Reaction >();
+HXLINE( 47) ::borogove::Reaction r1 = _g3->__get(_g2).StaticCast< ::borogove::Reaction >();
HXDLIN( 47) _g2 = (_g2 + 1);
HXLINE( 48) if (!(set->exists(r1->key))) {
HXLINE( 48) list->push(r1);
@@ -133,17 +129,16 @@ HXLINE( 54) ::Array< ::Dynamic> list1 = ::Lambda_obj::array(this->reactions)
HXLINE( 55) {
HXLINE( 55) int _g4 = 0;
HXDLIN( 55) ::Array< ::Dynamic> _g5;
-HXDLIN( 55) ::Array< ::Dynamic> tmp1 = existingReactions;
-HXDLIN( 55) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 55) _g5 = tmp1;
+HXDLIN( 55) if (::hx::IsNotNull( existingReactions )) {
+HXLINE( 55) _g5 = existingReactions;
}
else {
HXLINE( 55) _g5 = ::Array_obj< ::Dynamic>::__new(0);
}
HXDLIN( 55) while((_g4 < _g5->length)){
-HXLINE( 55) ::snikket::Reaction r2 = _g5->__get(_g4).StaticCast< ::snikket::Reaction >();
+HXLINE( 55) ::borogove::Reaction r2 = _g5->__get(_g4).StaticCast< ::borogove::Reaction >();
HXDLIN( 55) _g4 = (_g4 + 1);
-HXLINE( 56) ::snikket::CustomEmojiReaction custom = ( ( ::snikket::CustomEmojiReaction)(::snikket::_Util::Util_Fields__obj::downcast(r2,::hx::ClassOf< ::snikket::CustomEmojiReaction >())) );
+HXLINE( 56) ::borogove::CustomEmojiReaction custom = ( ( ::borogove::CustomEmojiReaction)(::borogove::_Util::Util_Fields__obj::downcast(r2,::hx::ClassOf< ::borogove::CustomEmojiReaction >())) );
HXLINE( 57) if (::hx::IsNotNull( custom )) {
HXLINE( 57) list1->push(custom);
}
@@ -165,17 +160,17 @@ HXDLIN( 63) return null();
HX_DEFINE_DYNAMIC_FUNC1(ReactionUpdate_obj,getReactions,return )
::Array< ::Dynamic> ReactionUpdate_obj::inlineHashReferences(){
- HX_STACKFRAME(&_hx_pos_e489f3454bf66450_67_inlineHashReferences)
+ HX_STACKFRAME(&_hx_pos_7ae1846c96c5ccc5_67_inlineHashReferences)
HXLINE( 68) ::Array< ::Dynamic> hashes = ::Array_obj< ::Dynamic>::__new(0);
HXLINE( 69) {
HXLINE( 69) int _g = 0;
HXDLIN( 69) ::Array< ::Dynamic> _g1 = this->reactions;
HXDLIN( 69) while((_g < _g1->length)){
-HXLINE( 69) ::snikket::Reaction r = _g1->__get(_g).StaticCast< ::snikket::Reaction >();
+HXLINE( 69) ::borogove::Reaction r = _g1->__get(_g).StaticCast< ::borogove::Reaction >();
HXDLIN( 69) _g = (_g + 1);
-HXLINE( 70) ::snikket::CustomEmojiReaction custom = ( ( ::snikket::CustomEmojiReaction)(::snikket::_Util::Util_Fields__obj::downcast(r,::hx::ClassOf< ::snikket::CustomEmojiReaction >())) );
+HXLINE( 70) ::borogove::CustomEmojiReaction custom = ( ( ::borogove::CustomEmojiReaction)(::borogove::_Util::Util_Fields__obj::downcast(r,::hx::ClassOf< ::borogove::CustomEmojiReaction >())) );
HXLINE( 71) if (::hx::IsNotNull( custom )) {
-HXLINE( 72) ::snikket::Hash hash = ::snikket::Hash_obj::fromUri(custom->uri);
+HXLINE( 72) ::borogove::Hash hash = ::borogove::Hash_obj::fromUri(custom->uri);
HXLINE( 73) if (::hx::IsNotNull( hash )) {
HXLINE( 73) hashes->push(hash);
}
@@ -188,8 +183,8 @@ HXLINE( 76) return hashes;
HX_DEFINE_DYNAMIC_FUNC0(ReactionUpdate_obj,inlineHashReferences,return )
- ::snikket::Stanza ReactionUpdate_obj::asStanza(){
- HX_GC_STACKFRAME(&_hx_pos_e489f3454bf66450_82_asStanza)
+ ::borogove::Stanza ReactionUpdate_obj::asStanza(){
+ HX_GC_STACKFRAME(&_hx_pos_7ae1846c96c5ccc5_82_asStanza)
HXLINE( 83) if ((this->kind != 0)) {
HXLINE( 83) HX_STACK_DO_THROW(HX_("Cannot make a reaction XEP stanza for this kind",d4,3c,65,53));
}
@@ -200,10 +195,9 @@ HXLINE( 85) attrs = HX_("chat",d8,5e,bf,41);
else {
HXLINE( 85) attrs = HX_("groupchat",97,1d,c8,e5);
}
-HXDLIN( 85) ::Dynamic attrs1 = ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 86) ::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));
-HXLINE( 86) ::snikket::Stanza stanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a),attrs1);
+ ->setFixed(1,HX_("type",ba,f2,08,4d),attrs)));
HXLINE( 88) ::String tmp = this->localId;
HXDLIN( 88) ::String _hx_tmp;
HXDLIN( 88) if (::hx::IsNotNull( tmp )) {
@@ -219,9 +213,9 @@ HXLINE( 89) {
HXLINE( 89) int _g = 0;
HXDLIN( 89) ::Array< ::Dynamic> _g1 = this->reactions;
HXDLIN( 89) while((_g < _g1->length)){
-HXLINE( 89) ::snikket::Reaction reaction = _g1->__get(_g).StaticCast< ::snikket::Reaction >();
+HXLINE( 89) ::borogove::Reaction reaction = _g1->__get(_g).StaticCast< ::borogove::Reaction >();
HXDLIN( 89) _g = (_g + 1);
-HXLINE( 90) if (!(::Std_obj::isOfType(reaction,::hx::ClassOf< ::snikket::CustomEmojiReaction >()))) {
+HXLINE( 90) if (!(::Std_obj::isOfType(reaction,::hx::ClassOf< ::borogove::CustomEmojiReaction >()))) {
HXLINE( 90) stanza->textTag(HX_("reaction",a9,e7,b4,f6),reaction->text,null());
}
}
@@ -241,7 +235,7 @@ HX_DEFINE_DYNAMIC_FUNC0(ReactionUpdate_obj,asStanza,return )
}
::hx::ObjectPtr< ReactionUpdate_obj > ReactionUpdate_obj::__alloc(::hx::Ctx *_hx_ctx,::String updateId,::String serverId,::String serverIdBy,::String localId,::String chatId,::String senderId,::String timestamp,::Array< ::Dynamic> reactions,int kind) {
- ReactionUpdate_obj *__this = (ReactionUpdate_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ReactionUpdate_obj), true, "snikket.ReactionUpdate"));
+ ReactionUpdate_obj *__this = (ReactionUpdate_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ReactionUpdate_obj), true, "borogove.ReactionUpdate"));
*(void **)__this = ReactionUpdate_obj::_hx_vtable;
__this->__construct(updateId,serverId,serverIdBy,localId,chatId,senderId,timestamp,reactions,kind);
return __this;
@@ -392,7 +386,7 @@ void ReactionUpdate_obj::__register()
ReactionUpdate_obj _hx_dummy;
ReactionUpdate_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.ReactionUpdate",83,93,07,31);
+ __mClass->mName = HX_("borogove.ReactionUpdate",5f,ad,02,9c);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -410,4 +404,4 @@ void ReactionUpdate_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/SerializedChat.cpp b/Sources/c_borogove/src/borogove/SerializedChat.cpp
similarity index 63%
rename from Sources/c_snikket/src/snikket/SerializedChat.cpp
rename to Sources/c_borogove/src/borogove/SerializedChat.cpp
index f32d037..6b69502 100644
--- a/Sources/c_snikket/src/snikket/SerializedChat.cpp
+++ b/Sources/c_borogove/src/borogove/SerializedChat.cpp
@@ -1,100 +1,95 @@
// 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>
+#ifndef INCLUDED_borogove_Caps
+#include <borogove/Caps.h>
#endif
-#ifndef INCLUDED_snikket_Caps
-#include <snikket/Caps.h>
+#ifndef INCLUDED_borogove_Channel
+#include <borogove/Channel.h>
#endif
-#ifndef INCLUDED_snikket_Channel
-#include <snikket/Channel.h>
+#ifndef INCLUDED_borogove_Chat
+#include <borogove/Chat.h>
#endif
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
+#ifndef INCLUDED_borogove_Client
+#include <borogove/Client.h>
#endif
-#ifndef INCLUDED_snikket_Client
-#include <snikket/Client.h>
+#ifndef INCLUDED_borogove_DirectChat
+#include <borogove/DirectChat.h>
#endif
-#ifndef INCLUDED_snikket_DirectChat
-#include <snikket/DirectChat.h>
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
+#ifndef INCLUDED_borogove_GenericStream
+#include <borogove/GenericStream.h>
#endif
-#ifndef INCLUDED_snikket_GenericStream
-#include <snikket/GenericStream.h>
+#ifndef INCLUDED_borogove_Identity
+#include <borogove/Identity.h>
#endif
-#ifndef INCLUDED_snikket_Identity
-#include <snikket/Identity.h>
+#ifndef INCLUDED_borogove_Persistence
+#include <borogove/Persistence.h>
#endif
-#ifndef INCLUDED_snikket_Persistence
-#include <snikket/Persistence.h>
+#ifndef INCLUDED_borogove_Presence
+#include <borogove/Presence.h>
#endif
-#ifndef INCLUDED_snikket_Presence
-#include <snikket/Presence.h>
+#ifndef INCLUDED_borogove_SerializedChat
+#include <borogove/SerializedChat.h>
#endif
-#ifndef INCLUDED_snikket_SerializedChat
-#include <snikket/SerializedChat.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_59459d97d9a61381_1597_new,"snikket.SerializedChat","new",0xcbfecbdf,"snikket.SerializedChat.new","snikket/Chat.hx",1597,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_59459d97d9a61381_1615_toChat,"snikket.SerializedChat","toChat",0x0e8ec7d4,"snikket.SerializedChat.toChat","snikket/Chat.hx",1615,0x18616bf4)
-static const ::String _hx_array_data_8cddf06d_3[] = {
+HX_DEFINE_STACK_FRAME(_hx_pos_10d675922f29bad2_1945_new,"borogove.SerializedChat","new",0x812203bb,"borogove.SerializedChat.new","borogove/Chat.hx",1945,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_10d675922f29bad2_1964_toChat,"borogove.SerializedChat","toChat",0xdd72e178,"borogove.SerializedChat.toChat","borogove/Chat.hx",1964,0x1763ae98)
+static const ::String _hx_array_data_f7d90a49_3[] = {
HX_("http://jabber.org/protocol/muc",07,b2,7f,c6),
};
-namespace snikket{
+namespace borogove{
-void SerializedChat_obj::__construct(::String chatId,bool trusted,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::snikket::Caps disco,::String klass){
- HX_STACKFRAME(&_hx_pos_59459d97d9a61381_1597_new)
-HXLINE(1598) this->chatId = chatId;
-HXLINE(1599) this->trusted = trusted;
-HXLINE(1600) this->avatarSha1 = avatarSha1;
-HXLINE(1601) this->presence = presence;
-HXLINE(1602) this->displayName = displayName;
-HXLINE(1603) ::Dynamic tmp = uiState;
-HXDLIN(1603) int _hx_tmp;
-HXDLIN(1603) if (::hx::IsNotNull( tmp )) {
-HXLINE(1603) _hx_tmp = ( (int)(tmp) );
+void SerializedChat_obj::__construct(::String chatId,bool trusted,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::borogove::Caps disco,::Array< int > omemoContactDeviceIDs,::String klass){
+ HX_STACKFRAME(&_hx_pos_10d675922f29bad2_1945_new)
+HXLINE(1946) this->chatId = chatId;
+HXLINE(1947) this->trusted = trusted;
+HXLINE(1948) this->avatarSha1 = avatarSha1;
+HXLINE(1949) this->presence = presence;
+HXLINE(1950) this->displayName = displayName;
+HXLINE(1951) int _hx_tmp;
+HXDLIN(1951) if (::hx::IsNotNull( uiState )) {
+HXLINE(1951) _hx_tmp = ( (int)(uiState) );
}
else {
-HXLINE(1603) _hx_tmp = 1;
+HXLINE(1951) _hx_tmp = 1;
}
-HXDLIN(1603) this->uiState = _hx_tmp;
-HXLINE(1604) ::Dynamic tmp1 = isBlocked;
-HXDLIN(1604) bool _hx_tmp1;
-HXDLIN(1604) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1604) _hx_tmp1 = ( (bool)(tmp1) );
+HXDLIN(1951) this->uiState = _hx_tmp;
+HXLINE(1952) bool _hx_tmp1;
+HXDLIN(1952) if (::hx::IsNotNull( isBlocked )) {
+HXLINE(1952) _hx_tmp1 = ( (bool)(isBlocked) );
}
else {
-HXLINE(1604) _hx_tmp1 = false;
+HXLINE(1952) _hx_tmp1 = false;
}
-HXDLIN(1604) this->isBlocked = _hx_tmp1;
-HXLINE(1605) ::String tmp2 = extensions;
-HXDLIN(1605) ::String _hx_tmp2;
-HXDLIN(1605) if (::hx::IsNotNull( tmp2 )) {
-HXLINE(1605) _hx_tmp2 = tmp2;
+HXDLIN(1952) this->isBlocked = _hx_tmp1;
+HXLINE(1953) ::String _hx_tmp2;
+HXDLIN(1953) if (::hx::IsNotNull( extensions )) {
+HXLINE(1953) _hx_tmp2 = extensions;
}
else {
-HXLINE(1605) _hx_tmp2 = HX_("<extensions xmlns='urn:app:bookmarks:1' />",84,43,42,a9);
+HXLINE(1953) _hx_tmp2 = HX_("<extensions xmlns='urn:app:bookmarks:1' />",84,43,42,a9);
}
-HXDLIN(1605) this->extensions = _hx_tmp2;
-HXLINE(1606) this->readUpToId = readUpToId;
-HXLINE(1607) this->readUpToBy = readUpToBy;
-HXLINE(1608) this->notificationsFiltered = notificationsFiltered;
-HXLINE(1609) this->notifyMention = notifyMention;
-HXLINE(1610) this->notifyReply = notifyReply;
-HXLINE(1611) this->disco = disco;
-HXLINE(1612) this->klass = klass;
+HXDLIN(1953) this->extensions = _hx_tmp2;
+HXLINE(1954) this->readUpToId = readUpToId;
+HXLINE(1955) this->readUpToBy = readUpToBy;
+HXLINE(1956) this->notificationsFiltered = notificationsFiltered;
+HXLINE(1957) this->notifyMention = notifyMention;
+HXLINE(1958) this->notifyReply = notifyReply;
+HXLINE(1959) this->disco = disco;
+HXLINE(1960) this->omemoContactDeviceIDs = omemoContactDeviceIDs;
+HXLINE(1961) this->klass = klass;
}
Dynamic SerializedChat_obj::__CreateEmpty() { return new SerializedChat_obj; }
@@ -104,97 +99,99 @@ void *SerializedChat_obj::_hx_vtable = 0;
Dynamic SerializedChat_obj::__Create(::hx::DynamicArray inArgs)
{
::hx::ObjectPtr< SerializedChat_obj > _hx_result = new SerializedChat_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4],inArgs[5],inArgs[6],inArgs[7],inArgs[8],inArgs[9],inArgs[10],inArgs[11],inArgs[12],inArgs[13],inArgs[14]);
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4],inArgs[5],inArgs[6],inArgs[7],inArgs[8],inArgs[9],inArgs[10],inArgs[11],inArgs[12],inArgs[13],inArgs[14],inArgs[15]);
return _hx_result;
}
bool SerializedChat_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x3eb0c535;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1b18ce3d;
}
- ::snikket::Chat SerializedChat_obj::toChat( ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence){
- HX_GC_STACKFRAME(&_hx_pos_59459d97d9a61381_1615_toChat)
-HXLINE(1616) ::snikket::Stanza extensionsStanza = ::snikket::Stanza_obj::parse(this->extensions);
-HXLINE(1617) bool filterN;
-HXDLIN(1617) ::Dynamic tmp = this->notificationsFiltered;
-HXDLIN(1617) if (::hx::IsNotNull( tmp )) {
-HXLINE(1617) filterN = ( (bool)(tmp) );
+ ::borogove::Chat SerializedChat_obj::toChat( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence){
+ HX_GC_STACKFRAME(&_hx_pos_10d675922f29bad2_1964_toChat)
+HXLINE(1965) ::borogove::Stanza extensionsStanza = ::borogove::Stanza_obj::parse(this->extensions);
+HXLINE(1966) bool filterN;
+HXDLIN(1966) ::Dynamic tmp = this->notificationsFiltered;
+HXDLIN(1966) if (::hx::IsNotNull( tmp )) {
+HXLINE(1966) filterN = ( (bool)(tmp) );
}
else {
-HXLINE(1617) filterN = false;
+HXLINE(1966) filterN = false;
}
-HXLINE(1618) bool mention = this->notifyMention;
-HXLINE(1620) ::snikket::Chat chat;
-HXDLIN(1620) if ((this->klass == HX_("DirectChat",c1,22,a3,05))) {
-HXLINE(1620) chat = ::snikket::DirectChat_obj::__alloc( HX_CTX ,client,stream,persistence,this->chatId,this->uiState,this->isBlocked,extensionsStanza,this->readUpToId,this->readUpToBy);
+HXLINE(1967) bool mention = this->notifyMention;
+HXLINE(1969) ::borogove::Chat chat;
+HXDLIN(1969) if ((this->klass == HX_("DirectChat",c1,22,a3,05))) {
+HXLINE(1969) chat = ::borogove::DirectChat_obj::__alloc( HX_CTX ,client,stream,persistence,this->chatId,this->uiState,this->isBlocked,extensionsStanza,this->readUpToId,this->readUpToBy,this->omemoContactDeviceIDs);
}
else {
-HXLINE(1622) if ((this->klass == HX_("Channel",a3,28,23,9a))) {
-HXLINE(1623) ::snikket::Channel channel = ::snikket::Channel_obj::__alloc( HX_CTX ,client,stream,persistence,this->chatId,this->uiState,this->isBlocked,extensionsStanza,this->readUpToId,this->readUpToBy,null());
-HXLINE(1624) ::snikket::Caps tmp1 = this->disco;
-HXDLIN(1624) ::snikket::Caps chat1;
-HXDLIN(1624) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1624) chat1 = tmp1;
+HXLINE(1971) if ((this->klass == HX_("Channel",a3,28,23,9a))) {
+HXLINE(1972) ::borogove::Channel channel = ::borogove::Channel_obj::__alloc( HX_CTX ,client,stream,persistence,this->chatId,this->uiState,this->isBlocked,extensionsStanza,this->readUpToId,this->readUpToBy,null());
+HXLINE(1973) ::borogove::Caps tmp1 = this->disco;
+HXDLIN(1973) ::borogove::Caps chat1;
+HXDLIN(1973) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1973) chat1 = tmp1;
}
else {
-HXLINE(1624) chat1 = ::snikket::Caps_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::fromData( _hx_array_data_8cddf06d_3,1),null());
+HXLINE(1973) chat1 = ::borogove::Caps_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::fromData( _hx_array_data_f7d90a49_3,1),::Array_obj< ::Dynamic>::__new(0),null());
}
-HXDLIN(1624) channel->disco = chat1;
-HXLINE(1625) bool chat2;
-HXDLIN(1625) if (::hx::IsNull( this->notificationsFiltered )) {
-HXLINE(1625) chat2 = !(channel->isPrivate());
+HXDLIN(1973) channel->disco = chat1;
+HXLINE(1974) bool chat2;
+HXDLIN(1974) if (::hx::IsNull( this->notificationsFiltered )) {
+HXLINE(1974) chat2 = !(channel->isPrivate());
}
else {
-HXLINE(1625) chat2 = false;
+HXLINE(1974) chat2 = false;
}
-HXDLIN(1625) if (chat2) {
-HXLINE(1626) filterN = true;
-HXDLIN(1626) mention = filterN;
+HXDLIN(1974) if (chat2) {
+HXLINE(1975) filterN = true;
+HXDLIN(1975) mention = true;
}
-HXLINE(1620) chat = channel;
+HXLINE(1969) chat = channel;
}
else {
-HXLINE(1630) HX_STACK_DO_THROW((((HX_("Unknown class of ",0b,cb,7f,f2) + this->chatId) + HX_(": ",a6,32,00,00)) + this->klass));
+HXLINE(1979) HX_STACK_DO_THROW((((HX_("Unknown class of ",0b,cb,7f,f2) + this->chatId) + HX_(": ",a6,32,00,00)) + this->klass));
}
}
-HXLINE(1632) chat->setNotificationsInternal(filterN,mention,this->notifyReply);
-HXLINE(1633) if (::hx::IsNotNull( this->displayName )) {
-HXLINE(1633) chat->displayName = this->displayName;
+HXLINE(1981) chat->setNotificationsInternal(filterN,mention,this->notifyReply);
+HXLINE(1982) bool _hx_tmp;
+HXDLIN(1982) if (::hx::IsNotNull( this->displayName )) {
+HXLINE(1982) _hx_tmp = (this->displayName != HX_("",00,00,00,00));
+ }
+ else {
+HXLINE(1982) _hx_tmp = false;
+ }
+HXDLIN(1982) if (_hx_tmp) {
+HXLINE(1982) chat->displayName = this->displayName;
}
-HXLINE(1634) if (::hx::IsNotNull( this->avatarSha1 )) {
-HXLINE(1634) chat->setAvatarSha1(this->avatarSha1);
+HXLINE(1983) if (::hx::IsNotNull( this->avatarSha1 )) {
+HXLINE(1983) chat->setAvatarSha1(this->avatarSha1);
}
-HXLINE(1635) chat->setTrusted(this->trusted);
-HXLINE(1636) {
-HXLINE(1636) ::Dynamic map = this->presence;
-HXDLIN(1636) ::Dynamic _g_map = map;
-HXDLIN(1636) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN(1636) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(1636) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN(1636) ::snikket::Presence _g_value = ( ( ::snikket::Presence)(::haxe::IMap_obj::get(_g_map,key)) );
-HXDLIN(1636) ::String _g_key = key;
-HXDLIN(1636) ::String resource = _g_key;
-HXDLIN(1636) ::snikket::Presence p = _g_value;
-HXLINE(1637) chat->setPresence(resource,p);
+HXLINE(1984) chat->setTrusted(this->trusted);
+HXLINE(1985) {
+HXLINE(1985) ::Dynamic this1 = this->presence;
+HXDLIN(1985) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN(1985) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1985) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXLINE(1986) chat->setPresence(key,( ( ::borogove::Presence)(::haxe::IMap_obj::get(this1,key)) ));
}
}
-HXLINE(1639) return chat;
+HXLINE(1988) return chat;
}
HX_DEFINE_DYNAMIC_FUNC3(SerializedChat_obj,toChat,return )
-::hx::ObjectPtr< SerializedChat_obj > SerializedChat_obj::__new(::String chatId,bool trusted,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::snikket::Caps disco,::String klass) {
+::hx::ObjectPtr< SerializedChat_obj > SerializedChat_obj::__new(::String chatId,bool trusted,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::borogove::Caps disco,::Array< int > omemoContactDeviceIDs,::String klass) {
::hx::ObjectPtr< SerializedChat_obj > __this = new SerializedChat_obj();
- __this->__construct(chatId,trusted,avatarSha1,presence,displayName,uiState,isBlocked,extensions,readUpToId,readUpToBy,notificationsFiltered,notifyMention,notifyReply,disco,klass);
+ __this->__construct(chatId,trusted,avatarSha1,presence,displayName,uiState,isBlocked,extensions,readUpToId,readUpToBy,notificationsFiltered,notifyMention,notifyReply,disco,omemoContactDeviceIDs,klass);
return __this;
}
-::hx::ObjectPtr< SerializedChat_obj > SerializedChat_obj::__alloc(::hx::Ctx *_hx_ctx,::String chatId,bool trusted,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::snikket::Caps disco,::String klass) {
- SerializedChat_obj *__this = (SerializedChat_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(SerializedChat_obj), true, "snikket.SerializedChat"));
+::hx::ObjectPtr< SerializedChat_obj > SerializedChat_obj::__alloc(::hx::Ctx *_hx_ctx,::String chatId,bool trusted,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::borogove::Caps disco,::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,avatarSha1,presence,displayName,uiState,isBlocked,extensions,readUpToId,readUpToBy,notificationsFiltered,notifyMention,notifyReply,disco,klass);
+ __this->__construct(chatId,trusted,avatarSha1,presence,displayName,uiState,isBlocked,extensions,readUpToId,readUpToBy,notificationsFiltered,notifyMention,notifyReply,disco,omemoContactDeviceIDs,klass);
return __this;
}
@@ -216,6 +213,7 @@ void SerializedChat_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(readUpToId,"readUpToId");
HX_MARK_MEMBER_NAME(readUpToBy,"readUpToBy");
HX_MARK_MEMBER_NAME(disco,"disco");
+ HX_MARK_MEMBER_NAME(omemoContactDeviceIDs,"omemoContactDeviceIDs");
HX_MARK_MEMBER_NAME(klass,"klass");
HX_MARK_MEMBER_NAME(notificationsFiltered,"notificationsFiltered");
HX_MARK_MEMBER_NAME(notifyMention,"notifyMention");
@@ -236,6 +234,7 @@ void SerializedChat_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(readUpToId,"readUpToId");
HX_VISIT_MEMBER_NAME(readUpToBy,"readUpToBy");
HX_VISIT_MEMBER_NAME(disco,"disco");
+ HX_VISIT_MEMBER_NAME(omemoContactDeviceIDs,"omemoContactDeviceIDs");
HX_VISIT_MEMBER_NAME(klass,"klass");
HX_VISIT_MEMBER_NAME(notificationsFiltered,"notificationsFiltered");
HX_VISIT_MEMBER_NAME(notifyMention,"notifyMention");
@@ -277,6 +276,7 @@ void SerializedChat_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"notifyMention") ) { return ::hx::Val( notifyMention ); }
break;
case 21:
+ if (HX_FIELD_EQ(inName,"omemoContactDeviceIDs") ) { return ::hx::Val( omemoContactDeviceIDs ); }
if (HX_FIELD_EQ(inName,"notificationsFiltered") ) { return ::hx::Val( notificationsFiltered ); }
}
return super::__Field(inName,inCallProp);
@@ -286,7 +286,7 @@ void SerializedChat_obj::__Visit(HX_VISIT_PARAMS)
{
switch(inName.length) {
case 5:
- if (HX_FIELD_EQ(inName,"disco") ) { disco=inValue.Cast< ::snikket::Caps >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"disco") ) { disco=inValue.Cast< ::borogove::Caps >(); return inValue; }
if (HX_FIELD_EQ(inName,"klass") ) { klass=inValue.Cast< ::String >(); return inValue; }
break;
case 6:
@@ -316,6 +316,7 @@ void SerializedChat_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"notifyMention") ) { notifyMention=inValue.Cast< bool >(); return inValue; }
break;
case 21:
+ if (HX_FIELD_EQ(inName,"omemoContactDeviceIDs") ) { omemoContactDeviceIDs=inValue.Cast< ::Array< int > >(); return inValue; }
if (HX_FIELD_EQ(inName,"notificationsFiltered") ) { notificationsFiltered=inValue.Cast< ::Dynamic >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
@@ -334,6 +335,7 @@ void SerializedChat_obj::__GetFields(Array< ::String> &outFields)
outFields->push(HX_("readUpToId",27,7a,f8,75));
outFields->push(HX_("readUpToBy",23,74,f8,75));
outFields->push(HX_("disco",7a,03,d1,d9));
+ outFields->push(HX_("omemoContactDeviceIDs",6b,7d,55,9d));
outFields->push(HX_("klass",40,1c,8d,e3));
outFields->push(HX_("notificationsFiltered",5f,11,ed,96));
outFields->push(HX_("notifyMention",21,c7,22,5a));
@@ -353,7 +355,8 @@ static ::hx::StorageInfo SerializedChat_obj_sMemberStorageInfo[] = {
{::hx::fsString,(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 /* ::snikket::Caps */ ,(int)offsetof(SerializedChat_obj,disco),HX_("disco",7a,03,d1,d9)},
+ {::hx::fsObject /* ::borogove::Caps */ ,(int)offsetof(SerializedChat_obj,disco),HX_("disco",7a,03,d1,d9)},
+ {::hx::fsObject /* ::Array< int > */ ,(int)offsetof(SerializedChat_obj,omemoContactDeviceIDs),HX_("omemoContactDeviceIDs",6b,7d,55,9d)},
{::hx::fsString,(int)offsetof(SerializedChat_obj,klass),HX_("klass",40,1c,8d,e3)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(SerializedChat_obj,notificationsFiltered),HX_("notificationsFiltered",5f,11,ed,96)},
{::hx::fsBool,(int)offsetof(SerializedChat_obj,notifyMention),HX_("notifyMention",21,c7,22,5a)},
@@ -375,6 +378,7 @@ static ::String SerializedChat_obj_sMemberFields[] = {
HX_("readUpToId",27,7a,f8,75),
HX_("readUpToBy",23,74,f8,75),
HX_("disco",7a,03,d1,d9),
+ HX_("omemoContactDeviceIDs",6b,7d,55,9d),
HX_("klass",40,1c,8d,e3),
HX_("notificationsFiltered",5f,11,ed,96),
HX_("notifyMention",21,c7,22,5a),
@@ -389,7 +393,7 @@ void SerializedChat_obj::__register()
SerializedChat_obj _hx_dummy;
SerializedChat_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.SerializedChat",6d,f0,dd,8c);
+ __mClass->mName = HX_("borogove.SerializedChat",49,0a,d9,f7);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -407,4 +411,4 @@ void SerializedChat_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Stanza.cpp b/Sources/c_borogove/src/borogove/Stanza.cpp
new file mode 100644
index 0000000..5e9c724
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Stanza.cpp
@@ -0,0 +1,993 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_EReg
+#include <EReg.h>
+#endif
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_borogove_GenericStream
+#include <borogove/GenericStream.h>
+#endif
+#ifndef INCLUDED_borogove_Node
+#include <borogove/Node.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_StanzaError
+#include <borogove/StanzaError.h>
+#endif
+#ifndef INCLUDED_borogove_streams_XmppStropheStream
+#include <borogove/streams/XmppStropheStream.h>
+#endif
+#ifndef INCLUDED_haxe_Exception
+#include <haxe/Exception.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_159_tag,"borogove.Stanza","tag",0x686ea3ae,"borogove.Stanza.tag","borogove/Stanza.hx",159,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_168_text,"borogove.Stanza","text",0xf863acd9,"borogove.Stanza.text","borogove/Stanza.hx",168,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_174_textTag,"borogove.Stanza","textTag",0x67df3301,"borogove.Stanza.textTag","borogove/Stanza.hx",174,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_180_up,"borogove.Stanza","up",0xef3fa387,"borogove.Stanza.up","borogove/Stanza.hx",180,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_187_reset,"borogove.Stanza","reset",0x38029023,"borogove.Stanza.reset","borogove/Stanza.hx",187,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_193_addChildren,"borogove.Stanza","addChildren",0x1e040dd4,"borogove.Stanza.addChildren","borogove/Stanza.hx",193,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_202_addChildNodes,"borogove.Stanza","addChildNodes",0xfdaa2cca,"borogove.Stanza.addChildNodes","borogove/Stanza.hx",202,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_210_insertChild,"borogove.Stanza","insertChild",0x09ac44f7,"borogove.Stanza.insertChild","borogove/Stanza.hx",210,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_216_addChild,"borogove.Stanza","addChild",0xea9235e7,"borogove.Stanza.addChild","borogove/Stanza.hx",216,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_222_addDirectChild,"borogove.Stanza","addDirectChild",0xc782103e,"borogove.Stanza.addDirectChild","borogove/Stanza.hx",222,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_228_clone,"borogove.Stanza","clone",0x999d59b1,"borogove.Stanza.clone","borogove/Stanza.hx",228,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_240_allTags,"borogove.Stanza","allTags",0x205b01ee,"borogove.Stanza.allTags","borogove/Stanza.hx",240,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_262_allText,"borogove.Stanza","allText",0x205e19c2,"borogove.Stanza.allText","borogove/Stanza.hx",262,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_273_getFirstChild,"borogove.Stanza","getFirstChild",0x353109d6,"borogove.Stanza.getFirstChild","borogove/Stanza.hx",273,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_276_getErrorText,"borogove.Stanza","getErrorText",0xbc80d14b,"borogove.Stanza.getErrorText","borogove/Stanza.hx",276,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_285_getChild,"borogove.Stanza","getChild",0xd10c1f52,"borogove.Stanza.getChild","borogove/Stanza.hx",285,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_302_getChildText,"borogove.Stanza","getChildText",0x21b6291f,"borogove.Stanza.getChildText","borogove/Stanza.hx",302,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_311_hasChild,"borogove.Stanza","hasChild",0xfd8d5a0e,"borogove.Stanza.hasChild","borogove/Stanza.hx",311,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_315_getText,"borogove.Stanza","getText",0xe893ffb7,"borogove.Stanza.getText","borogove/Stanza.hx",315,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_318_find,"borogove.Stanza","find",0xef25b065,"borogove.Stanza.find","borogove/Stanza.hx",318,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_356_findChild,"borogove.Stanza","findChild",0x152edaf7,"borogove.Stanza.findChild","borogove/Stanza.hx",356,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_367_findText,"borogove.Stanza","findText",0xcb093fb2,"borogove.Stanza.findText","borogove/Stanza.hx",367,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_378_traverse,"borogove.Stanza","traverse",0x97e5e3de,"borogove.Stanza.traverse","borogove/Stanza.hx",378,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_387_getError,"borogove.Stanza","getError",0xfe7c417e,"borogove.Stanza.getError","borogove/Stanza.hx",387,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_400_removeChild,"borogove.Stanza","removeChild",0xc02b440c,"borogove.Stanza.removeChild","borogove/Stanza.hx",400,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_410_removeChildren,"borogove.Stanza","removeChildren",0x677ca4cf,"borogove.Stanza.removeChildren","borogove/Stanza.hx",410,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_430_parseXmlBool,"borogove.Stanza","parseXmlBool",0x01d395da,"borogove.Stanza.parseXmlBool","borogove/Stanza.hx",430,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;
+ }
+HXLINE( 80) this->last_added = ::hx::ObjectPtr<OBJ_>(this);
+ }
+
+Dynamic Stanza_obj::__CreateEmpty() { return new Stanza_obj; }
+
+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]);
+ return _hx_result;
+}
+
+bool Stanza_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x6aef1fb6;
+}
+
+::String Stanza_obj::serialize(){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_83_serialize)
+HXLINE( 84) if (::hx::IsNotNull( this->serialized )) {
+HXLINE( 84) return this->serialized;
+ }
+HXLINE( 87) 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_DEFINE_DYNAMIC_FUNC0(Stanza_obj,toString,return )
+
+ ::borogove::Stanza Stanza_obj::tag(::String name, ::Dynamic attr){
+ HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_159_tag)
+HXLINE( 160) this->serialized = null();
+HXLINE( 161) ::borogove::Stanza child = ::borogove::Stanza_obj::__alloc( HX_CTX ,name,attr);
+HXLINE( 162) this->last_added->addDirectChild(::borogove::Node_obj::Element(child));
+HXLINE( 163) this->last_added_stack->push(this->last_added);
+HXLINE( 164) this->last_added = child;
+HXLINE( 165) return ::hx::ObjectPtr<OBJ_>(this);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,tag,return )
+
+ ::borogove::Stanza Stanza_obj::text(::String content){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_168_text)
+HXLINE( 169) this->serialized = null();
+HXLINE( 170) this->last_added->addDirectChild(::borogove::Node_obj::CData(content));
+HXLINE( 171) 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_174_textTag)
+HXLINE( 175) this->serialized = null();
+HXLINE( 176) ::borogove::Stanza _hx_tmp = this->last_added;
+HXDLIN( 176) ::Dynamic _hx_tmp1;
+HXDLIN( 176) if (::hx::IsNotNull( attr )) {
+HXLINE( 176) _hx_tmp1 = attr;
+ }
+ else {
+HXLINE( 176) _hx_tmp1 = ::Dynamic(::hx::Anon_obj::Create(0));
+ }
+HXDLIN( 176) _hx_tmp->addDirectChild(::borogove::Node_obj::Element( ::borogove::Stanza_obj::__alloc( HX_CTX ,tagName,_hx_tmp1)->text(textContent)));
+HXLINE( 177) return ::hx::ObjectPtr<OBJ_>(this);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC3(Stanza_obj,textTag,return )
+
+ ::borogove::Stanza Stanza_obj::up(){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_180_up)
+HXLINE( 181) if (::hx::IsInstanceNotEq( this->last_added,::hx::ObjectPtr<OBJ_>(this) )) {
+HXLINE( 182) this->last_added = this->last_added_stack->pop().StaticCast< ::borogove::Stanza >();
+ }
+HXLINE( 184) return ::hx::ObjectPtr<OBJ_>(this);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,up,return )
+
+ ::borogove::Stanza Stanza_obj::reset(){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_187_reset)
+HXLINE( 188) this->last_added = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 189) 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_193_addChildren)
+HXLINE( 194) this->serialized = null();
+HXLINE( 195) {
+HXLINE( 195) ::Dynamic child = children->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 195) while(( (bool)(child->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 196) this->addChild(( ( ::borogove::Stanza)(child->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) ));
+ }
+ }
+HXLINE( 198) 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_202_addChildNodes)
+HXLINE( 203) this->serialized = null();
+HXLINE( 204) {
+HXLINE( 204) ::Dynamic child = children->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 204) while(( (bool)(child->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 205) this->addDirectChild(child->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ }
+ }
+HXLINE( 207) 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_210_insertChild)
+HXLINE( 211) this->serialized = null();
+HXLINE( 212) this->last_added->children->insert(idx,::borogove::Node_obj::Element(stanza));
+HXLINE( 213) 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_216_addChild)
+HXLINE( 217) this->serialized = null();
+HXLINE( 218) this->last_added->children->push(::borogove::Node_obj::Element(stanza));
+HXLINE( 219) 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_222_addDirectChild)
+HXLINE( 223) this->serialized = null();
+HXLINE( 224) this->children->push(child);
+HXLINE( 225) return ::hx::ObjectPtr<OBJ_>(this);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,addDirectChild,return )
+
+ ::borogove::Stanza Stanza_obj::clone(){
+ HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_228_clone)
+HXLINE( 229) ::borogove::Stanza clone = ::borogove::Stanza_obj::__alloc( HX_CTX ,this->name,this->attr);
+HXLINE( 230) {
+HXLINE( 230) int _g = 0;
+HXDLIN( 230) ::Array< ::Dynamic> _g1 = this->children;
+HXDLIN( 230) while((_g < _g1->length)){
+HXLINE( 230) ::borogove::Node child = _g1->__get(_g).StaticCast< ::borogove::Node >();
+HXDLIN( 230) _g = (_g + 1);
+HXLINE( 231) ::borogove::Node _hx_tmp;
+HXDLIN( 231) switch((int)(child->_hx_getIndex())){
+ case (int)0: {
+HXLINE( 231) _hx_tmp = ::borogove::Node_obj::Element(child->_hx_getObject(0).StaticCast< ::borogove::Stanza >()->clone());
+ }
+ break;
+ case (int)1: {
+HXLINE( 231) _hx_tmp = ::borogove::Node_obj::CData(child->_hx_getString(0));
+ }
+ break;
+ }
+HXDLIN( 231) clone->addDirectChild(_hx_tmp);
+ }
+ }
+HXLINE( 236) clone->serialized = this->serialized;
+HXLINE( 237) return clone;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,clone,return )
+
+::Array< ::Dynamic> Stanza_obj::allTags(::String name,::String xmlns){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_240_allTags)
+HXLINE( 241) ::Array< ::Dynamic> _this = this->children;
+HXDLIN( 241) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 241) {
+HXLINE( 241) int _g1 = 0;
+HXDLIN( 241) while((_g1 < _this->length)){
+HXLINE( 241) ::borogove::Node v = _this->__get(_g1).StaticCast< ::borogove::Node >();
+HXDLIN( 241) _g1 = (_g1 + 1);
+HXLINE( 242) bool _hx_tmp;
+HXDLIN( 242) if ((v->_hx_getIndex() == 0)) {
+HXLINE( 242) _hx_tmp = true;
+ }
+ else {
+HXLINE( 242) _hx_tmp = false;
+ }
+HXLINE( 241) if (_hx_tmp) {
+HXLINE( 241) _g->push(v);
+ }
+ }
+ }
+HXDLIN( 241) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
+HXDLIN( 241) {
+HXLINE( 241) int _g2 = 0;
+HXDLIN( 241) int _g3 = _g->length;
+HXDLIN( 241) while((_g2 < _g3)){
+HXLINE( 241) _g2 = (_g2 + 1);
+HXDLIN( 241) int i = (_g2 - 1);
+HXDLIN( 241) {
+HXLINE( 244) ::borogove::Node child = _hx_array_unsafe_get(_g,i);
+HXLINE( 241) ::borogove::Stanza inValue;
+HXLINE( 244) if ((child->_hx_getIndex() == 0)) {
+HXLINE( 241) inValue = child->_hx_getObject(0).StaticCast< ::borogove::Stanza >();
+ }
+ else {
+HXLINE( 241) inValue = null();
+ }
+HXDLIN( 241) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 241) ::Array< ::Dynamic> tags = result;
+HXLINE( 249) bool _hx_tmp1;
+HXDLIN( 249) if (::hx::IsNull( name )) {
+HXLINE( 249) _hx_tmp1 = ::hx::IsNotNull( xmlns );
+ }
+ else {
+HXLINE( 249) _hx_tmp1 = true;
+ }
+HXDLIN( 249) if (_hx_tmp1) {
+HXLINE( 250) ::String ourXmlns = ( (::String)(::Reflect_obj::field(this->attr,HX_("xmlns",dc,31,74,60))) );
+HXLINE( 251) ::Array< ::Dynamic> _g4 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 251) {
+HXLINE( 251) int _g5 = 0;
+HXDLIN( 251) ::Array< ::Dynamic> _g6 = result;
+HXDLIN( 251) while((_g5 < _g6->length)){
+HXLINE( 251) ::borogove::Stanza v1 = _g6->__get(_g5).StaticCast< ::borogove::Stanza >();
+HXDLIN( 251) _g5 = (_g5 + 1);
+HXLINE( 252) ::String childXmlns = ( (::String)(::Reflect_obj::field(v1->attr,HX_("xmlns",dc,31,74,60))) );
+HXLINE( 251) bool tags1;
+HXLINE( 253) bool tags2;
+HXDLIN( 253) if (::hx::IsNotNull( name )) {
+HXLINE( 253) tags2 = (v1->name == name);
+ }
+ else {
+HXLINE( 253) tags2 = true;
+ }
+HXDLIN( 253) if (tags2) {
+HXLINE( 254) bool tags3;
+HXDLIN( 254) if (::hx::IsNull( xmlns )) {
+HXLINE( 254) if ((ourXmlns != childXmlns)) {
+HXLINE( 254) tags3 = ::hx::IsNull( childXmlns );
+ }
+ else {
+HXLINE( 254) tags3 = true;
+ }
+ }
+ else {
+HXLINE( 254) tags3 = false;
+ }
+HXDLIN( 254) if (!(tags3)) {
+HXLINE( 251) tags1 = (childXmlns == xmlns);
+ }
+ else {
+HXLINE( 251) tags1 = true;
+ }
+ }
+ else {
+HXLINE( 251) tags1 = false;
+ }
+HXDLIN( 251) if (tags1) {
+HXLINE( 251) _g4->push(v1);
+ }
+ }
+ }
+HXDLIN( 251) tags = _g4;
+ }
+HXLINE( 258) return tags;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,allTags,return )
+
+::Array< ::String > Stanza_obj::allText(){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_262_allText)
+HXDLIN( 262) ::Array< ::Dynamic> _this = this->children;
+HXDLIN( 262) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 262) {
+HXDLIN( 262) int _g1 = 0;
+HXDLIN( 262) while((_g1 < _this->length)){
+HXDLIN( 262) ::borogove::Node v = _this->__get(_g1).StaticCast< ::borogove::Node >();
+HXDLIN( 262) _g1 = (_g1 + 1);
+HXLINE( 263) bool _hx_tmp;
+HXDLIN( 263) if ((v->_hx_getIndex() == 1)) {
+HXLINE( 263) _hx_tmp = true;
+ }
+ else {
+HXLINE( 263) _hx_tmp = false;
+ }
+HXLINE( 262) if (_hx_tmp) {
+HXDLIN( 262) _g->push(v);
+ }
+ }
+ }
+HXDLIN( 262) ::Array< ::String > result = ::Array_obj< ::String >::__new(_g->length);
+HXDLIN( 262) {
+HXDLIN( 262) int _g2 = 0;
+HXDLIN( 262) int _g3 = _g->length;
+HXDLIN( 262) while((_g2 < _g3)){
+HXDLIN( 262) _g2 = (_g2 + 1);
+HXDLIN( 262) int i = (_g2 - 1);
+HXDLIN( 262) {
+HXLINE( 265) ::borogove::Node child = _hx_array_unsafe_get(_g,i);
+HXLINE( 262) ::String inValue;
+HXLINE( 265) if ((child->_hx_getIndex() == 1)) {
+HXDLIN( 262) inValue = child->_hx_getString(0);
+ }
+ else {
+HXDLIN( 262) inValue = null();
+ }
+HXDLIN( 262) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 262) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,allText,return )
+
+ ::borogove::Stanza Stanza_obj::getFirstChild(){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_273_getFirstChild)
+HXDLIN( 273) 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_276_getErrorText)
+HXLINE( 277) if ((( (::String)(::Reflect_obj::field(this->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
+HXLINE( 278) ::borogove::StanzaError error = this->getError();
+HXLINE( 279) ::String tmp;
+HXDLIN( 279) if (::hx::IsNotNull( error )) {
+HXLINE( 279) tmp = error->text;
+ }
+ else {
+HXLINE( 279) tmp = null();
+ }
+HXDLIN( 279) ::String tmp1;
+HXDLIN( 279) if (::hx::IsNotNull( tmp )) {
+HXLINE( 279) tmp1 = tmp;
+ }
+ else {
+HXLINE( 279) if (::hx::IsNotNull( error )) {
+HXLINE( 279) tmp1 = error->condition;
+ }
+ else {
+HXLINE( 279) tmp1 = null();
+ }
+ }
+HXDLIN( 279) ::String tmp2;
+HXDLIN( 279) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 279) tmp2 = tmp1;
+ }
+ else {
+HXLINE( 279) if (::hx::IsNotNull( error )) {
+HXLINE( 279) tmp2 = error->type;
+ }
+ else {
+HXLINE( 279) tmp2 = null();
+ }
+ }
+HXDLIN( 279) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 279) return tmp2;
+ }
+ else {
+HXLINE( 279) return HX_("error",c8,cb,29,73);
+ }
+ }
+HXLINE( 282) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,getErrorText,return )
+
+ ::borogove::Stanza Stanza_obj::getChild(::String name,::String xmlns){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_285_getChild)
+HXLINE( 286) ::Reflect_obj::field(this->attr,HX_("xmlns",dc,31,74,60));
+HXLINE( 295) ::Array< ::Dynamic> tags = this->allTags(name,xmlns);
+HXLINE( 296) if ((tags->length == 0)) {
+HXLINE( 297) return null();
+ }
+HXLINE( 299) 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_302_getChildText)
+HXLINE( 303) ::borogove::Stanza child = this->getChild(name,xmlns);
+HXLINE( 304) if (::hx::IsNull( child )) {
+HXLINE( 305) return null();
+ }
+HXLINE( 307) return child->getText();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,getChildText,return )
+
+bool Stanza_obj::hasChild(::String name,::String xmlns){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_311_hasChild)
+HXDLIN( 311) return ::hx::IsNotNull( this->getChild(name,xmlns) );
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,hasChild,return )
+
+::String Stanza_obj::getText(){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_315_getText)
+HXDLIN( 315) 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_318_find)
+HXLINE( 319) int pos = 0;
+HXLINE( 320) int len = path.length;
+HXLINE( 321) ::borogove::Stanza cursor = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 323) do {
+HXLINE( 324) ::String xmlns = null();
+HXLINE( 325) ::String _hx_char = path.charAt(pos);
+HXLINE( 326) if ((_hx_char == HX_("@",40,00,00,00))) {
+HXLINE( 327) ::Dynamic this1 = cursor->attr;
+HXDLIN( 327) return ::borogove::Node_obj::CData(( (::String)(::Reflect_obj::field(this1,path.substr((pos + 1),null()))) ));
+ }
+ else {
+HXLINE( 328) if ((_hx_char == HX_("{",7b,00,00,00))) {
+HXLINE( 329) xmlns = path.substring((pos + 1),path.indexOf(HX_("}",7d,00,00,00),(pos + 1)));
+HXLINE( 330) pos = (pos + (xmlns.length + 2));
+ }
+ }
+HXLINE( 332) ::EReg reName = ::EReg_obj::__alloc( HX_CTX ,HX_("([^@/#]*)([/#]?)",cd,f2,19,5a),HX_("",00,00,00,00));
+HXLINE( 333) if (!(reName->matchSub(path,pos,null()))) {
+HXLINE( 334) HX_STACK_DO_THROW( ::haxe::Exception_obj::__alloc( HX_CTX ,(HX_("Invalid path to Stanza.find(): ",c6,3a,06,10) + path),null(),null()));
+ }
+HXLINE( 336) ::String name = reName->matched(1);
+HXDLIN( 336) ::String text = reName->matched(2);
+HXLINE( 337) int pos1 = ( (int)(reName->matchedPos()->__Field(HX_("pos",94,5d,55,00),::hx::paccDynamic)) );
+HXDLIN( 337) pos = ( (int)((pos1 + reName->matchedPos()->__Field(HX_("len",d5,4b,52,00),::hx::paccDynamic))) );
+HXLINE( 338) if ((name == HX_("",00,00,00,00))) {
+HXLINE( 339) name = null();
+ }
+HXLINE( 341) if ((pos == len)) {
+HXLINE( 342) if ((text == HX_("#",23,00,00,00))) {
+HXLINE( 343) ::String text1 = cursor->getChildText(name,xmlns);
+HXLINE( 344) if (::hx::IsNull( text1 )) {
+HXLINE( 345) return null();
+ }
+HXLINE( 347) return ::borogove::Node_obj::CData(text1);
+ }
+HXLINE( 349) return ::borogove::Node_obj::Element(cursor->getChild(name,xmlns));
+ }
+HXLINE( 351) cursor = cursor->getChild(name,xmlns);
+ } while(::hx::IsNotNull( cursor ));
+;
+HXLINE( 353) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,find,return )
+
+ ::borogove::Stanza Stanza_obj::findChild(::String path){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_356_findChild)
+HXLINE( 357) ::borogove::Node result = this->find(path);
+HXLINE( 358) if (::hx::IsNull( result )) {
+HXLINE( 359) return null();
+ }
+HXLINE( 361) if (::hx::IsNull( result )) {
+HXLINE( 363) return null();
+ }
+ else {
+HXLINE( 361) if ((result->_hx_getIndex() == 0)) {
+HXLINE( 362) return result->_hx_getObject(0).StaticCast< ::borogove::Stanza >();
+ }
+ else {
+HXLINE( 363) return null();
+ }
+ }
+HXLINE( 361) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,findChild,return )
+
+::String Stanza_obj::findText(::String path){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_367_findText)
+HXLINE( 368) ::borogove::Node result = this->find(path);
+HXLINE( 369) if (::hx::IsNull( result )) {
+HXLINE( 370) return null();
+ }
+HXLINE( 372) if (::hx::IsNull( result )) {
+HXLINE( 374) return null();
+ }
+ else {
+HXLINE( 372) if ((result->_hx_getIndex() == 1)) {
+HXLINE( 373) return result->_hx_getString(0);
+ }
+ else {
+HXLINE( 374) return null();
+ }
+ }
+HXLINE( 372) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,findText,return )
+
+ ::borogove::Stanza Stanza_obj::traverse( ::Dynamic f){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_378_traverse)
+HXLINE( 379) if (!(( (bool)(f(::hx::ObjectPtr<OBJ_>(this))) ))) {
+HXLINE( 380) int _g = 0;
+HXDLIN( 380) ::Array< ::Dynamic> _g1 = this->allTags(null(),null());
+HXDLIN( 380) while((_g < _g1->length)){
+HXLINE( 380) ::borogove::Stanza child = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN( 380) _g = (_g + 1);
+HXLINE( 381) child->traverse(f);
+ }
+ }
+HXLINE( 384) return ::hx::ObjectPtr<OBJ_>(this);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,traverse,return )
+
+ ::borogove::StanzaError Stanza_obj::getError(){
+ HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_387_getError)
+HXLINE( 388) ::borogove::Stanza errorTag = this->getChild(HX_("error",c8,cb,29,73),null());
+HXLINE( 389) if (::hx::IsNull( errorTag )) {
+HXLINE( 390) return null();
+ }
+HXLINE( 393) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(errorTag->attr,HX_("type",ba,f2,08,4d))) );
+HXLINE( 394) ::borogove::Stanza tmp = errorTag->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
+HXDLIN( 394) ::String _hx_tmp1;
+HXDLIN( 394) if (::hx::IsNotNull( tmp )) {
+HXLINE( 394) _hx_tmp1 = tmp->name;
+ }
+ else {
+HXLINE( 394) _hx_tmp1 = null();
+ }
+HXLINE( 392) 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_400_removeChild)
+HXDLIN( 400) ::Array< ::Dynamic> _this = this->children;
+HXDLIN( 400) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 400) {
+HXDLIN( 400) int _g1 = 0;
+HXDLIN( 400) while((_g1 < _this->length)){
+HXDLIN( 400) ::borogove::Node v = _this->__get(_g1).StaticCast< ::borogove::Node >();
+HXDLIN( 400) _g1 = (_g1 + 1);
+HXLINE( 401) bool _hx_tmp;
+HXDLIN( 401) if ((v->_hx_getIndex() == 0)) {
+HXLINE( 401) _hx_tmp = ::hx::IsInstanceNotEq( remove,v->_hx_getObject(0).StaticCast< ::borogove::Stanza >() );
+ }
+ else {
+HXLINE( 401) _hx_tmp = true;
+ }
+HXLINE( 400) if (_hx_tmp) {
+HXDLIN( 400) _g->push(v);
+ }
+ }
+ }
+HXDLIN( 400) this->children = _g;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,removeChild,(void))
+
+void Stanza_obj::removeChildren(::String name,::String xmlns_){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_410_removeChildren)
+HXLINE( 411) this->serialized = null();
+HXLINE( 413) bool _hx_tmp;
+HXDLIN( 413) if (::hx::IsNull( name )) {
+HXLINE( 413) _hx_tmp = ::hx::IsNull( xmlns_ );
+ }
+ else {
+HXLINE( 413) _hx_tmp = false;
+ }
+HXDLIN( 413) if (_hx_tmp) {
+HXLINE( 414) this->children = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 415) return;
+ }
+HXLINE( 418) ::String xmlns;
+HXDLIN( 418) if (::hx::IsNotNull( xmlns_ )) {
+HXLINE( 418) xmlns = xmlns_;
+ }
+ else {
+HXLINE( 418) xmlns = ( (::String)(::Reflect_obj::field(this->attr,HX_("xmlns",dc,31,74,60))) );
+ }
+HXLINE( 419) ::Array< ::Dynamic> _this = this->children;
+HXDLIN( 419) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 419) {
+HXLINE( 419) int _g1 = 0;
+HXDLIN( 419) while((_g1 < _this->length)){
+HXLINE( 419) ::borogove::Node v = _this->__get(_g1).StaticCast< ::borogove::Node >();
+HXDLIN( 419) _g1 = (_g1 + 1);
+HXLINE( 420) bool _hx_tmp1;
+HXDLIN( 420) if ((v->_hx_getIndex() == 0)) {
+HXLINE( 421) ::borogove::Stanza _g2 = v->_hx_getObject(0).StaticCast< ::borogove::Stanza >();
+HXLINE( 422) bool _hx_tmp2;
+HXDLIN( 422) bool _hx_tmp3;
+HXDLIN( 422) if (::hx::IsNotNull( name )) {
+HXLINE( 422) _hx_tmp3 = (_g2->name == name);
+ }
+ else {
+HXLINE( 422) _hx_tmp3 = true;
+ }
+HXDLIN( 422) if (_hx_tmp3) {
+HXLINE( 422) ::String tmp = ( (::String)(::Reflect_obj::field(_g2->attr,HX_("xmlns",dc,31,74,60))) );
+HXDLIN( 422) ::String _hx_tmp4;
+HXDLIN( 422) if (::hx::IsNotNull( tmp )) {
+HXLINE( 422) _hx_tmp4 = tmp;
+ }
+ else {
+HXLINE( 422) _hx_tmp4 = xmlns;
+ }
+HXDLIN( 422) _hx_tmp2 = (_hx_tmp4 == xmlns);
+ }
+ else {
+HXLINE( 422) _hx_tmp2 = false;
+ }
+HXLINE( 420) _hx_tmp1 = !(_hx_tmp2);
+ }
+ else {
+HXLINE( 420) _hx_tmp1 = true;
+ }
+HXLINE( 419) if (_hx_tmp1) {
+HXLINE( 419) _g->push(v);
+ }
+ }
+ }
+HXDLIN( 419) 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;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,parse,return )
+
+bool Stanza_obj::parseXmlBool(::String x){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_430_parseXmlBool)
+HXDLIN( 430) if ((x != HX_("true",4e,a7,03,4d))) {
+HXDLIN( 430) return (x == HX_("1",31,00,00,00));
+ }
+ else {
+HXDLIN( 430) return true;
+ }
+HXDLIN( 430) 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 > __this = new Stanza_obj();
+ __this->__construct(name,attr);
+ return __this;
+}
+
+::hx::ObjectPtr< Stanza_obj > Stanza_obj::__alloc(::hx::Ctx *_hx_ctx,::String name, ::Dynamic attr) {
+ 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);
+ return __this;
+}
+
+Stanza_obj::Stanza_obj()
+{
+}
+
+void Stanza_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Stanza);
+ HX_MARK_MEMBER_NAME(name,"name");
+ HX_MARK_MEMBER_NAME(attr,"attr");
+ HX_MARK_MEMBER_NAME(children,"children");
+ HX_MARK_MEMBER_NAME(last_added,"last_added");
+ HX_MARK_MEMBER_NAME(last_added_stack,"last_added_stack");
+ HX_MARK_MEMBER_NAME(serialized,"serialized");
+ HX_MARK_END_CLASS();
+}
+
+void Stanza_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(name,"name");
+ HX_VISIT_MEMBER_NAME(attr,"attr");
+ HX_VISIT_MEMBER_NAME(children,"children");
+ HX_VISIT_MEMBER_NAME(last_added,"last_added");
+ HX_VISIT_MEMBER_NAME(last_added_stack,"last_added_stack");
+ HX_VISIT_MEMBER_NAME(serialized,"serialized");
+}
+
+::hx::Val Stanza_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"up") ) { return ::hx::Val( up_dyn() ); }
+ break;
+ case 3:
+ if (HX_FIELD_EQ(inName,"tag") ) { return ::hx::Val( tag_dyn() ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"name") ) { return ::hx::Val( name ); }
+ if (HX_FIELD_EQ(inName,"attr") ) { return ::hx::Val( attr ); }
+ if (HX_FIELD_EQ(inName,"text") ) { return ::hx::Val( text_dyn() ); }
+ if (HX_FIELD_EQ(inName,"find") ) { return ::hx::Val( find_dyn() ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"reset") ) { return ::hx::Val( reset_dyn() ); }
+ if (HX_FIELD_EQ(inName,"clone") ) { return ::hx::Val( clone_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"textTag") ) { return ::hx::Val( textTag_dyn() ); }
+ if (HX_FIELD_EQ(inName,"allTags") ) { return ::hx::Val( allTags_dyn() ); }
+ if (HX_FIELD_EQ(inName,"allText") ) { return ::hx::Val( allText_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getText") ) { return ::hx::Val( getText_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"children") ) { return ::hx::Val( children ); }
+ if (HX_FIELD_EQ(inName,"toString") ) { return ::hx::Val( toString_dyn() ); }
+ if (HX_FIELD_EQ(inName,"addChild") ) { return ::hx::Val( addChild_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getChild") ) { return ::hx::Val( getChild_dyn() ); }
+ if (HX_FIELD_EQ(inName,"hasChild") ) { return ::hx::Val( hasChild_dyn() ); }
+ if (HX_FIELD_EQ(inName,"findText") ) { return ::hx::Val( findText_dyn() ); }
+ if (HX_FIELD_EQ(inName,"traverse") ) { return ::hx::Val( traverse_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getError") ) { return ::hx::Val( getError_dyn() ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"serialize") ) { return ::hx::Val( serialize_dyn() ); }
+ if (HX_FIELD_EQ(inName,"findChild") ) { return ::hx::Val( findChild_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"last_added") ) { return ::hx::Val( last_added ); }
+ if (HX_FIELD_EQ(inName,"serialized") ) { return ::hx::Val( serialized ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"addChildren") ) { return ::hx::Val( addChildren_dyn() ); }
+ if (HX_FIELD_EQ(inName,"insertChild") ) { return ::hx::Val( insertChild_dyn() ); }
+ if (HX_FIELD_EQ(inName,"removeChild") ) { return ::hx::Val( removeChild_dyn() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"getErrorText") ) { return ::hx::Val( getErrorText_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getChildText") ) { return ::hx::Val( getChildText_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"addChildNodes") ) { return ::hx::Val( addChildNodes_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getFirstChild") ) { return ::hx::Val( getFirstChild_dyn() ); }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"addDirectChild") ) { return ::hx::Val( addDirectChild_dyn() ); }
+ if (HX_FIELD_EQ(inName,"removeChildren") ) { return ::hx::Val( removeChildren_dyn() ); }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"last_added_stack") ) { return ::hx::Val( last_added_stack ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool Stanza_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"parse") ) { outValue = parse_dyn(); return true; }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"parseXmlBool") ) { outValue = parseXmlBool_dyn(); return true; }
+ }
+ return false;
+}
+
+::hx::Val Stanza_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ 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; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"children") ) { children=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"last_added") ) { last_added=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"serialized") ) { serialized=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"last_added_stack") ) { last_added_stack=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void Stanza_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("name",4b,72,ff,48));
+ outFields->push(HX_("attr",31,1d,76,40));
+ outFields->push(HX_("children",3f,19,6a,70));
+ outFields->push(HX_("last_added",d7,8a,71,ae));
+ outFields->push(HX_("last_added_stack",a0,74,ae,97));
+ outFields->push(HX_("serialized",84,c6,1f,5f));
+ super::__GetFields(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 /* ::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)},
+ {::hx::fsString,(int)offsetof(Stanza_obj,serialized),HX_("serialized",84,c6,1f,5f)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *Stanza_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Stanza_obj_sMemberFields[] = {
+ HX_("name",4b,72,ff,48),
+ HX_("attr",31,1d,76,40),
+ HX_("children",3f,19,6a,70),
+ HX_("last_added",d7,8a,71,ae),
+ HX_("last_added_stack",a0,74,ae,97),
+ HX_("serialized",84,c6,1f,5f),
+ HX_("serialize",e0,5d,f2,f4),
+ HX_("toString",ac,d0,6e,38),
+ HX_("tag",5a,5a,58,00),
+ HX_("text",ad,cc,f9,4c),
+ HX_("textTag",ad,af,c7,9e),
+ HX_("up",5b,66,00,00),
+ HX_("reset",cf,49,c8,e6),
+ HX_("addChildren",80,50,c6,a1),
+ HX_("addChildNodes",76,72,83,a8),
+ HX_("insertChild",a3,87,6e,8d),
+ HX_("addChild",bb,cf,16,bf),
+ HX_("addDirectChild",12,c1,c5,9a),
+ HX_("clone",5d,13,63,48),
+ HX_("allTags",9a,7e,43,57),
+ HX_("allText",6e,96,46,57),
+ HX_("getFirstChild",82,4f,0a,e0),
+ HX_("getErrorText",1f,e5,b8,82),
+ HX_("getChild",26,b9,90,a5),
+ HX_("getChildText",f3,3c,ee,e7),
+ HX_("hasChild",e2,f3,11,d2),
+ HX_("getText",63,7c,7c,1f),
+ HX_("find",39,d0,bb,43),
+ HX_("findChild",a3,da,b0,34),
+ HX_("findText",86,d9,8d,9f),
+ HX_("traverse",b2,7d,6a,6c),
+ HX_("getError",52,db,00,d3),
+ HX_("removeChild",b8,86,ed,43),
+ HX_("removeChildren",a3,55,c0,3a),
+ ::String(null()) };
+
+::hx::Class Stanza_obj::__mClass;
+
+static ::String Stanza_obj_sStaticFields[] = {
+ HX_("parse",33,90,55,bd),
+ HX_("parseXmlBool",ae,a9,0b,c8),
+ ::String(null())
+};
+
+void Stanza_obj::__register()
+{
+ Stanza_obj _hx_dummy;
+ Stanza_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Stanza",c2,6f,8e,bc);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Stanza_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Stanza_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(Stanza_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Stanza_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Stanza_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Stanza_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/StanzaError.cpp b/Sources/c_borogove/src/borogove/StanzaError.cpp
similarity index 86%
rename from Sources/c_snikket/src/snikket/StanzaError.cpp
rename to Sources/c_borogove/src/borogove/StanzaError.cpp
index 7ed7581..5b50ba9 100644
--- a/Sources/c_snikket/src/snikket/StanzaError.cpp
+++ b/Sources/c_borogove/src/borogove/StanzaError.cpp
@@ -1,18 +1,18 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_StanzaError
-#include <snikket/StanzaError.h>
+#ifndef INCLUDED_borogove_StanzaError
+#include <borogove/StanzaError.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_ba7467be1e1fd22b_75_new,"snikket.StanzaError","new",0x0f7cd1f4,"snikket.StanzaError.new","snikket/Stanza.hx",75,0x3976dc77)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_484813a5ad2c9a87_59_new,"borogove.StanzaError","new",0x40385898,"borogove.StanzaError.new","borogove/Stanza.hx",59,0xaf8a101b)
+namespace borogove{
void StanzaError_obj::__construct(::String type_,::String condition_,::String text_){
- HX_STACKFRAME(&_hx_pos_ba7467be1e1fd22b_75_new)
-HXLINE( 76) this->type = type_;
-HXLINE( 77) this->condition = condition_;
-HXLINE( 78) this->text = text_;
+ HX_STACKFRAME(&_hx_pos_484813a5ad2c9a87_59_new)
+HXLINE( 60) this->type = type_;
+HXLINE( 61) this->condition = condition_;
+HXLINE( 62) this->text = text_;
}
Dynamic StanzaError_obj::__CreateEmpty() { return new StanzaError_obj; }
@@ -27,7 +27,7 @@ Dynamic StanzaError_obj::__Create(::hx::DynamicArray inArgs)
}
bool StanzaError_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x29697ad6;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x6e2b6832;
}
@@ -108,7 +108,7 @@ void StanzaError_obj::__register()
StanzaError_obj _hx_dummy;
StanzaError_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.StanzaError",02,08,50,ad);
+ __mClass->mName = HX_("borogove.StanzaError",a6,6c,52,35);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -126,4 +126,4 @@ void StanzaError_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/StringUtil.cpp b/Sources/c_borogove/src/borogove/StringUtil.cpp
similarity index 83%
rename from Sources/c_snikket/src/snikket/StringUtil.cpp
rename to Sources/c_borogove/src/borogove/StringUtil.cpp
index 9aeedac..4d52632 100644
--- a/Sources/c_snikket/src/snikket/StringUtil.cpp
+++ b/Sources/c_borogove/src/borogove/StringUtil.cpp
@@ -1,13 +1,13 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_StringUtil
-#include <snikket/StringUtil.h>
+#ifndef INCLUDED_borogove_StringUtil
+#include <borogove/StringUtil.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_822834b6e2c15b3f_5_codepointArray,"snikket.StringUtil","codepointArray",0xa6625de0,"snikket.StringUtil.codepointArray","snikket/StringUtil.hx",5,0xe08372b9)
-HX_LOCAL_STACK_FRAME(_hx_pos_822834b6e2c15b3f_27_rawCodepointArray,"snikket.StringUtil","rawCodepointArray",0xf5a4e194,"snikket.StringUtil.rawCodepointArray","snikket/StringUtil.hx",27,0xe08372b9)
-namespace snikket{
+HX_LOCAL_STACK_FRAME(_hx_pos_aeeecd89f3f25a75_5_codepointArray,"borogove.StringUtil","codepointArray",0x297e1984,"borogove.StringUtil.codepointArray","borogove/StringUtil.hx",5,0x3963485d)
+HX_LOCAL_STACK_FRAME(_hx_pos_aeeecd89f3f25a75_27_rawCodepointArray,"borogove.StringUtil","rawCodepointArray",0x1cb70470,"borogove.StringUtil.rawCodepointArray","borogove/StringUtil.hx",27,0x3963485d)
+namespace borogove{
void StringUtil_obj::__construct() { }
@@ -23,11 +23,11 @@ Dynamic StringUtil_obj::__Create(::hx::DynamicArray inArgs)
}
bool StringUtil_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x537b2d90;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x226d1fb4;
}
::Array< ::String > StringUtil_obj::codepointArray(::String s){
- HX_STACKFRAME(&_hx_pos_822834b6e2c15b3f_5_codepointArray)
+ HX_STACKFRAME(&_hx_pos_aeeecd89f3f25a75_5_codepointArray)
HXLINE( 6) ::Array< ::String > result = ::Array_obj< ::String >::__new(0);
HXLINE( 7) int offset = 0;
HXLINE( 8) while((offset < s.length)){
@@ -42,8 +42,7 @@ HXLINE( 10) _hx_tmp = false;
HXDLIN( 10) if (_hx_tmp) {
HXLINE( 10) c = (((c - 55232) << 10) | (s.cca((offset + 1)) & 1023));
}
-HXDLIN( 10) int c1 = c;
-HXLINE( 11) if ((c1 >= 65536)) {
+HXLINE( 11) if ((c >= 65536)) {
HXLINE( 12) result->push(s.substr(offset,2));
HXLINE( 13) offset = (offset + 1);
}
@@ -59,7 +58,7 @@ HXLINE( 23) return result;
STATIC_HX_DEFINE_DYNAMIC_FUNC1(StringUtil_obj,codepointArray,return )
::Array< int > StringUtil_obj::rawCodepointArray(::String s){
- HX_STACKFRAME(&_hx_pos_822834b6e2c15b3f_27_rawCodepointArray)
+ HX_STACKFRAME(&_hx_pos_aeeecd89f3f25a75_27_rawCodepointArray)
HXLINE( 28) ::Array< int > result = ::Array_obj< int >::__new(0);
HXLINE( 29) int offset = 0;
HXLINE( 30) while((offset < s.length)){
@@ -125,7 +124,7 @@ void StringUtil_obj::__register()
StringUtil_obj _hx_dummy;
StringUtil_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.StringUtil",e4,69,09,4c);
+ __mClass->mName = HX_("borogove.StringUtil",c0,65,c3,26);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -143,4 +142,4 @@ void StringUtil_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/Symbol.cpp b/Sources/c_borogove/src/borogove/Symbol.cpp
similarity index 89%
rename from Sources/c_snikket/src/snikket/Symbol.cpp
rename to Sources/c_borogove/src/borogove/Symbol.cpp
index 83134ab..6e4dd74 100644
--- a/Sources/c_snikket/src/snikket/Symbol.cpp
+++ b/Sources/c_borogove/src/borogove/Symbol.cpp
@@ -7,15 +7,15 @@
#ifndef INCLUDED_StringBuf
#include <StringBuf.h>
#endif
-#ifndef INCLUDED_snikket_Symbol
-#include <snikket/Symbol.h>
+#ifndef INCLUDED_borogove_Symbol
+#include <borogove/Symbol.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_5e979c9c456edc1e_119_new,"snikket.Symbol","new",0x573e5cbb,"snikket.Symbol.new","snikket/EmojiUtil.hx",119,0x30de6948)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_b016c9f5c51dd47b_119_new,"borogove.Symbol","new",0x31f85897,"borogove.Symbol.new","borogove/EmojiUtil.hx",119,0xaaf41424)
+namespace borogove{
void Symbol_obj::__construct(::Array< int > codepoints){
- HX_GC_STACKFRAME(&_hx_pos_5e979c9c456edc1e_119_new)
+ HX_GC_STACKFRAME(&_hx_pos_b016c9f5c51dd47b_119_new)
HXLINE( 120) ::StringBuf builder = ::StringBuf_obj::__alloc( HX_CTX );
HXLINE( 121) {
HXLINE( 121) int _g = 0;
@@ -47,7 +47,7 @@ HXLINE( 124) this->value = builder->toString();
}
bool Symbol_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x4b1860f5;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x53d57119;
}
HX_DEFINE_DYNAMIC_FUNC0(Symbol_obj,isEmoji,return )
@@ -114,7 +114,7 @@ static ::String Symbol_obj_sMemberFields[] = {
void Symbol_obj::__register()
{
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Symbol",49,e3,94,60);
+ __mClass->mName = HX_("borogove.Symbol",25,c1,74,a5);
__mClass->mSuper = &super::__SGetClass();
__mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
__mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
@@ -130,4 +130,4 @@ void Symbol_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/TextNodeClass.cpp b/Sources/c_borogove/src/borogove/TextNodeClass.cpp
similarity index 69%
rename from Sources/c_snikket/src/snikket/TextNodeClass.cpp
rename to Sources/c_borogove/src/borogove/TextNodeClass.cpp
index 9304ec1..c068f36 100644
--- a/Sources/c_snikket/src/snikket/TextNodeClass.cpp
+++ b/Sources/c_borogove/src/borogove/TextNodeClass.cpp
@@ -1,26 +1,26 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket_TextNodeClass
-#include <snikket/TextNodeClass.h>
+#ifndef INCLUDED_borogove_TextNodeClass
+#include <borogove/TextNodeClass.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove__Stanza_NodeInterface
+#include <borogove/_Stanza/NodeInterface.h>
#endif
-#ifndef INCLUDED_snikket__Util_Util_Fields_
-#include <snikket/_Util/Util_Fields_.h>
+#ifndef INCLUDED_borogove__Util_Util_Fields_
+#include <borogove/_Util/Util_Fields_.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_c2e7318811985613_26_new,"snikket.TextNodeClass","new",0xec8b558a,"snikket.TextNodeClass.new","snikket/Stanza.hx",26,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_c2e7318811985613_34_serialize,"snikket.TextNodeClass","serialize",0xdda11e8a,"snikket.TextNodeClass.serialize","snikket/Stanza.hx",34,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_c2e7318811985613_42_traverse,"snikket.TextNodeClass","traverse",0x1ace0048,"snikket.TextNodeClass.traverse","snikket/Stanza.hx",42,0x3976dc77)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_596ad9acb34e12ca_26_new,"borogove.TextNodeClass","new",0x6830cd2e,"borogove.TextNodeClass.new","borogove/Stanza.hx",26,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_596ad9acb34e12ca_34_serialize,"borogove.TextNodeClass","serialize",0x40f9e92e,"borogove.TextNodeClass.serialize","borogove/Stanza.hx",34,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_596ad9acb34e12ca_42_traverse,"borogove.TextNodeClass","traverse",0x53805624,"borogove.TextNodeClass.traverse","borogove/Stanza.hx",42,0xaf8a101b)
+namespace borogove{
void TextNodeClass_obj::__construct(::String node){
- HX_STACKFRAME(&_hx_pos_c2e7318811985613_26_new)
+ HX_STACKFRAME(&_hx_pos_596ad9acb34e12ca_26_new)
HXDLIN( 26) this->node = node;
}
@@ -36,12 +36,12 @@ Dynamic TextNodeClass_obj::__Create(::hx::DynamicArray inArgs)
}
bool TextNodeClass_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x1ed164d0;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x031b54c8;
}
-static ::snikket::_Stanza::NodeInterface_obj _hx_snikket_TextNodeClass__hx_snikket__Stanza_NodeInterface= {
- ( ::String (::hx::Object::*)())&::snikket::TextNodeClass_obj::serialize,
- ( ::Dynamic (::hx::Object::*)( ::Dynamic))&::snikket::TextNodeClass_obj::traverse_881a854a,
+static ::borogove::_Stanza::NodeInterface_obj _hx_borogove_TextNodeClass__hx_borogove__Stanza_NodeInterface= {
+ ( ::String (::hx::Object::*)())&::borogove::TextNodeClass_obj::serialize,
+ ( ::Dynamic (::hx::Object::*)( ::Dynamic))&::borogove::TextNodeClass_obj::traverse_881a854a,
};
::Dynamic TextNodeClass_obj::traverse_881a854a( ::Dynamic f) {
@@ -49,7 +49,7 @@ static ::snikket::_Stanza::NodeInterface_obj _hx_snikket_TextNodeClass__hx_snikk
}
void *TextNodeClass_obj::_hx_getInterface(int inHash) {
switch(inHash) {
- case (int)0xc837e580: return &_hx_snikket_TextNodeClass__hx_snikket__Stanza_NodeInterface;
+ case (int)0x2b90b024: return &_hx_borogove_TextNodeClass__hx_borogove__Stanza_NodeInterface;
}
#ifdef HXCPP_SCRIPTABLE
return super::_hx_getInterface(inHash);
@@ -59,15 +59,15 @@ void *TextNodeClass_obj::_hx_getInterface(int inHash) {
}
::String TextNodeClass_obj::serialize(){
- HX_STACKFRAME(&_hx_pos_c2e7318811985613_34_serialize)
-HXDLIN( 34) return ::snikket::_Util::Util_Fields__obj::xmlEscape(this->node);
+ HX_STACKFRAME(&_hx_pos_596ad9acb34e12ca_34_serialize)
+HXDLIN( 34) return ::borogove::_Util::Util_Fields__obj::xmlEscape(this->node);
}
HX_DEFINE_DYNAMIC_FUNC0(TextNodeClass_obj,serialize,return )
- ::snikket::TextNodeClass TextNodeClass_obj::traverse( ::Dynamic f){
- HX_STACKFRAME(&_hx_pos_c2e7318811985613_42_traverse)
+ ::borogove::TextNodeClass TextNodeClass_obj::traverse( ::Dynamic f){
+ HX_STACKFRAME(&_hx_pos_596ad9acb34e12ca_42_traverse)
HXDLIN( 42) return ::hx::ObjectPtr<OBJ_>(this);
}
@@ -82,7 +82,7 @@ HX_DEFINE_DYNAMIC_FUNC1(TextNodeClass_obj,traverse,return )
}
::hx::ObjectPtr< TextNodeClass_obj > TextNodeClass_obj::__alloc(::hx::Ctx *_hx_ctx,::String node) {
- TextNodeClass_obj *__this = (TextNodeClass_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(TextNodeClass_obj), true, "snikket.TextNodeClass"));
+ TextNodeClass_obj *__this = (TextNodeClass_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(TextNodeClass_obj), true, "borogove.TextNodeClass"));
*(void **)__this = TextNodeClass_obj::_hx_vtable;
__this->__construct(node);
return __this;
@@ -155,7 +155,7 @@ void TextNodeClass_obj::__register()
TextNodeClass_obj _hx_dummy;
TextNodeClass_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.TextNodeClass",98,88,83,cc);
+ __mClass->mName = HX_("borogove.TextNodeClass",3c,5e,63,25);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -173,4 +173,4 @@ void TextNodeClass_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/UnicodeBlocks.cpp b/Sources/c_borogove/src/borogove/UnicodeBlocks.cpp
similarity index 78%
rename from Sources/c_snikket/src/snikket/UnicodeBlocks.cpp
rename to Sources/c_borogove/src/borogove/UnicodeBlocks.cpp
index 96300d7..e390d22 100644
--- a/Sources/c_snikket/src/snikket/UnicodeBlocks.cpp
+++ b/Sources/c_borogove/src/borogove/UnicodeBlocks.cpp
@@ -1,19 +1,19 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_UnicodeBlocks
-#include <snikket/UnicodeBlocks.h>
+#ifndef INCLUDED_borogove_UnicodeBlocks
+#include <borogove/UnicodeBlocks.h>
#endif
-#ifndef INCLUDED_snikket_UnicodeSet
-#include <snikket/UnicodeSet.h>
+#ifndef INCLUDED_borogove_UnicodeSet
+#include <borogove/UnicodeSet.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_1b68aeb3a5bc5b76_217_new,"snikket.UnicodeBlocks","new",0xbdc765a4,"snikket.UnicodeBlocks.new","snikket/EmojiUtil.hx",217,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_1b68aeb3a5bc5b76_220_contains,"snikket.UnicodeBlocks","contains",0x2b302e5b,"snikket.UnicodeBlocks.contains","snikket/EmojiUtil.hx",220,0x30de6948)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_f2edb68ad8134649_217_new,"borogove.UnicodeBlocks","new",0x396cdd48,"borogove.UnicodeBlocks.new","borogove/EmojiUtil.hx",217,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_f2edb68ad8134649_220_contains,"borogove.UnicodeBlocks","contains",0x63e28437,"borogove.UnicodeBlocks.contains","borogove/EmojiUtil.hx",220,0xaaf41424)
+namespace borogove{
void UnicodeBlocks_obj::__construct(::Array< ::Dynamic> sets){
- HX_STACKFRAME(&_hx_pos_1b68aeb3a5bc5b76_217_new)
+ HX_STACKFRAME(&_hx_pos_f2edb68ad8134649_217_new)
HXDLIN( 217) this->unicodeSets = sets->copy();
}
@@ -29,16 +29,16 @@ Dynamic UnicodeBlocks_obj::__Create(::hx::DynamicArray inArgs)
}
bool UnicodeBlocks_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x5ff5d386;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x3cea9afe;
}
-static ::snikket::UnicodeSet_obj _hx_snikket_UnicodeBlocks__hx_snikket_UnicodeSet= {
- ( bool (::hx::Object::*)(int))&::snikket::UnicodeBlocks_obj::contains,
+static ::borogove::UnicodeSet_obj _hx_borogove_UnicodeBlocks__hx_borogove_UnicodeSet= {
+ ( bool (::hx::Object::*)(int))&::borogove::UnicodeBlocks_obj::contains,
};
void *UnicodeBlocks_obj::_hx_getInterface(int inHash) {
switch(inHash) {
- case (int)0x29205162: return &_hx_snikket_UnicodeBlocks__hx_snikket_UnicodeSet;
+ case (int)0xb122b606: return &_hx_borogove_UnicodeBlocks__hx_borogove_UnicodeSet;
}
#ifdef HXCPP_SCRIPTABLE
return super::_hx_getInterface(inHash);
@@ -48,14 +48,14 @@ void *UnicodeBlocks_obj::_hx_getInterface(int inHash) {
}
bool UnicodeBlocks_obj::contains(int codepoint){
- HX_STACKFRAME(&_hx_pos_1b68aeb3a5bc5b76_220_contains)
+ HX_STACKFRAME(&_hx_pos_f2edb68ad8134649_220_contains)
HXLINE( 221) {
HXLINE( 221) int _g = 0;
HXDLIN( 221) ::Array< ::Dynamic> _g1 = this->unicodeSets;
HXDLIN( 221) while((_g < _g1->length)){
HXLINE( 221) ::Dynamic unicodeSet = _g1->__get(_g);
HXDLIN( 221) _g = (_g + 1);
-HXLINE( 222) if (::snikket::UnicodeSet_obj::contains(unicodeSet,codepoint)) {
+HXLINE( 222) if (::borogove::UnicodeSet_obj::contains(unicodeSet,codepoint)) {
HXLINE( 223) return true;
}
}
@@ -74,7 +74,7 @@ HX_DEFINE_DYNAMIC_FUNC1(UnicodeBlocks_obj,contains,return )
}
::hx::ObjectPtr< UnicodeBlocks_obj > UnicodeBlocks_obj::__alloc(::hx::Ctx *_hx_ctx,::Array< ::Dynamic> sets) {
- UnicodeBlocks_obj *__this = (UnicodeBlocks_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(UnicodeBlocks_obj), true, "snikket.UnicodeBlocks"));
+ UnicodeBlocks_obj *__this = (UnicodeBlocks_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(UnicodeBlocks_obj), true, "borogove.UnicodeBlocks"));
*(void **)__this = UnicodeBlocks_obj::_hx_vtable;
__this->__construct(sets);
return __this;
@@ -143,7 +143,7 @@ void UnicodeBlocks_obj::__register()
UnicodeBlocks_obj _hx_dummy;
UnicodeBlocks_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.UnicodeBlocks",b2,03,7b,94);
+ __mClass->mName = HX_("borogove.UnicodeBlocks",56,d9,5a,ed);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -161,4 +161,4 @@ void UnicodeBlocks_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/UnicodeList.cpp b/Sources/c_borogove/src/borogove/UnicodeList.cpp
similarity index 77%
rename from Sources/c_snikket/src/snikket/UnicodeList.cpp
rename to Sources/c_borogove/src/borogove/UnicodeList.cpp
index 68b1ded..57e05ae 100644
--- a/Sources/c_snikket/src/snikket/UnicodeList.cpp
+++ b/Sources/c_borogove/src/borogove/UnicodeList.cpp
@@ -1,19 +1,19 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_UnicodeList
-#include <snikket/UnicodeList.h>
+#ifndef INCLUDED_borogove_UnicodeList
+#include <borogove/UnicodeList.h>
#endif
-#ifndef INCLUDED_snikket_UnicodeSet
-#include <snikket/UnicodeSet.h>
+#ifndef INCLUDED_borogove_UnicodeSet
+#include <borogove/UnicodeSet.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_264b7c49b2387122_238_new,"snikket.UnicodeList","new",0xe628bc7c,"snikket.UnicodeList.new","snikket/EmojiUtil.hx",238,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_264b7c49b2387122_242_contains,"snikket.UnicodeList","contains",0x114d0883,"snikket.UnicodeList.contains","snikket/EmojiUtil.hx",242,0x30de6948)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_566685102370b44c_238_new,"borogove.UnicodeList","new",0x16e44320,"borogove.UnicodeList.new","borogove/EmojiUtil.hx",238,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_566685102370b44c_242_contains,"borogove.UnicodeList","contains",0xbf92ef5f,"borogove.UnicodeList.contains","borogove/EmojiUtil.hx",242,0xaaf41424)
+namespace borogove{
void UnicodeList_obj::__construct(::Array< int > codes){
- HX_STACKFRAME(&_hx_pos_264b7c49b2387122_238_new)
+ HX_STACKFRAME(&_hx_pos_566685102370b44c_238_new)
HXDLIN( 238) this->list = codes->copy();
}
@@ -29,16 +29,16 @@ Dynamic UnicodeList_obj::__Create(::hx::DynamicArray inArgs)
}
bool UnicodeList_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x002205b6;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x15a4fad6;
}
-static ::snikket::UnicodeSet_obj _hx_snikket_UnicodeList__hx_snikket_UnicodeSet= {
- ( bool (::hx::Object::*)(int))&::snikket::UnicodeList_obj::contains,
+static ::borogove::UnicodeSet_obj _hx_borogove_UnicodeList__hx_borogove_UnicodeSet= {
+ ( bool (::hx::Object::*)(int))&::borogove::UnicodeList_obj::contains,
};
void *UnicodeList_obj::_hx_getInterface(int inHash) {
switch(inHash) {
- case (int)0x29205162: return &_hx_snikket_UnicodeList__hx_snikket_UnicodeSet;
+ case (int)0xb122b606: return &_hx_borogove_UnicodeList__hx_borogove_UnicodeSet;
}
#ifdef HXCPP_SCRIPTABLE
return super::_hx_getInterface(inHash);
@@ -48,7 +48,7 @@ void *UnicodeList_obj::_hx_getInterface(int inHash) {
}
bool UnicodeList_obj::contains(int codepoint){
- HX_STACKFRAME(&_hx_pos_264b7c49b2387122_242_contains)
+ HX_STACKFRAME(&_hx_pos_566685102370b44c_242_contains)
HXDLIN( 242) return this->list->contains(codepoint);
}
@@ -63,7 +63,7 @@ HX_DEFINE_DYNAMIC_FUNC1(UnicodeList_obj,contains,return )
}
::hx::ObjectPtr< UnicodeList_obj > UnicodeList_obj::__alloc(::hx::Ctx *_hx_ctx,::Array< int > codes) {
- UnicodeList_obj *__this = (UnicodeList_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(UnicodeList_obj), true, "snikket.UnicodeList"));
+ UnicodeList_obj *__this = (UnicodeList_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(UnicodeList_obj), true, "borogove.UnicodeList"));
*(void **)__this = UnicodeList_obj::_hx_vtable;
__this->__construct(codes);
return __this;
@@ -132,7 +132,7 @@ void UnicodeList_obj::__register()
UnicodeList_obj _hx_dummy;
UnicodeList_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.UnicodeList",8a,0e,02,0d);
+ __mClass->mName = HX_("borogove.UnicodeList",2e,73,04,95);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -150,4 +150,4 @@ void UnicodeList_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/UnicodeRange.cpp b/Sources/c_borogove/src/borogove/UnicodeRange.cpp
similarity index 78%
rename from Sources/c_snikket/src/snikket/UnicodeRange.cpp
rename to Sources/c_borogove/src/borogove/UnicodeRange.cpp
index f1fbfc1..0fae099 100644
--- a/Sources/c_snikket/src/snikket/UnicodeRange.cpp
+++ b/Sources/c_borogove/src/borogove/UnicodeRange.cpp
@@ -1,19 +1,19 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_UnicodeRange
-#include <snikket/UnicodeRange.h>
+#ifndef INCLUDED_borogove_UnicodeRange
+#include <borogove/UnicodeRange.h>
#endif
-#ifndef INCLUDED_snikket_UnicodeSet
-#include <snikket/UnicodeSet.h>
+#ifndef INCLUDED_borogove_UnicodeSet
+#include <borogove/UnicodeSet.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_bbac38099343b7ff_250_new,"snikket.UnicodeRange","new",0x23c51783,"snikket.UnicodeRange.new","snikket/EmojiUtil.hx",250,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_bbac38099343b7ff_256_contains,"snikket.UnicodeRange","contains",0x4486541c,"snikket.UnicodeRange.contains","snikket/EmojiUtil.hx",256,0x30de6948)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_9e738d11a74a8160_250_new,"borogove.UnicodeRange","new",0x971f605f,"borogove.UnicodeRange.new","borogove/EmojiUtil.hx",250,0xaaf41424)
+HX_LOCAL_STACK_FRAME(_hx_pos_9e738d11a74a8160_256_contains,"borogove.UnicodeRange","contains",0x136a6dc0,"borogove.UnicodeRange.contains","borogove/EmojiUtil.hx",256,0xaaf41424)
+namespace borogove{
void UnicodeRange_obj::__construct(int lower,int upper){
- HX_STACKFRAME(&_hx_pos_bbac38099343b7ff_250_new)
+ HX_STACKFRAME(&_hx_pos_9e738d11a74a8160_250_new)
HXLINE( 251) this->lower = lower;
HXLINE( 252) this->upper = upper;
}
@@ -30,16 +30,16 @@ Dynamic UnicodeRange_obj::__Create(::hx::DynamicArray inArgs)
}
bool UnicodeRange_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x25d72cd9;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x49d07045;
}
-static ::snikket::UnicodeSet_obj _hx_snikket_UnicodeRange__hx_snikket_UnicodeSet= {
- ( bool (::hx::Object::*)(int))&::snikket::UnicodeRange_obj::contains,
+static ::borogove::UnicodeSet_obj _hx_borogove_UnicodeRange__hx_borogove_UnicodeSet= {
+ ( bool (::hx::Object::*)(int))&::borogove::UnicodeRange_obj::contains,
};
void *UnicodeRange_obj::_hx_getInterface(int inHash) {
switch(inHash) {
- case (int)0x29205162: return &_hx_snikket_UnicodeRange__hx_snikket_UnicodeSet;
+ case (int)0xb122b606: return &_hx_borogove_UnicodeRange__hx_borogove_UnicodeSet;
}
#ifdef HXCPP_SCRIPTABLE
return super::_hx_getInterface(inHash);
@@ -49,7 +49,7 @@ void *UnicodeRange_obj::_hx_getInterface(int inHash) {
}
bool UnicodeRange_obj::contains(int codePoint){
- HX_STACKFRAME(&_hx_pos_bbac38099343b7ff_256_contains)
+ HX_STACKFRAME(&_hx_pos_9e738d11a74a8160_256_contains)
HXDLIN( 256) if ((codePoint >= this->lower)) {
HXDLIN( 256) return (codePoint <= this->upper);
}
@@ -70,7 +70,7 @@ HX_DEFINE_DYNAMIC_FUNC1(UnicodeRange_obj,contains,return )
}
::hx::ObjectPtr< UnicodeRange_obj > UnicodeRange_obj::__alloc(::hx::Ctx *_hx_ctx,int lower,int upper) {
- UnicodeRange_obj *__this = (UnicodeRange_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(UnicodeRange_obj), false, "snikket.UnicodeRange"));
+ UnicodeRange_obj *__this = (UnicodeRange_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(UnicodeRange_obj), false, "borogove.UnicodeRange"));
*(void **)__this = UnicodeRange_obj::_hx_vtable;
__this->__construct(lower,upper);
return __this;
@@ -132,7 +132,7 @@ void UnicodeRange_obj::__register()
UnicodeRange_obj _hx_dummy;
UnicodeRange_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.UnicodeRange",11,9a,e4,c3);
+ __mClass->mName = HX_("borogove.UnicodeRange",ed,44,fa,3d);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -150,4 +150,4 @@ void UnicodeRange_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_snikket/src/snikket/UnicodeSet.cpp b/Sources/c_borogove/src/borogove/UnicodeSet.cpp
similarity index 66%
rename from Sources/c_snikket/src/snikket/UnicodeSet.cpp
rename to Sources/c_borogove/src/borogove/UnicodeSet.cpp
index 60002d5..5cf59d9 100644
--- a/Sources/c_snikket/src/snikket/UnicodeSet.cpp
+++ b/Sources/c_borogove/src/borogove/UnicodeSet.cpp
@@ -1,11 +1,11 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_UnicodeSet
-#include <snikket/UnicodeSet.h>
+#ifndef INCLUDED_borogove_UnicodeSet
+#include <borogove/UnicodeSet.h>
#endif
-namespace snikket{
+namespace borogove{
static ::String UnicodeSet_obj_sMemberFields[] = {
@@ -17,11 +17,11 @@ static ::String UnicodeSet_obj_sMemberFields[] = {
void UnicodeSet_obj::__register()
{
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.UnicodeSet",f6,12,51,95);
+ __mClass->mName = HX_("borogove.UnicodeSet",d2,0e,0b,70);
__mClass->mSuper = &super::__SGetClass();
__mClass->mMembers = ::hx::Class_obj::dupFunctions(UnicodeSet_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TIsInterface< (int)0x29205162 >;
+ __mClass->mCanCast = ::hx::TIsInterface< (int)0xb122b606 >;
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Util.cpp b/Sources/c_borogove/src/borogove/Util.cpp
new file mode 100644
index 0000000..29a3fd2
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Util.cpp
@@ -0,0 +1,162 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED__UnicodeString_UnicodeString_Impl_
+#include <_UnicodeString/UnicodeString_Impl_.h>
+#endif
+#ifndef INCLUDED_borogove_Util
+#include <borogove/Util.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_00eec5fd061edd1c_152_findLastIndex,"borogove.Util","findLastIndex",0x92392d44,"borogove.Util.findLastIndex","borogove/Util.hx",152,0x66194bae)
+HX_LOCAL_STACK_FRAME(_hx_pos_00eec5fd061edd1c_177_convertIndex,"borogove.Util","convertIndex",0xe062cf5e,"borogove.Util.convertIndex","borogove/Util.hx",177,0x66194bae)
+HX_LOCAL_STACK_FRAME(_hx_pos_00eec5fd061edd1c_204_capitalize,"borogove.Util","capitalize",0xdbf39f2b,"borogove.Util.capitalize","borogove/Util.hx",204,0x66194bae)
+namespace borogove{
+
+void Util_obj::__construct() { }
+
+Dynamic Util_obj::__CreateEmpty() { return new Util_obj; }
+
+void *Util_obj::_hx_vtable = 0;
+
+Dynamic Util_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Util_obj > _hx_result = new Util_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Util_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x36be7783;
+}
+
+int Util_obj::findLastIndex(::cpp::VirtualArray it, ::Dynamic f){
+ HX_STACKFRAME(&_hx_pos_00eec5fd061edd1c_152_findLastIndex)
+HXLINE( 156) int i = (it->get_length() - 1);
+HXLINE( 157) while((i > -1)){
+HXLINE( 158) if (( (bool)(f(it->__get(i))) )) {
+HXLINE( 159) return i;
+ }
+HXLINE( 160) i = (i - 1);
+ }
+HXLINE( 162) return -1;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(Util_obj,findLastIndex,return )
+
+int Util_obj::convertIndex(::String u,int index){
+ HX_STACKFRAME(&_hx_pos_00eec5fd061edd1c_177_convertIndex)
+HXLINE( 178) ::String s = u;
+HXLINE( 179) int unicodeOffset = 0;
+HXLINE( 180) int nativeOffset = 0;
+HXLINE( 181) while((nativeOffset < s.length)){
+HXLINE( 182) if ((nativeOffset == index)) {
+HXLINE( 183) return unicodeOffset;
+ }
+HXLINE( 185) nativeOffset = (nativeOffset + 1);
+HXDLIN( 185) int index1 = (nativeOffset - 1);
+HXDLIN( 185) int c = s.cca(index1);
+HXDLIN( 185) bool _hx_tmp;
+HXDLIN( 185) if ((c >= 55296)) {
+HXLINE( 185) _hx_tmp = (c <= 56319);
+ }
+ else {
+HXLINE( 185) _hx_tmp = false;
+ }
+HXDLIN( 185) if (_hx_tmp) {
+HXLINE( 185) c = (((c - 55232) << 10) | (s.cca((index1 + 1)) & 1023));
+ }
+HXLINE( 186) if ((c >= 65536)) {
+HXLINE( 187) nativeOffset = (nativeOffset + 1);
+ }
+HXLINE( 189) unicodeOffset = (unicodeOffset + 1);
+ }
+HXLINE( 192) if ((nativeOffset == index)) {
+HXLINE( 193) return unicodeOffset;
+ }
+HXLINE( 196) HX_STACK_DO_THROW(HX_("No matching index",4e,b8,b1,51));
+HXDLIN( 196) return 0;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(Util_obj,convertIndex,return )
+
+::String Util_obj::capitalize(::String s){
+ HX_STACKFRAME(&_hx_pos_00eec5fd061edd1c_204_capitalize)
+HXLINE( 205) bool _hx_tmp;
+HXDLIN( 205) if (::hx::IsNotNull( s )) {
+HXLINE( 205) _hx_tmp = (s.length == 0);
+ }
+ else {
+HXLINE( 205) _hx_tmp = true;
+ }
+HXDLIN( 205) if (_hx_tmp) {
+HXLINE( 205) return s;
+ }
+HXLINE( 207) ::String u = s;
+HXLINE( 209) ::String first = ::_UnicodeString::UnicodeString_Impl__obj::charAt(u,0).toUpperCase();
+HXLINE( 212) return (first + ::_UnicodeString::UnicodeString_Impl__obj::substr(u,1,(::_UnicodeString::UnicodeString_Impl__obj::get_length(u) - 1)));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Util_obj,capitalize,return )
+
+
+Util_obj::Util_obj()
+{
+}
+
+bool Util_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 10:
+ if (HX_FIELD_EQ(inName,"capitalize") ) { outValue = capitalize_dyn(); return true; }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"convertIndex") ) { outValue = convertIndex_dyn(); return true; }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"findLastIndex") ) { outValue = findLastIndex_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *Util_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *Util_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class Util_obj::__mClass;
+
+static ::String Util_obj_sStaticFields[] = {
+ HX_("findLastIndex",63,89,73,eb),
+ HX_("convertIndex",1f,9c,db,f0),
+ HX_("capitalize",ac,09,9c,e1),
+ ::String(null())
+};
+
+void Util_obj::__register()
+{
+ Util_obj _hx_dummy;
+ Util_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Util",8f,6c,ed,e6);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Util_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Util_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< Util_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Util_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Util_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/XEP0393.cpp b/Sources/c_borogove/src/borogove/XEP0393.cpp
new file mode 100644
index 0000000..63a5299
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/XEP0393.cpp
@@ -0,0 +1,791 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_EReg
+#include <EReg.h>
+#endif
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_StringBuf
+#include <StringBuf.h>
+#endif
+#ifndef INCLUDED_StringTools
+#include <StringTools.h>
+#endif
+#ifndef INCLUDED__UnicodeString_UnicodeString_Impl_
+#include <_UnicodeString/UnicodeString_Impl_.h>
+#endif
+#ifndef INCLUDED_borogove_Autolink
+#include <borogove/Autolink.h>
+#endif
+#ifndef INCLUDED_borogove_Node
+#include <borogove/Node.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_Util
+#include <borogove/Util.h>
+#endif
+#ifndef INCLUDED_borogove_XEP0393
+#include <borogove/XEP0393.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_db68028455a3ae0e_8_parse,"borogove.XEP0393","parse",0x6c67f618,"borogove.XEP0393.parse","borogove/XEP0393.hx",8,0xa99def4c)
+HX_LOCAL_STACK_FRAME(_hx_pos_db68028455a3ae0e_18_render,"borogove.XEP0393","render",0x86302dd1,"borogove.XEP0393.render","borogove/XEP0393.hx",18,0xa99def4c)
+static const ::String _hx_array_data_52379c93_4[] = {
+ HX_("\n```\n",b4,74,bf,01),
+};
+static const ::String _hx_array_data_52379c93_5[] = {
+ HX_("*",2a,00,00,00),
+};
+static const ::String _hx_array_data_52379c93_6[] = {
+ HX_("_",5f,00,00,00),
+};
+static const ::String _hx_array_data_52379c93_7[] = {
+ HX_("~",7e,00,00,00),
+};
+static const ::String _hx_array_data_52379c93_8[] = {
+ HX_("`",60,00,00,00),
+};
+static const ::String _hx_array_data_52379c93_9[] = {
+ HX_("*",2a,00,00,00),
+};
+static const ::String _hx_array_data_52379c93_10[] = {
+ HX_("_",5f,00,00,00),
+};
+static const ::String _hx_array_data_52379c93_11[] = {
+ HX_("~",7e,00,00,00),
+};
+static const ::String _hx_array_data_52379c93_12[] = {
+ HX_("`",60,00,00,00),
+};
+static const ::String _hx_array_data_52379c93_13[] = {
+ HX_("\n",0a,00,00,00),
+};
+static const ::String _hx_array_data_52379c93_14[] = {
+ HX_("```\n",aa,a7,bd,3f),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_db68028455a3ae0e_85_renderNode,"borogove.XEP0393","renderNode",0xf0ed2073,"borogove.XEP0393.renderNode","borogove/XEP0393.hx",85,0xa99def4c)
+HX_LOCAL_STACK_FRAME(_hx_pos_db68028455a3ae0e_91_parseSpans,"borogove.XEP0393","parseSpans",0xb620f931,"borogove.XEP0393.parseSpans","borogove/XEP0393.hx",91,0xa99def4c)
+HX_LOCAL_STACK_FRAME(_hx_pos_db68028455a3ae0e_143_parseSpan,"borogove.XEP0393","parseSpan",0xc76ae902,"borogove.XEP0393.parseSpan","borogove/XEP0393.hx",143,0xa99def4c)
+HX_LOCAL_STACK_FRAME(_hx_pos_db68028455a3ae0e_163_parseBlock,"borogove.XEP0393","parseBlock",0xe9b6d815,"borogove.XEP0393.parseBlock","borogove/XEP0393.hx",163,0xa99def4c)
+HX_LOCAL_STACK_FRAME(_hx_pos_db68028455a3ae0e_176_parseQuote,"borogove.XEP0393","parseQuote",0x92ac8604,"borogove.XEP0393.parseQuote","borogove/XEP0393.hx",176,0xa99def4c)
+HX_LOCAL_STACK_FRAME(_hx_pos_db68028455a3ae0e_203_parsePreformatted,"borogove.XEP0393","parsePreformatted",0x5333f4b1,"borogove.XEP0393.parsePreformatted","borogove/XEP0393.hx",203,0xa99def4c)
+HX_LOCAL_STACK_FRAME(_hx_pos_db68028455a3ae0e_229_isSpace,"borogove.XEP0393","isSpace",0x82cf99a1,"borogove.XEP0393.isSpace","borogove/XEP0393.hx",229,0xa99def4c)
+namespace borogove{
+
+void XEP0393_obj::__construct() { }
+
+Dynamic XEP0393_obj::__CreateEmpty() { return new XEP0393_obj; }
+
+void *XEP0393_obj::_hx_vtable = 0;
+
+Dynamic XEP0393_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< XEP0393_obj > _hx_result = new XEP0393_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool XEP0393_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x3870e21f;
+}
+
+::Array< ::Dynamic> XEP0393_obj::parse(::String styled){
+ HX_STACKFRAME(&_hx_pos_db68028455a3ae0e_8_parse)
+HXLINE( 9) ::Array< ::Dynamic> blocks = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 10) while((::_UnicodeString::UnicodeString_Impl__obj::get_length(styled) > 0)){
+HXLINE( 11) ::Dynamic result = ::borogove::XEP0393_obj::parseBlock(styled);
+HXLINE( 12) styled = ( (::String)(result->__Field(HX_("rest",14,5b,a7,4b),::hx::paccDynamic)) );
+HXLINE( 13) blocks->push( ::Dynamic(result->__Field(HX_("block",4d,75,fc,b4),::hx::paccDynamic)));
+ }
+HXLINE( 15) return blocks;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0393_obj,parse,return )
+
+::String XEP0393_obj::render( ::borogove::Stanza xhtml,::hx::Null< bool > __o_inPre){
+ bool inPre = __o_inPre.Default(false);
+ HX_GC_STACKFRAME(&_hx_pos_db68028455a3ae0e_18_render)
+HXLINE( 19) if ((xhtml->name == HX_("br",d0,55,00,00))) {
+HXLINE( 20) return HX_("\n",0a,00,00,00);
+ }
+HXLINE( 23) if ((xhtml->name == HX_("img",03,0c,50,00))) {
+HXLINE( 24) ::String tmp = ( (::String)(::Reflect_obj::field(xhtml->attr,HX_("alt",29,f9,49,00))) );
+HXDLIN( 24) if (::hx::IsNotNull( tmp )) {
+HXLINE( 24) return tmp;
+ }
+ else {
+HXLINE( 24) return HX_("",00,00,00,00);
+ }
+ }
+HXLINE( 27) ::StringBuf s = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE( 29) if ((xhtml->name == HX_("pre",23,60,55,00))) {
+HXLINE( 30) if (::hx::IsNotNull( s->charBuf )) {
+HXLINE( 30) s->flush();
+ }
+HXDLIN( 30) if (::hx::IsNull( s->b )) {
+HXLINE( 30) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_52379c93_4,1);
+ }
+ else {
+HXLINE( 30) s->b->push(HX_("\n```\n",b4,74,bf,01));
+ }
+ }
+HXLINE( 33) bool _hx_tmp;
+HXDLIN( 33) if ((xhtml->name != HX_("b",62,00,00,00))) {
+HXLINE( 33) _hx_tmp = (xhtml->name == HX_("strong",57,b6,34,11));
+ }
+ else {
+HXLINE( 33) _hx_tmp = true;
+ }
+HXDLIN( 33) if (_hx_tmp) {
+HXLINE( 34) if (::hx::IsNotNull( s->charBuf )) {
+HXLINE( 34) s->flush();
+ }
+HXDLIN( 34) if (::hx::IsNull( s->b )) {
+HXLINE( 34) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_52379c93_5,1);
+ }
+ else {
+HXLINE( 34) s->b->push(HX_("*",2a,00,00,00));
+ }
+ }
+HXLINE( 37) bool _hx_tmp1;
+HXDLIN( 37) if ((xhtml->name != HX_("i",69,00,00,00))) {
+HXLINE( 37) _hx_tmp1 = (xhtml->name == HX_("em",68,58,00,00));
+ }
+ else {
+HXLINE( 37) _hx_tmp1 = true;
+ }
+HXDLIN( 37) if (_hx_tmp1) {
+HXLINE( 38) if (::hx::IsNotNull( s->charBuf )) {
+HXLINE( 38) s->flush();
+ }
+HXDLIN( 38) if (::hx::IsNull( s->b )) {
+HXLINE( 38) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_52379c93_6,1);
+ }
+ else {
+HXLINE( 38) s->b->push(HX_("_",5f,00,00,00));
+ }
+ }
+HXLINE( 41) bool _hx_tmp2;
+HXDLIN( 41) if ((xhtml->name != HX_("s",73,00,00,00))) {
+HXLINE( 41) _hx_tmp2 = (xhtml->name == HX_("del",cb,39,4c,00));
+ }
+ else {
+HXLINE( 41) _hx_tmp2 = true;
+ }
+HXDLIN( 41) if (_hx_tmp2) {
+HXLINE( 42) if (::hx::IsNotNull( s->charBuf )) {
+HXLINE( 42) s->flush();
+ }
+HXDLIN( 42) if (::hx::IsNull( s->b )) {
+HXLINE( 42) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_52379c93_7,1);
+ }
+ else {
+HXLINE( 42) s->b->push(HX_("~",7e,00,00,00));
+ }
+ }
+HXLINE( 45) bool _hx_tmp3;
+HXDLIN( 45) if (!(inPre)) {
+HXLINE( 45) if ((xhtml->name != HX_("tt",80,65,00,00))) {
+HXLINE( 45) _hx_tmp3 = (xhtml->name == HX_("code",2d,b1,c4,41));
+ }
+ else {
+HXLINE( 45) _hx_tmp3 = true;
+ }
+ }
+ else {
+HXLINE( 45) _hx_tmp3 = false;
+ }
+HXDLIN( 45) if (_hx_tmp3) {
+HXLINE( 46) if (::hx::IsNotNull( s->charBuf )) {
+HXLINE( 46) s->flush();
+ }
+HXDLIN( 46) if (::hx::IsNull( s->b )) {
+HXLINE( 46) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_52379c93_8,1);
+ }
+ else {
+HXLINE( 46) s->b->push(HX_("`",60,00,00,00));
+ }
+ }
+HXLINE( 49) {
+HXLINE( 49) int _g = 0;
+HXDLIN( 49) ::Array< ::Dynamic> _g1 = xhtml->children;
+HXDLIN( 49) while((_g < _g1->length)){
+HXLINE( 49) ::borogove::Node child = _g1->__get(_g).StaticCast< ::borogove::Node >();
+HXDLIN( 49) _g = (_g + 1);
+HXLINE( 50) {
+HXLINE( 50) ::String x = ::borogove::XEP0393_obj::renderNode(child,(xhtml->name == HX_("pre",23,60,55,00)));
+HXDLIN( 50) if (::hx::IsNotNull( s->charBuf )) {
+HXLINE( 50) s->flush();
+ }
+HXDLIN( 50) if (::hx::IsNull( s->b )) {
+HXLINE( 50) s->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x));
+ }
+ else {
+HXLINE( 50) ::Array< ::String > s1 = s->b;
+HXDLIN( 50) s1->push(::Std_obj::string(x));
+ }
+ }
+ }
+ }
+HXLINE( 53) bool _hx_tmp4;
+HXDLIN( 53) if ((xhtml->name != HX_("b",62,00,00,00))) {
+HXLINE( 53) _hx_tmp4 = (xhtml->name == HX_("strong",57,b6,34,11));
+ }
+ else {
+HXLINE( 53) _hx_tmp4 = true;
+ }
+HXDLIN( 53) if (_hx_tmp4) {
+HXLINE( 54) if (::hx::IsNotNull( s->charBuf )) {
+HXLINE( 54) s->flush();
+ }
+HXDLIN( 54) if (::hx::IsNull( s->b )) {
+HXLINE( 54) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_52379c93_9,1);
+ }
+ else {
+HXLINE( 54) s->b->push(HX_("*",2a,00,00,00));
+ }
+ }
+HXLINE( 57) bool _hx_tmp5;
+HXDLIN( 57) if ((xhtml->name != HX_("i",69,00,00,00))) {
+HXLINE( 57) _hx_tmp5 = (xhtml->name == HX_("em",68,58,00,00));
+ }
+ else {
+HXLINE( 57) _hx_tmp5 = true;
+ }
+HXDLIN( 57) if (_hx_tmp5) {
+HXLINE( 58) if (::hx::IsNotNull( s->charBuf )) {
+HXLINE( 58) s->flush();
+ }
+HXDLIN( 58) if (::hx::IsNull( s->b )) {
+HXLINE( 58) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_52379c93_10,1);
+ }
+ else {
+HXLINE( 58) s->b->push(HX_("_",5f,00,00,00));
+ }
+ }
+HXLINE( 61) bool _hx_tmp6;
+HXDLIN( 61) if ((xhtml->name != HX_("s",73,00,00,00))) {
+HXLINE( 61) _hx_tmp6 = (xhtml->name == HX_("del",cb,39,4c,00));
+ }
+ else {
+HXLINE( 61) _hx_tmp6 = true;
+ }
+HXDLIN( 61) if (_hx_tmp6) {
+HXLINE( 62) if (::hx::IsNotNull( s->charBuf )) {
+HXLINE( 62) s->flush();
+ }
+HXDLIN( 62) if (::hx::IsNull( s->b )) {
+HXLINE( 62) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_52379c93_11,1);
+ }
+ else {
+HXLINE( 62) s->b->push(HX_("~",7e,00,00,00));
+ }
+ }
+HXLINE( 65) bool _hx_tmp7;
+HXDLIN( 65) if (!(inPre)) {
+HXLINE( 65) if ((xhtml->name != HX_("tt",80,65,00,00))) {
+HXLINE( 65) _hx_tmp7 = (xhtml->name == HX_("code",2d,b1,c4,41));
+ }
+ else {
+HXLINE( 65) _hx_tmp7 = true;
+ }
+ }
+ else {
+HXLINE( 65) _hx_tmp7 = false;
+ }
+HXDLIN( 65) if (_hx_tmp7) {
+HXLINE( 66) if (::hx::IsNotNull( s->charBuf )) {
+HXLINE( 66) s->flush();
+ }
+HXDLIN( 66) if (::hx::IsNull( s->b )) {
+HXLINE( 66) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_52379c93_12,1);
+ }
+ else {
+HXLINE( 66) s->b->push(HX_("`",60,00,00,00));
+ }
+ }
+HXLINE( 69) bool _hx_tmp8;
+HXDLIN( 69) bool _hx_tmp9;
+HXDLIN( 69) bool _hx_tmp10;
+HXDLIN( 69) if ((xhtml->name != HX_("blockquote",cf,56,28,a2))) {
+HXLINE( 69) _hx_tmp10 = (xhtml->name == HX_("p",70,00,00,00));
+ }
+ else {
+HXLINE( 69) _hx_tmp10 = true;
+ }
+HXDLIN( 69) if (!(_hx_tmp10)) {
+HXLINE( 69) _hx_tmp9 = (xhtml->name == HX_("div",51,3d,4c,00));
+ }
+ else {
+HXLINE( 69) _hx_tmp9 = true;
+ }
+HXDLIN( 69) if (!(_hx_tmp9)) {
+HXLINE( 69) _hx_tmp8 = (xhtml->name == HX_("pre",23,60,55,00));
+ }
+ else {
+HXLINE( 69) _hx_tmp8 = true;
+ }
+HXDLIN( 69) if (_hx_tmp8) {
+HXLINE( 70) if (::hx::IsNotNull( s->charBuf )) {
+HXLINE( 70) s->flush();
+ }
+HXDLIN( 70) if (::hx::IsNull( s->b )) {
+HXLINE( 70) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_52379c93_13,1);
+ }
+ else {
+HXLINE( 70) s->b->push(HX_("\n",0a,00,00,00));
+ }
+ }
+HXLINE( 73) if ((xhtml->name == HX_("pre",23,60,55,00))) {
+HXLINE( 74) if (::hx::IsNotNull( s->charBuf )) {
+HXLINE( 74) s->flush();
+ }
+HXDLIN( 74) if (::hx::IsNull( s->b )) {
+HXLINE( 74) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_52379c93_14,1);
+ }
+ else {
+HXLINE( 74) s->b->push(HX_("```\n",aa,a7,bd,3f));
+ }
+ }
+HXLINE( 77) if ((xhtml->name == HX_("blockquote",cf,56,28,a2))) {
+HXLINE( 78) ::EReg _hx_tmp11 = ::EReg_obj::__alloc( HX_CTX ,HX_("^",5e,00,00,00),HX_("gm",26,5a,00,00));
+HXDLIN( 78) return _hx_tmp11->replace(s->toString(),HX_("> ",22,36,00,00));
+ }
+HXLINE( 81) return s->toString();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(XEP0393_obj,render,return )
+
+::String XEP0393_obj::renderNode( ::borogove::Node xhtml,::hx::Null< bool > __o_inPre){
+ bool inPre = __o_inPre.Default(false);
+ HX_STACKFRAME(&_hx_pos_db68028455a3ae0e_85_renderNode)
+HXDLIN( 85) switch((int)(xhtml->_hx_getIndex())){
+ case (int)0: {
+HXLINE( 86) return ::borogove::XEP0393_obj::render(xhtml->_hx_getObject(0).StaticCast< ::borogove::Stanza >(),inPre);
+ }
+ break;
+ case (int)1: {
+HXLINE( 87) return xhtml->_hx_getString(0);
+ }
+ break;
+ }
+HXLINE( 85) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(XEP0393_obj,renderNode,return )
+
+ ::Dynamic XEP0393_obj::parseSpans(::String styled){
+ HX_STACKFRAME(&_hx_pos_db68028455a3ae0e_91_parseSpans)
+HXLINE( 92) ::Array< ::Dynamic> spans = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 93) int start = 0;
+HXLINE( 94) ::Dynamic nextLink = null();
+HXLINE( 95) int styledLength = ::_UnicodeString::UnicodeString_Impl__obj::get_length(styled);
+HXLINE( 96) while((start < styledLength)){
+HXLINE( 97) ::String _hx_char = ::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,start);
+HXLINE( 98) if (::borogove::XEP0393_obj::isSpace(styled,(start + 1))) {
+HXLINE( 100) spans->push(::borogove::Node_obj::CData(::_UnicodeString::UnicodeString_Impl__obj::substr(styled,start,2)));
+HXLINE( 101) start = (start + 2);
+ }
+ else {
+HXLINE( 102) bool _hx_tmp;
+HXDLIN( 102) if ((start != 0)) {
+HXLINE( 102) _hx_tmp = !(::borogove::XEP0393_obj::isSpace(styled,(start - 1)));
+ }
+ else {
+HXLINE( 102) _hx_tmp = false;
+ }
+HXDLIN( 102) if (_hx_tmp) {
+HXLINE( 104) spans->push(::borogove::Node_obj::CData(_hx_char));
+HXLINE( 105) start = (start + 1);
+ }
+ else {
+HXLINE( 106) if ((_hx_char == HX_("*",2a,00,00,00))) {
+HXLINE( 107) ::Dynamic parsed = ::borogove::XEP0393_obj::parseSpan(HX_("strong",57,b6,34,11),HX_("*",2a,00,00,00),styled,start);
+HXLINE( 108) spans->push( ::Dynamic(parsed->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic)));
+HXLINE( 109) start = ( (int)(parsed->__Field(HX_("end",db,03,4d,00),::hx::paccDynamic)) );
+ }
+ else {
+HXLINE( 110) if ((_hx_char == HX_("_",5f,00,00,00))) {
+HXLINE( 111) ::Dynamic parsed1 = ::borogove::XEP0393_obj::parseSpan(HX_("em",68,58,00,00),HX_("_",5f,00,00,00),styled,start);
+HXLINE( 112) spans->push( ::Dynamic(parsed1->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic)));
+HXLINE( 113) start = ( (int)(parsed1->__Field(HX_("end",db,03,4d,00),::hx::paccDynamic)) );
+ }
+ else {
+HXLINE( 114) if ((_hx_char == HX_("~",7e,00,00,00))) {
+HXLINE( 115) ::Dynamic parsed2 = ::borogove::XEP0393_obj::parseSpan(HX_("s",73,00,00,00),HX_("~",7e,00,00,00),styled,start);
+HXLINE( 116) spans->push( ::Dynamic(parsed2->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic)));
+HXLINE( 117) start = ( (int)(parsed2->__Field(HX_("end",db,03,4d,00),::hx::paccDynamic)) );
+ }
+ else {
+HXLINE( 118) if ((_hx_char == HX_("`",60,00,00,00))) {
+HXLINE( 120) ::Dynamic parsed3 = ::borogove::XEP0393_obj::parseSpan(HX_("tt",80,65,00,00),HX_("`",60,00,00,00),styled,start);
+HXLINE( 121) spans->push( ::Dynamic(parsed3->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic)));
+HXLINE( 122) start = ( (int)(parsed3->__Field(HX_("end",db,03,4d,00),::hx::paccDynamic)) );
+ }
+ else {
+HXLINE( 124) bool _hx_tmp1;
+HXDLIN( 124) if (::hx::IsNotNull( nextLink )) {
+HXLINE( 124) _hx_tmp1 = ::hx::IsGreater( start,nextLink->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic) );
+ }
+ else {
+HXLINE( 124) _hx_tmp1 = true;
+ }
+HXDLIN( 124) if (_hx_tmp1) {
+HXLINE( 125) nextLink = ::borogove::Autolink_obj::one(styled,start);
+HXLINE( 126) if (::hx::IsNotNull( nextLink )) {
+HXLINE( 127) nextLink->__SetField(HX_("start",62,74,0b,84),::borogove::Util_obj::convertIndex(styled,( (int)(nextLink->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic)) )),::hx::paccDynamic);
+HXLINE( 128) nextLink->__SetField(HX_("end",db,03,4d,00),::borogove::Util_obj::convertIndex(styled,( (int)(nextLink->__Field(HX_("end",db,03,4d,00),::hx::paccDynamic)) )),::hx::paccDynamic);
+ }
+ }
+HXLINE( 131) bool _hx_tmp2;
+HXDLIN( 131) bool _hx_tmp3;
+HXDLIN( 131) if (::hx::IsNotNull( nextLink )) {
+HXLINE( 131) _hx_tmp3 = ::hx::IsEq( nextLink->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic),start );
+ }
+ else {
+HXLINE( 131) _hx_tmp3 = false;
+ }
+HXDLIN( 131) if (_hx_tmp3) {
+HXLINE( 131) _hx_tmp2 = ::hx::IsNotNull( nextLink->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic) );
+ }
+ else {
+HXLINE( 131) _hx_tmp2 = false;
+ }
+HXDLIN( 131) if (_hx_tmp2) {
+HXLINE( 132) spans->push( ::Dynamic(nextLink->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic)));
+HXLINE( 133) start = ( (int)(nextLink->__Field(HX_("end",db,03,4d,00),::hx::paccDynamic)) );
+ }
+ else {
+HXLINE( 135) spans->push(::borogove::Node_obj::CData(_hx_char));
+HXLINE( 136) start = (start + 1);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+HXLINE( 140) return spans;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0393_obj,parseSpans,return )
+
+ ::Dynamic XEP0393_obj::parseSpan(::String tagName,::String marker,::String styled,int start){
+ HX_GC_STACKFRAME(&_hx_pos_db68028455a3ae0e_143_parseSpan)
+HXLINE( 144) int end = (start + 1);
+HXLINE( 145) while(true){
+HXLINE( 145) bool _hx_tmp;
+HXDLIN( 145) if ((end < ::_UnicodeString::UnicodeString_Impl__obj::get_length(styled))) {
+HXLINE( 145) _hx_tmp = (::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) != marker);
+ }
+ else {
+HXLINE( 145) _hx_tmp = false;
+ }
+HXDLIN( 145) if (!(_hx_tmp)) {
+HXLINE( 145) goto _hx_goto_18;
+ }
+HXLINE( 146) if (::borogove::XEP0393_obj::isSpace(styled,end)) {
+HXLINE( 146) end = (end + 1);
+ }
+HXLINE( 147) end = (end + 1);
+ }
+ _hx_goto_18:;
+HXLINE( 149) if ((end == (start + 1))) {
+HXLINE( 151) 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::CData(::_UnicodeString::UnicodeString_Impl__obj::substr(styled,start,2))));
+ }
+ else {
+HXLINE( 152) if ((::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) != marker)) {
+HXLINE( 154) return ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("end",db,03,4d,00),end)
+ ->setFixed(1,HX_("span",ca,da,58,4c),::borogove::Node_obj::CData(::_UnicodeString::UnicodeString_Impl__obj::substr(styled,start,(end - start)))));
+ }
+ else {
+HXLINE( 155) if ((marker == HX_("`",60,00,00,00))) {
+HXLINE( 156) ::borogove::Stanza _hx_tmp1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,tagName,null());
+HXDLIN( 156) 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( 158) ::borogove::Stanza _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,tagName,null());
+HXDLIN( 158) 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)))))));
+ }
+ }
+ }
+HXLINE( 149) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(XEP0393_obj,parseSpan,return )
+
+ ::Dynamic XEP0393_obj::parseBlock(::String styled){
+ HX_GC_STACKFRAME(&_hx_pos_db68028455a3ae0e_163_parseBlock)
+HXDLIN( 163) if ((::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,0) == HX_(">",3e,00,00,00))) {
+HXLINE( 164) return ::borogove::XEP0393_obj::parseQuote(styled);
+ }
+ else {
+HXLINE( 165) if ((::_UnicodeString::UnicodeString_Impl__obj::substr(styled,0,3) == HX_("```",60,2c,49,00))) {
+HXLINE( 166) return ::borogove::XEP0393_obj::parsePreformatted(styled);
+ }
+ else {
+HXLINE( 168) int end = 0;
+HXLINE( 169) int styledLength = ::_UnicodeString::UnicodeString_Impl__obj::get_length(styled);
+HXLINE( 170) while(true){
+HXLINE( 170) bool _hx_tmp;
+HXDLIN( 170) if ((end < styledLength)) {
+HXLINE( 170) _hx_tmp = (::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) != HX_("\n",0a,00,00,00));
+ }
+ else {
+HXLINE( 170) _hx_tmp = false;
+ }
+HXDLIN( 170) if (!(_hx_tmp)) {
+HXLINE( 170) goto _hx_goto_20;
+ }
+HXDLIN( 170) end = (end + 1);
+ }
+ _hx_goto_20:;
+HXLINE( 171) bool _hx_tmp1;
+HXDLIN( 171) if ((end < styledLength)) {
+HXLINE( 171) _hx_tmp1 = (::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) == HX_("\n",0a,00,00,00));
+ }
+ else {
+HXLINE( 171) _hx_tmp1 = false;
+ }
+HXDLIN( 171) if (_hx_tmp1) {
+HXLINE( 171) end = (end + 1);
+ }
+HXLINE( 172) ::borogove::Stanza _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("div",51,3d,4c,00),null());
+HXDLIN( 172) ::borogove::Stanza _hx_tmp3 = _hx_tmp2->addChildNodes(::borogove::XEP0393_obj::parseSpans(::_UnicodeString::UnicodeString_Impl__obj::substr(styled,0,end)));
+HXDLIN( 172) 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())));
+ }
+ }
+HXLINE( 163) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0393_obj,parseBlock,return )
+
+ ::Dynamic XEP0393_obj::parseQuote(::String styled){
+ HX_GC_STACKFRAME(&_hx_pos_db68028455a3ae0e_176_parseQuote)
+HXLINE( 177) ::Array< ::String > lines = ::Array_obj< ::String >::__new(0);
+HXLINE( 178) ::String line = HX_("",00,00,00,00);
+HXLINE( 179) int end = 1;
+HXLINE( 181) while((end < ::_UnicodeString::UnicodeString_Impl__obj::get_length(styled))){
+HXLINE( 182) bool _hx_tmp;
+HXDLIN( 182) if ((::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) != HX_("\n",0a,00,00,00))) {
+HXLINE( 182) _hx_tmp = ::borogove::XEP0393_obj::isSpace(styled,end);
+ }
+ else {
+HXLINE( 182) _hx_tmp = false;
+ }
+HXDLIN( 182) if (_hx_tmp) {
+HXLINE( 182) end = (end + 1);
+ }
+HXLINE( 183) while(true){
+HXLINE( 183) bool _hx_tmp1;
+HXDLIN( 183) if ((end < ::_UnicodeString::UnicodeString_Impl__obj::get_length(styled))) {
+HXLINE( 183) _hx_tmp1 = (::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) != HX_("\n",0a,00,00,00));
+ }
+ else {
+HXLINE( 183) _hx_tmp1 = false;
+ }
+HXDLIN( 183) if (!(_hx_tmp1)) {
+HXLINE( 183) goto _hx_goto_23;
+ }
+HXLINE( 184) line = (line + ::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end));
+HXLINE( 185) end = (end + 1);
+ }
+ _hx_goto_23:;
+HXLINE( 187) bool _hx_tmp2;
+HXDLIN( 187) if ((end < ::_UnicodeString::UnicodeString_Impl__obj::get_length(styled))) {
+HXLINE( 187) _hx_tmp2 = (::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) == HX_("\n",0a,00,00,00));
+ }
+ else {
+HXLINE( 187) _hx_tmp2 = false;
+ }
+HXDLIN( 187) if (_hx_tmp2) {
+HXLINE( 188) end = (end + 1);
+ }
+HXLINE( 190) lines->push((line + HX_("\n",0a,00,00,00)));
+HXLINE( 191) line = HX_("",00,00,00,00);
+HXLINE( 192) if ((::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) == HX_(">",3e,00,00,00))) {
+HXLINE( 193) end = (end + 1);
+ }
+ else {
+HXLINE( 195) goto _hx_goto_22;
+ }
+ }
+ _hx_goto_22:;
+HXLINE( 199) ::borogove::Stanza _hx_tmp3 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("blockquote",cf,56,28,a2),null());
+HXDLIN( 199) ::borogove::Stanza _hx_tmp4 = _hx_tmp3->addChildren(::borogove::XEP0393_obj::parse(lines->join(HX_("",00,00,00,00))));
+HXDLIN( 199) return ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("block",4d,75,fc,b4),_hx_tmp4)
+ ->setFixed(1,HX_("rest",14,5b,a7,4b),::_UnicodeString::UnicodeString_Impl__obj::substr(styled,end,null())));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0393_obj,parseQuote,return )
+
+ ::Dynamic XEP0393_obj::parsePreformatted(::String styled){
+ HX_GC_STACKFRAME(&_hx_pos_db68028455a3ae0e_203_parsePreformatted)
+HXLINE( 204) ::Array< ::String > lines = ::Array_obj< ::String >::__new(0);
+HXLINE( 205) ::String line = null();
+HXLINE( 206) int end = 0;
+HXLINE( 207) int styledLength = ::_UnicodeString::UnicodeString_Impl__obj::get_length(styled);
+HXLINE( 208) while((end < styledLength)){
+HXLINE( 209) while(true){
+HXLINE( 209) bool _hx_tmp;
+HXDLIN( 209) if ((end < styledLength)) {
+HXLINE( 209) _hx_tmp = (::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) != HX_("\n",0a,00,00,00));
+ }
+ else {
+HXLINE( 209) _hx_tmp = false;
+ }
+HXDLIN( 209) if (!(_hx_tmp)) {
+HXLINE( 209) goto _hx_goto_26;
+ }
+HXLINE( 210) if (::hx::IsNotNull( line )) {
+HXLINE( 210) line = (line + ::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end));
+ }
+HXLINE( 211) end = (end + 1);
+ }
+ _hx_goto_26:;
+HXLINE( 213) bool _hx_tmp1;
+HXDLIN( 213) if ((end < styledLength)) {
+HXLINE( 213) _hx_tmp1 = (::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) == HX_("\n",0a,00,00,00));
+ }
+ else {
+HXLINE( 213) _hx_tmp1 = false;
+ }
+HXDLIN( 213) if (_hx_tmp1) {
+HXLINE( 214) end = (end + 1);
+ }
+HXLINE( 216) if (::hx::IsNotNull( line )) {
+HXLINE( 216) lines->push((line + HX_("\n",0a,00,00,00)));
+ }
+HXLINE( 217) line = HX_("",00,00,00,00);
+HXLINE( 218) bool _hx_tmp2;
+HXDLIN( 218) if ((::_UnicodeString::UnicodeString_Impl__obj::substr(styled,end,4) != HX_("```\n",aa,a7,bd,3f))) {
+HXLINE( 218) _hx_tmp2 = (::_UnicodeString::UnicodeString_Impl__obj::substr(styled,end,null()) == HX_("```",60,2c,49,00));
+ }
+ else {
+HXLINE( 218) _hx_tmp2 = true;
+ }
+HXDLIN( 218) if (_hx_tmp2) {
+HXLINE( 219) end = (end + 4);
+HXLINE( 220) goto _hx_goto_25;
+ }
+ }
+ _hx_goto_25:;
+HXLINE( 224) ::borogove::Stanza _hx_tmp3 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("pre",23,60,55,00),null());
+HXDLIN( 224) ::borogove::Stanza _hx_tmp4 = _hx_tmp3->text(lines->join(HX_("",00,00,00,00)));
+HXDLIN( 224) return ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("block",4d,75,fc,b4),_hx_tmp4)
+ ->setFixed(1,HX_("rest",14,5b,a7,4b),::_UnicodeString::UnicodeString_Impl__obj::substr(styled,end,null())));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0393_obj,parsePreformatted,return )
+
+bool XEP0393_obj::isSpace(::String s,int pos){
+ HX_STACKFRAME(&_hx_pos_db68028455a3ae0e_229_isSpace)
+HXDLIN( 229) return ::StringTools_obj::isSpace(::_UnicodeString::UnicodeString_Impl__obj::charAt(s,pos),0);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(XEP0393_obj,isSpace,return )
+
+
+XEP0393_obj::XEP0393_obj()
+{
+}
+
+bool XEP0393_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"parse") ) { outValue = parse_dyn(); return true; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"render") ) { outValue = render_dyn(); return true; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"isSpace") ) { outValue = isSpace_dyn(); return true; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"parseSpan") ) { outValue = parseSpan_dyn(); return true; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"renderNode") ) { outValue = renderNode_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"parseSpans") ) { outValue = parseSpans_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"parseBlock") ) { outValue = parseBlock_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"parseQuote") ) { outValue = parseQuote_dyn(); return true; }
+ break;
+ case 17:
+ if (HX_FIELD_EQ(inName,"parsePreformatted") ) { outValue = parsePreformatted_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *XEP0393_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *XEP0393_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class XEP0393_obj::__mClass;
+
+static ::String XEP0393_obj_sStaticFields[] = {
+ HX_("parse",33,90,55,bd),
+ HX_("render",56,6b,29,05),
+ HX_("renderNode",78,04,14,e6),
+ HX_("parseSpans",36,dd,47,ab),
+ HX_("parseSpan",9d,2c,ff,d3),
+ HX_("parseBlock",1a,bc,dd,de),
+ HX_("parseQuote",09,6a,d3,87),
+ HX_("parsePreformatted",4c,cb,6d,fa),
+ HX_("isSpace",7c,30,ec,1d),
+ ::String(null())
+};
+
+void XEP0393_obj::__register()
+{
+ XEP0393_obj _hx_dummy;
+ XEP0393_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.XEP0393",93,9c,37,52);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &XEP0393_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(XEP0393_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< XEP0393_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = XEP0393_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = XEP0393_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/_DataForm/DataForm_Impl_.cpp b/Sources/c_borogove/src/borogove/_DataForm/DataForm_Impl_.cpp
new file mode 100644
index 0000000..6875a18
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/_DataForm/DataForm_Impl_.cpp
@@ -0,0 +1,119 @@
+// 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_Log
+#include <haxe/Log.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_a4f53da467a636c2_37_field,"borogove._DataForm.DataForm_Impl_","field",0xe4ae26c8,"borogove._DataForm.DataForm_Impl_.field","borogove/DataForm.hx",37,0x710703a2)
+namespace borogove{
+namespace _DataForm{
+
+void DataForm_Impl__obj::__construct() { }
+
+Dynamic DataForm_Impl__obj::__CreateEmpty() { return new DataForm_Impl__obj; }
+
+void *DataForm_Impl__obj::_hx_vtable = 0;
+
+Dynamic DataForm_Impl__obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< DataForm_Impl__obj > _hx_result = new DataForm_Impl__obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool DataForm_Impl__obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x7fd270b6;
+}
+
+ ::borogove::Stanza DataForm_Impl__obj::field( ::borogove::Stanza this1,::String name){
+ HX_STACKFRAME(&_hx_pos_a4f53da467a636c2_37_field)
+HXLINE( 38) ::Array< ::Dynamic> _this = this1->allTags(HX_("field",ba,94,93,00),null());
+HXDLIN( 38) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 38) {
+HXLINE( 38) int _g1 = 0;
+HXDLIN( 38) while((_g1 < _this->length)){
+HXLINE( 38) ::borogove::Stanza v = _this->__get(_g1).StaticCast< ::borogove::Stanza >();
+HXDLIN( 38) _g1 = (_g1 + 1);
+HXDLIN( 38) ::String tmp = ( (::String)(::Reflect_obj::field(v->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 38) ::String _hx_tmp;
+HXDLIN( 38) if (::hx::IsNotNull( tmp )) {
+HXLINE( 38) _hx_tmp = tmp;
+ }
+ else {
+HXLINE( 38) _hx_tmp = HX_("",00,00,00,00);
+ }
+HXDLIN( 38) if ((_hx_tmp == name)) {
+HXLINE( 38) _g->push(v);
+ }
+ }
+ }
+HXLINE( 39) if ((_g->length > 1)) {
+HXLINE( 40) ::haxe::Log_obj::trace((HX_("Multiple fields matching ",4c,70,ff,c5) + name),::hx::SourceInfo(HX_("borogove/DataForm.hx",a2,03,07,71),40,HX_("borogove._DataForm.DataForm_Impl_",fc,d3,2e,49),HX_("field",ba,94,93,00)));
+ }
+HXLINE( 42) return _g->__get(0).StaticCast< ::borogove::Stanza >();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(DataForm_Impl__obj,field,return )
+
+
+DataForm_Impl__obj::DataForm_Impl__obj()
+{
+}
+
+bool DataForm_Impl__obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"field") ) { outValue = field_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *DataForm_Impl__obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *DataForm_Impl__obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class DataForm_Impl__obj::__mClass;
+
+static ::String DataForm_Impl__obj_sStaticFields[] = {
+ HX_("field",ba,94,93,00),
+ ::String(null())
+};
+
+void DataForm_Impl__obj::__register()
+{
+ DataForm_Impl__obj _hx_dummy;
+ DataForm_Impl__obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove._DataForm.DataForm_Impl_",fc,d3,2e,49);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &DataForm_Impl__obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(DataForm_Impl__obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< DataForm_Impl__obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = DataForm_Impl__obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = DataForm_Impl__obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
+} // end namespace _DataForm
diff --git a/Sources/c_borogove/src/borogove/_DataForm/Field_Impl_.cpp b/Sources/c_borogove/src/borogove/_DataForm/Field_Impl_.cpp
new file mode 100644
index 0000000..e04deee
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/_DataForm/Field_Impl_.cpp
@@ -0,0 +1,186 @@
+// 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
+
+HX_LOCAL_STACK_FRAME(_hx_pos_4f5145cd5a0b59c7_72_get_value,"borogove._DataForm.Field_Impl_","get_value",0x95f920a6,"borogove._DataForm.Field_Impl_.get_value","borogove/DataForm.hx",72,0x710703a2)
+HX_LOCAL_STACK_FRAME(_hx_pos_4f5145cd5a0b59c7_84_set_value,"borogove._DataForm.Field_Impl_","set_value",0x794a0cb2,"borogove._DataForm.Field_Impl_.set_value","borogove/DataForm.hx",84,0x710703a2)
+HX_LOCAL_STACK_FRAME(_hx_pos_4f5145cd5a0b59c7_105_get_datatype,"borogove._DataForm.Field_Impl_","get_datatype",0xf3c5f3cf,"borogove._DataForm.Field_Impl_.get_datatype","borogove/DataForm.hx",105,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_118_get_options,"borogove._DataForm.Field_Impl_","get_options",0x4e914bd3,"borogove._DataForm.Field_Impl_.get_options","borogove/DataForm.hx",118,0x710703a2)
+namespace borogove{
+namespace _DataForm{
+
+void Field_Impl__obj::__construct() { }
+
+Dynamic Field_Impl__obj::__CreateEmpty() { return new Field_Impl__obj; }
+
+void *Field_Impl__obj::_hx_vtable = 0;
+
+Dynamic Field_Impl__obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Field_Impl__obj > _hx_result = new Field_Impl__obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Field_Impl__obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2d8f0036;
+}
+
+::Array< ::String > Field_Impl__obj::get_value( ::borogove::Stanza this1){
+ HX_STACKFRAME(&_hx_pos_4f5145cd5a0b59c7_72_get_value)
+HXLINE( 73) bool isbool = (::borogove::_DataForm::Field_Impl__obj::get_datatype(this1) == HX_("xs:boolean",a9,21,c7,58));
+HXLINE( 74) ::Array< ::Dynamic> _this = this1->allTags(HX_("value",71,7f,b8,31),null());
+HXDLIN( 74) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 74) {
+HXLINE( 74) int _g = 0;
+HXDLIN( 74) int _g1 = _this->length;
+HXDLIN( 74) while((_g < _g1)){
+HXLINE( 74) _g = (_g + 1);
+HXDLIN( 74) int i = (_g - 1);
+HXDLIN( 74) {
+HXLINE( 75) ::String txt = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
+HXLINE( 74) ::String inValue;
+HXLINE( 76) if (isbool) {
+HXLINE( 77) if (::borogove::Stanza_obj::parseXmlBool(txt)) {
+HXLINE( 74) inValue = HX_("true",4e,a7,03,4d);
+ }
+ else {
+HXLINE( 74) inValue = HX_("false",a3,35,4f,fb);
+ }
+ }
+ else {
+HXLINE( 74) inValue = txt;
+ }
+HXDLIN( 74) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 74) return result;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Field_Impl__obj,get_value,return )
+
+::Array< ::String > Field_Impl__obj::set_value( ::borogove::Stanza this1,::Array< ::String > val){
+ HX_STACKFRAME(&_hx_pos_4f5145cd5a0b59c7_84_set_value)
+HXLINE( 85) this1->removeChildren(HX_("value",71,7f,b8,31),null());
+HXLINE( 86) {
+HXLINE( 86) int _g = 0;
+HXDLIN( 86) while((_g < val->length)){
+HXLINE( 86) ::String v = val->__get(_g);
+HXDLIN( 86) _g = (_g + 1);
+HXLINE( 87) this1->textTag(HX_("value",71,7f,b8,31),v,null());
+ }
+ }
+HXLINE( 89) 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_105_get_datatype)
+HXLINE( 106) ::borogove::Stanza validate = this1->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
+HXLINE( 107) bool _hx_tmp;
+HXDLIN( 107) if (::hx::IsNotNull( validate )) {
+HXLINE( 107) _hx_tmp = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(validate->attr,HX_("datatype",e4,a5,a3,a1))) ) );
+ }
+ else {
+HXLINE( 107) _hx_tmp = false;
+ }
+HXDLIN( 107) if (_hx_tmp) {
+HXLINE( 108) return ( (::String)(::Reflect_obj::field(validate->attr,HX_("datatype",e4,a5,a3,a1))) );
+ }
+HXLINE( 110) 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( 111) return HX_("jid",c5,ca,50,00);
+ }
+HXLINE( 113) if ((( (::String)(::Reflect_obj::field(this1->attr,HX_("type",ba,f2,08,4d))) ) == HX_("boolean",a8,ea,fe,7d))) {
+HXLINE( 113) return HX_("xs:boolean",a9,21,c7,58);
+ }
+HXLINE( 114) 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_118_get_options)
+HXDLIN( 118) return this1->allTags(HX_("option",75,d3,7a,2b),null());
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Field_Impl__obj,get_options,return )
+
+
+Field_Impl__obj::Field_Impl__obj()
+{
+}
+
+bool Field_Impl__obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 9:
+ if (HX_FIELD_EQ(inName,"get_value") ) { outValue = get_value_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"set_value") ) { outValue = set_value_dyn(); return true; }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"get_options") ) { outValue = get_options_dyn(); return true; }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"get_datatype") ) { outValue = get_datatype_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *Field_Impl__obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *Field_Impl__obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class Field_Impl__obj::__mClass;
+
+static ::String Field_Impl__obj_sStaticFields[] = {
+ HX_("get_value",c8,db,61,75),
+ HX_("set_value",d4,c7,b2,58),
+ HX_("get_datatype",ed,59,bd,56),
+ HX_("get_options",75,93,f8,65),
+ ::String(null())
+};
+
+void Field_Impl__obj::__register()
+{
+ Field_Impl__obj _hx_dummy;
+ Field_Impl__obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove._DataForm.Field_Impl_",cc,83,96,f9);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Field_Impl__obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Field_Impl__obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< Field_Impl__obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Field_Impl__obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Field_Impl__obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
+} // end namespace _DataForm
diff --git a/Sources/c_borogove/src/borogove/_Profile/Profile_Fields_.cpp b/Sources/c_borogove/src/borogove/_Profile/Profile_Fields_.cpp
new file mode 100644
index 0000000..5c1511b
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/_Profile/Profile_Fields_.cpp
@@ -0,0 +1,162 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove__Profile_Profile_Fields_
+#include <borogove/_Profile/Profile_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_a302548d9b0113f3_96_boot,"borogove._Profile.Profile_Fields_","boot",0x6a815687,"borogove._Profile.Profile_Fields_.boot","borogove/Profile.hx",96,0x841e40c3)
+namespace borogove{
+namespace _Profile{
+
+void Profile_Fields__obj::__construct() { }
+
+Dynamic Profile_Fields__obj::__CreateEmpty() { return new Profile_Fields__obj; }
+
+void *Profile_Fields__obj::_hx_vtable = 0;
+
+Dynamic Profile_Fields__obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Profile_Fields__obj > _hx_result = new Profile_Fields__obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Profile_Fields__obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1fb7c3dd;
+}
+
+ ::haxe::ds::StringMap Profile_Fields__obj::TYPES;
+
+
+Profile_Fields__obj::Profile_Fields__obj()
+{
+}
+
+bool Profile_Fields__obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"TYPES") ) { outValue = ( TYPES ); return true; }
+ }
+ return false;
+}
+
+bool Profile_Fields__obj::__SetStatic(const ::String &inName,Dynamic &ioValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"TYPES") ) { TYPES=ioValue.Cast< ::haxe::ds::StringMap >(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *Profile_Fields__obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo Profile_Fields__obj_sStaticStorageInfo[] = {
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(void *) &Profile_Fields__obj::TYPES,HX_("TYPES",59,a8,b9,98)},
+ { ::hx::fsUnknown, 0, null()}
+};
+#endif
+
+static void Profile_Fields__obj_sMarkStatics(HX_MARK_PARAMS) {
+ HX_MARK_MEMBER_NAME(Profile_Fields__obj::TYPES,"TYPES");
+};
+
+#ifdef HXCPP_VISIT_ALLOCS
+static void Profile_Fields__obj_sVisitStatics(HX_VISIT_PARAMS) {
+ HX_VISIT_MEMBER_NAME(Profile_Fields__obj::TYPES,"TYPES");
+};
+
+#endif
+
+::hx::Class Profile_Fields__obj::__mClass;
+
+static ::String Profile_Fields__obj_sStaticFields[] = {
+ HX_("TYPES",59,a8,b9,98),
+ ::String(null())
+};
+
+void Profile_Fields__obj::__register()
+{
+ Profile_Fields__obj _hx_dummy;
+ Profile_Fields__obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove._Profile.Profile_Fields_",39,ae,89,85);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Profile_Fields__obj::__GetStatic;
+ __mClass->mSetStaticField = &Profile_Fields__obj::__SetStatic;
+ __mClass->mMarkFunc = Profile_Fields__obj_sMarkStatics;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Profile_Fields__obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< Profile_Fields__obj >;
+#ifdef HXCPP_VISIT_ALLOCS
+ __mClass->mVisitFunc = Profile_Fields__obj_sVisitStatics;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Profile_Fields__obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Profile_Fields__obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void Profile_Fields__obj::__boot()
+{
+{
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(0)
+ ::haxe::ds::StringMap _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_a302548d9b0113f3_96_boot)
+HXDLIN( 96) ::haxe::ds::StringMap _g = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXDLIN( 96) _g->set(HX_("source",db,b0,31,32),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("kind",54,e1,09,47),HX_("text",ad,cc,f9,4c));
+HXDLIN( 96) _g->set(HX_("fn",48,59,00,00),HX_("text",ad,cc,f9,4c));
+HXDLIN( 96) _g->set(HX_("nickname",6e,fb,2e,1c),HX_("text",ad,cc,f9,4c));
+HXDLIN( 96) _g->set(HX_("photo",b2,c8,f3,c1),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("bday",3a,1f,13,41),HX_("date",2e,56,63,42));
+HXDLIN( 96) _g->set(HX_("anniversary",50,ea,9d,0a),HX_("date",2e,56,63,42));
+HXDLIN( 96) _g->set(HX_("tel",db,5d,58,00),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("email",1c,cf,ce,6f),HX_("text",ad,cc,f9,4c));
+HXDLIN( 96) _g->set(HX_("impp",e4,7e,ba,45),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("lang",ee,05,ad,47),HX_("language-tag",a5,80,2b,6a));
+HXDLIN( 96) _g->set(HX_("tz",86,65,00,00),HX_("text",ad,cc,f9,4c));
+HXDLIN( 96) _g->set(HX_("geo",91,80,4e,00),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("title",98,15,3b,10),HX_("text",ad,cc,f9,4c));
+HXDLIN( 96) _g->set(HX_("role",76,eb,ae,4b),HX_("text",ad,cc,f9,4c));
+HXDLIN( 96) _g->set(HX_("logo",6b,9f,b7,47),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("org",e4,9d,54,00),HX_("text",ad,cc,f9,4c));
+HXDLIN( 96) _g->set(HX_("member",5a,e2,b5,04),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("related",eb,09,57,56),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("categories",dc,9a,ff,00),HX_("text",ad,cc,f9,4c));
+HXDLIN( 96) _g->set(HX_("note",f2,17,0a,49),HX_("text",ad,cc,f9,4c));
+HXDLIN( 96) _g->set(HX_("prodid",32,77,51,b5),HX_("text",ad,cc,f9,4c));
+HXDLIN( 96) _g->set(HX_("rev",63,d9,56,00),HX_("timestamp",d6,d4,ce,a5));
+HXDLIN( 96) _g->set(HX_("sound",cf,8c,cc,80),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("uid",90,23,59,00),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("url",6f,2b,59,00),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("version",18,e7,f1,7c),HX_("text",ad,cc,f9,4c));
+HXDLIN( 96) _g->set(HX_("key",9f,89,51,00),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("fburl",b3,3f,ff,fb),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("caladruri",2b,73,ea,72),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("caluri",1e,34,ef,b6),HX_("uri",6c,2b,59,00));
+HXDLIN( 96) _g->set(HX_("pronouns",0c,83,09,8c),HX_("text",ad,cc,f9,4c));
+HXDLIN( 96) return _g;
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+ HX_STACKFRAME(&_hx_pos_a302548d9b0113f3_96_boot)
+HXDLIN( 96) TYPES = ( ( ::haxe::ds::StringMap)( ::Dynamic(new _hx_Closure_0())()) );
+ }
+}
+
+} // end namespace borogove
+} // end namespace _Profile
diff --git a/Sources/c_snikket/src/snikket/_Stanza/NodeInterface.cpp b/Sources/c_borogove/src/borogove/_Stanza/NodeInterface.cpp
similarity index 62%
rename from Sources/c_snikket/src/snikket/_Stanza/NodeInterface.cpp
rename to Sources/c_borogove/src/borogove/_Stanza/NodeInterface.cpp
index 4cd912a..ca4cdae 100644
--- a/Sources/c_snikket/src/snikket/_Stanza/NodeInterface.cpp
+++ b/Sources/c_borogove/src/borogove/_Stanza/NodeInterface.cpp
@@ -1,14 +1,14 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove__Stanza_NodeInterface
+#include <borogove/_Stanza/NodeInterface.h>
#endif
-namespace snikket{
+namespace borogove{
namespace _Stanza{
@@ -22,12 +22,12 @@ static ::String NodeInterface_obj_sMemberFields[] = {
void NodeInterface_obj::__register()
{
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket._Stanza.NodeInterface",4c,2c,f0,bb);
+ __mClass->mName = HX_("borogove._Stanza.NodeInterface",f0,45,d4,8a);
__mClass->mSuper = &super::__SGetClass();
__mClass->mMembers = ::hx::Class_obj::dupFunctions(NodeInterface_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TIsInterface< (int)0xc837e580 >;
+ __mClass->mCanCast = ::hx::TIsInterface< (int)0x2b90b024 >;
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace _Stanza
diff --git a/Sources/c_borogove/src/borogove/_Util/Util_Fields_.cpp b/Sources/c_borogove/src/borogove/_Util/Util_Fields_.cpp
new file mode 100644
index 0000000..044a095
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/_Util/Util_Fields_.cpp
@@ -0,0 +1,253 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_EReg
+#include <EReg.h>
+#endif
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_StringTools
+#include <StringTools.h>
+#endif
+#ifndef INCLUDED_borogove__Util_Util_Fields_
+#include <borogove/_Util/Util_Fields_.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+#ifndef INCLUDED_haxe_io_BytesBuffer
+#include <haxe/io/BytesBuffer.h>
+#endif
+#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
+#ifndef INCLUDED_tink__Url_Url_Impl_
+#include <tink/_Url/Url_Impl_.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_http_Fetch
+#include <tink/http/Fetch.h>
+#endif
+#ifndef INCLUDED_tink_http_Header
+#include <tink/http/Header.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
+
+HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_30_xmppLinkHeader,"borogove._Util.Util_Fields_","xmppLinkHeader",0x9fac46c7,"borogove._Util.Util_Fields_.xmppLinkHeader","borogove/Util.hx",30,0x66194bae)
+HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_28_xmppLinkHeader,"borogove._Util.Util_Fields_","xmppLinkHeader",0x9fac46c7,"borogove._Util.Util_Fields_.xmppLinkHeader","borogove/Util.hx",28,0x66194bae)
+HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_27_xmppLinkHeader,"borogove._Util.Util_Fields_","xmppLinkHeader",0x9fac46c7,"borogove._Util.Util_Fields_.xmppLinkHeader","borogove/Util.hx",27,0x66194bae)
+HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_80_downcast,"borogove._Util.Util_Fields_","downcast",0x608fd4ec,"borogove._Util.Util_Fields_.downcast","borogove/Util.hx",80,0x66194bae)
+HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_85_xmlEscape,"borogove._Util.Util_Fields_","xmlEscape",0x2f61ed8d,"borogove._Util.Util_Fields_.xmlEscape","borogove/Util.hx",85,0x66194bae)
+HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_89_uriDecode,"borogove._Util.Util_Fields_","uriDecode",0xe1dca28f,"borogove._Util.Util_Fields_.uriDecode","borogove/Util.hx",89,0x66194bae)
+namespace borogove{
+namespace _Util{
+
+void Util_Fields__obj::__construct() { }
+
+Dynamic Util_Fields__obj::__CreateEmpty() { return new Util_Fields__obj; }
+
+void *Util_Fields__obj::_hx_vtable = 0;
+
+Dynamic Util_Fields__obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Util_Fields__obj > _hx_result = new Util_Fields__obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Util_Fields__obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x7f12a789;
+}
+
+::Dynamic Util_Fields__obj::xmppLinkHeader(::String url){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1,::String,url) 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_GC_STACKFRAME(&_hx_pos_1e0430250bb3af17_30_xmppLinkHeader)
+HXLINE( 30) switch((int)(o->_hx_getIndex())){
+ case (int)0: {
+HXLINE( 32) ::EReg regex = ::EReg_obj::__alloc( HX_CTX ,HX_("<(xmpp:[^>]+)>",05,26,e1,e4),HX_("",00,00,00,00));
+HXLINE( 33) {
+HXLINE( 33) int _g = 0;
+HXDLIN( 33) ::tink::http::ResponseHeaderBase res = ( ( ::tink::http::ResponseHeaderBase)(( ( ::tink::http::Message)(o->_hx_getObject(0)) )->header) );
+HXDLIN( 33) ::Array< ::String > _g1 = res->get(HX_("link",fa,17,b3,47).toLowerCase());
+HXDLIN( 33) while((_g < _g1->length)){
+HXLINE( 33) ::String link = _g1->__get(_g);
+HXDLIN( 33) _g = (_g + 1);
+HXLINE( 34) if (regex->match(link)) {
+HXLINE( 35) ::Dynamic resolve1 = resolve;
+HXDLIN( 35) resolve1(regex->matched(1));
+HXLINE( 36) return;
+ }
+ }
+ }
+HXLINE( 39) reject(null());
+ }
+ break;
+ case (int)1: {
+HXLINE( 41) reject(o->_hx_getObject(0));
+ }
+ break;
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_1e0430250bb3af17_28_xmppLinkHeader)
+HXLINE( 28) ::Dynamic url1 = ::tink::_Url::Url_Impl__obj::fromString(url);
+HXDLIN( 28) ::tink::http::_Fetch::FetchResponse_Impl__obj::all(::tink::http::Fetch_obj::fetch(url1, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("method",e1,f6,5a,09),HX_("HEAD",20,f1,cb,2f)))))->handle( ::Dynamic(new _hx_Closure_0(resolve,reject)));
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ HX_STACKFRAME(&_hx_pos_1e0430250bb3af17_27_xmppLinkHeader)
+HXDLIN( 27) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(url)));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Util_Fields__obj,xmppLinkHeader,return )
+
+ ::Dynamic Util_Fields__obj::downcast( ::Dynamic value,::hx::Class c){
+ HX_STACKFRAME(&_hx_pos_1e0430250bb3af17_80_downcast)
+HXDLIN( 80) 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_85_xmlEscape)
+HXDLIN( 85) 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_89_uriDecode)
+HXLINE( 104) ::haxe::io::BytesBuffer bytes = ::haxe::io::BytesBuffer_obj::__alloc( HX_CTX );
+HXLINE( 105) int i = 0;
+HXLINE( 107) while((i < s.length)){
+HXLINE( 108) ::String c = s.charAt(i);
+HXLINE( 109) bool _hx_tmp;
+HXDLIN( 109) if ((c == HX_("%",25,00,00,00))) {
+HXLINE( 109) _hx_tmp = ((i + 2) < s.length);
+ }
+ else {
+HXLINE( 109) _hx_tmp = false;
+ }
+HXDLIN( 109) if (_hx_tmp) {
+HXLINE( 110) ::Dynamic value = ::Std_obj::parseInt((HX_("0x",48,2a,00,00) + s.substr((i + 1),2)));
+HXLINE( 111) if (::hx::IsNotNull( value )) {
+HXLINE( 112) bytes->b->push(( (int)(value) ));
+HXLINE( 113) i = (i + 3);
+HXLINE( 114) continue;
+ }
+ }
+HXLINE( 117) {
+HXLINE( 117) ::haxe::io::Bytes src = ::haxe::io::Bytes_obj::ofString(c,::haxe::io::Encoding_obj::UTF8_dyn());
+HXDLIN( 117) ::Array< unsigned char > b2 = src->b;
+HXDLIN( 117) {
+HXLINE( 117) int _g = 0;
+HXDLIN( 117) int _g1 = src->length;
+HXDLIN( 117) while((_g < _g1)){
+HXLINE( 117) _g = (_g + 1);
+HXDLIN( 117) bytes->b->push(b2->__get((_g - 1)));
+ }
+ }
+ }
+HXLINE( 118) i = (i + 1);
+ }
+HXLINE( 121) return bytes->getBytes()->toString();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Util_Fields__obj,uriDecode,return )
+
+
+Util_Fields__obj::Util_Fields__obj()
+{
+}
+
+bool Util_Fields__obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 8:
+ if (HX_FIELD_EQ(inName,"downcast") ) { outValue = downcast_dyn(); return true; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"xmlEscape") ) { outValue = xmlEscape_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"uriDecode") ) { outValue = uriDecode_dyn(); return true; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"xmppLinkHeader") ) { outValue = xmppLinkHeader_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *Util_Fields__obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *Util_Fields__obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class Util_Fields__obj::__mClass;
+
+static ::String Util_Fields__obj_sStaticFields[] = {
+ HX_("xmppLinkHeader",bc,37,1d,db),
+ HX_("downcast",21,f0,c8,8b),
+ HX_("xmlEscape",b8,a0,20,d6),
+ HX_("uriDecode",ba,55,9b,88),
+ ::String(null())
+};
+
+void Util_Fields__obj::__register()
+{
+ Util_Fields__obj _hx_dummy;
+ Util_Fields__obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove._Util.Util_Fields_",03,41,c9,1a);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Util_Fields__obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Util_Fields__obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< Util_Fields__obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Util_Fields__obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Util_Fields__obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
+} // end namespace _Util
diff --git a/Sources/c_snikket/src/snikket/jingle/Attribute.cpp b/Sources/c_borogove/src/borogove/calls/Attribute.cpp
similarity index 79%
rename from Sources/c_snikket/src/snikket/jingle/Attribute.cpp
rename to Sources/c_borogove/src/borogove/calls/Attribute.cpp
index 154ba97..64147d8 100644
--- a/Sources/c_snikket/src/snikket/jingle/Attribute.cpp
+++ b/Sources/c_borogove/src/borogove/calls/Attribute.cpp
@@ -1,18 +1,18 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_jingle_Attribute
-#include <snikket/jingle/Attribute.h>
+#ifndef INCLUDED_borogove_calls_Attribute
+#include <borogove/calls/Attribute.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_3dd2db7f2124ae96_626_new,"snikket.jingle.Attribute","new",0x05dd0082,"snikket.jingle.Attribute.new","snikket/jingle/SessionDescription.hx",626,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_3dd2db7f2124ae96_641_toSdp,"snikket.jingle.Attribute","toSdp",0x726848a6,"snikket.jingle.Attribute.toSdp","snikket/jingle/SessionDescription.hx",641,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_3dd2db7f2124ae96_631_parse,"snikket.jingle.Attribute","parse",0x1ba48cd5,"snikket.jingle.Attribute.parse","snikket/jingle/SessionDescription.hx",631,0x68af748c)
-namespace snikket{
-namespace jingle{
+HX_DEFINE_STACK_FRAME(_hx_pos_b0912911cb3318e6_626_new,"borogove.calls.Attribute","new",0x75154108,"borogove.calls.Attribute.new","borogove/calls/SessionDescription.hx",626,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_b0912911cb3318e6_641_toSdp,"borogove.calls.Attribute","toSdp",0x509636ac,"borogove.calls.Attribute.toSdp","borogove/calls/SessionDescription.hx",641,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_b0912911cb3318e6_631_parse,"borogove.calls.Attribute","parse",0xf9d27adb,"borogove.calls.Attribute.parse","borogove/calls/SessionDescription.hx",631,0xd9f63730)
+namespace borogove{
+namespace calls{
void Attribute_obj::__construct(::String key,::String value){
- HX_STACKFRAME(&_hx_pos_3dd2db7f2124ae96_626_new)
+ HX_STACKFRAME(&_hx_pos_b0912911cb3318e6_626_new)
HXLINE( 627) this->key = key;
HXLINE( 628) this->value = value;
}
@@ -29,11 +29,11 @@ Dynamic Attribute_obj::__Create(::hx::DynamicArray inArgs)
}
bool Attribute_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x0704634e;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2d4daef0;
}
::String Attribute_obj::toSdp(){
- HX_STACKFRAME(&_hx_pos_3dd2db7f2124ae96_641_toSdp)
+ HX_STACKFRAME(&_hx_pos_b0912911cb3318e6_641_toSdp)
HXDLIN( 641) ::String _hx_tmp;
HXDLIN( 641) bool _hx_tmp1;
HXDLIN( 641) if (::hx::IsNotNull( this->value )) {
@@ -54,15 +54,15 @@ HXDLIN( 641) return (((HX_("a=",bc,54,00,00) + this->key) + _hx_tmp) + HX_("\r\
HX_DEFINE_DYNAMIC_FUNC0(Attribute_obj,toSdp,return )
- ::snikket::jingle::Attribute Attribute_obj::parse(::String input){
- HX_GC_STACKFRAME(&_hx_pos_3dd2db7f2124ae96_631_parse)
+ ::borogove::calls::Attribute Attribute_obj::parse(::String input){
+ HX_GC_STACKFRAME(&_hx_pos_b0912911cb3318e6_631_parse)
HXLINE( 632) int pos = input.indexOf(HX_(":",3a,00,00,00),null());
HXLINE( 633) if ((pos < 0)) {
-HXLINE( 634) return ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,input,HX_("",00,00,00,00));
+HXLINE( 634) return ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,input,HX_("",00,00,00,00));
}
else {
HXLINE( 636) ::String _hx_tmp = input.substr(0,pos);
-HXDLIN( 636) return ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,_hx_tmp,input.substr((pos + 1),null()));
+HXDLIN( 636) return ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,_hx_tmp,input.substr((pos + 1),null()));
}
HXLINE( 633) return null();
}
@@ -157,7 +157,7 @@ void Attribute_obj::__register()
Attribute_obj _hx_dummy;
Attribute_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.Attribute",90,57,f6,ed);
+ __mClass->mName = HX_("borogove.calls.Attribute",16,5d,96,64);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -175,5 +175,5 @@ void Attribute_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_snikket/src/snikket/jingle/AudioFormat.cpp b/Sources/c_borogove/src/borogove/calls/AudioFormat.cpp
similarity index 76%
rename from Sources/c_snikket/src/snikket/jingle/AudioFormat.cpp
rename to Sources/c_borogove/src/borogove/calls/AudioFormat.cpp
index e55fae7..28b302e 100644
--- a/Sources/c_snikket/src/snikket/jingle/AudioFormat.cpp
+++ b/Sources/c_borogove/src/borogove/calls/AudioFormat.cpp
@@ -1,23 +1,23 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_jingle_AudioFormat
-#include <snikket/jingle/AudioFormat.h>
+#ifndef INCLUDED_borogove_calls_AudioFormat
+#include <borogove/calls/AudioFormat.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_1f09f7dcf750977c_327_new,"snikket.jingle.AudioFormat","new",0xa853b293,"snikket.jingle.AudioFormat.new","snikket/jingle/PeerConnection.cpp.hx",327,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8af94bd41e18171d_355_clockRate__fromC,"snikket.jingle.AudioFormat","clockRate__fromC",0x4ad11858,"snikket.jingle.AudioFormat.clockRate__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_8af94bd41e18171d_355_channels__fromC,"snikket.jingle.AudioFormat","channels__fromC",0xbdee92dc,"snikket.jingle.AudioFormat.channels__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1f09f7dcf750977c_320_boot,"snikket.jingle.AudioFormat","boot",0x99018e9f,"snikket.jingle.AudioFormat.boot","snikket/jingle/PeerConnection.cpp.hx",320,0xf9fab71d)
-namespace snikket{
-namespace jingle{
+HX_DEFINE_STACK_FRAME(_hx_pos_9a23c46bf262f096_329_new,"borogove.calls.AudioFormat","new",0x8681a099,"borogove.calls.AudioFormat.new","borogove/calls/PeerConnection.cpp.hx",329,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_6d6c0ff9b6d661fc_423_clockRate__fromC,"borogove.calls.AudioFormat","clockRate__fromC",0x08165e92,"borogove.calls.AudioFormat.clockRate__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_6d6c0ff9b6d661fc_423_channels__fromC,"borogove.calls.AudioFormat","channels__fromC",0x42cc71e2,"borogove.calls.AudioFormat.channels__fromC","HaxeCBridge.hx",423,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9a23c46bf262f096_322_boot,"borogove.calls.AudioFormat","boot",0x2303e5d9,"borogove.calls.AudioFormat.boot","borogove/calls/PeerConnection.cpp.hx",322,0x6b4179c1)
+namespace borogove{
+namespace calls{
void AudioFormat_obj::__construct(::String format,unsigned char payloadType,int clockRate,int channels){
- HX_STACKFRAME(&_hx_pos_1f09f7dcf750977c_327_new)
-HXLINE( 328) this->format = format;
-HXLINE( 329) this->payloadType = payloadType;
-HXLINE( 330) this->clockRate = clockRate;
-HXLINE( 331) this->channels = channels;
+ HX_STACKFRAME(&_hx_pos_9a23c46bf262f096_329_new)
+HXLINE( 330) this->format = format;
+HXLINE( 331) this->payloadType = payloadType;
+HXLINE( 332) this->clockRate = clockRate;
+HXLINE( 333) this->channels = channels;
}
Dynamic AudioFormat_obj::__CreateEmpty() { return new AudioFormat_obj; }
@@ -32,20 +32,20 @@ Dynamic AudioFormat_obj::__Create(::hx::DynamicArray inArgs)
}
bool AudioFormat_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x22a1d3c3;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1881ed1d;
}
int AudioFormat_obj::clockRate__fromC(){
- HX_STACKFRAME(&_hx_pos_8af94bd41e18171d_355_clockRate__fromC)
-HXDLIN( 355) return this->clockRate;
+ HX_STACKFRAME(&_hx_pos_6d6c0ff9b6d661fc_423_clockRate__fromC)
+HXDLIN( 423) return this->clockRate;
}
HX_DEFINE_DYNAMIC_FUNC0(AudioFormat_obj,clockRate__fromC,return )
int AudioFormat_obj::channels__fromC(){
- HX_STACKFRAME(&_hx_pos_8af94bd41e18171d_355_channels__fromC)
-HXDLIN( 355) return this->channels;
+ HX_STACKFRAME(&_hx_pos_6d6c0ff9b6d661fc_423_channels__fromC)
+HXDLIN( 423) return this->channels;
}
@@ -152,7 +152,7 @@ void AudioFormat_obj::__register()
AudioFormat_obj _hx_dummy;
AudioFormat_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.AudioFormat",21,6d,24,fa);
+ __mClass->mName = HX_("borogove.calls.AudioFormat",27,60,f5,5c);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -173,8 +173,8 @@ void AudioFormat_obj::__register()
void AudioFormat_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_1f09f7dcf750977c_320_boot)
-HXDLIN( 320) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_9a23c46bf262f096_322_boot)
+HXDLIN( 322) __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_("channels__fromC",29,b0,4a,bf), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
@@ -183,5 +183,5 @@ HXDLIN( 320) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
}
}
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_borogove/src/borogove/calls/DTMFSender.cpp b/Sources/c_borogove/src/borogove/calls/DTMFSender.cpp
new file mode 100644
index 0000000..b737337
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/calls/DTMFSender.cpp
@@ -0,0 +1,365 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Lambda
+#include <Lambda.h>
+#endif
+#ifndef INCLUDED_borogove_calls_AudioFormat
+#include <borogove/calls/AudioFormat.h>
+#endif
+#ifndef INCLUDED_borogove_calls_DTMFSender
+#include <borogove/calls/DTMFSender.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStreamTrack
+#include <borogove/calls/MediaStreamTrack.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_cc33c59852415bde_249_new,"borogove.calls.DTMFSender","new",0x28c5c016,"borogove.calls.DTMFSender.new","borogove/calls/PeerConnection.cpp.hx",249,0x6b4179c1)
+HX_DEFINE_STACK_FRAME(_hx_pos_cc33c59852415bde_247_new,"borogove.calls.DTMFSender","new",0x28c5c016,"borogove.calls.DTMFSender.new","borogove/calls/PeerConnection.cpp.hx",247,0x6b4179c1)
+HX_DEFINE_STACK_FRAME(_hx_pos_cc33c59852415bde_239_new,"borogove.calls.DTMFSender","new",0x28c5c016,"borogove.calls.DTMFSender.new","borogove/calls/PeerConnection.cpp.hx",239,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_cc33c59852415bde_286_insertDTMF,"borogove.calls.DTMFSender","insertDTMF",0x225b69ac,"borogove.calls.DTMFSender.insertDTMF","borogove/calls/PeerConnection.cpp.hx",286,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_cc33c59852415bde_284_insertDTMF,"borogove.calls.DTMFSender","insertDTMF",0x225b69ac,"borogove.calls.DTMFSender.insertDTMF","borogove/calls/PeerConnection.cpp.hx",284,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_cc33c59852415bde_302_insertOneTone,"borogove.calls.DTMFSender","insertOneTone",0x6b83e8f5,"borogove.calls.DTMFSender.insertOneTone","borogove/calls/PeerConnection.cpp.hx",302,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_cc33c59852415bde_301_insertOneTone,"borogove.calls.DTMFSender","insertOneTone",0x6b83e8f5,"borogove.calls.DTMFSender.insertOneTone","borogove/calls/PeerConnection.cpp.hx",301,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_cc33c59852415bde_256_boot,"borogove.calls.DTMFSender","boot",0x7c5b53bc,"borogove.calls.DTMFSender.boot","borogove/calls/PeerConnection.cpp.hx",256,0x6b4179c1)
+namespace borogove{
+namespace calls{
+
+void DTMFSender_obj::__construct( ::borogove::calls::MediaStreamTrack track){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::calls::DTMFSender,_gthis) HXARGC(0)
+ void _hx_run(){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::DTMFSender,_gthis) HXARGC(0)
+ void _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_cc33c59852415bde_249_new)
+HXLINE( 250) ::Dynamic tone = _gthis->tones->shift();
+HXLINE( 251) bool _hx_tmp;
+HXDLIN( 251) if (::hx::IsNotNull( tone )) {
+HXLINE( 251) _hx_tmp = ::hx::IsNotEq( tone,255 );
+ }
+ else {
+HXLINE( 251) _hx_tmp = false;
+ }
+HXDLIN( 251) if (_hx_tmp) {
+HXLINE( 251) _gthis->insertOneTone(( (unsigned char)(tone) ));
+ }
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_cc33c59852415bde_247_new)
+HXLINE( 248) _gthis->timer = ::haxe::Timer_obj::__alloc( HX_CTX ,570);
+HXLINE( 249) _gthis->timer->run = ::Dynamic(new _hx_Closure_0(_gthis));
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_cc33c59852415bde_239_new)
+HXLINE( 242) this->tones = ::Array_obj< unsigned char >::__new(0);
+HXLINE( 245) ::borogove::calls::DTMFSender _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 246) this->track = track;
+HXLINE( 247) track->onAudioLoop( ::Dynamic(new _hx_Closure_1(_gthis)));
+ }
+
+Dynamic DTMFSender_obj::__CreateEmpty() { return new DTMFSender_obj; }
+
+void *DTMFSender_obj::_hx_vtable = 0;
+
+Dynamic DTMFSender_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< DTMFSender_obj > _hx_result = new DTMFSender_obj();
+ _hx_result->__construct(inArgs[0]);
+ return _hx_result;
+}
+
+bool DTMFSender_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2607f7d2;
+}
+
+void DTMFSender_obj::insertDTMF(::String tones){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::DTMFSender,_gthis,::String,tones) HXARGC(0)
+ void _hx_run(){
+ HX_STACKFRAME(&_hx_pos_cc33c59852415bde_286_insertDTMF)
+HXLINE( 286) int _g = 0;
+HXDLIN( 286) int _g1 = tones.length;
+HXDLIN( 286) while((_g < _g1)){
+HXLINE( 286) _g = (_g + 1);
+HXDLIN( 286) int i = (_g - 1);
+HXLINE( 287) if ((tones.charAt(i) == HX_(",",2c,00,00,00))) {
+HXLINE( 289) _gthis->tones->push(255);
+HXLINE( 290) _gthis->tones->push(255);
+HXLINE( 291) _gthis->tones->push(255);
+HXLINE( 292) _gthis->tones->push(255);
+ }
+ else {
+HXLINE( 294) ::Dynamic tone = ::borogove::calls::DTMFSender_obj::TONES->get(tones.charAt(i));
+HXLINE( 295) if (::hx::IsNotNull( tone )) {
+HXLINE( 295) _gthis->tones->push(tone);
+ }
+ }
+ }
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_cc33c59852415bde_284_insertDTMF)
+HXDLIN( 284) ::borogove::calls::DTMFSender _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 285) this->track->onAudioLoop( ::Dynamic(new _hx_Closure_0(_gthis,tones)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(DTMFSender_obj,insertDTMF,(void))
+
+void DTMFSender_obj::insertOneTone(unsigned char tone){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ bool _hx_run( ::borogove::calls::AudioFormat af){
+ HX_STACKFRAME(&_hx_pos_cc33c59852415bde_302_insertOneTone)
+HXLINE( 302) return (af->format == HX_("telephone-event",d1,88,d6,13));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_cc33c59852415bde_301_insertOneTone)
+HXLINE( 302) ::borogove::calls::AudioFormat format = ( ( ::borogove::calls::AudioFormat)(::Lambda_obj::find(this->track->get_supportedAudioFormats(), ::Dynamic(new _hx_Closure_0()))) );
+HXLINE( 303) ::Array< unsigned char > payload = ::Array_obj< unsigned char >::__new(4)->init(0,tone)->init(1,0)->init(2,0)->init(3,160);
+HXLINE( 304) {
+HXLINE( 304) int _g = 1;
+HXDLIN( 304) while((_g < 25)){
+HXLINE( 304) _g = (_g + 1);
+HXDLIN( 304) int i = (_g - 1);
+HXLINE( 305) int duration = (160 * i);
+HXLINE( 306) payload[2] = ( (unsigned char)(((duration >> 8) & 255)) );
+HXLINE( 307) payload[3] = ( (unsigned char)((duration & 255)) );
+HXLINE( 309) unsigned char _hx_tmp;
+HXDLIN( 309) if ((i == 1)) {
+HXLINE( 309) _hx_tmp = ( (unsigned char)((( (int)(format->payloadType) ) | 128)) );
+ }
+ else {
+HXLINE( 309) _hx_tmp = format->payloadType;
+ }
+HXDLIN( 309) this->track->write(payload,_hx_tmp,format->clockRate);
+ }
+ }
+HXLINE( 311) {
+HXLINE( 311) {
+HXLINE( 312) payload[2] = ( (unsigned char)(15) );
+HXLINE( 313) payload[3] = ( (unsigned char)(160) );
+HXLINE( 314) payload[1] = ( (unsigned char)(128) );
+HXLINE( 315) this->track->write(payload,format->payloadType,format->clockRate);
+ }
+HXLINE( 311) {
+HXLINE( 312) payload[2] = ( (unsigned char)(15) );
+HXLINE( 313) payload[3] = ( (unsigned char)(160) );
+HXLINE( 314) payload[1] = ( (unsigned char)(128) );
+HXLINE( 315) this->track->write(payload,format->payloadType,format->clockRate);
+ }
+HXLINE( 311) {
+HXLINE( 312) payload[2] = ( (unsigned char)(15) );
+HXLINE( 313) payload[3] = ( (unsigned char)(160) );
+HXLINE( 314) payload[1] = ( (unsigned char)(128) );
+HXLINE( 315) this->track->write(payload,format->payloadType,format->clockRate);
+ }
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(DTMFSender_obj,insertOneTone,(void))
+
+ ::haxe::ds::StringMap DTMFSender_obj::TONES;
+
+
+::hx::ObjectPtr< DTMFSender_obj > DTMFSender_obj::__new( ::borogove::calls::MediaStreamTrack track) {
+ ::hx::ObjectPtr< DTMFSender_obj > __this = new DTMFSender_obj();
+ __this->__construct(track);
+ return __this;
+}
+
+::hx::ObjectPtr< DTMFSender_obj > DTMFSender_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::calls::MediaStreamTrack track) {
+ DTMFSender_obj *__this = (DTMFSender_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(DTMFSender_obj), true, "borogove.calls.DTMFSender"));
+ *(void **)__this = DTMFSender_obj::_hx_vtable;
+ __this->__construct(track);
+ return __this;
+}
+
+DTMFSender_obj::DTMFSender_obj()
+{
+}
+
+void DTMFSender_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(DTMFSender);
+ HX_MARK_MEMBER_NAME(track,"track");
+ HX_MARK_MEMBER_NAME(timer,"timer");
+ HX_MARK_MEMBER_NAME(tones,"tones");
+ HX_MARK_END_CLASS();
+}
+
+void DTMFSender_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(track,"track");
+ HX_VISIT_MEMBER_NAME(timer,"timer");
+ HX_VISIT_MEMBER_NAME(tones,"tones");
+}
+
+::hx::Val DTMFSender_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"track") ) { return ::hx::Val( track ); }
+ if (HX_FIELD_EQ(inName,"timer") ) { return ::hx::Val( timer ); }
+ if (HX_FIELD_EQ(inName,"tones") ) { return ::hx::Val( tones ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"insertDTMF") ) { return ::hx::Val( insertDTMF_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"insertOneTone") ) { return ::hx::Val( insertOneTone_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool DTMFSender_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"TONES") ) { outValue = ( TONES ); return true; }
+ }
+ return false;
+}
+
+::hx::Val DTMFSender_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"track") ) { track=inValue.Cast< ::borogove::calls::MediaStreamTrack >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"timer") ) { timer=inValue.Cast< ::haxe::Timer >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"tones") ) { tones=inValue.Cast< ::Array< unsigned char > >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+bool DTMFSender_obj::__SetStatic(const ::String &inName,Dynamic &ioValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"TONES") ) { TONES=ioValue.Cast< ::haxe::ds::StringMap >(); return true; }
+ }
+ return false;
+}
+
+void DTMFSender_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("track",8b,8e,1f,16));
+ outFields->push(HX_("timer",c5,bf,35,10));
+ outFields->push(HX_("tones",c1,c9,2d,14));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo DTMFSender_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::calls::MediaStreamTrack */ ,(int)offsetof(DTMFSender_obj,track),HX_("track",8b,8e,1f,16)},
+ {::hx::fsObject /* ::haxe::Timer */ ,(int)offsetof(DTMFSender_obj,timer),HX_("timer",c5,bf,35,10)},
+ {::hx::fsObject /* ::Array< unsigned char > */ ,(int)offsetof(DTMFSender_obj,tones),HX_("tones",c1,c9,2d,14)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo DTMFSender_obj_sStaticStorageInfo[] = {
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(void *) &DTMFSender_obj::TONES,HX_("TONES",a1,01,1c,92)},
+ { ::hx::fsUnknown, 0, null()}
+};
+#endif
+
+static ::String DTMFSender_obj_sMemberFields[] = {
+ HX_("track",8b,8e,1f,16),
+ HX_("timer",c5,bf,35,10),
+ HX_("tones",c1,c9,2d,14),
+ HX_("insertDTMF",a2,56,44,28),
+ HX_("insertOneTone",bf,f9,90,a7),
+ ::String(null()) };
+
+static void DTMFSender_obj_sMarkStatics(HX_MARK_PARAMS) {
+ HX_MARK_MEMBER_NAME(DTMFSender_obj::TONES,"TONES");
+};
+
+#ifdef HXCPP_VISIT_ALLOCS
+static void DTMFSender_obj_sVisitStatics(HX_VISIT_PARAMS) {
+ HX_VISIT_MEMBER_NAME(DTMFSender_obj::TONES,"TONES");
+};
+
+#endif
+
+::hx::Class DTMFSender_obj::__mClass;
+
+static ::String DTMFSender_obj_sStaticFields[] = {
+ HX_("TONES",a1,01,1c,92),
+ ::String(null())
+};
+
+void DTMFSender_obj::__register()
+{
+ DTMFSender_obj _hx_dummy;
+ DTMFSender_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.calls.DTMFSender",24,bd,fa,8e);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &DTMFSender_obj::__GetStatic;
+ __mClass->mSetStaticField = &DTMFSender_obj::__SetStatic;
+ __mClass->mMarkFunc = DTMFSender_obj_sMarkStatics;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(DTMFSender_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(DTMFSender_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< DTMFSender_obj >;
+#ifdef HXCPP_VISIT_ALLOCS
+ __mClass->mVisitFunc = DTMFSender_obj_sVisitStatics;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = DTMFSender_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = DTMFSender_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void DTMFSender_obj::__boot()
+{
+{
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(0)
+ ::haxe::ds::StringMap _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_cc33c59852415bde_256_boot)
+HXDLIN( 256) ::haxe::ds::StringMap _g = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXDLIN( 256) _g->set(HX_("0",30,00,00,00),( (unsigned char)(0) ));
+HXDLIN( 256) _g->set(HX_("1",31,00,00,00),( (unsigned char)(1) ));
+HXDLIN( 256) _g->set(HX_("2",32,00,00,00),( (unsigned char)(2) ));
+HXDLIN( 256) _g->set(HX_("3",33,00,00,00),( (unsigned char)(3) ));
+HXDLIN( 256) _g->set(HX_("4",34,00,00,00),( (unsigned char)(4) ));
+HXDLIN( 256) _g->set(HX_("5",35,00,00,00),( (unsigned char)(5) ));
+HXDLIN( 256) _g->set(HX_("6",36,00,00,00),( (unsigned char)(6) ));
+HXDLIN( 256) _g->set(HX_("7",37,00,00,00),( (unsigned char)(7) ));
+HXDLIN( 256) _g->set(HX_("8",38,00,00,00),( (unsigned char)(8) ));
+HXDLIN( 256) _g->set(HX_("9",39,00,00,00),( (unsigned char)(9) ));
+HXDLIN( 256) _g->set(HX_("*",2a,00,00,00),( (unsigned char)(10) ));
+HXDLIN( 256) _g->set(HX_("#",23,00,00,00),( (unsigned char)(11) ));
+HXDLIN( 256) _g->set(HX_("A",41,00,00,00),( (unsigned char)(12) ));
+HXDLIN( 256) _g->set(HX_("B",42,00,00,00),( (unsigned char)(13) ));
+HXDLIN( 256) _g->set(HX_("C",43,00,00,00),( (unsigned char)(14) ));
+HXDLIN( 256) _g->set(HX_("D",44,00,00,00),( (unsigned char)(15) ));
+HXDLIN( 256) _g->set(HX_("a",61,00,00,00),( (unsigned char)(12) ));
+HXDLIN( 256) _g->set(HX_("b",62,00,00,00),( (unsigned char)(13) ));
+HXDLIN( 256) _g->set(HX_("c",63,00,00,00),( (unsigned char)(14) ));
+HXDLIN( 256) _g->set(HX_("d",64,00,00,00),( (unsigned char)(15) ));
+HXDLIN( 256) return _g;
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+ HX_STACKFRAME(&_hx_pos_cc33c59852415bde_256_boot)
+HXDLIN( 256) TONES = ( ( ::haxe::ds::StringMap)( ::Dynamic(new _hx_Closure_0())()) );
+ }
+}
+
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_snikket/src/snikket/jingle/Group.cpp b/Sources/c_borogove/src/borogove/calls/Group.cpp
similarity index 75%
rename from Sources/c_snikket/src/snikket/jingle/Group.cpp
rename to Sources/c_borogove/src/borogove/calls/Group.cpp
index 244c232..1eb4db1 100644
--- a/Sources/c_snikket/src/snikket/jingle/Group.cpp
+++ b/Sources/c_borogove/src/borogove/calls/Group.cpp
@@ -4,26 +4,23 @@
#ifndef INCLUDED_Reflect
#include <Reflect.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Group
-#include <snikket/jingle/Group.h>
+#ifndef INCLUDED_borogove_calls_Group
+#include <borogove/calls/Group.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_6e388401ddea4c7c_7_new,"snikket.jingle.Group","new",0xb5ca4725,"snikket.jingle.Group.new","snikket/jingle/Group.hx",7,0xb8cb360b)
-HX_LOCAL_STACK_FRAME(_hx_pos_6e388401ddea4c7c_26_toSdp,"snikket.jingle.Group","toSdp",0xed2ebe09,"snikket.jingle.Group.toSdp","snikket/jingle/Group.hx",26,0xb8cb360b)
-HX_LOCAL_STACK_FRAME(_hx_pos_6e388401ddea4c7c_33_toElement,"snikket.jingle.Group","toElement",0x4ca03f06,"snikket.jingle.Group.toElement","snikket/jingle/Group.hx",33,0xb8cb360b)
-HX_LOCAL_STACK_FRAME(_hx_pos_6e388401ddea4c7c_12_parse,"snikket.jingle.Group","parse",0x966b0238,"snikket.jingle.Group.parse","snikket/jingle/Group.hx",12,0xb8cb360b)
-HX_LOCAL_STACK_FRAME(_hx_pos_6e388401ddea4c7c_18_fromElement,"snikket.jingle.Group","fromElement",0x54375637,"snikket.jingle.Group.fromElement","snikket/jingle/Group.hx",18,0xb8cb360b)
-namespace snikket{
-namespace jingle{
+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)
+HX_LOCAL_STACK_FRAME(_hx_pos_014425d322a1c72e_33_toElement,"borogove.calls.Group","toElement",0x2ace2d0c,"borogove.calls.Group.toElement","borogove/calls/Group.hx",33,0xdc1239e7)
+HX_LOCAL_STACK_FRAME(_hx_pos_014425d322a1c72e_12_parse,"borogove.calls.Group","parse",0xf93bf53e,"borogove.calls.Group.parse","borogove/calls/Group.hx",12,0xdc1239e7)
+HX_LOCAL_STACK_FRAME(_hx_pos_014425d322a1c72e_18_fromElement,"borogove.calls.Group","fromElement",0x8c4151bd,"borogove.calls.Group.fromElement","borogove/calls/Group.hx",18,0xdc1239e7)
+namespace borogove{
+namespace calls{
void Group_obj::__construct(::String semantics,::Array< ::String > identificationTags){
- HX_STACKFRAME(&_hx_pos_6e388401ddea4c7c_7_new)
+ HX_STACKFRAME(&_hx_pos_014425d322a1c72e_7_new)
HXLINE( 8) this->semantics = semantics;
HXLINE( 9) this->identificationTags = identificationTags;
}
@@ -40,11 +37,11 @@ Dynamic Group_obj::__Create(::hx::DynamicArray inArgs)
}
bool Group_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x21f1b1d5;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1246df4b;
}
::String Group_obj::toSdp(){
- HX_STACKFRAME(&_hx_pos_6e388401ddea4c7c_26_toSdp)
+ HX_STACKFRAME(&_hx_pos_014425d322a1c72e_26_toSdp)
HXLINE( 27) if ((this->semantics.indexOf(HX_(" ",20,00,00,00),null()) >= 0)) {
HXLINE( 28) HX_STACK_DO_THROW(HX_("Group semantics cannot contain a space in SDP",b2,1d,5a,9b));
}
@@ -55,9 +52,9 @@ HXDLIN( 30) return (_hx_tmp + this->identificationTags->join(HX_(" ",20,00,00,
HX_DEFINE_DYNAMIC_FUNC0(Group_obj,toSdp,return )
- ::snikket::Stanza Group_obj::toElement(){
- HX_GC_STACKFRAME(&_hx_pos_6e388401ddea4c7c_33_toElement)
-HXLINE( 34) ::snikket::Stanza group = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("group",3f,b3,f4,99), ::Dynamic(::hx::Anon_obj::Create(2)
+ ::borogove::Stanza Group_obj::toElement(){
+ 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)));
HXLINE( 35) {
@@ -76,34 +73,34 @@ HXLINE( 38) return group;
HX_DEFINE_DYNAMIC_FUNC0(Group_obj,toElement,return )
- ::snikket::jingle::Group Group_obj::parse(::String input){
- HX_GC_STACKFRAME(&_hx_pos_6e388401ddea4c7c_12_parse)
+ ::borogove::calls::Group Group_obj::parse(::String input){
+ HX_GC_STACKFRAME(&_hx_pos_014425d322a1c72e_12_parse)
HXLINE( 13) ::Array< ::String > segments = input.split(HX_(" ",20,00,00,00));
HXLINE( 14) if ((segments->length < 2)) {
HXLINE( 14) return null();
}
HXLINE( 15) ::String segments1 = segments->__get(0);
-HXDLIN( 15) return ::snikket::jingle::Group_obj::__alloc( HX_CTX ,segments1,segments->slice(1,null()));
+HXDLIN( 15) return ::borogove::calls::Group_obj::__alloc( HX_CTX ,segments1,segments->slice(1,null()));
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Group_obj,parse,return )
- ::snikket::jingle::Group Group_obj::fromElement( ::snikket::Stanza el){
- HX_GC_STACKFRAME(&_hx_pos_6e388401ddea4c7c_18_fromElement)
+ ::borogove::calls::Group Group_obj::fromElement( ::borogove::Stanza el){
+ HX_GC_STACKFRAME(&_hx_pos_014425d322a1c72e_18_fromElement)
HXLINE( 19) ::Array< ::String > idTags = ::Array_obj< ::String >::__new(0);
HXLINE( 20) {
HXLINE( 20) int _g = 0;
HXDLIN( 20) ::Array< ::Dynamic> _g1 = el->allTags(HX_("content",39,8d,77,19),null());
HXDLIN( 20) while((_g < _g1->length)){
-HXLINE( 20) ::snikket::Stanza content = _g1->__get(_g).StaticCast< ::snikket::Stanza >();
+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( 23) return ::snikket::jingle::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 ,( (::String)(::Reflect_obj::field(el->attr,HX_("semantics",ad,54,ab,73))) ),idTags);
}
@@ -117,7 +114,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(Group_obj,fromElement,return )
}
::hx::ObjectPtr< Group_obj > Group_obj::__alloc(::hx::Ctx *_hx_ctx,::String semantics,::Array< ::String > identificationTags) {
- Group_obj *__this = (Group_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Group_obj), true, "snikket.jingle.Group"));
+ Group_obj *__this = (Group_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Group_obj), true, "borogove.calls.Group"));
*(void **)__this = Group_obj::_hx_vtable;
__this->__construct(semantics,identificationTags);
return __this;
@@ -217,7 +214,7 @@ void Group_obj::__register()
Group_obj _hx_dummy;
Group_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.Group",b3,d0,ac,e7);
+ __mClass->mName = HX_("borogove.calls.Group",39,1b,2e,3b);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -235,5 +232,5 @@ void Group_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_snikket/src/snikket/jingle/IceCandidate.cpp b/Sources/c_borogove/src/borogove/calls/IceCandidate.cpp
similarity index 76%
rename from Sources/c_snikket/src/snikket/jingle/IceCandidate.cpp
rename to Sources/c_borogove/src/borogove/calls/IceCandidate.cpp
index 4a054f0..9b5884e 100644
--- a/Sources/c_snikket/src/snikket/jingle/IceCandidate.cpp
+++ b/Sources/c_borogove/src/borogove/calls/IceCandidate.cpp
@@ -7,34 +7,31 @@
#ifndef INCLUDED_Std
#include <Std.h>
#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_calls_IceCandidate
+#include <borogove/calls/IceCandidate.h>
+#endif
#ifndef INCLUDED_haxe_IMap
#include <haxe/IMap.h>
#endif
#ifndef INCLUDED_haxe_ds_StringMap
#include <haxe/ds/StringMap.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_IceCandidate
-#include <snikket/jingle/IceCandidate.h>
-#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_8555847178bd1d0f_507_new,"snikket.jingle.IceCandidate","new",0x23693b76,"snikket.jingle.IceCandidate.new","snikket/jingle/SessionDescription.hx",507,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_8555847178bd1d0f_577_toElement,"snikket.jingle.IceCandidate","toElement",0x6238c617,"snikket.jingle.IceCandidate.toElement","snikket/jingle/SessionDescription.hx",577,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_8555847178bd1d0f_595_toSdp,"snikket.jingle.IceCandidate","toSdp",0x37b0289a,"snikket.jingle.IceCandidate.toSdp","snikket/jingle/SessionDescription.hx",595,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_8555847178bd1d0f_519_fromElement,"snikket.jingle.IceCandidate","fromElement",0x664c8388,"snikket.jingle.IceCandidate.fromElement","snikket/jingle/SessionDescription.hx",519,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_8555847178bd1d0f_541_fromTransport,"snikket.jingle.IceCandidate","fromTransport",0x795eef75,"snikket.jingle.IceCandidate.fromTransport","snikket/jingle/SessionDescription.hx",541,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_8555847178bd1d0f_544_fromStanza,"snikket.jingle.IceCandidate","fromStanza",0xe2cf26a9,"snikket.jingle.IceCandidate.fromStanza","snikket/jingle/SessionDescription.hx",544,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_8555847178bd1d0f_552_parse,"snikket.jingle.IceCandidate","parse",0xe0ec6cc9,"snikket.jingle.IceCandidate.parse","snikket/jingle/SessionDescription.hx",552,0x68af748c)
-namespace snikket{
-namespace jingle{
+HX_DEFINE_STACK_FRAME(_hx_pos_6b21dc0034dfbe4a_507_new,"borogove.calls.IceCandidate","new",0xad6b92b0,"borogove.calls.IceCandidate.new","borogove/calls/SessionDescription.hx",507,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_6b21dc0034dfbe4a_577_toElement,"borogove.calls.IceCandidate","toElement",0x90f344d1,"borogove.calls.IceCandidate.toElement","borogove/calls/SessionDescription.hx",577,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_6b21dc0034dfbe4a_595_toSdp,"borogove.calls.IceCandidate","toSdp",0x08624254,"borogove.calls.IceCandidate.toSdp","borogove/calls/SessionDescription.hx",595,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_6b21dc0034dfbe4a_519_fromElement,"borogove.calls.IceCandidate","fromElement",0x97afa4c2,"borogove.calls.IceCandidate.fromElement","borogove/calls/SessionDescription.hx",519,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_6b21dc0034dfbe4a_541_fromTransport,"borogove.calls.IceCandidate","fromTransport",0x22b8532f,"borogove.calls.IceCandidate.fromTransport","borogove/calls/SessionDescription.hx",541,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_6b21dc0034dfbe4a_544_fromStanza,"borogove.calls.IceCandidate","fromStanza",0x97438aaf,"borogove.calls.IceCandidate.fromStanza","borogove/calls/SessionDescription.hx",544,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_6b21dc0034dfbe4a_552_parse,"borogove.calls.IceCandidate","parse",0xb19e8683,"borogove.calls.IceCandidate.parse","borogove/calls/SessionDescription.hx",552,0xd9f63730)
+namespace borogove{
+namespace calls{
void IceCandidate_obj::__construct(::String sdpMid,::String ufrag,::String foundation,::String component,::String transport,::String priority,::String connectionAddress,::String port, ::haxe::ds::StringMap parameters){
- HX_STACKFRAME(&_hx_pos_8555847178bd1d0f_507_new)
+ HX_STACKFRAME(&_hx_pos_6b21dc0034dfbe4a_507_new)
HXLINE( 508) this->sdpMid = sdpMid;
HXLINE( 509) this->ufrag = ufrag;
HXLINE( 510) this->foundation = foundation;
@@ -58,11 +55,11 @@ Dynamic IceCandidate_obj::__Create(::hx::DynamicArray inArgs)
}
bool IceCandidate_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x5f466786;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x7f8ace04;
}
- ::snikket::Stanza IceCandidate_obj::toElement(){
- HX_GC_STACKFRAME(&_hx_pos_8555847178bd1d0f_577_toElement)
+ ::borogove::Stanza IceCandidate_obj::toElement(){
+ HX_GC_STACKFRAME(&_hx_pos_6b21dc0034dfbe4a_577_toElement)
HXLINE( 579) ::String attrs;
HXDLIN( 579) if (::hx::IsNull( this->parameters->get(HX_("tcptype",5b,73,f8,36)) )) {
HXLINE( 579) attrs = HX_("urn:xmpp:jingle:transports:ice-udp:1",f3,67,4f,53);
@@ -94,29 +91,25 @@ HXLINE( 578) ::Dynamic attrs8 = ::Dynamic(::hx::Anon_obj::Create(8)
->setFixed(6,HX_("generation",98,c0,63,4e),attrs7)
->setFixed(7,HX_("xmlns",dc,31,74,60),attrs));
HXLINE( 588) if (::hx::IsNotNull( this->parameters->get(HX_("typ",4b,6f,58,00)) )) {
-HXLINE( 588) ::String value = this->parameters->get_string(HX_("typ",4b,6f,58,00));
-HXDLIN( 588) ::Reflect_obj::setField(attrs8,HX_("type",ba,f2,08,4d),value);
+HXLINE( 588) ::Reflect_obj::setField(attrs8,HX_("type",ba,f2,08,4d),this->parameters->get(HX_("typ",4b,6f,58,00)));
}
HXLINE( 589) if (::hx::IsNotNull( this->parameters->get(HX_("raddr",a3,0c,18,e4)) )) {
-HXLINE( 589) ::String value1 = this->parameters->get_string(HX_("raddr",a3,0c,18,e4));
-HXDLIN( 589) ::Reflect_obj::setField(attrs8,HX_("rel-addr",e5,a9,6b,38),value1);
+HXLINE( 589) ::Reflect_obj::setField(attrs8,HX_("rel-addr",e5,a9,6b,38),this->parameters->get(HX_("raddr",a3,0c,18,e4)));
}
HXLINE( 590) if (::hx::IsNotNull( this->parameters->get(HX_("rport",f3,a4,0a,ee)) )) {
-HXLINE( 590) ::String value2 = this->parameters->get_string(HX_("rport",f3,a4,0a,ee));
-HXDLIN( 590) ::Reflect_obj::setField(attrs8,HX_("rel-port",35,42,5e,42),value2);
+HXLINE( 590) ::Reflect_obj::setField(attrs8,HX_("rel-port",35,42,5e,42),this->parameters->get(HX_("rport",f3,a4,0a,ee)));
}
HXLINE( 591) if (::hx::IsNotNull( this->parameters->get(HX_("tcptype",5b,73,f8,36)) )) {
-HXLINE( 591) ::String value3 = this->parameters->get_string(HX_("tcptype",5b,73,f8,36));
-HXDLIN( 591) ::Reflect_obj::setField(attrs8,HX_("tcptype",5b,73,f8,36),value3);
+HXLINE( 591) ::Reflect_obj::setField(attrs8,HX_("tcptype",5b,73,f8,36),this->parameters->get(HX_("tcptype",5b,73,f8,36)));
}
-HXLINE( 592) return ::snikket::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);
}
HX_DEFINE_DYNAMIC_FUNC0(IceCandidate_obj,toElement,return )
::String IceCandidate_obj::toSdp(){
- HX_STACKFRAME(&_hx_pos_8555847178bd1d0f_595_toSdp)
+ HX_STACKFRAME(&_hx_pos_6b21dc0034dfbe4a_595_toSdp)
HXLINE( 596) ::String result = (((((((((((HX_("candidate:",97,86,55,ec) + this->foundation) + HX_(" ",20,00,00,00)) + this->component) + HX_(" ",20,00,00,00)) + this->transport) + HX_(" ",20,00,00,00)) + this->priority) + HX_(" ",20,00,00,00)) + this->connectionAddress) + HX_(" ",20,00,00,00)) + this->port);
HXLINE( 604) if (this->parameters->exists(HX_("typ",4b,6f,58,00))) {
HXLINE( 605) result = (result + (HX_(" typ ",95,82,db,b9) + this->parameters->get(HX_("typ",4b,6f,58,00))));
@@ -128,29 +121,27 @@ HXLINE( 610) if (this->parameters->exists(HX_("rport",f3,a4,0a,ee))) {
HXLINE( 611) result = (result + (HX_(" rport ",ed,87,f4,8d) + this->parameters->get(HX_("rport",f3,a4,0a,ee))));
}
HXLINE( 613) {
-HXLINE( 613) ::Dynamic map = this->parameters;
-HXDLIN( 613) ::Dynamic entry_map = map;
-HXDLIN( 613) ::Dynamic entry_keys = ::haxe::IMap_obj::keys(map);
+HXLINE( 613) ::Dynamic this1 = this->parameters;
+HXDLIN( 613) ::Dynamic entry_keys = ::haxe::IMap_obj::keys(this1);
HXDLIN( 613) while(( (bool)(entry_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
HXLINE( 613) ::String key = ( (::String)(entry_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 613) ::String entry_value = ( (::String)(::haxe::IMap_obj::get(entry_map,key)) );
-HXDLIN( 613) ::String entry_key = key;
+HXDLIN( 613) ::String entry_value = ( (::String)(::haxe::IMap_obj::get(this1,key)) );
HXLINE( 614) bool _hx_tmp;
HXDLIN( 614) bool _hx_tmp1;
-HXDLIN( 614) if ((entry_key != HX_("typ",4b,6f,58,00))) {
-HXLINE( 614) _hx_tmp1 = (entry_key != HX_("raddr",a3,0c,18,e4));
+HXDLIN( 614) if ((key != HX_("typ",4b,6f,58,00))) {
+HXLINE( 614) _hx_tmp1 = (key != HX_("raddr",a3,0c,18,e4));
}
else {
HXLINE( 614) _hx_tmp1 = false;
}
HXDLIN( 614) if (_hx_tmp1) {
-HXLINE( 614) _hx_tmp = (entry_key != HX_("rport",f3,a4,0a,ee));
+HXLINE( 614) _hx_tmp = (key != HX_("rport",f3,a4,0a,ee));
}
else {
HXLINE( 614) _hx_tmp = false;
}
HXDLIN( 614) if (_hx_tmp) {
-HXLINE( 615) result = (result + (((HX_(" ",20,00,00,00) + entry_key) + HX_(" ",20,00,00,00)) + entry_value));
+HXLINE( 615) result = (result + (((HX_(" ",20,00,00,00) + key) + HX_(" ",20,00,00,00)) + entry_value));
}
}
}
@@ -160,8 +151,8 @@ HXLINE( 618) return result;
HX_DEFINE_DYNAMIC_FUNC0(IceCandidate_obj,toSdp,return )
- ::snikket::jingle::IceCandidate IceCandidate_obj::fromElement( ::snikket::Stanza candidate,::String sdpMid,::String ufrag){
- HX_GC_STACKFRAME(&_hx_pos_8555847178bd1d0f_519_fromElement)
+ ::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))) ));
@@ -186,14 +177,14 @@ HXLINE( 531) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(candidate->a
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 ::snikket::jingle::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( 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);
}
STATIC_HX_DEFINE_DYNAMIC_FUNC3(IceCandidate_obj,fromElement,return )
-::Array< ::Dynamic> IceCandidate_obj::fromTransport( ::snikket::Stanza transport,::String sdpMid){
- HX_STACKFRAME(&_hx_pos_8555847178bd1d0f_541_fromTransport)
+::Array< ::Dynamic> IceCandidate_obj::fromTransport( ::borogove::Stanza transport,::String sdpMid){
+ HX_STACKFRAME(&_hx_pos_6b21dc0034dfbe4a_541_fromTransport)
HXDLIN( 541) ::Array< ::Dynamic> _this = transport->allTags(HX_("candidate",43,34,d8,d0),null());
HXDLIN( 541) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
HXDLIN( 541) {
@@ -203,8 +194,8 @@ HXDLIN( 541) while((_g < _g1)){
HXDLIN( 541) _g = (_g + 1);
HXDLIN( 541) int i = (_g - 1);
HXDLIN( 541) {
-HXDLIN( 541) ::snikket::Stanza el = ( ( ::snikket::Stanza)(_hx_array_unsafe_get(_this,i)) );
-HXDLIN( 541) ::snikket::jingle::IceCandidate inValue = ::snikket::jingle::IceCandidate_obj::fromElement(el,sdpMid,( (::String)(::Reflect_obj::field(transport->attr,HX_("ufrag",27,78,a4,a1))) ));
+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) result->__unsafe_set(i,inValue);
}
}
@@ -215,29 +206,24 @@ HXDLIN( 541) return result;
STATIC_HX_DEFINE_DYNAMIC_FUNC2(IceCandidate_obj,fromTransport,return )
-::Array< ::Dynamic> IceCandidate_obj::fromStanza( ::snikket::Stanza iq){
- HX_STACKFRAME(&_hx_pos_8555847178bd1d0f_544_fromStanza)
-HXLINE( 545) ::snikket::Stanza jingle = iq->getChild(HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7));
+::Array< ::Dynamic> IceCandidate_obj::fromStanza( ::borogove::Stanza iq){
+ HX_STACKFRAME(&_hx_pos_6b21dc0034dfbe4a_544_fromStanza)
HXLINE( 546) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 546) {
-HXLINE( 546) ::Dynamic x = jingle->allTags(HX_("content",39,8d,77,19),null())->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXLINE( 546) ::Dynamic x = iq->getChild(HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7))->allTags(HX_("content",39,8d,77,19),null())->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
HXDLIN( 546) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 546) ::snikket::Stanza x1 = ( ( ::snikket::Stanza)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXLINE( 547) ::snikket::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(::snikket::jingle::IceCandidate_obj::fromTransport(transport,( (::String)(::Reflect_obj::field(x1->attr,HX_("name",4b,72,ff,48))) )));
+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))) )));
}
}
HXDLIN( 546) ::Array< ::Dynamic> _g1 = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 546) {
HXLINE( 546) ::Dynamic e = _g->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
HXDLIN( 546) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 546) ::Dynamic e1 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXDLIN( 546) {
-HXLINE( 546) ::Dynamic x2 = e1->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 546) while(( (bool)(x2->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 546) ::snikket::jingle::IceCandidate x3 = ( ( ::snikket::jingle::IceCandidate)(x2->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 546) _g1->push(x3);
- }
+HXLINE( 546) ::Dynamic x2 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 546) while(( (bool)(x2->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 546) _g1->push(x2->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
}
}
}
@@ -247,8 +233,8 @@ HXDLIN( 546) return _g1;
STATIC_HX_DEFINE_DYNAMIC_FUNC1(IceCandidate_obj,fromStanza,return )
- ::snikket::jingle::IceCandidate IceCandidate_obj::parse(::String input,::String sdpMid,::String ufrag){
- HX_GC_STACKFRAME(&_hx_pos_8555847178bd1d0f_552_parse)
+ ::borogove::calls::IceCandidate IceCandidate_obj::parse(::String input,::String sdpMid,::String ufrag){
+ HX_GC_STACKFRAME(&_hx_pos_6b21dc0034dfbe4a_552_parse)
HXLINE( 553) if ((input.substr(0,10) == HX_("candidate:",97,86,55,ec))) {
HXLINE( 554) input = input.substr(11,null());
}
@@ -258,8 +244,7 @@ HXLINE( 558) int paramLength = ::Std_obj::_hx_int((( (Float)(paramSegs->length)
HXLINE( 559) ::haxe::ds::StringMap parameters = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
HXLINE( 560) {
HXLINE( 560) int _g = 0;
-HXDLIN( 560) int _g1 = paramLength;
-HXDLIN( 560) while((_g < _g1)){
+HXDLIN( 560) while((_g < paramLength)){
HXLINE( 560) _g = (_g + 1);
HXDLIN( 560) int i = (_g - 1);
HXLINE( 561) parameters->set(paramSegs->__get((i * 2)),paramSegs->__get(((i * 2) + 1)));
@@ -268,7 +253,7 @@ HXLINE( 561) parameters->set(paramSegs->__get((i * 2)),paramSegs->__get(((i *
HXLINE( 563) if (::hx::IsNotNull( ufrag )) {
HXLINE( 563) parameters->set(HX_("ufrag",27,78,a4,a1),ufrag);
}
-HXLINE( 564) return ::snikket::jingle::IceCandidate_obj::__alloc( HX_CTX ,sdpMid,ufrag,segments->__get(0),segments->__get(1),segments->__get(2),segments->__get(3),segments->__get(4),segments->__get(5),parameters);
+HXLINE( 564) return ::borogove::calls::IceCandidate_obj::__alloc( HX_CTX ,sdpMid,ufrag,segments->__get(0),segments->__get(1),segments->__get(2),segments->__get(3),segments->__get(4),segments->__get(5),parameters);
}
@@ -282,7 +267,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC3(IceCandidate_obj,parse,return )
}
::hx::ObjectPtr< IceCandidate_obj > IceCandidate_obj::__alloc(::hx::Ctx *_hx_ctx,::String sdpMid,::String ufrag,::String foundation,::String component,::String transport,::String priority,::String connectionAddress,::String port, ::haxe::ds::StringMap parameters) {
- IceCandidate_obj *__this = (IceCandidate_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(IceCandidate_obj), true, "snikket.jingle.IceCandidate"));
+ IceCandidate_obj *__this = (IceCandidate_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(IceCandidate_obj), true, "borogove.calls.IceCandidate"));
*(void **)__this = IceCandidate_obj::_hx_vtable;
__this->__construct(sdpMid,ufrag,foundation,component,transport,priority,connectionAddress,port,parameters);
return __this;
@@ -457,7 +442,7 @@ void IceCandidate_obj::__register()
IceCandidate_obj _hx_dummy;
IceCandidate_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.IceCandidate",84,08,a5,18);
+ __mClass->mName = HX_("borogove.calls.IceCandidate",be,ba,a8,2c);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -475,5 +460,5 @@ void IceCandidate_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_borogove/src/borogove/calls/IncomingProposedSession.cpp b/Sources/c_borogove/src/borogove/calls/IncomingProposedSession.cpp
new file mode 100644
index 0000000..d9d290e
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/calls/IncomingProposedSession.cpp
@@ -0,0 +1,574 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_Chat
+#include <borogove/Chat.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
+#endif
+#ifndef INCLUDED_borogove_Client
+#include <borogove/Client.h>
+#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
+#endif
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_calls_DTMFSender
+#include <borogove/calls/DTMFSender.h>
+#endif
+#ifndef INCLUDED_borogove_calls_IncomingProposedSession
+#include <borogove/calls/IncomingProposedSession.h>
+#endif
+#ifndef INCLUDED_borogove_calls_InitiatedSession
+#include <borogove/calls/InitiatedSession.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStream
+#include <borogove/calls/MediaStream.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStreamTrack
+#include <borogove/calls/MediaStreamTrack.h>
+#endif
+#ifndef INCLUDED_borogove_calls_Session
+#include <borogove/calls/Session.h>
+#endif
+#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_Log
+#include <haxe/Log.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_8bd69e9bff10ec02_73_new,"borogove.calls.IncomingProposedSession","new",0x1258db76,"borogove.calls.IncomingProposedSession.new","borogove/calls/Session.hx",73,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_87_ring,"borogove.calls.IncomingProposedSession","ring",0xfe0f07da,"borogove.calls.IncomingProposedSession.ring","borogove/calls/Session.hx",87,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_105_hangup,"borogove.calls.IncomingProposedSession","hangup",0x4afe58f7,"borogove.calls.IncomingProposedSession.hangup","borogove/calls/Session.hx",105,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_98_hangup,"borogove.calls.IncomingProposedSession","hangup",0x4afe58f7,"borogove.calls.IncomingProposedSession.hangup","borogove/calls/Session.hx",98,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_113_retract,"borogove.calls.IncomingProposedSession","retract",0x08713017,"borogove.calls.IncomingProposedSession.retract","borogove/calls/Session.hx",113,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_117_terminate,"borogove.calls.IncomingProposedSession","terminate",0xe089b1f7,"borogove.calls.IncomingProposedSession.terminate","borogove/calls/Session.hx",117,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_121_contentAdd,"borogove.calls.IncomingProposedSession","contentAdd",0xc1b58a12,"borogove.calls.IncomingProposedSession.contentAdd","borogove/calls/Session.hx",121,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_125_contentAccept,"borogove.calls.IncomingProposedSession","contentAccept",0x2cffc7b7,"borogove.calls.IncomingProposedSession.contentAccept","borogove/calls/Session.hx",125,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_128_transportInfo,"borogove.calls.IncomingProposedSession","transportInfo",0x02cd3f4d,"borogove.calls.IncomingProposedSession.transportInfo","borogove/calls/Session.hx",128,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_133_accept,"borogove.calls.IncomingProposedSession","accept",0x9e0519b2,"borogove.calls.IncomingProposedSession.accept","borogove/calls/Session.hx",133,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_150_initiate,"borogove.calls.IncomingProposedSession","initiate",0x943c6f83,"borogove.calls.IncomingProposedSession.initiate","borogove/calls/Session.hx",150,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_162_addMedia,"borogove.calls.IncomingProposedSession","addMedia",0xb3c6302d,"borogove.calls.IncomingProposedSession.addMedia","borogove/calls/Session.hx",162,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_167_callStatus,"borogove.calls.IncomingProposedSession","callStatus",0xaf03e21a,"borogove.calls.IncomingProposedSession.callStatus","borogove/calls/Session.hx",167,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_172_audioTracks,"borogove.calls.IncomingProposedSession","audioTracks",0xb3746e14,"borogove.calls.IncomingProposedSession.audioTracks","borogove/calls/Session.hx",172,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_177_videoTracks,"borogove.calls.IncomingProposedSession","videoTracks",0x5d6bd379,"borogove.calls.IncomingProposedSession.videoTracks","borogove/calls/Session.hx",177,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_182_dtmf,"borogove.calls.IncomingProposedSession","dtmf",0xf4d66313,"borogove.calls.IncomingProposedSession.dtmf","borogove/calls/Session.hx",182,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_186_get_sid,"borogove.calls.IncomingProposedSession","get_sid",0x3283b5bb,"borogove.calls.IncomingProposedSession.get_sid","borogove/calls/Session.hx",186,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_190_get_chatId,"borogove.calls.IncomingProposedSession","get_chatId",0x25d69846,"borogove.calls.IncomingProposedSession.get_chatId","borogove/calls/Session.hx",190,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_73_boot,"borogove.calls.IncomingProposedSession","boot",0xf3802c5c,"borogove.calls.IncomingProposedSession.boot","borogove/calls/Session.hx",73,0x33a79030)
+namespace borogove{
+namespace calls{
+
+void IncomingProposedSession_obj::__construct( ::borogove::Client client, ::borogove::JID from,::String sid){
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_73_new)
+HXLINE( 79) this->accepted = false;
+HXLINE( 82) this->client = client;
+HXLINE( 83) this->from = from;
+HXLINE( 84) this->_sid = sid;
+ }
+
+Dynamic IncomingProposedSession_obj::__CreateEmpty() { return new IncomingProposedSession_obj; }
+
+void *IncomingProposedSession_obj::_hx_vtable = 0;
+
+Dynamic IncomingProposedSession_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< IncomingProposedSession_obj > _hx_result = new IncomingProposedSession_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2]);
+ return _hx_result;
+}
+
+bool IncomingProposedSession_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x260dc3de;
+}
+
+static ::borogove::calls::Session_obj _hx_borogove_calls_IncomingProposedSession__hx_borogove_calls_Session= {
+ ( ::String (::hx::Object::*)())&::borogove::calls::IncomingProposedSession_obj::get_sid,
+ ( ::String (::hx::Object::*)())&::borogove::calls::IncomingProposedSession_obj::get_chatId,
+ ( ::borogove::calls::InitiatedSession (::hx::Object::*)( ::borogove::Stanza))&::borogove::calls::IncomingProposedSession_obj::initiate,
+ ( void (::hx::Object::*)())&::borogove::calls::IncomingProposedSession_obj::accept,
+ ( void (::hx::Object::*)())&::borogove::calls::IncomingProposedSession_obj::hangup,
+ ( void (::hx::Object::*)())&::borogove::calls::IncomingProposedSession_obj::retract,
+ ( void (::hx::Object::*)())&::borogove::calls::IncomingProposedSession_obj::terminate,
+ ( void (::hx::Object::*)( ::borogove::Stanza))&::borogove::calls::IncomingProposedSession_obj::contentAdd,
+ ( void (::hx::Object::*)( ::borogove::Stanza))&::borogove::calls::IncomingProposedSession_obj::contentAccept,
+ ( ::Dynamic (::hx::Object::*)( ::borogove::Stanza))&::borogove::calls::IncomingProposedSession_obj::transportInfo,
+ ( void (::hx::Object::*)(::Array< ::Dynamic>))&::borogove::calls::IncomingProposedSession_obj::addMedia,
+ ( int (::hx::Object::*)())&::borogove::calls::IncomingProposedSession_obj::callStatus,
+ ( ::Array< ::Dynamic> (::hx::Object::*)())&::borogove::calls::IncomingProposedSession_obj::audioTracks,
+ ( ::Array< ::Dynamic> (::hx::Object::*)())&::borogove::calls::IncomingProposedSession_obj::videoTracks,
+ ( ::borogove::calls::DTMFSender (::hx::Object::*)())&::borogove::calls::IncomingProposedSession_obj::dtmf,
+};
+
+void *IncomingProposedSession_obj::_hx_getInterface(int inHash) {
+ switch(inHash) {
+ case (int)0x36e3eba2: return &_hx_borogove_calls_IncomingProposedSession__hx_borogove_calls_Session;
+ }
+ #ifdef HXCPP_SCRIPTABLE
+ return super::_hx_getInterface(inHash);
+ #else
+ return 0;
+ #endif
+}
+
+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_93_ring)
+HXLINE( 93) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_87_ring)
+HXDLIN( 87) ::borogove::calls::IncomingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 90) ::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( 91) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->from,this->client->jid,event);
+HXLINE( 92) ::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( 95) 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))));
+ }
+
+
+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_105_hangup)
+HXLINE( 105) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_98_hangup)
+HXDLIN( 98) ::borogove::calls::IncomingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 102) ::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( 103) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->from,this->client->jid,event);
+HXLINE( 104) ::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( 107) {
+HXLINE( 107) ::borogove::Client tmp = this->client;
+HXDLIN( 107) ::borogove::Chat tmp1 = tmp->getChat(this->get_chatId());
+HXDLIN( 107) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 107) ::Dynamic this1 = tmp1->jingleSessions;
+HXDLIN( 107) ( ( ::haxe::ds::StringMap)(this1) )->remove(this->get_sid());
+ }
+ }
+HXLINE( 108) ::borogove::Client _hx_tmp = this->client;
+HXDLIN( 108) ::String _hx_tmp1 = this->get_chatId();
+HXDLIN( 108) _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())));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,hangup,(void))
+
+void IncomingProposedSession_obj::retract(){
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_113_retract)
+HXDLIN( 113) ::borogove::Client _hx_tmp = this->client;
+HXDLIN( 113) ::String _hx_tmp1 = this->get_chatId();
+HXDLIN( 113) _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())));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,retract,(void))
+
+void IncomingProposedSession_obj::terminate(){
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_117_terminate)
+HXDLIN( 117) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 117) ::String _hx_tmp1 = (HX_("Tried to terminate before session-initiate: ",a9,d4,f3,a4) + this->get_sid());
+HXDLIN( 117) _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),117)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,terminate,(void))
+
+void IncomingProposedSession_obj::contentAdd( ::borogove::Stanza _){
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_121_contentAdd)
+HXDLIN( 121) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 121) ::String _hx_tmp1 = (HX_("Got content-add before session-initiate: ",10,d3,fa,8a) + this->get_sid());
+HXDLIN( 121) _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),121)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(IncomingProposedSession_obj,contentAdd,(void))
+
+void IncomingProposedSession_obj::contentAccept( ::borogove::Stanza _){
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_125_contentAccept)
+HXDLIN( 125) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 125) ::String _hx_tmp1 = (HX_("Got content-accept before session-initiate: ",47,72,87,71) + this->get_sid());
+HXDLIN( 125) _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),125)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(IncomingProposedSession_obj,contentAccept,(void))
+
+::Dynamic IncomingProposedSession_obj::transportInfo( ::borogove::Stanza _){
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_128_transportInfo)
+HXLINE( 129) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 129) ::String _hx_tmp1 = (HX_("Got transport-info before session-initiate: ",bd,bd,9d,08) + this->get_sid());
+HXDLIN( 129) _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),129)));
+HXLINE( 130) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+
+
+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_139_accept)
+HXLINE( 140) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
+HXLINE( 141) ::borogove::Client _gthis1 = _gthis->client;
+HXLINE( 142) ::String _hx_tmp = _gthis->from->asString();
+HXLINE( 141) _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)))));
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_133_accept)
+HXDLIN( 133) ::borogove::calls::IncomingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 134) if (this->accepted) {
+HXLINE( 134) return;
+ }
+HXLINE( 135) this->accepted = true;
+HXLINE( 136) ::borogove::Client _hx_tmp = this->client;
+HXDLIN( 136) _hx_tmp->sendPresence(this->from->asString(),null());
+HXLINE( 137) ::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( 138) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->from,this->client->jid,event);
+HXLINE( 139) ::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_150_initiate)
+HXLINE( 152) ::borogove::calls::InitiatedSession session = ::borogove::calls::InitiatedSession_obj::fromSessionInitiate(this->client,stanza);
+HXLINE( 153) ::String _hx_tmp = session->get_sid();
+HXDLIN( 153) if ((_hx_tmp != this->get_sid())) {
+HXLINE( 153) HX_STACK_DO_THROW(HX_("id mismatch",33,05,74,bd));
+ }
+HXLINE( 154) if (!(this->accepted)) {
+HXLINE( 154) HX_STACK_DO_THROW(HX_("trying to initiate unaccepted session",b1,34,34,a4));
+ }
+HXLINE( 155) session->accept();
+HXLINE( 156) 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( 157) return session;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(IncomingProposedSession_obj,initiate,return )
+
+void IncomingProposedSession_obj::addMedia(::Array< ::Dynamic> _){
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_162_addMedia)
+HXDLIN( 162) 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_167_callStatus)
+HXDLIN( 167) return 1;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,callStatus,return )
+
+::Array< ::Dynamic> IncomingProposedSession_obj::audioTracks(){
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_172_audioTracks)
+HXDLIN( 172) return ::Array_obj< ::Dynamic>::__new(0);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,audioTracks,return )
+
+::Array< ::Dynamic> IncomingProposedSession_obj::videoTracks(){
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_177_videoTracks)
+HXDLIN( 177) 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_182_dtmf)
+HXDLIN( 182) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,dtmf,return )
+
+::String IncomingProposedSession_obj::get_sid(){
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_186_get_sid)
+HXDLIN( 186) return this->_sid;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,get_sid,return )
+
+::String IncomingProposedSession_obj::get_chatId(){
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_190_get_chatId)
+HXDLIN( 190) return this->from->asBare()->asString();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,get_chatId,return )
+
+
+::hx::ObjectPtr< IncomingProposedSession_obj > IncomingProposedSession_obj::__new( ::borogove::Client client, ::borogove::JID from,::String sid) {
+ ::hx::ObjectPtr< IncomingProposedSession_obj > __this = new IncomingProposedSession_obj();
+ __this->__construct(client,from,sid);
+ return __this;
+}
+
+::hx::ObjectPtr< IncomingProposedSession_obj > IncomingProposedSession_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::JID from,::String sid) {
+ IncomingProposedSession_obj *__this = (IncomingProposedSession_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(IncomingProposedSession_obj), true, "borogove.calls.IncomingProposedSession"));
+ *(void **)__this = IncomingProposedSession_obj::_hx_vtable;
+ __this->__construct(client,from,sid);
+ return __this;
+}
+
+IncomingProposedSession_obj::IncomingProposedSession_obj()
+{
+}
+
+void IncomingProposedSession_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(IncomingProposedSession);
+ HX_MARK_MEMBER_NAME(sid,"sid");
+ HX_MARK_MEMBER_NAME(chatId,"chatId");
+ HX_MARK_MEMBER_NAME(client,"client");
+ HX_MARK_MEMBER_NAME(from,"from");
+ HX_MARK_MEMBER_NAME(_sid,"_sid");
+ HX_MARK_MEMBER_NAME(accepted,"accepted");
+ HX_MARK_END_CLASS();
+}
+
+void IncomingProposedSession_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(sid,"sid");
+ HX_VISIT_MEMBER_NAME(chatId,"chatId");
+ HX_VISIT_MEMBER_NAME(client,"client");
+ HX_VISIT_MEMBER_NAME(from,"from");
+ HX_VISIT_MEMBER_NAME(_sid,"_sid");
+ HX_VISIT_MEMBER_NAME(accepted,"accepted");
+}
+
+::hx::Val IncomingProposedSession_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"sid") ) { return ::hx::Val( inCallProp == ::hx::paccAlways ? get_sid() : sid ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"from") ) { return ::hx::Val( from ); }
+ if (HX_FIELD_EQ(inName,"_sid") ) { return ::hx::Val( _sid ); }
+ if (HX_FIELD_EQ(inName,"ring") ) { return ::hx::Val( ring_dyn() ); }
+ if (HX_FIELD_EQ(inName,"dtmf") ) { return ::hx::Val( dtmf_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( inCallProp == ::hx::paccAlways ? get_chatId() : chatId ); }
+ if (HX_FIELD_EQ(inName,"client") ) { return ::hx::Val( client ); }
+ if (HX_FIELD_EQ(inName,"hangup") ) { return ::hx::Val( hangup_dyn() ); }
+ if (HX_FIELD_EQ(inName,"accept") ) { return ::hx::Val( accept_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"retract") ) { return ::hx::Val( retract_dyn() ); }
+ if (HX_FIELD_EQ(inName,"get_sid") ) { return ::hx::Val( get_sid_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"accepted") ) { return ::hx::Val( accepted ); }
+ if (HX_FIELD_EQ(inName,"initiate") ) { return ::hx::Val( initiate_dyn() ); }
+ if (HX_FIELD_EQ(inName,"addMedia") ) { return ::hx::Val( addMedia_dyn() ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"terminate") ) { return ::hx::Val( terminate_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"contentAdd") ) { return ::hx::Val( contentAdd_dyn() ); }
+ if (HX_FIELD_EQ(inName,"callStatus") ) { return ::hx::Val( callStatus_dyn() ); }
+ if (HX_FIELD_EQ(inName,"get_chatId") ) { return ::hx::Val( get_chatId_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"audioTracks") ) { return ::hx::Val( audioTracks_dyn() ); }
+ if (HX_FIELD_EQ(inName,"videoTracks") ) { return ::hx::Val( videoTracks_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"contentAccept") ) { return ::hx::Val( contentAccept_dyn() ); }
+ if (HX_FIELD_EQ(inName,"transportInfo") ) { return ::hx::Val( transportInfo_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val IncomingProposedSession_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"sid") ) { sid=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"from") ) { from=inValue.Cast< ::borogove::JID >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"_sid") ) { _sid=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"chatId") ) { chatId=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"client") ) { client=inValue.Cast< ::borogove::Client >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"accepted") ) { accepted=inValue.Cast< bool >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void IncomingProposedSession_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("sid",0e,9f,57,00));
+ outFields->push(HX_("chatId",d3,04,77,b7));
+ outFields->push(HX_("client",4b,ca,4f,0a));
+ outFields->push(HX_("from",6a,a5,c2,43));
+ outFields->push(HX_("_sid",0f,e4,22,3f));
+ outFields->push(HX_("accepted",67,bd,17,c8));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo IncomingProposedSession_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(IncomingProposedSession_obj,sid),HX_("sid",0e,9f,57,00)},
+ {::hx::fsString,(int)offsetof(IncomingProposedSession_obj,chatId),HX_("chatId",d3,04,77,b7)},
+ {::hx::fsObject /* ::borogove::Client */ ,(int)offsetof(IncomingProposedSession_obj,client),HX_("client",4b,ca,4f,0a)},
+ {::hx::fsObject /* ::borogove::JID */ ,(int)offsetof(IncomingProposedSession_obj,from),HX_("from",6a,a5,c2,43)},
+ {::hx::fsString,(int)offsetof(IncomingProposedSession_obj,_sid),HX_("_sid",0f,e4,22,3f)},
+ {::hx::fsBool,(int)offsetof(IncomingProposedSession_obj,accepted),HX_("accepted",67,bd,17,c8)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *IncomingProposedSession_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String IncomingProposedSession_obj_sMemberFields[] = {
+ HX_("sid",0e,9f,57,00),
+ HX_("chatId",d3,04,77,b7),
+ HX_("client",4b,ca,4f,0a),
+ HX_("from",6a,a5,c2,43),
+ HX_("_sid",0f,e4,22,3f),
+ HX_("accepted",67,bd,17,c8),
+ HX_("ring",b0,5f,aa,4b),
+ HX_("hangup",4d,d2,ff,b7),
+ HX_("retract",01,e2,b9,fc),
+ HX_("terminate",61,32,d2,fd),
+ HX_("contentAdd",68,66,dd,43),
+ HX_("contentAccept",21,c5,01,e1),
+ HX_("transportInfo",b7,3c,cf,b6),
+ HX_("accept",08,93,06,0b),
+ HX_("initiate",59,6a,8f,5f),
+ HX_("addMedia",03,2b,19,7f),
+ HX_("callStatus",70,be,2b,31),
+ HX_("audioTracks",fe,5c,2d,14),
+ HX_("videoTracks",63,c2,24,be),
+ HX_("dtmf",e9,ba,71,42),
+ HX_("get_sid",a5,67,cc,26),
+ HX_("get_chatId",9c,74,fe,a7),
+ ::String(null()) };
+
+::hx::Class IncomingProposedSession_obj::__mClass;
+
+void IncomingProposedSession_obj::__register()
+{
+ IncomingProposedSession_obj _hx_dummy;
+ IncomingProposedSession_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.calls.IncomingProposedSession",84,a8,44,af);
+ __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(IncomingProposedSession_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< IncomingProposedSession_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = IncomingProposedSession_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = IncomingProposedSession_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void IncomingProposedSession_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_73_boot)
+HXDLIN( 73) __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())))
+ ->setFixed(1,HX_("audioTracks",fe,5c,2d,14), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(2,HX_("callStatus",70,be,2b,31), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(3,HX_("dtmf",e9,ba,71,42), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(4,HX_("addMedia",03,2b,19,7f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
+ }
+}
+
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_borogove/src/borogove/calls/InitiatedSession.cpp b/Sources/c_borogove/src/borogove/calls/InitiatedSession.cpp
new file mode 100644
index 0000000..2733104
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/calls/InitiatedSession.cpp
@@ -0,0 +1,1769 @@
+// 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_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.h>
+#endif
+#ifndef INCLUDED_borogove_Caps
+#include <borogove/Caps.h>
+#endif
+#ifndef INCLUDED_borogove_Chat
+#include <borogove/Chat.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
+#endif
+#ifndef INCLUDED_borogove_Client
+#include <borogove/Client.h>
+#endif
+#ifndef INCLUDED_borogove_DirectChat
+#include <borogove/DirectChat.h>
+#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
+#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
+#endif
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_calls_Attribute
+#include <borogove/calls/Attribute.h>
+#endif
+#ifndef INCLUDED_borogove_calls_DTMFSender
+#include <borogove/calls/DTMFSender.h>
+#endif
+#ifndef INCLUDED_borogove_calls_IceCandidate
+#include <borogove/calls/IceCandidate.h>
+#endif
+#ifndef INCLUDED_borogove_calls_InitiatedSession
+#include <borogove/calls/InitiatedSession.h>
+#endif
+#ifndef INCLUDED_borogove_calls_Media
+#include <borogove/calls/Media.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStream
+#include <borogove/calls/MediaStream.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStreamTrack
+#include <borogove/calls/MediaStreamTrack.h>
+#endif
+#ifndef INCLUDED_borogove_calls_OutgoingSession
+#include <borogove/calls/OutgoingSession.h>
+#endif
+#ifndef INCLUDED_borogove_calls_PeerConnection
+#include <borogove/calls/PeerConnection.h>
+#endif
+#ifndef INCLUDED_borogove_calls_Session
+#include <borogove/calls/Session.h>
+#endif
+#ifndef INCLUDED_borogove_calls_SessionDescription
+#include <borogove/calls/SessionDescription.h>
+#endif
+#ifndef INCLUDED_borogove_calls_TransportInfo
+#include <borogove/calls/TransportInfo.h>
+#endif
+#ifndef INCLUDED_borogove_calls__Session_Session_Fields_
+#include <borogove/calls/_Session/Session_Fields_.h>
+#endif
+#ifndef INCLUDED_cpp_Int64Map
+#include <cpp/Int64Map.h>
+#endif
+#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
+#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_7acc2c8020739c2c_329_new,"borogove.calls.InitiatedSession","new",0x27873263,"borogove.calls.InitiatedSession.new","borogove/calls/Session.hx",329,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_a639e4155ff9c820_371_sid__fromC,"borogove.calls.InitiatedSession","sid__fromC",0x1f8d2388,"borogove.calls.InitiatedSession.sid__fromC","HaxeCBridge.hx",371,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a639e4155ff9c820_371_chatId__fromC,"borogove.calls.InitiatedSession","chatId__fromC",0x814f1fc9,"borogove.calls.InitiatedSession.chatId__fromC","HaxeCBridge.hx",371,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_369_get_sid,"borogove.calls.InitiatedSession","get_sid",0x628c8728,"borogove.calls.InitiatedSession.get_sid","borogove/calls/Session.hx",369,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_373_get_chatId,"borogove.calls.InitiatedSession","get_chatId",0x1872a8f9,"borogove.calls.InitiatedSession.get_chatId","borogove/calls/Session.hx",373,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_378_ring,"borogove.calls.InitiatedSession","ring",0x716cc04d,"borogove.calls.InitiatedSession.ring","borogove/calls/Session.hx",378,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_383_retract,"borogove.calls.InitiatedSession","retract",0x387a0184,"borogove.calls.InitiatedSession.retract","borogove/calls/Session.hx",383,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_389_accept,"borogove.calls.InitiatedSession","accept",0xee9814e5,"borogove.calls.InitiatedSession.accept","borogove/calls/Session.hx",389,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_390_accept,"borogove.calls.InitiatedSession","accept",0xee9814e5,"borogove.calls.InitiatedSession.accept","borogove/calls/Session.hx",390,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_386_accept,"borogove.calls.InitiatedSession","accept",0xee9814e5,"borogove.calls.InitiatedSession.accept","borogove/calls/Session.hx",386,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_394_hangup,"borogove.calls.InitiatedSession","hangup",0x9b91542a,"borogove.calls.InitiatedSession.hangup","borogove/calls/Session.hx",394,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_405_initiate,"borogove.calls.InitiatedSession","initiate",0x6beadd76,"borogove.calls.InitiatedSession.initiate","borogove/calls/Session.hx",405,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_426_terminate,"borogove.calls.InitiatedSession","terminate",0xc17b78a4,"borogove.calls.InitiatedSession.terminate","borogove/calls/Session.hx",426,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_411_terminate,"borogove.calls.InitiatedSession","terminate",0xc17b78a4,"borogove.calls.InitiatedSession.terminate","borogove/calls/Session.hx",411,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_461_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",461,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_454_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",454,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_453_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",453,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_438_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",438,0x33a79030)
+static const bool _hx_array_data_ac07c4f1_23[] = {
+ 0,
+};
+static const bool _hx_array_data_ac07c4f1_24[] = {
+ 0,
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_445_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",445,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_477_contentAccept,"borogove.calls.InitiatedSession","contentAccept",0xcd9ee8e4,"borogove.calls.InitiatedSession.contentAccept","borogove/calls/Session.hx",477,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_504_transportInfo,"borogove.calls.InitiatedSession","transportInfo",0xa36c607a,"borogove.calls.InitiatedSession.transportInfo","borogove/calls/Session.hx",504,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_490_transportInfo,"borogove.calls.InitiatedSession","transportInfo",0xa36c607a,"borogove.calls.InitiatedSession.transportInfo","borogove/calls/Session.hx",490,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_507_addMedia,"borogove.calls.InitiatedSession","addMedia",0x8b749e20,"borogove.calls.InitiatedSession.addMedia","borogove/calls/Session.hx",507,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_a639e4155ff9c820_315_addMedia__fromC,"borogove.calls.InitiatedSession","addMedia__fromC",0x44b5d659,"borogove.calls.InitiatedSession.addMedia__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_521_callStatus,"borogove.calls.InitiatedSession","callStatus",0xa19ff2cd,"borogove.calls.InitiatedSession.callStatus","borogove/calls/Session.hx",521,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_530_audioTracks,"borogove.calls.InitiatedSession","audioTracks",0x0966fa01,"borogove.calls.InitiatedSession.audioTracks","borogove/calls/Session.hx",530,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_a639e4155ff9c820_311_audioTracks__fromC,"borogove.calls.InitiatedSession","audioTracks__fromC",0x7ceb2898,"borogove.calls.InitiatedSession.audioTracks__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_537_videoTracks,"borogove.calls.InitiatedSession","videoTracks",0xb35e5f66,"borogove.calls.InitiatedSession.videoTracks","borogove/calls/Session.hx",537,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_a639e4155ff9c820_311_videoTracks__fromC,"borogove.calls.InitiatedSession","videoTracks__fromC",0x87c169d3,"borogove.calls.InitiatedSession.videoTracks__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_546_dtmf,"borogove.calls.InitiatedSession","dtmf",0x68341b86,"borogove.calls.InitiatedSession.dtmf","borogove/calls/Session.hx",546,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_544_dtmf,"borogove.calls.InitiatedSession","dtmf",0x68341b86,"borogove.calls.InitiatedSession.dtmf","borogove/calls/Session.hx",544,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_561_sendIceCandidate,"borogove.calls.InitiatedSession","sendIceCandidate",0xc418ccfd,"borogove.calls.InitiatedSession.sendIceCandidate","borogove/calls/Session.hx",561,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_551_sendIceCandidate,"borogove.calls.InitiatedSession","sendIceCandidate",0xc418ccfd,"borogove.calls.InitiatedSession.sendIceCandidate","borogove/calls/Session.hx",551,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_574_sendIceCandidate,"borogove.calls.InitiatedSession","sendIceCandidate",0xc418ccfd,"borogove.calls.InitiatedSession.sendIceCandidate","borogove/calls/Session.hx",574,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_586_supplyMedia,"borogove.calls.InitiatedSession","supplyMedia",0x9002a938,"borogove.calls.InitiatedSession.supplyMedia","borogove/calls/Session.hx",586,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_594_supplyMedia,"borogove.calls.InitiatedSession","supplyMedia",0x9002a938,"borogove.calls.InitiatedSession.supplyMedia","borogove/calls/Session.hx",594,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_585_supplyMedia,"borogove.calls.InitiatedSession","supplyMedia",0x9002a938,"borogove.calls.InitiatedSession.supplyMedia","borogove/calls/Session.hx",585,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_a639e4155ff9c820_315_supplyMedia__fromC,"borogove.calls.InitiatedSession","supplyMedia__fromC",0x9589de41,"borogove.calls.InitiatedSession.supplyMedia__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_612_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",612,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_614_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",614,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_618_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",618,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_609_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",609,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_604_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",604,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_635_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",635,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_640_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",640,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_639_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",639,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_643_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",643,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_638_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",638,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_634_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",634,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_679_onPeerConnection,"borogove.calls.InitiatedSession","onPeerConnection",0xb35109fc,"borogove.calls.InitiatedSession.onPeerConnection","borogove/calls/Session.hx",679,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_685_onPeerConnection,"borogove.calls.InitiatedSession","onPeerConnection",0xb35109fc,"borogove.calls.InitiatedSession.onPeerConnection","borogove/calls/Session.hx",685,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_686_onPeerConnection,"borogove.calls.InitiatedSession","onPeerConnection",0xb35109fc,"borogove.calls.InitiatedSession.onPeerConnection","borogove/calls/Session.hx",686,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_677_onPeerConnection,"borogove.calls.InitiatedSession","onPeerConnection",0xb35109fc,"borogove.calls.InitiatedSession.onPeerConnection","borogove/calls/Session.hx",677,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_356_fromSessionInitiate,"borogove.calls.InitiatedSession","fromSessionInitiate",0xba506588,"borogove.calls.InitiatedSession.fromSessionInitiate","borogove/calls/Session.hx",356,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_329_boot,"borogove.calls.InitiatedSession","boot",0x66dde4cf,"borogove.calls.InitiatedSession.boot","borogove/calls/Session.hx",329,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_329_new)
+HXLINE( 344) this->candidatesDone = null();
+HXLINE( 342) this->afterMedia = null();
+HXLINE( 341) this->accepted = false;
+HXLINE( 340) this->queuedOutboundCandidate = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 339) this->queuedInboundTransportInfo = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 338) this->peerDtlsSetup = HX_("actpass",23,e7,c3,6b);
+HXLINE( 337) this->pc = null();
+HXLINE( 336) this->localDescription = null();
+HXLINE( 335) this->remoteDescription = null();
+HXLINE( 348) this->client = client;
+HXLINE( 349) this->counterpart = counterpart;
+HXLINE( 350) this->_sid = sid;
+HXLINE( 351) this->remoteDescription = remoteDescription;
+HXLINE( 352) this->initiator = ::hx::IsNull( remoteDescription );
+ }
+
+Dynamic InitiatedSession_obj::__CreateEmpty() { return new InitiatedSession_obj; }
+
+void *InitiatedSession_obj::_hx_vtable = 0;
+
+Dynamic InitiatedSession_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< InitiatedSession_obj > _hx_result = new InitiatedSession_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3]);
+ return _hx_result;
+}
+
+bool InitiatedSession_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2341c257;
+}
+
+static ::borogove::calls::Session_obj _hx_borogove_calls_InitiatedSession__hx_borogove_calls_Session= {
+ ( ::String (::hx::Object::*)())&::borogove::calls::InitiatedSession_obj::get_sid,
+ ( ::String (::hx::Object::*)())&::borogove::calls::InitiatedSession_obj::get_chatId,
+ ( ::borogove::calls::InitiatedSession (::hx::Object::*)( ::borogove::Stanza))&::borogove::calls::InitiatedSession_obj::initiate_151962fb,
+ ( void (::hx::Object::*)())&::borogove::calls::InitiatedSession_obj::accept,
+ ( void (::hx::Object::*)())&::borogove::calls::InitiatedSession_obj::hangup,
+ ( void (::hx::Object::*)())&::borogove::calls::InitiatedSession_obj::retract,
+ ( void (::hx::Object::*)())&::borogove::calls::InitiatedSession_obj::terminate,
+ ( void (::hx::Object::*)( ::borogove::Stanza))&::borogove::calls::InitiatedSession_obj::contentAdd,
+ ( void (::hx::Object::*)( ::borogove::Stanza))&::borogove::calls::InitiatedSession_obj::contentAccept,
+ ( ::Dynamic (::hx::Object::*)( ::borogove::Stanza))&::borogove::calls::InitiatedSession_obj::transportInfo,
+ ( void (::hx::Object::*)(::Array< ::Dynamic>))&::borogove::calls::InitiatedSession_obj::addMedia,
+ ( int (::hx::Object::*)())&::borogove::calls::InitiatedSession_obj::callStatus,
+ ( ::Array< ::Dynamic> (::hx::Object::*)())&::borogove::calls::InitiatedSession_obj::audioTracks,
+ ( ::Array< ::Dynamic> (::hx::Object::*)())&::borogove::calls::InitiatedSession_obj::videoTracks,
+ ( ::borogove::calls::DTMFSender (::hx::Object::*)())&::borogove::calls::InitiatedSession_obj::dtmf,
+};
+
+ ::borogove::calls::InitiatedSession InitiatedSession_obj::initiate_151962fb( ::borogove::Stanza stanza) {
+ return initiate(stanza);
+}
+void *InitiatedSession_obj::_hx_getInterface(int inHash) {
+ switch(inHash) {
+ case (int)0x36e3eba2: return &_hx_borogove_calls_InitiatedSession__hx_borogove_calls_Session;
+ }
+ #ifdef HXCPP_SCRIPTABLE
+ return super::_hx_getInterface(inHash);
+ #else
+ return 0;
+ #endif
+}
+
+::String InitiatedSession_obj::sid__fromC(){
+ HX_STACKFRAME(&_hx_pos_a639e4155ff9c820_371_sid__fromC)
+HXDLIN( 371) return this->get_sid();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,sid__fromC,return )
+
+::String InitiatedSession_obj::chatId__fromC(){
+ HX_STACKFRAME(&_hx_pos_a639e4155ff9c820_371_chatId__fromC)
+HXDLIN( 371) return this->get_chatId();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,chatId__fromC,return )
+
+::String InitiatedSession_obj::get_sid(){
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_369_get_sid)
+HXDLIN( 369) return this->_sid;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,get_sid,return )
+
+::String InitiatedSession_obj::get_chatId(){
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_373_get_chatId)
+HXDLIN( 373) return this->counterpart->asBare()->asString();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,get_chatId,return )
+
+void InitiatedSession_obj::ring(){
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_378_ring)
+HXDLIN( 378) 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))));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,ring,(void))
+
+void InitiatedSession_obj::retract(){
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_383_retract)
+HXDLIN( 383) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 383) ::String _hx_tmp1 = (HX_("Tried to retract session in wrong state: ",e1,1c,0c,db) + this->get_sid());
+HXDLIN( 383) _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),383)));
+ }
+
+
+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_389_accept)
+HXLINE( 389) 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_390_accept)
+HXLINE( 390) return (m->media == HX_("video",7b,14,fc,36));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_386_accept)
+HXLINE( 387) bool _hx_tmp;
+HXDLIN( 387) if (!(this->accepted)) {
+HXLINE( 387) _hx_tmp = ::hx::IsNull( this->remoteDescription );
+ }
+ else {
+HXLINE( 387) _hx_tmp = true;
+ }
+HXDLIN( 387) if (_hx_tmp) {
+HXLINE( 387) return;
+ }
+HXLINE( 388) this->accepted = true;
+HXLINE( 389) bool audio = ::hx::IsNotNull( ::Lambda_obj::find(this->remoteDescription->media, ::Dynamic(new _hx_Closure_0())) );
+HXLINE( 390) bool video = ::hx::IsNotNull( ::Lambda_obj::find(this->remoteDescription->media, ::Dynamic(new _hx_Closure_1())) );
+HXLINE( 391) 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)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,accept,(void))
+
+void InitiatedSession_obj::hangup(){
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_394_hangup)
+HXLINE( 395) ::borogove::Client _hx_tmp = this->client;
+HXLINE( 396) ::String _hx_tmp1 = this->counterpart->asString();
+HXDLIN( 396) ::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),::borogove::ID_obj::medium())
+ ->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( 395) _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( 401) this->terminate();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,hangup,(void))
+
+ ::borogove::calls::OutgoingSession InitiatedSession_obj::initiate( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_405_initiate)
+HXLINE( 406) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 406) ::String _hx_tmp1 = (HX_("Trying to initiate already initiated session: ",84,56,c8,79) + this->get_sid());
+HXDLIN( 406) _hx_tmp(_hx_tmp1,::hx::SourceInfo(HX_("borogove/calls/Session.hx",30,90,a7,33),406,HX_("borogove.calls.InitiatedSession",f1,c4,07,ac),HX_("initiate",59,6a,8f,5f)));
+HXLINE( 407) HX_STACK_DO_THROW(HX_("already initiated",63,a5,36,1a));
+HXDLIN( 407) return null();
+ }
+
+
+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_426_terminate)
+HXLINE( 427) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
+HXLINE( 428) ::borogove::Client _gthis1 = _gthis->client;
+HXLINE( 429) ::String _hx_tmp = _gthis->counterpart->asString();
+HXLINE( 428) _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)))));
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_411_terminate)
+HXDLIN( 411) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 412) ::borogove::Client _hx_tmp = this->client;
+HXDLIN( 412) ::String _hx_tmp1 = this->get_chatId();
+HXDLIN( 412) _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( 414) if (::hx::IsNull( this->pc )) {
+HXLINE( 414) return;
+ }
+HXLINE( 415) ::borogove::calls::PeerConnection oldPc = this->pc;
+HXLINE( 416) this->pc = null();
+HXLINE( 417) oldPc->close();
+HXLINE( 418) {
+HXLINE( 418) int _g = 0;
+HXDLIN( 418) ::Array< ::Dynamic> _g1 = oldPc->getTransceivers();
+HXDLIN( 418) while((_g < _g1->length)){
+HXLINE( 418) ::Dynamic tranceiver = _g1->__get(_g);
+HXDLIN( 418) _g = (_g + 1);
+HXLINE( 419) bool _hx_tmp2;
+HXDLIN( 419) if (::hx::IsNotNull( tranceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic) )) {
+HXLINE( 419) _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( 419) _hx_tmp2 = false;
+ }
+HXDLIN( 419) if (_hx_tmp2) {
+HXLINE( 420) ( ( ::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( 424) ::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( 425) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->counterpart,this->client->jid,event);
+HXLINE( 426) ::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( 434) {
+HXLINE( 434) ::borogove::Client tmp = this->client;
+HXDLIN( 434) ::borogove::Chat tmp1 = tmp->getChat(this->get_chatId());
+HXDLIN( 434) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 434) ::Dynamic this1 = tmp1->jingleSessions;
+HXDLIN( 434) ( ( ::haxe::ds::StringMap)(this1) )->remove(this->get_sid());
+ }
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,terminate,(void))
+
+void InitiatedSession_obj::contentAdd( ::borogove::Stanza stanza){
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_5,::Array< bool >,video, ::borogove::calls::InitiatedSession,_gthis, ::borogove::calls::SessionDescription,addThis,::Array< bool >,audio) HXARGC(1)
+ ::borogove::EventResult _hx_run( ::Dynamic _){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_4, ::borogove::calls::InitiatedSession,_gthis, ::borogove::calls::SessionDescription,addThis) HXARGC(0)
+ void _hx_run(){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3, ::borogove::calls::InitiatedSession,_gthis, ::borogove::calls::SessionDescription,addThis) HXARGC(1)
+ void _hx_run( ::borogove::calls::SessionDescription gonnaAccept){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::calls::SessionDescription,addThis) HXARGC(1)
+ 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_461_contentAdd)
+HXLINE( 461) return (addM->mid == m->mid);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_461_contentAdd)
+HXLINE( 461) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(m->contentElement(false)->attr,HX_("senders",1e,f7,a9,a8))) );
+HXDLIN( 461) 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_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_460_contentAdd)
+HXLINE( 460) if (::hx::IsNotNull( ::Lambda_obj::find(gonnaAccept->media, ::Dynamic(new _hx_Closure_2(addThis))) )) {
+HXLINE( 463) ::String modify = _gthis->get_sid();
+HXDLIN( 463) ::borogove::Stanza modify1 = gonnaAccept->toStanza(HX_("content-modify",4e,70,8f,a8),modify,_gthis->initiator);
+HXLINE( 464) {
+HXLINE( 464) ::Dynamic this1 = modify1->attr;
+HXDLIN( 464) ::Reflect_obj::setField(this1,HX_("to",7b,65,00,00),_gthis->counterpart->asString());
+ }
+HXLINE( 465) {
+HXLINE( 465) ::Dynamic this2 = modify1->attr;
+HXDLIN( 465) ::Reflect_obj::setField(this2,HX_("id",db,5b,00,00),::borogove::ID_obj::medium());
+ }
+HXLINE( 466) _gthis->client->sendStanza(modify1);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_454_contentAdd)
+HXLINE( 455) ::borogove::calls::InitiatedSession _gthis1 = _gthis;
+HXLINE( 457) ::Array< ::Dynamic> _this = addThis->media;
+HXDLIN( 457) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 457) {
+HXLINE( 457) int _g = 0;
+HXDLIN( 457) int _g1 = _this->length;
+HXDLIN( 457) while((_g < _g1)){
+HXLINE( 457) _g = (_g + 1);
+HXDLIN( 457) int i = (_g - 1);
+HXDLIN( 457) {
+HXLINE( 457) ::String inValue = ( ( ::borogove::calls::Media)(_hx_array_unsafe_get(_this,i)) )->mid;
+HXDLIN( 457) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXLINE( 455) _gthis1->setupLocalDescription(HX_("content-accept",dc,ee,cb,f2),result,false, ::Dynamic(new _hx_Closure_3(_gthis,addThis)));
+HXLINE( 470) _gthis->afterMedia = null();
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_453_contentAdd)
+HXLINE( 454) _gthis->afterMedia = ::Dynamic(new _hx_Closure_4(_gthis,addThis));
+HXLINE( 472) 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_438_contentAdd)
+HXDLIN( 438) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 439) if (::hx::IsNull( this->remoteDescription )) {
+HXLINE( 439) HX_STACK_DO_THROW(HX_("Got content-add before session-accept",59,44,5e,1c));
+ }
+HXLINE( 441) ::borogove::calls::SessionDescription addThis = ::borogove::calls::SessionDescription_obj::fromStanza(stanza,this->initiator,this->remoteDescription);
+HXLINE( 442) ::Array< bool > video = ::Array_obj< bool >::fromData( _hx_array_data_ac07c4f1_23,1);
+HXLINE( 443) ::Array< bool > audio = ::Array_obj< bool >::fromData( _hx_array_data_ac07c4f1_24,1);
+HXLINE( 444) {
+HXLINE( 444) int _g = 0;
+HXDLIN( 444) ::Array< ::Dynamic> _g1 = addThis->media;
+HXDLIN( 444) 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_445_contentAdd)
+HXLINE( 445) if ((attr->key != HX_("sendrecv",6e,1e,9c,f4))) {
+HXLINE( 445) return (attr->key == HX_("sendonly",b4,56,a7,f2));
+ }
+ else {
+HXLINE( 445) return true;
+ }
+HXDLIN( 445) return false;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 444) ::borogove::calls::Media m = _g1->__get(_g).StaticCast< ::borogove::calls::Media >();
+HXDLIN( 444) _g = (_g + 1);
+HXLINE( 445) if (::Lambda_obj::exists(m->attributes, ::Dynamic(new _hx_Closure_0()))) {
+HXLINE( 446) if ((m->media == HX_("video",7b,14,fc,36))) {
+HXLINE( 446) video[0] = true;
+ }
+HXLINE( 447) if ((m->media == HX_("audio",d6,78,80,27))) {
+HXLINE( 447) audio[0] = true;
+ }
+ }
+HXLINE( 449) m->attributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("setup",7d,ae,2f,7a),this->peerDtlsSetup));
+ }
+ }
+HXLINE( 451) this->remoteDescription = this->remoteDescription->addContent(addThis);
+HXLINE( 453) ::borogove::calls::PeerConnection _hx_tmp = this->pc;
+HXDLIN( 453) ::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());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,contentAdd,(void))
+
+void InitiatedSession_obj::contentAccept( ::borogove::Stanza stanza){
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_477_contentAccept)
+HXLINE( 478) if (::hx::IsNull( this->remoteDescription )) {
+HXLINE( 478) HX_STACK_DO_THROW(HX_("Got content-accept before session-accept",10,3c,4f,73));
+ }
+HXLINE( 481) ::borogove::calls::SessionDescription addThis = ::borogove::calls::SessionDescription_obj::fromStanza(stanza,!(this->initiator),this->remoteDescription);
+HXLINE( 482) {
+HXLINE( 482) int _g = 0;
+HXDLIN( 482) ::Array< ::Dynamic> _g1 = addThis->media;
+HXDLIN( 482) while((_g < _g1->length)){
+HXLINE( 482) ::borogove::calls::Media m = _g1->__get(_g).StaticCast< ::borogove::calls::Media >();
+HXDLIN( 482) _g = (_g + 1);
+HXLINE( 483) m->attributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("setup",7d,ae,2f,7a),this->peerDtlsSetup));
+ }
+ }
+HXLINE( 485) this->remoteDescription = this->remoteDescription->addContent(addThis);
+HXLINE( 486) ::borogove::calls::PeerConnection _hx_tmp = this->pc;
+HXDLIN( 486) _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))));
+ }
+
+
+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_504_transportInfo)
+HXLINE( 504) return;
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_490_transportInfo)
+HXDLIN( 490) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 491) bool _hx_tmp;
+HXDLIN( 491) if (::hx::IsNotNull( this->pc )) {
+HXLINE( 491) _hx_tmp = ::hx::IsNull( this->remoteDescription );
+ }
+ else {
+HXLINE( 491) _hx_tmp = true;
+ }
+HXDLIN( 491) if (_hx_tmp) {
+HXLINE( 492) this->queuedInboundTransportInfo->push(stanza);
+HXLINE( 493) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+HXLINE( 496) ::Array< ::Dynamic> _this = ::borogove::calls::IceCandidate_obj::fromStanza(stanza);
+HXDLIN( 496) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN( 496) {
+HXLINE( 496) int _g = 0;
+HXDLIN( 496) int _g1 = _this->length;
+HXDLIN( 496) while((_g < _g1)){
+HXLINE( 496) _g = (_g + 1);
+HXDLIN( 496) int i = (_g - 1);
+HXDLIN( 496) {
+HXLINE( 496) ::borogove::calls::IceCandidate candidate = ( ( ::borogove::calls::IceCandidate)(_hx_array_unsafe_get(_this,i)) );
+HXLINE( 497) int index = _gthis->remoteDescription->identificationTags->indexOf(candidate->sdpMid,null());
+HXLINE( 498) ::borogove::calls::PeerConnection _gthis1 = _gthis->pc;
+HXLINE( 499) ::String inValue = candidate->toSdp();
+HXLINE( 501) ::Dynamic inValue1;
+HXDLIN( 501) if ((index < 0)) {
+HXLINE( 501) inValue1 = null();
+ }
+ else {
+HXLINE( 501) inValue1 = index;
+ }
+HXLINE( 496) ::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( 496) result->__unsafe_set(i,inValue2);
+ }
+ }
+ }
+HXDLIN( 496) 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_507_addMedia)
+HXLINE( 508) if (::hx::IsNull( this->pc )) {
+HXLINE( 508) HX_STACK_DO_THROW(HX_("tried to add media before PeerConnection exists",25,49,19,b2));
+ }
+HXLINE( 510) ::Array< ::Dynamic> _this = this->localDescription->media;
+HXDLIN( 510) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 510) {
+HXLINE( 510) int _g = 0;
+HXDLIN( 510) int _g1 = _this->length;
+HXDLIN( 510) while((_g < _g1)){
+HXLINE( 510) _g = (_g + 1);
+HXDLIN( 510) int i = (_g - 1);
+HXDLIN( 510) {
+HXLINE( 510) ::String inValue = ( ( ::borogove::calls::Media)(_hx_array_unsafe_get(_this,i)) )->mid;
+HXDLIN( 510) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXLINE( 511) {
+HXLINE( 511) int _g2 = 0;
+HXDLIN( 511) while((_g2 < streams->length)){
+HXLINE( 511) ::borogove::calls::MediaStream stream = streams->__get(_g2).StaticCast< ::borogove::calls::MediaStream >();
+HXDLIN( 511) _g2 = (_g2 + 1);
+HXLINE( 512) {
+HXLINE( 512) int _g3 = 0;
+HXDLIN( 512) ::Array< ::Dynamic> _g4 = stream->getTracks();
+HXDLIN( 512) while((_g3 < _g4->length)){
+HXLINE( 512) ::borogove::calls::MediaStreamTrack track = _g4->__get(_g3).StaticCast< ::borogove::calls::MediaStreamTrack >();
+HXDLIN( 512) _g3 = (_g3 + 1);
+HXLINE( 513) this->pc->addTrack(track,stream);
+ }
+ }
+ }
+ }
+HXLINE( 517) this->setupLocalDescription(HX_("content-add",cd,a9,a1,10),result,true,null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,addMedia,(void))
+
+void InitiatedSession_obj::addMedia__fromC(::cpp::Pointer< void* > streams,size_t streams__len){
+ HX_STACKFRAME(&_hx_pos_a639e4155ff9c820_315_addMedia__fromC)
+HXLINE( 265) ::Array< ::Dynamic> _hx_tmp;
+HXDLIN( 265) if (::hx::IsNull( streams )) {
+HXLINE( 265) _hx_tmp = null();
+ }
+ else {
+HXLINE( 265) ::cpp::Pointer< ::borogove::calls::MediaStream > _this = streams->reinterpret();
+HXDLIN( 265) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new();
+HXDLIN( 265) ::cpp::Pointer< ::borogove::calls::MediaStream > tmp = _this;
+HXDLIN( 265) result->setUnmanagedData(tmp,( (int)(streams__len) ));
+HXDLIN( 265) _hx_tmp = result->copy();
+ }
+HXLINE( 315) this->addMedia(_hx_tmp);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(InitiatedSession_obj,addMedia__fromC,(void))
+
+int InitiatedSession_obj::callStatus(){
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_521_callStatus)
+HXDLIN( 521) bool _hx_tmp;
+HXDLIN( 521) bool _hx_tmp1;
+HXDLIN( 521) if (::hx::IsNotNull( this->pc )) {
+HXDLIN( 521) _hx_tmp1 = (this->pc->get_connectionState() == HX_("connecting",38,9f,12,f5));
+ }
+ else {
+HXDLIN( 521) _hx_tmp1 = true;
+ }
+HXDLIN( 521) if (!(_hx_tmp1)) {
+HXDLIN( 521) _hx_tmp = (this->pc->get_connectionState() == HX_("new",60,d0,53,00));
+ }
+ else {
+HXDLIN( 521) _hx_tmp = true;
+ }
+HXDLIN( 521) if (_hx_tmp) {
+HXLINE( 522) return 3;
+ }
+ else {
+HXLINE( 523) bool _hx_tmp2;
+HXDLIN( 523) if ((this->pc->get_connectionState() != HX_("failed",bd,c5,fe,e7))) {
+HXLINE( 523) _hx_tmp2 = (this->pc->get_connectionState() == HX_("closed",ac,a9,51,0e));
+ }
+ else {
+HXLINE( 523) _hx_tmp2 = true;
+ }
+HXDLIN( 523) if (_hx_tmp2) {
+HXLINE( 524) return 5;
+ }
+ else {
+HXLINE( 526) return 4;
+ }
+ }
+HXLINE( 521) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,callStatus,return )
+
+::Array< ::Dynamic> InitiatedSession_obj::audioTracks(){
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_530_audioTracks)
+HXLINE( 531) if (::hx::IsNull( this->pc )) {
+HXLINE( 531) return ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXLINE( 532) ::Array< ::Dynamic> _this = this->pc->getTransceivers();
+HXDLIN( 532) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 532) {
+HXLINE( 532) int _g1 = 0;
+HXDLIN( 532) while((_g1 < _this->length)){
+HXLINE( 532) ::Dynamic v = _this->__get(_g1);
+HXDLIN( 532) _g1 = (_g1 + 1);
+HXLINE( 533) bool _hx_tmp;
+HXDLIN( 533) bool _hx_tmp1;
+HXDLIN( 533) bool _hx_tmp2;
+HXDLIN( 533) if (::hx::IsNotNull( v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic) )) {
+HXLINE( 533) _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( 533) _hx_tmp2 = false;
+ }
+HXDLIN( 533) if (_hx_tmp2) {
+HXLINE( 533) _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( 533) _hx_tmp1 = false;
+ }
+HXDLIN( 533) if (_hx_tmp1) {
+HXLINE( 533) _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( 533) _hx_tmp = false;
+ }
+HXLINE( 532) if (_hx_tmp) {
+HXLINE( 532) _g->push(v);
+ }
+ }
+ }
+HXDLIN( 532) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
+HXDLIN( 532) {
+HXLINE( 532) int _g2 = 0;
+HXDLIN( 532) int _g3 = _g->length;
+HXDLIN( 532) while((_g2 < _g3)){
+HXLINE( 532) _g2 = (_g2 + 1);
+HXDLIN( 532) int i = (_g2 - 1);
+HXDLIN( 532) {
+HXLINE( 532) ::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( 532) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 532) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,audioTracks,return )
+
+size_t InitiatedSession_obj::audioTracks__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_a639e4155ff9c820_311_audioTracks__fromC)
+HXDLIN( 311) ::Array< ::Dynamic> out = this->audioTracks();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) {
+HXDLIN( 311) int _g = 0;
+HXDLIN( 311) while((_g < out->length)){
+HXDLIN( 311) ::borogove::calls::MediaStreamTrack el = out->__get(_g).StaticCast< ::borogove::calls::MediaStreamTrack >();
+HXDLIN( 311) _g = (_g + 1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic haxeObject = el;
+HXDLIN( 311) void* ptr = haxeObject.mPtr;
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXDLIN( 311) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)out->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXDLIN( 311) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),out));
+HXDLIN( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+::Array< ::Dynamic> InitiatedSession_obj::videoTracks(){
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_537_videoTracks)
+HXLINE( 538) if (::hx::IsNull( this->pc )) {
+HXLINE( 538) return ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXLINE( 539) ::Array< ::Dynamic> _this = this->pc->getTransceivers();
+HXDLIN( 539) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 539) {
+HXLINE( 539) int _g1 = 0;
+HXDLIN( 539) while((_g1 < _this->length)){
+HXLINE( 539) ::Dynamic v = _this->__get(_g1);
+HXDLIN( 539) _g1 = (_g1 + 1);
+HXLINE( 540) bool _hx_tmp;
+HXDLIN( 540) bool _hx_tmp1;
+HXDLIN( 540) bool _hx_tmp2;
+HXDLIN( 540) if (::hx::IsNotNull( v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic) )) {
+HXLINE( 540) _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( 540) _hx_tmp2 = false;
+ }
+HXDLIN( 540) if (_hx_tmp2) {
+HXLINE( 540) _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( 540) _hx_tmp1 = false;
+ }
+HXDLIN( 540) if (_hx_tmp1) {
+HXLINE( 540) _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( 540) _hx_tmp = false;
+ }
+HXLINE( 539) if (_hx_tmp) {
+HXLINE( 539) _g->push(v);
+ }
+ }
+ }
+HXDLIN( 539) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
+HXDLIN( 539) {
+HXLINE( 539) int _g2 = 0;
+HXDLIN( 539) int _g3 = _g->length;
+HXDLIN( 539) while((_g2 < _g3)){
+HXLINE( 539) _g2 = (_g2 + 1);
+HXDLIN( 539) int i = (_g2 - 1);
+HXDLIN( 539) {
+HXLINE( 539) ::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( 539) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 539) return result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,videoTracks,return )
+
+size_t InitiatedSession_obj::videoTracks__fromC(void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_a639e4155ff9c820_311_videoTracks__fromC)
+HXDLIN( 311) ::Array< ::Dynamic> out = this->videoTracks();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) {
+HXDLIN( 311) int _g = 0;
+HXDLIN( 311) while((_g < out->length)){
+HXDLIN( 311) ::borogove::calls::MediaStreamTrack el = out->__get(_g).StaticCast< ::borogove::calls::MediaStreamTrack >();
+HXDLIN( 311) _g = (_g + 1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic haxeObject = el;
+HXDLIN( 311) void* ptr = haxeObject.mPtr;
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXDLIN( 311) 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( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+ }
+ }
+ }
+HXDLIN( 311) void** ptr1 = (void**)out->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXDLIN( 311) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),out));
+HXDLIN( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 311) _hx_tmp->set_ref(ptr1);
+ }
+HXDLIN( 311) return ( (size_t)(out->length) );
+ }
+
+
+ ::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_546_dtmf)
+HXLINE( 546) bool transceiver;
+HXDLIN( 546) bool transceiver1;
+HXDLIN( 546) if (::hx::IsNotNull( t->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic) )) {
+HXLINE( 546) 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( 546) transceiver1 = false;
+ }
+HXDLIN( 546) if (transceiver1) {
+HXLINE( 546) 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( 546) transceiver = false;
+ }
+HXDLIN( 546) if (transceiver) {
+HXLINE( 546) 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( 546) return false;
+ }
+HXDLIN( 546) return false;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_544_dtmf)
+HXLINE( 545) if (::hx::IsNull( this->pc )) {
+HXLINE( 545) return null();
+ }
+HXLINE( 546) ::Dynamic transceiver = ::Lambda_obj::find(this->pc->getTransceivers(), ::Dynamic(new _hx_Closure_0()));
+HXLINE( 547) if (::hx::IsNull( transceiver )) {
+HXLINE( 547) return null();
+ }
+HXLINE( 548) return ( ( ::borogove::calls::DTMFSender)( ::Dynamic(transceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("dtmf",e9,ba,71,42),::hx::paccDynamic)) );
+ }
+
+
+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_561_sendIceCandidate)
+HXLINE( 561) 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_573_sendIceCandidate)
+HXLINE( 573) return (attr->key == HX_("ice-pwd",3b,03,2f,e9));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_551_sendIceCandidate)
+HXLINE( 552) bool _hx_tmp;
+HXDLIN( 552) if (::hx::IsNotNull( candidate )) {
+HXLINE( 552) _hx_tmp = ::hx::IsEq( candidate->__Field(HX_("candidate",43,34,d8,d0),::hx::paccDynamic),HX_("",00,00,00,00) );
+ }
+ else {
+HXLINE( 552) _hx_tmp = true;
+ }
+HXDLIN( 552) if (_hx_tmp) {
+HXLINE( 553) if (::hx::IsNotNull( this->candidatesDone )) {
+HXLINE( 553) this->candidatesDone();
+ }
+HXLINE( 554) return;
+ }
+HXLINE( 556) if (::hx::IsNotNull( this->candidatesDone )) {
+HXLINE( 556) return;
+ }
+HXLINE( 557) if (::hx::IsNull( this->localDescription )) {
+HXLINE( 558) this->queuedOutboundCandidate->push(candidate);
+HXLINE( 559) return;
+ }
+HXLINE( 561) ::borogove::calls::Media media = ( ( ::borogove::calls::Media)(::Lambda_obj::find(this->localDescription->media, ::Dynamic(new _hx_Closure_0(candidate)))) );
+HXLINE( 562) if (::hx::IsNull( media )) {
+HXLINE( 562) HX_STACK_DO_THROW( ::Dynamic((HX_("Unknown media: ",d4,41,45,83) + candidate->__Field(HX_("sdpMid",09,30,5f,d9),::hx::paccDynamic))));
+ }
+HXLINE( 565) ::String media1 = media->mid;
+HXLINE( 566) ::String media2 = media->media;
+HXLINE( 567) ::String media3 = media->connectionData;
+HXLINE( 568) ::String media4 = media->port;
+HXLINE( 569) ::String media5 = media->protocol;
+HXLINE( 571) ::borogove::calls::Attribute transportInfo = ::borogove::calls::Attribute_obj::parse(( (::String)(candidate->__Field(HX_("candidate",43,34,d8,d0),::hx::paccDynamic)) ));
+HXLINE( 572) ::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( 573) ::borogove::calls::Attribute tmp = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(media->attributes, ::Dynamic(new _hx_Closure_1()))) );
+HXDLIN( 573) ::borogove::calls::Attribute transportInfo2;
+HXDLIN( 573) if (::hx::IsNotNull( tmp )) {
+HXLINE( 573) 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_574_sendIceCandidate)
+HXLINE( 574) return (attr->key == HX_("ice-pwd",3b,03,2f,e9));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 573) transportInfo2 = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(this->localDescription->attributes, ::Dynamic(new _hx_Closure_2()))) );
+ }
+HXLINE( 564) ::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( 578) ::String transportInfo4 = this->get_sid();
+HXLINE( 563) ::borogove::Stanza transportInfo5 = ::borogove::calls::TransportInfo_obj::__alloc( HX_CTX ,transportInfo3,transportInfo4)->toStanza(this->initiator);
+HXLINE( 580) {
+HXLINE( 580) ::Dynamic this1 = transportInfo5->attr;
+HXDLIN( 580) ::Reflect_obj::setField(this1,HX_("to",7b,65,00,00),this->counterpart->asString());
+ }
+HXLINE( 581) {
+HXLINE( 581) ::Dynamic this2 = transportInfo5->attr;
+HXDLIN( 581) ::Reflect_obj::setField(this2,HX_("id",db,5b,00,00),::borogove::ID_obj::medium());
+ }
+HXLINE( 582) this->client->sendStanza(transportInfo5);
+ }
+
+
+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_586_supplyMedia)
+HXLINE( 587) {
+HXLINE( 587) int _g = 0;
+HXDLIN( 587) while((_g < streams->length)){
+HXLINE( 587) ::borogove::calls::MediaStream stream = streams->__get(_g).StaticCast< ::borogove::calls::MediaStream >();
+HXDLIN( 587) _g = (_g + 1);
+HXLINE( 588) {
+HXLINE( 588) int _g1 = 0;
+HXDLIN( 588) ::Array< ::Dynamic> _g2 = stream->getTracks();
+HXDLIN( 588) while((_g1 < _g2->length)){
+HXLINE( 588) ::borogove::calls::MediaStreamTrack track = _g2->__get(_g1).StaticCast< ::borogove::calls::MediaStreamTrack >();
+HXDLIN( 588) _g1 = (_g1 + 1);
+HXLINE( 589) _gthis->pc->addTrack(track,stream);
+ }
+ }
+ }
+ }
+HXLINE( 593) 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_594_supplyMedia)
+HXLINE( 595) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 595) ::String _hx_tmp1;
+HXDLIN( 595) if (::hx::IsNull( e )) {
+HXLINE( 595) _hx_tmp1 = HX_("null",87,9e,0e,49);
+ }
+ else {
+HXLINE( 595) _hx_tmp1 = ::Std_obj::string(e);
+ }
+HXDLIN( 595) _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),595)));
+HXLINE( 596) _gthis->pc->close();
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 594) ::thenshim::PromiseTools_obj::catch_(_gthis->onPeerConnection(), ::Dynamic(new _hx_Closure_0(_gthis)));
+ }
+ else {
+HXLINE( 599) _gthis->afterMedia();
+ }
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_585_supplyMedia)
+HXDLIN( 585) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 586) this->setupPeerConnection( ::Dynamic(new _hx_Closure_1(_gthis,streams)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,supplyMedia,(void))
+
+void InitiatedSession_obj::supplyMedia__fromC(::cpp::Pointer< void* > streams,size_t streams__len){
+ HX_STACKFRAME(&_hx_pos_a639e4155ff9c820_315_supplyMedia__fromC)
+HXLINE( 265) ::Array< ::Dynamic> _hx_tmp;
+HXDLIN( 265) if (::hx::IsNull( streams )) {
+HXLINE( 265) _hx_tmp = null();
+ }
+ else {
+HXLINE( 265) ::cpp::Pointer< ::borogove::calls::MediaStream > _this = streams->reinterpret();
+HXDLIN( 265) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new();
+HXDLIN( 265) ::cpp::Pointer< ::borogove::calls::MediaStream > tmp = _this;
+HXDLIN( 265) result->setUnmanagedData(tmp,( (int)(streams__len) ));
+HXDLIN( 265) _hx_tmp = result->copy();
+ }
+HXLINE( 315) this->supplyMedia(_hx_tmp);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(InitiatedSession_obj,supplyMedia__fromC,(void))
+
+void InitiatedSession_obj::setupPeerConnection( ::Dynamic callback){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_4, ::borogove::calls::InitiatedSession,_gthis, ::Dynamic,callback) HXARGC(1)
+ 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_612_setupPeerConnection)
+HXLINE( 612) _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)))));
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
+ void _hx_run( ::Dynamic event){
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_614_setupPeerConnection)
+HXLINE( 614) ::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),614)));
+ }
+ 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_616_setupPeerConnection)
+HXLINE( 616) _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_618_setupPeerConnection)
+HXLINE( 619) if (::hx::IsNotNull( _gthis->pc )) {
+HXLINE( 619) _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( 620) bool _hx_tmp;
+HXDLIN( 620) if (::hx::IsNotNull( _gthis->pc )) {
+HXLINE( 620) if ((_gthis->pc->get_connectionState() != HX_("closed",ac,a9,51,0e))) {
+HXLINE( 620) _hx_tmp = (_gthis->pc->get_connectionState() == HX_("failed",bd,c5,fe,e7));
+ }
+ else {
+HXLINE( 620) _hx_tmp = true;
+ }
+ }
+ else {
+HXLINE( 620) _hx_tmp = false;
+ }
+HXDLIN( 620) if (_hx_tmp) {
+HXLINE( 621) ::borogove::Client _gthis1 = _gthis->client;
+HXLINE( 622) ::String _hx_tmp1 = _gthis->counterpart->asString();
+HXDLIN( 622) ::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),::borogove::ID_obj::medium())
+ ->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( 621) _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( 627) _gthis->terminate();
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_609_setupPeerConnection)
+HXLINE( 610) _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( 611) _gthis->pc->addEventListener(HX_("track",8b,8e,1f,16), ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 614) _gthis->pc->addEventListener(HX_("negotiationneeded",d6,4d,d0,53), ::Dynamic(new _hx_Closure_1()));
+HXLINE( 615) _gthis->pc->addEventListener(HX_("icecandidate",98,ef,c0,7b), ::Dynamic(new _hx_Closure_2(_gthis)));
+HXLINE( 618) _gthis->pc->addEventListener(HX_("connectionstatechange",e3,a2,87,36), ::Dynamic(new _hx_Closure_3(_gthis)));
+HXLINE( 630) callback();
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_604_setupPeerConnection)
+HXDLIN( 604) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 605) if (::hx::IsNotNull( this->pc )) {
+HXLINE( 606) callback();
+HXLINE( 607) return;
+ }
+HXLINE( 609) this->client->getIceServers( ::Dynamic(new _hx_Closure_4(_gthis,callback)));
+ }
+
+
+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_635_setupLocalDescription)
+HXLINE( 636) ::borogove::Client _gthis1 = _gthis->client;
+HXDLIN( 636) ::String caps = _gthis->counterpart->asBare()->asString();
+HXDLIN( 636) ::borogove::Caps caps1 = _gthis1->getDirectChat(caps,null())->getResourceCaps(_gthis->counterpart->resource);
+HXLINE( 637) bool _hx_tmp;
+HXDLIN( 637) bool _hx_tmp1;
+HXDLIN( 637) if ((type != HX_("session-initiate",70,2d,30,f7))) {
+HXLINE( 637) _hx_tmp1 = (type == HX_("session-accept",5f,92,e7,a8));
+ }
+ else {
+HXLINE( 637) _hx_tmp1 = true;
+ }
+HXDLIN( 637) if (_hx_tmp1) {
+HXLINE( 637) _hx_tmp = caps1->features->contains(HX_("urn:ietf:rfc:3264",2b,35,57,2c));
+ }
+ else {
+HXLINE( 637) _hx_tmp = false;
+ }
+HXDLIN( 637) 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_640_setupLocalDescription)
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_639_setupLocalDescription)
+HXLINE( 640) _gthis->candidatesDone = ::Dynamic(new _hx_Closure_0());
+HXLINE( 641) 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_643_setupLocalDescription)
+HXLINE( 644) timeout->stop();
+HXLINE( 645) resolve(true);
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_638_setupLocalDescription)
+HXLINE( 639) ::haxe::Timer timeout = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(_gthis,resolve)),3000);
+HXLINE( 643) _gthis->candidatesDone = ::Dynamic(new _hx_Closure_2(resolve,timeout));
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+HXLINE( 638) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_3(_gthis)));
+ }
+ else {
+HXLINE( 649) return null();
+ }
+HXLINE( 637) 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_651_setupLocalDescription)
+HXLINE( 652) _gthis->localDescription = ::borogove::calls::SessionDescription_obj::parse(( (::String)(_gthis->pc->get_localDescription()->__Field(HX_("sdp",bf,9a,57,00),::hx::paccDynamic)) ));
+HXLINE( 653) ::borogove::calls::SessionDescription descriptionToSend = _gthis->localDescription;
+HXLINE( 654) if (::hx::IsNotNull( filterMedia )) {
+HXLINE( 656) int descriptionToSend1 = descriptionToSend->version;
+HXLINE( 657) ::String descriptionToSend2 = descriptionToSend->name;
+HXLINE( 658) ::Array< ::Dynamic> _this = descriptionToSend->media;
+HXDLIN( 658) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 658) {
+HXLINE( 658) int _g1 = 0;
+HXDLIN( 658) while((_g1 < _this->length)){
+HXLINE( 658) ::borogove::calls::Media v = _this->__get(_g1).StaticCast< ::borogove::calls::Media >();
+HXDLIN( 658) _g1 = (_g1 + 1);
+HXDLIN( 658) bool descriptionToSend3;
+HXDLIN( 658) if (( (bool)(filterOut) )) {
+HXLINE( 658) descriptionToSend3 = !(filterMedia->contains(v->mid));
+ }
+ else {
+HXLINE( 658) descriptionToSend3 = filterMedia->contains(v->mid);
+ }
+HXDLIN( 658) if (descriptionToSend3) {
+HXLINE( 658) _g->push(v);
+ }
+ }
+ }
+HXLINE( 655) descriptionToSend = ::borogove::calls::SessionDescription_obj::__alloc( HX_CTX ,descriptionToSend1,descriptionToSend2,_g,descriptionToSend->attributes,descriptionToSend->identificationTags);
+ }
+HXLINE( 663) if (::hx::IsNotNull( beforeSend )) {
+HXLINE( 663) beforeSend(descriptionToSend);
+ }
+HXLINE( 664) ::String type1 = type;
+HXDLIN( 664) ::String sessionAccept = _gthis->get_sid();
+HXDLIN( 664) ::borogove::Stanza sessionAccept1 = descriptionToSend->toStanza(type1,sessionAccept,_gthis->initiator);
+HXLINE( 665) {
+HXLINE( 665) ::Dynamic this1 = sessionAccept1->attr;
+HXDLIN( 665) ::Reflect_obj::setField(this1,HX_("to",7b,65,00,00),_gthis->counterpart->asString());
+ }
+HXLINE( 666) {
+HXLINE( 666) ::Dynamic this2 = sessionAccept1->attr;
+HXDLIN( 666) ::Reflect_obj::setField(this2,HX_("id",db,5b,00,00),::borogove::ID_obj::medium());
+ }
+HXLINE( 667) _gthis->client->sendStanza(sessionAccept1);
+HXLINE( 669) ::Array< ::Dynamic> outboundCandidate = _gthis->queuedOutboundCandidate->copy();
+HXLINE( 670) _gthis->queuedOutboundCandidate->resize(0);
+HXLINE( 671) {
+HXLINE( 671) int _g2 = 0;
+HXDLIN( 671) while((_g2 < outboundCandidate->length)){
+HXLINE( 671) ::Dynamic candidate = outboundCandidate->__get(_g2);
+HXDLIN( 671) _g2 = (_g2 + 1);
+HXLINE( 672) _gthis->sendIceCandidate(candidate);
+ }
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ ::Dynamic filterOut = __o_filterOut;
+ if (::hx::IsNull(__o_filterOut)) filterOut = false;
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_634_setupLocalDescription)
+HXDLIN( 634) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 635) 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_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_679_onPeerConnection)
+HXLINE( 680) ::Array< ::Dynamic> inboundTransportInfo = _gthis->queuedInboundTransportInfo->copy();
+HXLINE( 681) _gthis->queuedInboundTransportInfo->resize(0);
+HXLINE( 682) ::Dynamic f = _gthis->transportInfo_dyn();
+HXDLIN( 682) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(inboundTransportInfo->length);
+HXDLIN( 682) {
+HXLINE( 682) int _g = 0;
+HXDLIN( 682) int _g1 = inboundTransportInfo->length;
+HXDLIN( 682) while((_g < _g1)){
+HXLINE( 682) _g = (_g + 1);
+HXDLIN( 682) int i = (_g - 1);
+HXDLIN( 682) {
+HXLINE( 682) ::Dynamic inValue = f(_hx_array_unsafe_get(inboundTransportInfo,i));
+HXDLIN( 682) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 682) 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_685_onPeerConnection)
+HXLINE( 685) 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_686_onPeerConnection)
+HXLINE( 687) ::String _hx_tmp;
+HXDLIN( 687) if ((_gthis->localDescription->getDtlsSetup() == HX_("active",c6,41,46,16))) {
+HXLINE( 687) _hx_tmp = HX_("passive",a7,47,6a,7d);
+ }
+ else {
+HXLINE( 687) _hx_tmp = HX_("active",c6,41,46,16);
+ }
+HXLINE( 686) return (_gthis->peerDtlsSetup = _hx_tmp);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_677_onPeerConnection)
+HXDLIN( 677) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 678) ::borogove::calls::PeerConnection _hx_tmp = this->pc;
+HXDLIN( 678) 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());
+ }
+
+
+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_356_fromSessionInitiate)
+HXLINE( 357) ::borogove::Stanza jingle = stanza->getChild(HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7));
+HXLINE( 360) ::borogove::JID session = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
+HXLINE( 361) ::String session1 = ( (::String)(::Reflect_obj::field(jingle->attr,HX_("sid",0e,9f,57,00))) );
+HXLINE( 358) ::borogove::calls::InitiatedSession session2 = ::borogove::calls::InitiatedSession_obj::__alloc( HX_CTX ,client,session,session1,::borogove::calls::SessionDescription_obj::fromStanza(stanza,false,null()));
+HXLINE( 364) session2->transportInfo(stanza);
+HXLINE( 365) return session2;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(InitiatedSession_obj,fromSessionInitiate,return )
+
+
+::hx::ObjectPtr< InitiatedSession_obj > InitiatedSession_obj::__new( ::borogove::Client client, ::borogove::JID counterpart,::String sid, ::borogove::calls::SessionDescription remoteDescription) {
+ ::hx::ObjectPtr< InitiatedSession_obj > __this = new InitiatedSession_obj();
+ __this->__construct(client,counterpart,sid,remoteDescription);
+ return __this;
+}
+
+::hx::ObjectPtr< InitiatedSession_obj > InitiatedSession_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::JID counterpart,::String sid, ::borogove::calls::SessionDescription remoteDescription) {
+ InitiatedSession_obj *__this = (InitiatedSession_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(InitiatedSession_obj), true, "borogove.calls.InitiatedSession"));
+ *(void **)__this = InitiatedSession_obj::_hx_vtable;
+ __this->__construct(client,counterpart,sid,remoteDescription);
+ return __this;
+}
+
+InitiatedSession_obj::InitiatedSession_obj()
+{
+}
+
+void InitiatedSession_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(InitiatedSession);
+ HX_MARK_MEMBER_NAME(sid,"sid");
+ HX_MARK_MEMBER_NAME(chatId,"chatId");
+ HX_MARK_MEMBER_NAME(client,"client");
+ HX_MARK_MEMBER_NAME(counterpart,"counterpart");
+ HX_MARK_MEMBER_NAME(_sid,"_sid");
+ HX_MARK_MEMBER_NAME(remoteDescription,"remoteDescription");
+ HX_MARK_MEMBER_NAME(localDescription,"localDescription");
+ HX_MARK_MEMBER_NAME(pc,"pc");
+ HX_MARK_MEMBER_NAME(peerDtlsSetup,"peerDtlsSetup");
+ HX_MARK_MEMBER_NAME(queuedInboundTransportInfo,"queuedInboundTransportInfo");
+ HX_MARK_MEMBER_NAME(queuedOutboundCandidate,"queuedOutboundCandidate");
+ HX_MARK_MEMBER_NAME(accepted,"accepted");
+ HX_MARK_MEMBER_NAME(afterMedia,"afterMedia");
+ HX_MARK_MEMBER_NAME(initiator,"initiator");
+ HX_MARK_MEMBER_NAME(candidatesDone,"candidatesDone");
+ HX_MARK_END_CLASS();
+}
+
+void InitiatedSession_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(sid,"sid");
+ HX_VISIT_MEMBER_NAME(chatId,"chatId");
+ HX_VISIT_MEMBER_NAME(client,"client");
+ HX_VISIT_MEMBER_NAME(counterpart,"counterpart");
+ HX_VISIT_MEMBER_NAME(_sid,"_sid");
+ HX_VISIT_MEMBER_NAME(remoteDescription,"remoteDescription");
+ HX_VISIT_MEMBER_NAME(localDescription,"localDescription");
+ HX_VISIT_MEMBER_NAME(pc,"pc");
+ HX_VISIT_MEMBER_NAME(peerDtlsSetup,"peerDtlsSetup");
+ HX_VISIT_MEMBER_NAME(queuedInboundTransportInfo,"queuedInboundTransportInfo");
+ HX_VISIT_MEMBER_NAME(queuedOutboundCandidate,"queuedOutboundCandidate");
+ HX_VISIT_MEMBER_NAME(accepted,"accepted");
+ HX_VISIT_MEMBER_NAME(afterMedia,"afterMedia");
+ HX_VISIT_MEMBER_NAME(initiator,"initiator");
+ HX_VISIT_MEMBER_NAME(candidatesDone,"candidatesDone");
+}
+
+::hx::Val InitiatedSession_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"pc") ) { return ::hx::Val( pc ); }
+ break;
+ case 3:
+ if (HX_FIELD_EQ(inName,"sid") ) { return ::hx::Val( inCallProp == ::hx::paccAlways ? get_sid() : sid ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"_sid") ) { return ::hx::Val( _sid ); }
+ if (HX_FIELD_EQ(inName,"ring") ) { return ::hx::Val( ring_dyn() ); }
+ if (HX_FIELD_EQ(inName,"dtmf") ) { return ::hx::Val( dtmf_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( inCallProp == ::hx::paccAlways ? get_chatId() : chatId ); }
+ if (HX_FIELD_EQ(inName,"client") ) { return ::hx::Val( client ); }
+ if (HX_FIELD_EQ(inName,"accept") ) { return ::hx::Val( accept_dyn() ); }
+ if (HX_FIELD_EQ(inName,"hangup") ) { return ::hx::Val( hangup_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"get_sid") ) { return ::hx::Val( get_sid_dyn() ); }
+ if (HX_FIELD_EQ(inName,"retract") ) { return ::hx::Val( retract_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"accepted") ) { return ::hx::Val( accepted ); }
+ if (HX_FIELD_EQ(inName,"initiate") ) { return ::hx::Val( initiate_dyn() ); }
+ if (HX_FIELD_EQ(inName,"addMedia") ) { return ::hx::Val( addMedia_dyn() ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"initiator") ) { return ::hx::Val( initiator ); }
+ if (HX_FIELD_EQ(inName,"terminate") ) { return ::hx::Val( terminate_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"sid__fromC") ) { return ::hx::Val( sid__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"afterMedia") ) { return ::hx::Val( afterMedia ); }
+ if (HX_FIELD_EQ(inName,"get_chatId") ) { return ::hx::Val( get_chatId_dyn() ); }
+ if (HX_FIELD_EQ(inName,"contentAdd") ) { return ::hx::Val( contentAdd_dyn() ); }
+ if (HX_FIELD_EQ(inName,"callStatus") ) { return ::hx::Val( callStatus_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"counterpart") ) { return ::hx::Val( counterpart ); }
+ if (HX_FIELD_EQ(inName,"audioTracks") ) { return ::hx::Val( audioTracks_dyn() ); }
+ if (HX_FIELD_EQ(inName,"videoTracks") ) { return ::hx::Val( videoTracks_dyn() ); }
+ if (HX_FIELD_EQ(inName,"supplyMedia") ) { return ::hx::Val( supplyMedia_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"chatId__fromC") ) { return ::hx::Val( chatId__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"peerDtlsSetup") ) { return ::hx::Val( peerDtlsSetup ); }
+ if (HX_FIELD_EQ(inName,"contentAccept") ) { return ::hx::Val( contentAccept_dyn() ); }
+ if (HX_FIELD_EQ(inName,"transportInfo") ) { return ::hx::Val( transportInfo_dyn() ); }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"candidatesDone") ) { return ::hx::Val( candidatesDone ); }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"addMedia__fromC") ) { return ::hx::Val( addMedia__fromC_dyn() ); }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"localDescription") ) { return ::hx::Val( localDescription ); }
+ if (HX_FIELD_EQ(inName,"sendIceCandidate") ) { return ::hx::Val( sendIceCandidate_dyn() ); }
+ if (HX_FIELD_EQ(inName,"onPeerConnection") ) { return ::hx::Val( onPeerConnection_dyn() ); }
+ break;
+ case 17:
+ if (HX_FIELD_EQ(inName,"remoteDescription") ) { return ::hx::Val( remoteDescription ); }
+ break;
+ case 18:
+ if (HX_FIELD_EQ(inName,"supplyMedia__fromC") ) { return ::hx::Val( supplyMedia__fromC_dyn() ); }
+ break;
+ case 19:
+ if (HX_FIELD_EQ(inName,"setupPeerConnection") ) { return ::hx::Val( setupPeerConnection_dyn() ); }
+ break;
+ case 21:
+ if (HX_FIELD_EQ(inName,"setupLocalDescription") ) { return ::hx::Val( setupLocalDescription_dyn() ); }
+ break;
+ case 23:
+ if (HX_FIELD_EQ(inName,"queuedOutboundCandidate") ) { return ::hx::Val( queuedOutboundCandidate ); }
+ break;
+ case 26:
+ if (HX_FIELD_EQ(inName,"queuedInboundTransportInfo") ) { return ::hx::Val( queuedInboundTransportInfo ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool InitiatedSession_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 19:
+ if (HX_FIELD_EQ(inName,"fromSessionInitiate") ) { outValue = fromSessionInitiate_dyn(); return true; }
+ }
+ return false;
+}
+
+::hx::Val InitiatedSession_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"pc") ) { pc=inValue.Cast< ::borogove::calls::PeerConnection >(); return inValue; }
+ break;
+ case 3:
+ if (HX_FIELD_EQ(inName,"sid") ) { sid=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"_sid") ) { _sid=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"chatId") ) { chatId=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"client") ) { client=inValue.Cast< ::borogove::Client >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"accepted") ) { accepted=inValue.Cast< bool >(); return inValue; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"initiator") ) { initiator=inValue.Cast< bool >(); return inValue; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"afterMedia") ) { afterMedia=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"counterpart") ) { counterpart=inValue.Cast< ::borogove::JID >(); return inValue; }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"peerDtlsSetup") ) { peerDtlsSetup=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"candidatesDone") ) { candidatesDone=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"localDescription") ) { localDescription=inValue.Cast< ::borogove::calls::SessionDescription >(); return inValue; }
+ break;
+ case 17:
+ if (HX_FIELD_EQ(inName,"remoteDescription") ) { remoteDescription=inValue.Cast< ::borogove::calls::SessionDescription >(); return inValue; }
+ break;
+ case 23:
+ if (HX_FIELD_EQ(inName,"queuedOutboundCandidate") ) { queuedOutboundCandidate=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ break;
+ case 26:
+ if (HX_FIELD_EQ(inName,"queuedInboundTransportInfo") ) { queuedInboundTransportInfo=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void InitiatedSession_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("sid",0e,9f,57,00));
+ outFields->push(HX_("chatId",d3,04,77,b7));
+ outFields->push(HX_("client",4b,ca,4f,0a));
+ outFields->push(HX_("counterpart",ef,c0,14,5a));
+ outFields->push(HX_("_sid",0f,e4,22,3f));
+ outFields->push(HX_("remoteDescription",16,a8,ec,8d));
+ outFields->push(HX_("localDescription",51,49,74,58));
+ outFields->push(HX_("pc",f3,61,00,00));
+ outFields->push(HX_("peerDtlsSetup",e4,2a,18,74));
+ outFields->push(HX_("queuedInboundTransportInfo",11,30,f9,fb));
+ outFields->push(HX_("queuedOutboundCandidate",00,fe,e9,14));
+ outFields->push(HX_("accepted",67,bd,17,c8));
+ outFields->push(HX_("initiator",af,ac,ed,3d));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo InitiatedSession_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(InitiatedSession_obj,sid),HX_("sid",0e,9f,57,00)},
+ {::hx::fsString,(int)offsetof(InitiatedSession_obj,chatId),HX_("chatId",d3,04,77,b7)},
+ {::hx::fsObject /* ::borogove::Client */ ,(int)offsetof(InitiatedSession_obj,client),HX_("client",4b,ca,4f,0a)},
+ {::hx::fsObject /* ::borogove::JID */ ,(int)offsetof(InitiatedSession_obj,counterpart),HX_("counterpart",ef,c0,14,5a)},
+ {::hx::fsString,(int)offsetof(InitiatedSession_obj,_sid),HX_("_sid",0f,e4,22,3f)},
+ {::hx::fsObject /* ::borogove::calls::SessionDescription */ ,(int)offsetof(InitiatedSession_obj,remoteDescription),HX_("remoteDescription",16,a8,ec,8d)},
+ {::hx::fsObject /* ::borogove::calls::SessionDescription */ ,(int)offsetof(InitiatedSession_obj,localDescription),HX_("localDescription",51,49,74,58)},
+ {::hx::fsObject /* ::borogove::calls::PeerConnection */ ,(int)offsetof(InitiatedSession_obj,pc),HX_("pc",f3,61,00,00)},
+ {::hx::fsString,(int)offsetof(InitiatedSession_obj,peerDtlsSetup),HX_("peerDtlsSetup",e4,2a,18,74)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(InitiatedSession_obj,queuedInboundTransportInfo),HX_("queuedInboundTransportInfo",11,30,f9,fb)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(InitiatedSession_obj,queuedOutboundCandidate),HX_("queuedOutboundCandidate",00,fe,e9,14)},
+ {::hx::fsBool,(int)offsetof(InitiatedSession_obj,accepted),HX_("accepted",67,bd,17,c8)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(InitiatedSession_obj,afterMedia),HX_("afterMedia",28,69,d3,68)},
+ {::hx::fsBool,(int)offsetof(InitiatedSession_obj,initiator),HX_("initiator",af,ac,ed,3d)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(InitiatedSession_obj,candidatesDone),HX_("candidatesDone",72,4b,30,dd)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *InitiatedSession_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String InitiatedSession_obj_sMemberFields[] = {
+ HX_("sid",0e,9f,57,00),
+ HX_("sid__fromC",2b,ef,18,af),
+ HX_("chatId",d3,04,77,b7),
+ HX_("chatId__fromC",06,fc,b1,94),
+ HX_("client",4b,ca,4f,0a),
+ HX_("counterpart",ef,c0,14,5a),
+ HX_("_sid",0f,e4,22,3f),
+ HX_("remoteDescription",16,a8,ec,8d),
+ HX_("localDescription",51,49,74,58),
+ HX_("pc",f3,61,00,00),
+ HX_("peerDtlsSetup",e4,2a,18,74),
+ HX_("queuedInboundTransportInfo",11,30,f9,fb),
+ HX_("queuedOutboundCandidate",00,fe,e9,14),
+ HX_("accepted",67,bd,17,c8),
+ HX_("afterMedia",28,69,d3,68),
+ HX_("initiator",af,ac,ed,3d),
+ HX_("candidatesDone",72,4b,30,dd),
+ HX_("get_sid",a5,67,cc,26),
+ HX_("get_chatId",9c,74,fe,a7),
+ HX_("ring",b0,5f,aa,4b),
+ HX_("retract",01,e2,b9,fc),
+ HX_("accept",08,93,06,0b),
+ HX_("hangup",4d,d2,ff,b7),
+ HX_("initiate",59,6a,8f,5f),
+ HX_("terminate",61,32,d2,fd),
+ HX_("contentAdd",68,66,dd,43),
+ HX_("contentAccept",21,c5,01,e1),
+ HX_("transportInfo",b7,3c,cf,b6),
+ HX_("addMedia",03,2b,19,7f),
+ HX_("addMedia__fromC",d6,fb,b5,1b),
+ HX_("callStatus",70,be,2b,31),
+ HX_("audioTracks",fe,5c,2d,14),
+ HX_("videoTracks",63,c2,24,be),
+ HX_("dtmf",e9,ba,71,42),
+ HX_("sendIceCandidate",e0,74,39,0d),
+ HX_("supplyMedia",35,0c,c9,9a),
+ HX_("supplyMedia__fromC",e4,84,0e,e6),
+ HX_("setupPeerConnection",bd,67,52,ae),
+ HX_("setupLocalDescription",ee,5d,68,24),
+ HX_("onPeerConnection",df,b1,71,fc),
+ ::String(null()) };
+
+::hx::Class InitiatedSession_obj::__mClass;
+
+static ::String InitiatedSession_obj_sStaticFields[] = {
+ HX_("fromSessionInitiate",85,8d,dd,dd),
+ ::String(null())
+};
+
+void InitiatedSession_obj::__register()
+{
+ InitiatedSession_obj _hx_dummy;
+ InitiatedSession_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.calls.InitiatedSession",f1,c4,07,ac);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &InitiatedSession_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(InitiatedSession_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(InitiatedSession_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< InitiatedSession_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = InitiatedSession_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = InitiatedSession_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void InitiatedSession_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_329_boot)
+HXDLIN( 329) __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_("chatId__fromC",06,fc,b1,94), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(1,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)))))
+ ->setFixed(2,HX_("sid__fromC",2b,ef,18,af), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(3,HX_("videoTracks",63,c2,24,be), ::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_("audioTracks__fromC",3b,cf,6f,cd), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(5,HX_("videoTracks__fromC",76,10,46,d8), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(6,HX_("supplyMedia__fromC",e4,84,0e,e6), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(7,HX_("audioTracks",fe,5c,2d,14), ::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_("addMedia__fromC",d6,fb,b5,1b), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(9,HX_("addMedia",03,2b,19,7f), ::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))))))));
+ }
+}
+
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_snikket/src/snikket/jingle/Media.cpp b/Sources/c_borogove/src/borogove/calls/Media.cpp
similarity index 66%
rename from Sources/c_snikket/src/snikket/jingle/Media.cpp
rename to Sources/c_borogove/src/borogove/calls/Media.cpp
index b6dbc2c..fde294c 100644
--- a/Sources/c_snikket/src/snikket/jingle/Media.cpp
+++ b/Sources/c_borogove/src/borogove/calls/Media.cpp
@@ -10,56 +10,53 @@
#ifndef INCLUDED_Std
#include <Std.h>
#endif
-#ifndef INCLUDED_haxe_IMap
-#include <haxe/IMap.h>
-#endif
-#ifndef INCLUDED_haxe_ds_StringMap
-#include <haxe/ds/StringMap.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_calls_Attribute
+#include <borogove/calls/Attribute.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_calls_IceCandidate
+#include <borogove/calls/IceCandidate.h>
#endif
-#ifndef INCLUDED_snikket_jingle_Attribute
-#include <snikket/jingle/Attribute.h>
+#ifndef INCLUDED_borogove_calls_Media
+#include <borogove/calls/Media.h>
#endif
-#ifndef INCLUDED_snikket_jingle_IceCandidate
-#include <snikket/jingle/IceCandidate.h>
+#ifndef INCLUDED_borogove_calls_SessionDescription
+#include <borogove/calls/SessionDescription.h>
#endif
-#ifndef INCLUDED_snikket_jingle_Media
-#include <snikket/jingle/Media.h>
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
#endif
-#ifndef INCLUDED_snikket_jingle_SessionDescription
-#include <snikket/jingle/SessionDescription.h>
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_4daf6b6064f97b22_226_new,"snikket.jingle.Media","new",0x872bcf4a,"snikket.jingle.Media.new","snikket/jingle/SessionDescription.hx",226,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_361_toSdp,"snikket.jingle.Media","toSdp",0x001e596e,"snikket.jingle.Media.toSdp","snikket/jingle/SessionDescription.hx",361,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_369_contentElement,"snikket.jingle.Media","contentElement",0xbe6c47d9,"snikket.jingle.Media.contentElement","snikket/jingle/SessionDescription.hx",369,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_367_contentElement,"snikket.jingle.Media","contentElement",0xbe6c47d9,"snikket.jingle.Media.contentElement","snikket/jingle/SessionDescription.hx",367,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_371_contentElement,"snikket.jingle.Media","contentElement",0xbe6c47d9,"snikket.jingle.Media.contentElement","snikket/jingle/SessionDescription.hx",371,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_373_contentElement,"snikket.jingle.Media","contentElement",0xbe6c47d9,"snikket.jingle.Media.contentElement","snikket/jingle/SessionDescription.hx",373,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_442_toElement,"snikket.jingle.Media","toElement",0x4671f0eb,"snikket.jingle.Media.toElement","snikket/jingle/SessionDescription.hx",442,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_444_toElement,"snikket.jingle.Media","toElement",0x4671f0eb,"snikket.jingle.Media.toElement","snikket/jingle/SessionDescription.hx",444,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_459_toElement,"snikket.jingle.Media","toElement",0x4671f0eb,"snikket.jingle.Media.toElement","snikket/jingle/SessionDescription.hx",459,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_462_toElement,"snikket.jingle.Media","toElement",0x4671f0eb,"snikket.jingle.Media.toElement","snikket/jingle/SessionDescription.hx",462,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_379_toElement,"snikket.jingle.Media","toElement",0x4671f0eb,"snikket.jingle.Media.toElement","snikket/jingle/SessionDescription.hx",379,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_448_toElement,"snikket.jingle.Media","toElement",0x4671f0eb,"snikket.jingle.Media.toElement","snikket/jingle/SessionDescription.hx",448,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_453_toElement,"snikket.jingle.Media","toElement",0x4671f0eb,"snikket.jingle.Media.toElement","snikket/jingle/SessionDescription.hx",453,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_472_getUfragPwd,"snikket.jingle.Media","getUfragPwd",0x9b1eb236,"snikket.jingle.Media.getUfragPwd","snikket/jingle/SessionDescription.hx",472,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_473_getUfragPwd,"snikket.jingle.Media","getUfragPwd",0x9b1eb236,"snikket.jingle.Media.getUfragPwd","snikket/jingle/SessionDescription.hx",473,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_470_getUfragPwd,"snikket.jingle.Media","getUfragPwd",0x9b1eb236,"snikket.jingle.Media.getUfragPwd","snikket/jingle/SessionDescription.hx",470,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_484_toTransportElement,"snikket.jingle.Media","toTransportElement",0x23b23e04,"snikket.jingle.Media.toTransportElement","snikket/jingle/SessionDescription.hx",484,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_485_toTransportElement,"snikket.jingle.Media","toTransportElement",0x23b23e04,"snikket.jingle.Media.toTransportElement","snikket/jingle/SessionDescription.hx",485,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_478_toTransportElement,"snikket.jingle.Media","toTransportElement",0x23b23e04,"snikket.jingle.Media.toTransportElement","snikket/jingle/SessionDescription.hx",478,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_4daf6b6064f97b22_236_fromElement,"snikket.jingle.Media","fromElement",0xab450b5c,"snikket.jingle.Media.fromElement","snikket/jingle/SessionDescription.hx",236,0x68af748c)
-namespace snikket{
-namespace jingle{
+HX_DEFINE_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_226_new,"borogove.calls.Media","new",0xfdcbd4d0,"borogove.calls.Media.new","borogove/calls/SessionDescription.hx",226,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_361_toSdp,"borogove.calls.Media","toSdp",0x62ef4c74,"borogove.calls.Media.toSdp","borogove/calls/SessionDescription.hx",361,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_369_contentElement,"borogove.calls.Media","contentElement",0xb323c413,"borogove.calls.Media.contentElement","borogove/calls/SessionDescription.hx",369,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_367_contentElement,"borogove.calls.Media","contentElement",0xb323c413,"borogove.calls.Media.contentElement","borogove/calls/SessionDescription.hx",367,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_371_contentElement,"borogove.calls.Media","contentElement",0xb323c413,"borogove.calls.Media.contentElement","borogove/calls/SessionDescription.hx",371,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_373_contentElement,"borogove.calls.Media","contentElement",0xb323c413,"borogove.calls.Media.contentElement","borogove/calls/SessionDescription.hx",373,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_442_toElement,"borogove.calls.Media","toElement",0x249fdef1,"borogove.calls.Media.toElement","borogove/calls/SessionDescription.hx",442,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_444_toElement,"borogove.calls.Media","toElement",0x249fdef1,"borogove.calls.Media.toElement","borogove/calls/SessionDescription.hx",444,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_459_toElement,"borogove.calls.Media","toElement",0x249fdef1,"borogove.calls.Media.toElement","borogove/calls/SessionDescription.hx",459,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_462_toElement,"borogove.calls.Media","toElement",0x249fdef1,"borogove.calls.Media.toElement","borogove/calls/SessionDescription.hx",462,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_379_toElement,"borogove.calls.Media","toElement",0x249fdef1,"borogove.calls.Media.toElement","borogove/calls/SessionDescription.hx",379,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_448_toElement,"borogove.calls.Media","toElement",0x249fdef1,"borogove.calls.Media.toElement","borogove/calls/SessionDescription.hx",448,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_453_toElement,"borogove.calls.Media","toElement",0x249fdef1,"borogove.calls.Media.toElement","borogove/calls/SessionDescription.hx",453,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_472_getUfragPwd,"borogove.calls.Media","getUfragPwd",0xd328adbc,"borogove.calls.Media.getUfragPwd","borogove/calls/SessionDescription.hx",472,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_473_getUfragPwd,"borogove.calls.Media","getUfragPwd",0xd328adbc,"borogove.calls.Media.getUfragPwd","borogove/calls/SessionDescription.hx",473,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_470_getUfragPwd,"borogove.calls.Media","getUfragPwd",0xd328adbc,"borogove.calls.Media.getUfragPwd","borogove/calls/SessionDescription.hx",470,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_484_toTransportElement,"borogove.calls.Media","toTransportElement",0x55155f3e,"borogove.calls.Media.toTransportElement","borogove/calls/SessionDescription.hx",484,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_485_toTransportElement,"borogove.calls.Media","toTransportElement",0x55155f3e,"borogove.calls.Media.toTransportElement","borogove/calls/SessionDescription.hx",485,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_478_toTransportElement,"borogove.calls.Media","toTransportElement",0x55155f3e,"borogove.calls.Media.toTransportElement","borogove/calls/SessionDescription.hx",478,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_47b42bb0bd2f262c_236_fromElement,"borogove.calls.Media","fromElement",0xe34f06e2,"borogove.calls.Media.fromElement","borogove/calls/SessionDescription.hx",236,0xd9f63730)
+namespace borogove{
+namespace calls{
void Media_obj::__construct(::String mid,::String media,::String connectionData,::String port,::String protocol,::Array< ::Dynamic> attributes,::Array< int > formats){
- HX_STACKFRAME(&_hx_pos_4daf6b6064f97b22_226_new)
+ HX_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_226_new)
HXLINE( 227) this->mid = mid;
HXLINE( 228) this->media = media;
HXLINE( 229) this->connectionData = connectionData;
@@ -81,11 +78,11 @@ Dynamic Media_obj::__Create(::hx::DynamicArray inArgs)
}
bool Media_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x06e5f716;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x7e0e30f0;
}
::String Media_obj::toSdp(){
- HX_STACKFRAME(&_hx_pos_4daf6b6064f97b22_361_toSdp)
+ HX_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_361_toSdp)
HXLINE( 362) ::String _hx_tmp = ((((((HX_("m=",30,5f,00,00) + this->media) + HX_(" ",20,00,00,00)) + this->port) + HX_(" ",20,00,00,00)) + this->protocol) + HX_(" ",20,00,00,00));
HXDLIN( 362) ::String _hx_tmp1 = (((_hx_tmp + this->formats->join(HX_(" ",20,00,00,00))) + HX_("\r\n",5d,0b,00,00)) + HX_("c=",7a,56,00,00));
HXDLIN( 362) ::String _hx_tmp2 = ((_hx_tmp1 + this->connectionData) + HX_("\r\n",5d,0b,00,00));
@@ -98,7 +95,7 @@ HXDLIN( 364) while((_g < _g1)){
HXLINE( 364) _g = (_g + 1);
HXDLIN( 364) int i = (_g - 1);
HXDLIN( 364) {
-HXLINE( 364) ::String inValue = ( ( ::snikket::jingle::Attribute)(_hx_array_unsafe_get(_this,i)) )->toSdp();
+HXLINE( 364) ::String inValue = ( ( ::borogove::calls::Attribute)(_hx_array_unsafe_get(_this,i)) )->toSdp();
HXDLIN( 364) result->__unsafe_set(i,inValue);
}
}
@@ -109,15 +106,15 @@ HXLINE( 361) return (_hx_tmp2 + result->join(HX_("",00,00,00,00)));
HX_DEFINE_DYNAMIC_FUNC0(Media_obj,toSdp,return )
- ::snikket::Stanza Media_obj::contentElement(bool initiator){
+ ::borogove::Stanza Media_obj::contentElement(bool initiator){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_STACKFRAME(&_hx_pos_4daf6b6064f97b22_369_contentElement)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_369_contentElement)
HXLINE( 369) return (attr->key == HX_("inactive",6b,17,30,6a));
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4daf6b6064f97b22_367_contentElement)
+ HX_GC_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_367_contentElement)
HXLINE( 368) ::Dynamic attrs = ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("creator",ac,be,6a,11),HX_("initiator",af,ac,ed,3d))
->setFixed(1,HX_("name",4b,72,ff,48),this->mid)
@@ -127,8 +124,8 @@ HXLINE( 370) ::Reflect_obj::setField(attrs,HX_("senders",1e,f7,a9,a8),HX_("non
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_STACKFRAME(&_hx_pos_4daf6b6064f97b22_371_contentElement)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_371_contentElement)
HXLINE( 371) return (attr->key == HX_("sendonly",b4,56,a7,f2));
}
HX_END_LOCAL_FUNC1(return)
@@ -145,8 +142,8 @@ HXDLIN( 372) ::Reflect_obj::setField(attrs,HX_("senders",1e,f7,a9,a8),value);
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_STACKFRAME(&_hx_pos_4daf6b6064f97b22_373_contentElement)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_373_contentElement)
HXLINE( 373) return (attr->key == HX_("recvonly",92,5d,be,b0));
}
HX_END_LOCAL_FUNC1(return)
@@ -163,16 +160,16 @@ HXDLIN( 374) ::Reflect_obj::setField(attrs,HX_("senders",1e,f7,a9,a8),value1
}
}
}
-HXLINE( 376) return ::snikket::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);
}
HX_DEFINE_DYNAMIC_FUNC1(Media_obj,contentElement,return )
- ::snikket::Stanza Media_obj::toElement(::Array< ::Dynamic> sessionAttributes,bool initiator){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::Media,_gthis) HXARGC(2)
- int _hx_run( ::snikket::Stanza a, ::snikket::Stanza b){
- HX_GC_STACKFRAME(&_hx_pos_4daf6b6064f97b22_442_toElement)
+ ::borogove::Stanza Media_obj::toElement(::Array< ::Dynamic> sessionAttributes,bool initiator){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::Media,_gthis) HXARGC(2)
+ 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) ::Array< int > _gthis2 = _gthis->formats;
@@ -181,58 +178,57 @@ HXDLIN( 442) return (_hx_tmp - _gthis2->indexOf(::Std_obj::parseInt(( (::Strin
HX_END_LOCAL_FUNC2(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_4daf6b6064f97b22_444_toElement)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_GC_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_444_toElement)
HXLINE( 444) return (attr->key == HX_("extmap-allow-mixed",05,91,99,44));
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_5) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_4daf6b6064f97b22_459_toElement)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_GC_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_459_toElement)
HXLINE( 459) return (attr->key == HX_("rtcp-mux",72,08,78,80));
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_6) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_4daf6b6064f97b22_462_toElement)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_GC_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_462_toElement)
HXLINE( 462) return (attr->key == HX_("ice-lite",b0,64,44,1d));
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4daf6b6064f97b22_379_toElement)
-HXDLIN( 379) ::snikket::jingle::Media _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 380) ::snikket::Stanza content = this->contentElement(initiator);
-HXLINE( 381) ::snikket::Stanza description = content->tag(HX_("description",fc,08,1d,5f), ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_379_toElement)
+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))));
-HXLINE( 382) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 382) ::Array< ::Dynamic> _this = this->attributes;
+HXDLIN( 382) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 382) {
HXLINE( 382) int _g1 = 0;
-HXDLIN( 382) ::Array< ::Dynamic> _g2 = this->attributes;
-HXDLIN( 382) while((_g1 < _g2->length)){
-HXLINE( 382) ::snikket::jingle::Attribute v = _g2->__get(_g1).StaticCast< ::snikket::jingle::Attribute >();
+HXDLIN( 382) while((_g1 < _this->length)){
+HXLINE( 382) ::borogove::calls::Attribute v = _this->__get(_g1).StaticCast< ::borogove::calls::Attribute >();
HXDLIN( 382) _g1 = (_g1 + 1);
HXDLIN( 382) if ((v->key == HX_("rtcp-fb",1a,8f,ca,30))) {
HXLINE( 382) _g->push(v);
}
}
}
-HXDLIN( 382) ::Array< ::Dynamic> _this = _g;
-HXDLIN( 382) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN( 382) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
HXDLIN( 382) {
-HXLINE( 382) int _g3 = 0;
-HXDLIN( 382) int _g4 = _this->length;
-HXDLIN( 382) while((_g3 < _g4)){
-HXLINE( 382) _g3 = (_g3 + 1);
-HXDLIN( 382) int i = (_g3 - 1);
+HXLINE( 382) int _g2 = 0;
+HXDLIN( 382) int _g3 = _g->length;
+HXDLIN( 382) while((_g2 < _g3)){
+HXLINE( 382) _g2 = (_g2 + 1);
+HXDLIN( 382) int i = (_g2 - 1);
HXDLIN( 382) {
-HXLINE( 383) ::Array< ::String > segments = ( ( ::snikket::jingle::Attribute)(_hx_array_unsafe_get(_this,i)) )->value.split(HX_(" ",20,00,00,00));
+HXLINE( 383) ::Array< ::String > segments = ( ( ::borogove::calls::Attribute)(_hx_array_unsafe_get(_g,i)) )->value.split(HX_(" ",20,00,00,00));
HXLINE( 384) ::String segments1 = segments->__get(0);
-HXDLIN( 384) ::snikket::Stanza inValue;
+HXDLIN( 384) ::borogove::Stanza inValue;
HXDLIN( 384) if ((segments->__get(1) == HX_("trr-int",16,ba,25,2e))) {
-HXLINE( 384) inValue = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("rtcp-fb-trr-int",a3,02,fa,8c), ::Dynamic(::hx::Anon_obj::Create(2)
+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))));
}
@@ -241,10 +237,9 @@ HXLINE( 387) ::Dynamic fbattrs = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("type",ba,f2,08,4d),segments->__get(1))
->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:rtcp-fb:0",09,5f,fc,2a)));
HXLINE( 388) if ((segments->length >= 3)) {
-HXLINE( 388) ::String value = segments->__get(2);
-HXDLIN( 388) ::Reflect_obj::setField(fbattrs,HX_("subtype",3a,5c,33,30),value);
+HXLINE( 388) ::Reflect_obj::setField(fbattrs,HX_("subtype",3a,5c,33,30),segments->__get(2));
}
-HXLINE( 384) inValue = ::snikket::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);
}
HXLINE( 382) result->__unsafe_set(i, ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("el",67,58,00,00),inValue)
@@ -252,15 +247,14 @@ HXLINE( 382) result->__unsafe_set(i, ::Dynamic(::hx::Anon_obj::Create(2)
}
}
}
-HXDLIN( 382) ::Array< ::Dynamic> fbs = result;
HXLINE( 392) ::haxe::ds::StringMap ssrc = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
HXLINE( 393) ::haxe::ds::StringMap fmtp = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
HXLINE( 394) {
-HXLINE( 394) int _g5 = 0;
-HXDLIN( 394) ::Array< ::Dynamic> _g6 = this->attributes;
-HXDLIN( 394) while((_g5 < _g6->length)){
-HXLINE( 394) ::snikket::jingle::Attribute attr = _g6->__get(_g5).StaticCast< ::snikket::jingle::Attribute >();
-HXDLIN( 394) _g5 = (_g5 + 1);
+HXLINE( 394) int _g4 = 0;
+HXDLIN( 394) ::Array< ::Dynamic> _g5 = this->attributes;
+HXDLIN( 394) while((_g4 < _g5->length)){
+HXLINE( 394) ::borogove::calls::Attribute attr = _g5->__get(_g4).StaticCast< ::borogove::calls::Attribute >();
+HXDLIN( 394) _g4 = (_g4 + 1);
HXLINE( 395) if ((attr->key == HX_("fmtp",83,de,be,43))) {
HXLINE( 396) int pos = attr->value.indexOf(HX_(" ",20,00,00,00),null());
HXLINE( 397) if ((pos < 0)) {
@@ -271,11 +265,11 @@ HXLINE( 398) ::String key = attr->value.substr(0,pos);
HXDLIN( 398) ::Array< ::String > _this1 = attr->value.substr((pos + 1),null()).split(HX_(";",3b,00,00,00));
HXDLIN( 398) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(_this1->length);
HXDLIN( 398) {
-HXLINE( 398) int _g7 = 0;
-HXDLIN( 398) int _g8 = _this1->length;
-HXDLIN( 398) while((_g7 < _g8)){
-HXLINE( 398) _g7 = (_g7 + 1);
-HXDLIN( 398) int i1 = (_g7 - 1);
+HXLINE( 398) int _g6 = 0;
+HXDLIN( 398) int _g7 = _this1->length;
+HXDLIN( 398) while((_g6 < _g7)){
+HXLINE( 398) _g6 = (_g6 + 1);
+HXDLIN( 398) int i1 = (_g6 - 1);
HXDLIN( 398) {
HXLINE( 398) ::String param = ( (::String)(_hx_array_unsafe_get(_this1,i1)) );
HXLINE( 399) int eqPos = param.indexOf(HX_("=",3d,00,00,00),null());
@@ -289,11 +283,10 @@ HXLINE( 400) attrs = param;
HXDLIN( 400) ::Dynamic attrs1 = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("value",71,7f,b8,31),attrs));
HXLINE( 401) if ((eqPos > 0)) {
-HXLINE( 401) ::String value1 = param.substr(0,eqPos);
-HXDLIN( 401) ::Reflect_obj::setField(attrs1,HX_("name",4b,72,ff,48),value1);
+HXLINE( 401) ::String value = param.substr(0,eqPos);
+HXDLIN( 401) ::Reflect_obj::setField(attrs1,HX_("name",4b,72,ff,48),value);
}
-HXLINE( 398) ::snikket::Stanza inValue1 = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("parameter",a9,35,b0,48),attrs1);
-HXDLIN( 398) result1->__unsafe_set(i1,inValue1);
+HXLINE( 398) result1->__unsafe_set(i1, ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("parameter",a9,35,b0,48),attrs1));
}
}
}
@@ -322,11 +315,10 @@ HXLINE( 411) attrs2 = param1;
HXDLIN( 411) ::Dynamic attrs3 = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("name",4b,72,ff,48),attrs2));
HXLINE( 412) if ((colonPos > 0)) {
-HXLINE( 412) ::String value2 = param1.substr((colonPos + 1),null());
-HXDLIN( 412) ::Reflect_obj::setField(attrs3,HX_("value",71,7f,b8,31),value2);
+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> _hx_tmp = ( (::Array< ::Dynamic>)(ssrc->get(id)) );
-HXDLIN( 413) _hx_tmp->push( ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("parameter",a9,35,b0,48),attrs3));
+HXLINE( 413) ( (::Array< ::Dynamic>)(ssrc->get(id)) )->push( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("parameter",a9,35,b0,48),attrs3));
}
else {
HXLINE( 414) if ((attr->key == HX_("extmap",9b,d8,20,c7))) {
@@ -334,9 +326,9 @@ 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_tmp1 = attr->value.substr(0,pos2);
+HXLINE( 417) ::String _hx_tmp = 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_tmp1)
+ ->setFixed(0,HX_("id",db,5b,00,00),_hx_tmp)
->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();
}
@@ -346,15 +338,15 @@ HXLINE( 419) ::Array< ::String > segments2 = attr->value.split(HX_(" ",20
HXLINE( 420) if ((segments2->length < 2)) {
HXLINE( 420) continue;
}
-HXLINE( 421) ::snikket::Stanza group = description->tag(HX_("ssrc-group",03,b3,2d,49), ::Dynamic(::hx::Anon_obj::Create(2)
+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))));
HXLINE( 422) {
-HXLINE( 422) int _g9 = 0;
-HXDLIN( 422) ::Array< ::String > _g10 = segments2->slice(1,null());
-HXDLIN( 422) while((_g9 < _g10->length)){
-HXLINE( 422) ::String seg = _g10->__get(_g9);
-HXDLIN( 422) _g9 = (_g9 + 1);
+HXLINE( 422) int _g8 = 0;
+HXDLIN( 422) ::Array< ::String > _g9 = segments2->slice(1,null());
+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();
}
@@ -366,55 +358,52 @@ HXLINE( 425) group->up();
}
}
}
-HXLINE( 428) ::Array< ::Dynamic> _g11 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 428) ::Array< ::Dynamic> _g10 = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 428) {
-HXLINE( 428) int _g12 = 0;
-HXDLIN( 428) ::Array< ::Dynamic> _g13 = fbs;
-HXDLIN( 428) while((_g12 < _g13->length)){
-HXLINE( 428) ::Dynamic v1 = _g13->__get(_g12);
-HXDLIN( 428) _g12 = (_g12 + 1);
+HXLINE( 428) int _g11 = 0;
+HXDLIN( 428) while((_g11 < result->length)){
+HXLINE( 428) ::Dynamic v1 = result->__get(_g11);
+HXDLIN( 428) _g11 = (_g11 + 1);
HXDLIN( 428) if (::hx::IsEq( v1->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic),HX_("*",2a,00,00,00) )) {
-HXLINE( 428) _g11->push(v1);
+HXLINE( 428) _g10->push(v1);
}
}
}
-HXDLIN( 428) ::Array< ::Dynamic> _this2 = _g11;
-HXDLIN( 428) ::Array< ::Dynamic> result2 = ::Array_obj< ::Dynamic>::__new(_this2->length);
+HXDLIN( 428) ::Array< ::Dynamic> result2 = ::Array_obj< ::Dynamic>::__new(_g10->length);
HXDLIN( 428) {
-HXLINE( 428) int _g14 = 0;
-HXDLIN( 428) int _g15 = _this2->length;
-HXDLIN( 428) while((_g14 < _g15)){
-HXLINE( 428) _g14 = (_g14 + 1);
-HXDLIN( 428) int i2 = (_g14 - 1);
+HXLINE( 428) int _g12 = 0;
+HXDLIN( 428) int _g13 = _g10->length;
+HXDLIN( 428) while((_g12 < _g13)){
+HXLINE( 428) _g12 = (_g12 + 1);
+HXDLIN( 428) int i2 = (_g12 - 1);
HXDLIN( 428) {
-HXLINE( 428) ::snikket::Stanza inValue2 = ( ( ::snikket::Stanza)(_hx_array_unsafe_get(_this2,i2)->__Field(HX_("el",67,58,00,00),::hx::paccDynamic)) );
-HXDLIN( 428) result2->__unsafe_set(i2,inValue2);
+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);
}
}
}
HXDLIN( 428) description->addChildren(result2);
-HXLINE( 429) ::Array< ::Dynamic> _g16 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 429) ::Array< ::Dynamic> _this2 = this->attributes;
+HXDLIN( 429) ::Array< ::Dynamic> _g14 = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 429) {
-HXLINE( 429) int _g17 = 0;
-HXDLIN( 429) ::Array< ::Dynamic> _g18 = this->attributes;
-HXDLIN( 429) while((_g17 < _g18->length)){
-HXLINE( 429) ::snikket::jingle::Attribute v2 = _g18->__get(_g17).StaticCast< ::snikket::jingle::Attribute >();
-HXDLIN( 429) _g17 = (_g17 + 1);
+HXLINE( 429) int _g15 = 0;
+HXDLIN( 429) while((_g15 < _this2->length)){
+HXLINE( 429) ::borogove::calls::Attribute v2 = _this2->__get(_g15).StaticCast< ::borogove::calls::Attribute >();
+HXDLIN( 429) _g15 = (_g15 + 1);
HXDLIN( 429) if ((v2->key == HX_("rtpmap",ee,5c,85,a9))) {
-HXLINE( 429) _g16->push(v2);
+HXLINE( 429) _g14->push(v2);
}
}
}
-HXDLIN( 429) ::Array< ::Dynamic> _this3 = _g16;
-HXDLIN( 429) ::Array< ::Dynamic> result3 = ::Array_obj< ::Dynamic>::__new(_this3->length);
+HXDLIN( 429) ::Array< ::Dynamic> result3 = ::Array_obj< ::Dynamic>::__new(_g14->length);
HXDLIN( 429) {
-HXLINE( 429) int _g19 = 0;
-HXDLIN( 429) int _g20 = _this3->length;
-HXDLIN( 429) while((_g19 < _g20)){
-HXLINE( 429) _g19 = (_g19 + 1);
-HXDLIN( 429) int i3 = (_g19 - 1);
+HXLINE( 429) int _g16 = 0;
+HXDLIN( 429) int _g17 = _g14->length;
+HXDLIN( 429) while((_g16 < _g17)){
+HXLINE( 429) _g16 = (_g16 + 1);
+HXDLIN( 429) int i3 = (_g16 - 1);
HXDLIN( 429) {
-HXLINE( 429) ::snikket::jingle::Attribute rtpmap = ( ( ::snikket::jingle::Attribute)(_hx_array_unsafe_get(_this3,i3)) );
+HXLINE( 429) ::borogove::calls::Attribute rtpmap = ( ( ::borogove::calls::Attribute)(_hx_array_unsafe_get(_g14,i3)) );
HXLINE( 430) int pos3 = rtpmap->value.indexOf(HX_(" ",20,00,00,00),null());
HXLINE( 431) if ((pos3 < 0)) {
HXLINE( 431) HX_STACK_DO_THROW(HX_("invalid rtpmap",f7,b6,a7,cc));
@@ -424,129 +413,121 @@ HXLINE( 433) ::Array< ::String > segments3 = rtpmap->value.substr((pos3 + 1)
HXLINE( 434) ::Dynamic attrs4 = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("id",db,5b,00,00),id1));
HXLINE( 435) if ((segments3->length > 0)) {
-HXLINE( 435) ::String value3 = segments3->__get(0);
-HXDLIN( 435) ::Reflect_obj::setField(attrs4,HX_("name",4b,72,ff,48),value3);
+HXLINE( 435) ::Reflect_obj::setField(attrs4,HX_("name",4b,72,ff,48),segments3->__get(0));
}
HXLINE( 436) if ((segments3->length > 1)) {
-HXLINE( 436) ::String value4 = segments3->__get(1);
-HXDLIN( 436) ::Reflect_obj::setField(attrs4,HX_("clockrate",ae,5b,4b,39),value4);
+HXLINE( 436) ::Reflect_obj::setField(attrs4,HX_("clockrate",ae,5b,4b,39),segments3->__get(1));
}
-HXLINE( 437) bool _hx_tmp2;
-HXDLIN( 437) bool _hx_tmp3;
+HXLINE( 437) bool _hx_tmp1;
+HXDLIN( 437) bool _hx_tmp2;
HXDLIN( 437) if ((segments3->length > 2)) {
-HXLINE( 437) _hx_tmp3 = (segments3->__get(2) != HX_("",00,00,00,00));
+HXLINE( 437) _hx_tmp2 = (segments3->__get(2) != HX_("",00,00,00,00));
}
else {
-HXLINE( 437) _hx_tmp3 = false;
+HXLINE( 437) _hx_tmp2 = false;
}
-HXDLIN( 437) if (_hx_tmp3) {
-HXLINE( 437) _hx_tmp2 = (segments3->__get(2) != HX_("1",31,00,00,00));
+HXDLIN( 437) if (_hx_tmp2) {
+HXLINE( 437) _hx_tmp1 = (segments3->__get(2) != HX_("1",31,00,00,00));
}
else {
-HXLINE( 437) _hx_tmp2 = false;
+HXLINE( 437) _hx_tmp1 = false;
}
-HXDLIN( 437) if (_hx_tmp2) {
-HXLINE( 437) ::String value5 = segments3->__get(2);
-HXDLIN( 437) ::Reflect_obj::setField(attrs4,HX_("channels",50,aa,ee,6a),value5);
+HXDLIN( 437) if (_hx_tmp1) {
+HXLINE( 437) ::Reflect_obj::setField(attrs4,HX_("channels",50,aa,ee,6a),segments3->__get(2));
}
-HXLINE( 438) ::snikket::Stanza inValue3 = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("payload-type",19,2b,54,39),attrs4);
-HXLINE( 439) ::Array< ::Dynamic> _g21 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 438) ::borogove::Stanza inValue2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("payload-type",19,2b,54,39),attrs4);
+HXLINE( 439) ::Array< ::Dynamic> _g18 = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 439) {
-HXLINE( 439) int _g22 = 0;
-HXDLIN( 439) ::Array< ::Dynamic> _g23 = fbs;
-HXDLIN( 439) while((_g22 < _g23->length)){
-HXLINE( 439) ::Dynamic v3 = _g23->__get(_g22);
-HXDLIN( 439) _g22 = (_g22 + 1);
+HXLINE( 439) int _g19 = 0;
+HXDLIN( 439) while((_g19 < result->length)){
+HXLINE( 439) ::Dynamic v3 = result->__get(_g19);
+HXDLIN( 439) _g19 = (_g19 + 1);
HXDLIN( 439) if (::hx::IsEq( v3->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic),id1 )) {
-HXLINE( 439) _g21->push(v3);
+HXLINE( 439) _g18->push(v3);
}
}
}
-HXDLIN( 439) ::Array< ::Dynamic> _this4 = _g21;
-HXDLIN( 439) ::Array< ::Dynamic> result4 = ::Array_obj< ::Dynamic>::__new(_this4->length);
+HXDLIN( 439) ::Array< ::Dynamic> result4 = ::Array_obj< ::Dynamic>::__new(_g18->length);
HXDLIN( 439) {
-HXLINE( 439) int _g24 = 0;
-HXDLIN( 439) int _g25 = _this4->length;
-HXDLIN( 439) while((_g24 < _g25)){
-HXLINE( 439) _g24 = (_g24 + 1);
-HXDLIN( 439) int i4 = (_g24 - 1);
+HXLINE( 439) int _g20 = 0;
+HXDLIN( 439) int _g21 = _g18->length;
+HXDLIN( 439) while((_g20 < _g21)){
+HXLINE( 439) _g20 = (_g20 + 1);
+HXDLIN( 439) int i4 = (_g20 - 1);
HXDLIN( 439) {
-HXLINE( 439) ::snikket::Stanza inValue4 = ( ( ::snikket::Stanza)(_hx_array_unsafe_get(_this4,i4)->__Field(HX_("el",67,58,00,00),::hx::paccDynamic)) );
-HXDLIN( 439) result4->__unsafe_set(i4,inValue4);
+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( 438) ::snikket::Stanza inValue5 = inValue3->addChildren(result4);
-HXLINE( 440) ::Dynamic inValue6;
+HXLINE( 438) ::borogove::Stanza inValue4 = inValue2->addChildren(result4);
+HXLINE( 440) ::Dynamic inValue5;
HXDLIN( 440) if (::hx::IsNull( ( (::Array< ::Dynamic>)(fmtp->get(id1)) ) )) {
-HXLINE( 440) inValue6 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 440) inValue5 = ::Array_obj< ::Dynamic>::__new(0);
}
else {
-HXLINE( 440) inValue6 = ( (::Array< ::Dynamic>)(fmtp->get(id1)) );
+HXLINE( 440) inValue5 = ( (::Array< ::Dynamic>)(fmtp->get(id1)) );
}
-HXLINE( 429) ::snikket::Stanza inValue7 = inValue5->addChildren(inValue6);
-HXDLIN( 429) result3->__unsafe_set(i3,inValue7);
+HXLINE( 429) ::borogove::Stanza inValue6 = inValue4->addChildren(inValue5);
+HXDLIN( 429) result3->__unsafe_set(i3,inValue6);
}
}
}
-HXDLIN( 429) ::Array< ::Dynamic> rtpmaps = result3;
-HXLINE( 442) rtpmaps->sort( ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 443) description->addChildren(rtpmaps);
-HXLINE( 444) bool _hx_tmp4;
+HXLINE( 442) result3->sort( ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 443) description->addChildren(result3);
+HXLINE( 444) bool _hx_tmp3;
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( ::snikket::jingle::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_4daf6b6064f97b22_444_toElement)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_GC_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_444_toElement)
HXLINE( 444) return (attr->key == HX_("extmap-allow-mixed",05,91,99,44));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 444) _hx_tmp4 = ::Lambda_obj::exists(sessionAttributes, ::Dynamic(new _hx_Closure_2()));
+HXLINE( 444) _hx_tmp3 = ::Lambda_obj::exists(sessionAttributes, ::Dynamic(new _hx_Closure_2()));
}
else {
-HXLINE( 444) _hx_tmp4 = true;
+HXLINE( 444) _hx_tmp3 = true;
}
-HXDLIN( 444) if (_hx_tmp4) {
+HXDLIN( 444) if (_hx_tmp3) {
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();
}
HXLINE( 447) {
HXLINE( 447) ::Dynamic map = ssrc;
-HXDLIN( 447) ::Dynamic entry_map = map;
HXDLIN( 447) ::Dynamic entry_keys = ::haxe::IMap_obj::keys(map);
HXDLIN( 447) while(( (bool)(entry_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_3) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_4daf6b6064f97b22_448_toElement)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_GC_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_448_toElement)
HXLINE( 448) return (attr->key == HX_("msid",c1,e0,63,48));
}
HX_END_LOCAL_FUNC1(return)
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(entry_map,key1)) );
-HXDLIN( 447) ::String entry_key = key1;
-HXLINE( 448) ::snikket::jingle::Attribute msid = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(this->attributes, ::Dynamic(new _hx_Closure_3()))) );
-HXLINE( 453) bool _hx_tmp5;
+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;
HXDLIN( 453) if (::hx::IsNotNull( msid )) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_4) HXARGC(1)
- bool _hx_run( ::snikket::Stanza param){
- HX_GC_STACKFRAME(&_hx_pos_4daf6b6064f97b22_453_toElement)
+ 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));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 453) _hx_tmp5 = !(::Lambda_obj::exists(entry_value, ::Dynamic(new _hx_Closure_4())));
+HXLINE( 453) _hx_tmp4 = !(::Lambda_obj::exists(entry_value, ::Dynamic(new _hx_Closure_4())));
}
else {
-HXLINE( 453) _hx_tmp5 = false;
+HXLINE( 453) _hx_tmp4 = false;
}
-HXDLIN( 453) if (_hx_tmp5) {
-HXLINE( 454) entry_value->push( ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("parameter",a9,35,b0,48), ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN( 453) if (_hx_tmp4) {
+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)))));
}
HXLINE( 456) description->tag(HX_("source",db,b0,31,32), ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("ssrc",51,30,5b,4c),entry_key)
+ ->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();
}
}
@@ -566,31 +547,30 @@ HX_DEFINE_DYNAMIC_FUNC2(Media_obj,toElement,return )
::Dynamic Media_obj::getUfragPwd(::Array< ::Dynamic> sessionAttributes){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_STACKFRAME(&_hx_pos_4daf6b6064f97b22_472_getUfragPwd)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_472_getUfragPwd)
HXLINE( 472) return (attr->key == HX_("ice-ufrag",65,c2,31,ab));
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_STACKFRAME(&_hx_pos_4daf6b6064f97b22_473_getUfragPwd)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_473_getUfragPwd)
HXLINE( 473) return (attr->key == HX_("ice-pwd",3b,03,2f,e9));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4daf6b6064f97b22_470_getUfragPwd)
-HXLINE( 471) ::Array< ::Dynamic> tmp = sessionAttributes;
-HXDLIN( 471) ::Array< ::Dynamic> allAttributes;
-HXDLIN( 471) if (::hx::IsNotNull( tmp )) {
-HXLINE( 471) allAttributes = tmp;
+ HX_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_470_getUfragPwd)
+HXLINE( 471) ::Array< ::Dynamic> allAttributes;
+HXDLIN( 471) if (::hx::IsNotNull( sessionAttributes )) {
+HXLINE( 471) allAttributes = sessionAttributes;
}
else {
HXLINE( 471) allAttributes = ::Array_obj< ::Dynamic>::__new(0);
}
HXDLIN( 471) ::Array< ::Dynamic> allAttributes1 = this->attributes->concat(allAttributes);
-HXLINE( 472) ::snikket::jingle::Attribute ufrag = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(allAttributes1, ::Dynamic(new _hx_Closure_0()))) );
-HXLINE( 473) ::snikket::jingle::Attribute pwd = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(allAttributes1, ::Dynamic(new _hx_Closure_1()))) );
+HXLINE( 472) ::borogove::calls::Attribute ufrag = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(allAttributes1, ::Dynamic(new _hx_Closure_0()))) );
+HXLINE( 473) ::borogove::calls::Attribute pwd = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(allAttributes1, ::Dynamic(new _hx_Closure_1()))) );
HXLINE( 474) bool _hx_tmp;
HXDLIN( 474) if (::hx::IsNotNull( ufrag )) {
HXLINE( 474) _hx_tmp = ::hx::IsNull( pwd );
@@ -609,37 +589,30 @@ HXLINE( 475) return ::Dynamic(::hx::Anon_obj::Create(2)
HX_DEFINE_DYNAMIC_FUNC1(Media_obj,getUfragPwd,return )
- ::snikket::Stanza Media_obj::toTransportElement(::Array< ::Dynamic> sessionAttributes){
+ ::borogove::Stanza Media_obj::toTransportElement(::Array< ::Dynamic> sessionAttributes){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_4daf6b6064f97b22_484_toTransportElement)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_GC_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_484_toTransportElement)
HXLINE( 484) return (attr->key == HX_("fingerprint",e4,43,63,a3));
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_4daf6b6064f97b22_485_toTransportElement)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_GC_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_485_toTransportElement)
HXLINE( 485) return (attr->key == HX_("setup",7d,ae,2f,7a));
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4daf6b6064f97b22_478_toTransportElement)
-HXDLIN( 478) ::snikket::jingle::Media _gthis = ::hx::ObjectPtr<OBJ_>(this);
+ HX_GC_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_478_toTransportElement)
HXLINE( 479) ::Dynamic transportAttr = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:transports:ice-udp:1",f3,67,4f,53)));
HXLINE( 480) ::Dynamic ufragPwd = this->getUfragPwd(sessionAttributes);
-HXLINE( 481) {
-HXLINE( 481) ::String value = ( (::String)(ufragPwd->__Field(HX_("ufrag",27,78,a4,a1),::hx::paccDynamic)) );
-HXDLIN( 481) ::Reflect_obj::setField(transportAttr,HX_("ufrag",27,78,a4,a1),value);
- }
-HXLINE( 482) {
-HXLINE( 482) ::String value1 = ( (::String)(ufragPwd->__Field(HX_("pwd",7d,64,55,00),::hx::paccDynamic)) );
-HXDLIN( 482) ::Reflect_obj::setField(transportAttr,HX_("pwd",7d,64,55,00),value1);
- }
-HXLINE( 483) ::snikket::Stanza transport = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("transport",a9,4f,2f,4c),transportAttr);
-HXLINE( 484) ::snikket::jingle::Attribute fingerprint = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(this->attributes->concat(sessionAttributes), ::Dynamic(new _hx_Closure_0()))) );
-HXLINE( 485) ::snikket::jingle::Attribute setup = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(this->attributes->concat(sessionAttributes), ::Dynamic(new _hx_Closure_1()))) );
+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( 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;
HXDLIN( 486) bool _hx_tmp1;
HXDLIN( 486) if (::hx::IsNotNull( fingerprint )) {
@@ -663,29 +636,28 @@ HXDLIN( 488) transport->textTag(HX_("fingerprint",e4,43,63,a3),_hx_tmp2, ::Dyn
->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)));
}
-HXLINE( 490) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 490) ::Array< ::Dynamic> _this = this->attributes;
+HXDLIN( 490) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 490) {
HXLINE( 490) int _g1 = 0;
-HXDLIN( 490) ::Array< ::Dynamic> _g2 = this->attributes;
-HXDLIN( 490) while((_g1 < _g2->length)){
-HXLINE( 490) ::snikket::jingle::Attribute v = _g2->__get(_g1).StaticCast< ::snikket::jingle::Attribute >();
+HXDLIN( 490) while((_g1 < _this->length)){
+HXLINE( 490) ::borogove::calls::Attribute v = _this->__get(_g1).StaticCast< ::borogove::calls::Attribute >();
HXDLIN( 490) _g1 = (_g1 + 1);
HXDLIN( 490) if ((v->key == HX_("candidate",43,34,d8,d0))) {
HXLINE( 490) _g->push(v);
}
}
}
-HXDLIN( 490) ::Array< ::Dynamic> _this = _g;
-HXDLIN( 490) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN( 490) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
HXDLIN( 490) {
-HXLINE( 490) int _g3 = 0;
-HXDLIN( 490) int _g4 = _this->length;
-HXDLIN( 490) while((_g3 < _g4)){
-HXLINE( 490) _g3 = (_g3 + 1);
-HXDLIN( 490) int i = (_g3 - 1);
+HXLINE( 490) int _g2 = 0;
+HXDLIN( 490) int _g3 = _g->length;
+HXDLIN( 490) while((_g2 < _g3)){
+HXLINE( 490) _g2 = (_g2 + 1);
+HXDLIN( 490) int i = (_g2 - 1);
HXDLIN( 490) {
-HXLINE( 490) ::snikket::jingle::Attribute attr = ( ( ::snikket::jingle::Attribute)(_hx_array_unsafe_get(_this,i)) );
-HXDLIN( 490) ::snikket::Stanza inValue = ::snikket::jingle::IceCandidate_obj::parse(attr->value,_gthis->mid,( (::String)(ufragPwd->__Field(HX_("ufrag",27,78,a4,a1),::hx::paccDynamic)) ))->toElement();
+HXLINE( 490) ::borogove::calls::Attribute attr = ( ( ::borogove::calls::Attribute)(_hx_array_unsafe_get(_g,i)) );
+HXDLIN( 490) ::borogove::Stanza inValue = ::borogove::calls::IceCandidate_obj::parse(attr->value,this->mid,( (::String)(ufragPwd->__Field(HX_("ufrag",27,78,a4,a1),::hx::paccDynamic)) ))->toElement();
HXDLIN( 490) result->__unsafe_set(i,inValue);
}
}
@@ -698,12 +670,12 @@ HXLINE( 492) return transport;
HX_DEFINE_DYNAMIC_FUNC1(Media_obj,toTransportElement,return )
- ::snikket::jingle::Media Media_obj::fromElement( ::snikket::Stanza content,bool initiator,bool hasGroup, ::snikket::jingle::SessionDescription existingDescription){
- HX_GC_STACKFRAME(&_hx_pos_4daf6b6064f97b22_236_fromElement)
+ ::borogove::calls::Media Media_obj::fromElement( ::borogove::Stanza content,bool initiator,bool hasGroup, ::borogove::calls::SessionDescription existingDescription){
+ 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( 240) ::snikket::Stanza transport = content->getChild(HX_("transport",a9,4f,2f,4c),HX_("urn:xmpp:jingle:transports:ice-udp:1",f3,67,4f,53));
+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));
}
@@ -731,13 +703,13 @@ HXLINE( 248) pwd = ( (::String)(ufragPwd->__Field(HX_("pwd",7d,64,55,00),::hx:
HXLINE( 250) if (::hx::IsNull( ufrag )) {
HXLINE( 250) HX_STACK_DO_THROW(HX_("transport is missing ufrag",8e,23,4a,8e));
}
-HXLINE( 251) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("ice-ufrag",65,c2,31,ab),ufrag));
+HXLINE( 251) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("ice-ufrag",65,c2,31,ab),ufrag));
HXLINE( 253) if (::hx::IsNull( pwd )) {
HXLINE( 253) HX_STACK_DO_THROW(HX_("transport is missing pwd",24,98,c9,c0));
}
-HXLINE( 254) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("ice-pwd",3b,03,2f,e9),pwd));
-HXLINE( 255) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("ice-options",1c,09,21,5f),HX_("trickle",cc,89,3d,23)));
-HXLINE( 257) ::snikket::Stanza fingerprint = transport->getChild(HX_("fingerprint",e4,43,63,a3),HX_("urn:xmpp:jingle:apps:dtls:0",a8,cb,02,66));
+HXLINE( 254) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("ice-pwd",3b,03,2f,e9),pwd));
+HXLINE( 255) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("ice-options",1c,09,21,5f),HX_("trickle",cc,89,3d,23)));
+HXLINE( 257) ::borogove::Stanza fingerprint = transport->getChild(HX_("fingerprint",e4,43,63,a3),HX_("urn:xmpp:jingle:apps:dtls:0",a8,cb,02,66));
HXLINE( 258) if (::hx::IsNull( fingerprint )) {
HXLINE( 259) if (::hx::IsNotNull( existingDescription )) {
HXLINE( 260) mediaAttributes->push(existingDescription->getFingerprint());
@@ -745,17 +717,17 @@ 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));
-HXDLIN( 263) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("fingerprint",e4,43,63,a3),(_hx_tmp2 + fingerprint->getText())));
+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( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("setup",7d,ae,2f,7a),( (::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( 269) ::snikket::Stanza description = content->getChild(HX_("description",fc,08,1d,5f),HX_("urn:xmpp:jingle:apps:rtp:1",ea,41,fe,5c));
+HXLINE( 269) ::borogove::Stanza description = content->getChild(HX_("description",fc,08,1d,5f),HX_("urn:xmpp:jingle:apps:rtp:1",ea,41,fe,5c));
HXLINE( 270) {
HXLINE( 270) int _g = 0;
HXDLIN( 270) ::Array< ::Dynamic> _g1 = description->allTags(HX_("payload-type",19,2b,54,39),null());
HXDLIN( 270) while((_g < _g1->length)){
-HXLINE( 270) ::snikket::Stanza payloadType = _g1->__get(_g).StaticCast< ::snikket::Stanza >();
+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))) ) )) {
@@ -786,7 +758,7 @@ HXLINE( 276) _hx_tmp5 = HX_("",00,00,00,00);
else {
HXLINE( 276) _hx_tmp5 = (HX_("/",2f,00,00,00) + channels);
}
-HXDLIN( 276) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("rtpmap",ee,5c,85,a9),((_hx_tmp3 + _hx_tmp4) + _hx_tmp5)));
+HXDLIN( 276) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("rtpmap",ee,5c,85,a9),((_hx_tmp3 + _hx_tmp4) + _hx_tmp5)));
HXLINE( 278) ::Array< ::Dynamic> _this = payloadType->allTags(HX_("parameter",a9,35,b0,48),null());
HXDLIN( 278) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
HXDLIN( 278) {
@@ -796,7 +768,7 @@ HXDLIN( 278) while((_g2 < _g3)){
HXLINE( 278) _g2 = (_g2 + 1);
HXDLIN( 278) int i = (_g2 - 1);
HXDLIN( 278) {
-HXLINE( 278) ::snikket::Stanza el = ( ( ::snikket::Stanza)(_hx_array_unsafe_get(_this,i)) );
+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))) ) )) {
HXLINE( 278) inValue = HX_("",00,00,00,00);
@@ -809,15 +781,14 @@ HXDLIN( 278) result->__unsafe_set(i,inValue1);
}
}
}
-HXDLIN( 278) ::Array< ::String > parameters = result;
-HXLINE( 279) if ((parameters->length > 0)) {
-HXLINE( 280) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("fmtp",83,de,be,43),((id + HX_(" ",20,00,00,00)) + parameters->join(HX_(";",3b,00,00,00)))));
+HXLINE( 279) if ((result->length > 0)) {
+HXLINE( 280) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("fmtp",83,de,be,43),((id + HX_(" ",20,00,00,00)) + result->join(HX_(";",3b,00,00,00)))));
}
HXLINE( 283) {
HXLINE( 283) int _g4 = 0;
HXDLIN( 283) ::Array< ::Dynamic> _g5 = payloadType->allTags(HX_("rtcp-fb",1a,8f,ca,30),HX_("urn:xmpp:jingle:apps:rtp:rtcp-fb:0",09,5f,fc,2a));
HXDLIN( 283) while((_g4 < _g5->length)){
-HXLINE( 283) ::snikket::Stanza feedbackNegotiation = _g5->__get(_g4).StaticCast< ::snikket::Stanza >();
+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))) ));
@@ -835,16 +806,16 @@ HXLINE( 285) _hx_tmp8 = HX_("",00,00,00,00);
else {
HXLINE( 285) _hx_tmp8 = (HX_(" ",20,00,00,00) + subtype);
}
-HXDLIN( 285) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("rtcp-fb",1a,8f,ca,30),(_hx_tmp7 + _hx_tmp8)));
+HXDLIN( 285) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("rtcp-fb",1a,8f,ca,30),(_hx_tmp7 + _hx_tmp8)));
}
}
HXLINE( 288) {
HXLINE( 288) int _g6 = 0;
HXDLIN( 288) ::Array< ::Dynamic> _g7 = payloadType->allTags(HX_("rtcp-fb-trr-int",a3,02,fa,8c),HX_("urn:xmpp:jingle:apps:rtp:rtcp-fb:0",09,5f,fc,2a));
HXDLIN( 288) while((_g6 < _g7->length)){
-HXLINE( 288) ::snikket::Stanza trrInt = _g7->__get(_g6).StaticCast< ::snikket::Stanza >();
+HXLINE( 288) ::borogove::Stanza trrInt = _g7->__get(_g6).StaticCast< ::borogove::Stanza >();
HXDLIN( 288) _g6 = (_g6 + 1);
-HXLINE( 289) mediaAttributes->push( ::snikket::jingle::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)) + ( (::String)(::Reflect_obj::field(trrInt->attr,HX_("value",71,7f,b8,31))) ))));
}
}
}
@@ -853,7 +824,7 @@ HXLINE( 293) {
HXLINE( 293) int _g8 = 0;
HXDLIN( 293) ::Array< ::Dynamic> _g9 = description->allTags(HX_("rtcp-fb",1a,8f,ca,30),HX_("urn:xmpp:jingle:apps:rtp:rtcp-fb:0",09,5f,fc,2a));
HXDLIN( 293) while((_g8 < _g9->length)){
-HXLINE( 293) ::snikket::Stanza feedbackNegotiation1 = _g9->__get(_g8).StaticCast< ::snikket::Stanza >();
+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))) ));
@@ -871,36 +842,36 @@ HXLINE( 295) _hx_tmp11 = HX_("",00,00,00,00);
else {
HXLINE( 295) _hx_tmp11 = (HX_(" ",20,00,00,00) + subtype1);
}
-HXDLIN( 295) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("rtcp-fb",1a,8f,ca,30),(_hx_tmp10 + _hx_tmp11)));
+HXDLIN( 295) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("rtcp-fb",1a,8f,ca,30),(_hx_tmp10 + _hx_tmp11)));
}
}
HXLINE( 298) {
HXLINE( 298) int _g10 = 0;
HXDLIN( 298) ::Array< ::Dynamic> _g11 = description->allTags(HX_("rtcp-fb-trr-int",a3,02,fa,8c),HX_("urn:xmpp:jingle:apps:rtp:rtcp-fb:0",09,5f,fc,2a));
HXDLIN( 298) while((_g10 < _g11->length)){
-HXLINE( 298) ::snikket::Stanza trrInt1 = _g11->__get(_g10).StaticCast< ::snikket::Stanza >();
+HXLINE( 298) ::borogove::Stanza trrInt1 = _g11->__get(_g10).StaticCast< ::borogove::Stanza >();
HXDLIN( 298) _g10 = (_g10 + 1);
-HXLINE( 299) mediaAttributes->push( ::snikket::jingle::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) + ( (::String)(::Reflect_obj::field(trrInt1->attr,HX_("value",71,7f,b8,31))) ))));
}
}
HXLINE( 302) {
HXLINE( 302) int _g12 = 0;
HXDLIN( 302) ::Array< ::Dynamic> _g13 = description->allTags(HX_("rtp-hdrext",aa,ab,bb,00),HX_("urn:xmpp:jingle:apps:rtp:rtp-hdrext:0",c7,33,ab,6d));
HXDLIN( 302) while((_g12 < _g13->length)){
-HXLINE( 302) ::snikket::Stanza headerExtension = _g13->__get(_g12).StaticCast< ::snikket::Stanza >();
+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( ::snikket::jingle::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))) ))));
+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( 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)) )) {
-HXLINE( 307) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("extmap-allow-mixed",05,91,99,44),HX_("",00,00,00,00)));
+HXLINE( 307) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("extmap-allow-mixed",05,91,99,44),HX_("",00,00,00,00)));
}
HXLINE( 310) {
HXLINE( 310) int _g14 = 0;
HXDLIN( 310) ::Array< ::Dynamic> _g15 = description->allTags(HX_("ssrc-group",03,b3,2d,49),HX_("urn:xmpp:jingle:apps:rtp:ssma:0",51,23,31,6f));
HXDLIN( 310) while((_g14 < _g15->length)){
-HXLINE( 310) ::snikket::Stanza sourceGroup = _g15->__get(_g14).StaticCast< ::snikket::Stanza >();
+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));
HXDLIN( 311) ::Array< ::Dynamic> _this1 = sourceGroup->allTags(HX_("source",db,b0,31,32),null());
@@ -912,65 +883,65 @@ 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(( ( ::snikket::Stanza)(_hx_array_unsafe_get(_this1,i1)) )->attr,HX_("ssrc",51,30,5b,4c))) );
+HXLINE( 311) ::String inValue2 = ( (::String)(::Reflect_obj::field(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this1,i1)) )->attr,HX_("ssrc",51,30,5b,4c))) );
HXDLIN( 311) result1->__unsafe_set(i1,inValue2);
}
}
}
-HXDLIN( 311) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("ssrc-group",03,b3,2d,49),(_hx_tmp14 + result1->join(HX_(" ",20,00,00,00)))));
+HXDLIN( 311) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("ssrc-group",03,b3,2d,49),(_hx_tmp14 + result1->join(HX_(" ",20,00,00,00)))));
}
}
HXLINE( 314) {
HXLINE( 314) int _g18 = 0;
HXDLIN( 314) ::Array< ::Dynamic> _g19 = description->allTags(HX_("source",db,b0,31,32),HX_("urn:xmpp:jingle:apps:rtp:ssma:0",51,23,31,6f));
HXDLIN( 314) while((_g18 < _g19->length)){
-HXLINE( 314) ::snikket::Stanza source = _g19->__get(_g18).StaticCast< ::snikket::Stanza >();
+HXLINE( 314) ::borogove::Stanza source = _g19->__get(_g18).StaticCast< ::borogove::Stanza >();
HXDLIN( 314) _g18 = (_g18 + 1);
HXLINE( 315) {
HXLINE( 315) int _g20 = 0;
HXDLIN( 315) ::Array< ::Dynamic> _g21 = source->allTags(HX_("parameter",a9,35,b0,48),null());
HXDLIN( 315) while((_g20 < _g21->length)){
-HXLINE( 315) ::snikket::Stanza parameter = _g21->__get(_g20).StaticCast< ::snikket::Stanza >();
+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( ::snikket::jingle::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))) ))));
+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( 320) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("mid",88,11,53,00),mid));
+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))) );
HXDLIN( 322) if (::hx::IsNull( _g22 )) {
-HXLINE( 338) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("sendrecv",6e,1e,9c,f4),HX_("",00,00,00,00)));
+HXLINE( 338) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("sendrecv",6e,1e,9c,f4),HX_("",00,00,00,00)));
}
else {
HXLINE( 322) ::String _hx_switch_0 = _g22;
if ( (_hx_switch_0==HX_("initiator",af,ac,ed,3d)) ){
HXLINE( 326) if (initiator) {
-HXLINE( 327) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("sendonly",b4,56,a7,f2),HX_("",00,00,00,00)));
+HXLINE( 327) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("sendonly",b4,56,a7,f2),HX_("",00,00,00,00)));
}
else {
-HXLINE( 329) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("recvonly",92,5d,be,b0),HX_("",00,00,00,00)));
+HXLINE( 329) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("recvonly",92,5d,be,b0),HX_("",00,00,00,00)));
}
HXLINE( 326) goto _hx_goto_46;
}
if ( (_hx_switch_0==HX_("none",b8,12,0a,49)) ){
-HXLINE( 324) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("inactive",6b,17,30,6a),HX_("",00,00,00,00)));
+HXLINE( 324) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("inactive",6b,17,30,6a),HX_("",00,00,00,00)));
HXDLIN( 324) goto _hx_goto_46;
}
if ( (_hx_switch_0==HX_("responder",02,a1,00,29)) ){
HXLINE( 332) if (initiator) {
-HXLINE( 333) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("recvonly",92,5d,be,b0),HX_("",00,00,00,00)));
+HXLINE( 333) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("recvonly",92,5d,be,b0),HX_("",00,00,00,00)));
}
else {
-HXLINE( 335) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("sendonly",b4,56,a7,f2),HX_("",00,00,00,00)));
+HXLINE( 335) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("sendonly",b4,56,a7,f2),HX_("",00,00,00,00)));
}
HXLINE( 332) goto _hx_goto_46;
}
/* default */{
-HXLINE( 338) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("sendrecv",6e,1e,9c,f4),HX_("",00,00,00,00)));
+HXLINE( 338) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("sendrecv",6e,1e,9c,f4),HX_("",00,00,00,00)));
}
_hx_goto_46:;
}
@@ -983,12 +954,12 @@ HXLINE( 340) _hx_tmp17 = ::hx::IsNotNull( description->getChild(HX_("rtcp-mux"
HXLINE( 340) _hx_tmp17 = true;
}
HXDLIN( 340) if (_hx_tmp17) {
-HXLINE( 341) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("rtcp-mux",72,08,78,80),HX_("",00,00,00,00)));
+HXLINE( 341) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("rtcp-mux",72,08,78,80),HX_("",00,00,00,00)));
}
HXLINE( 344) if (::hx::IsNotNull( description->getChild(HX_("ice-lite",b0,64,44,1d),null()) )) {
-HXLINE( 345) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("ice-lite",b0,64,44,1d),HX_("",00,00,00,00)));
+HXLINE( 345) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("ice-lite",b0,64,44,1d),HX_("",00,00,00,00)));
}
-HXLINE( 348) mediaAttributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("rtcp",ef,ae,b2,4b),HX_("9 IN IP4 0.0.0.0",0f,95,70,bd)));
+HXLINE( 348) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("rtcp",ef,ae,b2,4b),HX_("9 IN IP4 0.0.0.0",0f,95,70,bd)));
HXLINE( 351) ::String _hx_tmp18;
HXDLIN( 351) if (::hx::IsNull( description )) {
HXLINE( 351) _hx_tmp18 = HX_("",00,00,00,00);
@@ -996,7 +967,7 @@ 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( 349) return ::snikket::jingle::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);
+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);
}
@@ -1010,7 +981,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC4(Media_obj,fromElement,return )
}
::hx::ObjectPtr< Media_obj > Media_obj::__alloc(::hx::Ctx *_hx_ctx,::String mid,::String media,::String connectionData,::String port,::String protocol,::Array< ::Dynamic> attributes,::Array< int > formats) {
- Media_obj *__this = (Media_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Media_obj), true, "snikket.jingle.Media"));
+ Media_obj *__this = (Media_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Media_obj), true, "borogove.calls.Media"));
*(void **)__this = Media_obj::_hx_vtable;
__this->__construct(mid,media,connectionData,port,protocol,attributes,formats);
return __this;
@@ -1171,7 +1142,7 @@ void Media_obj::__register()
Media_obj _hx_dummy;
Media_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.Media",58,22,74,53);
+ __mClass->mName = HX_("borogove.calls.Media",de,6c,f5,a6);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -1189,5 +1160,5 @@ void Media_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_snikket/src/snikket/jingle/MediaStream.cpp b/Sources/c_borogove/src/borogove/calls/MediaStream.cpp
similarity index 56%
rename from Sources/c_snikket/src/snikket/jingle/MediaStream.cpp
rename to Sources/c_borogove/src/borogove/calls/MediaStream.cpp
index 7375c6d..c962eee 100644
--- a/Sources/c_snikket/src/snikket/jingle/MediaStream.cpp
+++ b/Sources/c_borogove/src/borogove/calls/MediaStream.cpp
@@ -12,34 +12,34 @@
#ifndef INCLUDED__HaxeCBridge_Internal
#include <_HaxeCBridge/Internal.h>
#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStream
+#include <borogove/calls/MediaStream.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStreamTrack
+#include <borogove/calls/MediaStreamTrack.h>
+#endif
#ifndef INCLUDED_cpp_Int64Map
#include <cpp/Int64Map.h>
#endif
#ifndef INCLUDED_haxe_IMap
#include <haxe/IMap.h>
#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStream
-#include <snikket/jingle/MediaStream.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStreamTrack
-#include <snikket/jingle/MediaStreamTrack.h>
-#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_73a4884454ac5ac3_645_new,"snikket.jingle.MediaStream","new",0xfb2579ea,"snikket.jingle.MediaStream.new","snikket/jingle/PeerConnection.cpp.hx",645,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_73a4884454ac5ac3_665_addTrack,"snikket.jingle.MediaStream","addTrack",0x3c4636e0,"snikket.jingle.MediaStream.addTrack","snikket/jingle/PeerConnection.cpp.hx",665,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_73a4884454ac5ac3_669_getTracks,"snikket.jingle.MediaStream","getTracks",0x455c21c8,"snikket.jingle.MediaStream.getTracks","snikket/jingle/PeerConnection.cpp.hx",669,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_fa9a1f555469415a_250_getTracks__fromC,"snikket.jingle.MediaStream","getTracks__fromC",0xff2f97b1,"snikket.jingle.MediaStream.getTracks__fromC","HaxeCBridge.hx",250,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_73a4884454ac5ac3_650_makeAudio,"snikket.jingle.MediaStream","makeAudio",0x7ea15d12,"snikket.jingle.MediaStream.makeAudio","snikket/jingle/PeerConnection.cpp.hx",650,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_73a4884454ac5ac3_644_boot,"snikket.jingle.MediaStream","boot",0xbdbe3368,"snikket.jingle.MediaStream.boot","snikket/jingle/PeerConnection.cpp.hx",644,0xf9fab71d)
-namespace snikket{
-namespace jingle{
+HX_DEFINE_STACK_FRAME(_hx_pos_fac155ba84f4ed7c_641_new,"borogove.calls.MediaStream","new",0xd95367f0,"borogove.calls.MediaStream.new","borogove/calls/PeerConnection.cpp.hx",641,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_fac155ba84f4ed7c_661_addTrack,"borogove.calls.MediaStream","addTrack",0x30fdb31a,"borogove.calls.MediaStream.addTrack","borogove/calls/PeerConnection.cpp.hx",661,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_fac155ba84f4ed7c_665_getTracks,"borogove.calls.MediaStream","getTracks",0x7131584e,"borogove.calls.MediaStream.getTracks","borogove/calls/PeerConnection.cpp.hx",665,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_9bd441a08c23c4d5_311_getTracks__fromC,"borogove.calls.MediaStream","getTracks__fromC",0xbc74ddeb,"borogove.calls.MediaStream.getTracks__fromC","HaxeCBridge.hx",311,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_fac155ba84f4ed7c_646_makeAudio,"borogove.calls.MediaStream","makeAudio",0xaa769398,"borogove.calls.MediaStream.makeAudio","borogove/calls/PeerConnection.cpp.hx",646,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_fac155ba84f4ed7c_640_boot,"borogove.calls.MediaStream","boot",0x47c08aa2,"borogove.calls.MediaStream.boot","borogove/calls/PeerConnection.cpp.hx",640,0x6b4179c1)
+namespace borogove{
+namespace calls{
void MediaStream_obj::__construct(){
- HX_STACKFRAME(&_hx_pos_73a4884454ac5ac3_645_new)
-HXDLIN( 645) this->tracks = ::Array_obj< ::Dynamic>::__new(0);
+ HX_STACKFRAME(&_hx_pos_fac155ba84f4ed7c_641_new)
+HXDLIN( 641) this->tracks = ::Array_obj< ::Dynamic>::__new(0);
}
Dynamic MediaStream_obj::__CreateEmpty() { return new MediaStream_obj; }
@@ -54,85 +54,85 @@ Dynamic MediaStream_obj::__Create(::hx::DynamicArray inArgs)
}
bool MediaStream_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x1cdfd2fe;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x12bfec58;
}
-void MediaStream_obj::addTrack( ::snikket::jingle::MediaStreamTrack track){
- HX_STACKFRAME(&_hx_pos_73a4884454ac5ac3_665_addTrack)
-HXDLIN( 665) this->tracks->push(track);
+void MediaStream_obj::addTrack( ::borogove::calls::MediaStreamTrack track){
+ HX_STACKFRAME(&_hx_pos_fac155ba84f4ed7c_661_addTrack)
+HXDLIN( 661) this->tracks->push(track);
}
HX_DEFINE_DYNAMIC_FUNC1(MediaStream_obj,addTrack,(void))
::Array< ::Dynamic> MediaStream_obj::getTracks(){
- HX_STACKFRAME(&_hx_pos_73a4884454ac5ac3_669_getTracks)
-HXDLIN( 669) return this->tracks;
+ HX_STACKFRAME(&_hx_pos_fac155ba84f4ed7c_665_getTracks)
+HXDLIN( 665) return this->tracks;
}
HX_DEFINE_DYNAMIC_FUNC0(MediaStream_obj,getTracks,return )
size_t MediaStream_obj::getTracks__fromC(void*** outPtr){
- HX_STACKFRAME(&_hx_pos_fa9a1f555469415a_250_getTracks__fromC)
-HXDLIN( 250) ::Array< ::Dynamic> out = this->getTracks();
-HXDLIN( 250) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 250) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 250) {
-HXDLIN( 250) int _g = 0;
-HXDLIN( 250) while((_g < out->length)){
-HXDLIN( 250) ::snikket::jingle::MediaStreamTrack el = out->__get(_g).StaticCast< ::snikket::jingle::MediaStreamTrack >();
-HXDLIN( 250) _g = (_g + 1);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic haxeObject = el;
-HXDLIN( 250) void* ptr = haxeObject.mPtr;
-HXDLIN( 250) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 250) if (::hx::IsNull( store )) {
-HXDLIN( 250) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_9bd441a08c23c4d5_311_getTracks__fromC)
+HXDLIN( 311) ::Array< ::Dynamic> out = this->getTracks();
+HXDLIN( 311) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 311) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 311) {
+HXDLIN( 311) int _g = 0;
+HXDLIN( 311) while((_g < out->length)){
+HXDLIN( 311) ::borogove::calls::MediaStreamTrack el = out->__get(_g).StaticCast< ::borogove::calls::MediaStreamTrack >();
+HXDLIN( 311) _g = (_g + 1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic haxeObject = el;
+HXDLIN( 311) void* ptr = haxeObject.mPtr;
+HXDLIN( 311) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 311) if (::hx::IsNull( store )) {
+HXDLIN( 311) 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( 250) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+HXDLIN( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
}
else {
-HXDLIN( 250) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXDLIN( 311) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
}
}
}
-HXDLIN( 250) void** ptr1 = (void**)out->getBase();
-HXDLIN( 250) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 250) if (::hx::IsNull( store1 )) {
-HXDLIN( 250) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN( 311) void** ptr1 = (void**)out->getBase();
+HXDLIN( 311) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 311) {
+HXDLIN( 311) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 311) if (::hx::IsNull( store1 )) {
+HXDLIN( 311) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),out));
-HXDLIN( 250) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+HXDLIN( 311) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
}
else {
-HXDLIN( 250) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXDLIN( 311) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
-HXDLIN( 250) _hx_tmp->set_ref(ptr1);
+HXDLIN( 311) _hx_tmp->set_ref(ptr1);
}
-HXDLIN( 250) return ( (size_t)(out->length) );
+HXDLIN( 311) return ( (size_t)(out->length) );
}
- ::snikket::jingle::MediaStream MediaStream_obj::makeAudio(){
- HX_GC_STACKFRAME(&_hx_pos_73a4884454ac5ac3_650_makeAudio)
-HXLINE( 651) rtc::Description::Audio audio = rtc::Description::Audio(::hx::StdString(::snikket::ID_obj::tiny()),cpp::Struct(rtc::Description::Direction::SendRecv));
-HXLINE( 652) audio.addOpusCodec(107);
-HXLINE( 653) audio.addPCMUCodec(0);
-HXLINE( 654) audio.addAudioCodec(101,::hx::StdString(HX_("telephone-event/8000",36,ae,10,93)));
-HXLINE( 655) ::snikket::jingle::MediaStreamTrack media = ::snikket::jingle::MediaStreamTrack_obj::__alloc( HX_CTX );
-HXLINE( 656) media->media = std::optional< rtc::Description::Media >(audio);
-HXLINE( 657) ::snikket::jingle::MediaStream stream = ::snikket::jingle::MediaStream_obj::__alloc( HX_CTX );
-HXLINE( 658) stream->addTrack(media);
-HXLINE( 659) return stream;
+ ::borogove::calls::MediaStream MediaStream_obj::makeAudio(){
+ HX_GC_STACKFRAME(&_hx_pos_fac155ba84f4ed7c_646_makeAudio)
+HXLINE( 647) rtc::Description::Audio audio = rtc::Description::Audio(::hx::StdString(::borogove::ID_obj::tiny()),cpp::Struct(rtc::Description::Direction::SendRecv));
+HXLINE( 648) audio.addOpusCodec(107);
+HXLINE( 649) audio.addPCMUCodec(0);
+HXLINE( 650) audio.addAudioCodec(101,::hx::StdString(HX_("telephone-event/8000",36,ae,10,93)));
+HXLINE( 651) ::borogove::calls::MediaStreamTrack media = ::borogove::calls::MediaStreamTrack_obj::__alloc( HX_CTX );
+HXLINE( 652) media->media = std::optional< rtc::Description::Media >(audio);
+HXLINE( 653) ::borogove::calls::MediaStream stream = ::borogove::calls::MediaStream_obj::__alloc( HX_CTX );
+HXLINE( 654) stream->addTrack(media);
+HXLINE( 655) return stream;
}
@@ -146,7 +146,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC0(MediaStream_obj,makeAudio,return )
}
::hx::ObjectPtr< MediaStream_obj > MediaStream_obj::__alloc(::hx::Ctx *_hx_ctx) {
- MediaStream_obj *__this = (MediaStream_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MediaStream_obj), true, "snikket.jingle.MediaStream"));
+ MediaStream_obj *__this = (MediaStream_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MediaStream_obj), true, "borogove.calls.MediaStream"));
*(void **)__this = MediaStream_obj::_hx_vtable;
__this->__construct();
return __this;
@@ -233,7 +233,7 @@ void MediaStream_obj::__register()
MediaStream_obj _hx_dummy;
MediaStream_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.MediaStream",f8,fc,5b,cd);
+ __mClass->mName = HX_("borogove.calls.MediaStream",fe,ef,2c,30);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -254,8 +254,8 @@ void MediaStream_obj::__register()
void MediaStream_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_73a4884454ac5ac3_644_boot)
-HXDLIN( 644) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_fac155ba84f4ed7c_640_boot)
+HXDLIN( 640) __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_("getTracks",be,b4,d3,c1), ::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)))))
@@ -264,5 +264,5 @@ HXDLIN( 644) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
}
}
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_snikket/src/snikket/jingle/MediaStreamTrack.cpp b/Sources/c_borogove/src/borogove/calls/MediaStreamTrack.cpp
similarity index 55%
rename from Sources/c_snikket/src/snikket/jingle/MediaStreamTrack.cpp
rename to Sources/c_borogove/src/borogove/calls/MediaStreamTrack.cpp
index 8d2f843..38434c4 100644
--- a/Sources/c_snikket/src/snikket/jingle/MediaStreamTrack.cpp
+++ b/Sources/c_borogove/src/borogove/calls/MediaStreamTrack.cpp
@@ -34,6 +34,12 @@
#ifndef INCLUDED__HaxeCBridge_Internal
#include <_HaxeCBridge/Internal.h>
#endif
+#ifndef INCLUDED_borogove_calls_AudioFormat
+#include <borogove/calls/AudioFormat.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStreamTrack
+#include <borogove/calls/MediaStreamTrack.h>
+#endif
#ifndef INCLUDED_cpp_Int64Map
#include <cpp/Int64Map.h>
#endif
@@ -46,12 +52,6 @@
#ifndef INCLUDED_haxe_Timer
#include <haxe/Timer.h>
#endif
-#ifndef INCLUDED_snikket_jingle_AudioFormat
-#include <snikket/jingle/AudioFormat.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStreamTrack
-#include <snikket/jingle/MediaStreamTrack.h>
-#endif
#ifndef INCLUDED_sys_thread_EventLoop
#include <sys/thread/EventLoop.h>
#endif
@@ -65,120 +65,119 @@
#include <sys/thread/_Thread/Thread_Impl_.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_199cfc803453bfcf_371_new,"snikket.jingle.MediaStreamTrack","new",0x86a854e5,"snikket.jingle.MediaStreamTrack.new","snikket/jingle/PeerConnection.cpp.hx",371,0xf9fab71d)
-HX_DEFINE_STACK_FRAME(_hx_pos_199cfc803453bfcf_375_new,"snikket.jingle.MediaStreamTrack","new",0x86a854e5,"snikket.jingle.MediaStreamTrack.new","snikket/jingle/PeerConnection.cpp.hx",375,0xf9fab71d)
-HX_DEFINE_STACK_FRAME(_hx_pos_199cfc803453bfcf_337_new,"snikket.jingle.MediaStreamTrack","new",0x86a854e5,"snikket.jingle.MediaStreamTrack.new","snikket/jingle/PeerConnection.cpp.hx",337,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_6a2465e57550c9c8_308_id__fromC,"snikket.jingle.MediaStreamTrack","id__fromC",0xf6db4c43,"snikket.jingle.MediaStreamTrack.id__fromC","HaxeCBridge.hx",308,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_6a2465e57550c9c8_308_muted__fromC,"snikket.jingle.MediaStreamTrack","muted__fromC",0x6371b749,"snikket.jingle.MediaStreamTrack.muted__fromC","HaxeCBridge.hx",308,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_6a2465e57550c9c8_308_kind__fromC,"snikket.jingle.MediaStreamTrack","kind__fromC",0x33c2332a,"snikket.jingle.MediaStreamTrack.kind__fromC","HaxeCBridge.hx",308,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_6a2465e57550c9c8_297_supportedAudioFormats__fromC,"snikket.jingle.MediaStreamTrack","supportedAudioFormats__fromC",0xed795960,"snikket.jingle.MediaStreamTrack.supportedAudioFormats__fromC","HaxeCBridge.hx",297,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_398_get_media,"snikket.jingle.MediaStreamTrack","get_media",0xf29b9780,"snikket.jingle.MediaStreamTrack.get_media","snikket/jingle/PeerConnection.cpp.hx",398,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_406_get_id,"snikket.jingle.MediaStreamTrack","get_id",0x616f4fbf,"snikket.jingle.MediaStreamTrack.get_id","snikket/jingle/PeerConnection.cpp.hx",406,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_413_get_kind,"snikket.jingle.MediaStreamTrack","get_kind",0x19089638,"snikket.jingle.MediaStreamTrack.get_kind","snikket/jingle/PeerConnection.cpp.hx",413,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_414_get_muted,"snikket.jingle.MediaStreamTrack","get_muted",0xfd3b2207,"snikket.jingle.MediaStreamTrack.get_muted","snikket/jingle/PeerConnection.cpp.hx",414,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_416_get_supportedAudioFormats,"snikket.jingle.MediaStreamTrack","get_supportedAudioFormats",0xd0250110,"snikket.jingle.MediaStreamTrack.get_supportedAudioFormats","snikket/jingle/PeerConnection.cpp.hx",416,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_434_set_track,"snikket.jingle.MediaStreamTrack","set_track",0xe6500d33,"snikket.jingle.MediaStreamTrack.set_track","snikket/jingle/PeerConnection.cpp.hx",434,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_467_addPCMListener,"snikket.jingle.MediaStreamTrack","addPCMListener",0xde4994a8,"snikket.jingle.MediaStreamTrack.addPCMListener","snikket/jingle/PeerConnection.cpp.hx",467,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_6a2465e57550c9c8_221_addPCMListener__fromC,"snikket.jingle.MediaStreamTrack","addPCMListener__fromC",0x90d840d1,"snikket.jingle.MediaStreamTrack.addPCMListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_6a2465e57550c9c8_252_addPCMListener__fromC,"snikket.jingle.MediaStreamTrack","addPCMListener__fromC",0x90d840d1,"snikket.jingle.MediaStreamTrack.addPCMListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_492_onFrame,"snikket.jingle.MediaStreamTrack","onFrame",0x55f2c193,"snikket.jingle.MediaStreamTrack.onFrame","snikket/jingle/PeerConnection.cpp.hx",492,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_529_addReadyForPCMListener,"snikket.jingle.MediaStreamTrack","addReadyForPCMListener",0x339e25e2,"snikket.jingle.MediaStreamTrack.addReadyForPCMListener","snikket/jingle/PeerConnection.cpp.hx",529,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_6a2465e57550c9c8_221_addReadyForPCMListener__fromC,"snikket.jingle.MediaStreamTrack","addReadyForPCMListener__fromC",0xd615aad7,"snikket.jingle.MediaStreamTrack.addReadyForPCMListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_6a2465e57550c9c8_252_addReadyForPCMListener__fromC,"snikket.jingle.MediaStreamTrack","addReadyForPCMListener__fromC",0xd615aad7,"snikket.jingle.MediaStreamTrack.addReadyForPCMListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_536_notifyReadyForData,"snikket.jingle.MediaStreamTrack","notifyReadyForData",0x61f3b534,"snikket.jingle.MediaStreamTrack.notifyReadyForData","snikket/jingle/PeerConnection.cpp.hx",536,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_540_notifyReadyForData,"snikket.jingle.MediaStreamTrack","notifyReadyForData",0x61f3b534,"snikket.jingle.MediaStreamTrack.notifyReadyForData","snikket/jingle/PeerConnection.cpp.hx",540,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_562_writePCM,"snikket.jingle.MediaStreamTrack","writePCM",0x763990d6,"snikket.jingle.MediaStreamTrack.writePCM","snikket/jingle/PeerConnection.cpp.hx",562,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_567_writePCM,"snikket.jingle.MediaStreamTrack","writePCM",0x763990d6,"snikket.jingle.MediaStreamTrack.writePCM","snikket/jingle/PeerConnection.cpp.hx",567,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_561_writePCM,"snikket.jingle.MediaStreamTrack","writePCM",0x763990d6,"snikket.jingle.MediaStreamTrack.writePCM","snikket/jingle/PeerConnection.cpp.hx",561,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_6a2465e57550c9c8_252_writePCM__fromC,"snikket.jingle.MediaStreamTrack","writePCM__fromC",0x54304663,"snikket.jingle.MediaStreamTrack.writePCM__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_610_onAudioLoop,"snikket.jingle.MediaStreamTrack","onAudioLoop",0x959462c0,"snikket.jingle.MediaStreamTrack.onAudioLoop","snikket/jingle/PeerConnection.cpp.hx",610,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_614_write,"snikket.jingle.MediaStreamTrack","write",0xf83bdca4,"snikket.jingle.MediaStreamTrack.write","snikket/jingle/PeerConnection.cpp.hx",614,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_626_advanceTimestamp,"snikket.jingle.MediaStreamTrack","advanceTimestamp",0xa8dad84f,"snikket.jingle.MediaStreamTrack.advanceTimestamp","snikket/jingle/PeerConnection.cpp.hx",626,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_629_stop,"snikket.jingle.MediaStreamTrack","stop",0x4ffb5fdd,"snikket.jingle.MediaStreamTrack.stop","snikket/jingle/PeerConnection.cpp.hx",629,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_362_fromTrack,"snikket.jingle.MediaStreamTrack","fromTrack",0x73deaf06,"snikket.jingle.MediaStreamTrack.fromTrack","snikket/jingle/PeerConnection.cpp.hx",362,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_473_pcmToUlaw,"snikket.jingle.MediaStreamTrack","pcmToUlaw",0x7deff727,"snikket.jingle.MediaStreamTrack.pcmToUlaw","snikket/jingle/PeerConnection.cpp.hx",473,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_337_boot,"snikket.jingle.MediaStreamTrack","boot",0x44baf40d,"snikket.jingle.MediaStreamTrack.boot","snikket/jingle/PeerConnection.cpp.hx",337,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_470_boot,"snikket.jingle.MediaStreamTrack","boot",0x44baf40d,"snikket.jingle.MediaStreamTrack.boot","snikket/jingle/PeerConnection.cpp.hx",470,0xf9fab71d)
-static const short _hx_array_data_a980fe73_39[] = {
+HX_DEFINE_STACK_FRAME(_hx_pos_306b50e70c93d428_376_new,"borogove.calls.MediaStreamTrack","new",0x7b5fd11f,"borogove.calls.MediaStreamTrack.new","borogove/calls/PeerConnection.cpp.hx",376,0x6b4179c1)
+HX_DEFINE_STACK_FRAME(_hx_pos_306b50e70c93d428_380_new,"borogove.calls.MediaStreamTrack","new",0x7b5fd11f,"borogove.calls.MediaStreamTrack.new","borogove/calls/PeerConnection.cpp.hx",380,0x6b4179c1)
+HX_DEFINE_STACK_FRAME(_hx_pos_306b50e70c93d428_339_new,"borogove.calls.MediaStreamTrack","new",0x7b5fd11f,"borogove.calls.MediaStreamTrack.new","borogove/calls/PeerConnection.cpp.hx",339,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_1f66e5b64430fc7f_371_id__fromC,"borogove.calls.MediaStreamTrack","id__fromC",0xa034affd,"borogove.calls.MediaStreamTrack.id__fromC","HaxeCBridge.hx",371,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_1f66e5b64430fc7f_371_muted__fromC,"borogove.calls.MediaStreamTrack","muted__fromC",0x42c9e3cf,"borogove.calls.MediaStreamTrack.muted__fromC","HaxeCBridge.hx",371,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_1f66e5b64430fc7f_371_kind__fromC,"borogove.calls.MediaStreamTrack","kind__fromC",0xf1077964,"borogove.calls.MediaStreamTrack.kind__fromC","HaxeCBridge.hx",371,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_1f66e5b64430fc7f_360_supportedAudioFormats__fromC,"borogove.calls.MediaStreamTrack","supportedAudioFormats__fromC",0x708971e6,"borogove.calls.MediaStreamTrack.supportedAudioFormats__fromC","HaxeCBridge.hx",360,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_403_get_id,"borogove.calls.MediaStreamTrack","get_id",0x15e3b3c5,"borogove.calls.MediaStreamTrack.get_id","borogove/calls/PeerConnection.cpp.hx",403,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_410_get_kind,"borogove.calls.MediaStreamTrack","get_kind",0x1e6287be,"borogove.calls.MediaStreamTrack.get_kind","borogove/calls/PeerConnection.cpp.hx",410,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_411_get_muted,"borogove.calls.MediaStreamTrack","get_muted",0xa69485c1,"borogove.calls.MediaStreamTrack.get_muted","borogove/calls/PeerConnection.cpp.hx",411,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_413_get_supportedAudioFormats,"borogove.calls.MediaStreamTrack","get_supportedAudioFormats",0xeadaf8ca,"borogove.calls.MediaStreamTrack.get_supportedAudioFormats","borogove/calls/PeerConnection.cpp.hx",413,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_434_set_track,"borogove.calls.MediaStreamTrack","set_track",0x8fa970ed,"borogove.calls.MediaStreamTrack.set_track","borogove/calls/PeerConnection.cpp.hx",434,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_468_addPCMListener,"borogove.calls.MediaStreamTrack","addPCMListener",0x656a6eae,"borogove.calls.MediaStreamTrack.addPCMListener","borogove/calls/PeerConnection.cpp.hx",468,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_1f66e5b64430fc7f_255_addPCMListener__fromC,"borogove.calls.MediaStreamTrack","addPCMListener__fromC",0x7a15538b,"borogove.calls.MediaStreamTrack.addPCMListener__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_1f66e5b64430fc7f_315_addPCMListener__fromC,"borogove.calls.MediaStreamTrack","addPCMListener__fromC",0x7a15538b,"borogove.calls.MediaStreamTrack.addPCMListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_493_onFrame,"borogove.calls.MediaStreamTrack","onFrame",0x8755e2cd,"borogove.calls.MediaStreamTrack.onFrame","borogove/calls/PeerConnection.cpp.hx",493,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_527_addReadyForPCMListener,"borogove.calls.MediaStreamTrack","addReadyForPCMListener",0x5fd175e8,"borogove.calls.MediaStreamTrack.addReadyForPCMListener","borogove/calls/PeerConnection.cpp.hx",527,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_1f66e5b64430fc7f_255_addReadyForPCMListener__fromC,"borogove.calls.MediaStreamTrack","addReadyForPCMListener__fromC",0x011b0791,"borogove.calls.MediaStreamTrack.addReadyForPCMListener__fromC","HaxeCBridge.hx",255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_1f66e5b64430fc7f_315_addReadyForPCMListener__fromC,"borogove.calls.MediaStreamTrack","addReadyForPCMListener__fromC",0x011b0791,"borogove.calls.MediaStreamTrack.addReadyForPCMListener__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_534_notifyReadyForData,"borogove.calls.MediaStreamTrack","notifyReadyForData",0xc7f10a3a,"borogove.calls.MediaStreamTrack.notifyReadyForData","borogove/calls/PeerConnection.cpp.hx",534,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_538_notifyReadyForData,"borogove.calls.MediaStreamTrack","notifyReadyForData",0xc7f10a3a,"borogove.calls.MediaStreamTrack.notifyReadyForData","borogove/calls/PeerConnection.cpp.hx",538,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_558_writePCM,"borogove.calls.MediaStreamTrack","writePCM",0x7b93825c,"borogove.calls.MediaStreamTrack.writePCM","borogove/calls/PeerConnection.cpp.hx",558,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_563_writePCM,"borogove.calls.MediaStreamTrack","writePCM",0x7b93825c,"borogove.calls.MediaStreamTrack.writePCM","borogove/calls/PeerConnection.cpp.hx",563,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_557_writePCM,"borogove.calls.MediaStreamTrack","writePCM",0x7b93825c,"borogove.calls.MediaStreamTrack.writePCM","borogove/calls/PeerConnection.cpp.hx",557,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_1f66e5b64430fc7f_315_writePCM__fromC,"borogove.calls.MediaStreamTrack","writePCM__fromC",0x09ce319d,"borogove.calls.MediaStreamTrack.writePCM__fromC","HaxeCBridge.hx",315,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_606_onAudioLoop,"borogove.calls.MediaStreamTrack","onAudioLoop",0x52d9a8fa,"borogove.calls.MediaStreamTrack.onAudioLoop","borogove/calls/PeerConnection.cpp.hx",606,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_610_write,"borogove.calls.MediaStreamTrack","write",0x26f65b5e,"borogove.calls.MediaStreamTrack.write","borogove/calls/PeerConnection.cpp.hx",610,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_622_advanceTimestamp,"borogove.calls.MediaStreamTrack","advanceTimestamp",0xdd6abfd5,"borogove.calls.MediaStreamTrack.advanceTimestamp","borogove/calls/PeerConnection.cpp.hx",622,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_625_stop,"borogove.calls.MediaStreamTrack","stop",0x7bd09663,"borogove.calls.MediaStreamTrack.stop","borogove/calls/PeerConnection.cpp.hx",625,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_367_fromTrack,"borogove.calls.MediaStreamTrack","fromTrack",0x1d3812c0,"borogove.calls.MediaStreamTrack.fromTrack","borogove/calls/PeerConnection.cpp.hx",367,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_474_pcmToUlaw,"borogove.calls.MediaStreamTrack","pcmToUlaw",0x27495ae1,"borogove.calls.MediaStreamTrack.pcmToUlaw","borogove/calls/PeerConnection.cpp.hx",474,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_339_boot,"borogove.calls.MediaStreamTrack","boot",0x70902a93,"borogove.calls.MediaStreamTrack.boot","borogove/calls/PeerConnection.cpp.hx",339,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_471_boot,"borogove.calls.MediaStreamTrack","boot",0x70902a93,"borogove.calls.MediaStreamTrack.boot","borogove/calls/PeerConnection.cpp.hx",471,0x6b4179c1)
+static const short _hx_array_data_338355ad_38[] = {
(short)-32124,(short)-31100,(short)-30076,(short)-29052,(short)-28028,(short)-27004,(short)-25980,(short)-24956,(short)-23932,(short)-22908,(short)-21884,(short)-20860,(short)-19836,(short)-18812,(short)-17788,(short)-16764,(short)-15996,(short)-15484,(short)-14972,(short)-14460,(short)-13948,(short)-13436,(short)-12924,(short)-12412,(short)-11900,(short)-11388,(short)-10876,(short)-10364,(short)-9852,(short)-9340,(short)-8828,(short)-8316,(short)-7932,(short)-7676,(short)-7420,(short)-7164,(short)-6908,(short)-6652,(short)-6396,(short)-6140,(short)-5884,(short)-5628,(short)-5372,(short)-5116,(short)-4860,(short)-4604,(short)-4348,(short)-4092,(short)-3900,(short)-3772,(short)-3644,(short)-3516,(short)-3388,(short)-3260,(short)-3132,(short)-3004,(short)-2876,(short)-2748,(short)-2620,(short)-2492,(short)-2364,(short)-2236,(short)-2108,(short)-1980,(short)-1884,(short)-1820,(short)-1756,(short)-1692,(short)-1628,(short)-1564,(short)-1500,(short)-1436,(short)-1372,(short)-1308,(short)-1244,(short)-1180,(short)-1116,(short)-1052,(short)-988,(short)-924,(short)-876,(short)-844,(short)-812,(short)-780,(short)-748,(short)-716,(short)-684,(short)-652,(short)-620,(short)-588,(short)-556,(short)-524,(short)-492,(short)-460,(short)-428,(short)-396,(short)-372,(short)-356,(short)-340,(short)-324,(short)-308,(short)-292,(short)-276,(short)-260,(short)-244,(short)-228,(short)-212,(short)-196,(short)-180,(short)-164,(short)-148,(short)-132,(short)-120,(short)-112,(short)-104,(short)-96,(short)-88,(short)-80,(short)-72,(short)-64,(short)-56,(short)-48,(short)-40,(short)-32,(short)-24,(short)-16,(short)-8,(short)0,(short)32124,(short)31100,(short)30076,(short)29052,(short)28028,(short)27004,(short)25980,(short)24956,(short)23932,(short)22908,(short)21884,(short)20860,(short)19836,(short)18812,(short)17788,(short)16764,(short)15996,(short)15484,(short)14972,(short)14460,(short)13948,(short)13436,(short)12924,(short)12412,(short)11900,(short)11388,(short)10876,(short)10364,(short)9852,(short)9340,(short)8828,(short)8316,(short)7932,(short)7676,(short)7420,(short)7164,(short)6908,(short)6652,(short)6396,(short)6140,(short)5884,(short)5628,(short)5372,(short)5116,(short)4860,(short)4604,(short)4348,(short)4092,(short)3900,(short)3772,(short)3644,(short)3516,(short)3388,(short)3260,(short)3132,(short)3004,(short)2876,(short)2748,(short)2620,(short)2492,(short)2364,(short)2236,(short)2108,(short)1980,(short)1884,(short)1820,(short)1756,(short)1692,(short)1628,(short)1564,(short)1500,(short)1436,(short)1372,(short)1308,(short)1244,(short)1180,(short)1116,(short)1052,(short)988,(short)924,(short)876,(short)844,(short)812,(short)780,(short)748,(short)716,(short)684,(short)652,(short)620,(short)588,(short)556,(short)524,(short)492,(short)460,(short)428,(short)396,(short)372,(short)356,(short)340,(short)324,(short)308,(short)292,(short)276,(short)260,(short)244,(short)228,(short)212,(short)196,(short)180,(short)164,(short)148,(short)132,(short)120,(short)112,(short)104,(short)96,(short)88,(short)80,(short)72,(short)64,(short)56,(short)48,(short)40,(short)32,(short)24,(short)16,(short)8,(short)0,
};
-HX_LOCAL_STACK_FRAME(_hx_pos_199cfc803453bfcf_471_boot,"snikket.jingle.MediaStreamTrack","boot",0x44baf40d,"snikket.jingle.MediaStreamTrack.boot","snikket/jingle/PeerConnection.cpp.hx",471,0xf9fab71d)
-static const unsigned char _hx_array_data_a980fe73_41[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_306b50e70c93d428_472_boot,"borogove.calls.MediaStreamTrack","boot",0x70902a93,"borogove.calls.MediaStreamTrack.boot","borogove/calls/PeerConnection.cpp.hx",472,0x6b4179c1)
+static const unsigned char _hx_array_data_338355ad_40[] = {
(unsigned char)0,(unsigned char)1,(unsigned char)2,(unsigned char)2,(unsigned char)3,(unsigned char)3,(unsigned char)3,(unsigned char)3,(unsigned char)4,(unsigned char)4,(unsigned char)4,(unsigned char)4,(unsigned char)4,(unsigned char)4,(unsigned char)4,(unsigned char)4,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)5,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)6,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,(unsigned char)7,
};
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
void MediaStreamTrack_obj::__construct(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::MediaStreamTrack,_gthis) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::MediaStreamTrack,_gthis) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_199cfc803453bfcf_371_new)
-HXLINE( 371) while(_gthis->alive){
-HXLINE( 371) ::sys::thread::_Thread::Thread_Impl__obj::processEvents();
-HXDLIN( 371) ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current())->wait(null());
+ HX_GC_STACKFRAME(&_hx_pos_306b50e70c93d428_376_new)
+HXLINE( 376) while(_gthis->alive){
+HXLINE( 376) ::sys::thread::_Thread::Thread_Impl__obj::processEvents();
+HXDLIN( 376) ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current())->wait(null());
}
}
HX_END_LOCAL_FUNC0((void))
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::snikket::jingle::MediaStreamTrack,_gthis) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::calls::MediaStreamTrack,_gthis) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_199cfc803453bfcf_375_new)
-HXLINE( 376) _gthis->mutex->acquire();
-HXLINE( 377) if (!_gthis->track) {
-HXLINE( 378) _gthis->mutex->release();
-HXLINE( 379) return;
+ HX_GC_STACKFRAME(&_hx_pos_306b50e70c93d428_380_new)
+HXLINE( 381) _gthis->mutex->acquire();
+HXLINE( 382) if (!_gthis->track) {
+HXLINE( 383) _gthis->mutex->release();
+HXLINE( 384) return;
}
-HXLINE( 381) bool _hx_tmp;
-HXDLIN( 381) if (_gthis->alive) {
-HXLINE( 381) _hx_tmp = !(_gthis->track->isOpen());
+HXLINE( 386) bool _hx_tmp;
+HXDLIN( 386) if (_gthis->alive) {
+HXLINE( 386) _hx_tmp = !(_gthis->track->isOpen());
}
else {
-HXLINE( 381) _hx_tmp = true;
+HXLINE( 386) _hx_tmp = true;
}
-HXDLIN( 381) if (_hx_tmp) {
-HXLINE( 382) _gthis->mutex->release();
-HXLINE( 383) return;
+HXDLIN( 386) if (_hx_tmp) {
+HXLINE( 387) _gthis->mutex->release();
+HXLINE( 388) return;
}
-HXLINE( 385) bool _hx_tmp1;
-HXDLIN( 385) if ((_gthis->audioQ->length > 0)) {
-HXLINE( 385) Float _gthis1 = ( (Float)(_gthis->audioQ->__get((_gthis->audioQ->length - 1))->__Field(HX_("stamp",03,70,0b,84),::hx::paccDynamic)) );
-HXDLIN( 385) _hx_tmp1 = (_gthis1 <= ::__time_stamp());
+HXLINE( 390) bool _hx_tmp1;
+HXDLIN( 390) if ((_gthis->audioQ->length > 0)) {
+HXLINE( 390) Float _gthis1 = ( (Float)(_gthis->audioQ->__get((_gthis->audioQ->length - 1))->__Field(HX_("stamp",03,70,0b,84),::hx::paccDynamic)) );
+HXDLIN( 390) _hx_tmp1 = (_gthis1 <= ::__time_stamp());
}
else {
-HXLINE( 385) _hx_tmp1 = false;
+HXLINE( 390) _hx_tmp1 = false;
}
-HXDLIN( 385) if (_hx_tmp1) {
-HXLINE( 386) ::Dynamic packet = _gthis->audioQ->pop();
-HXLINE( 387) _gthis->write(( (::Array< unsigned char >)(packet->__Field(HX_("payload",8e,bf,35,ed),::hx::paccDynamic)) ),( (unsigned char)(packet->__Field(HX_("payloadType",68,bd,49,af),::hx::paccDynamic)) ),( (int)(packet->__Field(HX_("clockRate",ce,87,24,24),::hx::paccDynamic)) ));
-HXLINE( 388) _gthis->advanceTimestamp(( (int)(packet->__Field(HX_("samples",09,c5,c9,83),::hx::paccDynamic)) ));
+HXDLIN( 390) if (_hx_tmp1) {
+HXLINE( 391) ::Dynamic packet = _gthis->audioQ->pop();
+HXLINE( 392) _gthis->write(( (::Array< unsigned char >)(packet->__Field(HX_("payload",8e,bf,35,ed),::hx::paccDynamic)) ),( (unsigned char)(packet->__Field(HX_("payloadType",68,bd,49,af),::hx::paccDynamic)) ),( (int)(packet->__Field(HX_("clockRate",ce,87,24,24),::hx::paccDynamic)) ));
+HXLINE( 393) _gthis->advanceTimestamp(( (int)(packet->__Field(HX_("samples",09,c5,c9,83),::hx::paccDynamic)) ));
}
-HXLINE( 390) bool _hx_tmp2;
-HXDLIN( 390) if (_gthis->waitForQ) {
-HXLINE( 390) _hx_tmp2 = (_gthis->audioQ->length < (50 + (( (Float)(50) ) * _gthis->bufferSizeInSeconds)));
+HXLINE( 395) bool _hx_tmp2;
+HXDLIN( 395) if (_gthis->waitForQ) {
+HXLINE( 395) _hx_tmp2 = (_gthis->audioQ->length < (50 + (( (Float)(50) ) * _gthis->bufferSizeInSeconds)));
}
else {
-HXLINE( 390) _hx_tmp2 = false;
+HXLINE( 395) _hx_tmp2 = false;
}
-HXDLIN( 390) if (_hx_tmp2) {
-HXLINE( 391) _gthis->waitForQ = false;
-HXLINE( 392) _gthis->notifyReadyForData(false);
+HXDLIN( 395) if (_hx_tmp2) {
+HXLINE( 396) _gthis->waitForQ = false;
+HXLINE( 397) _gthis->notifyReadyForData(false);
}
-HXLINE( 394) _gthis->mutex->release();
+HXLINE( 399) _gthis->mutex->release();
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_199cfc803453bfcf_337_new)
-HXLINE( 353) this->mutex = ::sys::thread::Mutex_obj::__alloc( HX_CTX );
-HXLINE( 352) this->bufferSizeInSeconds = ((Float)0.0);
-HXLINE( 351) this->waitForQ = false;
-HXLINE( 350) this->alive = true;
-HXLINE( 349) this->audioQ = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 343) this->readyForPCMCallback = null();
-HXLINE( 342) this->pcmCallback = null();
-HXLINE( 369) ::snikket::jingle::MediaStreamTrack _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 370) this->eventLoop = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::create( ::Dynamic(new _hx_Closure_0(_gthis)),true));
-HXLINE( 374) this->timer = ::haxe::Timer_obj::__alloc( HX_CTX ,10);
-HXLINE( 375) this->timer->run = ::Dynamic(new _hx_Closure_1(_gthis));
+ HX_GC_STACKFRAME(&_hx_pos_306b50e70c93d428_339_new)
+HXLINE( 355) this->mutex = ::sys::thread::Mutex_obj::__alloc( HX_CTX );
+HXLINE( 354) this->bufferSizeInSeconds = ((Float)0.0);
+HXLINE( 353) this->waitForQ = false;
+HXLINE( 352) this->alive = true;
+HXLINE( 351) this->audioQ = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 345) this->readyForPCMCallback = null();
+HXLINE( 344) this->pcmCallback = null();
+HXLINE( 374) ::borogove::calls::MediaStreamTrack _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 375) this->eventLoop = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::create( ::Dynamic(new _hx_Closure_0(_gthis)),true));
+HXLINE( 379) this->timer = ::haxe::Timer_obj::__alloc( HX_CTX ,10);
+HXLINE( 380) this->timer->run = ::Dynamic(new _hx_Closure_1(_gthis));
}
Dynamic MediaStreamTrack_obj::__CreateEmpty() { return new MediaStreamTrack_obj; }
@@ -193,180 +192,180 @@ Dynamic MediaStreamTrack_obj::__Create(::hx::DynamicArray inArgs)
}
bool MediaStreamTrack_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x047992ad;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x32cec6db;
}
::String MediaStreamTrack_obj::id__fromC(){
- HX_STACKFRAME(&_hx_pos_6a2465e57550c9c8_308_id__fromC)
-HXDLIN( 308) return this->get_id();
+ HX_STACKFRAME(&_hx_pos_1f66e5b64430fc7f_371_id__fromC)
+HXDLIN( 371) return this->get_id();
}
HX_DEFINE_DYNAMIC_FUNC0(MediaStreamTrack_obj,id__fromC,return )
bool MediaStreamTrack_obj::muted__fromC(){
- HX_STACKFRAME(&_hx_pos_6a2465e57550c9c8_308_muted__fromC)
-HXDLIN( 308) return this->get_muted();
+ HX_STACKFRAME(&_hx_pos_1f66e5b64430fc7f_371_muted__fromC)
+HXDLIN( 371) return this->get_muted();
}
HX_DEFINE_DYNAMIC_FUNC0(MediaStreamTrack_obj,muted__fromC,return )
::String MediaStreamTrack_obj::kind__fromC(){
- HX_STACKFRAME(&_hx_pos_6a2465e57550c9c8_308_kind__fromC)
-HXDLIN( 308) return this->get_kind();
+ HX_STACKFRAME(&_hx_pos_1f66e5b64430fc7f_371_kind__fromC)
+HXDLIN( 371) return this->get_kind();
}
HX_DEFINE_DYNAMIC_FUNC0(MediaStreamTrack_obj,kind__fromC,return )
size_t MediaStreamTrack_obj::supportedAudioFormats__fromC(void*** outPtr){
- HX_STACKFRAME(&_hx_pos_6a2465e57550c9c8_297_supportedAudioFormats__fromC)
-HXDLIN( 297) ::Array< ::Dynamic> x = this->get_supportedAudioFormats();
-HXDLIN( 297) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 297) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 297) {
-HXDLIN( 297) int _g = 0;
-HXDLIN( 297) while((_g < x->length)){
-HXDLIN( 297) ::snikket::jingle::AudioFormat el = x->__get(_g).StaticCast< ::snikket::jingle::AudioFormat >();
-HXDLIN( 297) _g = (_g + 1);
-HXDLIN( 297) {
-HXDLIN( 297) ::Dynamic haxeObject = el;
-HXDLIN( 297) void* ptr = haxeObject.mPtr;
-HXDLIN( 297) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 297) {
-HXDLIN( 297) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 297) if (::hx::IsNull( store )) {
-HXDLIN( 297) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_1f66e5b64430fc7f_360_supportedAudioFormats__fromC)
+HXDLIN( 360) ::Array< ::Dynamic> x = this->get_supportedAudioFormats();
+HXDLIN( 360) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 360) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 360) {
+HXDLIN( 360) int _g = 0;
+HXDLIN( 360) while((_g < x->length)){
+HXDLIN( 360) ::borogove::calls::AudioFormat el = x->__get(_g).StaticCast< ::borogove::calls::AudioFormat >();
+HXDLIN( 360) _g = (_g + 1);
+HXDLIN( 360) {
+HXDLIN( 360) ::Dynamic haxeObject = el;
+HXDLIN( 360) void* ptr = haxeObject.mPtr;
+HXDLIN( 360) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 360) {
+HXDLIN( 360) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 360) if (::hx::IsNull( store )) {
+HXDLIN( 360) 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( 297) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+HXDLIN( 360) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
}
else {
-HXDLIN( 297) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXDLIN( 360) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
}
}
}
-HXDLIN( 297) void** ptr1 = (void**)x->getBase();
-HXDLIN( 297) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 297) {
-HXDLIN( 297) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 297) if (::hx::IsNull( store1 )) {
-HXDLIN( 297) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN( 360) void** ptr1 = (void**)x->getBase();
+HXDLIN( 360) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 360) {
+HXDLIN( 360) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 360) if (::hx::IsNull( store1 )) {
+HXDLIN( 360) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),x));
-HXDLIN( 297) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+HXDLIN( 360) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
}
else {
-HXDLIN( 297) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXDLIN( 360) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
-HXDLIN( 297) _hx_tmp->set_ref(ptr1);
- }
-HXDLIN( 297) return ( (size_t)(x->length) );
- }
-
-
- std::optional< rtc::Description::Media > MediaStreamTrack_obj::get_media(){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_398_get_media)
-HXLINE( 399) if (!track) {
-HXLINE( 400) return this->media;
+HXDLIN( 360) _hx_tmp->set_ref(ptr1);
}
-HXLINE( 403) rtc::Description::Media d = this->track->description();
-HXLINE( 404) return std::optional< rtc::Description::Media >(d);
+HXDLIN( 360) return ( (size_t)(x->length) );
}
::String MediaStreamTrack_obj::get_id(){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_406_get_id)
-HXLINE( 407) if (!track) {
-HXLINE( 408) std::string this1 = ( ( rtc::Description::Media)(( (cpp::Struct< rtc::Description::Media >)(this->get_media().value()) )) ).mid();
-HXDLIN( 408) return ( ( hx::StdString)(::hx::StdString(this1)) ).toString();
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_403_get_id)
+HXLINE( 404) if (!track) {
+HXLINE( 405) std::string this1 = ( ( rtc::Description::Media)(( (cpp::Struct< rtc::Description::Media >)(this->media.value()) )) ).mid();
+HXDLIN( 405) return ( ( hx::StdString)(::hx::StdString(this1)) ).toString();
}
-HXLINE( 411) std::string this2 = this->track->mid();
-HXDLIN( 411) return ( ( hx::StdString)(::hx::StdString(this2)) ).toString();
+HXLINE( 408) std::string this2 = this->track->mid();
+HXDLIN( 408) return ( ( hx::StdString)(::hx::StdString(this2)) ).toString();
}
HX_DEFINE_DYNAMIC_FUNC0(MediaStreamTrack_obj,get_id,return )
::String MediaStreamTrack_obj::get_kind(){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_413_get_kind)
-HXDLIN( 413) std::string this1 = ( ( rtc::Description::Media)(( (cpp::Struct< rtc::Description::Media >)(this->get_media().value()) )) ).type();
-HXDLIN( 413) return ( ( hx::StdString)(::hx::StdString(this1)) ).toString();
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_410_get_kind)
+HXDLIN( 410) std::string this1 = ( ( rtc::Description::Media)(( (cpp::Struct< rtc::Description::Media >)(this->media.value()) )) ).type();
+HXDLIN( 410) return ( ( hx::StdString)(::hx::StdString(this1)) ).toString();
}
HX_DEFINE_DYNAMIC_FUNC0(MediaStreamTrack_obj,get_kind,return )
bool MediaStreamTrack_obj::get_muted(){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_414_get_muted)
-HXDLIN( 414) return false;
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_411_get_muted)
+HXDLIN( 411) return false;
}
HX_DEFINE_DYNAMIC_FUNC0(MediaStreamTrack_obj,get_muted,return )
::Array< ::Dynamic> MediaStreamTrack_obj::get_supportedAudioFormats(){
- HX_GC_STACKFRAME(&_hx_pos_199cfc803453bfcf_416_get_supportedAudioFormats)
-HXLINE( 417) std::optional< rtc::Description::Media > maybeMedia = this->get_media();
-HXLINE( 418) if (!(maybeMedia.has_value())) {
-HXLINE( 418) return ::Array_obj< ::Dynamic>::__new(0);
+ HX_GC_STACKFRAME(&_hx_pos_306b50e70c93d428_413_get_supportedAudioFormats)
+HXLINE( 414) std::optional< rtc::Description::Media > maybeMedia = this->media;
+HXLINE( 415) if (!(maybeMedia.has_value())) {
+HXLINE( 415) return ::Array_obj< ::Dynamic>::__new(0);
}
-HXLINE( 419) rtc::Description::Media m = ( ( rtc::Description::Media)(( (cpp::Struct< rtc::Description::Media >)(maybeMedia.value()) )) );
-HXLINE( 420) ::Array< ::Dynamic> codecs = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 421) std::vector< int > payloadTypes = m.payloadTypes();
-HXLINE( 422) {
-HXLINE( 422) int _g = 0;
-HXDLIN( 422) int _g1 = ( (int)(payloadTypes.size()) );
-HXDLIN( 422) while((_g < _g1)){
-HXLINE( 422) _g = (_g + 1);
-HXDLIN( 422) int i = (_g - 1);
-HXLINE( 423) rtc::Description::Media::RtpMap rtp = ::cpp::Pointer_obj::fromRaw(m.rtpMap(( (int)(payloadTypes.at(i)) )))->get_ref();
-HXLINE( 424) std::string this1 = rtp.format;
-HXDLIN( 424) ::String _hx_tmp = ( ( hx::StdString)(::hx::StdString(this1)) ).toString();
-HXDLIN( 424) int _hx_tmp1 = ( (int)(payloadTypes.at(i)) );
-HXDLIN( 424) int rtp1 = rtp.clockRate;
-HXDLIN( 424) int _hx_tmp2;
-HXDLIN( 424) std::string this2 = rtp.encParams;
-HXDLIN( 424) if ((( ( hx::StdString)(::hx::StdString(this2)) ).toString() == HX_("",00,00,00,00))) {
-HXLINE( 424) _hx_tmp2 = 1;
+HXLINE( 416) rtc::Description::Media m = ( ( rtc::Description::Media)(( (cpp::Struct< rtc::Description::Media >)(maybeMedia.value()) )) );
+HXLINE( 417) ::Array< ::Dynamic> codecs = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 418) std::vector< int > payloadTypes = m.payloadTypes();
+HXLINE( 419) {
+HXLINE( 419) int _g = 0;
+HXDLIN( 419) int _g1 = ( (int)(payloadTypes.size()) );
+HXDLIN( 419) while((_g < _g1)){
+HXLINE( 419) _g = (_g + 1);
+HXDLIN( 419) int i = (_g - 1);
+HXLINE( 420) int payloadType = ( (int)(payloadTypes.at(i)) );
+HXLINE( 421) bool _hx_tmp;
+HXDLIN( 421) if (::hx::IsNotNull( this->remoteMedia )) {
+HXLINE( 421) _hx_tmp = this->remoteMedia->get_ref().hasPayloadType(payloadType);
}
else {
-HXLINE( 424) std::string this3 = rtp.encParams;
-HXDLIN( 424) _hx_tmp2 = ( (int)(::Std_obj::parseInt(( ( hx::StdString)(::hx::StdString(this3)) ).toString())) );
+HXLINE( 421) _hx_tmp = true;
}
-HXDLIN( 424) codecs->push( ::snikket::jingle::AudioFormat_obj::__alloc( HX_CTX ,_hx_tmp,( (unsigned char)(_hx_tmp1) ),rtp1,_hx_tmp2));
-HXLINE( 425) std::string this4 = rtp.format;
-HXDLIN( 425) if ((( ( hx::StdString)(::hx::StdString(this4)) ).toString() == HX_("opus",bf,11,b4,49))) {
-HXLINE( 426) std::string this5 = rtp.format;
-HXDLIN( 426) ::String _hx_tmp3 = ( ( hx::StdString)(::hx::StdString(this5)) ).toString();
-HXDLIN( 426) int _hx_tmp4 = ( (int)(payloadTypes.at(i)) );
-HXDLIN( 426) int _hx_tmp5;
-HXDLIN( 426) std::string this6 = rtp.encParams;
-HXDLIN( 426) if ((( ( hx::StdString)(::hx::StdString(this6)) ).toString() == HX_("",00,00,00,00))) {
-HXLINE( 426) _hx_tmp5 = 1;
+HXDLIN( 421) if (_hx_tmp) {
+HXLINE( 422) rtc::Description::Media::RtpMap rtp = ::cpp::Pointer_obj::fromRaw(m.rtpMap(payloadType))->get_ref();
+HXLINE( 423) std::string this1 = rtp.format;
+HXDLIN( 423) ::String _hx_tmp1 = ( ( hx::StdString)(::hx::StdString(this1)) ).toString();
+HXDLIN( 423) int _hx_tmp2 = ( (int)(payloadTypes.at(i)) );
+HXDLIN( 423) int rtp1 = rtp.clockRate;
+HXDLIN( 423) int _hx_tmp3;
+HXDLIN( 423) std::string this2 = rtp.encParams;
+HXDLIN( 423) if ((( ( hx::StdString)(::hx::StdString(this2)) ).toString() == HX_("",00,00,00,00))) {
+HXLINE( 423) _hx_tmp3 = 1;
}
else {
-HXLINE( 426) std::string this7 = rtp.encParams;
-HXDLIN( 426) _hx_tmp5 = ( (int)(::Std_obj::parseInt(( ( hx::StdString)(::hx::StdString(this7)) ).toString())) );
- }
-HXDLIN( 426) codecs->push( ::snikket::jingle::AudioFormat_obj::__alloc( HX_CTX ,_hx_tmp3,( (unsigned char)(_hx_tmp4) ),16000,_hx_tmp5));
-HXLINE( 427) std::string this8 = rtp.format;
-HXDLIN( 427) ::String _hx_tmp6 = ( ( hx::StdString)(::hx::StdString(this8)) ).toString();
-HXDLIN( 427) int _hx_tmp7 = ( (int)(payloadTypes.at(i)) );
-HXDLIN( 427) int _hx_tmp8;
-HXDLIN( 427) std::string this9 = rtp.encParams;
-HXDLIN( 427) if ((( ( hx::StdString)(::hx::StdString(this9)) ).toString() == HX_("",00,00,00,00))) {
-HXLINE( 427) _hx_tmp8 = 1;
+HXLINE( 423) std::string this3 = rtp.encParams;
+HXDLIN( 423) _hx_tmp3 = ( (int)(::Std_obj::parseInt(( ( hx::StdString)(::hx::StdString(this3)) ).toString())) );
}
- else {
-HXLINE( 427) std::string this10 = rtp.encParams;
-HXDLIN( 427) _hx_tmp8 = ( (int)(::Std_obj::parseInt(( ( hx::StdString)(::hx::StdString(this10)) ).toString())) );
+HXDLIN( 423) codecs->push( ::borogove::calls::AudioFormat_obj::__alloc( HX_CTX ,_hx_tmp1,( (unsigned char)(_hx_tmp2) ),rtp1,_hx_tmp3));
+HXLINE( 424) std::string this4 = rtp.format;
+HXDLIN( 424) if ((( ( hx::StdString)(::hx::StdString(this4)) ).toString() == HX_("opus",bf,11,b4,49))) {
+HXLINE( 425) std::string this5 = rtp.format;
+HXDLIN( 425) ::String _hx_tmp4 = ( ( hx::StdString)(::hx::StdString(this5)) ).toString();
+HXDLIN( 425) int _hx_tmp5 = ( (int)(payloadTypes.at(i)) );
+HXDLIN( 425) int _hx_tmp6;
+HXDLIN( 425) std::string this6 = rtp.encParams;
+HXDLIN( 425) if ((( ( hx::StdString)(::hx::StdString(this6)) ).toString() == HX_("",00,00,00,00))) {
+HXLINE( 425) _hx_tmp6 = 1;
+ }
+ else {
+HXLINE( 425) std::string this7 = rtp.encParams;
+HXDLIN( 425) _hx_tmp6 = ( (int)(::Std_obj::parseInt(( ( hx::StdString)(::hx::StdString(this7)) ).toString())) );
+ }
+HXDLIN( 425) codecs->push( ::borogove::calls::AudioFormat_obj::__alloc( HX_CTX ,_hx_tmp4,( (unsigned char)(_hx_tmp5) ),16000,_hx_tmp6));
+HXLINE( 426) std::string this8 = rtp.format;
+HXDLIN( 426) ::String _hx_tmp7 = ( ( hx::StdString)(::hx::StdString(this8)) ).toString();
+HXDLIN( 426) int _hx_tmp8 = ( (int)(payloadTypes.at(i)) );
+HXDLIN( 426) int _hx_tmp9;
+HXDLIN( 426) std::string this9 = rtp.encParams;
+HXDLIN( 426) if ((( ( hx::StdString)(::hx::StdString(this9)) ).toString() == HX_("",00,00,00,00))) {
+HXLINE( 426) _hx_tmp9 = 1;
+ }
+ else {
+HXLINE( 426) std::string this10 = rtp.encParams;
+HXDLIN( 426) _hx_tmp9 = ( (int)(::Std_obj::parseInt(( ( hx::StdString)(::hx::StdString(this10)) ).toString())) );
+ }
+HXDLIN( 426) codecs->push( ::borogove::calls::AudioFormat_obj::__alloc( HX_CTX ,_hx_tmp7,( (unsigned char)(_hx_tmp8) ),8000,_hx_tmp9));
}
-HXDLIN( 427) codecs->push( ::snikket::jingle::AudioFormat_obj::__alloc( HX_CTX ,_hx_tmp6,( (unsigned char)(_hx_tmp7) ),8000,_hx_tmp8));
}
}
}
@@ -377,7 +376,7 @@ HXLINE( 431) return codecs;
HX_DEFINE_DYNAMIC_FUNC0(MediaStreamTrack_obj,get_supportedAudioFormats,return )
std::shared_ptr< rtc::Track > MediaStreamTrack_obj::set_track( std::shared_ptr< rtc::Track > newTrack){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_434_set_track)
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_434_set_track)
HXLINE( 435) if (!track) {
HXLINE( 436) this->track = newTrack;
HXLINE( 437) if ((this->get_kind() == HX_("audio",d6,78,80,27))) {
@@ -401,8 +400,8 @@ HXLINE( 458) return this->track;
void MediaStreamTrack_obj::addPCMListener( ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_467_addPCMListener)
-HXDLIN( 467) this->pcmCallback = callback;
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_468_addPCMListener)
+HXDLIN( 468) this->pcmCallback = callback;
}
@@ -411,110 +410,108 @@ HX_DEFINE_DYNAMIC_FUNC1(MediaStreamTrack_obj,addPCMListener,(void))
void MediaStreamTrack_obj::addPCMListener__fromC(::cpp::Function< void (short*,size_t,int,int,void*) > callback,void* callback__context){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,void*,callback__context,::cpp::Function< void (short* HX_COMMA size_t HX_COMMA int HX_COMMA int HX_COMMA void*) >,callback) HXARGC(3)
void _hx_run(::Array< short > a0,int a1,int a2){
- HX_STACKFRAME(&_hx_pos_6a2465e57550c9c8_221_addPCMListener__fromC)
-HXLINE( 221) ::cpp::Function< void (short*,size_t,int,int,void*) > callback1 = callback;
-HXLINE( 211) void** ptr = (void**)a0->getBase();
-HXDLIN( 211) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 211) if (::hx::IsNull( store )) {
-HXLINE( 211) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_1f66e5b64430fc7f_255_addPCMListener__fromC)
+HXLINE( 226) void** ptr = (void**)a0->getBase();
+HXDLIN( 226) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 226) {
+HXLINE( 226) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 226) if (::hx::IsNull( store )) {
+HXLINE( 226) store = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),a0));
-HXDLIN( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+HXDLIN( 226) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
}
else {
-HXLINE( 211) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXLINE( 226) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
-HXLINE( 221) callback1(( (short*)(ptr) ),( (size_t)(a0->length) ),a1,a2,callback__context);
+HXDLIN( 226) int xl0 = a0->length;
+HXLINE( 241) __hxcpp_enter_gc_free_zone();
+HXLINE( 244) callback(( (short*)(ptr) ),( (size_t)(xl0) ),a1,a2,callback__context);
+HXLINE( 248) __hxcpp_exit_gc_free_zone();
}
HX_END_LOCAL_FUNC3((void))
- HX_STACKFRAME(&_hx_pos_6a2465e57550c9c8_252_addPCMListener__fromC)
-HXDLIN( 252) this->addPCMListener( ::Dynamic(new _hx_Closure_0(callback__context,callback)));
+ HX_STACKFRAME(&_hx_pos_1f66e5b64430fc7f_315_addPCMListener__fromC)
+HXDLIN( 315) this->addPCMListener( ::Dynamic(new _hx_Closure_0(callback__context,callback)));
}
void MediaStreamTrack_obj::onFrame( std::vector< std::byte > msg, rtc::FrameInfo frameInfo){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_492_onFrame)
-HXLINE( 493) int base = 0; hx::SetTopOfStack(&base, true);;
-HXLINE( 494) rtc::Description::Media::RtpMap rtp = ::cpp::Pointer_obj::fromRaw(this->track->description().rtpMap(frameInfo.payloadType))->get_ref();
-HXLINE( 495) std::string this1 = rtp.format;
-HXDLIN( 495) ::String format = ( ( hx::StdString)(::hx::StdString(this1)) ).toString();
-HXLINE( 496) ::Dynamic channels;
-HXDLIN( 496) std::string this2 = rtp.encParams;
-HXDLIN( 496) if ((( ( hx::StdString)(::hx::StdString(this2)) ).toString() == HX_("",00,00,00,00))) {
-HXLINE( 496) channels = 1;
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_493_onFrame)
+HXLINE( 494) int base = 0; hx::SetTopOfStack(&base, true);;
+HXLINE( 495) rtc::Description::Media::RtpMap rtp = ::cpp::Pointer_obj::fromRaw(this->track->description().rtpMap(frameInfo.payloadType))->get_ref();
+HXLINE( 496) std::string this1 = rtp.format;
+HXDLIN( 496) ::String format = ( ( hx::StdString)(::hx::StdString(this1)) ).toString();
+HXLINE( 497) ::Dynamic channels;
+HXDLIN( 497) std::string this2 = rtp.encParams;
+HXDLIN( 497) if ((( ( hx::StdString)(::hx::StdString(this2)) ).toString() == HX_("",00,00,00,00))) {
+HXLINE( 497) channels = 1;
}
else {
-HXLINE( 496) std::string this3 = rtp.encParams;
-HXDLIN( 496) channels = ::Std_obj::parseInt(( ( hx::StdString)(::hx::StdString(this3)) ).toString());
+HXLINE( 497) std::string this3 = rtp.encParams;
+HXDLIN( 497) channels = ::Std_obj::parseInt(( ( hx::StdString)(::hx::StdString(this3)) ).toString());
}
-HXLINE( 497) if ((format == HX_("PCMU",1b,2c,14,35))) {
-HXLINE( 498) ::Array< short > s16 = ::Array_obj< short >::__new(( (int)(msg.size()) ));
-HXLINE( 499) {
-HXLINE( 499) int _g = 0;
-HXDLIN( 499) int _g1 = ( (int)(msg.size()) );
-HXDLIN( 499) while((_g < _g1)){
-HXLINE( 499) _g = (_g + 1);
-HXDLIN( 499) int i = (_g - 1);
-HXLINE( 500) {
-HXLINE( 500) short val = ::snikket::jingle::MediaStreamTrack_obj::ULAW_DECODE->__get(( (int)(msg.at(i)) ));
-HXDLIN( 500) s16->__unsafe_set(i,val);
+HXLINE( 498) if ((format == HX_("PCMU",1b,2c,14,35))) {
+HXLINE( 499) ::Array< short > s16 = ::Array_obj< short >::__new(( (int)(msg.size()) ));
+HXLINE( 500) {
+HXLINE( 500) int _g = 0;
+HXDLIN( 500) int _g1 = ( (int)(msg.size()) );
+HXDLIN( 500) while((_g < _g1)){
+HXLINE( 500) _g = (_g + 1);
+HXDLIN( 500) int i = (_g - 1);
+HXLINE( 501) {
+HXLINE( 501) short val = ::borogove::calls::MediaStreamTrack_obj::ULAW_DECODE->__get(( (int)(msg.at(i)) ));
+HXDLIN( 501) s16->__unsafe_set(i,val);
}
}
}
-HXLINE( 502) if (::hx::IsNotNull( this->pcmCallback )) {
-HXLINE( 503) __hxcpp_enter_gc_free_zone();
+HXLINE( 503) if (::hx::IsNotNull( this->pcmCallback )) {
HXLINE( 504) this->pcmCallback(s16,rtp.clockRate,channels);
-HXLINE( 505) __hxcpp_exit_gc_free_zone();
}
}
else {
-HXLINE( 507) if ((format == HX_("opus",bf,11,b4,49))) {
-HXLINE( 508) ::Array< short > s161 = ::Array_obj< short >::__new(5760);
-HXLINE( 509) if (!opus) {
-HXLINE( 509) ::cpp::Pointer< int > tmp = null();
-HXDLIN( 509) this->opus = opus_decoder_create(rtp.clockRate,( (int)(channels) ),tmp);
+HXLINE( 506) if ((format == HX_("opus",bf,11,b4,49))) {
+HXLINE( 507) ::Array< short > s161 = ::Array_obj< short >::__new(5760);
+HXLINE( 508) if (!opus) {
+HXLINE( 508) ::cpp::Pointer< int > tmp = null();
+HXDLIN( 508) this->opus = opus_decoder_create(rtp.clockRate,( (int)(channels) ),tmp);
}
-HXLINE( 511) ::cpp::Pointer< unsigned char > tmp1 = ( (::cpp::Pointer< unsigned char >)(msg.data()) );
-HXDLIN( 511) ::cpp::Pointer< short > tmp2 = ( (::cpp::Pointer< short >)(::cpp::Pointer_obj::ofArray(s161)) );
-HXDLIN( 511) cpp::Struct< OpusDecoder* > decoded = this->opus;
-HXDLIN( 511) size_t decoded1 = msg.size();
-HXDLIN( 511) int decoded2 = opus_decode(decoded,tmp1,( (int)(decoded1) ),tmp2,::Std_obj::_hx_int((( (Float)(s161->length) ) / ( (Float)(channels) ))),false);
-HXLINE( 512) s161->resize((decoded2 * ( (int)(channels) )));
-HXLINE( 513) if (::hx::IsNotNull( this->pcmCallback )) {
-HXLINE( 514) __hxcpp_enter_gc_free_zone();
-HXLINE( 515) this->pcmCallback(s161,rtp.clockRate,channels);
-HXLINE( 516) __hxcpp_exit_gc_free_zone();
+HXLINE( 510) ::cpp::Pointer< unsigned char > tmp1 = ( (::cpp::Pointer< unsigned char >)(msg.data()) );
+HXDLIN( 510) ::cpp::Pointer< short > tmp2 = ( (::cpp::Pointer< short >)(::cpp::Pointer_obj::ofArray(s161)) );
+HXDLIN( 510) cpp::Struct< OpusDecoder* > decoded = this->opus;
+HXDLIN( 510) size_t decoded1 = msg.size();
+HXDLIN( 510) int decoded2 = opus_decode(decoded,tmp1,( (int)(decoded1) ),tmp2,::Std_obj::_hx_int((( (Float)(s161->length) ) / ( (Float)(channels) ))),false);
+HXLINE( 511) s161->resize((decoded2 * ( (int)(channels) )));
+HXLINE( 512) if (::hx::IsNotNull( this->pcmCallback )) {
+HXLINE( 513) this->pcmCallback(s161,rtp.clockRate,channels);
}
}
else {
-HXLINE( 519) ::haxe::Log_obj::trace(HX_("Ignoring audio frame with format",a3,bb,fe,5b), ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.MediaStreamTrack",73,fe,80,a9))
+HXLINE( 516) ::haxe::Log_obj::trace(HX_("Ignoring audio frame with format",a3,bb,fe,5b), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.MediaStreamTrack",ad,55,83,33))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,format))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("onFrame",8e,16,c1,9c))
- ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("snikket/jingle/PeerConnection.cpp.hx",1d,b7,fa,f9))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),519)));
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/PeerConnection.cpp.hx",c1,79,41,6b))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),516)));
}
}
-HXLINE( 521) hx::SetTopOfStack((int*)0, true);;
+HXLINE( 518) hx::SetTopOfStack((int*)0, true);;
}
void MediaStreamTrack_obj::addReadyForPCMListener( ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_529_addReadyForPCMListener)
-HXLINE( 530) this->readyForPCMCallback = callback;
-HXLINE( 531) bool _hx_tmp;
-HXDLIN( 531) if (track) {
-HXLINE( 531) _hx_tmp = this->track->isOpen();
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_527_addReadyForPCMListener)
+HXLINE( 528) this->readyForPCMCallback = callback;
+HXLINE( 529) bool _hx_tmp;
+HXDLIN( 529) if (track) {
+HXLINE( 529) _hx_tmp = this->track->isOpen();
}
else {
-HXLINE( 531) _hx_tmp = false;
+HXLINE( 529) _hx_tmp = false;
}
-HXDLIN( 531) if (_hx_tmp) {
-HXLINE( 532) this->notifyReadyForData(false);
+HXDLIN( 529) if (_hx_tmp) {
+HXLINE( 530) this->notifyReadyForData(false);
}
}
@@ -524,40 +521,40 @@ HX_DEFINE_DYNAMIC_FUNC1(MediaStreamTrack_obj,addReadyForPCMListener,(void))
void MediaStreamTrack_obj::addReadyForPCMListener__fromC(::cpp::Function< void (void*) > callback,void* callback__context){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,void*,callback__context,::cpp::Function< void (void*) >,callback) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_6a2465e57550c9c8_221_addReadyForPCMListener__fromC)
-HXLINE( 221) callback(callback__context);
+ HX_STACKFRAME(&_hx_pos_1f66e5b64430fc7f_255_addReadyForPCMListener__fromC)
+HXLINE( 241) __hxcpp_enter_gc_free_zone();
+HXLINE( 244) callback(callback__context);
+HXLINE( 248) __hxcpp_exit_gc_free_zone();
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_6a2465e57550c9c8_252_addReadyForPCMListener__fromC)
-HXDLIN( 252) this->addReadyForPCMListener( ::Dynamic(new _hx_Closure_0(callback__context,callback)));
+ HX_STACKFRAME(&_hx_pos_1f66e5b64430fc7f_315_addReadyForPCMListener__fromC)
+HXDLIN( 315) this->addReadyForPCMListener( ::Dynamic(new _hx_Closure_0(callback__context,callback)));
}
void MediaStreamTrack_obj::notifyReadyForData(bool fromCPP){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_536_notifyReadyForData)
-HXDLIN( 536) ::snikket::jingle::MediaStreamTrack _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 537) if (fromCPP) { int base = 0; hx::SetTopOfStack(&base, true); };
-HXLINE( 538) if (::hx::IsNotNull( this->readyForPCMCallback )) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::MediaStreamTrack,_gthis) HXARGC(0)
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_534_notifyReadyForData)
+HXDLIN( 534) ::borogove::calls::MediaStreamTrack _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 535) if (fromCPP) { int base = 0; hx::SetTopOfStack(&base, true); };
+HXLINE( 536) if (::hx::IsNotNull( this->readyForPCMCallback )) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::MediaStreamTrack,_gthis) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_540_notifyReadyForData)
-HXLINE( 540) if ((_gthis->audioQ->length > (50 + (( (Float)(50) ) * _gthis->bufferSizeInSeconds)))) {
-HXLINE( 541) _gthis->mutex->acquire();
-HXLINE( 542) _gthis->waitForQ = true;
-HXLINE( 543) _gthis->mutex->release();
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_538_notifyReadyForData)
+HXLINE( 538) if ((_gthis->audioQ->length > (50 + (( (Float)(50) ) * _gthis->bufferSizeInSeconds)))) {
+HXLINE( 539) _gthis->mutex->acquire();
+HXLINE( 540) _gthis->waitForQ = true;
+HXLINE( 541) _gthis->mutex->release();
}
else {
-HXLINE( 545) __hxcpp_enter_gc_free_zone();
-HXLINE( 546) _gthis->readyForPCMCallback();
-HXLINE( 547) __hxcpp_exit_gc_free_zone();
+HXLINE( 543) _gthis->readyForPCMCallback();
}
}
HX_END_LOCAL_FUNC0((void))
-HXLINE( 539) this->eventLoop->run( ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 537) this->eventLoop->run( ::Dynamic(new _hx_Closure_0(_gthis)));
}
-HXLINE( 551) if (fromCPP) { hx::SetTopOfStack((int*)0, true); };
+HXLINE( 547) if (fromCPP) { hx::SetTopOfStack((int*)0, true); };
}
@@ -565,205 +562,205 @@ HX_DEFINE_DYNAMIC_FUNC1(MediaStreamTrack_obj,notifyReadyForData,(void))
void MediaStreamTrack_obj::writePCM(::Array< short > pcm,int clockRate,int channels){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,int,channels,int,clockRate) HXARGC(1)
- bool _hx_run( ::snikket::jingle::AudioFormat format){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_562_writePCM)
-HXLINE( 562) if ((format->clockRate == clockRate)) {
-HXLINE( 562) return (format->channels == channels);
+ bool _hx_run( ::borogove::calls::AudioFormat format){
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_558_writePCM)
+HXLINE( 558) if ((format->clockRate == clockRate)) {
+HXLINE( 558) return (format->channels == channels);
}
else {
-HXLINE( 562) return false;
+HXLINE( 558) return false;
}
-HXDLIN( 562) return false;
+HXDLIN( 558) return false;
}
HX_END_LOCAL_FUNC1(return)
- HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_1,::Array< short >,pcm, ::snikket::jingle::MediaStreamTrack,_gthis,int,channels,int,clockRate, ::snikket::jingle::AudioFormat,format) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_1,::Array< short >,pcm, ::borogove::calls::MediaStreamTrack,_gthis,int,channels,int,clockRate, ::borogove::calls::AudioFormat,format) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_567_writePCM)
-HXLINE( 568) int samples = ::Std_obj::_hx_int((( (Float)(pcm->length) ) / ( (Float)(channels) )));
-HXLINE( 569) _gthis->mutex->acquire();
-HXLINE( 570) Float stamp;
-HXDLIN( 570) if ((_gthis->audioQ->length < 1)) {
-HXLINE( 571) _gthis->bufferSizeInSeconds = ::Math_obj::max(_gthis->bufferSizeInSeconds,(_gthis->bufferSizeInSeconds + ((Float)0.1)));
-HXLINE( 572) Float stamp1 = ::__time_stamp();
-HXLINE( 570) stamp = (stamp1 + _gthis->bufferSizeInSeconds);
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_563_writePCM)
+HXLINE( 564) int samples = ::Std_obj::_hx_int((( (Float)(pcm->length) ) / ( (Float)(channels) )));
+HXLINE( 565) _gthis->mutex->acquire();
+HXLINE( 566) Float stamp;
+HXDLIN( 566) if ((_gthis->audioQ->length < 1)) {
+HXLINE( 567) _gthis->bufferSizeInSeconds = ::Math_obj::max(_gthis->bufferSizeInSeconds,(_gthis->bufferSizeInSeconds + ((Float)0.1)));
+HXLINE( 568) Float stamp1 = ::__time_stamp();
+HXLINE( 566) stamp = (stamp1 + _gthis->bufferSizeInSeconds);
}
else {
-HXLINE( 570) stamp = ( (Float)((_gthis->audioQ->__get(0)->__Field(HX_("stamp",03,70,0b,84),::hx::paccDynamic) + ((( (Float)(samples) ) / (( (Float)(clockRate) ) / ( (Float)(1000) ))) / ((Float)1000.0)))) );
+HXLINE( 566) stamp = ( (Float)((_gthis->audioQ->__get(0)->__Field(HX_("stamp",03,70,0b,84),::hx::paccDynamic) + ((( (Float)(samples) ) / (( (Float)(clockRate) ) / ( (Float)(1000) ))) / ((Float)1000.0)))) );
}
-HXLINE( 576) _gthis->mutex->release();
-HXLINE( 577) if ((format->format == HX_("PCMU",1b,2c,14,35))) {
-HXLINE( 578) int channels1 = channels;
-HXDLIN( 578) unsigned char format1 = format->payloadType;
-HXDLIN( 578) int clockRate1 = clockRate;
-HXDLIN( 578) ::Dynamic f = ::snikket::jingle::MediaStreamTrack_obj::pcmToUlaw_dyn();
-HXDLIN( 578) ::Array< unsigned char > result = ::Array_obj< unsigned char >::__new(pcm->length);
-HXDLIN( 578) {
-HXLINE( 578) int _g = 0;
-HXDLIN( 578) int _g1 = pcm->length;
-HXDLIN( 578) while((_g < _g1)){
-HXLINE( 578) _g = (_g + 1);
-HXDLIN( 578) int i = (_g - 1);
-HXDLIN( 578) {
-HXLINE( 578) unsigned char inValue = ( (unsigned char)(f(_hx_array_unsafe_get(pcm,i))) );
-HXDLIN( 578) result->__unsafe_set(i,inValue);
+HXLINE( 572) _gthis->mutex->release();
+HXLINE( 573) if ((format->format == HX_("PCMU",1b,2c,14,35))) {
+HXLINE( 574) int channels1 = channels;
+HXDLIN( 574) unsigned char format1 = format->payloadType;
+HXDLIN( 574) int clockRate1 = clockRate;
+HXDLIN( 574) ::Dynamic f = ::borogove::calls::MediaStreamTrack_obj::pcmToUlaw_dyn();
+HXDLIN( 574) ::Array< unsigned char > result = ::Array_obj< unsigned char >::__new(pcm->length);
+HXDLIN( 574) {
+HXLINE( 574) int _g = 0;
+HXDLIN( 574) int _g1 = pcm->length;
+HXDLIN( 574) while((_g < _g1)){
+HXLINE( 574) _g = (_g + 1);
+HXDLIN( 574) int i = (_g - 1);
+HXDLIN( 574) {
+HXLINE( 574) unsigned char inValue = ( (unsigned char)(f(_hx_array_unsafe_get(pcm,i))) );
+HXDLIN( 574) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 578) ::Dynamic packet = ::Dynamic(::hx::Anon_obj::Create(6)
+HXDLIN( 574) ::Dynamic packet = ::Dynamic(::hx::Anon_obj::Create(6)
->setFixed(0,HX_("samples",09,c5,c9,83),samples)
->setFixed(1,HX_("stamp",03,70,0b,84),stamp)
->setFixed(2,HX_("payloadType",68,bd,49,af),format1)
->setFixed(3,HX_("payload",8e,bf,35,ed),result)
->setFixed(4,HX_("clockRate",ce,87,24,24),clockRate1)
->setFixed(5,HX_("channels",50,aa,ee,6a),channels1));
-HXLINE( 579) _gthis->mutex->acquire();
-HXLINE( 580) _gthis->audioQ->unshift(packet);
-HXLINE( 581) _gthis->mutex->release();
+HXLINE( 575) _gthis->mutex->acquire();
+HXLINE( 576) _gthis->audioQ->unshift(packet);
+HXLINE( 577) _gthis->mutex->release();
}
else {
-HXLINE( 582) if ((format->format == HX_("opus",bf,11,b4,49))) {
-HXLINE( 583) if (!_gthis->opusEncoder) {
-HXLINE( 584) ::cpp::Pointer< int > tmp = null();
-HXDLIN( 584) int clockRate2 = clockRate;
-HXDLIN( 584) int channels2 = channels;
-HXDLIN( 584) int _hx_tmp = OPUS_APPLICATION_VOIP;
-HXDLIN( 584) _gthis->opusEncoder = opus_encoder_create(clockRate2,channels2,_hx_tmp,tmp);
-HXLINE( 585) opus_encoder_ctl(_gthis->opusEncoder, OPUS_SET_BITRATE(24000));
-HXLINE( 586) opus_encoder_ctl(_gthis->opusEncoder, OPUS_SET_PACKET_LOSS_PERC(5));
-HXLINE( 587) opus_encoder_ctl(_gthis->opusEncoder, OPUS_SET_INBAND_FEC(1));
+HXLINE( 578) if ((format->format == HX_("opus",bf,11,b4,49))) {
+HXLINE( 579) if (!_gthis->opusEncoder) {
+HXLINE( 580) ::cpp::Pointer< int > tmp = null();
+HXDLIN( 580) int clockRate2 = clockRate;
+HXDLIN( 580) int channels2 = channels;
+HXDLIN( 580) int _hx_tmp = OPUS_APPLICATION_VOIP;
+HXDLIN( 580) _gthis->opusEncoder = opus_encoder_create(clockRate2,channels2,_hx_tmp,tmp);
+HXLINE( 581) opus_encoder_ctl(_gthis->opusEncoder, OPUS_SET_BITRATE(24000));
+HXLINE( 582) opus_encoder_ctl(_gthis->opusEncoder, OPUS_SET_PACKET_LOSS_PERC(5));
+HXLINE( 583) opus_encoder_ctl(_gthis->opusEncoder, OPUS_SET_INBAND_FEC(1));
}
-HXLINE( 589) ::Array< unsigned char > rawOpus = ::Array_obj< unsigned char >::__new((pcm->length * 2));
-HXLINE( 591) ::cpp::Pointer< short > tmp1 = ( (::cpp::Pointer< short >)(::cpp::Pointer_obj::ofArray(pcm)) );
-HXDLIN( 591) ::cpp::Pointer< unsigned char > tmp2 = ( (::cpp::Pointer< unsigned char >)(::cpp::Pointer_obj::ofArray(rawOpus)) );
-HXDLIN( 591) int encoded = opus_encode(_gthis->opusEncoder,tmp1,samples,tmp2,rawOpus->length);
-HXLINE( 592) if ((encoded < 0)) {
-HXLINE( 593) ::haxe::Log_obj::trace(HX_("Opus encode failed",86,4c,9a,50), ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.MediaStreamTrack",73,fe,80,a9))
+HXLINE( 585) ::Array< unsigned char > rawOpus = ::Array_obj< unsigned char >::__new((pcm->length * 2));
+HXLINE( 587) ::cpp::Pointer< short > tmp1 = ( (::cpp::Pointer< short >)(::cpp::Pointer_obj::ofArray(pcm)) );
+HXDLIN( 587) ::cpp::Pointer< unsigned char > tmp2 = ( (::cpp::Pointer< unsigned char >)(::cpp::Pointer_obj::ofArray(rawOpus)) );
+HXDLIN( 587) int encoded = opus_encode(_gthis->opusEncoder,tmp1,samples,tmp2,rawOpus->length);
+HXLINE( 588) if ((encoded < 0)) {
+HXLINE( 589) ::haxe::Log_obj::trace(HX_("Opus encode failed",86,4c,9a,50), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.MediaStreamTrack",ad,55,83,33))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,encoded))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("writePCM",7b,97,f5,23))
- ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("snikket/jingle/PeerConnection.cpp.hx",1d,b7,fa,f9))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),593)));
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/PeerConnection.cpp.hx",c1,79,41,6b))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),589)));
}
else {
-HXLINE( 595) rawOpus->resize(encoded);
-HXLINE( 596) ::Dynamic packet1 = ::Dynamic(::hx::Anon_obj::Create(6)
+HXLINE( 591) rawOpus->resize(encoded);
+HXLINE( 592) ::Dynamic packet1 = ::Dynamic(::hx::Anon_obj::Create(6)
->setFixed(0,HX_("samples",09,c5,c9,83),samples)
->setFixed(1,HX_("stamp",03,70,0b,84),stamp)
->setFixed(2,HX_("payloadType",68,bd,49,af),format->payloadType)
->setFixed(3,HX_("payload",8e,bf,35,ed),rawOpus)
->setFixed(4,HX_("clockRate",ce,87,24,24),clockRate)
->setFixed(5,HX_("channels",50,aa,ee,6a),channels));
-HXLINE( 597) _gthis->mutex->acquire();
-HXLINE( 598) _gthis->audioQ->unshift(packet1);
-HXLINE( 599) _gthis->mutex->release();
+HXLINE( 593) _gthis->mutex->acquire();
+HXLINE( 594) _gthis->audioQ->unshift(packet1);
+HXLINE( 595) _gthis->mutex->release();
}
}
else {
-HXLINE( 602) ::haxe::Log_obj::trace(HX_("Ignoring audio meant to go out as",e3,e7,4f,55), ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.MediaStreamTrack",73,fe,80,a9))
+HXLINE( 598) ::haxe::Log_obj::trace(HX_("Ignoring audio meant to go out as",e3,e7,4f,55), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.MediaStreamTrack",ad,55,83,33))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(3)->init(0,format->format)->init(1,format->clockRate)->init(2,format->channels))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("writePCM",7b,97,f5,23))
- ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("snikket/jingle/PeerConnection.cpp.hx",1d,b7,fa,f9))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),602)));
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/PeerConnection.cpp.hx",c1,79,41,6b))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),598)));
}
}
-HXLINE( 604) _gthis->notifyReadyForData(false);
+HXLINE( 600) _gthis->notifyReadyForData(false);
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_561_writePCM)
-HXDLIN( 561) ::snikket::jingle::MediaStreamTrack _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 562) ::snikket::jingle::AudioFormat format = ( ( ::snikket::jingle::AudioFormat)(::Lambda_obj::find(this->get_supportedAudioFormats(), ::Dynamic(new _hx_Closure_0(channels,clockRate)))) );
-HXLINE( 563) if (::hx::IsNull( format )) {
-HXLINE( 564) ::haxe::Log_obj::trace((((HX_("Unsupported audio format: ",52,9d,51,59) + clockRate) + HX_("/",2f,00,00,00)) + channels),::hx::SourceInfo(HX_("snikket/jingle/PeerConnection.cpp.hx",1d,b7,fa,f9),564,HX_("snikket.jingle.MediaStreamTrack",73,fe,80,a9),HX_("writePCM",7b,97,f5,23)));
-HXLINE( 565) return;
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_557_writePCM)
+HXDLIN( 557) ::borogove::calls::MediaStreamTrack _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 558) ::borogove::calls::AudioFormat format = ( ( ::borogove::calls::AudioFormat)(::Lambda_obj::find(this->get_supportedAudioFormats(), ::Dynamic(new _hx_Closure_0(channels,clockRate)))) );
+HXLINE( 559) if (::hx::IsNull( format )) {
+HXLINE( 560) ::haxe::Log_obj::trace((((HX_("Unsupported audio format: ",52,9d,51,59) + clockRate) + HX_("/",2f,00,00,00)) + channels),::hx::SourceInfo(HX_("borogove/calls/PeerConnection.cpp.hx",c1,79,41,6b),560,HX_("borogove.calls.MediaStreamTrack",ad,55,83,33),HX_("writePCM",7b,97,f5,23)));
+HXLINE( 561) return;
}
-HXLINE( 567) this->eventLoop->run( ::Dynamic(new _hx_Closure_1(pcm,_gthis,channels,clockRate,format)));
+HXLINE( 563) this->eventLoop->run( ::Dynamic(new _hx_Closure_1(pcm,_gthis,channels,clockRate,format)));
}
HX_DEFINE_DYNAMIC_FUNC3(MediaStreamTrack_obj,writePCM,(void))
void MediaStreamTrack_obj::writePCM__fromC(::cpp::Pointer< short > pcm,size_t pcm__len,int clockRate,int channels){
- HX_STACKFRAME(&_hx_pos_6a2465e57550c9c8_252_writePCM__fromC)
-HXLINE( 231) ::Array< short > _hx_tmp;
-HXDLIN( 231) if (::hx::IsNull( pcm )) {
-HXLINE( 231) _hx_tmp = null();
+ HX_STACKFRAME(&_hx_pos_1f66e5b64430fc7f_315_writePCM__fromC)
+HXLINE( 265) ::Array< short > _hx_tmp;
+HXDLIN( 265) if (::hx::IsNull( pcm )) {
+HXLINE( 265) _hx_tmp = null();
}
else {
-HXLINE( 231) ::cpp::Pointer< short > _this = pcm->reinterpret();
-HXDLIN( 231) ::Array< short > result = ::Array_obj< short >::__new();
-HXDLIN( 231) ::cpp::Pointer< short > tmp = _this;
-HXDLIN( 231) result->setUnmanagedData(tmp,( (int)(pcm__len) ));
-HXDLIN( 231) _hx_tmp = result->copy();
+HXLINE( 265) ::cpp::Pointer< short > _this = pcm->reinterpret();
+HXDLIN( 265) ::Array< short > result = ::Array_obj< short >::__new();
+HXDLIN( 265) ::cpp::Pointer< short > tmp = _this;
+HXDLIN( 265) result->setUnmanagedData(tmp,( (int)(pcm__len) ));
+HXDLIN( 265) _hx_tmp = result->copy();
}
-HXLINE( 252) this->writePCM(_hx_tmp,clockRate,channels);
+HXLINE( 315) this->writePCM(_hx_tmp,clockRate,channels);
}
HX_DEFINE_DYNAMIC_FUNC4(MediaStreamTrack_obj,writePCM__fromC,(void))
void MediaStreamTrack_obj::onAudioLoop( ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_610_onAudioLoop)
-HXDLIN( 610) this->eventLoop->run(callback);
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_606_onAudioLoop)
+HXDLIN( 606) this->eventLoop->run(callback);
}
HX_DEFINE_DYNAMIC_FUNC1(MediaStreamTrack_obj,onAudioLoop,(void))
void MediaStreamTrack_obj::write(::Array< unsigned char > payload,unsigned char payloadType,int clockRate){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_614_write)
-HXLINE( 615) bool _hx_tmp;
-HXDLIN( 615) if (!(!track)) {
-HXLINE( 615) _hx_tmp = !(this->track->isOpen());
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_610_write)
+HXLINE( 611) bool _hx_tmp;
+HXDLIN( 611) if (!(!track)) {
+HXLINE( 611) _hx_tmp = !(this->track->isOpen());
}
else {
-HXLINE( 615) _hx_tmp = true;
+HXLINE( 611) _hx_tmp = true;
}
-HXDLIN( 615) if (_hx_tmp) {
-HXLINE( 615) return;
+HXDLIN( 611) if (_hx_tmp) {
+HXLINE( 611) return;
}
-HXLINE( 617) this->rtpPacketizationConfig->payloadType = payloadType;
-HXLINE( 618) this->rtpPacketizationConfig->clockRate = ( (unsigned int)(clockRate) );
-HXLINE( 619) ::cpp::Pointer< std::byte > tmp = ( (::cpp::Pointer< unsigned char >)(::cpp::Pointer_obj::ofArray(payload)) )->reinterpret();
-HXDLIN( 619) this->track->send(tmp,( (size_t)(payload->length) ));
+HXLINE( 613) this->rtpPacketizationConfig->payloadType = payloadType;
+HXLINE( 614) this->rtpPacketizationConfig->clockRate = ( (unsigned int)(clockRate) );
+HXLINE( 615) ::cpp::Pointer< std::byte > tmp = ( (::cpp::Pointer< unsigned char >)(::cpp::Pointer_obj::ofArray(payload)) )->reinterpret();
+HXDLIN( 615) this->track->send(tmp,( (size_t)(payload->length) ));
}
HX_DEFINE_DYNAMIC_FUNC3(MediaStreamTrack_obj,write,(void))
void MediaStreamTrack_obj::advanceTimestamp(int samples){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_626_advanceTimestamp)
-HXDLIN( 626) this->rtpPacketizationConfig->timestamp = (this->rtpPacketizationConfig->timestamp + samples);
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_622_advanceTimestamp)
+HXDLIN( 622) this->rtpPacketizationConfig->timestamp = (this->rtpPacketizationConfig->timestamp + samples);
}
HX_DEFINE_DYNAMIC_FUNC1(MediaStreamTrack_obj,advanceTimestamp,(void))
void MediaStreamTrack_obj::stop(){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_629_stop)
-HXLINE( 630) this->timer->stop();
-HXLINE( 631) this->mutex->acquire();
-HXLINE( 632) this->alive = false;
-HXLINE( 633) if (this->track->isOpen()) {
-HXLINE( 633) this->track->close();
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_625_stop)
+HXLINE( 626) this->timer->stop();
+HXLINE( 627) this->mutex->acquire();
+HXLINE( 628) this->alive = false;
+HXLINE( 629) if (this->track->isOpen()) {
+HXLINE( 629) this->track->close();
}
-HXLINE( 634) if (opus) {
-HXLINE( 635) opus_decoder_destroy(this->opus);
-HXLINE( 636) this->opus = null();
+HXLINE( 630) if (opus) {
+HXLINE( 631) opus_decoder_destroy(this->opus);
+HXLINE( 632) this->opus = null();
}
-HXLINE( 638) this->mutex->release();
+HXLINE( 634) this->mutex->release();
}
HX_DEFINE_DYNAMIC_FUNC0(MediaStreamTrack_obj,stop,(void))
- ::snikket::jingle::MediaStreamTrack MediaStreamTrack_obj::fromTrack( std::shared_ptr< rtc::Track > t){
- HX_GC_STACKFRAME(&_hx_pos_199cfc803453bfcf_362_fromTrack)
-HXLINE( 363) ::snikket::jingle::MediaStreamTrack media = ::snikket::jingle::MediaStreamTrack_obj::__alloc( HX_CTX );
-HXLINE( 364) media->set_track(t);
-HXLINE( 365) return media;
+ ::borogove::calls::MediaStreamTrack MediaStreamTrack_obj::fromTrack( std::shared_ptr< rtc::Track > t){
+ HX_GC_STACKFRAME(&_hx_pos_306b50e70c93d428_367_fromTrack)
+HXLINE( 368) ::borogove::calls::MediaStreamTrack media = ::borogove::calls::MediaStreamTrack_obj::__alloc( HX_CTX );
+HXLINE( 369) media->set_track(t);
+HXLINE( 370) return media;
}
@@ -772,22 +769,21 @@ HXLINE( 365) return media;
::Array< unsigned char > MediaStreamTrack_obj::ULAW_EXP;
unsigned char MediaStreamTrack_obj::pcmToUlaw(short sample){
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_473_pcmToUlaw)
-HXLINE( 474) int sign;
-HXDLIN( 474) if ((sample < 0)) {
-HXLINE( 475) sample = -(sample);
-HXLINE( 474) sign = 128;
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_474_pcmToUlaw)
+HXLINE( 475) int sign;
+HXDLIN( 475) if ((sample < 0)) {
+HXLINE( 476) sample = -(sample);
+HXLINE( 475) sign = 128;
}
else {
-HXLINE( 474) sign = 0;
+HXLINE( 475) sign = 0;
}
-HXLINE( 482) if ((sample > 32635)) {
-HXLINE( 483) sample = ( (short)(32635) );
+HXLINE( 483) if ((sample > 32635)) {
+HXLINE( 484) sample = ( (short)(32635) );
}
-HXLINE( 486) sample = (sample + 132);
-HXLINE( 487) unsigned char exponent = ::snikket::jingle::MediaStreamTrack_obj::ULAW_EXP->__get(((( (int)(sample) ) >> 8) & 127));
-HXLINE( 488) int mantissa = ((( (int)(sample) ) >> ( (int)((exponent + 3)) )) & 15);
-HXLINE( 489) return ( (unsigned char)(~(((sign | (( (int)(exponent) ) << 4)) | mantissa))) );
+HXLINE( 487) sample = (sample + 132);
+HXLINE( 488) unsigned char exponent = ::borogove::calls::MediaStreamTrack_obj::ULAW_EXP->__get(((( (int)(sample) ) >> 8) & 127));
+HXLINE( 490) return ( (unsigned char)(~(((sign | (( (int)(exponent) ) << 4)) | ((( (int)(sample) ) >> ( (int)((exponent + 3)) )) & 15)))) );
}
@@ -801,7 +797,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(MediaStreamTrack_obj,pcmToUlaw,return )
}
::hx::ObjectPtr< MediaStreamTrack_obj > MediaStreamTrack_obj::__alloc(::hx::Ctx *_hx_ctx) {
- MediaStreamTrack_obj *__this = (MediaStreamTrack_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MediaStreamTrack_obj), true, "snikket.jingle.MediaStreamTrack"));
+ MediaStreamTrack_obj *__this = (MediaStreamTrack_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MediaStreamTrack_obj), true, "borogove.calls.MediaStreamTrack"));
*(void **)__this = MediaStreamTrack_obj::_hx_vtable;
__this->__construct();
return __this;
@@ -827,6 +823,7 @@ void MediaStreamTrack_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(bufferSizeInSeconds,"bufferSizeInSeconds");
HX_MARK_MEMBER_NAME(mutex,"mutex");
HX_MARK_MEMBER_NAME(media,"media");
+ HX_MARK_MEMBER_NAME(remoteMedia,"remoteMedia");
HX_MARK_MEMBER_NAME(track,"track");
HX_MARK_END_CLASS();
}
@@ -846,6 +843,7 @@ void MediaStreamTrack_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(bufferSizeInSeconds,"bufferSizeInSeconds");
HX_VISIT_MEMBER_NAME(mutex,"mutex");
HX_VISIT_MEMBER_NAME(media,"media");
+ HX_VISIT_MEMBER_NAME(remoteMedia,"remoteMedia");
HX_VISIT_MEMBER_NAME(track,"track");
}
@@ -885,6 +883,7 @@ void MediaStreamTrack_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"kind__fromC") ) { return ::hx::Val( kind__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"pcmCallback") ) { return ::hx::Val( pcmCallback ); }
if (HX_FIELD_EQ(inName,"opusEncoder") ) { return ::hx::Val( opusEncoder ); }
+ if (HX_FIELD_EQ(inName,"remoteMedia") ) { return ::hx::Val( remoteMedia ); }
if (HX_FIELD_EQ(inName,"onAudioLoop") ) { return ::hx::Val( onAudioLoop_dyn() ); }
break;
case 12:
@@ -956,6 +955,7 @@ bool MediaStreamTrack_obj::__GetStatic(const ::String &inName, Dynamic &outValue
case 11:
if (HX_FIELD_EQ(inName,"pcmCallback") ) { pcmCallback=inValue.Cast< ::Dynamic >(); return inValue; }
if (HX_FIELD_EQ(inName,"opusEncoder") ) { opusEncoder=inValue.Cast< cpp::Struct< OpusEncoder* > >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"remoteMedia") ) { remoteMedia=inValue.Cast< ::cpp::Pointer< rtc::Description::Media > >(); return inValue; }
break;
case 19:
if (HX_FIELD_EQ(inName,"readyForPCMCallback") ) { readyForPCMCallback=inValue.Cast< ::Dynamic >(); return inValue; }
@@ -993,6 +993,7 @@ void MediaStreamTrack_obj::__GetFields(Array< ::String> &outFields)
outFields->push(HX_("bufferSizeInSeconds",f9,0a,29,18));
outFields->push(HX_("mutex",7f,8f,5b,10));
outFields->push(HX_("media",e4,04,bc,05));
+ outFields->push(HX_("remoteMedia",7e,f4,c4,b0));
outFields->push(HX_("track",8b,8e,1f,16));
super::__GetFields(outFields);
};
@@ -1012,6 +1013,7 @@ static ::hx::StorageInfo MediaStreamTrack_obj_sMemberStorageInfo[] = {
{::hx::fsFloat,(int)offsetof(MediaStreamTrack_obj,bufferSizeInSeconds),HX_("bufferSizeInSeconds",f9,0a,29,18)},
{::hx::fsObject /* ::sys::thread::Mutex */ ,(int)offsetof(MediaStreamTrack_obj,mutex),HX_("mutex",7f,8f,5b,10)},
{::hx::fsUnknown /* std::optional< rtc::Description::Media > */ ,(int)offsetof(MediaStreamTrack_obj,media),HX_("media",e4,04,bc,05)},
+ {::hx::fsUnknown /* ::cpp::Pointer< rtc::Description::Media > */ ,(int)offsetof(MediaStreamTrack_obj,remoteMedia),HX_("remoteMedia",7e,f4,c4,b0)},
{::hx::fsUnknown /* std::shared_ptr< rtc::Track > */ ,(int)offsetof(MediaStreamTrack_obj,track),HX_("track",8b,8e,1f,16)},
{ ::hx::fsUnknown, 0, null()}
};
@@ -1037,6 +1039,7 @@ static ::String MediaStreamTrack_obj_sMemberFields[] = {
HX_("waitForQ",3d,c6,a2,4c),
HX_("bufferSizeInSeconds",f9,0a,29,18),
HX_("mutex",7f,8f,5b,10),
+ HX_("remoteMedia",7e,f4,c4,b0),
HX_("get_id",24,f3,2f,a3),
HX_("get_kind",dd,9c,c4,c6),
HX_("get_muted",c2,eb,04,54),
@@ -1079,7 +1082,7 @@ void MediaStreamTrack_obj::__register()
MediaStreamTrack_obj _hx_dummy;
MediaStreamTrack_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.MediaStreamTrack",73,fe,80,a9);
+ __mClass->mName = HX_("borogove.calls.MediaStreamTrack",ad,55,83,33);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -1104,8 +1107,8 @@ void MediaStreamTrack_obj::__register()
void MediaStreamTrack_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_337_boot)
-HXDLIN( 337) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_339_boot)
+HXDLIN( 339) __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_("addReadyForPCMListener__fromC",12,d4,0d,83), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
@@ -1129,14 +1132,14 @@ HXDLIN( 337) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
}
{
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_470_boot)
-HXDLIN( 470) ULAW_DECODE = ::Array_obj< short >::fromData( _hx_array_data_a980fe73_39,256);
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_471_boot)
+HXDLIN( 471) ULAW_DECODE = ::Array_obj< short >::fromData( _hx_array_data_338355ad_38,256);
}
{
- HX_STACKFRAME(&_hx_pos_199cfc803453bfcf_471_boot)
-HXDLIN( 471) ULAW_EXP = ::Array_obj< unsigned char >::fromData( _hx_array_data_a980fe73_41,128);
+ HX_STACKFRAME(&_hx_pos_306b50e70c93d428_472_boot)
+HXDLIN( 472) ULAW_EXP = ::Array_obj< unsigned char >::fromData( _hx_array_data_338355ad_40,128);
}
}
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_borogove/src/borogove/calls/OutgoingProposedSession.cpp b/Sources/c_borogove/src/borogove/calls/OutgoingProposedSession.cpp
new file mode 100644
index 0000000..0adb5da
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/calls/OutgoingProposedSession.cpp
@@ -0,0 +1,618 @@
+// 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_borogove_Chat
+#include <borogove/Chat.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
+#endif
+#ifndef INCLUDED_borogove_Client
+#include <borogove/Client.h>
+#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
+#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
+#endif
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_calls_DTMFSender
+#include <borogove/calls/DTMFSender.h>
+#endif
+#ifndef INCLUDED_borogove_calls_InitiatedSession
+#include <borogove/calls/InitiatedSession.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStream
+#include <borogove/calls/MediaStream.h>
+#endif
+#ifndef INCLUDED_borogove_calls_MediaStreamTrack
+#include <borogove/calls/MediaStreamTrack.h>
+#endif
+#ifndef INCLUDED_borogove_calls_OutgoingProposedSession
+#include <borogove/calls/OutgoingProposedSession.h>
+#endif
+#ifndef INCLUDED_borogove_calls_OutgoingSession
+#include <borogove/calls/OutgoingSession.h>
+#endif
+#ifndef INCLUDED_borogove_calls_Session
+#include <borogove/calls/Session.h>
+#endif
+#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_Log
+#include <haxe/Log.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_d2a3c174e5a36893_194_new,"borogove.calls.OutgoingProposedSession","new",0xf8b58fb0,"borogove.calls.OutgoingProposedSession.new","borogove/calls/Session.hx",194,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_222_propose,"borogove.calls.OutgoingProposedSession","propose",0xcfa5a64e,"borogove.calls.OutgoingProposedSession.propose","borogove/calls/Session.hx",222,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_211_propose,"borogove.calls.OutgoingProposedSession","propose",0xcfa5a64e,"borogove.calls.OutgoingProposedSession.propose","borogove/calls/Session.hx",211,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_235_hangup,"borogove.calls.OutgoingProposedSession","hangup",0xe6e084fd,"borogove.calls.OutgoingProposedSession.hangup","borogove/calls/Session.hx",235,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_232_hangup,"borogove.calls.OutgoingProposedSession","hangup",0xe6e084fd,"borogove.calls.OutgoingProposedSession.hangup","borogove/calls/Session.hx",232,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_250_retract,"borogove.calls.OutgoingProposedSession","retract",0xd2758951,"borogove.calls.OutgoingProposedSession.retract","borogove/calls/Session.hx",250,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_255_terminate,"borogove.calls.OutgoingProposedSession","terminate",0x77424db1,"borogove.calls.OutgoingProposedSession.terminate","borogove/calls/Session.hx",255,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_260_contentAdd,"borogove.calls.OutgoingProposedSession","contentAdd",0x0c853118,"borogove.calls.OutgoingProposedSession.contentAdd","borogove/calls/Session.hx",260,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_265_contentAccept,"borogove.calls.OutgoingProposedSession","contentAccept",0xb429c871,"borogove.calls.OutgoingProposedSession.contentAccept","borogove/calls/Session.hx",265,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_269_transportInfo,"borogove.calls.OutgoingProposedSession","transportInfo",0x89f74007,"borogove.calls.OutgoingProposedSession.transportInfo","borogove/calls/Session.hx",269,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_276_accept,"borogove.calls.OutgoingProposedSession","accept",0x39e745b8,"borogove.calls.OutgoingProposedSession.accept","borogove/calls/Session.hx",276,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_280_initiate,"borogove.calls.OutgoingProposedSession","initiate",0x8e062909,"borogove.calls.OutgoingProposedSession.initiate","borogove/calls/Session.hx",280,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_293_addMedia,"borogove.calls.OutgoingProposedSession","addMedia",0xad8fe9b3,"borogove.calls.OutgoingProposedSession.addMedia","borogove/calls/Session.hx",293,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_297_callStatus,"borogove.calls.OutgoingProposedSession","callStatus",0xf9d38920,"borogove.calls.OutgoingProposedSession.callStatus","borogove/calls/Session.hx",297,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_302_audioTracks,"borogove.calls.OutgoingProposedSession","audioTracks",0xde56ec4e,"borogove.calls.OutgoingProposedSession.audioTracks","borogove/calls/Session.hx",302,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_307_videoTracks,"borogove.calls.OutgoingProposedSession","videoTracks",0x884e51b3,"borogove.calls.OutgoingProposedSession.videoTracks","borogove/calls/Session.hx",307,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_312_dtmf,"borogove.calls.OutgoingProposedSession","dtmf",0x9f976199,"borogove.calls.OutgoingProposedSession.dtmf","borogove/calls/Session.hx",312,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_316_get_sid,"borogove.calls.OutgoingProposedSession","get_sid",0xfc880ef5,"borogove.calls.OutgoingProposedSession.get_sid","borogove/calls/Session.hx",316,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_320_get_chatId,"borogove.calls.OutgoingProposedSession","get_chatId",0x70a63f4c,"borogove.calls.OutgoingProposedSession.get_chatId","borogove/calls/Session.hx",320,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_194_boot,"borogove.calls.OutgoingProposedSession","boot",0x9e412ae2,"borogove.calls.OutgoingProposedSession.boot","borogove/calls/Session.hx",194,0x33a79030)
+namespace borogove{
+namespace calls{
+
+void OutgoingProposedSession_obj::__construct( ::borogove::Client client, ::borogove::JID to){
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_194_new)
+HXLINE( 201) this->video = false;
+HXLINE( 200) this->audio = false;
+HXLINE( 205) this->client = client;
+HXLINE( 206) this->to = to;
+HXLINE( 207) this->_sid = ::borogove::ID_obj::_hx_long();
+ }
+
+Dynamic OutgoingProposedSession_obj::__CreateEmpty() { return new OutgoingProposedSession_obj; }
+
+void *OutgoingProposedSession_obj::_hx_vtable = 0;
+
+Dynamic OutgoingProposedSession_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< OutgoingProposedSession_obj > _hx_result = new OutgoingProposedSession_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool OutgoingProposedSession_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x28b95318;
+}
+
+static ::borogove::calls::Session_obj _hx_borogove_calls_OutgoingProposedSession__hx_borogove_calls_Session= {
+ ( ::String (::hx::Object::*)())&::borogove::calls::OutgoingProposedSession_obj::get_sid,
+ ( ::String (::hx::Object::*)())&::borogove::calls::OutgoingProposedSession_obj::get_chatId,
+ ( ::borogove::calls::InitiatedSession (::hx::Object::*)( ::borogove::Stanza))&::borogove::calls::OutgoingProposedSession_obj::initiate_151962fb,
+ ( void (::hx::Object::*)())&::borogove::calls::OutgoingProposedSession_obj::accept,
+ ( void (::hx::Object::*)())&::borogove::calls::OutgoingProposedSession_obj::hangup,
+ ( void (::hx::Object::*)())&::borogove::calls::OutgoingProposedSession_obj::retract,
+ ( void (::hx::Object::*)())&::borogove::calls::OutgoingProposedSession_obj::terminate,
+ ( void (::hx::Object::*)( ::borogove::Stanza))&::borogove::calls::OutgoingProposedSession_obj::contentAdd,
+ ( void (::hx::Object::*)( ::borogove::Stanza))&::borogove::calls::OutgoingProposedSession_obj::contentAccept,
+ ( ::Dynamic (::hx::Object::*)( ::borogove::Stanza))&::borogove::calls::OutgoingProposedSession_obj::transportInfo,
+ ( void (::hx::Object::*)(::Array< ::Dynamic>))&::borogove::calls::OutgoingProposedSession_obj::addMedia,
+ ( int (::hx::Object::*)())&::borogove::calls::OutgoingProposedSession_obj::callStatus,
+ ( ::Array< ::Dynamic> (::hx::Object::*)())&::borogove::calls::OutgoingProposedSession_obj::audioTracks,
+ ( ::Array< ::Dynamic> (::hx::Object::*)())&::borogove::calls::OutgoingProposedSession_obj::videoTracks,
+ ( ::borogove::calls::DTMFSender (::hx::Object::*)())&::borogove::calls::OutgoingProposedSession_obj::dtmf,
+};
+
+ ::borogove::calls::InitiatedSession OutgoingProposedSession_obj::initiate_151962fb( ::borogove::Stanza stanza) {
+ return initiate(stanza);
+}
+void *OutgoingProposedSession_obj::_hx_getInterface(int inHash) {
+ switch(inHash) {
+ case (int)0x36e3eba2: return &_hx_borogove_calls_OutgoingProposedSession__hx_borogove_calls_Session;
+ }
+ #ifdef HXCPP_SCRIPTABLE
+ return super::_hx_getInterface(inHash);
+ #else
+ return 0;
+ #endif
+}
+
+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_222_propose)
+HXLINE( 223) ::String stanza = _gthis->to->asString();
+HXDLIN( 223) ::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( 226) _gthis->client->sendStanza(stanza1);
+HXLINE( 227) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),0);
+HXLINE( 228) return _gthis->client->trigger(HX_("call/ringing",81,75,54,f9),_gthis);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_d2a3c174e5a36893_211_propose)
+HXDLIN( 211) ::borogove::calls::OutgoingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 212) this->audio = audio;
+HXLINE( 213) this->video = video;
+HXLINE( 214) ::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( 215) if (audio) {
+HXLINE( 216) 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();
+ }
+HXLINE( 218) if (video) {
+HXLINE( 219) 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();
+ }
+HXLINE( 221) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->to,this->client->jid,event);
+HXLINE( 222) ::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_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_235_hangup)
+HXLINE( 236) ::borogove::Client _gthis1 = _gthis->client;
+HXLINE( 237) ::String _hx_tmp = _gthis->to->asString();
+HXLINE( 236) _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( 241) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_d2a3c174e5a36893_232_hangup)
+HXDLIN( 232) ::borogove::calls::OutgoingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 233) ::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( 234) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->to,this->client->jid,event);
+HXLINE( 235) ::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( 243) {
+HXLINE( 243) ::borogove::Client tmp = this->client;
+HXDLIN( 243) ::borogove::Chat tmp1 = tmp->getChat(this->get_chatId());
+HXDLIN( 243) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 243) ::Dynamic this1 = tmp1->jingleSessions;
+HXDLIN( 243) ( ( ::haxe::ds::StringMap)(this1) )->remove(this->get_sid());
+ }
+ }
+HXLINE( 244) ::borogove::Client _hx_tmp = this->client;
+HXDLIN( 244) ::String _hx_tmp1 = this->get_chatId();
+HXDLIN( 244) _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())));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,hangup,(void))
+
+void OutgoingProposedSession_obj::retract(){
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_250_retract)
+HXDLIN( 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())));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,retract,(void))
+
+void OutgoingProposedSession_obj::terminate(){
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_255_terminate)
+HXDLIN( 255) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 255) ::String _hx_tmp1 = (HX_("Tried to terminate before session-initiate: ",a9,d4,f3,a4) + this->get_sid());
+HXDLIN( 255) _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),255)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,terminate,(void))
+
+void OutgoingProposedSession_obj::contentAdd( ::borogove::Stanza _){
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_260_contentAdd)
+HXDLIN( 260) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 260) ::String _hx_tmp1 = (HX_("Got content-add before session-initiate: ",10,d3,fa,8a) + this->get_sid());
+HXDLIN( 260) _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),260)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(OutgoingProposedSession_obj,contentAdd,(void))
+
+void OutgoingProposedSession_obj::contentAccept( ::borogove::Stanza _){
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_265_contentAccept)
+HXDLIN( 265) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 265) ::String _hx_tmp1 = (HX_("Got content-accept before session-initiate: ",47,72,87,71) + this->get_sid());
+HXDLIN( 265) _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),265)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(OutgoingProposedSession_obj,contentAccept,(void))
+
+::Dynamic OutgoingProposedSession_obj::transportInfo( ::borogove::Stanza _){
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_269_transportInfo)
+HXLINE( 270) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 270) ::String _hx_tmp1 = (HX_("Got transport-info before session-initiate: ",bd,bd,9d,08) + this->get_sid());
+HXDLIN( 270) _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),270)));
+HXLINE( 271) 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_276_accept)
+HXDLIN( 276) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 276) ::String _hx_tmp1 = (HX_("Tried to accept before initiate: ",77,4a,a0,ec) + 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_("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),276)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,accept,(void))
+
+ ::borogove::calls::OutgoingSession OutgoingProposedSession_obj::initiate( ::borogove::Stanza stanza){
+ HX_GC_STACKFRAME(&_hx_pos_d2a3c174e5a36893_280_initiate)
+HXLINE( 281) ::borogove::Stanza jmi = stanza->getChild(HX_("proceed",2e,96,4a,f1),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 282) if (::hx::IsNull( jmi )) {
+HXLINE( 282) HX_STACK_DO_THROW((HX_("no jmi: ",4d,b1,bc,b7) + ::Std_obj::string(stanza)));
+ }
+HXLINE( 283) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(jmi->attr,HX_("id",db,5b,00,00))) );
+HXDLIN( 283) if ((_hx_tmp != this->get_sid())) {
+HXLINE( 283) ::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( 283) HX_STACK_DO_THROW((_hx_tmp1 + this->get_sid()));
+ }
+HXLINE( 284) ::borogove::Client _hx_tmp2 = this->client;
+HXDLIN( 284) _hx_tmp2->sendPresence(this->to->asString(),null());
+HXLINE( 285) ::borogove::Client session = this->client;
+HXDLIN( 285) ::borogove::JID session1 = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
+HXDLIN( 285) ::borogove::calls::OutgoingSession session2 = ::borogove::calls::OutgoingSession_obj::__alloc( HX_CTX ,session,session1,this->get_sid());
+HXLINE( 286) 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( 287) 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( 288) return session2;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(OutgoingProposedSession_obj,initiate,return )
+
+void OutgoingProposedSession_obj::addMedia(::Array< ::Dynamic> _){
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_293_addMedia)
+HXDLIN( 293) 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_297_callStatus)
+HXDLIN( 297) return 2;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,callStatus,return )
+
+::Array< ::Dynamic> OutgoingProposedSession_obj::audioTracks(){
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_302_audioTracks)
+HXDLIN( 302) return ::Array_obj< ::Dynamic>::__new(0);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,audioTracks,return )
+
+::Array< ::Dynamic> OutgoingProposedSession_obj::videoTracks(){
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_307_videoTracks)
+HXDLIN( 307) 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_312_dtmf)
+HXDLIN( 312) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,dtmf,return )
+
+::String OutgoingProposedSession_obj::get_sid(){
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_316_get_sid)
+HXDLIN( 316) return this->_sid;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,get_sid,return )
+
+::String OutgoingProposedSession_obj::get_chatId(){
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_320_get_chatId)
+HXDLIN( 320) return this->to->asBare()->asString();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,get_chatId,return )
+
+
+::hx::ObjectPtr< OutgoingProposedSession_obj > OutgoingProposedSession_obj::__new( ::borogove::Client client, ::borogove::JID to) {
+ ::hx::ObjectPtr< OutgoingProposedSession_obj > __this = new OutgoingProposedSession_obj();
+ __this->__construct(client,to);
+ return __this;
+}
+
+::hx::ObjectPtr< OutgoingProposedSession_obj > OutgoingProposedSession_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::JID to) {
+ OutgoingProposedSession_obj *__this = (OutgoingProposedSession_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(OutgoingProposedSession_obj), true, "borogove.calls.OutgoingProposedSession"));
+ *(void **)__this = OutgoingProposedSession_obj::_hx_vtable;
+ __this->__construct(client,to);
+ return __this;
+}
+
+OutgoingProposedSession_obj::OutgoingProposedSession_obj()
+{
+}
+
+void OutgoingProposedSession_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(OutgoingProposedSession);
+ HX_MARK_MEMBER_NAME(sid,"sid");
+ HX_MARK_MEMBER_NAME(chatId,"chatId");
+ HX_MARK_MEMBER_NAME(client,"client");
+ HX_MARK_MEMBER_NAME(to,"to");
+ HX_MARK_MEMBER_NAME(_sid,"_sid");
+ HX_MARK_MEMBER_NAME(audio,"audio");
+ HX_MARK_MEMBER_NAME(video,"video");
+ HX_MARK_END_CLASS();
+}
+
+void OutgoingProposedSession_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(sid,"sid");
+ HX_VISIT_MEMBER_NAME(chatId,"chatId");
+ HX_VISIT_MEMBER_NAME(client,"client");
+ HX_VISIT_MEMBER_NAME(to,"to");
+ HX_VISIT_MEMBER_NAME(_sid,"_sid");
+ HX_VISIT_MEMBER_NAME(audio,"audio");
+ HX_VISIT_MEMBER_NAME(video,"video");
+}
+
+::hx::Val OutgoingProposedSession_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"to") ) { return ::hx::Val( to ); }
+ break;
+ case 3:
+ if (HX_FIELD_EQ(inName,"sid") ) { return ::hx::Val( inCallProp == ::hx::paccAlways ? get_sid() : sid ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"_sid") ) { return ::hx::Val( _sid ); }
+ if (HX_FIELD_EQ(inName,"dtmf") ) { return ::hx::Val( dtmf_dyn() ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"audio") ) { return ::hx::Val( audio ); }
+ if (HX_FIELD_EQ(inName,"video") ) { return ::hx::Val( video ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( inCallProp == ::hx::paccAlways ? get_chatId() : chatId ); }
+ if (HX_FIELD_EQ(inName,"client") ) { return ::hx::Val( client ); }
+ if (HX_FIELD_EQ(inName,"hangup") ) { return ::hx::Val( hangup_dyn() ); }
+ if (HX_FIELD_EQ(inName,"accept") ) { return ::hx::Val( accept_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"propose") ) { return ::hx::Val( propose_dyn() ); }
+ if (HX_FIELD_EQ(inName,"retract") ) { return ::hx::Val( retract_dyn() ); }
+ if (HX_FIELD_EQ(inName,"get_sid") ) { return ::hx::Val( get_sid_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"initiate") ) { return ::hx::Val( initiate_dyn() ); }
+ if (HX_FIELD_EQ(inName,"addMedia") ) { return ::hx::Val( addMedia_dyn() ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"terminate") ) { return ::hx::Val( terminate_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"contentAdd") ) { return ::hx::Val( contentAdd_dyn() ); }
+ if (HX_FIELD_EQ(inName,"callStatus") ) { return ::hx::Val( callStatus_dyn() ); }
+ if (HX_FIELD_EQ(inName,"get_chatId") ) { return ::hx::Val( get_chatId_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"audioTracks") ) { return ::hx::Val( audioTracks_dyn() ); }
+ if (HX_FIELD_EQ(inName,"videoTracks") ) { return ::hx::Val( videoTracks_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"contentAccept") ) { return ::hx::Val( contentAccept_dyn() ); }
+ if (HX_FIELD_EQ(inName,"transportInfo") ) { return ::hx::Val( transportInfo_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val OutgoingProposedSession_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"to") ) { to=inValue.Cast< ::borogove::JID >(); return inValue; }
+ break;
+ case 3:
+ if (HX_FIELD_EQ(inName,"sid") ) { sid=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"_sid") ) { _sid=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"audio") ) { audio=inValue.Cast< bool >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"video") ) { video=inValue.Cast< bool >(); return inValue; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"chatId") ) { chatId=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"client") ) { client=inValue.Cast< ::borogove::Client >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void OutgoingProposedSession_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("sid",0e,9f,57,00));
+ outFields->push(HX_("chatId",d3,04,77,b7));
+ outFields->push(HX_("client",4b,ca,4f,0a));
+ outFields->push(HX_("to",7b,65,00,00));
+ outFields->push(HX_("_sid",0f,e4,22,3f));
+ outFields->push(HX_("audio",d6,78,80,27));
+ outFields->push(HX_("video",7b,14,fc,36));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo OutgoingProposedSession_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(OutgoingProposedSession_obj,sid),HX_("sid",0e,9f,57,00)},
+ {::hx::fsString,(int)offsetof(OutgoingProposedSession_obj,chatId),HX_("chatId",d3,04,77,b7)},
+ {::hx::fsObject /* ::borogove::Client */ ,(int)offsetof(OutgoingProposedSession_obj,client),HX_("client",4b,ca,4f,0a)},
+ {::hx::fsObject /* ::borogove::JID */ ,(int)offsetof(OutgoingProposedSession_obj,to),HX_("to",7b,65,00,00)},
+ {::hx::fsString,(int)offsetof(OutgoingProposedSession_obj,_sid),HX_("_sid",0f,e4,22,3f)},
+ {::hx::fsBool,(int)offsetof(OutgoingProposedSession_obj,audio),HX_("audio",d6,78,80,27)},
+ {::hx::fsBool,(int)offsetof(OutgoingProposedSession_obj,video),HX_("video",7b,14,fc,36)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *OutgoingProposedSession_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String OutgoingProposedSession_obj_sMemberFields[] = {
+ HX_("sid",0e,9f,57,00),
+ HX_("chatId",d3,04,77,b7),
+ HX_("client",4b,ca,4f,0a),
+ HX_("to",7b,65,00,00),
+ HX_("_sid",0f,e4,22,3f),
+ HX_("audio",d6,78,80,27),
+ HX_("video",7b,14,fc,36),
+ HX_("propose",fe,fe,e9,f9),
+ HX_("hangup",4d,d2,ff,b7),
+ HX_("retract",01,e2,b9,fc),
+ HX_("terminate",61,32,d2,fd),
+ HX_("contentAdd",68,66,dd,43),
+ HX_("contentAccept",21,c5,01,e1),
+ HX_("transportInfo",b7,3c,cf,b6),
+ HX_("accept",08,93,06,0b),
+ HX_("initiate",59,6a,8f,5f),
+ HX_("addMedia",03,2b,19,7f),
+ HX_("callStatus",70,be,2b,31),
+ HX_("audioTracks",fe,5c,2d,14),
+ HX_("videoTracks",63,c2,24,be),
+ HX_("dtmf",e9,ba,71,42),
+ HX_("get_sid",a5,67,cc,26),
+ HX_("get_chatId",9c,74,fe,a7),
+ ::String(null()) };
+
+::hx::Class OutgoingProposedSession_obj::__mClass;
+
+void OutgoingProposedSession_obj::__register()
+{
+ OutgoingProposedSession_obj _hx_dummy;
+ OutgoingProposedSession_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.calls.OutgoingProposedSession",be,37,f0,b1);
+ __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(OutgoingProposedSession_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< OutgoingProposedSession_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = OutgoingProposedSession_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = OutgoingProposedSession_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void OutgoingProposedSession_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_194_boot)
+HXDLIN( 194) __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())))
+ ->setFixed(1,HX_("accept",08,93,06,0b), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(2,HX_("audioTracks",fe,5c,2d,14), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(3,HX_("dtmf",e9,ba,71,42), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(4,HX_("addMedia",03,2b,19,7f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
+ }
+}
+
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_borogove/src/borogove/calls/OutgoingSession.cpp b/Sources/c_borogove/src/borogove/calls/OutgoingSession.cpp
new file mode 100644
index 0000000..4403b62
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/calls/OutgoingSession.cpp
@@ -0,0 +1,185 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#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_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_calls_InitiatedSession
+#include <borogove/calls/InitiatedSession.h>
+#endif
+#ifndef INCLUDED_borogove_calls_OutgoingSession
+#include <borogove/calls/OutgoingSession.h>
+#endif
+#ifndef INCLUDED_borogove_calls_PeerConnection
+#include <borogove/calls/PeerConnection.h>
+#endif
+#ifndef INCLUDED_borogove_calls_Session
+#include <borogove/calls/Session.h>
+#endif
+#ifndef INCLUDED_borogove_calls_SessionDescription
+#include <borogove/calls/SessionDescription.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_1c185be5f9e73669_694_new,"borogove.calls.OutgoingSession","new",0x9e6d83b6,"borogove.calls.OutgoingSession.new","borogove/calls/Session.hx",694,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_1c185be5f9e73669_698_onPeerConnection,"borogove.calls.OutgoingSession","onPeerConnection",0x5a3e20c9,"borogove.calls.OutgoingSession.onPeerConnection","borogove/calls/Session.hx",698,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_1c185be5f9e73669_705_initiate,"borogove.calls.OutgoingSession","initiate",0x4b1ddf43,"borogove.calls.OutgoingSession.initiate","borogove/calls/Session.hx",705,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_1c185be5f9e73669_701_initiate,"borogove.calls.OutgoingSession","initiate",0x4b1ddf43,"borogove.calls.OutgoingSession.initiate","borogove/calls/Session.hx",701,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_1c185be5f9e73669_710_callStatus,"borogove.calls.OutgoingSession","callStatus",0xf4f0c1da,"borogove.calls.OutgoingSession.callStatus","borogove/calls/Session.hx",710,0x33a79030)
+namespace borogove{
+namespace calls{
+
+void OutgoingSession_obj::__construct( ::borogove::Client client, ::borogove::JID counterpart,::String sid){
+ HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_694_new)
+HXDLIN( 694) super::__construct(client,counterpart,sid,null());
+ }
+
+Dynamic OutgoingSession_obj::__CreateEmpty() { return new OutgoingSession_obj; }
+
+void *OutgoingSession_obj::_hx_vtable = 0;
+
+Dynamic OutgoingSession_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< OutgoingSession_obj > _hx_result = new OutgoingSession_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2]);
+ return _hx_result;
+}
+
+bool OutgoingSession_obj::_hx_isInstanceOf(int inClassId) {
+ if (inClassId<=(int)0x119d5382) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x119d5382;
+ } else {
+ return inClassId==(int)0x2341c257;
+ }
+}
+
+::Dynamic OutgoingSession_obj::onPeerConnection(){
+ HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_698_onPeerConnection)
+HXDLIN( 698) 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_705_initiate)
+HXLINE( 705) return _gthis->transportInfo(stanza);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_701_initiate)
+HXDLIN( 701) ::borogove::calls::OutgoingSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 702) this->remoteDescription = ::borogove::calls::SessionDescription_obj::fromStanza(stanza,true,null());
+HXLINE( 703) this->peerDtlsSetup = this->remoteDescription->getDtlsSetup();
+HXLINE( 704) ::borogove::calls::PeerConnection _hx_tmp = this->pc;
+HXDLIN( 704) ::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( 706) return ::hx::ObjectPtr<OBJ_>(this);
+ }
+
+
+int OutgoingSession_obj::callStatus(){
+ HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_710_callStatus)
+HXDLIN( 710) bool _hx_tmp;
+HXDLIN( 710) if (::hx::IsNotNull( this->pc )) {
+HXDLIN( 710) _hx_tmp = ::hx::IsNull( this->remoteDescription );
+ }
+ else {
+HXDLIN( 710) _hx_tmp = true;
+ }
+HXDLIN( 710) if (_hx_tmp) {
+HXLINE( 711) return 2;
+ }
+ else {
+HXLINE( 713) return this->super::callStatus();
+ }
+HXLINE( 710) return null();
+ }
+
+
+
+::hx::ObjectPtr< OutgoingSession_obj > OutgoingSession_obj::__new( ::borogove::Client client, ::borogove::JID counterpart,::String sid) {
+ ::hx::ObjectPtr< OutgoingSession_obj > __this = new OutgoingSession_obj();
+ __this->__construct(client,counterpart,sid);
+ return __this;
+}
+
+::hx::ObjectPtr< OutgoingSession_obj > OutgoingSession_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::JID counterpart,::String sid) {
+ OutgoingSession_obj *__this = (OutgoingSession_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(OutgoingSession_obj), true, "borogove.calls.OutgoingSession"));
+ *(void **)__this = OutgoingSession_obj::_hx_vtable;
+ __this->__construct(client,counterpart,sid);
+ return __this;
+}
+
+OutgoingSession_obj::OutgoingSession_obj()
+{
+}
+
+::hx::Val OutgoingSession_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 8:
+ if (HX_FIELD_EQ(inName,"initiate") ) { return ::hx::Val( initiate_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"callStatus") ) { return ::hx::Val( callStatus_dyn() ); }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"onPeerConnection") ) { return ::hx::Val( onPeerConnection_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *OutgoingSession_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *OutgoingSession_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String OutgoingSession_obj_sMemberFields[] = {
+ HX_("onPeerConnection",df,b1,71,fc),
+ HX_("initiate",59,6a,8f,5f),
+ HX_("callStatus",70,be,2b,31),
+ ::String(null()) };
+
+::hx::Class OutgoingSession_obj::__mClass;
+
+void OutgoingSession_obj::__register()
+{
+ OutgoingSession_obj _hx_dummy;
+ OutgoingSession_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.calls.OutgoingSession",c4,30,50,81);
+ __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(OutgoingSession_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< OutgoingSession_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = OutgoingSession_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = OutgoingSession_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_snikket/src/snikket/jingle/PeerConnection.cpp b/Sources/c_borogove/src/borogove/calls/PeerConnection.cpp
similarity index 50%
rename from Sources/c_snikket/src/snikket/jingle/PeerConnection.cpp
rename to Sources/c_borogove/src/borogove/calls/PeerConnection.cpp
index 30c7e57..68fe3dc 100644
--- a/Sources/c_snikket/src/snikket/jingle/PeerConnection.cpp
+++ b/Sources/c_borogove/src/borogove/calls/PeerConnection.cpp
@@ -15,23 +15,23 @@
#ifndef INCLUDED_Sys
#include <Sys.h>
#endif
-#ifndef INCLUDED_haxe_IMap
-#include <haxe/IMap.h>
+#ifndef INCLUDED_borogove_calls_DTMFSender
+#include <borogove/calls/DTMFSender.h>
#endif
-#ifndef INCLUDED_haxe_ds_StringMap
-#include <haxe/ds/StringMap.h>
+#ifndef INCLUDED_borogove_calls_MediaStream
+#include <borogove/calls/MediaStream.h>
#endif
-#ifndef INCLUDED_snikket_jingle_DTMFSender
-#include <snikket/jingle/DTMFSender.h>
+#ifndef INCLUDED_borogove_calls_MediaStreamTrack
+#include <borogove/calls/MediaStreamTrack.h>
#endif
-#ifndef INCLUDED_snikket_jingle_MediaStream
-#include <snikket/jingle/MediaStream.h>
+#ifndef INCLUDED_borogove_calls_PeerConnection
+#include <borogove/calls/PeerConnection.h>
#endif
-#ifndef INCLUDED_snikket_jingle_MediaStreamTrack
-#include <snikket/jingle/MediaStreamTrack.h>
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
#endif
-#ifndef INCLUDED_snikket_jingle_PeerConnection
-#include <snikket/jingle/PeerConnection.h>
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
#endif
#ifndef INCLUDED_sys_thread_EventLoop
#include <sys/thread/EventLoop.h>
@@ -49,104 +49,104 @@
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_8cd3f69017bd5103_787_new,"snikket.jingle.PeerConnection","new",0x0e347f5e,"snikket.jingle.PeerConnection.new","snikket/jingle/PeerConnection.cpp.hx",787,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_835_onLocalDescription,"snikket.jingle.PeerConnection","onLocalDescription",0x9c63d352,"snikket.jingle.PeerConnection.onLocalDescription","snikket/jingle/PeerConnection.cpp.hx",835,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_833_onLocalDescription,"snikket.jingle.PeerConnection","onLocalDescription",0x9c63d352,"snikket.jingle.PeerConnection.onLocalDescription","snikket/jingle/PeerConnection.cpp.hx",833,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_847_onLocalCandidate,"snikket.jingle.PeerConnection","onLocalCandidate",0xfc129d19,"snikket.jingle.PeerConnection.onLocalCandidate","snikket/jingle/PeerConnection.cpp.hx",847,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_844_onLocalCandidate,"snikket.jingle.PeerConnection","onLocalCandidate",0xfc129d19,"snikket.jingle.PeerConnection.onLocalCandidate","snikket/jingle/PeerConnection.cpp.hx",844,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_861_onStateChange,"snikket.jingle.PeerConnection","onStateChange",0xc45a9400,"snikket.jingle.PeerConnection.onStateChange","snikket/jingle/PeerConnection.cpp.hx",861,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_859_onStateChange,"snikket.jingle.PeerConnection","onStateChange",0xc45a9400,"snikket.jingle.PeerConnection.onStateChange","snikket/jingle/PeerConnection.cpp.hx",859,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_871_onGatheringStateChange,"snikket.jingle.PeerConnection","onGatheringStateChange",0x35b9a25b,"snikket.jingle.PeerConnection.onGatheringStateChange","snikket/jingle/PeerConnection.cpp.hx",871,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_876_onGatheringStateChange,"snikket.jingle.PeerConnection","onGatheringStateChange",0x35b9a25b,"snikket.jingle.PeerConnection.onGatheringStateChange","snikket/jingle/PeerConnection.cpp.hx",876,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_888_onTrack,"snikket.jingle.PeerConnection","onTrack",0x22f432ea,"snikket.jingle.PeerConnection.onTrack","snikket/jingle/PeerConnection.cpp.hx",888,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_887_onTrack,"snikket.jingle.PeerConnection","onTrack",0x22f432ea,"snikket.jingle.PeerConnection.onTrack","snikket/jingle/PeerConnection.cpp.hx",887,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_885_onTrack,"snikket.jingle.PeerConnection","onTrack",0x22f432ea,"snikket.jingle.PeerConnection.onTrack","snikket/jingle/PeerConnection.cpp.hx",885,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_905_get_connectionState,"snikket.jingle.PeerConnection","get_connectionState",0x98e8f328,"snikket.jingle.PeerConnection.get_connectionState","snikket/jingle/PeerConnection.cpp.hx",905,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_908_get_localDescription,"snikket.jingle.PeerConnection","get_localDescription",0xf881419c,"snikket.jingle.PeerConnection.get_localDescription","snikket/jingle/PeerConnection.cpp.hx",908,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_918_setLocalDescription,"snikket.jingle.PeerConnection","setLocalDescription",0xc3beb011,"snikket.jingle.PeerConnection.setLocalDescription","snikket/jingle/PeerConnection.cpp.hx",918,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_917_setLocalDescription,"snikket.jingle.PeerConnection","setLocalDescription",0xc3beb011,"snikket.jingle.PeerConnection.setLocalDescription","snikket/jingle/PeerConnection.cpp.hx",917,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_925_setRemoteDescription,"snikket.jingle.PeerConnection","setRemoteDescription",0x03bc2956,"snikket.jingle.PeerConnection.setRemoteDescription","snikket/jingle/PeerConnection.cpp.hx",925,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_931_addIceCandidate,"snikket.jingle.PeerConnection","addIceCandidate",0x0c0d6f37,"snikket.jingle.PeerConnection.addIceCandidate","snikket/jingle/PeerConnection.cpp.hx",931,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_936_addPendingTracks,"snikket.jingle.PeerConnection","addPendingTracks",0xfb3dbaa0,"snikket.jingle.PeerConnection.addPendingTracks","snikket/jingle/PeerConnection.cpp.hx",936,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_945_addTrack,"snikket.jingle.PeerConnection","addTrack",0xdd0aecec,"snikket.jingle.PeerConnection.addTrack","snikket/jingle/PeerConnection.cpp.hx",945,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_953_getTransceivers,"snikket.jingle.PeerConnection","getTransceivers",0x24b14243,"snikket.jingle.PeerConnection.getTransceivers","snikket/jingle/PeerConnection.cpp.hx",953,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_966_close,"snikket.jingle.PeerConnection","close",0x130c0236,"snikket.jingle.PeerConnection.close","snikket/jingle/PeerConnection.cpp.hx",966,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_8cd3f69017bd5103_969_addEventListener,"snikket.jingle.PeerConnection","addEventListener",0xae27560f,"snikket.jingle.PeerConnection.addEventListener","snikket/jingle/PeerConnection.cpp.hx",969,0xf9fab71d)
-namespace snikket{
-namespace jingle{
+HX_DEFINE_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_786_new,"borogove.calls.PeerConnection","new",0xdee69918,"borogove.calls.PeerConnection.new","borogove/calls/PeerConnection.cpp.hx",786,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_834_onLocalDescription,"borogove.calls.PeerConnection","onLocalDescription",0xd0f3bad8,"borogove.calls.PeerConnection.onLocalDescription","borogove/calls/PeerConnection.cpp.hx",834,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_832_onLocalDescription,"borogove.calls.PeerConnection","onLocalDescription",0xd0f3bad8,"borogove.calls.PeerConnection.onLocalDescription","borogove/calls/PeerConnection.cpp.hx",832,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_846_onLocalCandidate,"borogove.calls.PeerConnection","onLocalCandidate",0x8333771f,"borogove.calls.PeerConnection.onLocalCandidate","borogove/calls/PeerConnection.cpp.hx",846,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_843_onLocalCandidate,"borogove.calls.PeerConnection","onLocalCandidate",0x8333771f,"borogove.calls.PeerConnection.onLocalCandidate","borogove/calls/PeerConnection.cpp.hx",843,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_860_onStateChange,"borogove.calls.PeerConnection","onStateChange",0x819fda3a,"borogove.calls.PeerConnection.onStateChange","borogove/calls/PeerConnection.cpp.hx",860,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_858_onStateChange,"borogove.calls.PeerConnection","onStateChange",0x819fda3a,"borogove.calls.PeerConnection.onStateChange","borogove/calls/PeerConnection.cpp.hx",858,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_870_onGatheringStateChange,"borogove.calls.PeerConnection","onGatheringStateChange",0x157ac4e1,"borogove.calls.PeerConnection.onGatheringStateChange","borogove/calls/PeerConnection.cpp.hx",870,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_875_onGatheringStateChange,"borogove.calls.PeerConnection","onGatheringStateChange",0x157ac4e1,"borogove.calls.PeerConnection.onGatheringStateChange","borogove/calls/PeerConnection.cpp.hx",875,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_887_onTrack,"borogove.calls.PeerConnection","onTrack",0x51aeb1a4,"borogove.calls.PeerConnection.onTrack","borogove/calls/PeerConnection.cpp.hx",887,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_886_onTrack,"borogove.calls.PeerConnection","onTrack",0x51aeb1a4,"borogove.calls.PeerConnection.onTrack","borogove/calls/PeerConnection.cpp.hx",886,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_884_onTrack,"borogove.calls.PeerConnection","onTrack",0x51aeb1a4,"borogove.calls.PeerConnection.onTrack","borogove/calls/PeerConnection.cpp.hx",884,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_904_get_connectionState,"borogove.calls.PeerConnection","get_connectionState",0x6243a0e2,"borogove.calls.PeerConnection.get_connectionState","borogove/calls/PeerConnection.cpp.hx",904,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_907_get_localDescription,"borogove.calls.PeerConnection","get_localDescription",0x5e7e96a2,"borogove.calls.PeerConnection.get_localDescription","borogove/calls/PeerConnection.cpp.hx",907,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_917_setLocalDescription,"borogove.calls.PeerConnection","setLocalDescription",0x8d195dcb,"borogove.calls.PeerConnection.setLocalDescription","borogove/calls/PeerConnection.cpp.hx",917,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_916_setLocalDescription,"borogove.calls.PeerConnection","setLocalDescription",0x8d195dcb,"borogove.calls.PeerConnection.setLocalDescription","borogove/calls/PeerConnection.cpp.hx",916,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_924_setRemoteDescription,"borogove.calls.PeerConnection","setRemoteDescription",0x69b97e5c,"borogove.calls.PeerConnection.setRemoteDescription","borogove/calls/PeerConnection.cpp.hx",924,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_942_addIceCandidate,"borogove.calls.PeerConnection","addIceCandidate",0x99dc37f1,"borogove.calls.PeerConnection.addIceCandidate","borogove/calls/PeerConnection.cpp.hx",942,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_947_addPendingTracks,"borogove.calls.PeerConnection","addPendingTracks",0x825e94a6,"borogove.calls.PeerConnection.addPendingTracks","borogove/calls/PeerConnection.cpp.hx",947,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_956_addTrack,"borogove.calls.PeerConnection","addTrack",0x917f50f2,"borogove.calls.PeerConnection.addTrack","borogove/calls/PeerConnection.cpp.hx",956,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_964_getTransceivers,"borogove.calls.PeerConnection","getTransceivers",0xb2800afd,"borogove.calls.PeerConnection.getTransceivers","borogove/calls/PeerConnection.cpp.hx",964,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_977_close,"borogove.calls.PeerConnection","close",0x07c37e70,"borogove.calls.PeerConnection.close","borogove/calls/PeerConnection.cpp.hx",977,0x6b4179c1)
+HX_LOCAL_STACK_FRAME(_hx_pos_3063e1bcf0a113bf_980_addEventListener,"borogove.calls.PeerConnection","addEventListener",0x35483015,"borogove.calls.PeerConnection.addEventListener","borogove/calls/PeerConnection.cpp.hx",980,0x6b4179c1)
+namespace borogove{
+namespace calls{
void PeerConnection_obj::__construct( ::Dynamic configuration, ::Dynamic constraints){
- HX_GC_STACKFRAME(&_hx_pos_8cd3f69017bd5103_787_new)
-HXLINE( 801) this->pendingTracks = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 800) this->hasRemote = false;
-HXLINE( 799) this->hasLocal = false;
-HXLINE( 797) this->stateChangeListeners = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 796) this->localCandidateListeners = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 795) this->trackListeners = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 794) this->tracks = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 793) this->waitingOnLocal = null();
-HXLINE( 804) if (::hx::IsNotNull( ::Sys_obj::getEnv(HX_("SNIKKET_WEBRTC_DEBUG",e3,43,ef,ce)) )) {
-HXLINE( 805) rtc::InitLogger(rtc::LogLevel::Verbose);;
+ HX_GC_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_786_new)
+HXLINE( 800) this->pendingTracks = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 799) this->hasRemote = false;
+HXLINE( 798) this->hasLocal = false;
+HXLINE( 796) this->stateChangeListeners = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 795) this->localCandidateListeners = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 794) this->trackListeners = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 793) this->tracks = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 792) this->waitingOnLocal = null();
+HXLINE( 803) if (::hx::IsNotNull( ::Sys_obj::getEnv(HX_("BOROGOVE_WEBRTC_DEBUG",9f,1e,98,13)) )) {
+HXLINE( 804) rtc::InitLogger(rtc::LogLevel::Verbose);;
}
-HXLINE( 807) this->mainLoop = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current());
-HXLINE( 808) rtc::Configuration configRaw;;
-HXLINE( 809) ::cpp::Pointer< rtc::Configuration > config = &configRaw;
-HXLINE( 810) bool _hx_tmp;
-HXDLIN( 810) if (::hx::IsNotNull( configuration )) {
-HXLINE( 810) _hx_tmp = ::hx::IsNotNull( configuration->__Field(HX_("iceServers",45,14,49,d2),::hx::paccDynamic) );
+HXLINE( 806) this->mainLoop = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current());
+HXLINE( 807) rtc::Configuration configRaw;;
+HXLINE( 808) ::cpp::Pointer< rtc::Configuration > config = &configRaw;
+HXLINE( 809) bool _hx_tmp;
+HXDLIN( 809) if (::hx::IsNotNull( configuration )) {
+HXLINE( 809) _hx_tmp = ::hx::IsNotNull( configuration->__Field(HX_("iceServers",45,14,49,d2),::hx::paccDynamic) );
}
else {
-HXLINE( 810) _hx_tmp = false;
+HXLINE( 809) _hx_tmp = false;
}
-HXDLIN( 810) if (_hx_tmp) {
-HXLINE( 811) int _g = 0;
-HXDLIN( 811) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(configuration->__Field(HX_("iceServers",45,14,49,d2),::hx::paccDynamic)) );
-HXDLIN( 811) while((_g < _g1->length)){
-HXLINE( 811) ::Dynamic server = _g1->__get(_g);
-HXDLIN( 811) _g = (_g + 1);
-HXLINE( 812) bool _hx_tmp1;
-HXDLIN( 812) bool _hx_tmp2;
-HXDLIN( 812) if (::hx::IsNotNull( server->__Field(HX_("urls",24,d6,ac,4d),::hx::paccDynamic) )) {
-HXLINE( 812) _hx_tmp2 = (( (::Array< ::String >)(server->__Field(HX_("urls",24,d6,ac,4d),::hx::paccDynamic)) )->length == 1);
+HXDLIN( 809) if (_hx_tmp) {
+HXLINE( 810) int _g = 0;
+HXDLIN( 810) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(configuration->__Field(HX_("iceServers",45,14,49,d2),::hx::paccDynamic)) );
+HXDLIN( 810) while((_g < _g1->length)){
+HXLINE( 810) ::Dynamic server = _g1->__get(_g);
+HXDLIN( 810) _g = (_g + 1);
+HXLINE( 811) bool _hx_tmp1;
+HXDLIN( 811) bool _hx_tmp2;
+HXDLIN( 811) if (::hx::IsNotNull( server->__Field(HX_("urls",24,d6,ac,4d),::hx::paccDynamic) )) {
+HXLINE( 811) _hx_tmp2 = (( (::Array< ::String >)(server->__Field(HX_("urls",24,d6,ac,4d),::hx::paccDynamic)) )->length == 1);
}
else {
-HXLINE( 812) _hx_tmp2 = false;
+HXLINE( 811) _hx_tmp2 = false;
}
-HXDLIN( 812) if (_hx_tmp2) {
-HXLINE( 812) _hx_tmp1 = (( (::String)( ::Dynamic(server->__Field(HX_("urls",24,d6,ac,4d),::hx::paccDynamic))->__GetItem(0)) ).indexOf(HX_("stuns",f9,9d,1a,84),null()) != 0);
+HXDLIN( 811) if (_hx_tmp2) {
+HXLINE( 811) _hx_tmp1 = (( (::String)( ::Dynamic(server->__Field(HX_("urls",24,d6,ac,4d),::hx::paccDynamic))->__GetItem(0)) ).indexOf(HX_("stuns",f9,9d,1a,84),null()) != 0);
}
else {
-HXLINE( 812) _hx_tmp1 = false;
+HXLINE( 811) _hx_tmp1 = false;
}
-HXDLIN( 812) if (_hx_tmp1) {
-HXLINE( 813) hx::StdString url = ::hx::StdString(( (::String)( ::Dynamic(server->__Field(HX_("urls",24,d6,ac,4d),::hx::paccDynamic))->__GetItem(0)) ));
-HXLINE( 814) rtc::IceServer iceServerRaw(url);;
-HXLINE( 815) ::cpp::Pointer< rtc::IceServer > iceServer = &iceServerRaw;
-HXLINE( 816) if (::hx::IsNotNull( server->__Field(HX_("username",16,86,eb,20),::hx::paccDynamic) )) {
-HXLINE( 816) iceServer->get_ref().username = ::hx::StdString(( (::String)(server->__Field(HX_("username",16,86,eb,20),::hx::paccDynamic)) ));
+HXDLIN( 811) if (_hx_tmp1) {
+HXLINE( 812) hx::StdString url = ::hx::StdString(( (::String)( ::Dynamic(server->__Field(HX_("urls",24,d6,ac,4d),::hx::paccDynamic))->__GetItem(0)) ));
+HXLINE( 813) rtc::IceServer iceServerRaw(url);;
+HXLINE( 814) ::cpp::Pointer< rtc::IceServer > iceServer = &iceServerRaw;
+HXLINE( 815) if (::hx::IsNotNull( server->__Field(HX_("username",16,86,eb,20),::hx::paccDynamic) )) {
+HXLINE( 815) iceServer->get_ref().username = ::hx::StdString(( (::String)(server->__Field(HX_("username",16,86,eb,20),::hx::paccDynamic)) ));
}
-HXLINE( 817) if (::hx::IsNotNull( server->__Field(HX_("credential",d7,89,b2,20),::hx::paccDynamic) )) {
-HXLINE( 817) iceServer->get_ref().password = ::hx::StdString(( (::String)(server->__Field(HX_("credential",d7,89,b2,20),::hx::paccDynamic)) ));
+HXLINE( 816) if (::hx::IsNotNull( server->__Field(HX_("credential",d7,89,b2,20),::hx::paccDynamic) )) {
+HXLINE( 816) iceServer->get_ref().password = ::hx::StdString(( (::String)(server->__Field(HX_("credential",d7,89,b2,20),::hx::paccDynamic)) ));
}
-HXLINE( 818) ::cpp::Pointer< std::vector< rtc::IceServer > > iceServers = &configRaw.iceServers;
-HXLINE( 819) std::vector< rtc::IceServer > & _hx_tmp3 = iceServers->get_ref();
-HXDLIN( 819) rtc::IceServer & _hx_tmp4 = iceServer->get_ref();
-HXDLIN( 819) _hx_tmp3.push_back(_hx_tmp4);
+HXLINE( 817) ::cpp::Pointer< std::vector< rtc::IceServer > > iceServers = &configRaw.iceServers;
+HXLINE( 818) std::vector< rtc::IceServer > & _hx_tmp3 = iceServers->get_ref();
+HXDLIN( 818) rtc::IceServer & _hx_tmp4 = iceServer->get_ref();
+HXDLIN( 818) _hx_tmp3.push_back(_hx_tmp4);
}
}
}
-HXLINE( 823) this->_pc = std::make_shared<rtc::PeerConnection>(config->get_ref());
-HXLINE( 824) this->pc = ::cpp::Pointer_obj::fromRaw(this->_pc.get());
-HXLINE( 825) rtc::PeerConnection & _hx_tmp5 = this->pc->get_ref();
-HXDLIN( 825) _hx_tmp5.onLocalDescription([this](auto d) { this->onLocalDescription(); });
-HXLINE( 826) rtc::PeerConnection & _hx_tmp6 = this->pc->get_ref();
-HXDLIN( 826) _hx_tmp6.onTrack([this](auto t) { this->onTrack(t); });
-HXLINE( 827) rtc::PeerConnection & _hx_tmp7 = this->pc->get_ref();
-HXDLIN( 827) _hx_tmp7.onLocalCandidate([this](auto c) { this->onLocalCandidate(c); });
-HXLINE( 828) rtc::PeerConnection & _hx_tmp8 = this->pc->get_ref();
-HXDLIN( 828) _hx_tmp8.onStateChange([this](auto s) { this->onStateChange(s); });
-HXLINE( 829) rtc::PeerConnection & _hx_tmp9 = this->pc->get_ref();
-HXDLIN( 829) _hx_tmp9.onGatheringStateChange([this](auto s) { this->onGatheringStateChange(s); });
+HXLINE( 822) this->_pc = std::make_shared<rtc::PeerConnection>(config->get_ref());
+HXLINE( 823) this->pc = ::cpp::Pointer_obj::fromRaw(this->_pc.get());
+HXLINE( 824) rtc::PeerConnection & _hx_tmp5 = this->pc->get_ref();
+HXDLIN( 824) _hx_tmp5.onLocalDescription([this](auto d) { this->onLocalDescription(); });
+HXLINE( 825) rtc::PeerConnection & _hx_tmp6 = this->pc->get_ref();
+HXDLIN( 825) _hx_tmp6.onTrack([this](auto t) { this->onTrack(t); });
+HXLINE( 826) rtc::PeerConnection & _hx_tmp7 = this->pc->get_ref();
+HXDLIN( 826) _hx_tmp7.onLocalCandidate([this](auto c) { this->onLocalCandidate(c); });
+HXLINE( 827) rtc::PeerConnection & _hx_tmp8 = this->pc->get_ref();
+HXDLIN( 827) _hx_tmp8.onStateChange([this](auto s) { this->onStateChange(s); });
+HXLINE( 828) rtc::PeerConnection & _hx_tmp9 = this->pc->get_ref();
+HXDLIN( 828) _hx_tmp9.onGatheringStateChange([this](auto s) { this->onGatheringStateChange(s); });
}
Dynamic PeerConnection_obj::__CreateEmpty() { return new PeerConnection_obj; }
@@ -161,46 +161,46 @@ Dynamic PeerConnection_obj::__Create(::hx::DynamicArray inArgs)
}
bool PeerConnection_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x1731230a;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x12286c28;
}
void PeerConnection_obj::onLocalDescription(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::PeerConnection,_gthis) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::PeerConnection,_gthis) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_835_onLocalDescription)
-HXLINE( 836) _gthis->addPendingTracks();
-HXLINE( 837) if (::hx::IsNotNull( _gthis->waitingOnLocal )) {
-HXLINE( 837) _gthis->waitingOnLocal(null());
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_834_onLocalDescription)
+HXLINE( 835) _gthis->addPendingTracks();
+HXLINE( 836) if (::hx::IsNotNull( _gthis->waitingOnLocal )) {
+HXLINE( 836) _gthis->waitingOnLocal(null());
}
-HXLINE( 838) _gthis->waitingOnLocal = null();
+HXLINE( 837) _gthis->waitingOnLocal = null();
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_833_onLocalDescription)
-HXDLIN( 833) ::snikket::jingle::PeerConnection _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 834) int base = 0; hx::SetTopOfStack(&base, true);;
-HXLINE( 835) this->mainLoop->run( ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 840) hx::SetTopOfStack((int*)0, true);;
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_832_onLocalDescription)
+HXDLIN( 832) ::borogove::calls::PeerConnection _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 833) int base = 0; hx::SetTopOfStack(&base, true);;
+HXLINE( 834) this->mainLoop->run( ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 839) hx::SetTopOfStack((int*)0, true);;
}
HX_DEFINE_DYNAMIC_FUNC0(PeerConnection_obj,onLocalDescription,(void))
void PeerConnection_obj::onLocalCandidate( rtc::Candidate candidate){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::PeerConnection,_gthis, rtc::Candidate,candidate) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::PeerConnection,_gthis, rtc::Candidate,candidate) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_847_onLocalCandidate)
-HXLINE( 847) int _g = 0;
-HXDLIN( 847) ::Array< ::Dynamic> _g1 = _gthis->localCandidateListeners;
-HXDLIN( 847) while((_g < _g1->length)){
-HXLINE( 847) ::Dynamic cb = _g1->__get(_g);
-HXDLIN( 847) _g = (_g + 1);
-HXLINE( 849) std::string this1 = candidate.candidate();
-HXDLIN( 849) ::String _hx_tmp = ( ( hx::StdString)(::hx::StdString(this1)) ).toString();
-HXLINE( 850) std::string this2 = candidate.mid();
-HXDLIN( 850) ::String _hx_tmp1 = ( ( hx::StdString)(::hx::StdString(this2)) ).toString();
-HXLINE( 851) std::string this3 = ( ( std::string)(( (cpp::Struct< std::string >)(( ( rtc::Description)(( (cpp::Struct< rtc::Description >)(_gthis->pc->get_ref().localDescription().value()) )) ).iceUfrag().value()) )) );
-HXLINE( 848) cb( ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_846_onLocalCandidate)
+HXLINE( 846) int _g = 0;
+HXDLIN( 846) ::Array< ::Dynamic> _g1 = _gthis->localCandidateListeners;
+HXDLIN( 846) while((_g < _g1->length)){
+HXLINE( 846) ::Dynamic cb = _g1->__get(_g);
+HXDLIN( 846) _g = (_g + 1);
+HXLINE( 848) std::string this1 = candidate.candidate();
+HXDLIN( 848) ::String _hx_tmp = ( ( hx::StdString)(::hx::StdString(this1)) ).toString();
+HXLINE( 849) std::string this2 = candidate.mid();
+HXDLIN( 849) ::String _hx_tmp1 = ( ( hx::StdString)(::hx::StdString(this2)) ).toString();
+HXLINE( 850) std::string this3 = ( ( std::string)(( (cpp::Struct< std::string >)(( ( rtc::Description)(( (cpp::Struct< rtc::Description >)(_gthis->pc->get_ref().localDescription().value()) )) ).iceUfrag().value()) )) );
+HXLINE( 847) cb( ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("candidate",43,34,d8,d0), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("usernameFragment",06,a8,37,89),( ( hx::StdString)(::hx::StdString(this3)) ).toString())
->setFixed(1,HX_("candidate",43,34,d8,d0),_hx_tmp)
@@ -209,142 +209,142 @@ HXLINE( 848) cb( ::Dynamic(::hx::Anon_obj::Create(1)
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_844_onLocalCandidate)
-HXDLIN( 844) ::snikket::jingle::PeerConnection _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 845) int base = 0; hx::SetTopOfStack(&base, true);;
-HXLINE( 846) this->mainLoop->run( ::Dynamic(new _hx_Closure_0(_gthis,candidate)));
-HXLINE( 855) hx::SetTopOfStack((int*)0, true);;
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_843_onLocalCandidate)
+HXDLIN( 843) ::borogove::calls::PeerConnection _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 844) int base = 0; hx::SetTopOfStack(&base, true);;
+HXLINE( 845) this->mainLoop->run( ::Dynamic(new _hx_Closure_0(_gthis,candidate)));
+HXLINE( 854) hx::SetTopOfStack((int*)0, true);;
}
void PeerConnection_obj::onStateChange(cpp::Struct< rtc::PeerConnection::State > state){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::PeerConnection,_gthis,cpp::Struct< rtc::PeerConnection::State >,state) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::PeerConnection,_gthis,cpp::Struct< rtc::PeerConnection::State >,state) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_861_onStateChange)
-HXLINE( 862) ::String stateString;
-HXDLIN( 862) rtc::PeerConnection::State _hx_switch_0 = ( ( rtc::PeerConnection::State)(state) );
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_860_onStateChange)
+HXLINE( 861) ::String stateString;
+HXDLIN( 861) rtc::PeerConnection::State _hx_switch_0 = ( ( rtc::PeerConnection::State)(state) );
if ( (_hx_switch_0==rtc::PeerConnection::State::Closed) ){
-HXLINE( 862) stateString = HX_("closed",ac,a9,51,0e);
-HXDLIN( 862) goto _hx_goto_7;
+HXLINE( 861) stateString = HX_("closed",ac,a9,51,0e);
+HXDLIN( 861) goto _hx_goto_7;
}
if ( (_hx_switch_0==rtc::PeerConnection::State::Connected) ){
-HXLINE( 862) stateString = HX_("connected",c9,e2,f6,a2);
-HXDLIN( 862) goto _hx_goto_7;
+HXLINE( 861) stateString = HX_("connected",c9,e2,f6,a2);
+HXDLIN( 861) goto _hx_goto_7;
}
if ( (_hx_switch_0==rtc::PeerConnection::State::Connecting) ){
-HXLINE( 862) stateString = HX_("connecting",38,9f,12,f5);
-HXDLIN( 862) goto _hx_goto_7;
+HXLINE( 861) stateString = HX_("connecting",38,9f,12,f5);
+HXDLIN( 861) goto _hx_goto_7;
}
if ( (_hx_switch_0==rtc::PeerConnection::State::Disconnected) ){
-HXLINE( 862) stateString = HX_("disconnected",bb,8b,6b,8e);
-HXDLIN( 862) goto _hx_goto_7;
+HXLINE( 861) stateString = HX_("disconnected",bb,8b,6b,8e);
+HXDLIN( 861) goto _hx_goto_7;
}
if ( (_hx_switch_0==rtc::PeerConnection::State::Failed) ){
-HXLINE( 862) stateString = HX_("failed",bd,c5,fe,e7);
-HXDLIN( 862) goto _hx_goto_7;
+HXLINE( 861) stateString = HX_("failed",bd,c5,fe,e7);
+HXDLIN( 861) goto _hx_goto_7;
}
if ( (_hx_switch_0==rtc::PeerConnection::State::New) ){
-HXLINE( 862) stateString = HX_("new",60,d0,53,00);
-HXDLIN( 862) goto _hx_goto_7;
+HXLINE( 861) stateString = HX_("new",60,d0,53,00);
+HXDLIN( 861) goto _hx_goto_7;
}
_hx_goto_7:;
-HXLINE( 863) {
-HXLINE( 863) int _g = 0;
-HXDLIN( 863) ::Array< ::Dynamic> _g1 = _gthis->stateChangeListeners;
-HXDLIN( 863) while((_g < _g1->length)){
-HXLINE( 863) ::Dynamic cb = _g1->__get(_g);
-HXDLIN( 863) _g = (_g + 1);
-HXLINE( 864) cb(stateString);
+HXLINE( 862) {
+HXLINE( 862) int _g = 0;
+HXDLIN( 862) ::Array< ::Dynamic> _g1 = _gthis->stateChangeListeners;
+HXDLIN( 862) while((_g < _g1->length)){
+HXLINE( 862) ::Dynamic cb = _g1->__get(_g);
+HXDLIN( 862) _g = (_g + 1);
+HXLINE( 863) cb(stateString);
}
}
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_859_onStateChange)
-HXDLIN( 859) ::snikket::jingle::PeerConnection _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 860) int base = 0; hx::SetTopOfStack(&base, true);;
-HXLINE( 861) this->mainLoop->run( ::Dynamic(new _hx_Closure_0(_gthis,state)));
-HXLINE( 867) hx::SetTopOfStack((int*)0, true);;
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_858_onStateChange)
+HXDLIN( 858) ::borogove::calls::PeerConnection _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 859) int base = 0; hx::SetTopOfStack(&base, true);;
+HXLINE( 860) this->mainLoop->run( ::Dynamic(new _hx_Closure_0(_gthis,state)));
+HXLINE( 866) hx::SetTopOfStack((int*)0, true);;
}
HX_DEFINE_DYNAMIC_FUNC1(PeerConnection_obj,onStateChange,(void))
void PeerConnection_obj::onGatheringStateChange(cpp::Struct< rtc::PeerConnection::GatheringState > state){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_871_onGatheringStateChange)
-HXDLIN( 871) ::snikket::jingle::PeerConnection _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 872) int base = 0; hx::SetTopOfStack(&base, true);;
-HXLINE( 873) cpp::Struct< rtc::PeerConnection::GatheringState > c = rtc::PeerConnection::GatheringState::Complete;
-HXLINE( 874) if (::hx::IsEq( state,c )) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::PeerConnection,_gthis) HXARGC(0)
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_870_onGatheringStateChange)
+HXDLIN( 870) ::borogove::calls::PeerConnection _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 871) int base = 0; hx::SetTopOfStack(&base, true);;
+HXLINE( 872) cpp::Struct< rtc::PeerConnection::GatheringState > c = rtc::PeerConnection::GatheringState::Complete;
+HXLINE( 873) if (::hx::IsEq( state,c )) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::PeerConnection,_gthis) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_876_onGatheringStateChange)
-HXLINE( 876) int _g = 0;
-HXDLIN( 876) ::Array< ::Dynamic> _g1 = _gthis->localCandidateListeners;
-HXDLIN( 876) while((_g < _g1->length)){
-HXLINE( 876) ::Dynamic cb = _g1->__get(_g);
-HXDLIN( 876) _g = (_g + 1);
-HXLINE( 877) cb( ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_875_onGatheringStateChange)
+HXLINE( 875) int _g = 0;
+HXDLIN( 875) ::Array< ::Dynamic> _g1 = _gthis->localCandidateListeners;
+HXDLIN( 875) while((_g < _g1->length)){
+HXLINE( 875) ::Dynamic cb = _g1->__get(_g);
+HXDLIN( 875) _g = (_g + 1);
+HXLINE( 876) cb( ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("candidate",43,34,d8,d0),null())));
}
}
HX_END_LOCAL_FUNC0((void))
-HXLINE( 875) this->mainLoop->run( ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 874) this->mainLoop->run( ::Dynamic(new _hx_Closure_0(_gthis)));
}
-HXLINE( 881) hx::SetTopOfStack((int*)0, true);;
+HXLINE( 880) hx::SetTopOfStack((int*)0, true);;
}
HX_DEFINE_DYNAMIC_FUNC1(PeerConnection_obj,onGatheringStateChange,(void))
void PeerConnection_obj::onTrack( std::shared_ptr< rtc::Track > track){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::snikket::jingle::PeerConnection,_gthis, std::shared_ptr< rtc::Track >,track) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::calls::PeerConnection,_gthis, std::shared_ptr< rtc::Track >,track) HXARGC(0)
void _hx_run(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, std::shared_ptr< rtc::Track >,track) HXARGC(1)
- bool _hx_run( ::snikket::jingle::MediaStreamTrack t){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_888_onTrack)
-HXLINE( 888) ::String matchingTrack = t->get_kind();
-HXDLIN( 888) std::string this1 = track->description().type();
-HXDLIN( 888) return (matchingTrack == ( ( hx::StdString)(::hx::StdString(this1)) ).toString());
+ bool _hx_run( ::borogove::calls::MediaStreamTrack t){
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_887_onTrack)
+HXLINE( 887) ::String matchingTrack = t->get_kind();
+HXDLIN( 887) std::string this1 = track->description().type();
+HXDLIN( 887) return (matchingTrack == ( ( hx::StdString)(::hx::StdString(this1)) ).toString());
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_887_onTrack)
-HXLINE( 888) ::snikket::jingle::MediaStreamTrack matchingTrack = ( ( ::snikket::jingle::MediaStreamTrack)(::Lambda_obj::find(_gthis->pendingTracks, ::Dynamic(new _hx_Closure_0(track)))) );
-HXLINE( 889) ::snikket::jingle::MediaStreamTrack media;
-HXDLIN( 889) if (::hx::IsNull( matchingTrack )) {
-HXLINE( 889) media = ::snikket::jingle::MediaStreamTrack_obj::fromTrack(track);
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_886_onTrack)
+HXLINE( 887) ::borogove::calls::MediaStreamTrack matchingTrack = ( ( ::borogove::calls::MediaStreamTrack)(::Lambda_obj::find(_gthis->pendingTracks, ::Dynamic(new _hx_Closure_0(track)))) );
+HXLINE( 888) ::borogove::calls::MediaStreamTrack media;
+HXDLIN( 888) if (::hx::IsNull( matchingTrack )) {
+HXLINE( 888) media = ::borogove::calls::MediaStreamTrack_obj::fromTrack(track);
}
else {
-HXLINE( 892) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 892) {
-HXLINE( 892) int _g1 = 0;
-HXDLIN( 892) ::Array< ::Dynamic> _g2 = _gthis->pendingTracks;
-HXDLIN( 892) while((_g1 < _g2->length)){
-HXLINE( 892) ::snikket::jingle::MediaStreamTrack v = _g2->__get(_g1).StaticCast< ::snikket::jingle::MediaStreamTrack >();
-HXDLIN( 892) _g1 = (_g1 + 1);
-HXDLIN( 892) ::String media1 = v->get_id();
-HXDLIN( 892) if ((media1 != matchingTrack->get_id())) {
-HXLINE( 892) _g->push(v);
+HXLINE( 891) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 891) {
+HXLINE( 891) int _g1 = 0;
+HXDLIN( 891) ::Array< ::Dynamic> _g2 = _gthis->pendingTracks;
+HXDLIN( 891) while((_g1 < _g2->length)){
+HXLINE( 891) ::borogove::calls::MediaStreamTrack v = _g2->__get(_g1).StaticCast< ::borogove::calls::MediaStreamTrack >();
+HXDLIN( 891) _g1 = (_g1 + 1);
+HXDLIN( 891) ::String media1 = v->get_id();
+HXDLIN( 891) if ((media1 != matchingTrack->get_id())) {
+HXLINE( 891) _g->push(v);
}
}
}
-HXDLIN( 892) _gthis->pendingTracks = _g;
-HXLINE( 893) matchingTrack->set_track(track);
-HXLINE( 889) media = matchingTrack;
+HXDLIN( 891) _gthis->pendingTracks = _g;
+HXLINE( 892) matchingTrack->set_track(track);
+HXLINE( 888) media = matchingTrack;
}
-HXLINE( 896) {
-HXLINE( 896) ::Dynamic this1 = _gthis->tracks;
-HXDLIN( 896) ( ( ::haxe::ds::StringMap)(this1) )->set(media->get_id(),media);
+HXLINE( 895) {
+HXLINE( 895) ::Dynamic this1 = _gthis->tracks;
+HXDLIN( 895) ( ( ::haxe::ds::StringMap)(this1) )->set(media->get_id(),media);
}
-HXLINE( 897) {
-HXLINE( 897) int _g3 = 0;
-HXDLIN( 897) ::Array< ::Dynamic> _g4 = _gthis->trackListeners;
-HXDLIN( 897) while((_g3 < _g4->length)){
-HXLINE( 897) ::Dynamic cb = _g4->__get(_g3);
-HXDLIN( 897) _g3 = (_g3 + 1);
-HXLINE( 898) cb( ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 896) {
+HXLINE( 896) int _g3 = 0;
+HXDLIN( 896) ::Array< ::Dynamic> _g4 = _gthis->trackListeners;
+HXDLIN( 896) while((_g3 < _g4->length)){
+HXLINE( 896) ::Dynamic cb = _g4->__get(_g3);
+HXDLIN( 896) _g3 = (_g3 + 1);
+HXLINE( 897) cb( ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("streams",f3,db,44,f6),::cpp::VirtualArray_obj::__new(0))
->setFixed(1,HX_("track",8b,8e,1f,16),media)));
}
@@ -352,148 +352,171 @@ HXLINE( 898) cb( ::Dynamic(::hx::Anon_obj::Create(2)
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_885_onTrack)
-HXDLIN( 885) ::snikket::jingle::PeerConnection _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 886) int base = 0; hx::SetTopOfStack(&base, true);;
-HXLINE( 887) this->mainLoop->run( ::Dynamic(new _hx_Closure_1(_gthis,track)));
-HXLINE( 901) hx::SetTopOfStack((int*)0, true);;
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_884_onTrack)
+HXDLIN( 884) ::borogove::calls::PeerConnection _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 885) int base = 0; hx::SetTopOfStack(&base, true);;
+HXLINE( 886) this->mainLoop->run( ::Dynamic(new _hx_Closure_1(_gthis,track)));
+HXLINE( 900) hx::SetTopOfStack((int*)0, true);;
}
::String PeerConnection_obj::get_connectionState(){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_905_get_connectionState)
-HXDLIN( 905) rtc::PeerConnection::State _hx_switch_0 = this->pc->get_ref().state();
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_904_get_connectionState)
+HXDLIN( 904) rtc::PeerConnection::State _hx_switch_0 = this->pc->get_ref().state();
if ( (_hx_switch_0==rtc::PeerConnection::State::Closed) ){
-HXDLIN( 905) return HX_("closed",ac,a9,51,0e);
-HXDLIN( 905) goto _hx_goto_19;
+HXDLIN( 904) return HX_("closed",ac,a9,51,0e);
+HXDLIN( 904) goto _hx_goto_19;
}
if ( (_hx_switch_0==rtc::PeerConnection::State::Connected) ){
-HXDLIN( 905) return HX_("connected",c9,e2,f6,a2);
-HXDLIN( 905) goto _hx_goto_19;
+HXDLIN( 904) return HX_("connected",c9,e2,f6,a2);
+HXDLIN( 904) goto _hx_goto_19;
}
if ( (_hx_switch_0==rtc::PeerConnection::State::Connecting) ){
-HXDLIN( 905) return HX_("connecting",38,9f,12,f5);
-HXDLIN( 905) goto _hx_goto_19;
+HXDLIN( 904) return HX_("connecting",38,9f,12,f5);
+HXDLIN( 904) goto _hx_goto_19;
}
if ( (_hx_switch_0==rtc::PeerConnection::State::Disconnected) ){
-HXDLIN( 905) return HX_("disconnected",bb,8b,6b,8e);
-HXDLIN( 905) goto _hx_goto_19;
+HXDLIN( 904) return HX_("disconnected",bb,8b,6b,8e);
+HXDLIN( 904) goto _hx_goto_19;
}
if ( (_hx_switch_0==rtc::PeerConnection::State::Failed) ){
-HXDLIN( 905) return HX_("failed",bd,c5,fe,e7);
-HXDLIN( 905) goto _hx_goto_19;
+HXDLIN( 904) return HX_("failed",bd,c5,fe,e7);
+HXDLIN( 904) goto _hx_goto_19;
}
if ( (_hx_switch_0==rtc::PeerConnection::State::New) ){
-HXDLIN( 905) return HX_("new",60,d0,53,00);
-HXDLIN( 905) goto _hx_goto_19;
+HXDLIN( 904) return HX_("new",60,d0,53,00);
+HXDLIN( 904) goto _hx_goto_19;
}
_hx_goto_19:;
-HXDLIN( 905) return null();
+HXDLIN( 904) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(PeerConnection_obj,get_connectionState,return )
::Dynamic PeerConnection_obj::get_localDescription(){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_908_get_localDescription)
-HXLINE( 909) std::optional< rtc::Description > desc = this->pc->get_ref().localDescription();
-HXLINE( 910) if (desc.has_value()) {
-HXLINE( 911) std::string this1 = ( ( rtc::Description)(( (cpp::Struct< rtc::Description >)(desc.value()) )) ).generateSdp();
-HXDLIN( 911) return ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_907_get_localDescription)
+HXLINE( 908) std::optional< rtc::Description > desc = this->pc->get_ref().localDescription();
+HXLINE( 909) if (desc.has_value()) {
+HXLINE( 910) std::string this1 = ( ( rtc::Description)(( (cpp::Struct< rtc::Description >)(desc.value()) )) ).generateSdp();
+HXDLIN( 910) return ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("sdp",bf,9a,57,00),( ( hx::StdString)(::hx::StdString(this1)) ).toString()));
}
else {
-HXLINE( 913) return null();
+HXLINE( 912) return null();
}
-HXLINE( 910) return null();
+HXLINE( 909) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(PeerConnection_obj,get_localDescription,return )
::Dynamic PeerConnection_obj::setLocalDescription(cpp::Struct< rtc::Description::Type > sdpType){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::PeerConnection,_gthis,cpp::Struct< rtc::Description::Type >,sdpType) HXARGC(2)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::PeerConnection,_gthis,cpp::Struct< rtc::Description::Type >,sdpType) HXARGC(2)
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_918_setLocalDescription)
-HXLINE( 919) _gthis->waitingOnLocal = resolve;
-HXLINE( 920) if (!(_gthis->hasRemote)) {
-HXLINE( 920) _gthis->addPendingTracks();
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_917_setLocalDescription)
+HXLINE( 918) _gthis->waitingOnLocal = resolve;
+HXLINE( 919) if (!(_gthis->hasRemote)) {
+HXLINE( 919) _gthis->addPendingTracks();
}
-HXLINE( 921) rtc::PeerConnection & _hx_tmp = _gthis->pc->get_ref();
-HXDLIN( 921) cpp::Struct< rtc::Description::Type > tmp = sdpType;
-HXDLIN( 921) cpp::Struct< rtc::Description::Type > _hx_tmp1;
-HXDLIN( 921) if (::hx::IsNotNull( tmp )) {
-HXLINE( 921) _hx_tmp1 = tmp;
+HXLINE( 920) rtc::PeerConnection & _hx_tmp = _gthis->pc->get_ref();
+HXDLIN( 920) cpp::Struct< rtc::Description::Type > tmp = sdpType;
+HXDLIN( 920) cpp::Struct< rtc::Description::Type > _hx_tmp1;
+HXDLIN( 920) if (::hx::IsNotNull( tmp )) {
+HXLINE( 920) _hx_tmp1 = tmp;
}
else {
-HXLINE( 921) _hx_tmp1 = cpp::Struct(rtc::Description::Type::Unspec);
+HXLINE( 920) _hx_tmp1 = cpp::Struct(rtc::Description::Type::Unspec);
}
-HXDLIN( 921) _hx_tmp.setLocalDescription(_hx_tmp1);
+HXDLIN( 920) _hx_tmp.setLocalDescription(_hx_tmp1);
}
HX_END_LOCAL_FUNC2((void))
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_917_setLocalDescription)
-HXDLIN( 917) ::snikket::jingle::PeerConnection _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 918) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_0(_gthis,sdpType)));
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_916_setLocalDescription)
+HXDLIN( 916) ::borogove::calls::PeerConnection _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 917) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_0(_gthis,sdpType)));
}
HX_DEFINE_DYNAMIC_FUNC1(PeerConnection_obj,setLocalDescription,return )
::Dynamic PeerConnection_obj::setRemoteDescription( ::Dynamic description){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_925_setRemoteDescription)
-HXLINE( 926) rtc::PeerConnection & _hx_tmp = this->pc->get_ref();
-HXDLIN( 926) hx::StdString _hx_tmp1 = ::hx::StdString(( (::String)(description->__Field(HX_("sdp",bf,9a,57,00),::hx::paccDynamic)) ));
-HXDLIN( 926) _hx_tmp.setRemoteDescription( rtc::Description(_hx_tmp1,::hx::TCast< cpp::Struct< rtc::Description::Type > >::cast(description->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic))));
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_924_setRemoteDescription)
+HXLINE( 925) hx::StdString remote = ::hx::StdString(( (::String)(description->__Field(HX_("sdp",bf,9a,57,00),::hx::paccDynamic)) ));
+HXDLIN( 925) rtc::Description remote1 = rtc::Description(remote,::hx::TCast< cpp::Struct< rtc::Description::Type > >::cast(description->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic)));
+HXLINE( 926) this->pc->get_ref().setRemoteDescription(remote1);
HXLINE( 927) this->hasRemote = true;
-HXLINE( 928) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 929) {
+HXLINE( 929) int _g = 0;
+HXDLIN( 929) int _g1 = remote1.mediaCount();
+HXDLIN( 929) while((_g < _g1)){
+HXLINE( 929) _g = (_g + 1);
+HXDLIN( 929) int i = (_g - 1);
+HXLINE( 930) auto mediaVariant = remote1.media(i);
+HXLINE( 931) rtc::Description::Media** mediaPointer = std::get_if<rtc::Description::Media *>(&mediaVariant);
+HXLINE( 932) ::cpp::Pointer< rtc::Description::Media > media;
+HXDLIN( 932) if (::hx::IsNull( mediaPointer )) {
+HXLINE( 932) media = null();
+ }
+ else {
+HXLINE( 932) media = ::cpp::Pointer_obj::fromRaw(::cpp::Pointer_obj::fromRaw(mediaPointer)->get_ref());
+ }
+HXLINE( 933) std::string mid = media->get_ref().mid();
+HXLINE( 934) ::Dynamic this1 = this->tracks;
+HXDLIN( 934) ::borogove::calls::MediaStreamTrack track = ( ( ::borogove::calls::MediaStreamTrack)(( ( ::haxe::ds::StringMap)(this1) )->get(( ( hx::StdString)(::hx::StdString(mid)) ).toString())) );
+HXLINE( 935) if (::hx::IsNotNull( track )) {
+HXLINE( 936) track->remoteMedia = media;
+ }
+ }
+ }
+HXLINE( 939) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_DEFINE_DYNAMIC_FUNC1(PeerConnection_obj,setRemoteDescription,return )
::Dynamic PeerConnection_obj::addIceCandidate( ::Dynamic candidate){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_931_addIceCandidate)
-HXLINE( 932) rtc::PeerConnection & _hx_tmp = this->pc->get_ref();
-HXDLIN( 932) hx::StdString _hx_tmp1 = ::hx::StdString(( (::String)(candidate->__Field(HX_("candidate",43,34,d8,d0),::hx::paccDynamic)) ));
-HXDLIN( 932) hx::StdString _hx_tmp2 = ::hx::StdString(( (::String)(candidate->__Field(HX_("sdpMid",09,30,5f,d9),::hx::paccDynamic)) ));
-HXDLIN( 932) _hx_tmp.addRemoteCandidate( rtc::Candidate(_hx_tmp1,_hx_tmp2));
-HXLINE( 933) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_942_addIceCandidate)
+HXLINE( 943) rtc::PeerConnection & _hx_tmp = this->pc->get_ref();
+HXDLIN( 943) hx::StdString _hx_tmp1 = ::hx::StdString(( (::String)(candidate->__Field(HX_("candidate",43,34,d8,d0),::hx::paccDynamic)) ));
+HXDLIN( 943) hx::StdString _hx_tmp2 = ::hx::StdString(( (::String)(candidate->__Field(HX_("sdpMid",09,30,5f,d9),::hx::paccDynamic)) ));
+HXDLIN( 943) _hx_tmp.addRemoteCandidate( rtc::Candidate(_hx_tmp1,_hx_tmp2));
+HXLINE( 944) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_DEFINE_DYNAMIC_FUNC1(PeerConnection_obj,addIceCandidate,return )
void PeerConnection_obj::addPendingTracks(){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_936_addPendingTracks)
-HXLINE( 937) this->hasLocal = true;
-HXLINE( 938) ::snikket::jingle::MediaStreamTrack track;
-HXLINE( 939) while(true){
-HXLINE( 939) track = this->pendingTracks->shift().StaticCast< ::snikket::jingle::MediaStreamTrack >();
-HXDLIN( 939) if (!(::hx::IsNotNull( track ))) {
-HXLINE( 939) goto _hx_goto_26;
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_947_addPendingTracks)
+HXLINE( 948) this->hasLocal = true;
+HXLINE( 949) ::borogove::calls::MediaStreamTrack track;
+HXLINE( 950) while(true){
+HXLINE( 950) track = this->pendingTracks->shift().StaticCast< ::borogove::calls::MediaStreamTrack >();
+HXDLIN( 950) if (!(::hx::IsNotNull( track ))) {
+HXLINE( 950) goto _hx_goto_27;
}
-HXLINE( 940) this->addTrack(track,null());
+HXLINE( 951) this->addTrack(track,null());
}
- _hx_goto_26:;
+ _hx_goto_27:;
}
HX_DEFINE_DYNAMIC_FUNC0(PeerConnection_obj,addPendingTracks,(void))
-void PeerConnection_obj::addTrack( ::snikket::jingle::MediaStreamTrack track, ::snikket::jingle::MediaStream stream){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_945_addTrack)
-HXDLIN( 945) if (this->hasLocal) {
-HXLINE( 946) rtc::PeerConnection & _hx_tmp = this->pc->get_ref();
-HXDLIN( 946) rtc::Description::Media _hx_tmp1 = ( ( rtc::Description::Media)(( (cpp::Struct< rtc::Description::Media >)(track->get_media().value()) )) );
-HXDLIN( 946) track->set_track(_hx_tmp.addTrack(_hx_tmp1));
-HXLINE( 947) {
-HXLINE( 947) ::Dynamic this1 = this->tracks;
-HXDLIN( 947) ( ( ::haxe::ds::StringMap)(this1) )->set(track->get_id(),track);
+void PeerConnection_obj::addTrack( ::borogove::calls::MediaStreamTrack track, ::borogove::calls::MediaStream stream){
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_956_addTrack)
+HXDLIN( 956) if (this->hasLocal) {
+HXLINE( 957) rtc::PeerConnection & _hx_tmp = this->pc->get_ref();
+HXDLIN( 957) rtc::Description::Media _hx_tmp1 = ( ( rtc::Description::Media)(( (cpp::Struct< rtc::Description::Media >)(track->media.value()) )) );
+HXDLIN( 957) track->set_track(_hx_tmp.addTrack(_hx_tmp1));
+HXLINE( 958) {
+HXLINE( 958) ::Dynamic this1 = this->tracks;
+HXDLIN( 958) ( ( ::haxe::ds::StringMap)(this1) )->set(track->get_id(),track);
}
}
else {
-HXLINE( 949) this->pendingTracks->push(track);
+HXLINE( 960) this->pendingTracks->push(track);
}
}
@@ -501,50 +524,45 @@ HXLINE( 949) this->pendingTracks->push(track);
HX_DEFINE_DYNAMIC_FUNC2(PeerConnection_obj,addTrack,(void))
::Array< ::Dynamic> PeerConnection_obj::getTransceivers(){
- HX_GC_STACKFRAME(&_hx_pos_8cd3f69017bd5103_953_getTransceivers)
-HXLINE( 955) ::Array< ::Dynamic> ts = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 956) {
-HXLINE( 956) ::Dynamic map = this->tracks;
-HXDLIN( 956) ::Dynamic _g_map = map;
-HXDLIN( 956) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN( 956) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 956) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 956) ::snikket::jingle::MediaStreamTrack _g_value = ( ( ::snikket::jingle::MediaStreamTrack)(::haxe::IMap_obj::get(_g_map,key)) );
-HXDLIN( 956) ::String _g_key = key;
-HXDLIN( 956) ::String mid = _g_key;
-HXDLIN( 956) ::snikket::jingle::MediaStreamTrack track = _g_value;
-HXLINE( 957) ts->push( ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_964_getTransceivers)
+HXLINE( 966) ::Array< ::Dynamic> ts = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 967) {
+HXLINE( 967) ::Dynamic this1 = this->tracks;
+HXDLIN( 967) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN( 967) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 967) ::borogove::calls::MediaStreamTrack _g_value = ( ( ::borogove::calls::MediaStreamTrack)(::haxe::IMap_obj::get(this1,_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)())) );
+HXLINE( 968) ts->push( ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("receiver",2f,45,fd,e2), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("track",8b,8e,1f,16),track)))
+ ->setFixed(0,HX_("track",8b,8e,1f,16),_g_value)))
->setFixed(1,HX_("sender",b5,c7,84,6b), ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("track",8b,8e,1f,16),track)
- ->setFixed(1,HX_("dtmf",e9,ba,71,42), ::snikket::jingle::DTMFSender_obj::__alloc( HX_CTX ,track))))));
+ ->setFixed(0,HX_("track",8b,8e,1f,16),_g_value)
+ ->setFixed(1,HX_("dtmf",e9,ba,71,42), ::borogove::calls::DTMFSender_obj::__alloc( HX_CTX ,_g_value))))));
}
}
-HXLINE( 962) return ts;
+HXLINE( 973) return ts;
}
HX_DEFINE_DYNAMIC_FUNC0(PeerConnection_obj,getTransceivers,return )
void PeerConnection_obj::close(){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_966_close)
-HXDLIN( 966) this->pc->get_ref().close();
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_977_close)
+HXDLIN( 977) this->pc->get_ref().close();
}
HX_DEFINE_DYNAMIC_FUNC0(PeerConnection_obj,close,(void))
void PeerConnection_obj::addEventListener(::String event, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_8cd3f69017bd5103_969_addEventListener)
-HXLINE( 970) if ((event == HX_("track",8b,8e,1f,16))) {
-HXLINE( 970) this->trackListeners->push(callback);
+ HX_STACKFRAME(&_hx_pos_3063e1bcf0a113bf_980_addEventListener)
+HXLINE( 981) if ((event == HX_("track",8b,8e,1f,16))) {
+HXLINE( 981) this->trackListeners->push(callback);
}
-HXLINE( 971) if ((event == HX_("icecandidate",98,ef,c0,7b))) {
-HXLINE( 971) this->localCandidateListeners->push(callback);
+HXLINE( 982) if ((event == HX_("icecandidate",98,ef,c0,7b))) {
+HXLINE( 982) this->localCandidateListeners->push(callback);
}
-HXLINE( 972) if ((event == HX_("connectionstatechange",e3,a2,87,36))) {
-HXLINE( 972) this->stateChangeListeners->push(callback);
+HXLINE( 983) if ((event == HX_("connectionstatechange",e3,a2,87,36))) {
+HXLINE( 983) this->stateChangeListeners->push(callback);
}
}
@@ -559,7 +577,7 @@ HX_DEFINE_DYNAMIC_FUNC2(PeerConnection_obj,addEventListener,(void))
}
::hx::ObjectPtr< PeerConnection_obj > PeerConnection_obj::__alloc(::hx::Ctx *_hx_ctx, ::Dynamic configuration, ::Dynamic constraints) {
- PeerConnection_obj *__this = (PeerConnection_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(PeerConnection_obj), true, "snikket.jingle.PeerConnection"));
+ PeerConnection_obj *__this = (PeerConnection_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(PeerConnection_obj), true, "borogove.calls.PeerConnection"));
*(void **)__this = PeerConnection_obj::_hx_vtable;
__this->__construct(configuration,constraints);
return __this;
@@ -774,7 +792,7 @@ void PeerConnection_obj::__register()
PeerConnection_obj _hx_dummy;
PeerConnection_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.PeerConnection",6c,38,b6,bc);
+ __mClass->mName = HX_("borogove.calls.PeerConnection",26,6d,b6,9e);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -792,5 +810,5 @@ void PeerConnection_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_snikket/src/snikket/jingle/Session.cpp b/Sources/c_borogove/src/borogove/calls/Session.cpp
similarity index 55%
rename from Sources/c_snikket/src/snikket/jingle/Session.cpp
rename to Sources/c_borogove/src/borogove/calls/Session.cpp
index 6ddb455..67c2584 100644
--- a/Sources/c_snikket/src/snikket/jingle/Session.cpp
+++ b/Sources/c_borogove/src/borogove/calls/Session.cpp
@@ -1,33 +1,30 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_calls_DTMFSender
+#include <borogove/calls/DTMFSender.h>
#endif
-#ifndef INCLUDED_snikket_jingle_DTMFSender
-#include <snikket/jingle/DTMFSender.h>
+#ifndef INCLUDED_borogove_calls_InitiatedSession
+#include <borogove/calls/InitiatedSession.h>
#endif
-#ifndef INCLUDED_snikket_jingle_InitiatedSession
-#include <snikket/jingle/InitiatedSession.h>
+#ifndef INCLUDED_borogove_calls_MediaStream
+#include <borogove/calls/MediaStream.h>
#endif
-#ifndef INCLUDED_snikket_jingle_MediaStream
-#include <snikket/jingle/MediaStream.h>
+#ifndef INCLUDED_borogove_calls_MediaStreamTrack
+#include <borogove/calls/MediaStreamTrack.h>
#endif
-#ifndef INCLUDED_snikket_jingle_MediaStreamTrack
-#include <snikket/jingle/MediaStreamTrack.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Session
-#include <snikket/jingle/Session.h>
+#ifndef INCLUDED_borogove_calls_Session
+#include <borogove/calls/Session.h>
#endif
#ifndef INCLUDED_thenshim_Thenable
#include <thenshim/Thenable.h>
#endif
-namespace snikket{
-namespace jingle{
+namespace borogove{
+namespace calls{
static ::String Session_obj_sMemberFields[] = {
@@ -45,6 +42,7 @@ static ::String Session_obj_sMemberFields[] = {
HX_("transportInfo",b7,3c,cf,b6),
HX_("addMedia",03,2b,19,7f),
HX_("callStatus",70,be,2b,31),
+ HX_("audioTracks",fe,5c,2d,14),
HX_("videoTracks",63,c2,24,be),
HX_("dtmf",e9,ba,71,42),
::String(null()) };
@@ -54,12 +52,12 @@ static ::String Session_obj_sMemberFields[] = {
void Session_obj::__register()
{
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.Session",ca,79,a9,d5);
+ __mClass->mName = HX_("borogove.calls.Session",d0,f1,f6,03);
__mClass->mSuper = &super::__SGetClass();
__mClass->mMembers = ::hx::Class_obj::dupFunctions(Session_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TIsInterface< (int)0x79d60748 >;
+ __mClass->mCanCast = ::hx::TIsInterface< (int)0x36e3eba2 >;
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_snikket/src/snikket/jingle/SessionDescription.cpp b/Sources/c_borogove/src/borogove/calls/SessionDescription.cpp
similarity index 68%
rename from Sources/c_snikket/src/snikket/jingle/SessionDescription.cpp
rename to Sources/c_borogove/src/borogove/calls/SessionDescription.cpp
index f11b7fd..2caa479 100644
--- a/Sources/c_snikket/src/snikket/jingle/SessionDescription.cpp
+++ b/Sources/c_borogove/src/borogove/calls/SessionDescription.cpp
@@ -7,48 +7,45 @@
#ifndef INCLUDED_Std
#include <Std.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_calls_Attribute
+#include <borogove/calls/Attribute.h>
#endif
-#ifndef INCLUDED_snikket_jingle_Attribute
-#include <snikket/jingle/Attribute.h>
+#ifndef INCLUDED_borogove_calls_Group
+#include <borogove/calls/Group.h>
#endif
-#ifndef INCLUDED_snikket_jingle_Group
-#include <snikket/jingle/Group.h>
+#ifndef INCLUDED_borogove_calls_Media
+#include <borogove/calls/Media.h>
#endif
-#ifndef INCLUDED_snikket_jingle_Media
-#include <snikket/jingle/Media.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_SessionDescription
-#include <snikket/jingle/SessionDescription.h>
+#ifndef INCLUDED_borogove_calls_SessionDescription
+#include <borogove/calls/SessionDescription.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_afe8c32f000731b4_13_new,"snikket.jingle.SessionDescription","new",0x5e69f944,"snikket.jingle.SessionDescription.new","snikket/jingle/SessionDescription.hx",13,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_118_getUfragPwd,"snikket.jingle.SessionDescription","getUfragPwd",0x89ee6630,"snikket.jingle.SessionDescription.getUfragPwd","snikket/jingle/SessionDescription.hx",118,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_132_getFingerprint,"snikket.jingle.SessionDescription","getFingerprint",0x704a108a,"snikket.jingle.SessionDescription.getFingerprint","snikket/jingle/SessionDescription.hx",132,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_131_getFingerprint,"snikket.jingle.SessionDescription","getFingerprint",0x704a108a,"snikket.jingle.SessionDescription.getFingerprint","snikket/jingle/SessionDescription.hx",131,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_136_getFingerprint,"snikket.jingle.SessionDescription","getFingerprint",0x704a108a,"snikket.jingle.SessionDescription.getFingerprint","snikket/jingle/SessionDescription.hx",136,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_146_getDtlsSetup,"snikket.jingle.SessionDescription","getDtlsSetup",0x082ca80c,"snikket.jingle.SessionDescription.getDtlsSetup","snikket/jingle/SessionDescription.hx",146,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_145_getDtlsSetup,"snikket.jingle.SessionDescription","getDtlsSetup",0x082ca80c,"snikket.jingle.SessionDescription.getDtlsSetup","snikket/jingle/SessionDescription.hx",145,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_150_getDtlsSetup,"snikket.jingle.SessionDescription","getDtlsSetup",0x082ca80c,"snikket.jingle.SessionDescription.getDtlsSetup","snikket/jingle/SessionDescription.hx",150,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_159_addContent,"snikket.jingle.SessionDescription","addContent",0x846e34b4,"snikket.jingle.SessionDescription.addContent","snikket/jingle/SessionDescription.hx",159,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_161_addContent,"snikket.jingle.SessionDescription","addContent",0x846e34b4,"snikket.jingle.SessionDescription.addContent","snikket/jingle/SessionDescription.hx",161,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_175_toSdp,"snikket.jingle.SessionDescription","toSdp",0xc2b675e8,"snikket.jingle.SessionDescription.toSdp","snikket/jingle/SessionDescription.hx",175,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_187_toStanza,"snikket.jingle.SessionDescription","toStanza",0x6f2d226c,"snikket.jingle.SessionDescription.toStanza","snikket/jingle/SessionDescription.hx",187,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_184_toStanza,"snikket.jingle.SessionDescription","toStanza",0x6f2d226c,"snikket.jingle.SessionDescription.toStanza","snikket/jingle/SessionDescription.hx",184,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_89_parse,"snikket.jingle.SessionDescription","parse",0x6bf2ba17,"snikket.jingle.SessionDescription.parse","snikket/jingle/SessionDescription.hx",89,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_21_parse,"snikket.jingle.SessionDescription","parse",0x6bf2ba17,"snikket.jingle.SessionDescription.parse","snikket/jingle/SessionDescription.hx",21,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_45_parse,"snikket.jingle.SessionDescription","parse",0x6bf2ba17,"snikket.jingle.SessionDescription.parse","snikket/jingle/SessionDescription.hx",45,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_74_parse,"snikket.jingle.SessionDescription","parse",0x6bf2ba17,"snikket.jingle.SessionDescription.parse","snikket/jingle/SessionDescription.hx",74,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_afe8c32f000731b4_99_fromStanza,"snikket.jingle.SessionDescription","fromStanza",0x4ca7de9b,"snikket.jingle.SessionDescription.fromStanza","snikket/jingle/SessionDescription.hx",99,0x68af748c)
-namespace snikket{
-namespace jingle{
+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)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_132_getFingerprint,"borogove.calls.SessionDescription","getFingerprint",0xa4d9f810,"borogove.calls.SessionDescription.getFingerprint","borogove/calls/SessionDescription.hx",132,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_131_getFingerprint,"borogove.calls.SessionDescription","getFingerprint",0xa4d9f810,"borogove.calls.SessionDescription.getFingerprint","borogove/calls/SessionDescription.hx",131,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_136_getFingerprint,"borogove.calls.SessionDescription","getFingerprint",0xa4d9f810,"borogove.calls.SessionDescription.getFingerprint","borogove/calls/SessionDescription.hx",136,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_146_getDtlsSetup,"borogove.calls.SessionDescription","getDtlsSetup",0x8f4d8212,"borogove.calls.SessionDescription.getDtlsSetup","borogove/calls/SessionDescription.hx",146,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_145_getDtlsSetup,"borogove.calls.SessionDescription","getDtlsSetup",0x8f4d8212,"borogove.calls.SessionDescription.getDtlsSetup","borogove/calls/SessionDescription.hx",145,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_150_getDtlsSetup,"borogove.calls.SessionDescription","getDtlsSetup",0x8f4d8212,"borogove.calls.SessionDescription.getDtlsSetup","borogove/calls/SessionDescription.hx",150,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_159_addContent,"borogove.calls.SessionDescription","addContent",0x63c6613a,"borogove.calls.SessionDescription.addContent","borogove/calls/SessionDescription.hx",159,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_161_addContent,"borogove.calls.SessionDescription","addContent",0x63c6613a,"borogove.calls.SessionDescription.addContent","borogove/calls/SessionDescription.hx",161,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_175_toSdp,"borogove.calls.SessionDescription","toSdp",0xf4199722,"borogove.calls.SessionDescription.toSdp","borogove/calls/SessionDescription.hx",175,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_187_toStanza,"borogove.calls.SessionDescription","toStanza",0xf40b0172,"borogove.calls.SessionDescription.toStanza","borogove/calls/SessionDescription.hx",187,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_184_toStanza,"borogove.calls.SessionDescription","toStanza",0xf40b0172,"borogove.calls.SessionDescription.toStanza","borogove/calls/SessionDescription.hx",184,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_89_parse,"borogove.calls.SessionDescription","parse",0x9d55db51,"borogove.calls.SessionDescription.parse","borogove/calls/SessionDescription.hx",89,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_21_parse,"borogove.calls.SessionDescription","parse",0x9d55db51,"borogove.calls.SessionDescription.parse","borogove/calls/SessionDescription.hx",21,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_45_parse,"borogove.calls.SessionDescription","parse",0x9d55db51,"borogove.calls.SessionDescription.parse","borogove/calls/SessionDescription.hx",45,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_74_parse,"borogove.calls.SessionDescription","parse",0x9d55db51,"borogove.calls.SessionDescription.parse","borogove/calls/SessionDescription.hx",74,0xd9f63730)
+HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_99_fromStanza,"borogove.calls.SessionDescription","fromStanza",0x2c000b21,"borogove.calls.SessionDescription.fromStanza","borogove/calls/SessionDescription.hx",99,0xd9f63730)
+namespace borogove{
+namespace calls{
void SessionDescription_obj::__construct(int version,::String name,::Array< ::Dynamic> media,::Array< ::Dynamic> attributes,::Array< ::String > identificationTags){
- HX_STACKFRAME(&_hx_pos_afe8c32f000731b4_13_new)
+ HX_STACKFRAME(&_hx_pos_eabdb73125e41d9c_13_new)
HXLINE( 14) this->version = version;
HXLINE( 15) this->name = name;
HXLINE( 16) this->media = media;
@@ -68,17 +65,17 @@ Dynamic SessionDescription_obj::__Create(::hx::DynamicArray inArgs)
}
bool SessionDescription_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x24aad8f0;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x16c1f9ba;
}
::Dynamic SessionDescription_obj::getUfragPwd(){
- HX_STACKFRAME(&_hx_pos_afe8c32f000731b4_118_getUfragPwd)
+ HX_STACKFRAME(&_hx_pos_eabdb73125e41d9c_118_getUfragPwd)
HXLINE( 119) ::Dynamic ufragPwd = null();
HXLINE( 120) {
HXLINE( 120) int _g = 0;
HXDLIN( 120) ::Array< ::Dynamic> _g1 = this->media;
HXDLIN( 120) while((_g < _g1->length)){
-HXLINE( 120) ::snikket::jingle::Media m = _g1->__get(_g).StaticCast< ::snikket::jingle::Media >();
+HXLINE( 120) ::borogove::calls::Media m = _g1->__get(_g).StaticCast< ::borogove::calls::Media >();
HXDLIN( 120) _g = (_g + 1);
HXLINE( 121) ::Dynamic mUfragPwd = m->getUfragPwd(null());
HXLINE( 122) bool _hx_tmp;
@@ -113,16 +110,16 @@ HXLINE( 128) return ufragPwd;
HX_DEFINE_DYNAMIC_FUNC0(SessionDescription_obj,getUfragPwd,return )
- ::snikket::jingle::Attribute SessionDescription_obj::getFingerprint(){
+ ::borogove::calls::Attribute SessionDescription_obj::getFingerprint(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_STACKFRAME(&_hx_pos_afe8c32f000731b4_132_getFingerprint)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_STACKFRAME(&_hx_pos_eabdb73125e41d9c_132_getFingerprint)
HXLINE( 132) return (attr->key == HX_("fingerprint",e4,43,63,a3));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_afe8c32f000731b4_131_getFingerprint)
-HXLINE( 132) ::snikket::jingle::Attribute fingerprint = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(this->attributes, ::Dynamic(new _hx_Closure_0()))) );
+ HX_STACKFRAME(&_hx_pos_eabdb73125e41d9c_131_getFingerprint)
+HXLINE( 132) ::borogove::calls::Attribute fingerprint = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(this->attributes, ::Dynamic(new _hx_Closure_0()))) );
HXLINE( 133) if (::hx::IsNotNull( fingerprint )) {
HXLINE( 133) return fingerprint;
}
@@ -131,15 +128,15 @@ HXLINE( 135) int _g = 0;
HXDLIN( 135) ::Array< ::Dynamic> _g1 = this->media;
HXDLIN( 135) while((_g < _g1->length)){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_STACKFRAME(&_hx_pos_afe8c32f000731b4_136_getFingerprint)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_STACKFRAME(&_hx_pos_eabdb73125e41d9c_136_getFingerprint)
HXLINE( 136) return (attr->key == HX_("fingerprint",e4,43,63,a3));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 135) ::snikket::jingle::Media m = _g1->__get(_g).StaticCast< ::snikket::jingle::Media >();
+HXLINE( 135) ::borogove::calls::Media m = _g1->__get(_g).StaticCast< ::borogove::calls::Media >();
HXDLIN( 135) _g = (_g + 1);
-HXLINE( 136) ::snikket::jingle::Attribute mFingerprint = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(m->attributes, ::Dynamic(new _hx_Closure_1()))) );
+HXLINE( 136) ::borogove::calls::Attribute mFingerprint = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(m->attributes, ::Dynamic(new _hx_Closure_1()))) );
HXLINE( 137) bool _hx_tmp;
HXDLIN( 137) bool _hx_tmp1;
HXDLIN( 137) if (::hx::IsNotNull( fingerprint )) {
@@ -171,14 +168,14 @@ HX_DEFINE_DYNAMIC_FUNC0(SessionDescription_obj,getFingerprint,return )
::String SessionDescription_obj::getDtlsSetup(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_STACKFRAME(&_hx_pos_afe8c32f000731b4_146_getDtlsSetup)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_STACKFRAME(&_hx_pos_eabdb73125e41d9c_146_getDtlsSetup)
HXLINE( 146) return (attr->key == HX_("setup",7d,ae,2f,7a));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_afe8c32f000731b4_145_getDtlsSetup)
-HXLINE( 146) ::snikket::jingle::Attribute setup = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(this->attributes, ::Dynamic(new _hx_Closure_0()))) );
+ HX_STACKFRAME(&_hx_pos_eabdb73125e41d9c_145_getDtlsSetup)
+HXLINE( 146) ::borogove::calls::Attribute setup = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(this->attributes, ::Dynamic(new _hx_Closure_0()))) );
HXLINE( 147) if (::hx::IsNotNull( setup )) {
HXLINE( 147) return setup->value;
}
@@ -187,15 +184,15 @@ HXLINE( 149) int _g = 0;
HXDLIN( 149) ::Array< ::Dynamic> _g1 = this->media;
HXDLIN( 149) while((_g < _g1->length)){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_STACKFRAME(&_hx_pos_afe8c32f000731b4_150_getDtlsSetup)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_STACKFRAME(&_hx_pos_eabdb73125e41d9c_150_getDtlsSetup)
HXLINE( 150) return (attr->key == HX_("setup",7d,ae,2f,7a));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 149) ::snikket::jingle::Media m = _g1->__get(_g).StaticCast< ::snikket::jingle::Media >();
+HXLINE( 149) ::borogove::calls::Media m = _g1->__get(_g).StaticCast< ::borogove::calls::Media >();
HXDLIN( 149) _g = (_g + 1);
-HXLINE( 150) ::snikket::jingle::Attribute mSetup = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(m->attributes, ::Dynamic(new _hx_Closure_1()))) );
+HXLINE( 150) ::borogove::calls::Attribute mSetup = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(m->attributes, ::Dynamic(new _hx_Closure_1()))) );
HXLINE( 151) bool _hx_tmp;
HXDLIN( 151) bool _hx_tmp1;
HXDLIN( 151) if (::hx::IsNotNull( setup )) {
@@ -225,20 +222,20 @@ HXLINE( 156) return setup->value;
HX_DEFINE_DYNAMIC_FUNC0(SessionDescription_obj,getDtlsSetup,return )
- ::snikket::jingle::SessionDescription SessionDescription_obj::addContent( ::snikket::jingle::SessionDescription newDescription){
- HX_GC_STACKFRAME(&_hx_pos_afe8c32f000731b4_159_addContent)
+ ::borogove::calls::SessionDescription SessionDescription_obj::addContent( ::borogove::calls::SessionDescription newDescription){
+ HX_GC_STACKFRAME(&_hx_pos_eabdb73125e41d9c_159_addContent)
HXLINE( 160) {
HXLINE( 160) int _g = 0;
HXDLIN( 160) ::Array< ::Dynamic> _g1 = newDescription->media;
HXDLIN( 160) while((_g < _g1->length)){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::Media,newM) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Media m){
- HX_STACKFRAME(&_hx_pos_afe8c32f000731b4_161_addContent)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::Media,newM) HXARGC(1)
+ bool _hx_run( ::borogove::calls::Media m){
+ HX_STACKFRAME(&_hx_pos_eabdb73125e41d9c_161_addContent)
HXLINE( 161) return (m->mid == newM->mid);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 160) ::snikket::jingle::Media newM = _g1->__get(_g).StaticCast< ::snikket::jingle::Media >();
+HXLINE( 160) ::borogove::calls::Media newM = _g1->__get(_g).StaticCast< ::borogove::calls::Media >();
HXDLIN( 160) _g = (_g + 1);
HXLINE( 161) if (::hx::IsNotNull( ::Lambda_obj::find(this->media, ::Dynamic(new _hx_Closure_0(newM))) )) {
HXLINE( 162) HX_STACK_DO_THROW(((HX_("Media with id ",a7,bb,c2,d4) + newM->mid) + HX_(" already exists!",1d,5a,ba,6a)));
@@ -248,40 +245,39 @@ HXLINE( 162) HX_STACK_DO_THROW(((HX_("Media with id ",a7,bb,c2,d4) + newM->m
HXLINE( 166) int _hx_tmp = this->version;
HXLINE( 167) ::String _hx_tmp1 = this->name;
HXLINE( 168) ::Array< ::Dynamic> _hx_tmp2 = this->media->concat(newDescription->media);
-HXLINE( 169) ::Array< ::Dynamic> _g2 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 169) ::Array< ::Dynamic> _this = this->attributes;
+HXDLIN( 169) ::Array< ::Dynamic> _g2 = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 169) {
HXLINE( 169) int _g3 = 0;
-HXDLIN( 169) ::Array< ::Dynamic> _g4 = this->attributes;
-HXDLIN( 169) while((_g3 < _g4->length)){
-HXLINE( 169) ::snikket::jingle::Attribute v = _g4->__get(_g3).StaticCast< ::snikket::jingle::Attribute >();
+HXDLIN( 169) while((_g3 < _this->length)){
+HXLINE( 169) ::borogove::calls::Attribute v = _this->__get(_g3).StaticCast< ::borogove::calls::Attribute >();
HXDLIN( 169) _g3 = (_g3 + 1);
HXDLIN( 169) if ((v->key != HX_("group",3f,b3,f4,99))) {
HXLINE( 169) _g2->push(v);
}
}
}
-HXDLIN( 169) ::Array< ::Dynamic> _hx_tmp3 = _g2;
-HXDLIN( 169) ::Array< ::Dynamic> _g5 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 169) ::Array< ::Dynamic> _this1 = newDescription->attributes;
+HXDLIN( 169) ::Array< ::Dynamic> _g4 = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 169) {
-HXLINE( 169) int _g6 = 0;
-HXDLIN( 169) ::Array< ::Dynamic> _g7 = newDescription->attributes;
-HXDLIN( 169) while((_g6 < _g7->length)){
-HXLINE( 169) ::snikket::jingle::Attribute v1 = _g7->__get(_g6).StaticCast< ::snikket::jingle::Attribute >();
-HXDLIN( 169) _g6 = (_g6 + 1);
+HXLINE( 169) int _g5 = 0;
+HXDLIN( 169) while((_g5 < _this1->length)){
+HXLINE( 169) ::borogove::calls::Attribute v1 = _this1->__get(_g5).StaticCast< ::borogove::calls::Attribute >();
+HXDLIN( 169) _g5 = (_g5 + 1);
HXDLIN( 169) if ((v1->key == HX_("group",3f,b3,f4,99))) {
-HXLINE( 169) _g5->push(v1);
+HXLINE( 169) _g4->push(v1);
}
}
}
-HXDLIN( 169) ::Array< ::Dynamic> _hx_tmp4 = _hx_tmp3->concat(_g5);
-HXLINE( 165) return ::snikket::jingle::SessionDescription_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,_hx_tmp2,_hx_tmp4,newDescription->identificationTags);
+HXDLIN( 169) ::Array< ::Dynamic> _hx_tmp3 = _g2->concat(_g4);
+HXLINE( 165) return ::borogove::calls::SessionDescription_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,_hx_tmp2,_hx_tmp3,newDescription->identificationTags);
}
HX_DEFINE_DYNAMIC_FUNC1(SessionDescription_obj,addContent,return )
::String SessionDescription_obj::toSdp(){
- HX_STACKFRAME(&_hx_pos_afe8c32f000731b4_175_toSdp)
+ HX_STACKFRAME(&_hx_pos_eabdb73125e41d9c_175_toSdp)
HXLINE( 176) ::String _hx_tmp = (((((((HX_("v=",07,67,00,00) + this->version) + HX_("\r\n",5d,0b,00,00)) + HX_("o=- 8770656990916039506 2 IN IP4 127.0.0.1\r\n",49,b1,52,5e)) + HX_("s=",6a,64,00,00)) + this->name) + HX_("\r\n",5d,0b,00,00)) + HX_("t=0 0\r\n",b4,f5,05,f4));
HXLINE( 180) ::Array< ::Dynamic> _this = this->attributes;
HXDLIN( 180) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
@@ -292,7 +288,7 @@ HXDLIN( 180) while((_g < _g1)){
HXLINE( 180) _g = (_g + 1);
HXDLIN( 180) int i = (_g - 1);
HXDLIN( 180) {
-HXLINE( 180) ::String inValue = ( ( ::snikket::jingle::Attribute)(_hx_array_unsafe_get(_this,i)) )->toSdp();
+HXLINE( 180) ::String inValue = ( ( ::borogove::calls::Attribute)(_hx_array_unsafe_get(_this,i)) )->toSdp();
HXDLIN( 180) result->__unsafe_set(i,inValue);
}
}
@@ -307,7 +303,7 @@ HXDLIN( 181) while((_g2 < _g3)){
HXLINE( 181) _g2 = (_g2 + 1);
HXDLIN( 181) int i1 = (_g2 - 1);
HXDLIN( 181) {
-HXLINE( 181) ::String inValue1 = ( ( ::snikket::jingle::Media)(_hx_array_unsafe_get(_this1,i1)) )->toSdp();
+HXLINE( 181) ::String inValue1 = ( ( ::borogove::calls::Media)(_hx_array_unsafe_get(_this1,i1)) )->toSdp();
HXDLIN( 181) result1->__unsafe_set(i1,inValue1);
}
}
@@ -318,30 +314,30 @@ HXLINE( 175) return (_hx_tmp1 + result1->join(HX_("",00,00,00,00)));
HX_DEFINE_DYNAMIC_FUNC0(SessionDescription_obj,toSdp,return )
- ::snikket::Stanza SessionDescription_obj::toStanza(::String action,::String sid,bool initiator){
+ ::borogove::Stanza SessionDescription_obj::toStanza(::String action,::String sid,bool initiator){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_afe8c32f000731b4_187_toStanza)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_GC_STACKFRAME(&_hx_pos_eabdb73125e41d9c_187_toStanza)
HXLINE( 187) return (attr->key == HX_("group",3f,b3,f4,99));
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_afe8c32f000731b4_184_toStanza)
-HXLINE( 185) ::snikket::Stanza iq = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ 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))));
-HXLINE( 186) ::snikket::Stanza jingle = iq->tag(HX_("jingle",31,27,eb,1f), ::Dynamic(::hx::Anon_obj::Create(3)
+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))));
-HXLINE( 187) ::snikket::jingle::Attribute group = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(this->attributes, ::Dynamic(new _hx_Closure_0()))) );
+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(::snikket::jingle::Group_obj::parse(group->value)->toElement());
+HXLINE( 189) jingle->addChild(::borogove::calls::Group_obj::parse(group->value)->toElement());
}
HXLINE( 191) {
HXLINE( 191) int _g = 0;
HXDLIN( 191) ::Array< ::Dynamic> _g1 = this->media;
HXDLIN( 191) while((_g < _g1->length)){
-HXLINE( 191) ::snikket::jingle::Media m = _g1->__get(_g).StaticCast< ::snikket::jingle::Media >();
+HXLINE( 191) ::borogove::calls::Media m = _g1->__get(_g).StaticCast< ::borogove::calls::Media >();
HXDLIN( 191) _g = (_g + 1);
HXLINE( 192) jingle->addChild(m->toElement(this->attributes,initiator));
}
@@ -353,15 +349,15 @@ HXLINE( 195) return iq;
HX_DEFINE_DYNAMIC_FUNC3(SessionDescription_obj,toStanza,return )
- ::snikket::jingle::SessionDescription SessionDescription_obj::parse(::String input){
+ ::borogove::calls::SessionDescription SessionDescription_obj::parse(::String input){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_afe8c32f000731b4_89_parse)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_GC_STACKFRAME(&_hx_pos_eabdb73125e41d9c_89_parse)
HXLINE( 89) return (attr->key == HX_("group",3f,b3,f4,99));
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_afe8c32f000731b4_21_parse)
+ HX_GC_STACKFRAME(&_hx_pos_eabdb73125e41d9c_21_parse)
HXLINE( 22) int version = 0;
HXLINE( 23) ::String name = HX_("-",2d,00,00,00);
HXLINE( 24) ::Array< ::Dynamic> attributes = ::Array_obj< ::Dynamic>::__new(0);
@@ -380,7 +376,7 @@ HXLINE( 31) continue;
HXLINE( 33) ::String value = line.substr(2,null());
HXLINE( 34) ::String _hx_switch_0 = line.charAt(0);
if ( (_hx_switch_0==HX_("a",61,00,00,00)) ){
-HXLINE( 40) currentAttributes->push(::snikket::jingle::Attribute_obj::parse(value));
+HXLINE( 40) currentAttributes->push(::borogove::calls::Attribute_obj::parse(value));
HXDLIN( 40) goto _hx_goto_23;
}
if ( (_hx_switch_0==HX_("c",63,00,00,00)) ){
@@ -395,13 +391,13 @@ HXLINE( 43) attributes = currentAttributes;
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_STACKFRAME(&_hx_pos_afe8c32f000731b4_45_parse)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_STACKFRAME(&_hx_pos_eabdb73125e41d9c_45_parse)
HXLINE( 45) return (attr->key == HX_("mid",88,11,53,00));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 45) ::snikket::jingle::Attribute mid = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(currentAttributes, ::Dynamic(new _hx_Closure_0()))) );
+HXLINE( 45) ::borogove::calls::Attribute mid = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(currentAttributes, ::Dynamic(new _hx_Closure_0()))) );
HXLINE( 47) ::String _hx_tmp;
HXDLIN( 47) if (::hx::IsNull( mid )) {
HXLINE( 47) _hx_tmp = null();
@@ -409,7 +405,7 @@ HXLINE( 47) _hx_tmp = null();
else {
HXLINE( 47) _hx_tmp = mid->value;
}
-HXLINE( 46) media->push( ::snikket::jingle::Media_obj::__alloc( HX_CTX ,_hx_tmp,( (::String)(currentMedia->__Field(HX_("media",e4,04,bc,05),::hx::paccDynamic)) ),( (::String)(currentMedia->__Field(HX_("connectionData",68,89,24,76),::hx::paccDynamic)) ),( (::String)(currentMedia->__Field(HX_("port",81,83,5c,4a),::hx::paccDynamic)) ),( (::String)(currentMedia->__Field(HX_("protocol",58,56,63,00),::hx::paccDynamic)) ),currentAttributes,( (::Array< int >)(currentMedia->__Field(HX_("formats",5c,c1,2e,df),::hx::paccDynamic)) )));
+HXLINE( 46) media->push( ::borogove::calls::Media_obj::__alloc( HX_CTX ,_hx_tmp,( (::String)(currentMedia->__Field(HX_("media",e4,04,bc,05),::hx::paccDynamic)) ),( (::String)(currentMedia->__Field(HX_("connectionData",68,89,24,76),::hx::paccDynamic)) ),( (::String)(currentMedia->__Field(HX_("port",81,83,5c,4a),::hx::paccDynamic)) ),( (::String)(currentMedia->__Field(HX_("protocol",58,56,63,00),::hx::paccDynamic)) ),currentAttributes,( (::Array< int >)(currentMedia->__Field(HX_("formats",5c,c1,2e,df),::hx::paccDynamic)) )));
}
HXLINE( 56) currentAttributes = ::Array_obj< ::Dynamic>::__new(0);
HXLINE( 57) ::Array< ::String > segments = value.split(HX_(" ",20,00,00,00));
@@ -455,13 +451,13 @@ HXDLIN( 36) goto _hx_goto_23;
}
HXLINE( 73) if (::hx::IsNotNull( currentMedia )) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_afe8c32f000731b4_74_parse)
+ bool _hx_run( ::borogove::calls::Attribute attr){
+ HX_GC_STACKFRAME(&_hx_pos_eabdb73125e41d9c_74_parse)
HXLINE( 74) return (attr->key == HX_("mid",88,11,53,00));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 74) ::snikket::jingle::Attribute mid1 = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(currentAttributes, ::Dynamic(new _hx_Closure_1()))) );
+HXLINE( 74) ::borogove::calls::Attribute mid1 = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(currentAttributes, ::Dynamic(new _hx_Closure_1()))) );
HXLINE( 76) ::String _hx_tmp1;
HXDLIN( 76) if (::hx::IsNull( mid1 )) {
HXLINE( 76) _hx_tmp1 = null();
@@ -469,15 +465,15 @@ HXLINE( 76) _hx_tmp1 = null();
else {
HXLINE( 76) _hx_tmp1 = mid1->value;
}
-HXLINE( 75) media->push( ::snikket::jingle::Media_obj::__alloc( HX_CTX ,_hx_tmp1,( (::String)(currentMedia->__Field(HX_("media",e4,04,bc,05),::hx::paccDynamic)) ),( (::String)(currentMedia->__Field(HX_("connectionData",68,89,24,76),::hx::paccDynamic)) ),( (::String)(currentMedia->__Field(HX_("port",81,83,5c,4a),::hx::paccDynamic)) ),( (::String)(currentMedia->__Field(HX_("protocol",58,56,63,00),::hx::paccDynamic)) ),currentAttributes,( (::Array< int >)(currentMedia->__Field(HX_("formats",5c,c1,2e,df),::hx::paccDynamic)) )));
+HXLINE( 75) media->push( ::borogove::calls::Media_obj::__alloc( HX_CTX ,_hx_tmp1,( (::String)(currentMedia->__Field(HX_("media",e4,04,bc,05),::hx::paccDynamic)) ),( (::String)(currentMedia->__Field(HX_("connectionData",68,89,24,76),::hx::paccDynamic)) ),( (::String)(currentMedia->__Field(HX_("port",81,83,5c,4a),::hx::paccDynamic)) ),( (::String)(currentMedia->__Field(HX_("protocol",58,56,63,00),::hx::paccDynamic)) ),currentAttributes,( (::Array< int >)(currentMedia->__Field(HX_("formats",5c,c1,2e,df),::hx::paccDynamic)) )));
}
else {
HXLINE( 85) attributes = currentAttributes;
}
HXLINE( 88) ::Array< ::String > tags;
-HXLINE( 89) ::snikket::jingle::Attribute group = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(attributes, ::Dynamic(new _hx_Closure_2()))) );
+HXLINE( 89) ::borogove::calls::Attribute group = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(attributes, ::Dynamic(new _hx_Closure_2()))) );
HXLINE( 90) if (::hx::IsNotNull( group )) {
-HXLINE( 91) tags = ::snikket::jingle::Group_obj::parse(group->value)->identificationTags;
+HXLINE( 91) tags = ::borogove::calls::Group_obj::parse(group->value)->identificationTags;
}
else {
HXLINE( 93) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(media->length);
@@ -488,24 +484,24 @@ HXDLIN( 93) while((_g4 < _g5)){
HXLINE( 93) _g4 = (_g4 + 1);
HXDLIN( 93) int i1 = (_g4 - 1);
HXDLIN( 93) {
-HXLINE( 93) ::String inValue1 = ( ( ::snikket::jingle::Media)(_hx_array_unsafe_get(media,i1)) )->mid;
+HXLINE( 93) ::String inValue1 = ( ( ::borogove::calls::Media)(_hx_array_unsafe_get(media,i1)) )->mid;
HXDLIN( 93) result1->__unsafe_set(i1,inValue1);
}
}
}
HXDLIN( 93) tags = result1;
}
-HXLINE( 96) return ::snikket::jingle::SessionDescription_obj::__alloc( HX_CTX ,version,name,media,attributes,tags);
+HXLINE( 96) return ::borogove::calls::SessionDescription_obj::__alloc( HX_CTX ,version,name,media,attributes,tags);
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(SessionDescription_obj,parse,return )
- ::snikket::jingle::SessionDescription SessionDescription_obj::fromStanza( ::snikket::Stanza iq,bool initiator, ::snikket::jingle::SessionDescription existingDescription){
- HX_GC_STACKFRAME(&_hx_pos_afe8c32f000731b4_99_fromStanza)
+ ::borogove::calls::SessionDescription SessionDescription_obj::fromStanza( ::borogove::Stanza iq,bool initiator, ::borogove::calls::SessionDescription existingDescription){
+ HX_GC_STACKFRAME(&_hx_pos_eabdb73125e41d9c_99_fromStanza)
HXLINE( 100) ::Array< ::Dynamic> attributes = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 101) ::snikket::Stanza jingle = iq->getChild(HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7));
-HXLINE( 102) ::snikket::Stanza group = jingle->getChild(HX_("group",3f,b3,f4,99),HX_("urn:xmpp:jingle:apps:grouping:0",14,f9,f4,ed));
+HXLINE( 101) ::borogove::Stanza jingle = iq->getChild(HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7));
+HXLINE( 102) ::borogove::Stanza group = jingle->getChild(HX_("group",3f,b3,f4,99),HX_("urn:xmpp:jingle:apps:grouping:0",14,f9,f4,ed));
HXLINE( 103) ::Array< ::Dynamic> _this = jingle->allTags(HX_("content",39,8d,77,19),null());
HXDLIN( 103) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
HXDLIN( 103) {
@@ -515,36 +511,35 @@ HXDLIN( 103) while((_g < _g1)){
HXLINE( 103) _g = (_g + 1);
HXDLIN( 103) int i = (_g - 1);
HXDLIN( 103) {
-HXLINE( 103) ::snikket::jingle::Media inValue = ::snikket::jingle::Media_obj::fromElement(( ( ::snikket::Stanza)(_hx_array_unsafe_get(_this,i)) ),initiator,::hx::IsNotNull( group ),existingDescription);
+HXLINE( 103) ::borogove::calls::Media inValue = ::borogove::calls::Media_obj::fromElement(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) ),initiator,::hx::IsNotNull( group ),existingDescription);
HXDLIN( 103) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 103) ::Array< ::Dynamic> media = result;
HXLINE( 105) ::Array< ::String > tags;
HXLINE( 106) if (::hx::IsNotNull( group )) {
-HXLINE( 107) ::snikket::jingle::Group group1 = ::snikket::jingle::Group_obj::fromElement(group);
-HXLINE( 108) attributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("group",3f,b3,f4,99),group1->toSdp()));
+HXLINE( 107) ::borogove::calls::Group group1 = ::borogove::calls::Group_obj::fromElement(group);
+HXLINE( 108) attributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("group",3f,b3,f4,99),group1->toSdp()));
HXLINE( 109) tags = group1->identificationTags;
}
else {
-HXLINE( 111) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(media->length);
+HXLINE( 111) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(result->length);
HXDLIN( 111) {
HXLINE( 111) int _g2 = 0;
-HXDLIN( 111) int _g3 = media->length;
+HXDLIN( 111) int _g3 = result->length;
HXDLIN( 111) while((_g2 < _g3)){
HXLINE( 111) _g2 = (_g2 + 1);
HXDLIN( 111) int i1 = (_g2 - 1);
HXDLIN( 111) {
-HXLINE( 111) ::String inValue1 = ( ( ::snikket::jingle::Media)(_hx_array_unsafe_get(media,i1)) )->mid;
+HXLINE( 111) ::String inValue1 = ( ( ::borogove::calls::Media)(_hx_array_unsafe_get(result,i1)) )->mid;
HXDLIN( 111) result1->__unsafe_set(i1,inValue1);
}
}
}
HXDLIN( 111) tags = result1;
}
-HXLINE( 113) attributes->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("msid-semantic",52,85,27,1a),HX_("WMS my-media-stream",27,86,65,d5)));
-HXLINE( 115) return ::snikket::jingle::SessionDescription_obj::__alloc( HX_CTX ,0,HX_("-",2d,00,00,00),media,attributes,tags);
+HXLINE( 113) attributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("msid-semantic",52,85,27,1a),HX_("WMS my-media-stream",27,86,65,d5)));
+HXLINE( 115) return ::borogove::calls::SessionDescription_obj::__alloc( HX_CTX ,0,HX_("-",2d,00,00,00),result,attributes,tags);
}
@@ -558,7 +553,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC3(SessionDescription_obj,fromStanza,return )
}
::hx::ObjectPtr< SessionDescription_obj > SessionDescription_obj::__alloc(::hx::Ctx *_hx_ctx,int version,::String name,::Array< ::Dynamic> media,::Array< ::Dynamic> attributes,::Array< ::String > identificationTags) {
- SessionDescription_obj *__this = (SessionDescription_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(SessionDescription_obj), true, "snikket.jingle.SessionDescription"));
+ SessionDescription_obj *__this = (SessionDescription_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(SessionDescription_obj), true, "borogove.calls.SessionDescription"));
*(void **)__this = SessionDescription_obj::_hx_vtable;
__this->__construct(version,name,media,attributes,identificationTags);
return __this;
@@ -705,7 +700,7 @@ void SessionDescription_obj::__register()
SessionDescription_obj _hx_dummy;
SessionDescription_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.SessionDescription",52,47,23,48);
+ __mClass->mName = HX_("borogove.calls.SessionDescription",0c,61,d5,18);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -723,5 +718,5 @@ void SessionDescription_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_snikket/src/snikket/jingle/TransportInfo.cpp b/Sources/c_borogove/src/borogove/calls/TransportInfo.cpp
similarity index 68%
rename from Sources/c_snikket/src/snikket/jingle/TransportInfo.cpp
rename to Sources/c_borogove/src/borogove/calls/TransportInfo.cpp
index aa4b1f0..bfc00d5 100644
--- a/Sources/c_snikket/src/snikket/jingle/TransportInfo.cpp
+++ b/Sources/c_borogove/src/borogove/calls/TransportInfo.cpp
@@ -1,29 +1,26 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_calls_Attribute
+#include <borogove/calls/Attribute.h>
#endif
-#ifndef INCLUDED_snikket_jingle_Attribute
-#include <snikket/jingle/Attribute.h>
+#ifndef INCLUDED_borogove_calls_Media
+#include <borogove/calls/Media.h>
#endif
-#ifndef INCLUDED_snikket_jingle_Media
-#include <snikket/jingle/Media.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_TransportInfo
-#include <snikket/jingle/TransportInfo.h>
+#ifndef INCLUDED_borogove_calls_TransportInfo
+#include <borogove/calls/TransportInfo.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_2f4cd1362b4c5e4a_203_new,"snikket.jingle.TransportInfo","new",0xbd55809d,"snikket.jingle.TransportInfo.new","snikket/jingle/SessionDescription.hx",203,0x68af748c)
-HX_LOCAL_STACK_FRAME(_hx_pos_2f4cd1362b4c5e4a_208_toStanza,"snikket.jingle.TransportInfo","toStanza",0xdfdb5873,"snikket.jingle.TransportInfo.toStanza","snikket/jingle/SessionDescription.hx",208,0x68af748c)
-namespace snikket{
-namespace jingle{
+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)
+namespace borogove{
+namespace calls{
-void TransportInfo_obj::__construct( ::snikket::jingle::Media media,::String sid){
- HX_STACKFRAME(&_hx_pos_2f4cd1362b4c5e4a_203_new)
+void TransportInfo_obj::__construct( ::borogove::calls::Media media,::String sid){
+ HX_STACKFRAME(&_hx_pos_0546eaa51ac16424_203_new)
HXLINE( 204) this->media = media;
HXLINE( 205) this->sid = sid;
}
@@ -40,18 +37,18 @@ Dynamic TransportInfo_obj::__Create(::hx::DynamicArray inArgs)
}
bool TransportInfo_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x4c85e215;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x327e54c3;
}
- ::snikket::Stanza TransportInfo_obj::toStanza(bool initiator){
- HX_GC_STACKFRAME(&_hx_pos_2f4cd1362b4c5e4a_208_toStanza)
-HXLINE( 209) ::snikket::Stanza iq = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ::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))));
-HXLINE( 210) ::snikket::Stanza jingle = iq->tag(HX_("jingle",31,27,eb,1f), ::Dynamic(::hx::Anon_obj::Create(3)
+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))));
-HXLINE( 211) ::snikket::Stanza _hx_tmp = this->media->contentElement(initiator);
+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();
HXLINE( 213) return iq;
@@ -61,14 +58,14 @@ HXLINE( 213) return iq;
HX_DEFINE_DYNAMIC_FUNC1(TransportInfo_obj,toStanza,return )
-::hx::ObjectPtr< TransportInfo_obj > TransportInfo_obj::__new( ::snikket::jingle::Media media,::String sid) {
+::hx::ObjectPtr< TransportInfo_obj > TransportInfo_obj::__new( ::borogove::calls::Media media,::String sid) {
::hx::ObjectPtr< TransportInfo_obj > __this = new TransportInfo_obj();
__this->__construct(media,sid);
return __this;
}
-::hx::ObjectPtr< TransportInfo_obj > TransportInfo_obj::__alloc(::hx::Ctx *_hx_ctx, ::snikket::jingle::Media media,::String sid) {
- TransportInfo_obj *__this = (TransportInfo_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(TransportInfo_obj), true, "snikket.jingle.TransportInfo"));
+::hx::ObjectPtr< TransportInfo_obj > TransportInfo_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::calls::Media media,::String sid) {
+ TransportInfo_obj *__this = (TransportInfo_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(TransportInfo_obj), true, "borogove.calls.TransportInfo"));
*(void **)__this = TransportInfo_obj::_hx_vtable;
__this->__construct(media,sid);
return __this;
@@ -114,7 +111,7 @@ void TransportInfo_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"sid") ) { sid=inValue.Cast< ::String >(); return inValue; }
break;
case 5:
- if (HX_FIELD_EQ(inName,"media") ) { media=inValue.Cast< ::snikket::jingle::Media >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"media") ) { media=inValue.Cast< ::borogove::calls::Media >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -128,7 +125,7 @@ void TransportInfo_obj::__GetFields(Array< ::String> &outFields)
#ifdef HXCPP_SCRIPTABLE
static ::hx::StorageInfo TransportInfo_obj_sMemberStorageInfo[] = {
- {::hx::fsObject /* ::snikket::jingle::Media */ ,(int)offsetof(TransportInfo_obj,media),HX_("media",e4,04,bc,05)},
+ {::hx::fsObject /* ::borogove::calls::Media */ ,(int)offsetof(TransportInfo_obj,media),HX_("media",e4,04,bc,05)},
{::hx::fsString,(int)offsetof(TransportInfo_obj,sid),HX_("sid",0e,9f,57,00)},
{ ::hx::fsUnknown, 0, null()}
};
@@ -148,7 +145,7 @@ void TransportInfo_obj::__register()
TransportInfo_obj _hx_dummy;
TransportInfo_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.TransportInfo",2b,ee,cf,6a);
+ __mClass->mName = HX_("borogove.calls.TransportInfo",b1,2e,08,da);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -166,5 +163,5 @@ void TransportInfo_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
diff --git a/Sources/c_snikket/src/snikket/jingle/_Session/Session_Fields_.cpp b/Sources/c_borogove/src/borogove/calls/_Session/Session_Fields_.cpp
similarity index 54%
rename from Sources/c_snikket/src/snikket/jingle/_Session/Session_Fields_.cpp
rename to Sources/c_borogove/src/borogove/calls/_Session/Session_Fields_.cpp
index ec83eeb..7b222bd 100644
--- a/Sources/c_snikket/src/snikket/jingle/_Session/Session_Fields_.cpp
+++ b/Sources/c_borogove/src/borogove/calls/_Session/Session_Fields_.cpp
@@ -7,34 +7,31 @@
#ifndef INCLUDED_Reflect
#include <Reflect.h>
#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
#endif
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#include <snikket/ChatMessageBuilder.h>
+#ifndef INCLUDED_borogove_ChatMessageBuilder
+#include <borogove/ChatMessageBuilder.h>
#endif
-#ifndef INCLUDED_snikket_Date
-#include <snikket/Date.h>
+#ifndef INCLUDED_borogove_Date
+#include <borogove/Date.h>
#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket_jingle__Session_Session_Fields_
-#include <snikket/jingle/_Session/Session_Fields_.h>
+#ifndef INCLUDED_borogove_calls__Session_Session_Fields_
+#include <borogove/calls/_Session/Session_Fields_.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_02df9d92159f3aa0_50_mkCallMessage,"snikket.jingle._Session.Session_Fields_","mkCallMessage",0x268ca02f,"snikket.jingle._Session.Session_Fields_.mkCallMessage","snikket/jingle/Session.hx",50,0x6db2dd54)
-namespace snikket{
-namespace jingle{
+HX_LOCAL_STACK_FRAME(_hx_pos_d89d9de038d31b1d_53_mkCallMessage,"borogove.calls._Session.Session_Fields_","mkCallMessage",0x0fc9b2e9,"borogove.calls._Session.Session_Fields_.mkCallMessage","borogove/calls/Session.hx",53,0x33a79030)
+namespace borogove{
+namespace calls{
namespace _Session{
void Session_Fields__obj::__construct() { }
@@ -51,28 +48,28 @@ Dynamic Session_Fields__obj::__Create(::hx::DynamicArray inArgs)
}
bool Session_Fields__obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x4b7e6858;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2e838196;
}
- ::snikket::ChatMessage Session_Fields__obj::mkCallMessage( ::snikket::JID to, ::snikket::JID from, ::snikket::Stanza event){
- HX_GC_STACKFRAME(&_hx_pos_02df9d92159f3aa0_50_mkCallMessage)
-HXLINE( 51) ::snikket::ChatMessageBuilder m = ::snikket::ChatMessageBuilder_obj::__alloc( HX_CTX );
-HXLINE( 52) m->type = 1;
-HXLINE( 53) m->to = to;
-HXLINE( 54) m->recipients = ::Array_obj< ::Dynamic>::__new(1)->init(0,to->asBare());
-HXLINE( 55) m->from = from;
-HXLINE( 56) m->sender = m->from->asBare();
-HXLINE( 57) m->replyTo = ::Array_obj< ::Dynamic>::__new(1)->init(0,m->sender);
-HXLINE( 58) m->direction = 1;
-HXLINE( 59) m->text = (HX_("call ",c2,71,1b,41) + event->name);
-HXLINE( 60) m->timestamp = ::snikket::Date_obj::format(::Date_obj::now());
-HXLINE( 61) m->payloads->push(event);
-HXLINE( 62) m->localId = ::snikket::ID_obj::_hx_long();
-HXLINE( 63) if ((event->name != HX_("propose",fe,fe,e9,f9))) {
-HXLINE( 64) m->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,m->build());
+ ::borogove::ChatMessage Session_Fields__obj::mkCallMessage( ::borogove::JID to, ::borogove::JID from, ::borogove::Stanza event){
+ HX_GC_STACKFRAME(&_hx_pos_d89d9de038d31b1d_53_mkCallMessage)
+HXLINE( 54) ::borogove::ChatMessageBuilder m = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
+HXLINE( 55) m->type = 1;
+HXLINE( 56) m->to = to;
+HXLINE( 57) m->recipients = ::Array_obj< ::Dynamic>::__new(1)->init(0,to->asBare());
+HXLINE( 58) m->from = from;
+HXLINE( 59) m->sender = m->from->asBare();
+HXLINE( 60) m->replyTo = ::Array_obj< ::Dynamic>::__new(1)->init(0,m->sender);
+HXLINE( 61) m->direction = 1;
+HXLINE( 62) m->text = (HX_("call ",c2,71,1b,41) + event->name);
+HXLINE( 63) m->timestamp = ::borogove::Date_obj::format(::Date_obj::now());
+HXLINE( 64) m->payloads->push(event);
+HXLINE( 65) m->localId = ::borogove::ID_obj::_hx_long();
+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( 66) m->localId = ( (::String)(::Reflect_obj::field(event->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 67) return m->build();
+HXLINE( 69) m->localId = ( (::String)(::Reflect_obj::field(event->attr,HX_("id",db,5b,00,00))) );
+HXLINE( 70) return m->build();
}
@@ -109,7 +106,7 @@ void Session_Fields__obj::__register()
Session_Fields__obj _hx_dummy;
Session_Fields__obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle._Session.Session_Fields_",92,bb,4c,2e);
+ __mClass->mName = HX_("borogove.calls._Session.Session_Fields_",cc,dc,af,5f);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -127,6 +124,6 @@ void Session_Fields__obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
-} // end namespace jingle
+} // end namespace borogove
+} // end namespace calls
} // end namespace _Session
diff --git a/Sources/c_borogove/src/borogove/persistence/.Sqlite.cpp.swp b/Sources/c_borogove/src/borogove/persistence/.Sqlite.cpp.swp
new file mode 100644
index 0000000..ced7830
Binary files /dev/null and b/Sources/c_borogove/src/borogove/persistence/.Sqlite.cpp.swp differ
diff --git a/Sources/c_borogove/src/borogove/persistence/Dummy.cpp b/Sources/c_borogove/src/borogove/persistence/Dummy.cpp
new file mode 100644
index 0000000..79a627f
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/persistence/Dummy.cpp
@@ -0,0 +1,509 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_Caps
+#include <borogove/Caps.h>
+#endif
+#ifndef INCLUDED_borogove_Chat
+#include <borogove/Chat.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
+#endif
+#ifndef INCLUDED_borogove_Persistence
+#include <borogove/Persistence.h>
+#endif
+#ifndef INCLUDED_borogove_ReactionUpdate
+#include <borogove/ReactionUpdate.h>
+#endif
+#ifndef INCLUDED_borogove_SerializedChat
+#include <borogove/SerializedChat.h>
+#endif
+#ifndef INCLUDED_borogove_persistence_Dummy
+#include <borogove/persistence/Dummy.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_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_lastId,"borogove.persistence.Dummy","lastId",0xf55dc8d3,"borogove.persistence.Dummy.lastId","borogove/persistence/Dummy.hx",34,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_38_storeChats,"borogove.persistence.Dummy","storeChats",0x323ab0fc,"borogove.persistence.Dummy.storeChats","borogove/persistence/Dummy.hx",38,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_42_getChats,"borogove.persistence.Dummy","getChats",0x2b8e2fa7,"borogove.persistence.Dummy.getChats","borogove/persistence/Dummy.hx",42,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_47_storeMessages,"borogove.persistence.Dummy","storeMessages",0xbccbb90b,"borogove.persistence.Dummy.storeMessages","borogove/persistence/Dummy.hx",47,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_51_updateMessage,"borogove.persistence.Dummy","updateMessage",0x388d61fc,"borogove.persistence.Dummy.updateMessage","borogove/persistence/Dummy.hx",51,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_56_getMessage,"borogove.persistence.Dummy","getMessage",0x987b21d3,"borogove.persistence.Dummy.getMessage","borogove/persistence/Dummy.hx",56,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_61_getMessagesBefore,"borogove.persistence.Dummy","getMessagesBefore",0x5f1a2fdf,"borogove.persistence.Dummy.getMessagesBefore","borogove/persistence/Dummy.hx",61,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_66_getMessagesAfter,"borogove.persistence.Dummy","getMessagesAfter",0xdd1516bc,"borogove.persistence.Dummy.getMessagesAfter","borogove/persistence/Dummy.hx",66,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_71_getMessagesAround,"borogove.persistence.Dummy","getMessagesAround",0x7aebd3ad,"borogove.persistence.Dummy.getMessagesAround","borogove/persistence/Dummy.hx",71,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_76_getChatsUnreadDetails,"borogove.persistence.Dummy","getChatsUnreadDetails",0x6c7f0a2c,"borogove.persistence.Dummy.getChatsUnreadDetails","borogove/persistence/Dummy.hx",76,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_81_storeReaction,"borogove.persistence.Dummy","storeReaction",0x7e82c7e8,"borogove.persistence.Dummy.storeReaction","borogove/persistence/Dummy.hx",81,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_86_updateMessageStatus,"borogove.persistence.Dummy","updateMessageStatus",0x6bfd624e,"borogove.persistence.Dummy.updateMessageStatus","borogove/persistence/Dummy.hx",86,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_91_hasMedia,"borogove.persistence.Dummy","hasMedia",0x1817d0ac,"borogove.persistence.Dummy.hasMedia","borogove/persistence/Dummy.hx",91,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_96_storeMedia,"borogove.persistence.Dummy","storeMedia",0xf2431745,"borogove.persistence.Dummy.storeMedia","borogove/persistence/Dummy.hx",96,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_100_removeMedia,"borogove.persistence.Dummy","removeMedia",0x7c40bdbe,"borogove.persistence.Dummy.removeMedia","borogove/persistence/Dummy.hx",100,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_104_storeCaps,"borogove.persistence.Dummy","storeCaps",0x5ae530e0,"borogove.persistence.Dummy.storeCaps","borogove/persistence/Dummy.hx",104,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_108_getCaps,"borogove.persistence.Dummy","getCaps",0xf9497095,"borogove.persistence.Dummy.getCaps","borogove/persistence/Dummy.hx",108,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_112_storeLogin,"borogove.persistence.Dummy","storeLogin",0x657aebca,"borogove.persistence.Dummy.storeLogin","borogove/persistence/Dummy.hx",112,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_116_getLogin,"borogove.persistence.Dummy","getLogin",0x5ece6a75,"borogove.persistence.Dummy.getLogin","borogove/persistence/Dummy.hx",116,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_120_removeAccount,"borogove.persistence.Dummy","removeAccount",0x4d222007,"borogove.persistence.Dummy.removeAccount","borogove/persistence/Dummy.hx",120,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_124_listAccounts,"borogove.persistence.Dummy","listAccounts",0xc457ec26,"borogove.persistence.Dummy.listAccounts","borogove/persistence/Dummy.hx",124,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_128_storeStreamManagement,"borogove.persistence.Dummy","storeStreamManagement",0x74dc5262,"borogove.persistence.Dummy.storeStreamManagement","borogove/persistence/Dummy.hx",128,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_132_getStreamManagement,"borogove.persistence.Dummy","getStreamManagement",0xc93bcd97,"borogove.persistence.Dummy.getStreamManagement","borogove/persistence/Dummy.hx",132,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_136_storeService,"borogove.persistence.Dummy","storeService",0x6c6648d6,"borogove.persistence.Dummy.storeService","borogove/persistence/Dummy.hx",136,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_140_findServicesWithFeature,"borogove.persistence.Dummy","findServicesWithFeature",0x6b47cf57,"borogove.persistence.Dummy.findServicesWithFeature","borogove/persistence/Dummy.hx",140,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{
+
+void Dummy_obj::__construct(){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_30_new)
+ }
+
+Dynamic Dummy_obj::__CreateEmpty() { return new Dummy_obj; }
+
+void *Dummy_obj::_hx_vtable = 0;
+
+Dynamic Dummy_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Dummy_obj > _hx_result = new Dummy_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Dummy_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x79df30ea;
+}
+
+static ::borogove::Persistence_obj _hx_borogove_persistence_Dummy__hx_borogove_Persistence= {
+ ( ::Dynamic (::hx::Object::*)(::String,::String))&::borogove::persistence::Dummy_obj::lastId,
+ ( void (::hx::Object::*)(::String,::Array< ::Dynamic>))&::borogove::persistence::Dummy_obj::storeChats,
+ ( ::Dynamic (::hx::Object::*)(::String))&::borogove::persistence::Dummy_obj::getChats,
+ ( ::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,
+ ( void (::hx::Object::*)(::String, ::borogove::ChatMessage))&::borogove::persistence::Dummy_obj::updateMessage,
+ ( ::Dynamic (::hx::Object::*)(::String,::String,int,::String))&::borogove::persistence::Dummy_obj::updateMessageStatus,
+ ( ::Dynamic (::hx::Object::*)(::String,::String,::String,::String))&::borogove::persistence::Dummy_obj::getMessage,
+ ( ::Dynamic (::hx::Object::*)(::String,::String,::String,::String))&::borogove::persistence::Dummy_obj::getMessagesBefore,
+ ( ::Dynamic (::hx::Object::*)(::String,::String,::String,::String))&::borogove::persistence::Dummy_obj::getMessagesAfter,
+ ( ::Dynamic (::hx::Object::*)(::String,::String,::String,::String))&::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,
+ ( void (::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,
+ ( void (::hx::Object::*)(::String,::String,::String,::String))&::borogove::persistence::Dummy_obj::storeLogin,
+ ( ::Dynamic (::hx::Object::*)(::String))&::borogove::persistence::Dummy_obj::getLogin,
+ ( void (::hx::Object::*)(::String,bool))&::borogove::persistence::Dummy_obj::removeAccount,
+ ( ::Dynamic (::hx::Object::*)())&::borogove::persistence::Dummy_obj::listAccounts,
+ ( void (::hx::Object::*)(::String,::Array< unsigned char >))&::borogove::persistence::Dummy_obj::storeStreamManagement,
+ ( ::Dynamic (::hx::Object::*)(::String))&::borogove::persistence::Dummy_obj::getStreamManagement,
+ ( void (::hx::Object::*)(::String,::String,::String,::String, ::borogove::Caps))&::borogove::persistence::Dummy_obj::storeService,
+ ( ::Dynamic (::hx::Object::*)(::String,::String))&::borogove::persistence::Dummy_obj::findServicesWithFeature,
+};
+
+void *Dummy_obj::_hx_getInterface(int inHash) {
+ switch(inHash) {
+ case (int)0xb8b304be: return &_hx_borogove_persistence_Dummy__hx_borogove_Persistence;
+ }
+ #ifdef HXCPP_SCRIPTABLE
+ return super::_hx_getInterface(inHash);
+ #else
+ return 0;
+ #endif
+}
+
+::Dynamic Dummy_obj::lastId(::String accountId,::String chatId){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_34_lastId)
+HXDLIN( 34) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,lastId,return )
+
+void Dummy_obj::storeChats(::String accountId,::Array< ::Dynamic> chat){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_38_storeChats)
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,storeChats,(void))
+
+::Dynamic Dummy_obj::getChats(::String accountId){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_42_getChats)
+HXDLIN( 42) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Dummy_obj,getChats,return )
+
+::Dynamic Dummy_obj::storeMessages(::String accountId,::Array< ::Dynamic> messages){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_47_storeMessages)
+HXDLIN( 47) 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_51_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_56_getMessage)
+HXDLIN( 56) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Dummy_obj,getMessage,return )
+
+::Dynamic Dummy_obj::getMessagesBefore(::String accountId,::String chatId,::String beforeId,::String beforeTime){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_61_getMessagesBefore)
+HXDLIN( 61) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Dummy_obj,getMessagesBefore,return )
+
+::Dynamic Dummy_obj::getMessagesAfter(::String accountId,::String chatId,::String afterId,::String afterTime){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_66_getMessagesAfter)
+HXDLIN( 66) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Dummy_obj,getMessagesAfter,return )
+
+::Dynamic Dummy_obj::getMessagesAround(::String accountId,::String chatId,::String aroundId,::String aroundTime){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_71_getMessagesAround)
+HXDLIN( 71) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Dummy_obj,getMessagesAround,return )
+
+::Dynamic Dummy_obj::getChatsUnreadDetails(::String accountId,::Array< ::Dynamic> chats){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_76_getChatsUnreadDetails)
+HXDLIN( 76) 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_81_storeReaction)
+HXDLIN( 81) 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_86_updateMessageStatus)
+HXDLIN( 86) 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_91_hasMedia)
+HXDLIN( 91) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,hasMedia,return )
+
+::Dynamic Dummy_obj::storeMedia(::String mime,::Array< unsigned char > bd){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_96_storeMedia)
+HXDLIN( 96) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,storeMedia,return )
+
+void Dummy_obj::removeMedia(::String hashAlgorithm,::Array< unsigned char > hash){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_100_removeMedia)
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,removeMedia,(void))
+
+void Dummy_obj::storeCaps( ::borogove::Caps caps){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_104_storeCaps)
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Dummy_obj,storeCaps,(void))
+
+::Dynamic Dummy_obj::getCaps(::String ver){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_108_getCaps)
+HXDLIN( 108) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Dummy_obj,getCaps,return )
+
+void Dummy_obj::storeLogin(::String login,::String clientId,::String displayName,::String token){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_112_storeLogin)
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Dummy_obj,storeLogin,(void))
+
+::Dynamic Dummy_obj::getLogin(::String login){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_116_getLogin)
+HXDLIN( 116) return ::thenshim::_Promise::Promise_Impl__obj::resolve( ::Dynamic(::hx::Anon_obj::Create(4)
+ ->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())));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Dummy_obj,getLogin,return )
+
+void Dummy_obj::removeAccount(::String accountId,bool completely){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_120_removeAccount)
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,removeAccount,(void))
+
+::Dynamic Dummy_obj::listAccounts(){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_124_listAccounts)
+HXDLIN( 124) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::String >::__new(0));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Dummy_obj,listAccounts,return )
+
+void Dummy_obj::storeStreamManagement(::String accountId,::Array< unsigned char > sm){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_128_storeStreamManagement)
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,storeStreamManagement,(void))
+
+::Dynamic Dummy_obj::getStreamManagement(::String accountId){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_132_getStreamManagement)
+HXDLIN( 132) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+
+
+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_136_storeService)
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC5(Dummy_obj,storeService,(void))
+
+::Dynamic Dummy_obj::findServicesWithFeature(::String accountId,::String feature){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_140_findServicesWithFeature)
+HXDLIN( 140) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,findServicesWithFeature,return )
+
+
+::hx::ObjectPtr< Dummy_obj > Dummy_obj::__new() {
+ ::hx::ObjectPtr< Dummy_obj > __this = new Dummy_obj();
+ __this->__construct();
+ return __this;
+}
+
+::hx::ObjectPtr< Dummy_obj > Dummy_obj::__alloc(::hx::Ctx *_hx_ctx) {
+ Dummy_obj *__this = (Dummy_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Dummy_obj), false, "borogove.persistence.Dummy"));
+ *(void **)__this = Dummy_obj::_hx_vtable;
+ __this->__construct();
+ return __this;
+}
+
+Dummy_obj::Dummy_obj()
+{
+}
+
+::hx::Val Dummy_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 6:
+ if (HX_FIELD_EQ(inName,"lastId") ) { return ::hx::Val( lastId_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"getCaps") ) { return ::hx::Val( getCaps_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"getChats") ) { return ::hx::Val( getChats_dyn() ); }
+ if (HX_FIELD_EQ(inName,"hasMedia") ) { return ::hx::Val( hasMedia_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getLogin") ) { return ::hx::Val( getLogin_dyn() ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"storeCaps") ) { return ::hx::Val( storeCaps_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"storeChats") ) { return ::hx::Val( storeChats_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getMessage") ) { return ::hx::Val( getMessage_dyn() ); }
+ if (HX_FIELD_EQ(inName,"storeMedia") ) { return ::hx::Val( storeMedia_dyn() ); }
+ if (HX_FIELD_EQ(inName,"storeLogin") ) { return ::hx::Val( storeLogin_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"removeMedia") ) { return ::hx::Val( removeMedia_dyn() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"listAccounts") ) { return ::hx::Val( listAccounts_dyn() ); }
+ if (HX_FIELD_EQ(inName,"storeService") ) { return ::hx::Val( storeService_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"storeMessages") ) { return ::hx::Val( storeMessages_dyn() ); }
+ if (HX_FIELD_EQ(inName,"updateMessage") ) { return ::hx::Val( updateMessage_dyn() ); }
+ if (HX_FIELD_EQ(inName,"storeReaction") ) { return ::hx::Val( storeReaction_dyn() ); }
+ if (HX_FIELD_EQ(inName,"removeAccount") ) { return ::hx::Val( removeAccount_dyn() ); }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"getMessagesAfter") ) { return ::hx::Val( getMessagesAfter_dyn() ); }
+ break;
+ case 17:
+ if (HX_FIELD_EQ(inName,"getMessagesBefore") ) { return ::hx::Val( getMessagesBefore_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getMessagesAround") ) { return ::hx::Val( getMessagesAround_dyn() ); }
+ break;
+ case 19:
+ if (HX_FIELD_EQ(inName,"updateMessageStatus") ) { return ::hx::Val( updateMessageStatus_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getStreamManagement") ) { return ::hx::Val( getStreamManagement_dyn() ); }
+ break;
+ case 21:
+ if (HX_FIELD_EQ(inName,"getChatsUnreadDetails") ) { return ::hx::Val( getChatsUnreadDetails_dyn() ); }
+ if (HX_FIELD_EQ(inName,"storeStreamManagement") ) { return ::hx::Val( storeStreamManagement_dyn() ); }
+ break;
+ case 23:
+ if (HX_FIELD_EQ(inName,"findServicesWithFeature") ) { return ::hx::Val( findServicesWithFeature_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *Dummy_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *Dummy_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Dummy_obj_sMemberFields[] = {
+ HX_("lastId",d1,0b,c5,54),
+ HX_("storeChats",fa,4a,32,83),
+ HX_("getChats",25,ae,8a,a5),
+ 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_("getChatsUnreadDetails",ee,d4,5a,85),
+ HX_("storeReaction",aa,00,75,ab),
+ HX_("updateMessageStatus",90,98,ad,0f),
+ HX_("hasMedia",2a,4f,14,92),
+ HX_("storeMedia",43,b1,3a,43),
+ HX_("removeMedia",00,e2,ef,03),
+ HX_("storeCaps",a2,60,d7,9d),
+ HX_("getCaps",d7,cb,3c,14),
+ HX_("storeLogin",c8,85,72,b6),
+ HX_("getLogin",f3,e8,ca,d8),
+ HX_("removeAccount",c9,58,14,7a),
+ HX_("listAccounts",a4,81,e8,f5),
+ HX_("storeStreamManagement",24,1d,b8,8d),
+ HX_("getStreamManagement",d9,03,ec,6c),
+ HX_("storeService",54,de,f6,9d),
+ HX_("findServicesWithFeature",99,4e,bd,4a),
+ ::String(null()) };
+
+::hx::Class Dummy_obj::__mClass;
+
+void Dummy_obj::__register()
+{
+ Dummy_obj _hx_dummy;
+ Dummy_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.persistence.Dummy",2c,17,0f,85);
+ __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(Dummy_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Dummy_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Dummy_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Dummy_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+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(25)
+ ->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)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(2,HX_("storeStreamManagement",24,1d,b8,8d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(3,HX_("hasMedia",2a,4f,14,92), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(4,HX_("storeCaps",a2,60,d7,9d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(5,HX_("storeService",54,de,f6,9d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(6,HX_("getChats",25,ae,8a,a5), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(7,HX_("storeReaction",aa,00,75,ab), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(8,HX_("storeLogin",c8,85,72,b6), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(9,HX_("getLogin",f3,e8,ca,d8), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(10,HX_("getMessage",d1,bb,72,e9), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(11,HX_("storeMessages",cd,f1,bd,e9), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(12,HX_("listAccounts",a4,81,e8,f5), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(13,HX_("removeMedia",00,e2,ef,03), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(14,HX_("updateMessageStatus",90,98,ad,0f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(15,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(16,HX_("getCaps",d7,cb,3c,14), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(17,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(18,HX_("storeMedia",43,b1,3a,43), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(19,HX_("findServicesWithFeature",99,4e,bd,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(20,HX_("lastId",d1,0b,c5,54), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(21,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(22,HX_("updateMessage",be,9a,7f,65), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(23,HX_("getStreamManagement",d9,03,ec,6c), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(24,HX_("removeAccount",c9,58,14,7a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
+ }
+}
+
+} // end namespace borogove
+} // end namespace persistence
diff --git a/Sources/c_snikket/src/snikket/persistence/KeyValueStore.cpp b/Sources/c_borogove/src/borogove/persistence/KeyValueStore.cpp
similarity index 60%
rename from Sources/c_snikket/src/snikket/persistence/KeyValueStore.cpp
rename to Sources/c_borogove/src/borogove/persistence/KeyValueStore.cpp
index 49663cc..68577ff 100644
--- a/Sources/c_snikket/src/snikket/persistence/KeyValueStore.cpp
+++ b/Sources/c_borogove/src/borogove/persistence/KeyValueStore.cpp
@@ -1,11 +1,14 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_persistence_KeyValueStore
-#include <snikket/persistence/KeyValueStore.h>
+#ifndef INCLUDED_borogove_persistence_KeyValueStore
+#include <borogove/persistence/KeyValueStore.h>
+#endif
+#ifndef INCLUDED_thenshim_Thenable
+#include <thenshim/Thenable.h>
#endif
-namespace snikket{
+namespace borogove{
namespace persistence{
@@ -19,12 +22,12 @@ static ::String KeyValueStore_obj_sMemberFields[] = {
void KeyValueStore_obj::__register()
{
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.persistence.KeyValueStore",8f,c6,2d,80);
+ __mClass->mName = HX_("borogove.persistence.KeyValueStore",33,82,49,03);
__mClass->mSuper = &super::__SGetClass();
__mClass->mMembers = ::hx::Class_obj::dupFunctions(KeyValueStore_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TIsInterface< (int)0x42160a8d >;
+ __mClass->mCanCast = ::hx::TIsInterface< (int)0x9052f731 >;
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace persistence
diff --git a/Sources/c_snikket/src/snikket/persistence/MediaStore.cpp b/Sources/c_borogove/src/borogove/persistence/MediaStore.cpp
similarity index 58%
rename from Sources/c_snikket/src/snikket/persistence/MediaStore.cpp
rename to Sources/c_borogove/src/borogove/persistence/MediaStore.cpp
index 5c455b6..6345234 100644
--- a/Sources/c_snikket/src/snikket/persistence/MediaStore.cpp
+++ b/Sources/c_borogove/src/borogove/persistence/MediaStore.cpp
@@ -1,14 +1,17 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_persistence_KeyValueStore
-#include <snikket/persistence/KeyValueStore.h>
+#ifndef INCLUDED_borogove_persistence_KeyValueStore
+#include <borogove/persistence/KeyValueStore.h>
#endif
-#ifndef INCLUDED_snikket_persistence_MediaStore
-#include <snikket/persistence/MediaStore.h>
+#ifndef INCLUDED_borogove_persistence_MediaStore
+#include <borogove/persistence/MediaStore.h>
+#endif
+#ifndef INCLUDED_thenshim_Thenable
+#include <thenshim/Thenable.h>
#endif
-namespace snikket{
+namespace borogove{
namespace persistence{
@@ -24,12 +27,12 @@ static ::String MediaStore_obj_sMemberFields[] = {
void MediaStore_obj::__register()
{
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.persistence.MediaStore",fd,b6,fd,c1);
+ __mClass->mName = HX_("borogove.persistence.MediaStore",d9,0c,b0,fa);
__mClass->mSuper = &super::__SGetClass();
__mClass->mMembers = ::hx::Class_obj::dupFunctions(MediaStore_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TIsInterface< (int)0x2952283f >;
+ __mClass->mCanCast = ::hx::TIsInterface< (int)0xb3aaad1b >;
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace persistence
diff --git a/Sources/c_borogove/src/borogove/persistence/MediaStoreFS.cpp b/Sources/c_borogove/src/borogove/persistence/MediaStoreFS.cpp
new file mode 100644
index 0000000..02f3b25
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/persistence/MediaStoreFS.cpp
@@ -0,0 +1,415 @@
+// 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_KeyValueStore
+#include <borogove/persistence/KeyValueStore.h>
+#endif
+#ifndef INCLUDED_borogove_persistence_MediaStore
+#include <borogove/persistence/MediaStore.h>
+#endif
+#ifndef INCLUDED_borogove_persistence_MediaStoreFS
+#include <borogove/persistence/MediaStoreFS.h>
+#endif
+#ifndef INCLUDED_cpp_Int64Map
+#include <cpp/Int64Map.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+#ifndef INCLUDED_sys_FileSystem
+#include <sys/FileSystem.h>
+#endif
+#ifndef INCLUDED_sys_io_File
+#include <sys/io/File.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_62805e222ed8ef0e_17_new,"borogove.persistence.MediaStoreFS","new",0x45ebbe58,"borogove.persistence.MediaStoreFS.new","borogove/persistence/MediaStoreFS.hx",17,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_32_setKV,"borogove.persistence.MediaStoreFS","setKV",0x4818e5c5,"borogove.persistence.MediaStoreFS.setKV","borogove/persistence/MediaStoreFS.hx",32,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_41_getMediaPath,"borogove.persistence.MediaStoreFS","getMediaPath",0xc292883b,"borogove.persistence.MediaStoreFS.getMediaPath","borogove/persistence/MediaStoreFS.hx",41,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_51_getMediaPath,"borogove.persistence.MediaStoreFS","getMediaPath",0xc292883b,"borogove.persistence.MediaStoreFS.getMediaPath","borogove/persistence/MediaStoreFS.hx",51,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_959a077022e6b8e5_313_getMediaPath__fromC,"borogove.persistence.MediaStoreFS","getMediaPath__fromC",0xffdb359e,"borogove.persistence.MediaStoreFS.getMediaPath__fromC","HaxeCBridge.hx",313,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_65_hasMedia,"borogove.persistence.MediaStoreFS","hasMedia",0x6622be32,"borogove.persistence.MediaStoreFS.hasMedia","borogove/persistence/MediaStoreFS.hx",65,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_71_removeMedia,"borogove.persistence.MediaStoreFS","removeMedia",0x109a87f8,"borogove.persistence.MediaStoreFS.removeMedia","borogove/persistence/MediaStoreFS.hx",71,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_85_storeMedia,"borogove.persistence.MediaStoreFS","storeMedia",0x0b08f24b,"borogove.persistence.MediaStoreFS.storeMedia","borogove/persistence/MediaStoreFS.hx",85,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_77_storeMedia,"borogove.persistence.MediaStoreFS","storeMedia",0x0b08f24b,"borogove.persistence.MediaStoreFS.storeMedia","borogove/persistence/MediaStoreFS.hx",77,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_88_set,"borogove.persistence.MediaStoreFS","set",0x45ef899a,"borogove.persistence.MediaStoreFS.set","borogove/persistence/MediaStoreFS.hx",88,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_94_get,"borogove.persistence.MediaStoreFS","get",0x45e66e8e,"borogove.persistence.MediaStoreFS.get","borogove/persistence/MediaStoreFS.hx",94,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_17_boot,"borogove.persistence.MediaStoreFS","boot",0xe073cf3a,"borogove.persistence.MediaStoreFS.boot","borogove/persistence/MediaStoreFS.hx",17,0xb4eb58d6)
+namespace borogove{
+namespace persistence{
+
+void MediaStoreFS_obj::__construct(::String path){
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_17_new)
+HXLINE( 19) this->kv = null();
+HXLINE( 27) this->blobpath = path;
+ }
+
+Dynamic MediaStoreFS_obj::__CreateEmpty() { return new MediaStoreFS_obj; }
+
+void *MediaStoreFS_obj::_hx_vtable = 0;
+
+Dynamic MediaStoreFS_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< MediaStoreFS_obj > _hx_result = new MediaStoreFS_obj();
+ _hx_result->__construct(inArgs[0]);
+ return _hx_result;
+}
+
+bool MediaStoreFS_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x531fb184;
+}
+
+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,
+ ( void (::hx::Object::*)(::String,::Array< unsigned char >))&::borogove::persistence::MediaStoreFS_obj::removeMedia,
+ ( ::Dynamic (::hx::Object::*)(::String,::Array< unsigned char >))&::borogove::persistence::MediaStoreFS_obj::storeMedia,
+ ( void (::hx::Object::*)(::Dynamic))&::borogove::persistence::MediaStoreFS_obj::setKV,
+};
+
+void *MediaStoreFS_obj::_hx_getInterface(int inHash) {
+ switch(inHash) {
+ case (int)0xb3aaad1b: return &_hx_borogove_persistence_MediaStoreFS__hx_borogove_persistence_MediaStore;
+ }
+ #ifdef HXCPP_SCRIPTABLE
+ return super::_hx_getInterface(inHash);
+ #else
+ return 0;
+ #endif
+}
+
+void MediaStoreFS_obj::setKV(::Dynamic kv){
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_32_setKV)
+HXDLIN( 32) this->kv = kv;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(MediaStoreFS_obj,setKV,(void))
+
+::Dynamic MediaStoreFS_obj::getMediaPath(::String uri){
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_41_getMediaPath)
+HXDLIN( 41) ::borogove::persistence::MediaStoreFS _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 42) ::borogove::Hash hash = ::borogove::Hash_obj::fromUri(uri);
+HXLINE( 43) if ((hash->algorithm == HX_("sha-256",32,dd,04,3b))) {
+HXLINE( 44) ::String path = (this->blobpath + HX_("/f",57,29,00,00));
+HXDLIN( 44) ::String path1 = (path + hash->toHex());
+HXLINE( 45) if (::sys::FileSystem_obj::exists(path1)) {
+HXLINE( 46) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::sys::FileSystem_obj::absolutePath(path1));
+ }
+ else {
+HXLINE( 48) 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_51_getMediaPath)
+HXLINE( 52) ::borogove::Hash sha256;
+HXDLIN( 52) if (::hx::IsNull( sha256uri )) {
+HXLINE( 52) sha256 = null();
+ }
+ else {
+HXLINE( 52) sha256 = ::borogove::Hash_obj::fromUri(sha256uri);
+ }
+HXLINE( 53) if (::hx::IsNull( sha256 )) {
+HXLINE( 54) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ else {
+HXLINE( 56) ::borogove::persistence::MediaStoreFS _gthis1 = _gthis;
+HXDLIN( 56) return _gthis1->getMediaPath(sha256->toUri());
+ }
+HXLINE( 53) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 51) return ::thenshim::_Promise::Promise_Impl__obj::then(this->get(hash->serializeUri()), ::Dynamic(new _hx_Closure_0(_gthis)),null());
+ }
+HXLINE( 43) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(MediaStoreFS_obj,getMediaPath,return )
+
+void MediaStoreFS_obj::getMediaPath__fromC(::String uri,::cpp::Function< void (const char*,void*) > handler,void* handler__context){
+ HX_STACKFRAME(&_hx_pos_959a077022e6b8e5_313_getMediaPath__fromC)
+HXDLIN( 313) if (::hx::IsNull( handler )) {
+HXDLIN( 313) this->getMediaPath(uri);
+ }
+ else {
+ 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_959a077022e6b8e5_313_getMediaPath__fromC)
+HXDLIN( 313) ::cpp::Function< void (const char*,void*) > handler1 = handler;
+HXLINE( 295) const char* cStrPtr = v.utf8_str();
+HXDLIN( 295) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 295) {
+HXLINE( 295) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 295) if (::hx::IsNull( store )) {
+HXLINE( 295) 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( 295) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 295) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 313) handler1(cStrPtr,handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ 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_959a077022e6b8e5_313_getMediaPath__fromC)
+HXDLIN( 313) handler(null(),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 313) ::thenshim::_Promise::Promise_Impl__obj::then(this->getMediaPath(uri), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+ }
+ }
+
+
+::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_65_hasMedia)
+HXDLIN( 65) return ::hx::IsNotNull( path );
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_62805e222ed8ef0e_65_hasMedia)
+HXDLIN( 65) 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,hasMedia,return )
+
+void MediaStoreFS_obj::removeMedia(::String hashAlgorithm,::Array< unsigned char > hash){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ void _hx_run(::String path){
+ HX_GC_STACKFRAME(&_hx_pos_62805e222ed8ef0e_72_removeMedia)
+HXLINE( 72) if (::hx::IsNotNull( path )) {
+HXLINE( 72) ::sys::FileSystem_obj::deleteFile(path);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_62805e222ed8ef0e_71_removeMedia)
+HXDLIN( 71) ::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,(void))
+
+::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 > _){
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_85_storeMedia)
+HXLINE( 85) return true;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_77_storeMedia)
+HXLINE( 78) ::haxe::io::Bytes bytes = ::haxe::io::Bytes_obj::ofData(bd);
+HXLINE( 79) ::borogove::Hash sha1 = ::borogove::Hash_obj::sha1(bytes);
+HXLINE( 80) ::borogove::Hash sha256 = ::borogove::Hash_obj::sha256(bytes);
+HXLINE( 81) ::String _hx_tmp = (this->blobpath + HX_("/f",57,29,00,00));
+HXDLIN( 81) ::sys::io::File_obj::saveBytes((_hx_tmp + sha256->toHex()),bytes);
+HXLINE( 83) ::String _hx_tmp1 = sha1->serializeUri();
+HXDLIN( 83) ::Dynamic _hx_tmp2 = this->set(_hx_tmp1,sha256->serializeUri());
+HXLINE( 82) 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_DEFINE_DYNAMIC_FUNC2(MediaStoreFS_obj,storeMedia,return )
+
+::Dynamic MediaStoreFS_obj::set(::String k,::String v){
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_88_set)
+HXLINE( 89) if (::hx::IsNull( this->kv )) {
+HXLINE( 89) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+HXLINE( 91) 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_94_get)
+HXLINE( 95) if (::hx::IsNull( this->kv )) {
+HXLINE( 95) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+HXLINE( 97) return ::borogove::persistence::KeyValueStore_obj::get(this->kv,k);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(MediaStoreFS_obj,get,return )
+
+
+::hx::ObjectPtr< MediaStoreFS_obj > MediaStoreFS_obj::__new(::String path) {
+ ::hx::ObjectPtr< MediaStoreFS_obj > __this = new MediaStoreFS_obj();
+ __this->__construct(path);
+ return __this;
+}
+
+::hx::ObjectPtr< MediaStoreFS_obj > MediaStoreFS_obj::__alloc(::hx::Ctx *_hx_ctx,::String path) {
+ MediaStoreFS_obj *__this = (MediaStoreFS_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MediaStoreFS_obj), true, "borogove.persistence.MediaStoreFS"));
+ *(void **)__this = MediaStoreFS_obj::_hx_vtable;
+ __this->__construct(path);
+ return __this;
+}
+
+MediaStoreFS_obj::MediaStoreFS_obj()
+{
+}
+
+void MediaStoreFS_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(MediaStoreFS);
+ HX_MARK_MEMBER_NAME(blobpath,"blobpath");
+ HX_MARK_MEMBER_NAME(kv,"kv");
+ HX_MARK_END_CLASS();
+}
+
+void MediaStoreFS_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(blobpath,"blobpath");
+ HX_VISIT_MEMBER_NAME(kv,"kv");
+}
+
+::hx::Val MediaStoreFS_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"kv") ) { return ::hx::Val( kv ); }
+ break;
+ case 3:
+ if (HX_FIELD_EQ(inName,"set") ) { return ::hx::Val( set_dyn() ); }
+ if (HX_FIELD_EQ(inName,"get") ) { return ::hx::Val( get_dyn() ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"setKV") ) { return ::hx::Val( setKV_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"blobpath") ) { return ::hx::Val( blobpath ); }
+ if (HX_FIELD_EQ(inName,"hasMedia") ) { return ::hx::Val( hasMedia_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"storeMedia") ) { return ::hx::Val( storeMedia_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"removeMedia") ) { return ::hx::Val( removeMedia_dyn() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"getMediaPath") ) { return ::hx::Val( getMediaPath_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val MediaStoreFS_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"kv") ) { kv=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"blobpath") ) { blobpath=inValue.Cast< ::String >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void MediaStoreFS_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("blobpath",82,95,91,89));
+ outFields->push(HX_("kv",ab,5d,00,00));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo MediaStoreFS_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(MediaStoreFS_obj,blobpath),HX_("blobpath",82,95,91,89)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(MediaStoreFS_obj,kv),HX_("kv",ab,5d,00,00)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *MediaStoreFS_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String MediaStoreFS_obj_sMemberFields[] = {
+ HX_("blobpath",82,95,91,89),
+ HX_("kv",ab,5d,00,00),
+ HX_("setKV",cd,89,2f,7a),
+ HX_("getMediaPath",33,f5,eb,b9),
+ HX_("hasMedia",2a,4f,14,92),
+ HX_("removeMedia",00,e2,ef,03),
+ HX_("storeMedia",43,b1,3a,43),
+ HX_("set",a2,9b,57,00),
+ HX_("get",96,80,4e,00),
+ ::String(null()) };
+
+::hx::Class MediaStoreFS_obj::__mClass;
+
+void MediaStoreFS_obj::__register()
+{
+ MediaStoreFS_obj _hx_dummy;
+ MediaStoreFS_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.persistence.MediaStoreFS",66,f2,6f,10);
+ __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(MediaStoreFS_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< MediaStoreFS_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = MediaStoreFS_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = MediaStoreFS_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void MediaStoreFS_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_17_boot)
+HXDLIN( 17) __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())))
+ ->setFixed(1,HX_("getMediaPath",33,f5,eb,b9), ::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(2,HX_("removeMedia",00,e2,ef,03), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(3,HX_("storeMedia",43,b1,3a,43), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(4,HX_("getMediaPath__fromC",a6,d7,a5,46), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))))
+ ->setFixed(1,HX_("obj",f7,8f,54,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.name",13,6a,03,0e),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("borogove_persistence_media_store_fs",e4,63,96,83))))));
+ }
+}
+
+} // end namespace borogove
+} // end namespace persistence
diff --git a/Sources/c_borogove/src/borogove/persistence/Sqlite.cpp b/Sources/c_borogove/src/borogove/persistence/Sqlite.cpp
new file mode 100644
index 0000000..bd21467
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/persistence/Sqlite.cpp
@@ -0,0 +1,3311 @@
+// 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_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_StringBuf
+#include <StringBuf.h>
+#endif
+#ifndef INCLUDED_Type
+#include <Type.h>
+#endif
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.h>
+#endif
+#ifndef INCLUDED_borogove_Caps
+#include <borogove/Caps.h>
+#endif
+#ifndef INCLUDED_borogove_Channel
+#include <borogove/Channel.h>
+#endif
+#ifndef INCLUDED_borogove_Chat
+#include <borogove/Chat.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessageBuilder
+#include <borogove/ChatMessageBuilder.h>
+#endif
+#ifndef INCLUDED_borogove_Config
+#include <borogove/Config.h>
+#endif
+#ifndef INCLUDED_borogove_CustomEmojiReaction
+#include <borogove/CustomEmojiReaction.h>
+#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
+#ifndef INCLUDED_borogove_Identity
+#include <borogove/Identity.h>
+#endif
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
+#endif
+#ifndef INCLUDED_borogove_JsonPrinter
+#include <borogove/JsonPrinter.h>
+#endif
+#ifndef INCLUDED_borogove_Persistence
+#include <borogove/Persistence.h>
+#endif
+#ifndef INCLUDED_borogove_Presence
+#include <borogove/Presence.h>
+#endif
+#ifndef INCLUDED_borogove_Reaction
+#include <borogove/Reaction.h>
+#endif
+#ifndef INCLUDED_borogove_ReactionUpdate
+#include <borogove/ReactionUpdate.h>
+#endif
+#ifndef INCLUDED_borogove_SerializedChat
+#include <borogove/SerializedChat.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_persistence_KeyValueStore
+#include <borogove/persistence/KeyValueStore.h>
+#endif
+#ifndef INCLUDED_borogove_persistence_MediaStore
+#include <borogove/persistence/MediaStore.h>
+#endif
+#ifndef INCLUDED_borogove_persistence_Sqlite
+#include <borogove/persistence/Sqlite.h>
+#endif
+#ifndef INCLUDED_borogove_persistence_SqliteDriver
+#include <borogove/persistence/SqliteDriver.h>
+#endif
+#ifndef INCLUDED_cpp_Int64Map
+#include <cpp/Int64Map.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_Timer
+#include <haxe/Timer.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_Base64
+#include <haxe/crypto/Base64.h>
+#endif
+#ifndef INCLUDED_haxe_ds_ObjectMap
+#include <haxe/ds/ObjectMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
+#ifndef INCLUDED_haxe_format_JsonParser
+#include <haxe/format/JsonParser.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+#ifndef INCLUDED_haxe_iterators_ArrayIterator
+#include <haxe/iterators/ArrayIterator.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_4648627e4fbfb4d7_48_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",48,0x605e3eb4)
+static const ::String _hx_array_data_99390348_1[] = {
+ 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;",58,1c,57,a1),HX_("CREATE INDEX messages_created_at ON messages (account_id, chat_id, created_at);",f1,c3,db,39),HX_("CREATE INDEX messages_correction_id ON messages (correction_id);",7e,cd,37,3e),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;",84,84,f7,05),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;",1e,36,08,e6),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;",79,bf,78,20),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;",32,46,2e,5c),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;",b6,63,df,b2),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;",09,3c,de,e0),HX_("PRAGMA user_version = 1;",45,c2,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_125_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",125,0x605e3eb4)
+static const ::String _hx_array_data_99390348_3[] = {
+ HX_("ALTER TABLE chats ADD COLUMN notifications_filtered INTEGER;",e5,d7,a4,6f),HX_("ALTER TABLE chats ADD COLUMN notify_mention INTEGER NOT NULL DEFAULT 0;",52,d4,13,7f),HX_("ALTER TABLE chats ADD COLUMN notify_reply INTEGER NOT NULL DEFAULT 0;",92,b1,9f,14),HX_("PRAGMA user_version = 2;",24,c3,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_133_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",133,0x605e3eb4)
+static const ::String _hx_array_data_99390348_5[] = {
+ HX_("ALTER TABLE messages ADD COLUMN status_text TEXT;",55,3b,92,cb),HX_("PRAGMA user_version = 3;",03,c4,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_46_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",46,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_45_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",45,0x605e3eb4)
+static const ::String _hx_array_data_99390348_8[] = {
+ HX_("PRAGMA user_version;",73,bf,dc,ae),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_31_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",31,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_146_get,"borogove.persistence.Sqlite","get",0xf1069870,"borogove.persistence.Sqlite.get","borogove/persistence/Sqlite.hx",146,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_156_set,"borogove.persistence.Sqlite","set",0xf10fb37c,"borogove.persistence.Sqlite.set","borogove/persistence/Sqlite.hx",156,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_157_set,"borogove.persistence.Sqlite","set",0xf10fb37c,"borogove.persistence.Sqlite.set","borogove/persistence/Sqlite.hx",157,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_159_set,"borogove.persistence.Sqlite","set",0xf10fb37c,"borogove.persistence.Sqlite.set","borogove/persistence/Sqlite.hx",159,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_175_lastId,"borogove.persistence.Sqlite","lastId",0x6b0dd837,"borogove.persistence.Sqlite.lastId","borogove/persistence/Sqlite.hx",175,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_164_lastId,"borogove.persistence.Sqlite","lastId",0x6b0dd837,"borogove.persistence.Sqlite.lastId","borogove/persistence/Sqlite.hx",164,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_192_storeChats,"borogove.persistence.Sqlite","storeChats",0xd6b04260,"borogove.persistence.Sqlite.storeChats","borogove/persistence/Sqlite.hx",192,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_191_storeChats,"borogove.persistence.Sqlite","storeChats",0xd6b04260,"borogove.persistence.Sqlite.storeChats","borogove/persistence/Sqlite.hx",191,0x605e3eb4)
+static const ::String _hx_array_data_99390348_26[] = {
+ HX_("INSERT OR REPLACE INTO chats VALUES ",3b,7d,10,d4),
+};
+static const ::String _hx_array_data_99390348_27[] = {
+ HX_(",",2c,00,00,00),
+};
+static const ::String _hx_array_data_99390348_28[] = {
+ HX_("(?,?,?,?,?,?,?,?,?,?,?,jsonb(?),?,?,?,?)",4e,16,2e,3d),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_182_storeChats,"borogove.persistence.Sqlite","storeChats",0xd6b04260,"borogove.persistence.Sqlite.storeChats","borogove/persistence/Sqlite.hx",182,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_258_getChats,"borogove.persistence.Sqlite","getChats",0x78ebe00b,"borogove.persistence.Sqlite.getChats","borogove/persistence/Sqlite.hx",258,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_262_getChats,"borogove.persistence.Sqlite","getChats",0x78ebe00b,"borogove.persistence.Sqlite.getChats","borogove/persistence/Sqlite.hx",262,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_245_getChats,"borogove.persistence.Sqlite","getChats",0x78ebe00b,"borogove.persistence.Sqlite.getChats","borogove/persistence/Sqlite.hx",245,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_263_getChats,"borogove.persistence.Sqlite","getChats",0x78ebe00b,"borogove.persistence.Sqlite.getChats","borogove/persistence/Sqlite.hx",263,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_241_getChats,"borogove.persistence.Sqlite","getChats",0x78ebe00b,"borogove.persistence.Sqlite.getChats","borogove/persistence/Sqlite.hx",241,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_328_storeMessages,"borogove.persistence.Sqlite","storeMessages",0xa9801e27,"borogove.persistence.Sqlite.storeMessages","borogove/persistence/Sqlite.hx",328,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_343_storeMessages,"borogove.persistence.Sqlite","storeMessages",0xa9801e27,"borogove.persistence.Sqlite.storeMessages","borogove/persistence/Sqlite.hx",343,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_292_storeMessages,"borogove.persistence.Sqlite","storeMessages",0xa9801e27,"borogove.persistence.Sqlite.storeMessages","borogove/persistence/Sqlite.hx",292,0x605e3eb4)
+static const ::String _hx_array_data_99390348_52[] = {
+ HX_("DELETE FROM messages WHERE account_id=? AND direction=? AND chat_id IN (",a1,9c,a2,06),
+};
+static const ::String _hx_array_data_99390348_53[] = {
+ HX_(") AND stanza_id IN (",e8,da,d3,eb),
+};
+static const ::String _hx_array_data_99390348_54[] = {
+ HX_(")",29,00,00,00),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_351_updateMessage,"borogove.persistence.Sqlite","updateMessage",0x2541c718,"borogove.persistence.Sqlite.updateMessage","borogove/persistence/Sqlite.hx",351,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_374_getMessage,"borogove.persistence.Sqlite","getMessage",0x3cf0b337,"borogove.persistence.Sqlite.getMessage","borogove/persistence/Sqlite.hx",374,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_381_getMessage,"borogove.persistence.Sqlite","getMessage",0x3cf0b337,"borogove.persistence.Sqlite.getMessage","borogove/persistence/Sqlite.hx",381,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_375_getMessage,"borogove.persistence.Sqlite","getMessage",0x3cf0b337,"borogove.persistence.Sqlite.getMessage","borogove/persistence/Sqlite.hx",375,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_380_getMessage,"borogove.persistence.Sqlite","getMessage",0x3cf0b337,"borogove.persistence.Sqlite.getMessage","borogove/persistence/Sqlite.hx",380,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_363_getMessage,"borogove.persistence.Sqlite","getMessage",0x3cf0b337,"borogove.persistence.Sqlite.getMessage","borogove/persistence/Sqlite.hx",363,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_e0e41eef74e41160_313_getMessage__fromC,"borogove.persistence.Sqlite","getMessage__fromC",0x419ea222,"borogove.persistence.Sqlite.getMessage__fromC","HaxeCBridge.hx",313,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_412_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",412,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_427_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",427,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_385_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",385,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_432_getMessagesBefore,"borogove.persistence.Sqlite","getMessagesBefore",0x4d9d52fb,"borogove.persistence.Sqlite.getMessagesBefore","borogove/persistence/Sqlite.hx",432,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_437_getMessagesAfter,"borogove.persistence.Sqlite","getMessagesAfter",0xadefcb20,"borogove.persistence.Sqlite.getMessagesAfter","borogove/persistence/Sqlite.hx",437,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_453_getMessagesAround,"borogove.persistence.Sqlite","getMessagesAround",0x696ef6c9,"borogove.persistence.Sqlite.getMessagesAround","borogove/persistence/Sqlite.hx",453,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_457_getMessagesAround,"borogove.persistence.Sqlite","getMessagesAround",0x696ef6c9,"borogove.persistence.Sqlite.getMessagesAround","borogove/persistence/Sqlite.hx",457,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_441_getMessagesAround,"borogove.persistence.Sqlite","getMessagesAround",0x696ef6c9,"borogove.persistence.Sqlite.getMessagesAround","borogove/persistence/Sqlite.hx",441,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_444_getMessagesAround,"borogove.persistence.Sqlite","getMessagesAround",0x696ef6c9,"borogove.persistence.Sqlite.getMessagesAround","borogove/persistence/Sqlite.hx",444,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_447_getMessagesAround,"borogove.persistence.Sqlite","getMessagesAround",0x696ef6c9,"borogove.persistence.Sqlite.getMessagesAround","borogove/persistence/Sqlite.hx",447,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_466_getChatsUnreadDetails,"borogove.persistence.Sqlite","getChatsUnreadDetails",0x7e07eb48,"borogove.persistence.Sqlite.getChatsUnreadDetails","borogove/persistence/Sqlite.hx",466,0x605e3eb4)
+static const ::String _hx_array_data_99390348_87[] = {
+ HX_("SELECT chat_id, ROWID as row, MAX(created_at) AS created_at FROM messages WHERE account_id=?",d0,69,08,92),
+};
+static const ::String _hx_array_data_99390348_88[] = {
+ HX_(" AND chat_id IN (",14,bd,7b,de),
+};
+static const ::String _hx_array_data_99390348_89[] = {
+ HX_(",",2c,00,00,00),
+};
+static const ::String _hx_array_data_99390348_90[] = {
+ HX_("?",3f,00,00,00),
+};
+static const ::String _hx_array_data_99390348_91[] = {
+ HX_(") AND (mam_id IN (",64,f4,1c,69),
+};
+static const ::String _hx_array_data_99390348_92[] = {
+ HX_(",",2c,00,00,00),
+};
+static const ::String _hx_array_data_99390348_93[] = {
+ HX_("?",3f,00,00,00),
+};
+static const ::String _hx_array_data_99390348_94[] = {
+ HX_(") OR direction=?) GROUP BY chat_id",cc,ab,94,e3),
+};
+static const ::String _hx_array_data_99390348_95[] = {
+ HX_("SELECT chat_id AS chatId, stanza, direction, type, status, status_text, sender_id, mam_id, mam_by, sync_point, CASE WHEN subq.created_at IS NULL THEN COUNT(*) ELSE COUNT(*) - 1 END AS unreadCount, strftime('%FT%H:%M:%fZ', MAX(messages.created_at) / 1000.0, 'unixepoch') AS timestamp FROM messages LEFT JOIN (",42,d1,dc,39),
+};
+static const ::String _hx_array_data_99390348_96[] = {
+ HX_(") subq USING (chat_id) WHERE account_id=? AND (stanza_id IS NULL OR stanza_id='' OR stanza_id=correction_id) AND chat_id IN (",e7,a1,32,e5),
+};
+static const ::String _hx_array_data_99390348_97[] = {
+ HX_(",",2c,00,00,00),
+};
+static const ::String _hx_array_data_99390348_98[] = {
+ HX_("?",3f,00,00,00),
+};
+static const ::String _hx_array_data_99390348_99[] = {
+ HX_(") AND (subq.created_at IS NULL OR messages.created_at > subq.created_at OR (messages.created_at=subq.created_at AND messages.ROWID >= subq.row)) GROUP BY chat_id;",58,6f,52,ea),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_503_getChatsUnreadDetails,"borogove.persistence.Sqlite","getChatsUnreadDetails",0x7e07eb48,"borogove.persistence.Sqlite.getChatsUnreadDetails","borogove/persistence/Sqlite.hx",503,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_505_getChatsUnreadDetails,"borogove.persistence.Sqlite","getChatsUnreadDetails",0x7e07eb48,"borogove.persistence.Sqlite.getChatsUnreadDetails","borogove/persistence/Sqlite.hx",505,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_461_getChatsUnreadDetails,"borogove.persistence.Sqlite","getChatsUnreadDetails",0x7e07eb48,"borogove.persistence.Sqlite.getChatsUnreadDetails","borogove/persistence/Sqlite.hx",461,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_529_storeReaction,"borogove.persistence.Sqlite","storeReaction",0x6b372d04,"borogove.persistence.Sqlite.storeReaction","borogove/persistence/Sqlite.hx",529,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_520_storeReaction,"borogove.persistence.Sqlite","storeReaction",0x6b372d04,"borogove.persistence.Sqlite.storeReaction","borogove/persistence/Sqlite.hx",520,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_539_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",539,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_544_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",544,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_549_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",549,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_551_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",551,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_534_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",534,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_556_hasMedia,"borogove.persistence.Sqlite","hasMedia",0x65758110,"borogove.persistence.Sqlite.hasMedia","borogove/persistence/Sqlite.hx",556,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_561_removeMedia,"borogove.persistence.Sqlite","removeMedia",0xbeaa63da,"borogove.persistence.Sqlite.removeMedia","borogove/persistence/Sqlite.hx",561,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_566_storeMedia,"borogove.persistence.Sqlite","storeMedia",0x96b8a8a9,"borogove.persistence.Sqlite.storeMedia","borogove/persistence/Sqlite.hx",566,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_571_storeCaps,"borogove.persistence.Sqlite","storeCaps",0xbf81d7fc,"borogove.persistence.Sqlite.storeCaps","borogove/persistence/Sqlite.hx",571,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_574_storeCapsSet,"borogove.persistence.Sqlite","storeCapsSet",0xeacfa106,"borogove.persistence.Sqlite.storeCapsSet","borogove/persistence/Sqlite.hx",574,0x605e3eb4)
+static const ::String _hx_array_data_99390348_123[] = {
+ HX_("INSERT OR IGNORE INTO caps VALUES ",27,4b,68,bf),
+};
+static const ::String _hx_array_data_99390348_124[] = {
+ HX_(",",2c,00,00,00),
+};
+static const ::String _hx_array_data_99390348_125[] = {
+ HX_("(?,jsonb(?))",1c,61,06,9e),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_600_getCaps,"borogove.persistence.Sqlite","getCaps",0x7da6d8b1,"borogove.persistence.Sqlite.getCaps","borogove/persistence/Sqlite.hx",600,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_591_getCaps,"borogove.persistence.Sqlite","getCaps",0x7da6d8b1,"borogove.persistence.Sqlite.getCaps","borogove/persistence/Sqlite.hx",591,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_610_storeLogin,"borogove.persistence.Sqlite","storeLogin",0x09f07d2e,"borogove.persistence.Sqlite.storeLogin","borogove/persistence/Sqlite.hx",610,0x605e3eb4)
+static const ::String _hx_array_data_99390348_130[] = {
+ HX_("INSERT INTO accounts (account_id, client_id, display_name",03,b0,6a,0b),
+};
+static const ::String _hx_array_data_99390348_131[] = {
+ HX_(", token, fast_count",a5,56,e4,ae),
+};
+static const ::String _hx_array_data_99390348_132[] = {
+ HX_(") VALUES (?,?,?",c4,1c,e3,67),
+};
+static const ::String _hx_array_data_99390348_133[] = {
+ HX_(",?",93,26,00,00),
+};
+static const ::String _hx_array_data_99390348_134[] = {
+ HX_(",0",84,26,00,00),
+};
+static const ::String _hx_array_data_99390348_135[] = {
+ HX_(") ON CONFLICT DO UPDATE SET client_id=?",cd,99,0c,96),
+};
+static const ::String _hx_array_data_99390348_136[] = {
+ HX_(", display_name=?",7e,ad,5b,0f),
+};
+static const ::String _hx_array_data_99390348_137[] = {
+ HX_(", token=?",a7,78,19,80),
+};
+static const ::String _hx_array_data_99390348_138[] = {
+ HX_(", fast_count=0",73,a8,4f,82),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_640_getLogin,"borogove.persistence.Sqlite","getLogin",0xac2c1ad9,"borogove.persistence.Sqlite.getLogin","borogove/persistence/Sqlite.hx",640,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_636_getLogin,"borogove.persistence.Sqlite","getLogin",0xac2c1ad9,"borogove.persistence.Sqlite.getLogin","borogove/persistence/Sqlite.hx",636,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_659_removeAccount,"borogove.persistence.Sqlite","removeAccount",0x39d68523,"borogove.persistence.Sqlite.removeAccount","borogove/persistence/Sqlite.hx",659,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_677_listAccounts,"borogove.persistence.Sqlite","listAccounts",0x9e5f9e8a,"borogove.persistence.Sqlite.listAccounts","borogove/persistence/Sqlite.hx",677,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_676_listAccounts,"borogove.persistence.Sqlite","listAccounts",0x9e5f9e8a,"borogove.persistence.Sqlite.listAccounts","borogove/persistence/Sqlite.hx",676,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_e0e41eef74e41160_313_listAccounts__fromC,"borogove.persistence.Sqlite","listAccounts__fromC",0xe40e172f,"borogove.persistence.Sqlite.listAccounts__fromC","HaxeCBridge.hx",313,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_684_storeStreamManagement,"borogove.persistence.Sqlite","storeStreamManagement",0x8665337e,"borogove.persistence.Sqlite.storeStreamManagement","borogove/persistence/Sqlite.hx",684,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_691_storeStreamManagement,"borogove.persistence.Sqlite","storeStreamManagement",0x8665337e,"borogove.persistence.Sqlite.storeStreamManagement","borogove/persistence/Sqlite.hx",691,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_700_getStreamManagement,"borogove.persistence.Sqlite","getStreamManagement",0xb922efb3,"borogove.persistence.Sqlite.getStreamManagement","borogove/persistence/Sqlite.hx",700,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_710_storeService,"borogove.persistence.Sqlite","storeService",0x466dfb3a,"borogove.persistence.Sqlite.storeService","borogove/persistence/Sqlite.hx",710,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_725_findServicesWithFeature,"borogove.persistence.Sqlite","findServicesWithFeature",0x99a02f73,"borogove.persistence.Sqlite.findServicesWithFeature","borogove/persistence/Sqlite.hx",725,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_720_findServicesWithFeature,"borogove.persistence.Sqlite","findServicesWithFeature",0x99a02f73,"borogove.persistence.Sqlite.findServicesWithFeature","borogove/persistence/Sqlite.hx",720,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_744_hydrateReactions,"borogove.persistence.Sqlite","hydrateReactions",0x7d654d7d,"borogove.persistence.Sqlite.hydrateReactions","borogove/persistence/Sqlite.hx",744,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_772_fetchReactions,"borogove.persistence.Sqlite","fetchReactions",0x688fe376,"borogove.persistence.Sqlite.fetchReactions","borogove/persistence/Sqlite.hx",772,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_756_fetchReactions,"borogove.persistence.Sqlite","fetchReactions",0x688fe376,"borogove.persistence.Sqlite.fetchReactions","borogove/persistence/Sqlite.hx",756,0x605e3eb4)
+static const ::String _hx_array_data_99390348_174[] = {
+ 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_175[] = {
+ HX_(" OR (mam_id=? AND mam_by=?)",0f,bb,c5,e5),
+};
+static const ::String _hx_array_data_99390348_176[] = {
+ HX_(" OR stanza_id=?",6a,1d,f2,5b),
+};
+static const ::String _hx_array_data_99390348_177[] = {
+ HX_(" ORDER BY created_at, ROWID",00,65,8d,0e),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_829_hydrateReplyTo,"borogove.persistence.Sqlite","hydrateReplyTo",0xa56a0758,"borogove.persistence.Sqlite.hydrateReplyTo","borogove/persistence/Sqlite.hx",829,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_831_hydrateReplyTo,"borogove.persistence.Sqlite","hydrateReplyTo",0xa56a0758,"borogove.persistence.Sqlite.hydrateReplyTo","borogove/persistence/Sqlite.hx",831,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_809_hydrateReplyTo,"borogove.persistence.Sqlite","hydrateReplyTo",0xa56a0758,"borogove.persistence.Sqlite.hydrateReplyTo","borogove/persistence/Sqlite.hx",809,0x605e3eb4)
+static const ::String _hx_array_data_99390348_184[] = {
+ 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, sync_point FROM messages WHERE account_id=? AND (",16,b7,14,0d),
+};
+static const ::String _hx_array_data_99390348_185[] = {
+ HX_(")",29,00,00,00),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_843_hydrateMessages,"borogove.persistence.Sqlite","hydrateMessages",0x24719359,"borogove.persistence.Sqlite.hydrateMessages","borogove/persistence/Sqlite.hx",843,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_846_hydrateMessages,"borogove.persistence.Sqlite","hydrateMessages",0x24719359,"borogove.persistence.Sqlite.hydrateMessages","borogove/persistence/Sqlite.hx",846,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_877_hydrateMessages,"borogove.persistence.Sqlite","hydrateMessages",0x24719359,"borogove.persistence.Sqlite.hydrateMessages","borogove/persistence/Sqlite.hx",877,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_867_hydrateMessages,"borogove.persistence.Sqlite","hydrateMessages",0x24719359,"borogove.persistence.Sqlite.hydrateMessages","borogove/persistence/Sqlite.hx",867,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_885_hydrateCaps,"borogove.persistence.Sqlite","hydrateCaps",0x4e204c2e,"borogove.persistence.Sqlite.hydrateCaps","borogove/persistence/Sqlite.hx",885,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_31_boot,"borogove.persistence.Sqlite","boot",0xf1784b18,"borogove.persistence.Sqlite.boot","borogove/persistence/Sqlite.hx",31,0x605e3eb4)
+namespace borogove{
+namespace persistence{
+
+void Sqlite_obj::__construct(::String dbfile,::Dynamic media){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_4) HXARGC(1)
+ ::Dynamic _hx_run( ::Dynamic exec){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::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_48_new)
+HXLINE( 49) if ((version < 1)) {
+HXLINE( 50) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_1,10));
+ }
+HXLINE( 124) 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_125_new)
+HXLINE( 126) if ((version < 2)) {
+HXLINE( 127) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_3,4));
+ }
+HXLINE( 132) 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_133_new)
+HXLINE( 134) if ((version < 3)) {
+HXLINE( 135) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_5,2));
+ }
+HXLINE( 138) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_46_new)
+HXLINE( 47) int version;
+HXDLIN( 47) ::Dynamic tmp = iter->array->__get(iter->current++);
+HXDLIN( 47) ::Dynamic tmp1;
+HXDLIN( 47) if (::hx::IsNotNull( tmp )) {
+HXLINE( 47) tmp1 = ::Dynamic(tmp->__Field(HX_("user_version",e4,95,f3,73),::hx::paccDynamic));
+ }
+ else {
+HXLINE( 47) tmp1 = null();
+ }
+HXDLIN( 47) ::Dynamic tmp2 = ::Std_obj::parseInt(( (::String)(tmp1) ));
+HXDLIN( 47) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 47) version = ( (int)(tmp2) );
+ }
+ else {
+HXLINE( 47) version = 0;
+ }
+HXLINE( 48) return ::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());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_45_new)
+HXLINE( 45) return ::thenshim::_Promise::Promise_Impl__obj::then(exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_8,1)), ::Dynamic(new _hx_Closure_3(exec)),null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_31_new)
+HXLINE( 682) this->smStoreNext = null();
+HXLINE( 681) this->smStoreInProgress = false;
+HXLINE( 179) this->storeChatTimer = null();
+HXLINE( 178) this->storeChatBuffer = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 43) this->media = media;
+HXLINE( 44) ::borogove::persistence::MediaStore_obj::setKV(media,::hx::ObjectPtr<OBJ_>(this));
+HXLINE( 45) this->db = ::borogove::persistence::SqliteDriver_obj::__alloc( HX_CTX ,dbfile, ::Dynamic(new _hx_Closure_4()));
+ }
+
+Dynamic Sqlite_obj::__CreateEmpty() { return new Sqlite_obj; }
+
+void *Sqlite_obj::_hx_vtable = 0;
+
+Dynamic Sqlite_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Sqlite_obj > _hx_result = new Sqlite_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool Sqlite_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x7fdc7ee6;
+}
+
+static ::borogove::Persistence_obj _hx_borogove_persistence_Sqlite__hx_borogove_Persistence= {
+ ( ::Dynamic (::hx::Object::*)(::String,::String))&::borogove::persistence::Sqlite_obj::lastId,
+ ( void (::hx::Object::*)(::String,::Array< ::Dynamic>))&::borogove::persistence::Sqlite_obj::storeChats,
+ ( ::Dynamic (::hx::Object::*)(::String))&::borogove::persistence::Sqlite_obj::getChats,
+ ( ::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,
+ ( void (::hx::Object::*)(::String, ::borogove::ChatMessage))&::borogove::persistence::Sqlite_obj::updateMessage,
+ ( ::Dynamic (::hx::Object::*)(::String,::String,int,::String))&::borogove::persistence::Sqlite_obj::updateMessageStatus,
+ ( ::Dynamic (::hx::Object::*)(::String,::String,::String,::String))&::borogove::persistence::Sqlite_obj::getMessage,
+ ( ::Dynamic (::hx::Object::*)(::String,::String,::String,::String))&::borogove::persistence::Sqlite_obj::getMessagesBefore,
+ ( ::Dynamic (::hx::Object::*)(::String,::String,::String,::String))&::borogove::persistence::Sqlite_obj::getMessagesAfter,
+ ( ::Dynamic (::hx::Object::*)(::String,::String,::String,::String))&::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,
+ ( void (::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,
+ ( void (::hx::Object::*)(::String,::String,::String,::String))&::borogove::persistence::Sqlite_obj::storeLogin,
+ ( ::Dynamic (::hx::Object::*)(::String))&::borogove::persistence::Sqlite_obj::getLogin,
+ ( void (::hx::Object::*)(::String,bool))&::borogove::persistence::Sqlite_obj::removeAccount,
+ ( ::Dynamic (::hx::Object::*)())&::borogove::persistence::Sqlite_obj::listAccounts,
+ ( void (::hx::Object::*)(::String,::Array< unsigned char >))&::borogove::persistence::Sqlite_obj::storeStreamManagement,
+ ( ::Dynamic (::hx::Object::*)(::String))&::borogove::persistence::Sqlite_obj::getStreamManagement,
+ ( void (::hx::Object::*)(::String,::String,::String,::String, ::borogove::Caps))&::borogove::persistence::Sqlite_obj::storeService,
+ ( ::Dynamic (::hx::Object::*)(::String,::String))&::borogove::persistence::Sqlite_obj::findServicesWithFeature,
+};
+
+static ::borogove::persistence::KeyValueStore_obj _hx_borogove_persistence_Sqlite__hx_borogove_persistence_KeyValueStore= {
+ ( ::Dynamic (::hx::Object::*)(::String))&::borogove::persistence::Sqlite_obj::get,
+ ( ::Dynamic (::hx::Object::*)(::String,::String))&::borogove::persistence::Sqlite_obj::set,
+};
+
+void *Sqlite_obj::_hx_getInterface(int inHash) {
+ switch(inHash) {
+ case (int)0xb8b304be: return &_hx_borogove_persistence_Sqlite__hx_borogove_Persistence;
+ case (int)0x9052f731: return &_hx_borogove_persistence_Sqlite__hx_borogove_persistence_KeyValueStore;
+ }
+ #ifdef HXCPP_SCRIPTABLE
+ return super::_hx_getInterface(inHash);
+ #else
+ return 0;
+ #endif
+}
+
+::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_146_get)
+HXLINE( 147) while((iter->current < iter->array->get_length())){
+HXLINE( 148) return ::Dynamic(iter->array->__get(iter->current++)->__Field(HX_("v",76,00,00,00),::hx::paccDynamic));
+ }
+HXLINE( 150) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_146_get)
+HXDLIN( 146) 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_156_set)
+HXDLIN( 156) 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_157_set)
+HXLINE( 157) return true;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 157) 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_159_set)
+HXLINE( 159) return true;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 159) 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( 156) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,set,return )
+
+::Dynamic Sqlite_obj::lastId(::String accountId,::String chatId){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ ::String _hx_run( ::haxe::iterators::ArrayIterator iter){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_175_lastId)
+HXLINE( 175) ::Dynamic tmp = iter->array->__get(iter->current++);
+HXDLIN( 175) ::Dynamic _hx_tmp;
+HXDLIN( 175) if (::hx::IsNotNull( tmp )) {
+HXLINE( 175) _hx_tmp = ::Dynamic(tmp->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic));
+ }
+ else {
+HXLINE( 175) _hx_tmp = null();
+ }
+HXDLIN( 175) return ::hx::TCast< ::String >::cast(_hx_tmp);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_164_lastId)
+HXLINE( 165) ::Array< ::String > params = ::Array_obj< ::String >::__new(1)->init(0,accountId);
+HXLINE( 166) ::String q = HX_("SELECT mam_id FROM messages WHERE mam_id IS NOT NULL AND sync_point AND account_id=?",20,14,35,bc);
+HXLINE( 167) if (::hx::IsNull( chatId )) {
+HXLINE( 168) q = (HX_("SELECT mam_id FROM messages WHERE mam_id IS NOT NULL AND sync_point AND account_id=?",20,14,35,bc) + HX_(" AND mam_by=?",48,20,9b,c4));
+HXLINE( 169) params->push(accountId);
+ }
+ else {
+HXLINE( 171) q = (HX_("SELECT mam_id FROM messages WHERE mam_id IS NOT NULL AND sync_point AND account_id=?",20,14,35,bc) + HX_(" AND chat_id=?",3b,95,e7,43));
+HXLINE( 172) params->push(chatId);
+ }
+HXLINE( 174) q = (q + HX_(" ORDER BY ROWID DESC LIMIT 1",1f,5d,e2,de));
+HXLINE( 175) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(q,params), ::Dynamic(new _hx_Closure_0()),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,lastId,return )
+
+void Sqlite_obj::storeChats(::String accountId,::Array< ::Dynamic> chats){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(0)
+ void _hx_run(){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis) HXARGC(1)
+ ::Dynamic _hx_run( ::borogove::Chat chat){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_192_storeChats)
+HXLINE( 193) ::Dynamic storePresence = ::Dynamic(::hx::Anon_obj::Create(0));
+HXLINE( 194) ::haxe::ds::ObjectMap caps = ::haxe::ds::ObjectMap_obj::__alloc( HX_CTX );
+HXLINE( 195) {
+HXLINE( 195) ::Dynamic this1 = chat->presence;
+HXDLIN( 195) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN( 195) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 195) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN( 195) ::borogove::Presence _g_value = ( ( ::borogove::Presence)(::haxe::IMap_obj::get(this1,key)) );
+HXDLIN( 195) {
+HXLINE( 196) ::String mapPresence;
+HXDLIN( 196) if (::hx::IsNotNull( key )) {
+HXLINE( 196) mapPresence = key;
+ }
+ else {
+HXLINE( 196) mapPresence = HX_("",00,00,00,00);
+ }
+HXDLIN( 196) if (::hx::IsNull( ::Reflect_obj::field(storePresence,mapPresence) )) {
+HXLINE( 196) ::String mapPresence1;
+HXDLIN( 196) if (::hx::IsNotNull( key )) {
+HXLINE( 196) mapPresence1 = key;
+ }
+ else {
+HXLINE( 196) mapPresence1 = HX_("",00,00,00,00);
+ }
+HXDLIN( 196) ::Reflect_obj::setField(storePresence,mapPresence1, ::Dynamic(::hx::Anon_obj::Create(0)));
+ }
+HXLINE( 197) if (::hx::IsNotNull( _g_value->caps )) {
+HXLINE( 198) {
+HXLINE( 198) ::Array< unsigned char > k = _g_value->caps->verRaw()->hash;
+HXDLIN( 198) caps->set(k,_g_value->caps);
+ }
+HXLINE( 199) ::String mapPresence2;
+HXDLIN( 199) if (::hx::IsNotNull( key )) {
+HXLINE( 199) mapPresence2 = key;
+ }
+ else {
+HXLINE( 199) mapPresence2 = HX_("",00,00,00,00);
+ }
+HXDLIN( 199) ::Reflect_obj::field(storePresence,mapPresence2)->__SetField(HX_("caps",21,1c,ba,41),_g_value->caps->ver(),::hx::paccDynamic);
+ }
+HXLINE( 201) if (::hx::IsNotNull( _g_value->mucUser )) {
+HXLINE( 202) ::String mapPresence3;
+HXDLIN( 202) if (::hx::IsNotNull( key )) {
+HXLINE( 202) mapPresence3 = key;
+ }
+ else {
+HXLINE( 202) mapPresence3 = HX_("",00,00,00,00);
+ }
+HXDLIN( 202) ::Reflect_obj::field(storePresence,mapPresence3)->__SetField(HX_("mucUser",e6,f3,96,b5),_g_value->mucUser->toString(),::hx::paccDynamic);
+ }
+HXLINE( 204) if (::hx::IsNotNull( _g_value->avatarHash )) {
+HXLINE( 205) ::String mapPresence4;
+HXDLIN( 205) if (::hx::IsNotNull( key )) {
+HXLINE( 205) mapPresence4 = key;
+ }
+ else {
+HXLINE( 205) mapPresence4 = HX_("",00,00,00,00);
+ }
+HXDLIN( 205) ::Reflect_obj::field(storePresence,mapPresence4)->__SetField(HX_("avatarHash",87,5c,82,37),_g_value->avatarHash->serializeUri(),::hx::paccDynamic);
+ }
+ }
+ }
+ }
+HXLINE( 208) _gthis->storeCapsSet(caps);
+HXLINE( 209) return storePresence;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_191_storeChats)
+HXLINE( 192) ::Dynamic mapPresence = ::Dynamic(new _hx_Closure_0(_gthis));
+HXLINE( 211) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE( 212) {
+HXLINE( 212) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 212) q->flush();
+ }
+HXDLIN( 212) if (::hx::IsNull( q->b )) {
+HXLINE( 212) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_26,1);
+ }
+ else {
+HXLINE( 212) q->b->push(HX_("INSERT OR REPLACE INTO chats VALUES ",3b,7d,10,d4));
+ }
+ }
+HXLINE( 213) bool first = true;
+HXLINE( 214) {
+HXLINE( 214) ::Dynamic _ = _gthis->storeChatBuffer->iterator();
+HXDLIN( 214) while(( (bool)(_->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 214) _->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
+HXLINE( 215) if (!(first)) {
+HXLINE( 215) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 215) q->flush();
+ }
+HXDLIN( 215) if (::hx::IsNull( q->b )) {
+HXLINE( 215) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_27,1);
+ }
+ else {
+HXLINE( 215) q->b->push(HX_(",",2c,00,00,00));
+ }
+ }
+HXLINE( 216) first = false;
+HXLINE( 217) {
+HXLINE( 217) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 217) q->flush();
+ }
+HXDLIN( 217) if (::hx::IsNull( q->b )) {
+HXLINE( 217) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_28,1);
+ }
+ else {
+HXLINE( 217) q->b->push(HX_("(?,?,?,?,?,?,?,?,?,?,?,jsonb(?),?,?,?,?)",4e,16,2e,3d));
+ }
+ }
+ }
+ }
+HXLINE( 219) ::borogove::persistence::SqliteDriver _gthis1 = _gthis->db;
+HXLINE( 220) ::String _hx_tmp = q->toString();
+HXLINE( 221) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 221) {
+HXLINE( 221) ::Dynamic x = _gthis->storeChatBuffer->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 221) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 221) ::borogove::Chat x1 = ( ( ::borogove::Chat)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXLINE( 222) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(x1,::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE( 223) if (::hx::IsNotNull( channel )) {
+HXLINE( 223) _gthis->storeCaps(channel->disco);
+ }
+HXLINE( 225) ::String accountId1 = accountId;
+HXDLIN( 225) ::String x2 = x1->chatId;
+HXDLIN( 225) bool row = x1->isTrusted();
+HXDLIN( 225) ::Array< unsigned char > x3 = x1->avatarSha1;
+HXLINE( 226) ::String row1 = x1->getDisplayName();
+HXDLIN( 226) int x4 = x1->uiState;
+HXDLIN( 226) bool x5 = x1->isBlocked;
+HXLINE( 227) ::String row2 = x1->extensions->toString();
+HXDLIN( 227) ::String row3 = x1->readUpTo();
+HXDLIN( 227) ::String x6 = x1->readUpToBy;
+HXLINE( 228) ::borogove::Caps tmp;
+HXDLIN( 228) if (::hx::IsNotNull( channel )) {
+HXLINE( 228) tmp = channel->disco;
+ }
+ else {
+HXLINE( 228) tmp = null();
+ }
+HXDLIN( 228) ::Array< unsigned char > row4;
+HXDLIN( 228) if (::hx::IsNotNull( tmp )) {
+HXLINE( 228) row4 = tmp->verRaw()->hash;
+ }
+ else {
+HXLINE( 228) row4 = null();
+ }
+HXDLIN( 228) ::String row5 = ::borogove::JsonPrinter_obj::print(mapPresence(x1),null(),null());
+HXLINE( 229) ::String row6 = ( (::String)(::Type_obj::getClassName(::Type_obj::getClass(x1)).split(HX_(".",2e,00,00,00))->pop()) );
+HXLINE( 230) bool row7 = x1->notificationsFiltered();
+HXDLIN( 230) bool row8 = x1->notifyMention();
+HXLINE( 221) _g->push(::cpp::VirtualArray_obj::__new(16)->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,row3)->init(9,x6)->init(10,row4)->init(11,row5)->init(12,row6)->init(13,row7)->init(14,row8)->init(15,x1->notifyReply()));
+ }
+ }
+HXDLIN( 221) ::cpp::VirtualArray _g1 = ::cpp::VirtualArray_obj::__new(0);
+HXDLIN( 221) {
+HXLINE( 221) ::Dynamic e = _g->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 221) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 221) ::Dynamic x7 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 221) while(( (bool)(x7->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 221) _g1->push(x7->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ }
+ }
+ }
+HXLINE( 219) _gthis1->exec(_hx_tmp,_g1);
+HXLINE( 235) _gthis->storeChatTimer = null();
+HXLINE( 236) _gthis->storeChatBuffer->clear();
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_182_storeChats)
+HXDLIN( 182) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 183) if (::hx::IsNotNull( this->storeChatTimer )) {
+HXLINE( 184) this->storeChatTimer->stop();
+ }
+HXLINE( 187) {
+HXLINE( 187) int _g = 0;
+HXDLIN( 187) while((_g < chats->length)){
+HXLINE( 187) ::borogove::Chat chat = chats->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN( 187) _g = (_g + 1);
+HXLINE( 188) this->storeChatBuffer->set(((accountId + HX_("\n",0a,00,00,00)) + chat->chatId),chat);
+ }
+ }
+HXLINE( 191) this->storeChatTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(_gthis,accountId)),100);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,storeChats,(void))
+
+::Dynamic Sqlite_obj::getChats(::String accountId){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::persistence::Sqlite,_gthis) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator result){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::haxe::ds::ObjectMap,fetchCaps) HXARGC(0)
+ ::Dynamic _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_258_getChats)
+HXLINE( 258) return fetchCaps->keys();
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1,::cpp::VirtualArray,chats) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator capsResult){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_262_getChats)
+HXLINE( 262) return ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("caps",21,1c,ba,41),capsResult)
+ ->setFixed(1,HX_("chats",9b,9e,b3,45),chats));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_245_getChats)
+HXLINE( 246) ::haxe::ds::ObjectMap fetchCaps = ::haxe::ds::ObjectMap_obj::__alloc( HX_CTX );
+HXLINE( 247) ::cpp::VirtualArray chats = ::cpp::VirtualArray_obj::__new(0);
+HXLINE( 248) while((result->current < result->array->get_length())){
+HXLINE( 248) ::Dynamic row = result->array->__get(result->current++);
+HXLINE( 249) ::Dynamic capsJson;
+HXDLIN( 249) if (::hx::IsNull( row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic) )) {
+HXLINE( 249) capsJson = null();
+ }
+ else {
+HXLINE( 249) capsJson = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))->doParse();
+ }
+HXLINE( 250) ::borogove::Caps _hx_tmp;
+HXDLIN( 250) if (::hx::IsNull( capsJson )) {
+HXLINE( 250) _hx_tmp = null();
+ }
+ else {
+HXLINE( 250) _hx_tmp = _gthis->hydrateCaps(capsJson,( (::Array< unsigned char >)(row->__Field(HX_("caps_ver",05,68,56,1e),::hx::paccDynamic)) ));
+ }
+HXDLIN( 250) row->__SetField(HX_("capsObj",56,b6,8b,a6),_hx_tmp,::hx::paccDynamic);
+HXLINE( 251) ::Dynamic presenceJson = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) ))->doParse();
+HXLINE( 252) row->__SetField(HX_("presenceJson",03,fa,cd,23),presenceJson,::hx::paccDynamic);
+HXLINE( 253) {
+HXLINE( 253) ::Array< ::String > _g_keys = ::Reflect_obj::fields(presenceJson);
+HXDLIN( 253) int _g_index = 0;
+HXDLIN( 253) while((_g_index < _g_keys->length)){
+HXLINE( 253) _g_index = (_g_index + 1);
+HXDLIN( 253) ::Dynamic _g_value = ::Reflect_obj::field(presenceJson,_g_keys->__get((_g_index - 1)));
+HXLINE( 254) if (::hx::IsNotNull( _g_value->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic) )) {
+HXLINE( 254) ::Array< unsigned char > k = ::haxe::crypto::Base64_obj::decode(( (::String)(_g_value->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ),null())->b;
+HXDLIN( 254) fetchCaps->set(k,true);
+ }
+ }
+ }
+HXLINE( 256) chats->push(row);
+ }
+HXLINE( 258) ::Array< ::Dynamic> fetchCapsSha1s = ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(fetchCaps)))));
+HXLINE( 259) ::borogove::persistence::SqliteDriver _gthis1 = _gthis->db;
+HXLINE( 260) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(fetchCapsSha1s->length);
+HXDLIN( 260) {
+HXLINE( 260) int _g = 0;
+HXDLIN( 260) int _g1 = fetchCapsSha1s->length;
+HXDLIN( 260) while((_g < _g1)){
+HXLINE( 260) _g = (_g + 1);
+HXDLIN( 260) int i = (_g - 1);
+HXDLIN( 260) {
+HXLINE( 260) _hx_array_unsafe_get(fetchCapsSha1s,i);
+HXDLIN( 260) result1->__unsafe_set(i,HX_("?",3f,00,00,00));
+ }
+ }
+ }
+HXLINE( 259) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis1->exec(((HX_("SELECT sha1, json(caps) AS caps FROM caps WHERE sha1 IN (",5a,e4,9c,e2) + result1->join(HX_(",",2c,00,00,00))) + HX_(")",29,00,00,00)),fetchCapsSha1s), ::Dynamic(new _hx_Closure_1(chats)),null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::borogove::persistence::Sqlite,_gthis) HXARGC(1)
+ ::Array< ::Dynamic> _hx_run( ::Dynamic result){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_263_getChats)
+HXLINE( 264) ::haxe::ds::StringMap capsMap = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 265) {
+HXLINE( 265) ::haxe::iterators::ArrayIterator _g = ( ( ::haxe::iterators::ArrayIterator)(result->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) );
+HXDLIN( 265) while((_g->current < _g->array->get_length())){
+HXLINE( 265) ::Dynamic row = _g->array->__get(_g->current++);
+HXLINE( 266) ::Dynamic json = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))->doParse();
+HXLINE( 267) {
+HXLINE( 267) ::String k = ::haxe::crypto::Base64_obj::encode(::haxe::io::Bytes_obj::ofData(( (::Array< unsigned char >)(row->__Field(HX_("sha1",85,c8,52,4c),::hx::paccDynamic)) )),null());
+HXDLIN( 267) capsMap->set(k,_gthis->hydrateCaps(json,( (::Array< unsigned char >)(row->__Field(HX_("sha1",85,c8,52,4c),::hx::paccDynamic)) )));
+ }
+ }
+ }
+HXLINE( 269) result->__SetField(HX_("caps",21,1c,ba,41),null(),::hx::paccDynamic);
+HXLINE( 270) ::Array< ::Dynamic> chats = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 271) ::Dynamic row1 = null();
+HXLINE( 272) while(true){
+HXLINE( 272) row1 = ( (::cpp::VirtualArray)(result->__Field(HX_("chats",9b,9e,b3,45),::hx::paccDynamic)) )->pop();
+HXDLIN( 272) if (!(::hx::IsNotNull( row1 ))) {
+HXLINE( 272) goto _hx_goto_34;
+ }
+HXLINE( 273) ::haxe::ds::StringMap presenceMap = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 274) ::Dynamic presenceJson = ::Dynamic(row1->__Field(HX_("presenceJson",03,fa,cd,23),::hx::paccDynamic));
+HXLINE( 275) {
+HXLINE( 275) int _g1 = 0;
+HXDLIN( 275) ::Array< ::String > _g2 = ::Reflect_obj::fields(presenceJson);
+HXDLIN( 275) while((_g1 < _g2->length)){
+HXLINE( 275) ::String resource = _g2->__get(_g1);
+HXDLIN( 275) _g1 = (_g1 + 1);
+HXLINE( 276) ::Dynamic presence = ::Reflect_obj::field(presenceJson,resource);
+HXLINE( 277) ::Reflect_obj::deleteField(presenceJson,resource);
+HXLINE( 278) {
+HXLINE( 279) ::borogove::Caps v;
+HXDLIN( 279) if (::hx::IsNull( presence->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic) )) {
+HXLINE( 279) v = null();
+ }
+ else {
+HXLINE( 279) v = ( ( ::borogove::Caps)(capsMap->get(( (::String)(presence->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))) );
+ }
+HXLINE( 280) ::borogove::Stanza v1;
+HXDLIN( 280) bool v2;
+HXDLIN( 280) if (::hx::IsNotNull( presence->__Field(HX_("mucUser",e6,f3,96,b5),::hx::paccDynamic) )) {
+HXLINE( 280) v2 = ::borogove::Config_obj::constrainedMemoryMode;
+ }
+ else {
+HXLINE( 280) v2 = true;
+ }
+HXDLIN( 280) if (v2) {
+HXLINE( 280) v1 = null();
+ }
+ else {
+HXLINE( 280) v1 = ::borogove::Stanza_obj::parse(( (::String)(presence->__Field(HX_("mucUser",e6,f3,96,b5),::hx::paccDynamic)) ));
+ }
+HXLINE( 281) ::borogove::Hash v3;
+HXDLIN( 281) if (::hx::IsNull( presence->__Field(HX_("avatarHash",87,5c,82,37),::hx::paccDynamic) )) {
+HXLINE( 281) v3 = null();
+ }
+ else {
+HXLINE( 281) v3 = ::borogove::Hash_obj::fromUri(( (::String)(presence->__Field(HX_("avatarHash",87,5c,82,37),::hx::paccDynamic)) ));
+ }
+HXLINE( 278) presenceMap->set(resource, ::borogove::Presence_obj::__alloc( HX_CTX ,v,v1,v3));
+ }
+ }
+ }
+HXLINE( 285) ::String row2 = ( (::String)(row1->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) );
+HXDLIN( 285) bool _hx_tmp = ::hx::IsNotEq( row1->__Field(HX_("trusted",f7,b7,a6,16),::hx::paccDynamic),0 );
+HXDLIN( 285) ::Array< unsigned char > row3 = ( (::Array< unsigned char >)(row1->__Field(HX_("avatar_sha1",ab,69,a3,a4),::hx::paccDynamic)) );
+HXDLIN( 285) ::String row4 = ( (::String)(row1->__Field(HX_("fn",48,59,00,00),::hx::paccDynamic)) );
+HXDLIN( 285) ::Dynamic row5 = row1->__Field(HX_("ui_state",a6,9a,4e,b2),::hx::paccDynamic);
+HXDLIN( 285) bool _hx_tmp1 = ::hx::IsNotEq( row1->__Field(HX_("blocked",ec,7a,fe,44),::hx::paccDynamic),0 );
+HXDLIN( 285) ::String row6 = ( (::String)(row1->__Field(HX_("extensions",14,7c,70,89),::hx::paccDynamic)) );
+HXDLIN( 285) ::String row7 = ( (::String)(row1->__Field(HX_("read_up_to_id",84,60,ad,9e),::hx::paccDynamic)) );
+HXDLIN( 285) ::String row8 = ( (::String)(row1->__Field(HX_("read_up_to_by",80,5a,ad,9e),::hx::paccDynamic)) );
+HXDLIN( 285) ::Dynamic _hx_tmp2;
+HXDLIN( 285) if (::hx::IsNull( row1->__Field(HX_("notifications_filtered",4e,91,57,51),::hx::paccDynamic) )) {
+HXLINE( 285) _hx_tmp2 = null();
+ }
+ else {
+HXLINE( 285) _hx_tmp2 = ::hx::IsNotEq( row1->__Field(HX_("notifications_filtered",4e,91,57,51),::hx::paccDynamic),0 );
+ }
+HXDLIN( 285) bool _hx_tmp3 = ::hx::IsNotEq( row1->__Field(HX_("notify_mention",34,44,26,d0),::hx::paccDynamic),0 );
+HXDLIN( 285) bool _hx_tmp4 = ::hx::IsNotEq( row1->__Field(HX_("notify_reply",f4,e7,df,1b),::hx::paccDynamic),0 );
+HXDLIN( 285) ::borogove::Caps row9 = ( ( ::borogove::Caps)(row1->__Field(HX_("capsObj",56,b6,8b,a6),::hx::paccDynamic)) );
+HXDLIN( 285) chats->push( ::borogove::SerializedChat_obj::__alloc( HX_CTX ,row2,_hx_tmp,row3,presenceMap,row4,row5,_hx_tmp1,row6,row7,row8,_hx_tmp2,_hx_tmp3,_hx_tmp4,row9,::Array_obj< int >::__new(0),( (::String)(::Reflect_obj::field(row1,HX_("class",38,78,58,48))) )));
+ }
+ _hx_goto_34:;
+HXLINE( 287) return chats;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_241_getChats)
+HXDLIN( 241) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 242) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT chat_id, trusted, 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(presence) AS presence, class FROM chats LEFT JOIN caps ON chats.caps_ver=caps.sha1 WHERE account_id=?",32,f7,06,7e),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_2(_gthis)),null()), ::Dynamic(new _hx_Closure_3(_gthis)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,getChats,return )
+
+::Dynamic Sqlite_obj::storeMessages(::String accountId,::Array< ::Dynamic> messages){
+ 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_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_328_storeMessages)
+HXLINE( 328) ::borogove::persistence::SqliteDriver _gthis1 = _gthis->db;
+HXLINE( 329) ::Array< ::String > result = ::Array_obj< ::String >::__new(messages->length);
+HXDLIN( 329) {
+HXLINE( 329) int _g = 0;
+HXDLIN( 329) int _g1 = messages->length;
+HXDLIN( 329) while((_g < _g1)){
+HXLINE( 329) _g = (_g + 1);
+HXDLIN( 329) int i = (_g - 1);
+HXDLIN( 329) {
+HXLINE( 329) _hx_array_unsafe_get(messages,i);
+HXDLIN( 329) result->__unsafe_set(i,HX_("(?,?,?,?,?,?,?,?,CAST(unixepoch(?, 'subsec') * 1000 AS INTEGER),?,?,?,?,?)",a3,f4,ed,ae));
+ }
+ }
+ }
+HXDLIN( 329) ::String _hx_tmp = (HX_("INSERT OR REPLACE INTO messages VALUES ",28,32,a2,bc) + result->join(HX_(",",2c,00,00,00)));
+HXLINE( 330) ::Array< ::Dynamic> _g2 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 330) {
+HXLINE( 330) int _g_current = 0;
+HXDLIN( 330) ::Array< ::Dynamic> _g_array = messages;
+HXDLIN( 330) while((_g_current < _g_array->length)){
+HXLINE( 330) _g_current = (_g_current + 1);
+HXDLIN( 330) ::borogove::ChatMessage x = _g_array->__get((_g_current - 1)).StaticCast< ::borogove::ChatMessage >();
+HXLINE( 332) ::borogove::ChatMessage message;
+HXDLIN( 332) if ((x->versions->length == 1)) {
+HXLINE( 332) message = x->versions->__get(0).StaticCast< ::borogove::ChatMessage >();
+ }
+ else {
+HXLINE( 332) message = x;
+ }
+HXLINE( 334) ::String accountId1 = accountId;
+HXDLIN( 334) ::String _hx_tmp1;
+HXDLIN( 334) ::String tmp = message->serverId;
+HXDLIN( 334) if (::hx::IsNotNull( tmp )) {
+HXLINE( 334) _hx_tmp1 = tmp;
+ }
+ else {
+HXLINE( 334) _hx_tmp1 = HX_("",00,00,00,00);
+ }
+HXDLIN( 334) ::String _hx_tmp2;
+HXDLIN( 334) ::String tmp1 = message->serverIdBy;
+HXDLIN( 334) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 334) _hx_tmp2 = tmp1;
+ }
+ else {
+HXLINE( 334) _hx_tmp2 = HX_("",00,00,00,00);
+ }
+HXLINE( 335) ::String _hx_tmp3;
+HXDLIN( 335) ::String tmp2 = message->localId;
+HXDLIN( 335) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 335) _hx_tmp3 = tmp2;
+ }
+ else {
+HXLINE( 335) _hx_tmp3 = HX_("",00,00,00,00);
+ }
+HXDLIN( 335) ::String _hx_tmp4;
+HXDLIN( 335) ::String tmp3 = x->localId;
+HXDLIN( 335) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 335) _hx_tmp4 = tmp3;
+ }
+ else {
+HXLINE( 335) _hx_tmp4 = x->serverId;
+ }
+HXDLIN( 335) bool correctable = x->syncPoint;
+HXLINE( 336) ::String _hx_tmp5 = x->chatId();
+HXDLIN( 336) ::String correctable1 = x->senderId;
+HXLINE( 337) ::String message1 = message->timestamp;
+HXDLIN( 337) int message2 = message->status;
+HXDLIN( 337) int message3 = message->direction;
+HXDLIN( 337) int message4 = message->type;
+HXLINE( 338) ::String _hx_tmp6 = message->asStanza()->toString();
+HXLINE( 330) _g2->push(::cpp::VirtualArray_obj::__new(14)->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));
+ }
+ }
+HXDLIN( 330) ::cpp::VirtualArray _g3 = ::cpp::VirtualArray_obj::__new(0);
+HXDLIN( 330) {
+HXLINE( 330) ::Dynamic e = _g2->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 330) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 330) ::Dynamic x1 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 330) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 330) _g3->push(x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ }
+ }
+ }
+HXLINE( 328) return _gthis1->exec(_hx_tmp,_g3);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_2,::Array< ::Dynamic>,messages, ::borogove::persistence::Sqlite,_gthis,::Array< ::Dynamic>,replyTos,::String,accountId) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ 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_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_343_storeMessages)
+HXLINE( 343) return _gthis->hydrateReactions(accountId,ms);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_343_storeMessages)
+HXLINE( 343) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->hydrateReplyTo(accountId,messages,replyTos), ::Dynamic(new _hx_Closure_1(_gthis,accountId)),null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_292_storeMessages)
+HXDLIN( 292) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 293) if ((messages->length < 1)) {
+HXLINE( 294) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
+ }
+HXLINE( 297) ::Array< ::String > chatIds = ::Array_obj< ::String >::__new(0);
+HXLINE( 298) ::Array< ::String > localIds = ::Array_obj< ::String >::__new(0);
+HXLINE( 299) ::Array< ::Dynamic> replyTos = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 300) {
+HXLINE( 300) int _g = 0;
+HXDLIN( 300) while((_g < messages->length)){
+HXLINE( 300) ::borogove::ChatMessage message = messages->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 300) _g = (_g + 1);
+HXLINE( 301) bool _hx_tmp;
+HXDLIN( 301) if (::hx::IsNull( message->serverId )) {
+HXLINE( 301) _hx_tmp = ::hx::IsNull( message->localId );
+ }
+ else {
+HXLINE( 301) _hx_tmp = false;
+ }
+HXDLIN( 301) if (_hx_tmp) {
+HXLINE( 301) HX_STACK_DO_THROW(HX_("Cannot store a message with no id",54,e5,b0,de));
+ }
+HXLINE( 302) bool _hx_tmp1;
+HXDLIN( 302) if (::hx::IsNull( message->serverId )) {
+HXLINE( 302) _hx_tmp1 = message->isIncoming();
+ }
+ else {
+HXLINE( 302) _hx_tmp1 = false;
+ }
+HXDLIN( 302) if (_hx_tmp1) {
+HXLINE( 302) HX_STACK_DO_THROW(HX_("Cannot store an incoming message with no server id",d7,6d,19,fb));
+ }
+HXLINE( 303) bool _hx_tmp2;
+HXDLIN( 303) if (::hx::IsNotNull( message->serverId )) {
+HXLINE( 303) _hx_tmp2 = ::hx::IsNull( message->serverIdBy );
+ }
+ else {
+HXLINE( 303) _hx_tmp2 = false;
+ }
+HXDLIN( 303) if (_hx_tmp2) {
+HXLINE( 303) HX_STACK_DO_THROW(HX_("Cannot store a message with a server id and no by",00,9f,b7,38));
+ }
+HXLINE( 305) bool _hx_tmp3;
+HXDLIN( 305) if (!(message->isIncoming())) {
+HXLINE( 305) _hx_tmp3 = (message->versions->length < 1);
+ }
+ else {
+HXLINE( 305) _hx_tmp3 = false;
+ }
+HXDLIN( 305) if (_hx_tmp3) {
+HXLINE( 308) chatIds->push(message->chatId());
+HXLINE( 309) localIds->push(message->localId);
+ }
+HXLINE( 311) bool _hx_tmp4;
+HXDLIN( 311) if (::hx::IsNotNull( message->replyToMessage )) {
+HXLINE( 311) _hx_tmp4 = ::hx::IsNull( message->replyToMessage->serverIdBy );
+ }
+ else {
+HXLINE( 311) _hx_tmp4 = false;
+ }
+HXDLIN( 311) if (_hx_tmp4) {
+HXLINE( 312) ::Array< ::Dynamic> replyTos1 = replyTos;
+HXDLIN( 312) ::String _hx_tmp5 = message->chatId();
+HXDLIN( 312) replyTos1->push( ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("chatId",d3,04,77,b7),_hx_tmp5)
+ ->setFixed(1,HX_("serverId",7e,01,b2,e2),message->replyToMessage->serverId)
+ ->setFixed(2,HX_("localId",26,7a,c6,2d),message->replyToMessage->localId)));
+ }
+ }
+ }
+HXLINE( 316) ::Dynamic _hx_tmp6;
+HXDLIN( 316) bool _hx_tmp7;
+HXDLIN( 316) if ((chatIds->length > 0)) {
+HXLINE( 316) _hx_tmp7 = (localIds->length > 0);
+ }
+ else {
+HXLINE( 316) _hx_tmp7 = false;
+ }
+HXDLIN( 316) if (_hx_tmp7) {
+HXLINE( 318) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE( 319) {
+HXLINE( 319) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 319) q->flush();
+ }
+HXDLIN( 319) if (::hx::IsNull( q->b )) {
+HXLINE( 319) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_52,1);
+ }
+ else {
+HXLINE( 319) q->b->push(HX_("DELETE FROM messages WHERE account_id=? AND direction=? AND chat_id IN (",a1,9c,a2,06));
+ }
+ }
+HXLINE( 320) {
+HXLINE( 320) ::Array< ::String > result = ::Array_obj< ::String >::__new(chatIds->length);
+HXDLIN( 320) {
+HXLINE( 320) int _g1 = 0;
+HXDLIN( 320) int _g2 = chatIds->length;
+HXDLIN( 320) while((_g1 < _g2)){
+HXLINE( 320) _g1 = (_g1 + 1);
+HXDLIN( 320) int i = (_g1 - 1);
+HXDLIN( 320) {
+HXLINE( 320) _hx_array_unsafe_get(chatIds,i);
+HXDLIN( 320) result->__unsafe_set(i,HX_("?",3f,00,00,00));
+ }
+ }
+ }
+HXDLIN( 320) ::String x = result->join(HX_(",",2c,00,00,00));
+HXDLIN( 320) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 320) q->flush();
+ }
+HXDLIN( 320) if (::hx::IsNull( q->b )) {
+HXLINE( 320) q->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x));
+ }
+ else {
+HXLINE( 320) ::Array< ::String > q1 = q->b;
+HXDLIN( 320) q1->push(::Std_obj::string(x));
+ }
+ }
+HXLINE( 321) {
+HXLINE( 321) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 321) q->flush();
+ }
+HXDLIN( 321) if (::hx::IsNull( q->b )) {
+HXLINE( 321) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_53,1);
+ }
+ else {
+HXLINE( 321) q->b->push(HX_(") AND stanza_id IN (",e8,da,d3,eb));
+ }
+ }
+HXLINE( 322) {
+HXLINE( 322) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(localIds->length);
+HXDLIN( 322) {
+HXLINE( 322) int _g3 = 0;
+HXDLIN( 322) int _g4 = localIds->length;
+HXDLIN( 322) while((_g3 < _g4)){
+HXLINE( 322) _g3 = (_g3 + 1);
+HXDLIN( 322) int i1 = (_g3 - 1);
+HXDLIN( 322) {
+HXLINE( 322) _hx_array_unsafe_get(localIds,i1);
+HXDLIN( 322) result1->__unsafe_set(i1,HX_("?",3f,00,00,00));
+ }
+ }
+ }
+HXDLIN( 322) ::String x1 = result1->join(HX_(",",2c,00,00,00));
+HXDLIN( 322) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 322) q->flush();
+ }
+HXDLIN( 322) if (::hx::IsNull( q->b )) {
+HXLINE( 322) q->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x1));
+ }
+ else {
+HXLINE( 322) ::Array< ::String > q2 = q->b;
+HXDLIN( 322) q2->push(::Std_obj::string(x1));
+ }
+ }
+HXLINE( 323) {
+HXLINE( 323) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 323) q->flush();
+ }
+HXDLIN( 323) if (::hx::IsNull( q->b )) {
+HXLINE( 323) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_54,1);
+ }
+ else {
+HXLINE( 323) q->b->push(HX_(")",29,00,00,00));
+ }
+ }
+HXLINE( 324) ::borogove::persistence::SqliteDriver _hx_tmp8 = this->db;
+HXDLIN( 324) ::String _hx_tmp9 = q->toString();
+HXLINE( 316) _hx_tmp6 = _hx_tmp8->exec(_hx_tmp9,::cpp::VirtualArray_obj::__new(2)->init(0,accountId)->init(1,1)->concat(chatIds)->concat(localIds));
+ }
+ else {
+HXLINE( 316) _hx_tmp6 = ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+HXDLIN( 316) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp6, ::Dynamic(new _hx_Closure_0(messages,_gthis,accountId)),null()), ::Dynamic(new _hx_Closure_2(messages,_gthis,replyTos,accountId)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,storeMessages,return )
+
+void Sqlite_obj::updateMessage(::String accountId, ::borogove::ChatMessage message){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_351_updateMessage)
+HXDLIN( 351) this->storeMessages(accountId,::Array_obj< ::Dynamic>::__new(1)->init(0,message));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,updateMessage,(void))
+
+::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_374_getMessage)
+HXLINE( 374) return _gthis->hydrateMessages(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_381_getMessage)
+HXLINE( 381) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 381) {
+HXLINE( 381) int _g_current = 0;
+HXDLIN( 381) while((_g_current < items->length)){
+HXLINE( 381) _g_current = (_g_current + 1);
+HXDLIN( 381) {
+HXLINE( 381) ::Dynamic x = items->__get((_g_current - 1)).StaticCast< ::Array< ::Dynamic> >()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 381) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 381) _g->push(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ }
+ }
+ }
+ }
+HXDLIN( 381) 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_381_getMessage)
+HXLINE( 381) if ((items->length > 0)) {
+HXLINE( 381) return items->__get(0).StaticCast< ::borogove::ChatMessage >();
+ }
+ else {
+HXLINE( 381) return null();
+ }
+HXDLIN( 381) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_375_getMessage)
+HXLINE( 375) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(messages->length);
+HXDLIN( 375) {
+HXLINE( 375) int _g = 0;
+HXDLIN( 375) int _g1 = messages->length;
+HXDLIN( 375) while((_g < _g1)){
+HXLINE( 375) _g = (_g + 1);
+HXDLIN( 375) int i = (_g - 1);
+HXDLIN( 375) {
+ 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_380_getMessage)
+HXLINE( 380) return _gthis->hydrateReactions(accountId,messages);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 376) ::borogove::ChatMessage message = ( ( ::borogove::ChatMessage)(_hx_array_unsafe_get(messages,i)) );
+HXDLIN( 376) ::Dynamic inValue;
+HXDLIN( 376) if (::hx::IsNotNull( message->replyToMessage )) {
+HXLINE( 376) 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( 376) inValue = ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(1)->init(0,message));
+ }
+HXLINE( 375) ::Dynamic inValue1 = ::thenshim::_Promise::Promise_Impl__obj::then(inValue, ::Dynamic(new _hx_Closure_1(_gthis,accountId)),null());
+HXDLIN( 375) result->__unsafe_set(i,inValue1);
+ }
+ }
+ }
+HXDLIN( 375) 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());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_363_getMessage)
+HXDLIN( 363) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 364) ::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 FROM messages WHERE account_id=? AND chat_id=?",95,dd,7c,85);
+HXLINE( 365) ::Array< ::String > params = ::Array_obj< ::String >::__new(2)->init(0,accountId)->init(1,chatId);
+HXLINE( 366) if (::hx::IsNotNull( serverId )) {
+HXLINE( 367) 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 FROM messages WHERE account_id=? AND chat_id=?",95,dd,7c,85) + HX_(" AND mam_id=?",4c,af,2b,c9));
+HXLINE( 368) params->push(serverId);
+ }
+ else {
+HXLINE( 369) if (::hx::IsNotNull( localId )) {
+HXLINE( 370) 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 FROM messages WHERE account_id=? AND chat_id=?",95,dd,7c,85) + HX_(" AND stanza_id=?",be,a8,32,e3));
+HXLINE( 371) params->push(localId);
+ }
+ }
+HXLINE( 373) q = (q + HX_("LIMIT 1",ec,af,c7,0e));
+HXLINE( 374) 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());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,getMessage,return )
+
+void Sqlite_obj::getMessage__fromC(::String accountId,::String chatId,::String serverId,::String localId,::cpp::Function< void (void*,void*) > handler,void* handler__context){
+ HX_STACKFRAME(&_hx_pos_e0e41eef74e41160_313_getMessage__fromC)
+HXDLIN( 313) if (::hx::IsNull( handler )) {
+HXDLIN( 313) this->getMessage(accountId,chatId,serverId,localId);
+ }
+ 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::ChatMessage v){
+ HX_STACKFRAME(&_hx_pos_e0e41eef74e41160_313_getMessage__fromC)
+HXDLIN( 313) ::cpp::Function< void (void*,void*) > handler1 = handler;
+HXLINE( 297) ::Dynamic haxeObject = v;
+HXDLIN( 297) void* ptr = haxeObject.mPtr;
+HXDLIN( 297) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 297) {
+HXLINE( 297) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 297) if (::hx::IsNull( store )) {
+HXLINE( 297) 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( 297) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 297) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 313) 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_e0e41eef74e41160_313_getMessage__fromC)
+HXDLIN( 313) handler(null(),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 313) ::thenshim::_Promise::Promise_Impl__obj::then(this->getMessage(accountId,chatId,serverId,localId), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+ }
+ }
+
+
+::Dynamic Sqlite_obj::getMessages(::String accountId,::String chatId,::String time,::String op){
+ 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_412_getMessages)
+HXLINE( 412) return _gthis->hydrateMessages(accountId,result);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::borogove::persistence::Sqlite,_gthis,::String,op,::String,accountId) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> iter){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_412_getMessages)
+HXLINE( 413) ::Array< ::Dynamic> arr = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 414) ::Array< ::Dynamic> replyTos = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 415) {
+HXLINE( 415) int _g = 0;
+HXDLIN( 415) while((_g < iter->length)){
+HXLINE( 415) ::borogove::ChatMessage message = iter->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 415) _g = (_g + 1);
+HXLINE( 416) if (::hx::IsNotNull( message )) {
+HXLINE( 417) arr->push(message);
+HXLINE( 418) bool _hx_tmp;
+HXDLIN( 418) if (::hx::IsNotNull( message->replyToMessage )) {
+HXLINE( 418) _hx_tmp = ::hx::IsNull( message->replyToMessage->serverIdBy );
+ }
+ else {
+HXLINE( 418) _hx_tmp = false;
+ }
+HXDLIN( 418) if (_hx_tmp) {
+HXLINE( 419) ::String _hx_tmp1 = message->chatId();
+HXDLIN( 419) replyTos->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( 423) bool _hx_tmp2;
+HXDLIN( 423) if ((op != HX_("<",3c,00,00,00))) {
+HXLINE( 423) _hx_tmp2 = (op == HX_("<=",81,34,00,00));
+ }
+ else {
+HXLINE( 423) _hx_tmp2 = true;
+ }
+HXDLIN( 423) if (_hx_tmp2) {
+HXLINE( 424) arr->reverse();
+ }
+HXLINE( 426) return _gthis->hydrateReplyTo(accountId,arr,replyTos);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> messages){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_427_getMessages)
+HXLINE( 427) return _gthis->hydrateReactions(accountId,messages);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_385_getMessages)
+HXDLIN( 385) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 386) ::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.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 IS NULL OR messages.stanza_id='' OR messages.stanza_id=correction_id) AND messages.account_id=? AND messages.chat_id=?",e9,a2,7e,af);
+HXLINE( 402) ::Array< ::String > params = ::Array_obj< ::String >::__new(2)->init(0,accountId)->init(1,chatId);
+HXLINE( 403) if (::hx::IsNotNull( time )) {
+HXLINE( 404) 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.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 IS NULL OR messages.stanza_id='' OR messages.stanza_id=correction_id) AND messages.account_id=? AND messages.chat_id=?",e9,a2,7e,af) + ((HX_(" AND messages.created_at ",3d,a0,ae,bb) + op) + HX_("CAST(unixepoch(?, 'subsec') * 1000 AS INTEGER)",17,de,5d,f8)));
+HXLINE( 405) params->push(time);
+ }
+HXLINE( 407) q = (q + HX_(" GROUP BY correction_id, messages.sender_id ORDER BY messages.created_at",6a,b6,3b,02));
+HXLINE( 408) bool _hx_tmp;
+HXDLIN( 408) if ((op != HX_("<",3c,00,00,00))) {
+HXLINE( 408) _hx_tmp = (op == HX_("<=",81,34,00,00));
+ }
+ else {
+HXLINE( 408) _hx_tmp = true;
+ }
+HXDLIN( 408) if (_hx_tmp) {
+HXLINE( 408) q = (q + HX_(" DESC",71,b6,f9,99));
+ }
+HXLINE( 409) q = (q + HX_(", messages.ROWID",a7,cc,85,7b));
+HXLINE( 410) bool _hx_tmp1;
+HXDLIN( 410) if ((op != HX_("<",3c,00,00,00))) {
+HXLINE( 410) _hx_tmp1 = (op == HX_("<=",81,34,00,00));
+ }
+ else {
+HXLINE( 410) _hx_tmp1 = true;
+ }
+HXDLIN( 410) if (_hx_tmp1) {
+HXLINE( 410) q = (q + HX_(" DESC",71,b6,f9,99));
+ }
+HXLINE( 411) q = (q + HX_(" LIMIT 50",60,62,1f,3e));
+HXLINE( 412) return ::thenshim::_Promise::Promise_Impl__obj::then(::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(_gthis,op,accountId)),null()), ::Dynamic(new _hx_Closure_2(_gthis,accountId)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,getMessages,return )
+
+::Dynamic Sqlite_obj::getMessagesBefore(::String accountId,::String chatId,::String beforeId,::String beforeTime){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_432_getMessagesBefore)
+HXDLIN( 432) return this->getMessages(accountId,chatId,beforeTime,HX_("<",3c,00,00,00));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,getMessagesBefore,return )
+
+::Dynamic Sqlite_obj::getMessagesAfter(::String accountId,::String chatId,::String afterId,::String afterTime){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_437_getMessagesAfter)
+HXDLIN( 437) return this->getMessages(accountId,chatId,afterTime,HX_(">",3e,00,00,00));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,getMessagesAfter,return )
+
+::Dynamic Sqlite_obj::getMessagesAround(::String accountId,::String chatId,::String aroundId,::String aroundTime){
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_2, ::borogove::persistence::Sqlite,_gthis,::String,chatId,::String,accountId) HXARGC(1)
+ ::Dynamic _hx_run(::String aroundTime){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_453_getMessagesAround)
+HXLINE( 454) ::Dynamic _hx_tmp = _gthis->getMessages(accountId,chatId,aroundTime,HX_("<",3c,00,00,00));
+HXLINE( 453) return ::thenshim::PromiseTools_obj::all(::Array_obj< ::Dynamic>::__new(2)->init(0,_hx_tmp)->init(1,_gthis->getMessages(accountId,chatId,aroundTime,HX_(">=",3f,36,00,00))));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_3) HXARGC(1)
+ ::Array< ::Dynamic> _hx_run(::Array< ::Dynamic> results){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_457_getMessagesAround)
+HXLINE( 457) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 457) {
+HXLINE( 457) int _g_current = 0;
+HXDLIN( 457) while((_g_current < results->length)){
+HXLINE( 457) _g_current = (_g_current + 1);
+HXDLIN( 457) {
+HXLINE( 457) ::Dynamic x = results->__get((_g_current - 1)).StaticCast< ::Array< ::Dynamic> >()->__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) _g->push(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ }
+ }
+ }
+ }
+HXDLIN( 457) return _g;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_441_getMessagesAround)
+HXDLIN( 441) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 442) ::Dynamic _hx_tmp;
+HXDLIN( 442) if (::hx::IsNull( aroundTime )) {
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_1, ::borogove::persistence::Sqlite,_gthis,::String,chatId,::String,aroundId,::String,accountId) HXARGC(1)
+ ::Dynamic _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_444_getMessagesAround)
+HXLINE( 444) if (::hx::IsNotNull( m )) {
+HXLINE( 445) return ::thenshim::_Promise::Promise_Impl__obj::resolve(m->timestamp);
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_447_getMessagesAround)
+HXLINE( 447) if (::hx::IsNotNull( m )) {
+HXLINE( 447) return m->timestamp;
+ }
+ else {
+HXLINE( 447) return null();
+ }
+HXDLIN( 447) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 447) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->getMessage(accountId,chatId,null(),aroundId), ::Dynamic(new _hx_Closure_0()),null());
+ }
+HXLINE( 444) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 442) _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::then(this->getMessage(accountId,chatId,aroundId,null()), ::Dynamic(new _hx_Closure_1(_gthis,chatId,aroundId,accountId)),null());
+ }
+ else {
+HXLINE( 442) _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::resolve(aroundTime);
+ }
+HXDLIN( 442) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp, ::Dynamic(new _hx_Closure_2(_gthis,chatId,accountId)),null()), ::Dynamic(new _hx_Closure_3()),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,getMessagesAround,return )
+
+::Dynamic Sqlite_obj::getChatsUnreadDetails(::String accountId,::Array< ::Dynamic> chats){
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::Array< ::Dynamic>,chats,::String,accountId) HXARGC(1)
+ ::Dynamic _hx_run( ::Dynamic _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_466_getChatsUnreadDetails)
+HXLINE( 467) ::cpp::VirtualArray params = ::cpp::VirtualArray_obj::__new(1)->init(0,accountId);
+HXLINE( 469) ::StringBuf subq = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE( 470) {
+HXLINE( 470) if (::hx::IsNotNull( subq->charBuf )) {
+HXLINE( 470) subq->flush();
+ }
+HXDLIN( 470) if (::hx::IsNull( subq->b )) {
+HXLINE( 470) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_87,1);
+ }
+ else {
+HXLINE( 470) subq->b->push(HX_("SELECT chat_id, ROWID as row, MAX(created_at) AS created_at FROM messages WHERE account_id=?",d0,69,08,92));
+ }
+ }
+HXLINE( 471) {
+HXLINE( 471) if (::hx::IsNotNull( subq->charBuf )) {
+HXLINE( 471) subq->flush();
+ }
+HXDLIN( 471) if (::hx::IsNull( subq->b )) {
+HXLINE( 471) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_88,1);
+ }
+ else {
+HXLINE( 471) subq->b->push(HX_(" AND chat_id IN (",14,bd,7b,de));
+ }
+ }
+HXLINE( 472) {
+HXLINE( 472) int _g_current = 0;
+HXDLIN( 472) ::Array< ::Dynamic> _g_array = chats;
+HXDLIN( 472) while((_g_current < _g_array->length)){
+HXLINE( 472) ::borogove::Chat _g_value = _g_array->__get(_g_current).StaticCast< ::borogove::Chat >();
+HXDLIN( 472) _g_current = (_g_current + 1);
+HXDLIN( 472) {
+HXLINE( 473) if (((_g_current - 1) != 0)) {
+HXLINE( 473) if (::hx::IsNotNull( subq->charBuf )) {
+HXLINE( 473) subq->flush();
+ }
+HXDLIN( 473) if (::hx::IsNull( subq->b )) {
+HXLINE( 473) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_89,1);
+ }
+ else {
+HXLINE( 473) subq->b->push(HX_(",",2c,00,00,00));
+ }
+ }
+HXLINE( 474) {
+HXLINE( 474) if (::hx::IsNotNull( subq->charBuf )) {
+HXLINE( 474) subq->flush();
+ }
+HXDLIN( 474) if (::hx::IsNull( subq->b )) {
+HXLINE( 474) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_90,1);
+ }
+ else {
+HXLINE( 474) subq->b->push(HX_("?",3f,00,00,00));
+ }
+ }
+HXLINE( 475) params->push(_g_value->chatId);
+ }
+ }
+ }
+HXLINE( 477) {
+HXLINE( 477) if (::hx::IsNotNull( subq->charBuf )) {
+HXLINE( 477) subq->flush();
+ }
+HXDLIN( 477) if (::hx::IsNull( subq->b )) {
+HXLINE( 477) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_91,1);
+ }
+ else {
+HXLINE( 477) subq->b->push(HX_(") AND (mam_id IN (",64,f4,1c,69));
+ }
+ }
+HXLINE( 478) bool didOne = false;
+HXLINE( 479) {
+HXLINE( 479) int _g = 0;
+HXDLIN( 479) while((_g < chats->length)){
+HXLINE( 479) ::borogove::Chat chat = chats->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN( 479) _g = (_g + 1);
+HXLINE( 480) if (::hx::IsNotNull( chat->readUpTo() )) {
+HXLINE( 481) if (didOne) {
+HXLINE( 481) if (::hx::IsNotNull( subq->charBuf )) {
+HXLINE( 481) subq->flush();
+ }
+HXDLIN( 481) if (::hx::IsNull( subq->b )) {
+HXLINE( 481) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_92,1);
+ }
+ else {
+HXLINE( 481) subq->b->push(HX_(",",2c,00,00,00));
+ }
+ }
+HXLINE( 482) {
+HXLINE( 482) if (::hx::IsNotNull( subq->charBuf )) {
+HXLINE( 482) subq->flush();
+ }
+HXDLIN( 482) if (::hx::IsNull( subq->b )) {
+HXLINE( 482) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_93,1);
+ }
+ else {
+HXLINE( 482) subq->b->push(HX_("?",3f,00,00,00));
+ }
+ }
+HXLINE( 483) params->push(chat->readUpTo());
+HXLINE( 484) didOne = true;
+ }
+ }
+ }
+HXLINE( 487) {
+HXLINE( 487) if (::hx::IsNotNull( subq->charBuf )) {
+HXLINE( 487) subq->flush();
+ }
+HXDLIN( 487) if (::hx::IsNull( subq->b )) {
+HXLINE( 487) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_94,1);
+ }
+ else {
+HXLINE( 487) subq->b->push(HX_(") OR direction=?) GROUP BY chat_id",cc,ab,94,e3));
+ }
+ }
+HXLINE( 488) params->push(1);
+HXLINE( 490) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE( 491) {
+HXLINE( 491) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 491) q->flush();
+ }
+HXDLIN( 491) if (::hx::IsNull( q->b )) {
+HXLINE( 491) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_95,1);
+ }
+ else {
+HXLINE( 491) q->b->push(HX_("SELECT chat_id AS chatId, stanza, direction, type, status, status_text, sender_id, mam_id, mam_by, sync_point, CASE WHEN subq.created_at IS NULL THEN COUNT(*) ELSE COUNT(*) - 1 END AS unreadCount, strftime('%FT%H:%M:%fZ', MAX(messages.created_at) / 1000.0, 'unixepoch') AS timestamp FROM messages LEFT JOIN (",42,d1,dc,39));
+ }
+ }
+HXLINE( 492) {
+HXLINE( 492) ::String x = subq->toString();
+HXDLIN( 492) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 492) q->flush();
+ }
+HXDLIN( 492) if (::hx::IsNull( q->b )) {
+HXLINE( 492) q->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x));
+ }
+ else {
+HXLINE( 492) ::Array< ::String > q1 = q->b;
+HXDLIN( 492) q1->push(::Std_obj::string(x));
+ }
+ }
+HXLINE( 493) {
+HXLINE( 493) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 493) q->flush();
+ }
+HXDLIN( 493) if (::hx::IsNull( q->b )) {
+HXLINE( 493) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_96,1);
+ }
+ else {
+HXLINE( 493) q->b->push(HX_(") subq USING (chat_id) WHERE account_id=? AND (stanza_id IS NULL OR stanza_id='' OR stanza_id=correction_id) AND chat_id IN (",e7,a1,32,e5));
+ }
+ }
+HXLINE( 494) params->push(accountId);
+HXLINE( 495) {
+HXLINE( 495) int _g_current1 = 0;
+HXDLIN( 495) ::Array< ::Dynamic> _g_array1 = chats;
+HXDLIN( 495) while((_g_current1 < _g_array1->length)){
+HXLINE( 495) ::borogove::Chat _g_value1 = _g_array1->__get(_g_current1).StaticCast< ::borogove::Chat >();
+HXDLIN( 495) _g_current1 = (_g_current1 + 1);
+HXDLIN( 495) {
+HXLINE( 496) if (((_g_current1 - 1) != 0)) {
+HXLINE( 496) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 496) q->flush();
+ }
+HXDLIN( 496) if (::hx::IsNull( q->b )) {
+HXLINE( 496) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_97,1);
+ }
+ else {
+HXLINE( 496) q->b->push(HX_(",",2c,00,00,00));
+ }
+ }
+HXLINE( 497) {
+HXLINE( 497) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 497) q->flush();
+ }
+HXDLIN( 497) if (::hx::IsNull( q->b )) {
+HXLINE( 497) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_98,1);
+ }
+ else {
+HXLINE( 497) q->b->push(HX_("?",3f,00,00,00));
+ }
+ }
+HXLINE( 498) params->push(_g_value1->chatId);
+ }
+ }
+ }
+HXLINE( 500) {
+HXLINE( 500) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 500) q->flush();
+ }
+HXDLIN( 500) if (::hx::IsNull( q->b )) {
+HXLINE( 500) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_99,1);
+ }
+ else {
+HXLINE( 500) q->b->push(HX_(") AND (subq.created_at IS NULL OR messages.created_at > subq.created_at OR (messages.created_at=subq.created_at AND messages.ROWID >= subq.row)) GROUP BY chat_id;",58,6f,52,ea));
+ }
+ }
+HXLINE( 501) ::borogove::persistence::SqliteDriver _gthis1 = _gthis->db;
+HXDLIN( 501) return _gthis1->exec(q->toString(),params);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
+ ::cpp::VirtualArray _hx_run( ::haxe::iterators::ArrayIterator result){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::haxe::iterators::ArrayIterator,result) HXARGC(0)
+ ::haxe::iterators::ArrayIterator _hx_run(){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_503_getChatsUnreadDetails)
+HXLINE( 503) return result;
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_503_getChatsUnreadDetails)
+HXLINE( 503) return ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_1(result)))));
+ }
+ 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(::cpp::VirtualArray rows){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3,::cpp::VirtualArray,rows) HXARGC(1)
+ ::Array< ::Dynamic> _hx_run(::Array< ::Dynamic> messages){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_505_getChatsUnreadDetails)
+HXLINE( 506) ::Array< ::Dynamic> details = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 507) {
+HXLINE( 507) int _g_current = 0;
+HXDLIN( 507) while((_g_current < messages->length)){
+HXLINE( 507) ::borogove::ChatMessage _g_value = messages->__get(_g_current).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 507) _g_current = (_g_current + 1);
+HXDLIN( 507) int _g_key = (_g_current - 1);
+HXLINE( 508) details->push( ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("message",c7,35,11,9a),_g_value)
+ ->setFixed(1,HX_("unreadCount",20,18,f1,a0), ::Dynamic(rows->__get(_g_key)->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic)))
+ ->setFixed(2,HX_("chatId",d3,04,77,b7), ::Dynamic(rows->__get(_g_key)->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)))));
+ }
+ }
+HXLINE( 514) return details;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_505_getChatsUnreadDetails)
+HXLINE( 505) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::resolve(_gthis->hydrateMessages(accountId, ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,rows))), ::Dynamic(new _hx_Closure_3(rows)),null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_461_getChatsUnreadDetails)
+HXDLIN( 461) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 462) bool _hx_tmp;
+HXDLIN( 462) if (::hx::IsNotNull( chats )) {
+HXLINE( 462) _hx_tmp = (chats->length < 1);
+ }
+ else {
+HXLINE( 462) _hx_tmp = true;
+ }
+HXDLIN( 462) if (_hx_tmp) {
+HXLINE( 463) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+HXLINE( 466) return ::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(_gthis,chats,accountId)),null()), ::Dynamic(new _hx_Closure_2()),null()), ::Dynamic(new _hx_Closure_4(_gthis,accountId)),null());
+ }
+
+
+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_529_storeReaction)
+HXLINE( 529) return _gthis->getMessage(accountId,update->chatId,update->serverId,update->localId);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_520_storeReaction)
+HXDLIN( 520) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 521) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
+HXLINE( 524) ::String accountId1 = accountId;
+HXDLIN( 524) ::String update1 = update->updateId;
+HXDLIN( 524) ::String update2 = update->serverId;
+HXDLIN( 524) ::String update3 = update->serverIdBy;
+HXLINE( 525) ::String update4 = update->localId;
+HXDLIN( 525) ::String update5 = update->chatId;
+HXDLIN( 525) ::String update6 = update->senderId;
+HXDLIN( 525) ::String update7 = update->timestamp;
+HXLINE( 526) ::String _hx_tmp1 = ::borogove::JsonPrinter_obj::print(update->reactions,null(),null());
+HXLINE( 521) 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_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::String,localId,::String,accountId) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_539_updateMessageStatus)
+HXLINE( 539) return _gthis->db->exec(HX_("SELECT 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, mam_id, mam_by, sync_point FROM messages WHERE account_id=? AND stanza_id=? AND direction=? LIMIT 1",ed,02,c0,1d),::cpp::VirtualArray_obj::__new(3)->init(0,accountId)->init(1,localId)->init(2,1));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator result){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_544_updateMessageStatus)
+HXLINE( 544) ::Array< ::Dynamic> _this = _gthis->hydrateMessages(accountId,result);
+HXDLIN( 544) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN( 544) {
+HXLINE( 544) int _g = 0;
+HXDLIN( 544) int _g1 = _this->length;
+HXDLIN( 544) while((_g < _g1)){
+HXLINE( 544) _g = (_g + 1);
+HXDLIN( 544) int i = (_g - 1);
+HXDLIN( 544) {
+ 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_549_updateMessageStatus)
+HXLINE( 549) return _gthis->hydrateReactions(accountId,messages);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 545) ::borogove::ChatMessage message = ( ( ::borogove::ChatMessage)(_hx_array_unsafe_get(_this,i)) );
+HXDLIN( 545) ::Dynamic inValue;
+HXDLIN( 545) if (::hx::IsNotNull( message->replyToMessage )) {
+HXLINE( 546) ::borogove::persistence::Sqlite _gthis1 = _gthis;
+HXDLIN( 546) ::String accountId1 = accountId;
+HXDLIN( 546) ::String inValue1 = message->chatId();
+HXLINE( 545) 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( 545) inValue = ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(1)->init(0,message));
+ }
+HXLINE( 544) ::Dynamic inValue2 = ::thenshim::_Promise::Promise_Impl__obj::then(inValue, ::Dynamic(new _hx_Closure_1(_gthis,accountId)),null());
+HXDLIN( 544) result1->__unsafe_set(i,inValue2);
+ }
+ }
+ }
+HXDLIN( 544) return ::thenshim::PromiseTools_obj::all(result1);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_3) HXARGC(1)
+ ::Array< ::Dynamic> _hx_run(::Array< ::Dynamic> hydrated){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_551_updateMessageStatus)
+HXLINE( 551) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 551) {
+HXLINE( 551) int _g_current = 0;
+HXDLIN( 551) while((_g_current < hydrated->length)){
+HXLINE( 551) _g_current = (_g_current + 1);
+HXDLIN( 551) {
+HXLINE( 551) ::Dynamic x = hydrated->__get((_g_current - 1)).StaticCast< ::Array< ::Dynamic> >()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 551) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 551) _g->push(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ }
+ }
+ }
+ }
+HXDLIN( 551) return _g;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4,::String,localId) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> hydrated){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_551_updateMessageStatus)
+HXLINE( 551) if ((hydrated->length > 0)) {
+HXLINE( 551) return ::thenshim::_Promise::Promise_Impl__obj::resolve(hydrated->__get(0).StaticCast< ::borogove::ChatMessage >());
+ }
+ else {
+HXLINE( 551) return ::thenshim::_Promise::Promise_Impl__obj::reject((HX_("Message not found: ",62,21,15,ae) + localId));
+ }
+HXDLIN( 551) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_534_updateMessageStatus)
+HXDLIN( 534) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 535) 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(this->db->exec(HX_("UPDATE messages SET status=?, status_text=? WHERE account_id=? AND stanza_id=? AND direction=? AND status <> ? AND status <> ?",71,68,f3,d1),::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,localId,accountId)),null()), ::Dynamic(new _hx_Closure_2(_gthis,accountId)),null()), ::Dynamic(new _hx_Closure_3()),null()), ::Dynamic(new _hx_Closure_4(localId)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,updateMessageStatus,return )
+
+::Dynamic Sqlite_obj::hasMedia(::String hashAlgorithm,::Array< unsigned char > hash){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_556_hasMedia)
+HXDLIN( 556) return ::borogove::persistence::MediaStore_obj::hasMedia(this->media,hashAlgorithm,hash);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,hasMedia,return )
+
+void Sqlite_obj::removeMedia(::String hashAlgorithm,::Array< unsigned char > hash){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_561_removeMedia)
+HXDLIN( 561) ::borogove::persistence::MediaStore_obj::removeMedia(this->media,hashAlgorithm,hash);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,removeMedia,(void))
+
+::Dynamic Sqlite_obj::storeMedia(::String mime,::Array< unsigned char > bd){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_566_storeMedia)
+HXDLIN( 566) return ::borogove::persistence::MediaStore_obj::storeMedia(this->media,mime,bd);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,storeMedia,return )
+
+void Sqlite_obj::storeCaps( ::borogove::Caps caps){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_571_storeCaps)
+HXDLIN( 571) ::haxe::ds::ObjectMap _g = ::haxe::ds::ObjectMap_obj::__alloc( HX_CTX );
+HXDLIN( 571) _g->set(caps->verRaw()->hash,caps);
+HXDLIN( 571) this->storeCapsSet(_g);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,storeCaps,(void))
+
+void Sqlite_obj::storeCapsSet( ::haxe::ds::ObjectMap capsSet){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_574_storeCapsSet)
+HXLINE( 575) ::cpp::VirtualArray params = ::cpp::VirtualArray_obj::__new(0);
+HXLINE( 576) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE( 577) {
+HXLINE( 577) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 577) q->flush();
+ }
+HXDLIN( 577) if (::hx::IsNull( q->b )) {
+HXLINE( 577) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_123,1);
+ }
+ else {
+HXLINE( 577) q->b->push(HX_("INSERT OR IGNORE INTO caps VALUES ",27,4b,68,bf));
+ }
+ }
+HXLINE( 578) bool first = true;
+HXLINE( 579) {
+HXLINE( 579) ::Dynamic map = capsSet;
+HXDLIN( 579) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
+HXDLIN( 579) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 579) ::Array< unsigned char > key = ( (::Array< unsigned char >)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN( 579) ::borogove::Caps _g_value = ( ( ::borogove::Caps)(::haxe::IMap_obj::get(map,key)) );
+HXDLIN( 579) {
+HXLINE( 580) if (!(first)) {
+HXLINE( 580) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 580) q->flush();
+ }
+HXDLIN( 580) if (::hx::IsNull( q->b )) {
+HXLINE( 580) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_124,1);
+ }
+ else {
+HXLINE( 580) q->b->push(HX_(",",2c,00,00,00));
+ }
+ }
+HXLINE( 581) {
+HXLINE( 581) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 581) q->flush();
+ }
+HXDLIN( 581) if (::hx::IsNull( q->b )) {
+HXLINE( 581) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_125,1);
+ }
+ else {
+HXLINE( 581) q->b->push(HX_("(?,jsonb(?))",1c,61,06,9e));
+ }
+ }
+HXLINE( 582) params->push(key);
+HXLINE( 583) ::String caps = _g_value->node;
+HXDLIN( 583) ::Array< ::Dynamic> caps1 = _g_value->identities;
+HXDLIN( 583) ::Array< ::String > caps2 = _g_value->features;
+HXDLIN( 583) ::Array< ::Dynamic> _this = _g_value->data;
+HXDLIN( 583) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 583) {
+HXLINE( 583) int _g = 0;
+HXDLIN( 583) int _g1 = _this->length;
+HXDLIN( 583) while((_g < _g1)){
+HXLINE( 583) _g = (_g + 1);
+HXDLIN( 583) int i = (_g - 1);
+HXDLIN( 583) {
+HXLINE( 583) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->toString();
+HXDLIN( 583) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 583) params->push(::borogove::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)),null(),null()));
+HXLINE( 584) first = false;
+ }
+ }
+ }
+HXLINE( 586) if ((params->get_length() < 1)) {
+HXLINE( 586) return;
+ }
+HXLINE( 587) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
+HXDLIN( 587) _hx_tmp->exec(q->toString(),params);
+ }
+
+
+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_600_getCaps)
+HXLINE( 601) while((result->current < result->array->get_length())){
+HXLINE( 602) ::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( 603) return _gthis->hydrateCaps(json,verData);
+ }
+HXLINE( 605) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_591_getCaps)
+HXDLIN( 591) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 592) ::Array< unsigned char > verData;
+HXDLIN( 592) try {
+ HX_STACK_CATCHABLE( ::Dynamic, 0);
+HXLINE( 592) 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( 595) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ else {
+ HX_STACK_DO_THROW(_hx_e);
+ }
+ }
+HXLINE( 597) 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 )
+
+void Sqlite_obj::storeLogin(::String accountId,::String clientId,::String displayName,::String token){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_610_storeLogin)
+HXLINE( 611) ::Array< ::String > params = ::Array_obj< ::String >::__new(3)->init(0,accountId)->init(1,clientId)->init(2,displayName);
+HXLINE( 612) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE( 613) {
+HXLINE( 613) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 613) q->flush();
+ }
+HXDLIN( 613) if (::hx::IsNull( q->b )) {
+HXLINE( 613) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_130,1);
+ }
+ else {
+HXLINE( 613) q->b->push(HX_("INSERT INTO accounts (account_id, client_id, display_name",03,b0,6a,0b));
+ }
+ }
+HXLINE( 614) if (::hx::IsNotNull( token )) {
+HXLINE( 615) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 615) q->flush();
+ }
+HXDLIN( 615) if (::hx::IsNull( q->b )) {
+HXLINE( 615) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_131,1);
+ }
+ else {
+HXLINE( 615) q->b->push(HX_(", token, fast_count",a5,56,e4,ae));
+ }
+ }
+HXLINE( 617) {
+HXLINE( 617) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 617) q->flush();
+ }
+HXDLIN( 617) if (::hx::IsNull( q->b )) {
+HXLINE( 617) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_132,1);
+ }
+ else {
+HXLINE( 617) q->b->push(HX_(") VALUES (?,?,?",c4,1c,e3,67));
+ }
+ }
+HXLINE( 618) if (::hx::IsNotNull( token )) {
+HXLINE( 619) {
+HXLINE( 619) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 619) q->flush();
+ }
+HXDLIN( 619) if (::hx::IsNull( q->b )) {
+HXLINE( 619) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_133,1);
+ }
+ else {
+HXLINE( 619) q->b->push(HX_(",?",93,26,00,00));
+ }
+ }
+HXLINE( 620) params->push(token);
+HXLINE( 621) {
+HXLINE( 621) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 621) q->flush();
+ }
+HXDLIN( 621) if (::hx::IsNull( q->b )) {
+HXLINE( 621) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_134,1);
+ }
+ else {
+HXLINE( 621) q->b->push(HX_(",0",84,26,00,00));
+ }
+ }
+ }
+HXLINE( 623) {
+HXLINE( 623) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 623) q->flush();
+ }
+HXDLIN( 623) if (::hx::IsNull( q->b )) {
+HXLINE( 623) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_135,1);
+ }
+ else {
+HXLINE( 623) q->b->push(HX_(") ON CONFLICT DO UPDATE SET client_id=?",cd,99,0c,96));
+ }
+ }
+HXLINE( 624) params->push(clientId);
+HXLINE( 625) {
+HXLINE( 625) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 625) q->flush();
+ }
+HXDLIN( 625) if (::hx::IsNull( q->b )) {
+HXLINE( 625) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_136,1);
+ }
+ else {
+HXLINE( 625) q->b->push(HX_(", display_name=?",7e,ad,5b,0f));
+ }
+ }
+HXLINE( 626) params->push(displayName);
+HXLINE( 627) if (::hx::IsNotNull( token )) {
+HXLINE( 628) {
+HXLINE( 628) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 628) q->flush();
+ }
+HXDLIN( 628) if (::hx::IsNull( q->b )) {
+HXLINE( 628) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_137,1);
+ }
+ else {
+HXLINE( 628) q->b->push(HX_(", token=?",a7,78,19,80));
+ }
+ }
+HXLINE( 629) params->push(token);
+HXLINE( 630) {
+HXLINE( 630) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 630) q->flush();
+ }
+HXDLIN( 630) if (::hx::IsNull( q->b )) {
+HXLINE( 630) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_138,1);
+ }
+ else {
+HXLINE( 630) q->b->push(HX_(", fast_count=0",73,a8,4f,82));
+ }
+ }
+ }
+HXLINE( 632) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
+HXDLIN( 632) _hx_tmp->exec(q->toString(),params);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,storeLogin,(void))
+
+::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_640_getLogin)
+HXLINE( 641) while((result->current < result->array->get_length())){
+HXLINE( 641) ::Dynamic row = result->array->__get(result->current++);
+HXLINE( 643) if (::hx::IsNotNull( row->__Field(HX_("token",f9,82,2b,14),::hx::paccDynamic) )) {
+HXLINE( 644) _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( 646) return row;
+ }
+HXLINE( 649) return ::Dynamic(::hx::Anon_obj::Create(4)
+ ->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()));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_636_getLogin)
+HXDLIN( 636) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 637) 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_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,getLogin,return )
+
+void Sqlite_obj::removeAccount(::String accountId,bool completely){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_659_removeAccount)
+HXLINE( 660) this->db->exec(HX_("DELETE FROM accounts WHERE account_id=?",a1,e8,94,4e),::cpp::VirtualArray_obj::__new(1)->init(0,accountId));
+HXLINE( 662) if (!(completely)) {
+HXLINE( 662) return;
+ }
+HXLINE( 664) this->db->exec(HX_("DELETE FROM messages WHERE account_id=?",bb,0a,07,c2),::cpp::VirtualArray_obj::__new(1)->init(0,accountId));
+HXLINE( 665) this->db->exec(HX_("DELETE FROM chats WHERE account_id=?",2e,3d,02,57),::cpp::VirtualArray_obj::__new(1)->init(0,accountId));
+HXLINE( 666) this->db->exec(HX_("DELETE FROM services WHERE account_id=?",29,fc,5f,4f),::cpp::VirtualArray_obj::__new(1)->init(0,accountId));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,removeAccount,(void))
+
+::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_677_listAccounts)
+HXLINE( 677) if (::hx::IsNull( result )) {
+HXLINE( 677) return ::Array_obj< ::String >::__new(0);
+ }
+ else {
+HXLINE( 677) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
+HXDLIN( 677) {
+ 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_677_listAccounts)
+HXLINE( 677) return result;
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+HXLINE( 677) ::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( 677) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 677) _g->push( ::Dynamic(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("account_id",6d,df,ad,00),::hx::paccDynamic)));
+ }
+ }
+HXDLIN( 677) return _g;
+ }
+HXDLIN( 677) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_676_listAccounts)
+HXDLIN( 676) 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 )
+
+void Sqlite_obj::listAccounts__fromC(::cpp::Function< void (const char**,size_t,void*) > handler,void* handler__context){
+ HX_STACKFRAME(&_hx_pos_e0e41eef74e41160_313_listAccounts__fromC)
+HXDLIN( 313) if (::hx::IsNull( handler )) {
+HXDLIN( 313) this->listAccounts();
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (const char** HX_COMMA size_t HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ void _hx_run(::Array< ::String > v){
+ HX_STACKFRAME(&_hx_pos_e0e41eef74e41160_313_listAccounts__fromC)
+HXDLIN( 313) ::cpp::Function< void (const char**,size_t,void*) > handler1 = handler;
+HXLINE( 291) ::Array< size_t > arr = ::Array_obj< size_t >::__new(v->length);
+HXDLIN( 291) {
+HXLINE( 291) int _g_current = 0;
+HXDLIN( 291) ::Array< ::String > _g_array = v;
+HXDLIN( 291) while((_g_current < _g_array->length)){
+HXLINE( 291) ::String _g_value = _g_array->__get(_g_current);
+HXDLIN( 291) _g_current = (_g_current + 1);
+HXDLIN( 291) ::String el = _g_value;
+HXDLIN( 291) {
+HXLINE( 291) const char* cStrPtr = el.utf8_str();
+HXDLIN( 291) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 291) if (::hx::IsNull( store )) {
+HXLINE(2192) 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( 291) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 291) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXDLIN( 291) const char* ptr = cStrPtr;
+HXDLIN( 291) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
+ }
+ }
+ }
+HXDLIN( 291) void** ptr1 = (void**)arr->getBase();
+HXDLIN( 291) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN( 291) {
+HXLINE( 291) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN( 291) if (::hx::IsNull( store1 )) {
+HXLINE(2192) 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( 291) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+ }
+ else {
+HXLINE( 291) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 313) handler1(( (const char**)(ptr1) ),( (size_t)(v->length) ),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::cpp::Function< void (const char** HX_COMMA size_t HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ void _hx_run( ::Dynamic e){
+ HX_STACKFRAME(&_hx_pos_e0e41eef74e41160_313_listAccounts__fromC)
+HXDLIN( 313) handler(null(),( (size_t)(0) ),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 313) ::thenshim::_Promise::Promise_Impl__obj::then(this->listAccounts(), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+ }
+ }
+
+
+void Sqlite_obj::storeStreamManagement(::String accountId,::Array< unsigned char > sm){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_684_storeStreamManagement)
+HXDLIN( 684) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 685) this->smStoreNext = sm;
+HXLINE( 686) if (!(this->smStoreInProgress)) {
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::String,accountId,::Array< unsigned char >,sm) HXARGC(1)
+ void _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_691_storeStreamManagement)
+HXLINE( 692) _gthis->smStoreInProgress = false;
+HXLINE( 693) if (::hx::IsPointerNotEq( _gthis->smStoreNext,sm )) {
+HXLINE( 693) _gthis->storeStreamManagement(accountId,sm);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 687) this->smStoreInProgress = true;
+HXLINE( 688) ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("UPDATE accounts SET sm_state=? WHERE account_id=?",39,71,68,1b),::cpp::VirtualArray_obj::__new(2)->init(0,sm)->init(1,accountId)), ::Dynamic(new _hx_Closure_0(_gthis,accountId,sm)),null());
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,storeStreamManagement,(void))
+
+::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_700_getStreamManagement)
+HXLINE( 701) while((result->current < result->array->get_length())){
+HXLINE( 702) return ::Dynamic(result->array->__get(result->current++)->__Field(HX_("sm_state",6c,91,3f,e6),::hx::paccDynamic));
+ }
+HXLINE( 705) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_700_getStreamManagement)
+HXDLIN( 700) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT sm_state FROM accounts WHERE account_id=?",94,7f,74,ea),::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_710_storeService)
+HXLINE( 711) this->storeCaps(caps);
+HXLINE( 713) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
+HXDLIN( 713) _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_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_725_findServicesWithFeature)
+HXLINE( 726) ::Array< ::Dynamic> services = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 727) while((result->current < result->array->get_length())){
+HXLINE( 727) ::Dynamic row = result->array->__get(result->current++);
+HXLINE( 728) ::Dynamic json = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))->doParse();
+HXLINE( 729) ::Array< ::String > features;
+HXDLIN( 729) ::Array< ::String > tmp;
+HXDLIN( 729) if (::hx::IsNotNull( json )) {
+HXLINE( 729) tmp = ( (::Array< ::String >)(json->__Field(HX_("features",fd,6c,d7,12),::hx::paccDynamic)) );
+ }
+ else {
+HXLINE( 729) tmp = null();
+ }
+HXDLIN( 729) if (::hx::IsNotNull( tmp )) {
+HXLINE( 729) features = tmp;
+ }
+ else {
+HXLINE( 729) features = ::Array_obj< ::String >::__new(0);
+ }
+HXLINE( 730) if (features->contains(feature)) {
+HXLINE( 732) ::String row1 = ( (::String)(row->__Field(HX_("service_id",e5,24,3d,7d),::hx::paccDynamic)) );
+HXLINE( 733) ::String row2 = ( (::String)(row->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) );
+HXLINE( 734) ::String row3 = ( (::String)(row->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) );
+HXLINE( 731) 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( 739) return services;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_720_findServicesWithFeature)
+HXDLIN( 720) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 722) 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_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_744_hydrateReactions)
+HXLINE( 745) {
+HXLINE( 745) ::Dynamic map = result;
+HXDLIN( 745) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
+HXDLIN( 745) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 745) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN( 745) ::haxe::ds::StringMap _g_value = ( ( ::haxe::ds::StringMap)(::haxe::IMap_obj::get(map,key)) );
+HXDLIN( 745) {
+HXLINE( 746) ::borogove::ChatMessage result1 = null();
+HXDLIN( 746) {
+HXLINE( 746) int _g = 0;
+HXDLIN( 746) while((_g < messages->length)){
+HXLINE( 746) ::borogove::ChatMessage v = messages->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 746) _g = (_g + 1);
+HXLINE( 747) bool m;
+HXDLIN( 747) ::String m1;
+HXDLIN( 747) if (::hx::IsNull( v->serverId )) {
+HXLINE( 747) m1 = v->localId;
+ }
+ else {
+HXLINE( 747) m1 = ((v->serverId + HX_("\n",0a,00,00,00)) + v->serverIdBy);
+ }
+HXDLIN( 747) if ((((m1 + HX_("\n",0a,00,00,00)) + v->chatId()) != key)) {
+HXLINE( 748) ::String m2;
+HXDLIN( 748) if (::hx::IsNull( v->localId )) {
+HXLINE( 748) m2 = ((v->serverId + HX_("\n",0a,00,00,00)) + v->serverIdBy);
+ }
+ else {
+HXLINE( 748) m2 = v->localId;
+ }
+HXLINE( 747) m = (((m2 + HX_("\n",0a,00,00,00)) + v->chatId()) == key);
+ }
+ else {
+HXLINE( 747) m = true;
+ }
+HXLINE( 746) if (m) {
+HXLINE( 71) result1 = v;
+HXLINE( 746) goto _hx_goto_162;
+ }
+ }
+ _hx_goto_162:;
+ }
+HXDLIN( 746) ::borogove::ChatMessage m3 = result1;
+HXLINE( 750) if (::hx::IsNotNull( m3 )) {
+HXLINE( 750) m3->set_reactions(_g_value);
+ }
+ }
+ }
+ }
+HXLINE( 752) return messages;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_744_hydrateReactions)
+HXDLIN( 744) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(messages->length);
+HXDLIN( 744) {
+HXDLIN( 744) int _g = 0;
+HXDLIN( 744) int _g1 = messages->length;
+HXDLIN( 744) while((_g < _g1)){
+HXDLIN( 744) _g = (_g + 1);
+HXDLIN( 744) int i = (_g - 1);
+HXDLIN( 744) {
+HXDLIN( 744) ::borogove::ChatMessage m = ( ( ::borogove::ChatMessage)(_hx_array_unsafe_get(messages,i)) );
+HXDLIN( 744) ::String inValue = m->chatId();
+HXDLIN( 744) 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)
+ ->setFixed(3,HX_("serverIdBy",f5,16,54,74),m->serverIdBy)));
+ }
+ }
+ }
+HXDLIN( 744) return ::thenshim::_Promise::Promise_Impl__obj::then(this->fetchReactions(accountId,result), ::Dynamic(new _hx_Closure_0(messages)),null());
+ }
+
+
+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_772_fetchReactions)
+HXLINE( 773) ::haxe::ds::StringMap agg = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 774) while((rows->current < rows->array->get_length())){
+HXLINE( 774) ::Dynamic row = rows->array->__get(rows->current++);
+HXLINE( 775) ::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( 776) ::String mapId;
+HXDLIN( 776) bool mapId1;
+HXDLIN( 776) if (::hx::IsNotNull( row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic) )) {
+HXLINE( 776) mapId1 = ::hx::IsEq( row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic),HX_("",00,00,00,00) );
+ }
+ else {
+HXLINE( 776) mapId1 = true;
+ }
+HXDLIN( 776) if (mapId1) {
+HXLINE( 776) mapId = ( (::String)(row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic)) );
+ }
+ else {
+HXLINE( 776) 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( 776) ::String mapId2 = ( (::String)(((mapId + HX_("\n",0a,00,00,00)) + row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic))) );
+HXLINE( 777) if (!(agg->exists(mapId2))) {
+HXLINE( 777) agg->set(mapId2, ::haxe::ds::StringMap_obj::__alloc( HX_CTX ));
+ }
+HXLINE( 778) ::haxe::ds::StringMap map = ( ( ::haxe::ds::StringMap)(agg->get(mapId2)) );
+HXLINE( 779) if (!(map->exists(( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) )))) {
+HXLINE( 779) map->set(( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) ),::cpp::VirtualArray_obj::__new(0));
+ }
+HXLINE( 780) if (::hx::IsEq( row->__Field(HX_("kind",54,e1,09,47),::hx::paccDynamic),1 )) {
+HXLINE( 781) int _g = 0;
+HXDLIN( 781) while((_g < reactions->get_length())){
+HXLINE( 781) ::Dynamic reaction = reactions->__get(_g);
+HXDLIN( 781) _g = (_g + 1);
+HXDLIN( 781) ( (::cpp::VirtualArray)(map->get( ::Dynamic(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)))) )->push(reaction);
+ }
+ }
+ else {
+HXLINE( 782) if (::hx::IsEq( row->__Field(HX_("kind",54,e1,09,47),::hx::paccDynamic),0 )) {
+HXLINE( 783) ::String k = ( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) );
+HXDLIN( 783) ::cpp::VirtualArray _this = ( (::cpp::VirtualArray)(map->get( ::Dynamic(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)))) );
+HXDLIN( 783) ::cpp::VirtualArray _g1 = ::cpp::VirtualArray_obj::__new(0);
+HXDLIN( 783) {
+HXLINE( 783) int _g2 = 0;
+HXDLIN( 783) while((_g2 < _this->get_length())){
+HXLINE( 783) ::Dynamic v = _this->__get(_g2);
+HXDLIN( 783) _g2 = (_g2 + 1);
+HXDLIN( 783) if (::hx::IsNotNull( v->__Field(HX_("uri",6c,2b,59,00),::hx::paccDynamic) )) {
+HXLINE( 783) _g1->push(v);
+ }
+ }
+ }
+HXDLIN( 783) ::cpp::VirtualArray v1 = reactions->concat(_g1);
+HXDLIN( 783) map->set(k,v1);
+ }
+ else {
+HXLINE( 784) if (::hx::IsEq( row->__Field(HX_("kind",54,e1,09,47),::hx::paccDynamic),2 )) {
+HXLINE( 785) map->set(( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) ),reactions);
+ }
+ }
+ }
+ }
+HXLINE( 788) ::haxe::ds::StringMap result = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 789) {
+HXLINE( 789) ::Dynamic map1 = agg;
+HXDLIN( 789) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map1);
+HXDLIN( 789) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 789) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN( 789) ::haxe::ds::StringMap _g_value = ( ( ::haxe::ds::StringMap)(::haxe::IMap_obj::get(map1,key)) );
+HXDLIN( 789) {
+HXLINE( 790) ::haxe::ds::StringMap map2 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 791) {
+HXLINE( 791) ::Dynamic reactionsBySender = _g_value->iterator();
+HXDLIN( 791) while(( (bool)(reactionsBySender->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 791) ::cpp::VirtualArray reactionsBySender1 = ( (::cpp::VirtualArray)(reactionsBySender->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXLINE( 792) {
+HXLINE( 792) int _g3 = 0;
+HXDLIN( 792) while((_g3 < reactionsBySender1->get_length())){
+HXLINE( 792) ::Dynamic reactionD = reactionsBySender1->__get(_g3);
+HXDLIN( 792) _g3 = (_g3 + 1);
+HXLINE( 793) ::borogove::Reaction reaction1;
+HXDLIN( 793) if (::hx::IsNull( reactionD->__Field(HX_("uri",6c,2b,59,00),::hx::paccDynamic) )) {
+HXLINE( 793) 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( 793) 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( 799) if (!(map2->exists(reaction1->key))) {
+HXLINE( 799) map2->set(reaction1->key,::Array_obj< ::Dynamic>::__new(0));
+ }
+HXLINE( 800) ( (::Array< ::Dynamic>)(map2->get(reaction1->key)) )->push(reaction1);
+ }
+ }
+ }
+ }
+HXLINE( 803) result->set(key,map2);
+ }
+ }
+ }
+HXLINE( 805) return result;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_756_fetchReactions)
+HXLINE( 757) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE( 758) {
+HXLINE( 758) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 758) q->flush();
+ }
+HXDLIN( 758) if (::hx::IsNull( q->b )) {
+HXLINE( 758) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_174,1);
+ }
+ else {
+HXLINE( 758) 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( 759) ::Array< ::String > params = ::Array_obj< ::String >::__new(0);
+HXLINE( 760) {
+HXLINE( 760) int _g = 0;
+HXDLIN( 760) while((_g < ids->length)){
+HXLINE( 760) ::Dynamic item = ids->__get(_g);
+HXDLIN( 760) _g = (_g + 1);
+HXLINE( 761) if (::hx::IsNotNull( item->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic) )) {
+HXLINE( 762) {
+HXLINE( 762) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 762) q->flush();
+ }
+HXDLIN( 762) if (::hx::IsNull( q->b )) {
+HXLINE( 762) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_175,1);
+ }
+ else {
+HXLINE( 762) q->b->push(HX_(" OR (mam_id=? AND mam_by=?)",0f,bb,c5,e5));
+ }
+ }
+HXLINE( 763) params->push( ::Dynamic(item->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic)));
+HXLINE( 764) params->push( ::Dynamic(item->__Field(HX_("serverIdBy",f5,16,54,74),::hx::paccDynamic)));
+ }
+HXLINE( 766) if (::hx::IsNotNull( item->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic) )) {
+HXLINE( 767) {
+HXLINE( 767) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 767) q->flush();
+ }
+HXDLIN( 767) if (::hx::IsNull( q->b )) {
+HXLINE( 767) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_176,1);
+ }
+ else {
+HXLINE( 767) q->b->push(HX_(" OR stanza_id=?",6a,1d,f2,5b));
+ }
+ }
+HXLINE( 768) params->push( ::Dynamic(item->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic)));
+ }
+ }
+ }
+HXLINE( 771) {
+HXLINE( 771) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 771) q->flush();
+ }
+HXDLIN( 771) if (::hx::IsNull( q->b )) {
+HXLINE( 771) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_177,1);
+ }
+ else {
+HXLINE( 771) q->b->push(HX_(" ORDER BY created_at, ROWID",00,65,8d,0e));
+ }
+ }
+HXLINE( 772) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
+HXDLIN( 772) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->exec(q->toString(),params), ::Dynamic(new _hx_Closure_0()),null());
+ }
+
+
+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_829_hydrateReplyTo)
+HXLINE( 830) 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_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_831_hydrateReplyTo)
+HXLINE( 831) return iter;
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+HXLINE( 831) ::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( 832) {
+HXLINE( 832) int _g = 0;
+HXDLIN( 832) while((_g < messages->length)){
+HXLINE( 832) ::borogove::ChatMessage message = messages->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 832) _g = (_g + 1);
+HXLINE( 833) if (::hx::IsNotNull( message->replyToMessage )) {
+HXLINE( 834) ::Dynamic result = null();
+HXDLIN( 834) {
+HXLINE( 834) int _g1 = 0;
+HXDLIN( 834) while((_g1 < parents->length)){
+HXLINE( 834) ::Dynamic v = parents->__get(_g1);
+HXDLIN( 834) _g1 = (_g1 + 1);
+HXDLIN( 834) bool found;
+HXDLIN( 834) bool found1;
+HXDLIN( 834) ::String v1 = ( (::String)(v->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) );
+HXDLIN( 834) if ((v1 == message->chatId())) {
+HXLINE( 834) if (::hx::IsNotNull( message->replyToMessage->serverId )) {
+HXLINE( 834) found1 = ::hx::IsEq( v->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic),message->replyToMessage->serverId );
+ }
+ else {
+HXLINE( 834) found1 = true;
+ }
+ }
+ else {
+HXLINE( 834) found1 = false;
+ }
+HXDLIN( 834) if (found1) {
+HXLINE( 834) if (::hx::IsNotNull( message->replyToMessage->localId )) {
+HXLINE( 834) found = ::hx::IsEq( v->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic),message->replyToMessage->localId );
+ }
+ else {
+HXLINE( 834) found = true;
+ }
+ }
+ else {
+HXLINE( 834) found = false;
+ }
+HXDLIN( 834) if (found) {
+HXLINE( 834) result = v;
+HXDLIN( 834) goto _hx_goto_180;
+ }
+ }
+ _hx_goto_180:;
+ }
+HXDLIN( 834) ::Dynamic found2 = result;
+HXLINE( 835) if (::hx::IsNotNull( found2 )) {
+HXLINE( 835) 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( 839) return messages;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_809_hydrateReplyTo)
+HXDLIN( 809) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 810) ::Dynamic _hx_tmp;
+HXDLIN( 810) if ((replyTos->length < 1)) {
+HXLINE( 810) _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ else {
+HXLINE( 813) ::Array< ::String > params = ::Array_obj< ::String >::__new(1)->init(0,accountId);
+HXLINE( 814) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE( 815) {
+HXLINE( 815) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 815) q->flush();
+ }
+HXDLIN( 815) if (::hx::IsNull( q->b )) {
+HXLINE( 815) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_184,1);
+ }
+ else {
+HXLINE( 815) q->b->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, sync_point FROM messages WHERE account_id=? AND (",16,b7,14,0d));
+ }
+ }
+HXLINE( 816) {
+HXLINE( 816) ::Array< ::String > result = ::Array_obj< ::String >::__new(replyTos->length);
+HXDLIN( 816) {
+HXLINE( 816) int _g = 0;
+HXDLIN( 816) int _g1 = replyTos->length;
+HXDLIN( 816) while((_g < _g1)){
+HXLINE( 816) _g = (_g + 1);
+HXDLIN( 816) int i = (_g - 1);
+HXDLIN( 816) {
+HXLINE( 817) ::Dynamic parent = _hx_array_unsafe_get(replyTos,i);
+HXLINE( 816) ::String inValue;
+HXLINE( 817) if (::hx::IsNotNull( parent->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic) )) {
+HXLINE( 818) params->push( ::Dynamic(parent->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)));
+HXLINE( 819) params->push( ::Dynamic(parent->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic)));
+HXLINE( 816) inValue = HX_(" (chat_id=? AND mam_id=?)",59,03,f2,84);
+ }
+ else {
+HXLINE( 822) params->push( ::Dynamic(parent->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)));
+HXLINE( 823) params->push( ::Dynamic(parent->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic)));
+HXLINE( 816) inValue = HX_(" (chat_id=? AND stanza_id=?)",2f,d3,29,86);
+ }
+HXDLIN( 816) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 816) ::String x = result->join(HX_(" OR ",7d,0d,63,15));
+HXDLIN( 816) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 816) q->flush();
+ }
+HXDLIN( 816) if (::hx::IsNull( q->b )) {
+HXLINE( 816) q->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x));
+ }
+ else {
+HXLINE( 816) ::Array< ::String > q1 = q->b;
+HXDLIN( 816) q1->push(::Std_obj::string(x));
+ }
+ }
+HXLINE( 827) {
+HXLINE( 827) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 827) q->flush();
+ }
+HXDLIN( 827) if (::hx::IsNull( q->b )) {
+HXLINE( 827) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_185,1);
+ }
+ else {
+HXLINE( 827) q->b->push(HX_(")",29,00,00,00));
+ }
+ }
+HXLINE( 828) ::borogove::persistence::SqliteDriver _hx_tmp1 = this->db;
+HXLINE( 810) _hx_tmp = _hx_tmp1->exec(q->toString(),params);
+ }
+HXDLIN( 810) 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 )
+
+::Array< ::Dynamic> Sqlite_obj::hydrateMessages(::String accountId, ::Dynamic rows){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_843_hydrateMessages)
+HXLINE( 845) ::borogove::JID accountJid = ::borogove::JID_obj::parse(accountId);
+HXLINE( 846) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 846) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,rows) HXARGC(0)
+ ::Dynamic _hx_run(){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_846_hydrateMessages)
+HXLINE( 846) return rows;
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+HXLINE( 846) ::Dynamic x = ::Dynamic(new _hx_Closure_0(rows))();
+HXDLIN( 846) 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)
+ ::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder builder, ::borogove::Stanza _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_846_hydrateMessages)
+HXLINE( 847) builder->syncPoint = ::hx::IsNotEq( row->__Field(HX_("sync_point",2c,6c,7f,80),::hx::paccDynamic),0 );
+HXLINE( 848) builder->timestamp = ( (::String)(row->__Field(HX_("timestamp",d6,d4,ce,a5),::hx::paccDynamic)) );
+HXLINE( 849) builder->type = ( (int)(row->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic)) );
+HXLINE( 850) builder->status = ( (int)(row->__Field(HX_("status",32,e7,fb,05),::hx::paccDynamic)) );
+HXLINE( 851) builder->statusText = ( (::String)(row->__Field(HX_("status_text",1a,ac,61,da),::hx::paccDynamic)) );
+HXLINE( 852) builder->senderId = ( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) );
+HXLINE( 853) ::String _hx_tmp;
+HXDLIN( 853) if (::hx::IsEq( row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic),HX_("",00,00,00,00) )) {
+HXLINE( 853) _hx_tmp = null();
+ }
+ else {
+HXLINE( 853) _hx_tmp = ( (::String)(row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic)) );
+ }
+HXDLIN( 853) builder->serverId = _hx_tmp;
+HXLINE( 854) ::String _hx_tmp1;
+HXDLIN( 854) if (::hx::IsEq( row->__Field(HX_("mam_by",fd,46,19,b7),::hx::paccDynamic),HX_("",00,00,00,00) )) {
+HXLINE( 854) _hx_tmp1 = null();
+ }
+ else {
+HXLINE( 854) _hx_tmp1 = ( (::String)(row->__Field(HX_("mam_by",fd,46,19,b7),::hx::paccDynamic)) );
+ }
+HXDLIN( 854) builder->serverIdBy = _hx_tmp1;
+HXLINE( 855) if (::hx::IsNotEq( builder->direction,row->__Field(HX_("direction",3f,62,40,10),::hx::paccDynamic) )) {
+HXLINE( 856) builder->direction = ( (int)(row->__Field(HX_("direction",3f,62,40,10),::hx::paccDynamic)) );
+HXLINE( 857) ::Array< ::Dynamic> replyTo = builder->replyTo;
+HXLINE( 858) builder->replyTo = builder->recipients;
+HXLINE( 859) builder->recipients = replyTo;
+ }
+HXLINE( 861) bool _hx_tmp2;
+HXDLIN( 861) if (::hx::IsNotNull( row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic) )) {
+HXLINE( 861) _hx_tmp2 = ::hx::IsNotEq( row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic),HX_("",00,00,00,00) );
+ }
+ else {
+HXLINE( 861) _hx_tmp2 = false;
+ }
+HXDLIN( 861) if (_hx_tmp2) {
+HXLINE( 861) builder->localId = ( (::String)(row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic)) );
+ }
+HXLINE( 862) if (::hx::IsNotNull( row->__Field(HX_("versions",5b,4e,b8,d6),::hx::paccDynamic) )) {
+HXLINE( 863) ::Dynamic versionTimes = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("version_times",1f,50,f9,17),::hx::paccDynamic)) ))->doParse();
+HXLINE( 864) ::Dynamic versions = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("versions",5b,4e,b8,d6),::hx::paccDynamic)) ))->doParse();
+HXLINE( 865) 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_877_hydrateMessages)
+HXLINE( 877) return ::Reflect_obj::compare(b->timestamp,a->timestamp);
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXLINE( 866) {
+HXLINE( 866) ::Array< ::String > _g_keys = ::Reflect_obj::fields(versions);
+HXDLIN( 866) int _g_index = 0;
+HXDLIN( 866) while((_g_index < _g_keys->length)){
+HXLINE( 866) _g_index = (_g_index + 1);
+HXDLIN( 866) ::String key = _g_keys->__get((_g_index - 1));
+HXDLIN( 866) ::String versionId = key;
+HXDLIN( 866) {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,versionTimes,::String,versionId) HXARGC(2)
+ ::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder toPushB, ::borogove::Stanza _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_867_hydrateMessages)
+HXLINE( 868) bool versionM;
+HXDLIN( 868) if (::hx::IsNull( toPushB->serverId )) {
+HXLINE( 868) versionM = (versionId != toPushB->localId);
+ }
+ else {
+HXLINE( 868) versionM = false;
+ }
+HXDLIN( 868) if (versionM) {
+HXLINE( 868) toPushB->serverId = versionId;
+ }
+HXLINE( 869) toPushB->timestamp = ( (::String)(::Reflect_obj::field(versionTimes,versionId)) );
+HXLINE( 870) return toPushB;
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXLINE( 867) ::borogove::Stanza versionM = ::borogove::Stanza_obj::parse(( (::String)(::Reflect_obj::field(versions,key)) ));
+HXDLIN( 867) ::borogove::ChatMessage versionM1 = ::borogove::ChatMessage_obj::fromStanza(versionM,accountJid, ::Dynamic(new _hx_Closure_1(versionTimes,versionId)));
+HXLINE( 872) ::borogove::ChatMessage toPush;
+HXDLIN( 872) bool toPush1;
+HXDLIN( 872) if (::hx::IsNotNull( versionM1 )) {
+HXLINE( 872) toPush1 = (versionM1->versions->length < 1);
+ }
+ else {
+HXLINE( 872) toPush1 = true;
+ }
+HXDLIN( 872) if (toPush1) {
+HXLINE( 872) toPush = versionM1;
+ }
+ else {
+HXLINE( 872) toPush = versionM1->versions->__get(0).StaticCast< ::borogove::ChatMessage >();
+ }
+HXLINE( 873) if (::hx::IsNotNull( toPush )) {
+HXLINE( 874) builder->versions->push(toPush);
+ }
+ }
+ }
+ }
+HXLINE( 877) builder->versions->sort( ::Dynamic(new _hx_Closure_2()));
+ }
+ }
+HXLINE( 880) return builder;
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXLINE( 846) ::Dynamic row = x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
+HXDLIN( 846) ::borogove::Stanza _hx_tmp = ::borogove::Stanza_obj::parse(( (::String)(row->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) ));
+HXDLIN( 846) _g->push(::borogove::ChatMessage_obj::fromStanza(_hx_tmp,accountJid, ::Dynamic(new _hx_Closure_3(accountJid,row))));
+ }
+ }
+HXDLIN( 846) 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_885_hydrateCaps)
+HXLINE( 886) ::String o1 = ( (::String)(o->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) );
+HXLINE( 887) ::Array< ::Dynamic> _this;
+HXDLIN( 887) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(o->__Field(HX_("identities",1c,c5,6d,d7),::hx::paccDynamic)) );
+HXDLIN( 887) if (::hx::IsNotNull( tmp )) {
+HXLINE( 887) _this = tmp;
+ }
+ else {
+HXLINE( 887) _this = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN( 887) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN( 887) {
+HXLINE( 887) int _g = 0;
+HXDLIN( 887) int _g1 = _this->length;
+HXDLIN( 887) while((_g < _g1)){
+HXLINE( 887) _g = (_g + 1);
+HXDLIN( 887) int i = (_g - 1);
+HXDLIN( 887) {
+HXLINE( 887) ::Dynamic i1 = _hx_array_unsafe_get(_this,i);
+HXDLIN( 887) 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( 888) ::Array< ::String > _hx_tmp;
+HXDLIN( 888) ::Array< ::String > tmp1 = ( (::Array< ::String >)(o->__Field(HX_("features",fd,6c,d7,12),::hx::paccDynamic)) );
+HXDLIN( 888) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 888) _hx_tmp = tmp1;
+ }
+ else {
+HXLINE( 888) _hx_tmp = ::Array_obj< ::String >::__new(0);
+ }
+HXLINE( 889) ::Array< ::String > _this1;
+HXDLIN( 889) ::Array< ::String > tmp2 = ( (::Array< ::String >)(o->__Field(HX_("data",2a,56,63,42),::hx::paccDynamic)) );
+HXDLIN( 889) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 889) _this1 = tmp2;
+ }
+ else {
+HXLINE( 889) _this1 = ::Array_obj< ::String >::__new(0);
+ }
+HXDLIN( 889) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(_this1->length);
+HXDLIN( 889) {
+HXLINE( 889) int _g2 = 0;
+HXDLIN( 889) int _g3 = _this1->length;
+HXDLIN( 889) while((_g2 < _g3)){
+HXLINE( 889) _g2 = (_g2 + 1);
+HXDLIN( 889) int i2 = (_g2 - 1);
+HXDLIN( 889) {
+HXLINE( 889) ::borogove::Stanza inValue = ::borogove::Stanza_obj::parse(( (::String)(_hx_array_unsafe_get(_this1,i2)) ));
+HXDLIN( 889) result1->__unsafe_set(i2,inValue);
+ }
+ }
+ }
+HXLINE( 885) return ::borogove::Caps_obj::__alloc( HX_CTX ,o1,result,_hx_tmp,result1,ver);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,hydrateCaps,return )
+
+
+::hx::ObjectPtr< Sqlite_obj > Sqlite_obj::__new(::String dbfile,::Dynamic media) {
+ ::hx::ObjectPtr< Sqlite_obj > __this = new Sqlite_obj();
+ __this->__construct(dbfile,media);
+ return __this;
+}
+
+::hx::ObjectPtr< Sqlite_obj > Sqlite_obj::__alloc(::hx::Ctx *_hx_ctx,::String dbfile,::Dynamic media) {
+ Sqlite_obj *__this = (Sqlite_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Sqlite_obj), true, "borogove.persistence.Sqlite"));
+ *(void **)__this = Sqlite_obj::_hx_vtable;
+ __this->__construct(dbfile,media);
+ return __this;
+}
+
+Sqlite_obj::Sqlite_obj()
+{
+}
+
+void Sqlite_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Sqlite);
+ HX_MARK_MEMBER_NAME(db,"db");
+ HX_MARK_MEMBER_NAME(media,"media");
+ HX_MARK_MEMBER_NAME(storeChatBuffer,"storeChatBuffer");
+ HX_MARK_MEMBER_NAME(storeChatTimer,"storeChatTimer");
+ HX_MARK_MEMBER_NAME(smStoreInProgress,"smStoreInProgress");
+ HX_MARK_MEMBER_NAME(smStoreNext,"smStoreNext");
+ HX_MARK_END_CLASS();
+}
+
+void Sqlite_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(db,"db");
+ HX_VISIT_MEMBER_NAME(media,"media");
+ HX_VISIT_MEMBER_NAME(storeChatBuffer,"storeChatBuffer");
+ HX_VISIT_MEMBER_NAME(storeChatTimer,"storeChatTimer");
+ HX_VISIT_MEMBER_NAME(smStoreInProgress,"smStoreInProgress");
+ HX_VISIT_MEMBER_NAME(smStoreNext,"smStoreNext");
+}
+
+::hx::Val Sqlite_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"db") ) { return ::hx::Val( db ); }
+ break;
+ case 3:
+ if (HX_FIELD_EQ(inName,"get") ) { return ::hx::Val( get_dyn() ); }
+ if (HX_FIELD_EQ(inName,"set") ) { return ::hx::Val( set_dyn() ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"media") ) { return ::hx::Val( media ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"lastId") ) { return ::hx::Val( lastId_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"getCaps") ) { return ::hx::Val( getCaps_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"getChats") ) { return ::hx::Val( getChats_dyn() ); }
+ if (HX_FIELD_EQ(inName,"hasMedia") ) { return ::hx::Val( hasMedia_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getLogin") ) { return ::hx::Val( getLogin_dyn() ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"storeCaps") ) { return ::hx::Val( storeCaps_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"storeChats") ) { return ::hx::Val( storeChats_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getMessage") ) { return ::hx::Val( getMessage_dyn() ); }
+ if (HX_FIELD_EQ(inName,"storeMedia") ) { return ::hx::Val( storeMedia_dyn() ); }
+ if (HX_FIELD_EQ(inName,"storeLogin") ) { return ::hx::Val( storeLogin_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"getMessages") ) { return ::hx::Val( getMessages_dyn() ); }
+ if (HX_FIELD_EQ(inName,"removeMedia") ) { return ::hx::Val( removeMedia_dyn() ); }
+ if (HX_FIELD_EQ(inName,"smStoreNext") ) { return ::hx::Val( smStoreNext ); }
+ if (HX_FIELD_EQ(inName,"hydrateCaps") ) { return ::hx::Val( hydrateCaps_dyn() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"storeCapsSet") ) { return ::hx::Val( storeCapsSet_dyn() ); }
+ if (HX_FIELD_EQ(inName,"listAccounts") ) { return ::hx::Val( listAccounts_dyn() ); }
+ if (HX_FIELD_EQ(inName,"storeService") ) { return ::hx::Val( storeService_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"storeMessages") ) { return ::hx::Val( storeMessages_dyn() ); }
+ if (HX_FIELD_EQ(inName,"updateMessage") ) { return ::hx::Val( updateMessage_dyn() ); }
+ if (HX_FIELD_EQ(inName,"storeReaction") ) { return ::hx::Val( storeReaction_dyn() ); }
+ if (HX_FIELD_EQ(inName,"removeAccount") ) { return ::hx::Val( removeAccount_dyn() ); }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"storeChatTimer") ) { return ::hx::Val( storeChatTimer ); }
+ if (HX_FIELD_EQ(inName,"fetchReactions") ) { return ::hx::Val( fetchReactions_dyn() ); }
+ if (HX_FIELD_EQ(inName,"hydrateReplyTo") ) { return ::hx::Val( hydrateReplyTo_dyn() ); }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"storeChatBuffer") ) { return ::hx::Val( storeChatBuffer ); }
+ if (HX_FIELD_EQ(inName,"hydrateMessages") ) { return ::hx::Val( hydrateMessages_dyn() ); }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"getMessagesAfter") ) { return ::hx::Val( getMessagesAfter_dyn() ); }
+ if (HX_FIELD_EQ(inName,"hydrateReactions") ) { return ::hx::Val( hydrateReactions_dyn() ); }
+ break;
+ case 17:
+ 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 ); }
+ break;
+ case 19:
+ if (HX_FIELD_EQ(inName,"updateMessageStatus") ) { return ::hx::Val( updateMessageStatus_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getStreamManagement") ) { return ::hx::Val( getStreamManagement_dyn() ); }
+ break;
+ case 21:
+ if (HX_FIELD_EQ(inName,"getChatsUnreadDetails") ) { return ::hx::Val( getChatsUnreadDetails_dyn() ); }
+ if (HX_FIELD_EQ(inName,"storeStreamManagement") ) { return ::hx::Val( storeStreamManagement_dyn() ); }
+ break;
+ case 23:
+ if (HX_FIELD_EQ(inName,"findServicesWithFeature") ) { return ::hx::Val( findServicesWithFeature_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val Sqlite_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"db") ) { db=inValue.Cast< ::borogove::persistence::SqliteDriver >(); return inValue; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"media") ) { media=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"smStoreNext") ) { smStoreNext=inValue.Cast< ::Array< unsigned char > >(); return inValue; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"storeChatTimer") ) { storeChatTimer=inValue.Cast< ::haxe::Timer >(); return inValue; }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"storeChatBuffer") ) { storeChatBuffer=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
+ break;
+ case 17:
+ if (HX_FIELD_EQ(inName,"smStoreInProgress") ) { smStoreInProgress=inValue.Cast< bool >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void Sqlite_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("db",7e,57,00,00));
+ outFields->push(HX_("media",e4,04,bc,05));
+ outFields->push(HX_("storeChatBuffer",39,5d,98,0f));
+ outFields->push(HX_("storeChatTimer",ac,c9,9a,09));
+ outFields->push(HX_("smStoreInProgress",79,f8,70,5d));
+ outFields->push(HX_("smStoreNext",7a,e1,91,0a));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo Sqlite_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::persistence::SqliteDriver */ ,(int)offsetof(Sqlite_obj,db),HX_("db",7e,57,00,00)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(Sqlite_obj,media),HX_("media",e4,04,bc,05)},
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(Sqlite_obj,storeChatBuffer),HX_("storeChatBuffer",39,5d,98,0f)},
+ {::hx::fsObject /* ::haxe::Timer */ ,(int)offsetof(Sqlite_obj,storeChatTimer),HX_("storeChatTimer",ac,c9,9a,09)},
+ {::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::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *Sqlite_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Sqlite_obj_sMemberFields[] = {
+ HX_("db",7e,57,00,00),
+ HX_("media",e4,04,bc,05),
+ HX_("get",96,80,4e,00),
+ HX_("set",a2,9b,57,00),
+ HX_("lastId",d1,0b,c5,54),
+ HX_("storeChatBuffer",39,5d,98,0f),
+ HX_("storeChatTimer",ac,c9,9a,09),
+ HX_("storeChats",fa,4a,32,83),
+ HX_("getChats",25,ae,8a,a5),
+ HX_("storeMessages",cd,f1,bd,e9),
+ HX_("updateMessage",be,9a,7f,65),
+ HX_("getMessage",d1,bb,72,e9),
+ HX_("getMessages",82,9b,f1,5a),
+ HX_("getMessagesBefore",a1,f1,44,11),
+ HX_("getMessagesAfter",3a,43,91,57),
+ HX_("getMessagesAround",6f,95,16,2d),
+ HX_("getChatsUnreadDetails",ee,d4,5a,85),
+ HX_("storeReaction",aa,00,75,ab),
+ HX_("updateMessageStatus",90,98,ad,0f),
+ HX_("hasMedia",2a,4f,14,92),
+ HX_("removeMedia",00,e2,ef,03),
+ HX_("storeMedia",43,b1,3a,43),
+ HX_("storeCaps",a2,60,d7,9d),
+ HX_("storeCapsSet",20,84,58,42),
+ HX_("getCaps",d7,cb,3c,14),
+ HX_("storeLogin",c8,85,72,b6),
+ HX_("getLogin",f3,e8,ca,d8),
+ HX_("removeAccount",c9,58,14,7a),
+ HX_("listAccounts",a4,81,e8,f5),
+ HX_("smStoreInProgress",79,f8,70,5d),
+ HX_("smStoreNext",7a,e1,91,0a),
+ HX_("storeStreamManagement",24,1d,b8,8d),
+ HX_("getStreamManagement",d9,03,ec,6c),
+ HX_("storeService",54,de,f6,9d),
+ HX_("findServicesWithFeature",99,4e,bd,4a),
+ HX_("hydrateReactions",97,c5,06,27),
+ HX_("fetchReactions",10,41,6b,5e),
+ HX_("hydrateReplyTo",f2,64,45,9b),
+ HX_("hydrateMessages",7f,1c,88,4e),
+ HX_("hydrateCaps",54,ca,65,93),
+ ::String(null()) };
+
+::hx::Class Sqlite_obj::__mClass;
+
+void Sqlite_obj::__register()
+{
+ Sqlite_obj _hx_dummy;
+ Sqlite_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.persistence.Sqlite",48,03,39,99);
+ __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(Sqlite_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Sqlite_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Sqlite_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Sqlite_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void Sqlite_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_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(28)
+ ->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)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(2,HX_("storeStreamManagement",24,1d,b8,8d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(3,HX_("hasMedia",2a,4f,14,92), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(4,HX_("listAccounts__fromC",55,2b,d7,97), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(5,HX_("storeCaps",a2,60,d7,9d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(6,HX_("storeService",54,de,f6,9d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(7,HX_("getChats",25,ae,8a,a5), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(8,HX_("storeReaction",aa,00,75,ab), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(9,HX_("storeLogin",c8,85,72,b6), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(10,HX_("getLogin",f3,e8,ca,d8), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(11,HX_("getMessage",d1,bb,72,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(12,HX_("storeMessages",cd,f1,bd,e9), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(13,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(14,HX_("get",96,80,4e,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(15,HX_("set",a2,9b,57,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(16,HX_("removeMedia",00,e2,ef,03), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(17,HX_("getMessage__fromC",c8,40,46,05), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(18,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_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(20,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_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(22,HX_("storeMedia",43,b1,3a,43), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(23,HX_("findServicesWithFeature",99,4e,bd,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(24,HX_("lastId",d1,0b,c5,54), ::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(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(26,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_("getStreamManagement",d9,03,ec,6c), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
+ }
+}
+
+} // end namespace borogove
+} // end namespace persistence
diff --git a/Sources/c_snikket/src/snikket/persistence/SqliteDriver.cpp b/Sources/c_borogove/src/borogove/persistence/SqliteDriver.cpp
similarity index 51%
rename from Sources/c_snikket/src/snikket/persistence/SqliteDriver.cpp
rename to Sources/c_borogove/src/borogove/persistence/SqliteDriver.cpp
index 8a3017f..6c74961 100644
--- a/Sources/c_snikket/src/snikket/persistence/SqliteDriver.cpp
+++ b/Sources/c_borogove/src/borogove/persistence/SqliteDriver.cpp
@@ -19,24 +19,21 @@
#ifndef INCLUDED_ValueType
#include <ValueType.h>
#endif
+#ifndef INCLUDED_borogove_Config
+#include <borogove/Config.h>
+#endif
+#ifndef INCLUDED_borogove_persistence_SqliteDriver
+#include <borogove/persistence/SqliteDriver.h>
+#endif
#ifndef INCLUDED_haxe_Exception
#include <haxe/Exception.h>
#endif
-#ifndef INCLUDED_haxe_Log
-#include <haxe/Log.h>
-#endif
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
#ifndef INCLUDED_haxe_iterators_ArrayIterator
#include <haxe/iterators/ArrayIterator.h>
#endif
-#ifndef INCLUDED_snikket_Config
-#include <snikket/Config.h>
-#endif
-#ifndef INCLUDED_snikket_persistence_SqliteDriver
-#include <snikket/persistence/SqliteDriver.h>
-#endif
#ifndef INCLUDED_sys_db_Connection
#include <sys/db/Connection.h>
#endif
@@ -52,21 +49,12 @@
#ifndef INCLUDED_sys_thread_ElasticThreadPool
#include <sys/thread/ElasticThreadPool.h>
#endif
-#ifndef INCLUDED_sys_thread_EventLoop
-#include <sys/thread/EventLoop.h>
-#endif
#ifndef INCLUDED_sys_thread_FixedThreadPool
#include <sys/thread/FixedThreadPool.h>
#endif
#ifndef INCLUDED_sys_thread_IThreadPool
#include <sys/thread/IThreadPool.h>
#endif
-#ifndef INCLUDED_sys_thread__Thread_HaxeThread
-#include <sys/thread/_Thread/HaxeThread.h>
-#endif
-#ifndef INCLUDED_sys_thread__Thread_Thread_Impl_
-#include <sys/thread/_Thread/Thread_Impl_.h>
-#endif
#ifndef INCLUDED_thenshim_Thenable
#include <thenshim/Thenable.h>
#endif
@@ -74,70 +62,67 @@
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_5c401225cb14c98d_20_new,"snikket.persistence.SqliteDriver","new",0x358a23a6,"snikket.persistence.SqliteDriver.new","snikket/persistence/SqliteDriver.hx",20,0xaa839748)
-HX_DEFINE_STACK_FRAME(_hx_pos_5c401225cb14c98d_27_new,"snikket.persistence.SqliteDriver","new",0x358a23a6,"snikket.persistence.SqliteDriver.new","snikket/persistence/SqliteDriver.hx",27,0xaa839748)
-HX_DEFINE_STACK_FRAME(_hx_pos_5c401225cb14c98d_28_new,"snikket.persistence.SqliteDriver","new",0x358a23a6,"snikket.persistence.SqliteDriver.new","snikket/persistence/SqliteDriver.hx",28,0xaa839748)
-HX_DEFINE_STACK_FRAME(_hx_pos_5c401225cb14c98d_23_new,"snikket.persistence.SqliteDriver","new",0x358a23a6,"snikket.persistence.SqliteDriver.new","snikket/persistence/SqliteDriver.hx",23,0xaa839748)
-HX_DEFINE_STACK_FRAME(_hx_pos_5c401225cb14c98d_8_new,"snikket.persistence.SqliteDriver","new",0x358a23a6,"snikket.persistence.SqliteDriver.new","snikket/persistence/SqliteDriver.hx",8,0xaa839748)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c401225cb14c98d_35_execute,"snikket.persistence.SqliteDriver","execute",0x6475787b,"snikket.persistence.SqliteDriver.execute","snikket/persistence/SqliteDriver.hx",35,0xaa839748)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c401225cb14c98d_52_execute,"snikket.persistence.SqliteDriver","execute",0x6475787b,"snikket.persistence.SqliteDriver.execute","snikket/persistence/SqliteDriver.hx",52,0xaa839748)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c401225cb14c98d_54_execute,"snikket.persistence.SqliteDriver","execute",0x6475787b,"snikket.persistence.SqliteDriver.execute","snikket/persistence/SqliteDriver.hx",54,0xaa839748)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c401225cb14c98d_58_execute,"snikket.persistence.SqliteDriver","execute",0x6475787b,"snikket.persistence.SqliteDriver.execute","snikket/persistence/SqliteDriver.hx",58,0xaa839748)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c401225cb14c98d_33_execute,"snikket.persistence.SqliteDriver","execute",0x6475787b,"snikket.persistence.SqliteDriver.execute","snikket/persistence/SqliteDriver.hx",33,0xaa839748)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c401225cb14c98d_65_exec,"snikket.persistence.SqliteDriver","exec",0x9d707d8b,"snikket.persistence.SqliteDriver.exec","snikket/persistence/SqliteDriver.hx",65,0xaa839748)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c401225cb14c98d_64_exec,"snikket.persistence.SqliteDriver","exec",0x9d707d8b,"snikket.persistence.SqliteDriver.exec","snikket/persistence/SqliteDriver.hx",64,0xaa839748)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c401225cb14c98d_73_prepare,"snikket.persistence.SqliteDriver","prepare",0xd045ffcd,"snikket.persistence.SqliteDriver.prepare","snikket/persistence/SqliteDriver.hx",73,0xaa839748)
-namespace snikket{
+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_25_new,"borogove.persistence.SqliteDriver","new",0x5c9c4682,"borogove.persistence.SqliteDriver.new","borogove/persistence/SqliteDriver.hx",25,0xf8c083ec)
+HX_DEFINE_STACK_FRAME(_hx_pos_a11c44f890417883_26_new,"borogove.persistence.SqliteDriver","new",0x5c9c4682,"borogove.persistence.SqliteDriver.new","borogove/persistence/SqliteDriver.hx",26,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_8_new,"borogove.persistence.SqliteDriver","new",0x5c9c4682,"borogove.persistence.SqliteDriver.new","borogove/persistence/SqliteDriver.hx",8,0xf8c083ec)
+HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_33_execute,"borogove.persistence.SqliteDriver","execute",0xc8683957,"borogove.persistence.SqliteDriver.execute","borogove/persistence/SqliteDriver.hx",33,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_31_execute,"borogove.persistence.SqliteDriver","execute",0xc8683957,"borogove.persistence.SqliteDriver.execute","borogove/persistence/SqliteDriver.hx",31,0xf8c083ec)
+HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_62_exec,"borogove.persistence.SqliteDriver","exec",0xa63cdb2f,"borogove.persistence.SqliteDriver.exec","borogove/persistence/SqliteDriver.hx",62,0xf8c083ec)
+HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_61_exec,"borogove.persistence.SqliteDriver","exec",0xa63cdb2f,"borogove.persistence.SqliteDriver.exec","borogove/persistence/SqliteDriver.hx",61,0xf8c083ec)
+HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_70_prepare,"borogove.persistence.SqliteDriver","prepare",0x3438c0a9,"borogove.persistence.SqliteDriver.prepare","borogove/persistence/SqliteDriver.hx",70,0xf8c083ec)
+namespace borogove{
namespace persistence{
void SqliteDriver_obj::__construct(::String dbfile, ::Dynamic migrate){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::persistence::SqliteDriver,_gthis) HXARGC(2)
+ 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_5c401225cb14c98d_20_new)
-HXLINE( 20) _gthis->setReady = resolve;
+ HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_19_new)
+HXLINE( 19) _gthis->setReady = resolve;
}
HX_END_LOCAL_FUNC2((void))
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_3, ::snikket::persistence::SqliteDriver,_gthis,::String,dbfile, ::Dynamic,migrate) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_3, ::borogove::persistence::SqliteDriver,_gthis,::String,dbfile, ::Dynamic,migrate) HXARGC(0)
void _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::snikket::persistence::SqliteDriver,_gthis) HXARGC(1)
+ 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_5c401225cb14c98d_27_new)
-HXLINE( 27) return _gthis->execute(_gthis->writePool,sql,::cpp::VirtualArray_obj::__new(0));
+ HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_25_new)
+HXLINE( 25) return _gthis->execute(_gthis->writePool,sql,::cpp::VirtualArray_obj::__new(0));
}
HX_END_LOCAL_FUNC1(return)
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::snikket::persistence::SqliteDriver,_gthis) HXARGC(1)
+ 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_5c401225cb14c98d_28_new)
-HXLINE( 28) _gthis->setReady(true);
+ HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_26_new)
+HXLINE( 26) _gthis->setReady(true);
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_5c401225cb14c98d_23_new)
-HXLINE( 24) ::Dynamic db = ::sys::db::Sqlite_obj::open(dbfile);
-HXLINE( 25) ::sys::db::Connection_obj::request(db,HX_("PRAGMA journal_mode=WAL",74,ce,b2,c7));
-HXLINE( 26) _gthis->dbs->push(db);
-HXLINE( 27) ::thenshim::_Promise::Promise_Impl__obj::then(migrate( ::Dynamic(new _hx_Closure_1(_gthis))), ::Dynamic(new _hx_Closure_2(_gthis)),null());
+ 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) _gthis->dbs->push(db);
+HXLINE( 25) ::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_5c401225cb14c98d_8_new)
+ 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( 17) ::snikket::persistence::SqliteDriver _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 18) this->dbfile = dbfile;
-HXLINE( 19) ::Dynamic _hx_tmp;
-HXDLIN( 19) if (::snikket::Config_obj::constrainedMemoryMode) {
-HXLINE( 19) _hx_tmp = this->writePool;
+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;
}
else {
-HXLINE( 19) _hx_tmp = ::sys::thread::ElasticThreadPool_obj::__alloc( HX_CTX ,10,null());
+HXLINE( 18) _hx_tmp = ::sys::thread::ElasticThreadPool_obj::__alloc( HX_CTX ,10,null());
}
-HXDLIN( 19) this->readPool = _hx_tmp;
-HXLINE( 20) this->ready = ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 21) this->mainLoop = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current());
-HXLINE( 23) ::sys::thread::IThreadPool_obj::run(this->writePool, ::Dynamic(new _hx_Closure_3(_gthis,dbfile,migrate)));
+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)));
}
Dynamic SqliteDriver_obj::__CreateEmpty() { return new SqliteDriver_obj; }
@@ -152,76 +137,55 @@ Dynamic SqliteDriver_obj::__Create(::hx::DynamicArray inArgs)
}
bool SqliteDriver_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x0672539a;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x35b461ca;
}
::Dynamic SqliteDriver_obj::execute(::Dynamic pool,::Array< ::String > qs,::cpp::VirtualArray params){
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_4, ::snikket::persistence::SqliteDriver,_gthis,::Dynamic,pool,::Array< ::String >,qs,::cpp::VirtualArray,params) HXARGC(2)
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_2, ::borogove::persistence::SqliteDriver,_gthis,::Dynamic,pool,::Array< ::String >,qs,::cpp::VirtualArray,params) HXARGC(2)
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_3, ::snikket::persistence::SqliteDriver,_gthis,::Array< ::String >,qs, ::Dynamic,resolve, ::Dynamic,reject,::cpp::VirtualArray,params) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_1, ::borogove::persistence::SqliteDriver,_gthis,::Array< ::String >,qs, ::Dynamic,resolve, ::Dynamic,reject,::cpp::VirtualArray,params) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_5c401225cb14c98d_35_execute)
-HXLINE( 36) ::Dynamic db = _gthis->dbs->pop(false);
-HXLINE( 37) try {
+ HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_33_execute)
+HXLINE( 34) ::Dynamic db = _gthis->dbs->pop(false);
+HXLINE( 35) try {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::Array< ::Dynamic>,result) HXARGC(0)
::Dynamic _hx_run(){
- HX_STACKFRAME(&_hx_pos_5c401225cb14c98d_52_execute)
-HXLINE( 52) return result->__get(0);
+ HX_STACKFRAME(&_hx_pos_a11c44f890417883_50_execute)
+HXLINE( 50) return result->__get(0);
}
HX_END_LOCAL_FUNC0(return)
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,resolve,::cpp::VirtualArray,arr) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_5c401225cb14c98d_54_execute)
-HXLINE( 54) ::Dynamic resolve1 = resolve;
-HXDLIN( 54) resolve1( ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,arr));
- }
- HX_END_LOCAL_FUNC0((void))
-
HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 38) if (::hx::IsNull( db )) {
-HXLINE( 39) db = ::sys::db::Sqlite_obj::open(_gthis->dbfile);
+HXLINE( 36) if (::hx::IsNull( db )) {
+HXLINE( 37) db = ::sys::db::Sqlite_obj::open(_gthis->dbfile);
}
-HXLINE( 41) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(1)->init(0,null());
-HXLINE( 42) {
-HXLINE( 42) int _g = 0;
-HXDLIN( 42) while((_g < qs->length)){
-HXLINE( 42) ::String q = qs->__get(_g);
-HXDLIN( 42) _g = (_g + 1);
-HXLINE( 43) if (::hx::IsNull( result->__get(0) )) {
-HXLINE( 44) ::String prepared = _gthis->prepare(db,q,params);
-HXLINE( 45) result[0] = ::sys::db::Connection_obj::request(db,prepared);
+HXLINE( 39) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(1)->init(0,null());
+HXLINE( 40) {
+HXLINE( 40) int _g = 0;
+HXDLIN( 40) while((_g < qs->length)){
+HXLINE( 40) ::String q = qs->__get(_g);
+HXDLIN( 40) _g = (_g + 1);
+HXLINE( 41) if (::hx::IsNull( result->__get(0) )) {
+HXLINE( 42) ::String prepared = _gthis->prepare(db,q,params);
+HXLINE( 43) result[0] = ::sys::db::Connection_obj::request(db,prepared);
}
else {
-HXLINE( 47) ::sys::db::Connection_obj::request(db,q);
+HXLINE( 45) ::sys::db::Connection_obj::request(db,q);
}
}
}
-HXLINE( 52) ::cpp::VirtualArray arr = ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE( 50) ::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( 53) _gthis->dbs->push(db);
-HXLINE( 54) _gthis->mainLoop->run( ::Dynamic(new _hx_Closure_1(resolve,arr)));
+HXLINE( 51) _gthis->dbs->push(db);
+HXLINE( 52) 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( 55) ::haxe::Exception e = ::haxe::Exception_obj::caught(_g1);
-HXDLIN( 55) {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::haxe::Exception,e, ::Dynamic,reject) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_5c401225cb14c98d_58_execute)
-HXLINE( 58) reject(e);
- }
- HX_END_LOCAL_FUNC0((void))
-
-HXLINE( 56) ::haxe::Log_obj::trace(HX_("SQLFAIL",cc,52,48,cf), ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.persistence.SqliteDriver",b4,18,c2,cb))
- ->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_("execute",35,0a,0d,cc))
- ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("snikket/persistence/SqliteDriver.hx",48,97,83,aa))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),56)));
-HXLINE( 57) _gthis->dbs->push(db);
-HXLINE( 58) _gthis->mainLoop->run( ::Dynamic(new _hx_Closure_2(e,reject)));
+HXLINE( 53) ::haxe::Exception _g2 = ::haxe::Exception_obj::caught(_g1);
+HXDLIN( 53) {
+HXLINE( 54) _gthis->dbs->push(db);
+HXLINE( 55) reject(_g2);
}
}
else {
@@ -231,52 +195,52 @@ HXLINE( 58) _gthis->mainLoop->run( ::Dynamic(new _hx_Closure_2(e,reject))
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_5c401225cb14c98d_35_execute)
-HXLINE( 35) ::sys::thread::IThreadPool_obj::run(pool, ::Dynamic(new _hx_Closure_3(_gthis,qs,resolve,reject,params)));
+ HX_STACKFRAME(&_hx_pos_a11c44f890417883_33_execute)
+HXLINE( 33) ::sys::thread::IThreadPool_obj::run(pool, ::Dynamic(new _hx_Closure_1(_gthis,qs,resolve,reject,params)));
}
HX_END_LOCAL_FUNC2((void))
- HX_STACKFRAME(&_hx_pos_5c401225cb14c98d_33_execute)
-HXDLIN( 33) ::snikket::persistence::SqliteDriver _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 34) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_4(_gthis,pool,qs,params)));
+ HX_STACKFRAME(&_hx_pos_a11c44f890417883_31_execute)
+HXDLIN( 31) ::borogove::persistence::SqliteDriver _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 32) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_2(_gthis,pool,qs,params)));
}
HX_DEFINE_DYNAMIC_FUNC3(SqliteDriver_obj,execute,return )
::Dynamic SqliteDriver_obj::exec( ::Dynamic sql,::cpp::VirtualArray params){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::persistence::SqliteDriver,_gthis, ::Dynamic,sql,::cpp::VirtualArray,params) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::SqliteDriver,_gthis, ::Dynamic,sql,::cpp::VirtualArray,params) HXARGC(1)
::Dynamic _hx_run(bool _){
- HX_STACKFRAME(&_hx_pos_5c401225cb14c98d_65_exec)
-HXLINE( 66) ::cpp::VirtualArray qs;
-HXDLIN( 66) if (::Std_obj::isOfType(sql,::hx::ClassOf< ::String >())) {
-HXLINE( 66) qs = ::cpp::VirtualArray_obj::__new(1)->init(0,sql);
+ HX_STACKFRAME(&_hx_pos_a11c44f890417883_62_exec)
+HXLINE( 63) ::cpp::VirtualArray qs;
+HXDLIN( 63) if (::Std_obj::isOfType(sql,::hx::ClassOf< ::String >())) {
+HXLINE( 63) qs = ::cpp::VirtualArray_obj::__new(1)->init(0,sql);
}
else {
-HXLINE( 66) qs = ( (::cpp::VirtualArray)(sql) );
+HXLINE( 63) qs = ( (::cpp::VirtualArray)(sql) );
}
-HXLINE( 67) ::Dynamic pool;
-HXDLIN( 67) if (::StringTools_obj::startsWith(( (::String)(qs->__get(0)) ),HX_("SELECT",fc,c6,b5,1c))) {
-HXLINE( 67) pool = _gthis->readPool;
+HXLINE( 64) ::Dynamic pool;
+HXDLIN( 64) if (::StringTools_obj::startsWith(( (::String)(qs->__get(0)) ),HX_("SELECT",fc,c6,b5,1c))) {
+HXLINE( 64) pool = _gthis->readPool;
}
else {
-HXLINE( 67) pool = _gthis->writePool;
+HXLINE( 64) pool = _gthis->writePool;
}
-HXLINE( 68) ::cpp::VirtualArray tmp = params;
-HXDLIN( 68) ::cpp::VirtualArray _hx_tmp;
-HXDLIN( 68) if (::hx::IsNotNull( tmp )) {
-HXLINE( 68) _hx_tmp = tmp;
+HXLINE( 65) ::cpp::VirtualArray tmp = params;
+HXDLIN( 65) ::cpp::VirtualArray _hx_tmp;
+HXDLIN( 65) if (::hx::IsNotNull( tmp )) {
+HXLINE( 65) _hx_tmp = tmp;
}
else {
-HXLINE( 68) _hx_tmp = ::cpp::VirtualArray_obj::__new(0);
+HXLINE( 65) _hx_tmp = ::cpp::VirtualArray_obj::__new(0);
}
-HXDLIN( 68) return _gthis->execute(pool,qs,_hx_tmp);
+HXDLIN( 65) return _gthis->execute(pool,qs,_hx_tmp);
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_5c401225cb14c98d_64_exec)
-HXDLIN( 64) ::snikket::persistence::SqliteDriver _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 65) return ::thenshim::_Promise::Promise_Impl__obj::then(this->ready, ::Dynamic(new _hx_Closure_0(_gthis,sql,params)),null());
+ HX_STACKFRAME(&_hx_pos_a11c44f890417883_61_exec)
+HXDLIN( 61) ::borogove::persistence::SqliteDriver _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 62) return ::thenshim::_Promise::Promise_Impl__obj::then(this->ready, ::Dynamic(new _hx_Closure_0(_gthis,sql,params)),null());
}
@@ -285,63 +249,61 @@ HX_DEFINE_DYNAMIC_FUNC2(SqliteDriver_obj,exec,return )
::String SqliteDriver_obj::prepare(::Dynamic db,::String sql,::cpp::VirtualArray params){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::VirtualArray,params,::Dynamic,db) HXARGC(1)
::String _hx_run( ::EReg f){
- HX_GC_STACKFRAME(&_hx_pos_5c401225cb14c98d_73_prepare)
-HXLINE( 74) ::Dynamic p = params->shift();
-HXLINE( 75) ::ValueType _g = ::Type_obj::_hx_typeof(p);
-HXDLIN( 75) switch((int)(_g->_hx_getIndex())){
+ HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_70_prepare)
+HXLINE( 71) ::Dynamic p = params->shift();
+HXLINE( 72) ::ValueType _g = ::Type_obj::_hx_typeof(p);
+HXDLIN( 72) switch((int)(_g->_hx_getIndex())){
case (int)0: {
-HXLINE( 85) return HX_("NULL",87,66,cf,33);
+HXLINE( 82) return HX_("NULL",87,66,cf,33);
}
break;
case (int)1: {
-HXLINE( 83) return ::Std_obj::string(p);
+HXLINE( 80) return ::Std_obj::string(p);
}
break;
case (int)2: {
-HXLINE( 81) return ::Std_obj::string(p);
+HXLINE( 78) return ::Std_obj::string(p);
}
break;
case (int)3: {
-HXLINE( 79) if (::hx::IsEq( p,true )) {
-HXLINE( 79) return HX_("1",31,00,00,00);
+HXLINE( 76) if (::hx::IsEq( p,true )) {
+HXLINE( 76) return HX_("1",31,00,00,00);
}
else {
-HXLINE( 79) return HX_("0",30,00,00,00);
+HXLINE( 76) return HX_("0",30,00,00,00);
}
}
break;
case (int)6: {
-HXLINE( 89) ::hx::Class _hx_switch_0 = _g->_hx_getObject(0).StaticCast< ::hx::Class >();
+HXLINE( 86) ::hx::Class _hx_switch_0 = _g->_hx_getObject(0).StaticCast< ::hx::Class >();
if ( (_hx_switch_0==::hx::ArrayBase::__mClass) ){
-HXLINE( 87) ::haxe::io::Bytes bytes = ::haxe::io::Bytes_obj::ofData(( (::Array< unsigned char >)(p) ));
-HXLINE( 88) return ((HX_("X'",cf,4c,00,00) + bytes->toHex()) + HX_("'",27,00,00,00));
-HXLINE( 86) goto _hx_goto_14;
+HXLINE( 85) return ((HX_("X'",cf,4c,00,00) + ::haxe::io::Bytes_obj::ofData(( (::Array< unsigned char >)(p) ))->toHex()) + HX_("'",27,00,00,00));
+HXDLIN( 85) goto _hx_goto_12;
}
if ( (_hx_switch_0==::hx::ClassOf< ::String >()) ){
-HXLINE( 77) return ::sys::db::Connection_obj::quote(db,p);
-HXDLIN( 77) goto _hx_goto_14;
+HXLINE( 74) return ::sys::db::Connection_obj::quote(db,p);
+HXDLIN( 74) goto _hx_goto_12;
}
if ( (_hx_switch_0==::hx::ClassOf< ::haxe::io::Bytes >()) ){
-HXLINE( 90) ::haxe::io::Bytes bytes1 = ( ( ::haxe::io::Bytes)(p) );
-HXLINE( 91) return ((HX_("X'",cf,4c,00,00) + bytes1->toHex()) + HX_("'",27,00,00,00));
-HXLINE( 89) goto _hx_goto_14;
+HXLINE( 88) return ((HX_("X'",cf,4c,00,00) + ( ( ::haxe::io::Bytes)(p) )->toHex()) + HX_("'",27,00,00,00));
+HXDLIN( 88) goto _hx_goto_12;
}
/* default */{
-HXLINE( 93) HX_STACK_DO_THROW((HX_("UKNONWN: ",54,2e,a9,30) + ::Std_obj::string(::Type_obj::_hx_typeof(p))));
+HXLINE( 90) HX_STACK_DO_THROW((HX_("UKNONWN: ",54,2e,a9,30) + ::Std_obj::string(::Type_obj::_hx_typeof(p))));
}
- _hx_goto_14:;
+ _hx_goto_12:;
}
break;
default:{
-HXLINE( 93) HX_STACK_DO_THROW((HX_("UKNONWN: ",54,2e,a9,30) + ::Std_obj::string(::Type_obj::_hx_typeof(p))));
+HXLINE( 90) HX_STACK_DO_THROW((HX_("UKNONWN: ",54,2e,a9,30) + ::Std_obj::string(::Type_obj::_hx_typeof(p))));
}
}
-HXLINE( 75) return null();
+HXLINE( 72) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_5c401225cb14c98d_73_prepare)
-HXDLIN( 73) return ::EReg_obj::__alloc( HX_CTX ,HX_("\\?",63,50,00,00),HX_("gm",26,5a,00,00))->map(sql, ::Dynamic(new _hx_Closure_0(params,db)));
+ HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_70_prepare)
+HXDLIN( 70) return ::EReg_obj::__alloc( HX_CTX ,HX_("\\?",63,50,00,00),HX_("gm",26,5a,00,00))->map(sql, ::Dynamic(new _hx_Closure_0(params,db)));
}
@@ -355,7 +317,7 @@ HX_DEFINE_DYNAMIC_FUNC3(SqliteDriver_obj,prepare,return )
}
::hx::ObjectPtr< SqliteDriver_obj > SqliteDriver_obj::__alloc(::hx::Ctx *_hx_ctx,::String dbfile, ::Dynamic migrate) {
- SqliteDriver_obj *__this = (SqliteDriver_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(SqliteDriver_obj), true, "snikket.persistence.SqliteDriver"));
+ SqliteDriver_obj *__this = (SqliteDriver_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(SqliteDriver_obj), true, "borogove.persistence.SqliteDriver"));
*(void **)__this = SqliteDriver_obj::_hx_vtable;
__this->__construct(dbfile,migrate);
return __this;
@@ -374,7 +336,6 @@ 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(mainLoop,"mainLoop");
HX_MARK_END_CLASS();
}
@@ -386,7 +347,6 @@ 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(mainLoop,"mainLoop");
}
::hx::Val SqliteDriver_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -411,7 +371,6 @@ void SqliteDriver_obj::__Visit(HX_VISIT_PARAMS)
case 8:
if (HX_FIELD_EQ(inName,"readPool") ) { return ::hx::Val( readPool ); }
if (HX_FIELD_EQ(inName,"setReady") ) { return ::hx::Val( setReady ); }
- if (HX_FIELD_EQ(inName,"mainLoop") ) { return ::hx::Val( mainLoop ); }
break;
case 9:
if (HX_FIELD_EQ(inName,"writePool") ) { return ::hx::Val( writePool ); }
@@ -434,7 +393,6 @@ void SqliteDriver_obj::__Visit(HX_VISIT_PARAMS)
case 8:
if (HX_FIELD_EQ(inName,"readPool") ) { readPool=inValue.Cast< ::Dynamic >(); return inValue; }
if (HX_FIELD_EQ(inName,"setReady") ) { setReady=inValue.Cast< ::Dynamic >(); return inValue; }
- if (HX_FIELD_EQ(inName,"mainLoop") ) { mainLoop=inValue.Cast< ::sys::thread::EventLoop >(); return inValue; }
break;
case 9:
if (HX_FIELD_EQ(inName,"writePool") ) { writePool=inValue.Cast< ::Dynamic >(); return inValue; }
@@ -449,7 +407,6 @@ void SqliteDriver_obj::__GetFields(Array< ::String> &outFields)
outFields->push(HX_("readPool",52,5b,54,72));
outFields->push(HX_("dbfile",fa,bc,b0,ac));
outFields->push(HX_("ready",63,a0,ba,e6));
- outFields->push(HX_("mainLoop",3d,1b,3a,a0));
super::__GetFields(outFields);
};
@@ -461,7 +418,6 @@ 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 /* ::sys::thread::EventLoop */ ,(int)offsetof(SqliteDriver_obj,mainLoop),HX_("mainLoop",3d,1b,3a,a0)},
{ ::hx::fsUnknown, 0, null()}
};
static ::hx::StaticInfo *SqliteDriver_obj_sStaticStorageInfo = 0;
@@ -474,7 +430,6 @@ static ::String SqliteDriver_obj_sMemberFields[] = {
HX_("dbfile",fa,bc,b0,ac),
HX_("ready",63,a0,ba,e6),
HX_("setReady",61,09,ef,f4),
- HX_("mainLoop",3d,1b,3a,a0),
HX_("execute",35,0a,0d,cc),
HX_("exec",91,f3,1d,43),
HX_("prepare",87,91,dd,37),
@@ -487,7 +442,7 @@ void SqliteDriver_obj::__register()
SqliteDriver_obj _hx_dummy;
SqliteDriver_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.persistence.SqliteDriver",b4,18,c2,cb);
+ __mClass->mName = HX_("borogove.persistence.SqliteDriver",90,9d,1a,56);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -505,5 +460,5 @@ void SqliteDriver_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace persistence
diff --git a/Sources/c_snikket/src/snikket/queries/BlocklistGet.cpp b/Sources/c_borogove/src/borogove/queries/BlocklistGet.cpp
similarity index 73%
rename from Sources/c_snikket/src/snikket/queries/BlocklistGet.cpp
rename to Sources/c_borogove/src/borogove/queries/BlocklistGet.cpp
index 8134081..00fab2c 100644
--- a/Sources/c_snikket/src/snikket/queries/BlocklistGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/BlocklistGet.cpp
@@ -4,35 +4,32 @@
#ifndef INCLUDED_Reflect
#include <Reflect.h>
#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_queries_BlocklistGet
+#include <borogove/queries/BlocklistGet.h>
#endif
-#ifndef INCLUDED_snikket_queries_BlocklistGet
-#include <snikket/queries/BlocklistGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_244c9ad5c68e0db2_12_new,"snikket.queries.BlocklistGet","new",0x566d57d6,"snikket.queries.BlocklistGet.new","snikket/queries/BlocklistGet.hx",12,0xec59fd98)
-HX_LOCAL_STACK_FRAME(_hx_pos_244c9ad5c68e0db2_26_handleResponse,"snikket.queries.BlocklistGet","handleResponse",0x4f763693,"snikket.queries.BlocklistGet.handleResponse","snikket/queries/BlocklistGet.hx",26,0xec59fd98)
-HX_LOCAL_STACK_FRAME(_hx_pos_244c9ad5c68e0db2_31_getResult,"snikket.queries.BlocklistGet","getResult",0xf0387609,"snikket.queries.BlocklistGet.getResult","snikket/queries/BlocklistGet.hx",31,0xec59fd98)
-namespace snikket{
+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)
+HX_LOCAL_STACK_FRAME(_hx_pos_1135fedfc55f8db7_31_getResult,"borogove.queries.BlocklistGet","getResult",0x9a3e07e5,"borogove.queries.BlocklistGet.getResult","borogove/queries/BlocklistGet.hx",31,0x4fb2c83c)
+namespace borogove{
namespace queries{
void BlocklistGet_obj::__construct(){
- HX_GC_STACKFRAME(&_hx_pos_244c9ad5c68e0db2_12_new)
+ HX_GC_STACKFRAME(&_hx_pos_1135fedfc55f8db7_12_new)
HXLINE( 14) this->queryId = null();
HXLINE( 13) this->xmlns = HX_("urn:xmpp:blocking",d1,a1,46,c3);
HXLINE( 19) super::__construct();
-HXLINE( 21) this->queryId = ::snikket::ID_obj::_hx_short();
-HXLINE( 22) this->queryStanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 21) this->queryId = ::borogove::ID_obj::_hx_short();
+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();
@@ -50,27 +47,27 @@ Dynamic BlocklistGet_obj::__Create(::hx::DynamicArray inArgs)
}
bool BlocklistGet_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x22eda35a) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x22eda35a;
+ if (inClassId<=(int)0x1dd1c4c4) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1dd1c4c4;
} else {
- return inClassId==(int)0x60103714;
+ return inClassId==(int)0x7c285bb6;
}
}
-void BlocklistGet_obj::handleResponse( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_244c9ad5c68e0db2_26_handleResponse)
+void BlocklistGet_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_1135fedfc55f8db7_26_handleResponse)
HXLINE( 27) this->responseStanza = stanza;
HXLINE( 28) this->finish();
}
::Array< ::String > BlocklistGet_obj::getResult(){
- HX_STACKFRAME(&_hx_pos_244c9ad5c68e0db2_31_getResult)
+ HX_STACKFRAME(&_hx_pos_1135fedfc55f8db7_31_getResult)
HXLINE( 32) if (::hx::IsNull( this->responseStanza )) {
HXLINE( 33) return ::Array_obj< ::String >::__new(0);
}
HXLINE( 35) if (::hx::IsNull( this->result )) {
-HXLINE( 36) ::snikket::Stanza q = this->responseStanza->getChild(HX_("blocklist",2b,bc,68,62),this->xmlns);
+HXLINE( 36) ::borogove::Stanza q = this->responseStanza->getChild(HX_("blocklist",2b,bc,68,62),this->xmlns);
HXLINE( 37) if (::hx::IsNull( q )) {
HXLINE( 38) return ::Array_obj< ::String >::__new(0);
}
@@ -83,7 +80,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(( ( ::snikket::Stanza)(_hx_array_unsafe_get(_this,i)) )->attr,HX_("jid",c5,ca,50,00))) );
+HXLINE( 41) ::String inValue = ( (::String)(::Reflect_obj::field(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->attr,HX_("jid",c5,ca,50,00))) );
HXDLIN( 41) result->__unsafe_set(i,inValue);
}
}
@@ -104,7 +101,7 @@ HX_DEFINE_DYNAMIC_FUNC0(BlocklistGet_obj,getResult,return )
}
::hx::ObjectPtr< BlocklistGet_obj > BlocklistGet_obj::__alloc(::hx::Ctx *_hx_ctx) {
- BlocklistGet_obj *__this = (BlocklistGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(BlocklistGet_obj), true, "snikket.queries.BlocklistGet"));
+ BlocklistGet_obj *__this = (BlocklistGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(BlocklistGet_obj), true, "borogove.queries.BlocklistGet"));
*(void **)__this = BlocklistGet_obj::_hx_vtable;
__this->__construct();
return __this;
@@ -121,7 +118,7 @@ void BlocklistGet_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(queryId,"queryId");
HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
HX_MARK_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -131,7 +128,7 @@ void BlocklistGet_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(queryId,"queryId");
HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
HX_VISIT_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val BlocklistGet_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -169,7 +166,7 @@ void BlocklistGet_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"queryId") ) { queryId=inValue.Cast< ::String >(); return inValue; }
break;
case 14:
- if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -187,7 +184,7 @@ void BlocklistGet_obj::__GetFields(Array< ::String> &outFields)
static ::hx::StorageInfo BlocklistGet_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(BlocklistGet_obj,xmlns),HX_("xmlns",dc,31,74,60)},
{::hx::fsString,(int)offsetof(BlocklistGet_obj,queryId),HX_("queryId",03,9d,e9,95)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(BlocklistGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(BlocklistGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
{::hx::fsObject /* ::Array< ::String > */ ,(int)offsetof(BlocklistGet_obj,result),HX_("result",dd,68,84,08)},
{ ::hx::fsUnknown, 0, null()}
};
@@ -210,7 +207,7 @@ void BlocklistGet_obj::__register()
BlocklistGet_obj _hx_dummy;
BlocklistGet_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.BlocklistGet",e4,74,8b,53);
+ __mClass->mName = HX_("borogove.queries.BlocklistGet",c0,5b,d1,01);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -228,5 +225,5 @@ void BlocklistGet_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_snikket/src/snikket/queries/BoB.cpp b/Sources/c_borogove/src/borogove/queries/BoB.cpp
similarity index 76%
rename from Sources/c_snikket/src/snikket/queries/BoB.cpp
rename to Sources/c_borogove/src/borogove/queries/BoB.cpp
index 9f20d11..d073d56 100644
--- a/Sources/c_snikket/src/snikket/queries/BoB.cpp
+++ b/Sources/c_borogove/src/borogove/queries/BoB.cpp
@@ -10,40 +10,37 @@
#ifndef INCLUDED_StringTools
#include <StringTools.h>
#endif
-#ifndef INCLUDED_haxe_crypto_Base64
-#include <haxe/crypto/Base64.h>
-#endif
-#ifndef INCLUDED_haxe_io_Bytes
-#include <haxe/io/Bytes.h>
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_queries_BoB
+#include <borogove/queries/BoB.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-#ifndef INCLUDED_snikket_queries_BoB
-#include <snikket/queries/BoB.h>
+#ifndef INCLUDED_haxe_crypto_Base64
+#include <haxe/crypto/Base64.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_e19ddf21073603db_7_new,"snikket.queries.BoB","new",0x1ec3bc2e,"snikket.queries.BoB.new","snikket/queries/BoB.hx",7,0x20487984)
-HX_LOCAL_STACK_FRAME(_hx_pos_e19ddf21073603db_30_handleResponse,"snikket.queries.BoB","handleResponse",0xbb80013b,"snikket.queries.BoB.handleResponse","snikket/queries/BoB.hx",30,0x20487984)
-HX_LOCAL_STACK_FRAME(_hx_pos_e19ddf21073603db_35_getResult,"snikket.queries.BoB","getResult",0x4ad2ac61,"snikket.queries.BoB.getResult","snikket/queries/BoB.hx",35,0x20487984)
-HX_LOCAL_STACK_FRAME(_hx_pos_e19ddf21073603db_27_forHash,"snikket.queries.BoB","forHash",0x0f86c645,"snikket.queries.BoB.forHash","snikket/queries/BoB.hx",27,0x20487984)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_e6cab97650889037_7_new,"borogove.queries.BoB","new",0x4f7f42d2,"borogove.queries.BoB.new","borogove/queries/BoB.hx",7,0x8b439360)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6cab97650889037_30_handleResponse,"borogove.queries.BoB","handleResponse",0xf0a87517,"borogove.queries.BoB.handleResponse","borogove/queries/BoB.hx",30,0x8b439360)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6cab97650889037_35_getResult,"borogove.queries.BoB","getResult",0x19b6c605,"borogove.queries.BoB.getResult","borogove/queries/BoB.hx",35,0x8b439360)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6cab97650889037_27_forHash,"borogove.queries.BoB","forHash",0xd9346ee9,"borogove.queries.BoB.forHash","borogove/queries/BoB.hx",27,0x8b439360)
+namespace borogove{
namespace queries{
void BoB_obj::__construct(::String to,::String uri){
- HX_GC_STACKFRAME(&_hx_pos_e19ddf21073603db_7_new)
+ HX_GC_STACKFRAME(&_hx_pos_e6cab97650889037_7_new)
HXLINE( 13) this->xmlns = HX_("urn:xmpp:bob",59,b7,fd,c9);
HXLINE( 18) super::__construct();
HXLINE( 19) bool _hx_tmp;
@@ -63,8 +60,8 @@ HXLINE( 19) _hx_tmp = true;
HXDLIN( 19) if (_hx_tmp) {
HXLINE( 19) HX_STACK_DO_THROW(HX_("invalid BoB URI",38,fd,eb,ca));
}
-HXLINE( 21) this->queryId = ::snikket::ID_obj::_hx_short();
-HXLINE( 22) ::snikket::Stanza _hx_tmp2 = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 21) this->queryId = ::borogove::ID_obj::_hx_short();
+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))));
@@ -86,27 +83,27 @@ Dynamic BoB_obj::__Create(::hx::DynamicArray inArgs)
}
bool BoB_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x22eda35a) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x22eda35a;
+ if (inClassId<=(int)0x54dcd430) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x54dcd430;
} else {
- return inClassId==(int)0x6fef110c;
+ return inClassId==(int)0x7c285bb6;
}
}
-void BoB_obj::handleResponse( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_e19ddf21073603db_30_handleResponse)
+void BoB_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_e6cab97650889037_30_handleResponse)
HXLINE( 31) this->responseStanza = stanza;
HXLINE( 32) this->finish();
}
::Dynamic BoB_obj::getResult(){
- HX_STACKFRAME(&_hx_pos_e19ddf21073603db_35_getResult)
+ HX_STACKFRAME(&_hx_pos_e6cab97650889037_35_getResult)
HXLINE( 36) if (::hx::IsNull( this->responseStanza )) {
HXLINE( 37) return null();
}
HXLINE( 39) if (::hx::IsNull( this->result )) {
-HXLINE( 40) ::snikket::Stanza data = this->responseStanza->getChild(HX_("data",2a,56,63,42),this->xmlns);
+HXLINE( 40) ::borogove::Stanza data = this->responseStanza->getChild(HX_("data",2a,56,63,42),this->xmlns);
HXLINE( 41) if (::hx::IsNull( data )) {
HXLINE( 42) return null();
}
@@ -131,8 +128,8 @@ HXLINE( 51) return this->result;
HX_DEFINE_DYNAMIC_FUNC0(BoB_obj,getResult,return )
- ::snikket::queries::BoB BoB_obj::forHash(::String to, ::snikket::Hash hash){
- HX_GC_STACKFRAME(&_hx_pos_e19ddf21073603db_27_forHash)
+ ::borogove::queries::BoB BoB_obj::forHash(::String to, ::borogove::Hash hash){
+ HX_GC_STACKFRAME(&_hx_pos_e6cab97650889037_27_forHash)
HXDLIN( 27) ::String algo;
HXDLIN( 27) if ((hash->algorithm == HX_("sha-1",90,a8,1c,7c))) {
HXDLIN( 27) algo = HX_("sha1",85,c8,52,4c);
@@ -141,7 +138,7 @@ HXDLIN( 27) algo = HX_("sha1",85,c8,52,4c);
HXDLIN( 27) algo = hash->algorithm;
}
HXDLIN( 27) ::String _hx_tmp = ((HX_("cid:",7c,23,c0,41) + ::StringTools_obj::urlEncode(algo)) + HX_("+",2b,00,00,00));
-HXDLIN( 27) return ::snikket::queries::BoB_obj::__alloc( HX_CTX ,to,((_hx_tmp + hash->toHex()) + HX_("@bob.xmpp.org",04,79,99,e7)));
+HXDLIN( 27) return ::borogove::queries::BoB_obj::__alloc( HX_CTX ,to,((_hx_tmp + hash->toHex()) + HX_("@bob.xmpp.org",04,79,99,e7)));
}
@@ -155,7 +152,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC2(BoB_obj,forHash,return )
}
::hx::ObjectPtr< BoB_obj > BoB_obj::__alloc(::hx::Ctx *_hx_ctx,::String to,::String uri) {
- BoB_obj *__this = (BoB_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(BoB_obj), true, "snikket.queries.BoB"));
+ BoB_obj *__this = (BoB_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(BoB_obj), true, "borogove.queries.BoB"));
*(void **)__this = BoB_obj::_hx_vtable;
__this->__construct(to,uri);
return __this;
@@ -172,7 +169,7 @@ void BoB_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(queryId,"queryId");
HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
HX_MARK_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -182,7 +179,7 @@ void BoB_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(queryId,"queryId");
HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
HX_VISIT_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val BoB_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -229,7 +226,7 @@ bool BoB_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::Prope
if (HX_FIELD_EQ(inName,"queryId") ) { queryId=inValue.Cast< ::String >(); return inValue; }
break;
case 14:
- if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -247,7 +244,7 @@ void BoB_obj::__GetFields(Array< ::String> &outFields)
static ::hx::StorageInfo BoB_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(BoB_obj,xmlns),HX_("xmlns",dc,31,74,60)},
{::hx::fsString,(int)offsetof(BoB_obj,queryId),HX_("queryId",03,9d,e9,95)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(BoB_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(BoB_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(BoB_obj,result),HX_("result",dd,68,84,08)},
{ ::hx::fsUnknown, 0, null()}
};
@@ -275,7 +272,7 @@ void BoB_obj::__register()
BoB_obj _hx_dummy;
BoB_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.BoB",3c,cd,12,de);
+ __mClass->mName = HX_("borogove.queries.BoB",e0,31,15,66);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -293,5 +290,5 @@ void BoB_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_borogove/src/borogove/queries/CommandExecute.cpp b/Sources/c_borogove/src/borogove/queries/CommandExecute.cpp
new file mode 100644
index 0000000..481dd8c
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/queries/CommandExecute.cpp
@@ -0,0 +1,540 @@
+// 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_borogove_Command
+#include <borogove/Command.h>
+#endif
+#ifndef INCLUDED_borogove_CommandSession
+#include <borogove/CommandSession.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_ID
+#include <borogove/ID.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_StanzaError
+#include <borogove/StanzaError.h>
+#endif
+#ifndef INCLUDED_borogove_Util
+#include <borogove/Util.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_queries_CommandExecute
+#include <borogove/queries/CommandExecute.h>
+#endif
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
+#endif
+#ifndef INCLUDED_haxe_Log
+#include <haxe/Log.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)
+HX_LOCAL_STACK_FRAME(_hx_pos_8b2a8547b04ebfcd_44_getResult,"borogove.queries.CommandExecute","getResult",0x76fca2e4,"borogove.queries.CommandExecute.getResult","borogove/queries/CommandExecute.hx",44,0x186d8edd)
+HX_LOCAL_STACK_FRAME(_hx_pos_8b2a8547b04ebfcd_78_getResult,"borogove.queries.CommandExecute","getResult",0x76fca2e4,"borogove.queries.CommandExecute.getResult","borogove/queries/CommandExecute.hx",78,0x186d8edd)
+HX_LOCAL_STACK_FRAME(_hx_pos_8b2a8547b04ebfcd_76_getResult,"borogove.queries.CommandExecute","getResult",0x76fca2e4,"borogove.queries.CommandExecute.getResult","borogove/queries/CommandExecute.hx",76,0x186d8edd)
+HX_LOCAL_STACK_FRAME(_hx_pos_8b2a8547b04ebfcd_90_forms,"borogove.queries.CommandExecute","forms",0x69d76f00,"borogove.queries.CommandExecute.forms","borogove/queries/CommandExecute.hx",90,0x186d8edd)
+namespace borogove{
+namespace queries{
+
+void CommandExecute_obj::__construct(::String to,::String node,::String action,::String sessionid, ::borogove::Stanza payload){
+ HX_GC_STACKFRAME(&_hx_pos_8b2a8547b04ebfcd_16_new)
+HXLINE( 18) this->queryId = null();
+HXLINE( 17) this->xmlns = HX_("http://jabber.org/protocol/commands",3c,af,11,6d);
+HXLINE( 23) super::__construct();
+HXLINE( 24) this->node = node;
+HXLINE( 25) ::Dynamic attr = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("node",02,0a,0a,49),node)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),this->xmlns));
+HXLINE( 26) {
+HXLINE( 26) ::String value;
+HXDLIN( 26) if (::hx::IsNotNull( action )) {
+HXLINE( 26) value = action;
+ }
+ else {
+HXLINE( 26) value = HX_("execute",35,0a,0d,cc);
+ }
+HXDLIN( 26) ::Reflect_obj::setField(attr,HX_("action",b6,3b,46,16),value);
+ }
+HXLINE( 27) if (::hx::IsNotNull( sessionid )) {
+HXLINE( 27) ::Reflect_obj::setField(attr,HX_("sessionid",b1,74,4d,bb),sessionid);
+ }
+HXLINE( 29) this->queryId = ::borogove::ID_obj::_hx_short();
+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);
+HXLINE( 34) if (::hx::IsNotNull( payload )) {
+HXLINE( 34) this->queryStanza->addChild(payload);
+ }
+HXLINE( 35) this->queryStanza->up();
+ }
+
+Dynamic CommandExecute_obj::__CreateEmpty() { return new CommandExecute_obj; }
+
+void *CommandExecute_obj::_hx_vtable = 0;
+
+Dynamic CommandExecute_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< CommandExecute_obj > _hx_result = new CommandExecute_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4]);
+ return _hx_result;
+}
+
+bool CommandExecute_obj::_hx_isInstanceOf(int inClassId) {
+ if (inClassId<=(int)0x58ddf1af) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x58ddf1af;
+ } else {
+ return inClassId==(int)0x7c285bb6;
+ }
+}
+
+void CommandExecute_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_8b2a8547b04ebfcd_38_handleResponse)
+HXLINE( 39) this->responseStanza = stanza;
+HXLINE( 40) this->finish();
+ }
+
+
+ ::borogove::CommandSession CommandExecute_obj::getResult( ::borogove::Command command){
+ HX_GC_STACKFRAME(&_hx_pos_8b2a8547b04ebfcd_44_getResult)
+HXLINE( 45) if (::hx::IsNull( this->responseStanza )) {
+HXLINE( 46) return null();
+ }
+HXLINE( 48) if (::hx::IsNull( this->result )) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1,::String,execute) HXARGC(2)
+ int _hx_run( ::borogove::FormOption x, ::borogove::FormOption y){
+ HX_GC_STACKFRAME(&_hx_pos_8b2a8547b04ebfcd_78_getResult)
+HXLINE( 78) if ((x->value == execute)) {
+HXLINE( 78) return -1;
+ }
+ else {
+HXLINE( 78) if ((y->value == execute)) {
+HXLINE( 78) return 1;
+ }
+ else {
+HXLINE( 78) return 0;
+ }
+ }
+HXDLIN( 78) return 0;
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+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))) {
+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( 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))) ));
+ }
+ else {
+HXLINE( 62) _hx_tmp2 = false;
+ }
+HXLINE( 61) if (_hx_tmp2) {
+HXLINE( 65) ::haxe::Log_obj::trace(HX_("sessionid mismatch",9d,21,04,6a), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.queries.CommandExecute",ff,11,14,a1))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(2)->init(0,this->queryStanza)->init(1,cmd))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("getResult",13,f2,da,84))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/queries/CommandExecute.hx",dd,8e,6d,18))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),65)));
+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) if (::hx::IsNotNull( tmp )) {
+HXLINE( 69) tmp1 = tmp->attr;
+ }
+ else {
+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))) );
+ }
+ else {
+HXLINE( 69) execute = null();
+ }
+HXLINE( 70) ::borogove::Form tmp2 = forms->__get(0).StaticCast< ::borogove::Form >();
+HXDLIN( 70) ::borogove::Stanza tmp3;
+HXDLIN( 70) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 70) tmp3 = tmp2->form;
+ }
+ else {
+HXLINE( 70) tmp3 = null();
+ }
+HXDLIN( 70) ::borogove::Stanza extActionsField;
+HXDLIN( 70) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 70) extActionsField = ::borogove::_DataForm::DataForm_Impl__obj::field(tmp3,HX_("http://jabber.org/protocol/commands#actions",76,e9,80,16));
+ }
+ else {
+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( 72) ::Array< ::Dynamic> _this;
+HXDLIN( 72) ::Array< ::Dynamic> tmp4;
+HXDLIN( 72) if (::hx::IsNotNull( extActionsField )) {
+HXLINE( 72) tmp4 = ::borogove::_DataForm::Field_Impl__obj::get_options(extActionsField);
+ }
+ else {
+HXLINE( 72) tmp4 = null();
+ }
+HXDLIN( 72) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 72) _this = tmp4;
+ }
+ else {
+HXLINE( 72) _this = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN( 72) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN( 72) {
+HXLINE( 72) int _g = 0;
+HXDLIN( 72) int _g1 = _this->length;
+HXDLIN( 72) while((_g < _g1)){
+HXLINE( 72) _g = (_g + 1);
+HXDLIN( 72) int i = (_g - 1);
+HXDLIN( 72) {
+HXLINE( 72) ::borogove::Stanza o = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) );
+HXDLIN( 72) ::borogove::FormOption inValue;
+HXDLIN( 72) if (::hx::IsNull( o )) {
+HXLINE( 72) inValue = null();
+ }
+ else {
+HXLINE( 72) inValue = ::borogove::FormOption_obj::fromOption(o);
+ }
+HXDLIN( 72) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXLINE( 73) ::Array< ::Dynamic> actions;
+HXDLIN( 73) if ((result->length > 0)) {
+HXLINE( 73) actions = result;
+ }
+ else {
+HXLINE( 73) ::borogove::Stanza tmp5 = cmd->getChild(HX_("actions",fd,03,2e,67),null());
+HXDLIN( 73) ::Array< ::Dynamic> tmp6;
+HXDLIN( 73) if (::hx::IsNotNull( tmp5 )) {
+HXLINE( 73) tmp6 = tmp5->allTags(null(),null());
+ }
+ else {
+HXLINE( 73) tmp6 = null();
+ }
+HXDLIN( 73) ::Array< ::Dynamic> tmp7;
+HXDLIN( 73) if (::hx::IsNotNull( tmp6 )) {
+HXLINE( 73) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(tmp6->length);
+HXDLIN( 73) {
+HXLINE( 73) int _g2 = 0;
+HXDLIN( 73) int _g3 = tmp6->length;
+HXDLIN( 73) while((_g2 < _g3)){
+HXLINE( 73) _g2 = (_g2 + 1);
+HXDLIN( 73) int i1 = (_g2 - 1);
+HXDLIN( 73) {
+HXLINE( 73) ::borogove::Stanza s = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(tmp6,i1)) );
+HXDLIN( 73) ::String inValue1 = ::borogove::Util_obj::capitalize(s->name);
+HXDLIN( 73) result1->__unsafe_set(i1, ::borogove::FormOption_obj::__alloc( HX_CTX ,inValue1,s->name));
+ }
+ }
+ }
+HXDLIN( 73) tmp7 = result1;
+ }
+ else {
+HXLINE( 73) tmp7 = null();
+ }
+HXDLIN( 73) ::Array< ::Dynamic> tmp8;
+HXDLIN( 73) if (::hx::IsNotNull( tmp7 )) {
+HXLINE( 73) ::Array< ::Dynamic> _g4 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 73) {
+HXLINE( 73) int _g5 = 0;
+HXDLIN( 73) ::Array< ::Dynamic> _g6 = tmp7;
+HXDLIN( 73) while((_g5 < _g6->length)){
+HXLINE( 73) ::borogove::FormOption v = _g6->__get(_g5).StaticCast< ::borogove::FormOption >();
+HXDLIN( 73) _g5 = (_g5 + 1);
+HXDLIN( 73) if ((v->value != HX_("execute",35,0a,0d,cc))) {
+HXLINE( 73) _g4->push(v);
+ }
+ }
+ }
+HXDLIN( 73) tmp8 = _g4;
+ }
+ else {
+HXLINE( 73) tmp8 = null();
+ }
+HXDLIN( 73) if (::hx::IsNotNull( tmp8 )) {
+HXLINE( 73) actions = tmp8;
+ }
+ else {
+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))) {
+ 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)
+HXLINE( 76) return (a->value == HX_("cancel",7a,ed,33,b8));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 75) if ((actions->length < 1)) {
+HXLINE( 75) actions->push( ::borogove::FormOption_obj::__alloc( HX_CTX ,HX_("Go",48,3e,00,00),HX_("execute",35,0a,0d,cc)));
+ }
+HXLINE( 76) if (::hx::IsNull( ::Lambda_obj::find(actions, ::Dynamic(new _hx_Closure_0())) )) {
+HXLINE( 76) actions->push( ::borogove::FormOption_obj::__alloc( HX_CTX ,HX_("Cancel",9a,61,c8,ec),HX_("cancel",7a,ed,33,b8)));
+ }
+ }
+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( 87) return this->result;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(CommandExecute_obj,getResult,return )
+
+::Array< ::Dynamic> CommandExecute_obj::forms(::Array< ::Dynamic> els){
+ HX_GC_STACKFRAME(&_hx_pos_8b2a8547b04ebfcd_90_forms)
+HXLINE( 91) ::Array< ::Dynamic> fs = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 92) {
+HXLINE( 92) int _g = 0;
+HXDLIN( 92) while((_g < els->length)){
+HXLINE( 92) ::borogove::Stanza el = els->__get(_g).StaticCast< ::borogove::Stanza >();
+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));
+ }
+ else {
+HXLINE( 93) _hx_tmp = false;
+ }
+HXDLIN( 93) if (_hx_tmp) {
+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));
+ }
+ else {
+HXLINE( 96) _hx_tmp1 = false;
+ }
+HXDLIN( 96) if (_hx_tmp1) {
+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));
+ }
+ else {
+HXLINE( 99) _hx_tmp2 = false;
+ }
+HXDLIN( 99) if (_hx_tmp2) {
+HXLINE( 100) ::borogove::StanzaError error = el->getError();
+HXLINE( 101) ::String tmp = error->text;
+HXDLIN( 101) ::String formish;
+HXDLIN( 101) if (::hx::IsNotNull( tmp )) {
+HXLINE( 101) formish = tmp;
+ }
+ else {
+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()));
+ }
+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))));
+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()));
+ }
+ }
+ }
+HXLINE( 109) return fs;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(CommandExecute_obj,forms,return )
+
+
+::hx::ObjectPtr< CommandExecute_obj > CommandExecute_obj::__new(::String to,::String node,::String action,::String sessionid, ::borogove::Stanza payload) {
+ ::hx::ObjectPtr< CommandExecute_obj > __this = new CommandExecute_obj();
+ __this->__construct(to,node,action,sessionid,payload);
+ return __this;
+}
+
+::hx::ObjectPtr< CommandExecute_obj > CommandExecute_obj::__alloc(::hx::Ctx *_hx_ctx,::String to,::String node,::String action,::String sessionid, ::borogove::Stanza payload) {
+ CommandExecute_obj *__this = (CommandExecute_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(CommandExecute_obj), true, "borogove.queries.CommandExecute"));
+ *(void **)__this = CommandExecute_obj::_hx_vtable;
+ __this->__construct(to,node,action,sessionid,payload);
+ return __this;
+}
+
+CommandExecute_obj::CommandExecute_obj()
+{
+}
+
+void CommandExecute_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(CommandExecute);
+ HX_MARK_MEMBER_NAME(xmlns,"xmlns");
+ HX_MARK_MEMBER_NAME(queryId,"queryId");
+ HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
+ HX_MARK_MEMBER_NAME(result,"result");
+ HX_MARK_MEMBER_NAME(node,"node");
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ HX_MARK_END_CLASS();
+}
+
+void CommandExecute_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(xmlns,"xmlns");
+ HX_VISIT_MEMBER_NAME(queryId,"queryId");
+ HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
+ HX_VISIT_MEMBER_NAME(result,"result");
+ HX_VISIT_MEMBER_NAME(node,"node");
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+}
+
+::hx::Val CommandExecute_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"node") ) { return ::hx::Val( node ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"xmlns") ) { return ::hx::Val( xmlns ); }
+ if (HX_FIELD_EQ(inName,"forms") ) { return ::hx::Val( forms_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"result") ) { return ::hx::Val( result ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"queryId") ) { return ::hx::Val( queryId ); }
+ 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 CommandExecute_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"node") ) { node=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"xmlns") ) { xmlns=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"result") ) { result=inValue.Cast< ::borogove::CommandSession >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"queryId") ) { queryId=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 CommandExecute_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("xmlns",dc,31,74,60));
+ outFields->push(HX_("queryId",03,9d,e9,95));
+ outFields->push(HX_("responseStanza",56,d7,9f,78));
+ outFields->push(HX_("result",dd,68,84,08));
+ outFields->push(HX_("node",02,0a,0a,49));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo CommandExecute_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(CommandExecute_obj,xmlns),HX_("xmlns",dc,31,74,60)},
+ {::hx::fsString,(int)offsetof(CommandExecute_obj,queryId),HX_("queryId",03,9d,e9,95)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(CommandExecute_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::CommandSession */ ,(int)offsetof(CommandExecute_obj,result),HX_("result",dd,68,84,08)},
+ {::hx::fsString,(int)offsetof(CommandExecute_obj,node),HX_("node",02,0a,0a,49)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *CommandExecute_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String CommandExecute_obj_sMemberFields[] = {
+ HX_("xmlns",dc,31,74,60),
+ HX_("queryId",03,9d,e9,95),
+ HX_("responseStanza",56,d7,9f,78),
+ HX_("result",dd,68,84,08),
+ HX_("node",02,0a,0a,49),
+ HX_("handleResponse",49,d6,e3,ef),
+ HX_("getResult",13,f2,da,84),
+ HX_("forms",af,ba,94,04),
+ ::String(null()) };
+
+::hx::Class CommandExecute_obj::__mClass;
+
+void CommandExecute_obj::__register()
+{
+ CommandExecute_obj _hx_dummy;
+ CommandExecute_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.queries.CommandExecute",ff,11,14,a1);
+ __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(CommandExecute_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< CommandExecute_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = CommandExecute_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = CommandExecute_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
+} // end namespace queries
diff --git a/Sources/c_snikket/src/snikket/queries/DiscoInfoGet.cpp b/Sources/c_borogove/src/borogove/queries/DiscoInfoGet.cpp
similarity index 53%
rename from Sources/c_snikket/src/snikket/queries/DiscoInfoGet.cpp
rename to Sources/c_borogove/src/borogove/queries/DiscoInfoGet.cpp
index f46d3ea..39e293e 100644
--- a/Sources/c_snikket/src/snikket/queries/DiscoInfoGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/DiscoInfoGet.cpp
@@ -4,46 +4,43 @@
#ifndef INCLUDED_Reflect
#include <Reflect.h>
#endif
-#ifndef INCLUDED_snikket_Caps
-#include <snikket/Caps.h>
+#ifndef INCLUDED_borogove_Caps
+#include <borogove/Caps.h>
#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
#endif
-#ifndef INCLUDED_snikket_Identity
-#include <snikket/Identity.h>
+#ifndef INCLUDED_borogove_Identity
+#include <borogove/Identity.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_queries_DiscoInfoGet
+#include <borogove/queries/DiscoInfoGet.h>
#endif
-#ifndef INCLUDED_snikket_queries_DiscoInfoGet
-#include <snikket/queries/DiscoInfoGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_29f3c43c4db1f2f0_13_new,"snikket.queries.DiscoInfoGet","new",0x865aec99,"snikket.queries.DiscoInfoGet.new","snikket/queries/DiscoInfoGet.hx",13,0x05d27235)
-HX_LOCAL_STACK_FRAME(_hx_pos_29f3c43c4db1f2f0_31_handleResponse,"snikket.queries.DiscoInfoGet","handleResponse",0xbcd9a2b0,"snikket.queries.DiscoInfoGet.handleResponse","snikket/queries/DiscoInfoGet.hx",31,0x05d27235)
-HX_LOCAL_STACK_FRAME(_hx_pos_29f3c43c4db1f2f0_36_getResult,"snikket.queries.DiscoInfoGet","getResult",0x65667f0c,"snikket.queries.DiscoInfoGet.getResult","snikket/queries/DiscoInfoGet.hx",36,0x05d27235)
-namespace snikket{
+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)
+HX_LOCAL_STACK_FRAME(_hx_pos_ed0ef8fead0ee9f6_35_getResult,"borogove.queries.DiscoInfoGet","getResult",0x0f6c10e8,"borogove.queries.DiscoInfoGet.getResult","borogove/queries/DiscoInfoGet.hx",35,0x692b3cd9)
+namespace borogove{
namespace queries{
void DiscoInfoGet_obj::__construct(::String to,::String node){
- HX_GC_STACKFRAME(&_hx_pos_29f3c43c4db1f2f0_13_new)
-HXLINE( 15) this->queryId = null();
-HXLINE( 14) this->xmlns = HX_("http://jabber.org/protocol/disco#info",cb,2b,7f,0b);
-HXLINE( 20) super::__construct();
-HXLINE( 21) ::Dynamic attr = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_GC_STACKFRAME(&_hx_pos_ed0ef8fead0ee9f6_12_new)
+HXLINE( 14) this->queryId = null();
+HXLINE( 13) this->xmlns = HX_("http://jabber.org/protocol/disco#info",cb,2b,7f,0b);
+HXLINE( 19) super::__construct();
+HXLINE( 20) ::Dynamic attr = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns));
-HXLINE( 22) if (::hx::IsNotNull( node )) {
-HXLINE( 22) ::Reflect_obj::setField(attr,HX_("node",02,0a,0a,49),node);
+HXLINE( 21) if (::hx::IsNotNull( node )) {
+HXLINE( 21) ::Reflect_obj::setField(attr,HX_("node",02,0a,0a,49),node);
}
-HXLINE( 24) this->queryId = ::snikket::ID_obj::_hx_short();
-HXLINE( 25) this->queryStanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 23) this->queryId = ::borogove::ID_obj::_hx_short();
+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();
@@ -61,66 +58,66 @@ Dynamic DiscoInfoGet_obj::__Create(::hx::DynamicArray inArgs)
}
bool DiscoInfoGet_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x17bd6e57) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x17bd6e57;
+ if (inClassId<=(int)0x70f826b3) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x70f826b3;
} else {
- return inClassId==(int)0x22eda35a;
+ return inClassId==(int)0x7c285bb6;
}
}
-void DiscoInfoGet_obj::handleResponse( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_29f3c43c4db1f2f0_31_handleResponse)
-HXLINE( 32) this->responseStanza = stanza;
-HXLINE( 33) this->finish();
+void DiscoInfoGet_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_ed0ef8fead0ee9f6_30_handleResponse)
+HXLINE( 31) this->responseStanza = stanza;
+HXLINE( 32) this->finish();
}
- ::snikket::Caps DiscoInfoGet_obj::getResult(){
- HX_GC_STACKFRAME(&_hx_pos_29f3c43c4db1f2f0_36_getResult)
-HXLINE( 37) if (::hx::IsNull( this->responseStanza )) {
-HXLINE( 38) return null();
+ ::borogove::Caps DiscoInfoGet_obj::getResult(){
+ HX_GC_STACKFRAME(&_hx_pos_ed0ef8fead0ee9f6_35_getResult)
+HXLINE( 36) if (::hx::IsNull( this->responseStanza )) {
+HXLINE( 37) return null();
}
-HXLINE( 40) if (::hx::IsNull( this->result )) {
-HXLINE( 41) ::snikket::Stanza q = this->responseStanza->getChild(HX_("query",08,8b,ea,5d),this->xmlns);
-HXLINE( 42) if (::hx::IsNull( q )) {
-HXLINE( 43) return null();
+HXLINE( 39) if (::hx::IsNull( this->result )) {
+HXLINE( 40) ::borogove::Stanza q = this->responseStanza->getChild(HX_("query",08,8b,ea,5d),this->xmlns);
+HXLINE( 41) if (::hx::IsNull( q )) {
+HXLINE( 42) return null();
}
-HXLINE( 45) ::Array< ::Dynamic> identities = q->allTags(HX_("identity",3e,45,2f,b9),null());
-HXLINE( 46) ::Array< ::Dynamic> features = q->allTags(HX_("feature",b6,f2,7c,1a),null());
-HXLINE( 48) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(q->attr,HX_("node",02,0a,0a,49))) );
-HXLINE( 49) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(identities->length);
-HXDLIN( 49) {
-HXLINE( 49) int _g = 0;
-HXDLIN( 49) int _g1 = identities->length;
-HXDLIN( 49) while((_g < _g1)){
-HXLINE( 49) _g = (_g + 1);
-HXDLIN( 49) int i = (_g - 1);
-HXDLIN( 49) {
-HXLINE( 49) ::snikket::Stanza identity = ( ( ::snikket::Stanza)(_hx_array_unsafe_get(identities,i)) );
-HXDLIN( 49) ::String inValue = ( (::String)(::Reflect_obj::field(identity->attr,HX_("category",fe,2a,6c,ad))) );
-HXDLIN( 49) ::String inValue1 = ( (::String)(::Reflect_obj::field(identity->attr,HX_("type",ba,f2,08,4d))) );
-HXDLIN( 49) ::snikket::Identity inValue2 = ::snikket::Identity_obj::__alloc( HX_CTX ,inValue,inValue1,( (::String)(::Reflect_obj::field(identity->attr,HX_("name",4b,72,ff,48))) ));
-HXDLIN( 49) result->__unsafe_set(i,inValue2);
+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( 48) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(identities->length);
+HXDLIN( 48) {
+HXLINE( 48) int _g = 0;
+HXDLIN( 48) int _g1 = identities->length;
+HXDLIN( 48) while((_g < _g1)){
+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))) ));
+HXDLIN( 48) result->__unsafe_set(i,inValue3);
}
}
}
-HXDLIN( 49) ::Array< ::Dynamic> _hx_tmp1 = result;
-HXLINE( 50) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(features->length);
-HXDLIN( 50) {
-HXLINE( 50) int _g2 = 0;
-HXDLIN( 50) int _g3 = features->length;
-HXDLIN( 50) while((_g2 < _g3)){
-HXLINE( 50) _g2 = (_g2 + 1);
-HXDLIN( 50) int i1 = (_g2 - 1);
-HXDLIN( 50) {
-HXLINE( 50) ::String inValue3 = ( (::String)(::Reflect_obj::field(( ( ::snikket::Stanza)(_hx_array_unsafe_get(features,i1)) )->attr,HX_("var",e7,de,59,00))) );
-HXDLIN( 50) result1->__unsafe_set(i1,inValue3);
+HXLINE( 56) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(features->length);
+HXDLIN( 56) {
+HXLINE( 56) int _g2 = 0;
+HXDLIN( 56) int _g3 = features->length;
+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))) );
+HXDLIN( 56) result1->__unsafe_set(i1,inValue4);
}
}
}
-HXLINE( 47) this->result = ::snikket::Caps_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,result1,null());
+HXLINE( 46) this->result = ::borogove::Caps_obj::__alloc( HX_CTX ,_hx_tmp,result,result1,q->allTags(HX_("x",78,00,00,00),HX_("jabber:x:data",c2,e1,e9,7c)),null());
}
-HXLINE( 53) return this->result;
+HXLINE( 60) return this->result;
}
@@ -134,7 +131,7 @@ HX_DEFINE_DYNAMIC_FUNC0(DiscoInfoGet_obj,getResult,return )
}
::hx::ObjectPtr< DiscoInfoGet_obj > DiscoInfoGet_obj::__alloc(::hx::Ctx *_hx_ctx,::String to,::String node) {
- DiscoInfoGet_obj *__this = (DiscoInfoGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(DiscoInfoGet_obj), true, "snikket.queries.DiscoInfoGet"));
+ DiscoInfoGet_obj *__this = (DiscoInfoGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(DiscoInfoGet_obj), true, "borogove.queries.DiscoInfoGet"));
*(void **)__this = DiscoInfoGet_obj::_hx_vtable;
__this->__construct(to,node);
return __this;
@@ -151,7 +148,7 @@ void DiscoInfoGet_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(queryId,"queryId");
HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
HX_MARK_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -161,7 +158,7 @@ void DiscoInfoGet_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(queryId,"queryId");
HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
HX_VISIT_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val DiscoInfoGet_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -193,13 +190,13 @@ void DiscoInfoGet_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"xmlns") ) { xmlns=inValue.Cast< ::String >(); return inValue; }
break;
case 6:
- if (HX_FIELD_EQ(inName,"result") ) { result=inValue.Cast< ::snikket::Caps >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"result") ) { result=inValue.Cast< ::borogove::Caps >(); return inValue; }
break;
case 7:
if (HX_FIELD_EQ(inName,"queryId") ) { queryId=inValue.Cast< ::String >(); return inValue; }
break;
case 14:
- if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -217,8 +214,8 @@ void DiscoInfoGet_obj::__GetFields(Array< ::String> &outFields)
static ::hx::StorageInfo DiscoInfoGet_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(DiscoInfoGet_obj,xmlns),HX_("xmlns",dc,31,74,60)},
{::hx::fsString,(int)offsetof(DiscoInfoGet_obj,queryId),HX_("queryId",03,9d,e9,95)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(DiscoInfoGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
- {::hx::fsObject /* ::snikket::Caps */ ,(int)offsetof(DiscoInfoGet_obj,result),HX_("result",dd,68,84,08)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(DiscoInfoGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::Caps */ ,(int)offsetof(DiscoInfoGet_obj,result),HX_("result",dd,68,84,08)},
{ ::hx::fsUnknown, 0, null()}
};
static ::hx::StaticInfo *DiscoInfoGet_obj_sStaticStorageInfo = 0;
@@ -240,7 +237,7 @@ void DiscoInfoGet_obj::__register()
DiscoInfoGet_obj _hx_dummy;
DiscoInfoGet_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.DiscoInfoGet",27,ac,38,0b);
+ __mClass->mName = HX_("borogove.queries.DiscoInfoGet",03,93,7e,b9);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -258,5 +255,5 @@ void DiscoInfoGet_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_snikket/src/snikket/queries/DiscoItemsGet.cpp b/Sources/c_borogove/src/borogove/queries/DiscoItemsGet.cpp
similarity index 74%
rename from Sources/c_snikket/src/snikket/queries/DiscoItemsGet.cpp
rename to Sources/c_borogove/src/borogove/queries/DiscoItemsGet.cpp
index 06d0d14..4d49ddb 100644
--- a/Sources/c_snikket/src/snikket/queries/DiscoItemsGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/DiscoItemsGet.cpp
@@ -4,33 +4,30 @@
#ifndef INCLUDED_Reflect
#include <Reflect.h>
#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_queries_DiscoItemsGet
+#include <borogove/queries/DiscoItemsGet.h>
#endif
-#ifndef INCLUDED_snikket_queries_DiscoItemsGet
-#include <snikket/queries/DiscoItemsGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_6913f37a88479f13_13_new,"snikket.queries.DiscoItemsGet","new",0xc1d054a9,"snikket.queries.DiscoItemsGet.new","snikket/queries/DiscoItemsGet.hx",13,0x00cbbfe9)
-HX_LOCAL_STACK_FRAME(_hx_pos_6913f37a88479f13_30_handleResponse,"snikket.queries.DiscoItemsGet","handleResponse",0x5c0414a0,"snikket.queries.DiscoItemsGet.handleResponse","snikket/queries/DiscoItemsGet.hx",30,0x00cbbfe9)
-HX_LOCAL_STACK_FRAME(_hx_pos_6913f37a88479f13_35_getResult,"snikket.queries.DiscoItemsGet","getResult",0x7831531c,"snikket.queries.DiscoItemsGet.getResult","snikket/queries/DiscoItemsGet.hx",35,0x00cbbfe9)
-namespace snikket{
+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)
+HX_LOCAL_STACK_FRAME(_hx_pos_86f8447d6718115f_35_getResult,"borogove.queries.DiscoItemsGet","getResult",0x930b61c0,"borogove.queries.DiscoItemsGet.getResult","borogove/queries/DiscoItemsGet.hx",35,0x8b2444c5)
+namespace borogove{
namespace queries{
void DiscoItemsGet_obj::__construct(::String to,::String node){
- HX_GC_STACKFRAME(&_hx_pos_6913f37a88479f13_13_new)
+ HX_GC_STACKFRAME(&_hx_pos_86f8447d6718115f_13_new)
HXLINE( 15) this->queryId = null();
HXLINE( 14) this->xmlns = HX_("http://jabber.org/protocol/disco#items",03,aa,bd,07);
HXLINE( 19) super::__construct();
@@ -39,8 +36,8 @@ HXLINE( 20) ::Dynamic attr = ::Dynamic(::hx::Anon_obj::Create(1)
HXLINE( 21) if (::hx::IsNotNull( node )) {
HXLINE( 21) ::Reflect_obj::setField(attr,HX_("node",02,0a,0a,49),node);
}
-HXLINE( 23) this->queryId = ::snikket::ID_obj::_hx_short();
-HXLINE( 24) this->queryStanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 23) this->queryId = ::borogove::ID_obj::_hx_short();
+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();
@@ -58,27 +55,27 @@ Dynamic DiscoItemsGet_obj::__Create(::hx::DynamicArray inArgs)
}
bool DiscoItemsGet_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x22eda35a) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x22eda35a;
+ if (inClassId<=(int)0x21fc7d8f) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x21fc7d8f;
} else {
- return inClassId==(int)0x3759f407;
+ return inClassId==(int)0x7c285bb6;
}
}
-void DiscoItemsGet_obj::handleResponse( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_6913f37a88479f13_30_handleResponse)
+void DiscoItemsGet_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_86f8447d6718115f_30_handleResponse)
HXLINE( 31) this->responseStanza = stanza;
HXLINE( 32) this->finish();
}
::Array< ::Dynamic> DiscoItemsGet_obj::getResult(){
- HX_STACKFRAME(&_hx_pos_6913f37a88479f13_35_getResult)
+ HX_STACKFRAME(&_hx_pos_86f8447d6718115f_35_getResult)
HXLINE( 36) if (::hx::IsNull( this->responseStanza )) {
HXLINE( 37) return null();
}
HXLINE( 39) if (::hx::IsNull( this->result )) {
-HXLINE( 40) ::snikket::Stanza q = this->responseStanza->getChild(HX_("query",08,8b,ea,5d),this->xmlns);
+HXLINE( 40) ::borogove::Stanza q = this->responseStanza->getChild(HX_("query",08,8b,ea,5d),this->xmlns);
HXLINE( 41) if (::hx::IsNull( q )) {
HXLINE( 42) return null();
}
@@ -87,12 +84,12 @@ HXLINE( 45) {
HXLINE( 45) int _g = 0;
HXDLIN( 45) ::Array< ::Dynamic> _g1 = q->allTags(HX_("item",13,c5,bf,45),null());
HXDLIN( 45) while((_g < _g1->length)){
-HXLINE( 45) ::snikket::Stanza item = _g1->__get(_g).StaticCast< ::snikket::Stanza >();
+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( 47) if (::hx::IsNotNull( jid )) {
HXLINE( 48) ::Array< ::Dynamic> _hx_tmp = this->result;
-HXDLIN( 48) ::snikket::JID _hx_tmp1 = ::snikket::JID_obj::parse(jid);
+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) _hx_tmp->push( ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("jid",c5,ca,50,00),_hx_tmp1)
@@ -116,7 +113,7 @@ HX_DEFINE_DYNAMIC_FUNC0(DiscoItemsGet_obj,getResult,return )
}
::hx::ObjectPtr< DiscoItemsGet_obj > DiscoItemsGet_obj::__alloc(::hx::Ctx *_hx_ctx,::String to,::String node) {
- DiscoItemsGet_obj *__this = (DiscoItemsGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(DiscoItemsGet_obj), true, "snikket.queries.DiscoItemsGet"));
+ DiscoItemsGet_obj *__this = (DiscoItemsGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(DiscoItemsGet_obj), true, "borogove.queries.DiscoItemsGet"));
*(void **)__this = DiscoItemsGet_obj::_hx_vtable;
__this->__construct(to,node);
return __this;
@@ -133,7 +130,7 @@ void DiscoItemsGet_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(queryId,"queryId");
HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
HX_MARK_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -143,7 +140,7 @@ void DiscoItemsGet_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(queryId,"queryId");
HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
HX_VISIT_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val DiscoItemsGet_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -181,7 +178,7 @@ void DiscoItemsGet_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"queryId") ) { queryId=inValue.Cast< ::String >(); return inValue; }
break;
case 14:
- if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -199,7 +196,7 @@ void DiscoItemsGet_obj::__GetFields(Array< ::String> &outFields)
static ::hx::StorageInfo DiscoItemsGet_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(DiscoItemsGet_obj,xmlns),HX_("xmlns",dc,31,74,60)},
{::hx::fsString,(int)offsetof(DiscoItemsGet_obj,queryId),HX_("queryId",03,9d,e9,95)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(DiscoItemsGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(DiscoItemsGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
{::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(DiscoItemsGet_obj,result),HX_("result",dd,68,84,08)},
{ ::hx::fsUnknown, 0, null()}
};
@@ -222,7 +219,7 @@ void DiscoItemsGet_obj::__register()
DiscoItemsGet_obj _hx_dummy;
DiscoItemsGet_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.DiscoItemsGet",37,cc,b4,4f);
+ __mClass->mName = HX_("borogove.queries.DiscoItemsGet",db,e5,98,1e);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -240,5 +237,5 @@ void DiscoItemsGet_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_snikket/src/snikket/queries/ExtDiscoGet.cpp b/Sources/c_borogove/src/borogove/queries/ExtDiscoGet.cpp
similarity index 73%
rename from Sources/c_snikket/src/snikket/queries/ExtDiscoGet.cpp
rename to Sources/c_borogove/src/borogove/queries/ExtDiscoGet.cpp
index 8a2534e..e0c4a29 100644
--- a/Sources/c_snikket/src/snikket/queries/ExtDiscoGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/ExtDiscoGet.cpp
@@ -1,35 +1,32 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_queries_ExtDiscoGet
+#include <borogove/queries/ExtDiscoGet.h>
#endif
-#ifndef INCLUDED_snikket_queries_ExtDiscoGet
-#include <snikket/queries/ExtDiscoGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_7c1ec3095a105ee7_13_new,"snikket.queries.ExtDiscoGet","new",0x4ccb6056,"snikket.queries.ExtDiscoGet.new","snikket/queries/ExtDiscoGet.hx",13,0xcd33e45c)
-HX_LOCAL_STACK_FRAME(_hx_pos_7c1ec3095a105ee7_29_handleResponse,"snikket.queries.ExtDiscoGet","handleResponse",0x34fbfe13,"snikket.queries.ExtDiscoGet.handleResponse","snikket/queries/ExtDiscoGet.hx",29,0xcd33e45c)
-HX_LOCAL_STACK_FRAME(_hx_pos_7c1ec3095a105ee7_34_getResult,"snikket.queries.ExtDiscoGet","getResult",0x7787de89,"snikket.queries.ExtDiscoGet.getResult","snikket/queries/ExtDiscoGet.hx",34,0xcd33e45c)
-namespace snikket{
+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)
+HX_LOCAL_STACK_FRAME(_hx_pos_7c20bf4cb6261d46_34_getResult,"borogove.queries.ExtDiscoGet","getResult",0x80543c2d,"borogove.queries.ExtDiscoGet.getResult","borogove/queries/ExtDiscoGet.hx",34,0x05e63a38)
+namespace borogove{
namespace queries{
void ExtDiscoGet_obj::__construct(::String to){
- HX_GC_STACKFRAME(&_hx_pos_7c1ec3095a105ee7_13_new)
+ HX_GC_STACKFRAME(&_hx_pos_7c20bf4cb6261d46_13_new)
HXLINE( 15) this->queryId = null();
HXLINE( 14) this->xmlns = HX_("urn:xmpp:extdisco:2",4d,7d,5d,75);
HXLINE( 20) super::__construct();
-HXLINE( 22) this->queryId = ::snikket::ID_obj::_hx_short();
-HXLINE( 23) this->queryStanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 22) this->queryId = ::borogove::ID_obj::_hx_short();
+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)
@@ -48,27 +45,27 @@ Dynamic ExtDiscoGet_obj::__Create(::hx::DynamicArray inArgs)
}
bool ExtDiscoGet_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x22eda35a) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x22eda35a;
+ if (inClassId<=(int)0x06735858) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x06735858;
} else {
- return inClassId==(int)0x5f97d134;
+ return inClassId==(int)0x7c285bb6;
}
}
-void ExtDiscoGet_obj::handleResponse( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_7c1ec3095a105ee7_29_handleResponse)
+void ExtDiscoGet_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_7c20bf4cb6261d46_29_handleResponse)
HXLINE( 30) this->responseStanza = stanza;
HXLINE( 31) this->finish();
}
::Array< ::Dynamic> ExtDiscoGet_obj::getResult(){
- HX_STACKFRAME(&_hx_pos_7c1ec3095a105ee7_34_getResult)
+ HX_STACKFRAME(&_hx_pos_7c20bf4cb6261d46_34_getResult)
HXLINE( 35) if (::hx::IsNull( this->responseStanza )) {
HXLINE( 36) return null();
}
HXLINE( 38) if (::hx::IsNull( this->result )) {
-HXLINE( 39) ::snikket::Stanza q = this->responseStanza->getChild(HX_("services",9e,92,4b,e5),this->xmlns);
+HXLINE( 39) ::borogove::Stanza q = this->responseStanza->getChild(HX_("services",9e,92,4b,e5),this->xmlns);
HXLINE( 40) if (::hx::IsNull( q )) {
HXLINE( 41) return null();
}
@@ -88,7 +85,7 @@ HX_DEFINE_DYNAMIC_FUNC0(ExtDiscoGet_obj,getResult,return )
}
::hx::ObjectPtr< ExtDiscoGet_obj > ExtDiscoGet_obj::__alloc(::hx::Ctx *_hx_ctx,::String to) {
- ExtDiscoGet_obj *__this = (ExtDiscoGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ExtDiscoGet_obj), true, "snikket.queries.ExtDiscoGet"));
+ ExtDiscoGet_obj *__this = (ExtDiscoGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ExtDiscoGet_obj), true, "borogove.queries.ExtDiscoGet"));
*(void **)__this = ExtDiscoGet_obj::_hx_vtable;
__this->__construct(to);
return __this;
@@ -105,7 +102,7 @@ void ExtDiscoGet_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(queryId,"queryId");
HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
HX_MARK_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -115,7 +112,7 @@ void ExtDiscoGet_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(queryId,"queryId");
HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
HX_VISIT_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val ExtDiscoGet_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -153,7 +150,7 @@ void ExtDiscoGet_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"queryId") ) { queryId=inValue.Cast< ::String >(); return inValue; }
break;
case 14:
- if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -171,7 +168,7 @@ void ExtDiscoGet_obj::__GetFields(Array< ::String> &outFields)
static ::hx::StorageInfo ExtDiscoGet_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(ExtDiscoGet_obj,xmlns),HX_("xmlns",dc,31,74,60)},
{::hx::fsString,(int)offsetof(ExtDiscoGet_obj,queryId),HX_("queryId",03,9d,e9,95)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(ExtDiscoGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(ExtDiscoGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
{::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ExtDiscoGet_obj,result),HX_("result",dd,68,84,08)},
{ ::hx::fsUnknown, 0, null()}
};
@@ -194,7 +191,7 @@ void ExtDiscoGet_obj::__register()
ExtDiscoGet_obj _hx_dummy;
ExtDiscoGet_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.ExtDiscoGet",64,3d,1b,ff);
+ __mClass->mName = HX_("borogove.queries.ExtDiscoGet",08,e6,c8,c8);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -212,5 +209,5 @@ void ExtDiscoGet_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_snikket/src/snikket/queries/GenericQuery.cpp b/Sources/c_borogove/src/borogove/queries/GenericQuery.cpp
similarity index 73%
rename from Sources/c_snikket/src/snikket/queries/GenericQuery.cpp
rename to Sources/c_borogove/src/borogove/queries/GenericQuery.cpp
index 7151e6d..3eb8e19 100644
--- a/Sources/c_snikket/src/snikket/queries/GenericQuery.cpp
+++ b/Sources/c_borogove/src/borogove/queries/GenericQuery.cpp
@@ -1,37 +1,34 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_haxe_Exception
-#include <haxe/Exception.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_haxe_Exception
+#include <haxe/Exception.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_527e2bb4ad8b3e69_10_new,"snikket.queries.GenericQuery","new",0xe07d5f1c,"snikket.queries.GenericQuery.new","snikket/queries/GenericQuery.hx",10,0x22ed0112)
-HX_LOCAL_STACK_FRAME(_hx_pos_527e2bb4ad8b3e69_12_getQueryStanza,"snikket.queries.GenericQuery","getQueryStanza",0x059458eb,"snikket.queries.GenericQuery.getQueryStanza","snikket/queries/GenericQuery.hx",12,0x22ed0112)
-HX_LOCAL_STACK_FRAME(_hx_pos_527e2bb4ad8b3e69_19_finish,"snikket.queries.GenericQuery","finish",0xbe868f17,"snikket.queries.GenericQuery.finish","snikket/queries/GenericQuery.hx",19,0x22ed0112)
-HX_LOCAL_STACK_FRAME(_hx_pos_527e2bb4ad8b3e69_28_onFinished,"snikket.queries.GenericQuery","onFinished",0xd6156875,"snikket.queries.GenericQuery.onFinished","snikket/queries/GenericQuery.hx",28,0x22ed0112)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_2905d0fd7950d3ad_10_new,"borogove.queries.GenericQuery","new",0x6ad5e3f8,"borogove.queries.GenericQuery.new","borogove/queries/GenericQuery.hx",10,0x8645cbb6)
+HX_LOCAL_STACK_FRAME(_hx_pos_2905d0fd7950d3ad_12_getQueryStanza,"borogove.queries.GenericQuery","getQueryStanza",0x9f44898f,"borogove.queries.GenericQuery.getQueryStanza","borogove/queries/GenericQuery.hx",12,0x8645cbb6)
+HX_LOCAL_STACK_FRAME(_hx_pos_2905d0fd7950d3ad_19_finish,"borogove.queries.GenericQuery","finish",0x0cc37bbb,"borogove.queries.GenericQuery.finish","borogove/queries/GenericQuery.hx",19,0x8645cbb6)
+HX_LOCAL_STACK_FRAME(_hx_pos_2905d0fd7950d3ad_28_onFinished,"borogove.queries.GenericQuery","onFinished",0xf0ef7719,"borogove.queries.GenericQuery.onFinished","borogove/queries/GenericQuery.hx",28,0x8645cbb6)
+namespace borogove{
namespace queries{
void GenericQuery_obj::__construct(){
- HX_STACKFRAME(&_hx_pos_527e2bb4ad8b3e69_10_new)
+ HX_STACKFRAME(&_hx_pos_2905d0fd7950d3ad_10_new)
HXDLIN( 10) this->isFinished = false;
}
bool GenericQuery_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x22eda35a;
+ return inClassId==(int)0x00000001 || inClassId==(int)0x7c285bb6;
}
- ::snikket::Stanza GenericQuery_obj::getQueryStanza(){
- HX_GC_STACKFRAME(&_hx_pos_527e2bb4ad8b3e69_12_getQueryStanza)
+ ::borogove::Stanza GenericQuery_obj::getQueryStanza(){
+ HX_GC_STACKFRAME(&_hx_pos_2905d0fd7950d3ad_12_getQueryStanza)
HXLINE( 13) if (::hx::IsNull( this->queryStanza )) {
HXLINE( 14) HX_STACK_DO_THROW( ::haxe::Exception_obj::__alloc( HX_CTX ,HX_("Query has not been initialized",4b,10,b2,f1),null(),null()));
}
@@ -42,7 +39,7 @@ HXLINE( 16) return this->queryStanza;
HX_DEFINE_DYNAMIC_FUNC0(GenericQuery_obj,getQueryStanza,return )
void GenericQuery_obj::finish(){
- HX_STACKFRAME(&_hx_pos_527e2bb4ad8b3e69_19_finish)
+ HX_STACKFRAME(&_hx_pos_2905d0fd7950d3ad_19_finish)
HXLINE( 20) this->isFinished = true;
HXLINE( 21) if (::hx::IsNotNull( this->handleFinished )) {
HXLINE( 22) this->handleFinished();
@@ -55,7 +52,7 @@ HX_DEFINE_DYNAMIC_FUNC0(GenericQuery_obj,finish,(void))
HX_DEFINE_DYNAMIC_FUNC1(GenericQuery_obj,handleResponse,(void))
void GenericQuery_obj::onFinished( ::Dynamic handler){
- HX_STACKFRAME(&_hx_pos_527e2bb4ad8b3e69_28_onFinished)
+ HX_STACKFRAME(&_hx_pos_2905d0fd7950d3ad_28_onFinished)
HXLINE( 29) this->handleFinished = handler;
HXLINE( 30) if (this->isFinished) {
HXLINE( 31) this->handleFinished();
@@ -114,7 +111,7 @@ void GenericQuery_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"isFinished") ) { isFinished=inValue.Cast< bool >(); return inValue; }
break;
case 11:
- if (HX_FIELD_EQ(inName,"queryStanza") ) { queryStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"queryStanza") ) { queryStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
break;
case 14:
if (HX_FIELD_EQ(inName,"handleFinished") ) { handleFinished=inValue.Cast< ::Dynamic >(); return inValue; }
@@ -131,7 +128,7 @@ void GenericQuery_obj::__GetFields(Array< ::String> &outFields)
#ifdef HXCPP_SCRIPTABLE
static ::hx::StorageInfo GenericQuery_obj_sMemberStorageInfo[] = {
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(GenericQuery_obj,queryStanza),HX_("queryStanza",1d,53,1c,58)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(GenericQuery_obj,queryStanza),HX_("queryStanza",1d,53,1c,58)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(GenericQuery_obj,handleFinished),HX_("handleFinished",3a,bb,e5,e2)},
{::hx::fsBool,(int)offsetof(GenericQuery_obj,isFinished),HX_("isFinished",7c,a5,bd,0f)},
{ ::hx::fsUnknown, 0, null()}
@@ -154,7 +151,7 @@ static ::String GenericQuery_obj_sMemberFields[] = {
void GenericQuery_obj::__register()
{
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.GenericQuery",2a,e1,68,16);
+ __mClass->mName = HX_("borogove.queries.GenericQuery",06,c8,ae,c4);
__mClass->mSuper = &super::__SGetClass();
__mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
__mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
@@ -170,5 +167,5 @@ void GenericQuery_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_snikket/src/snikket/queries/HttpUploadSlot.cpp b/Sources/c_borogove/src/borogove/queries/HttpUploadSlot.cpp
similarity index 75%
rename from Sources/c_snikket/src/snikket/queries/HttpUploadSlot.cpp
rename to Sources/c_borogove/src/borogove/queries/HttpUploadSlot.cpp
index d2b9dd6..236f8ba 100644
--- a/Sources/c_snikket/src/snikket/queries/HttpUploadSlot.cpp
+++ b/Sources/c_borogove/src/borogove/queries/HttpUploadSlot.cpp
@@ -7,29 +7,26 @@
#ifndef INCLUDED_Std
#include <Std.h>
#endif
-#ifndef INCLUDED_haxe_crypto_Base64
-#include <haxe/crypto/Base64.h>
-#endif
-#ifndef INCLUDED_haxe_io_Bytes
-#include <haxe/io/Bytes.h>
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_queries_HttpUploadSlot
+#include <borogove/queries/HttpUploadSlot.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_haxe_crypto_Base64
+#include <haxe/crypto/Base64.h>
#endif
-#ifndef INCLUDED_snikket_queries_HttpUploadSlot
-#include <snikket/queries/HttpUploadSlot.h>
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
#endif
#ifndef INCLUDED_tink_core_NamedWith
#include <tink/core/NamedWith.h>
@@ -38,19 +35,19 @@
#include <tink/http/HeaderField.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_af5fa90d534d8e1e_16_new,"snikket.queries.HttpUploadSlot","new",0x81b5ef32,"snikket.queries.HttpUploadSlot.new","snikket/queries/HttpUploadSlot.hx",16,0xfe0bd13c)
-HX_LOCAL_STACK_FRAME(_hx_pos_af5fa90d534d8e1e_35_handleResponse,"snikket.queries.HttpUploadSlot","handleResponse",0x63a264b7,"snikket.queries.HttpUploadSlot.handleResponse","snikket/queries/HttpUploadSlot.hx",35,0xfe0bd13c)
-HX_LOCAL_STACK_FRAME(_hx_pos_af5fa90d534d8e1e_40_getResult,"snikket.queries.HttpUploadSlot","getResult",0xdc42fa65,"snikket.queries.HttpUploadSlot.getResult","snikket/queries/HttpUploadSlot.hx",40,0xfe0bd13c)
-namespace snikket{
+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)
+namespace borogove{
namespace queries{
void HttpUploadSlot_obj::__construct(::String to,::String filename,int size,::String mime,::Array< ::Dynamic> hashes){
- HX_GC_STACKFRAME(&_hx_pos_af5fa90d534d8e1e_16_new)
+ 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);
HXLINE( 22) super::__construct();
-HXLINE( 24) this->queryId = ::snikket::ID_obj::_hx_short();
-HXLINE( 25) ::snikket::Stanza _hx_tmp = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 24) this->queryId = ::borogove::ID_obj::_hx_short();
+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))));
@@ -63,9 +60,9 @@ HXLINE( 25) this->queryStanza = _hx_tmp->tag(HX_("request",4f,df,84,44), ::Dyn
HXLINE( 29) {
HXLINE( 29) int _g = 0;
HXDLIN( 29) while((_g < hashes->length)){
-HXLINE( 29) ::snikket::Hash hash = hashes->__get(_g).StaticCast< ::snikket::Hash >();
+HXLINE( 29) ::borogove::Hash hash = hashes->__get(_g).StaticCast< ::borogove::Hash >();
HXDLIN( 29) _g = (_g + 1);
-HXLINE( 30) ::snikket::Stanza _hx_tmp2 = this->queryStanza;
+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)
@@ -87,27 +84,27 @@ Dynamic HttpUploadSlot_obj::__Create(::hx::DynamicArray inArgs)
}
bool HttpUploadSlot_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x1883dc70) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x1883dc70;
+ if (inClassId<=(int)0x402263cc) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x402263cc;
} else {
- return inClassId==(int)0x22eda35a;
+ return inClassId==(int)0x7c285bb6;
}
}
-void HttpUploadSlot_obj::handleResponse( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_af5fa90d534d8e1e_35_handleResponse)
+void HttpUploadSlot_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_9d272fcc1f8cfff5_35_handleResponse)
HXLINE( 36) this->responseStanza = stanza;
HXLINE( 37) this->finish();
}
::Dynamic HttpUploadSlot_obj::getResult(){
- HX_GC_STACKFRAME(&_hx_pos_af5fa90d534d8e1e_40_getResult)
+ HX_GC_STACKFRAME(&_hx_pos_9d272fcc1f8cfff5_40_getResult)
HXLINE( 41) if (::hx::IsNull( this->responseStanza )) {
HXLINE( 42) return null();
}
HXLINE( 44) if (::hx::IsNull( this->result )) {
-HXLINE( 45) ::snikket::Stanza q = this->responseStanza->getChild(HX_("slot",fe,dd,55,4c),this->xmlns);
+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();
}
@@ -124,10 +121,10 @@ 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) ::snikket::Stanza header = _g1->__get(_g).StaticCast< ::snikket::Stanza >();
+HXLINE( 54) ::borogove::Stanza header = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
HXDLIN( 54) _g = (_g + 1);
-HXLINE( 55) ::String this1 = ( (::String)(::Reflect_obj::field(header->attr,HX_("name",4b,72,ff,48))) ).toLowerCase();
-HXDLIN( 55) headers->push( ::tink::http::HeaderField_obj::__alloc( HX_CTX ,this1,header->getText()));
+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( 57) this->result = ::Dynamic(::hx::Anon_obj::Create(3)
@@ -149,7 +146,7 @@ HX_DEFINE_DYNAMIC_FUNC0(HttpUploadSlot_obj,getResult,return )
}
::hx::ObjectPtr< HttpUploadSlot_obj > HttpUploadSlot_obj::__alloc(::hx::Ctx *_hx_ctx,::String to,::String filename,int size,::String mime,::Array< ::Dynamic> hashes) {
- HttpUploadSlot_obj *__this = (HttpUploadSlot_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(HttpUploadSlot_obj), true, "snikket.queries.HttpUploadSlot"));
+ 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);
return __this;
@@ -166,7 +163,7 @@ void HttpUploadSlot_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(queryId,"queryId");
HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
HX_MARK_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -176,7 +173,7 @@ void HttpUploadSlot_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(queryId,"queryId");
HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
HX_VISIT_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val HttpUploadSlot_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -214,7 +211,7 @@ void HttpUploadSlot_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"queryId") ) { queryId=inValue.Cast< ::String >(); return inValue; }
break;
case 14:
- if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -232,7 +229,7 @@ void HttpUploadSlot_obj::__GetFields(Array< ::String> &outFields)
static ::hx::StorageInfo HttpUploadSlot_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(HttpUploadSlot_obj,xmlns),HX_("xmlns",dc,31,74,60)},
{::hx::fsString,(int)offsetof(HttpUploadSlot_obj,queryId),HX_("queryId",03,9d,e9,95)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(HttpUploadSlot_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(HttpUploadSlot_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(HttpUploadSlot_obj,result),HX_("result",dd,68,84,08)},
{ ::hx::fsUnknown, 0, null()}
};
@@ -255,7 +252,7 @@ void HttpUploadSlot_obj::__register()
HttpUploadSlot_obj _hx_dummy;
HttpUploadSlot_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.HttpUploadSlot",40,2e,a6,4f);
+ __mClass->mName = HX_("borogove.queries.HttpUploadSlot",1c,84,58,88);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -273,5 +270,5 @@ void HttpUploadSlot_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_snikket/src/snikket/queries/JabberIqGatewayGet.cpp b/Sources/c_borogove/src/borogove/queries/JabberIqGatewayGet.cpp
similarity index 73%
rename from Sources/c_snikket/src/snikket/queries/JabberIqGatewayGet.cpp
rename to Sources/c_borogove/src/borogove/queries/JabberIqGatewayGet.cpp
index 874e4d5..d2e99f9 100644
--- a/Sources/c_snikket/src/snikket/queries/JabberIqGatewayGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/JabberIqGatewayGet.cpp
@@ -1,37 +1,34 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_haxe_ds_Either
-#include <haxe/ds/Either.h>
-#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_JabberIqGatewayGet
+#include <borogove/queries/JabberIqGatewayGet.h>
#endif
-#ifndef INCLUDED_snikket_queries_JabberIqGatewayGet
-#include <snikket/queries/JabberIqGatewayGet.h>
+#ifndef INCLUDED_haxe_ds_Either
+#include <haxe/ds/Either.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_41e406eb6fe6de59_14_new,"snikket.queries.JabberIqGatewayGet","new",0x90335e69,"snikket.queries.JabberIqGatewayGet.new","snikket/queries/JabberIqGatewayGet.hx",14,0x2ebaace5)
-HX_LOCAL_STACK_FRAME(_hx_pos_41e406eb6fe6de59_34_handleResponse,"snikket.queries.JabberIqGatewayGet","handleResponse",0xbcede2e0,"snikket.queries.JabberIqGatewayGet.handleResponse","snikket/queries/JabberIqGatewayGet.hx",34,0x2ebaace5)
-HX_LOCAL_STACK_FRAME(_hx_pos_41e406eb6fe6de59_39_getResult,"snikket.queries.JabberIqGatewayGet","getResult",0x241a2cdc,"snikket.queries.JabberIqGatewayGet.getResult","snikket/queries/JabberIqGatewayGet.hx",39,0x2ebaace5)
-namespace snikket{
+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)
+HX_LOCAL_STACK_FRAME(_hx_pos_13d3300d6eeec322_39_getResult,"borogove.queries.JabberIqGatewayGet","getResult",0x04948bb8,"borogove.queries.JabberIqGatewayGet.getResult","borogove/queries/JabberIqGatewayGet.hx",39,0x37870a89)
+namespace borogove{
namespace queries{
void JabberIqGatewayGet_obj::__construct(::String to,::String prompt){
- HX_GC_STACKFRAME(&_hx_pos_41e406eb6fe6de59_14_new)
+ HX_GC_STACKFRAME(&_hx_pos_13d3300d6eeec322_14_new)
HXLINE( 16) this->queryId = null();
HXLINE( 15) this->xmlns = HX_("jabber:iq:gateway",c8,db,57,c1);
HXLINE( 21) super::__construct();
-HXLINE( 22) this->queryId = ::snikket::ID_obj::_hx_short();
+HXLINE( 22) this->queryId = ::borogove::ID_obj::_hx_short();
HXLINE( 25) ::String _hx_tmp;
HXDLIN( 25) if (::hx::IsNull( prompt )) {
HXLINE( 25) _hx_tmp = HX_("get",96,80,4e,00);
@@ -39,11 +36,11 @@ HXLINE( 25) _hx_tmp = HX_("get",96,80,4e,00);
else {
HXLINE( 25) _hx_tmp = HX_("set",a2,9b,57,00);
}
-HXLINE( 23) this->queryStanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+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)));
-HXLINE( 27) ::snikket::Stanza query = this->queryStanza->tag(HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(1)
+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)));
HXLINE( 28) if (::hx::IsNotNull( prompt )) {
HXLINE( 29) query->textTag(HX_("prompt",a4,51,58,b5),prompt, ::Dynamic(::hx::Anon_obj::Create(0)));
@@ -63,35 +60,35 @@ Dynamic JabberIqGatewayGet_obj::__Create(::hx::DynamicArray inArgs)
}
bool JabberIqGatewayGet_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x22eda35a) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x22eda35a;
+ if (inClassId<=(int)0x187e659f) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x187e659f;
} else {
- return inClassId==(int)0x3942ef8b;
+ return inClassId==(int)0x7c285bb6;
}
}
-void JabberIqGatewayGet_obj::handleResponse( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_41e406eb6fe6de59_34_handleResponse)
+void JabberIqGatewayGet_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_13d3300d6eeec322_34_handleResponse)
HXLINE( 35) this->responseStanza = stanza;
HXLINE( 36) this->finish();
}
::haxe::ds::Either JabberIqGatewayGet_obj::getResult(){
- HX_STACKFRAME(&_hx_pos_41e406eb6fe6de59_39_getResult)
+ HX_STACKFRAME(&_hx_pos_13d3300d6eeec322_39_getResult)
HXLINE( 40) if (::hx::IsNull( this->responseStanza )) {
HXLINE( 41) return null();
}
HXLINE( 43) if (::hx::IsNull( this->result )) {
-HXLINE( 44) ::snikket::Stanza error = this->responseStanza->getChild(HX_("error",c8,cb,29,73),null());
+HXLINE( 44) ::borogove::Stanza error = this->responseStanza->getChild(HX_("error",c8,cb,29,73),null());
HXLINE( 45) if (::hx::IsNull( error )) {
-HXLINE( 46) ::snikket::Stanza q = this->responseStanza->getChild(HX_("query",08,8b,ea,5d),this->xmlns);
+HXLINE( 46) ::borogove::Stanza q = this->responseStanza->getChild(HX_("query",08,8b,ea,5d),this->xmlns);
HXLINE( 47) if (::hx::IsNull( q )) {
HXLINE( 48) return null();
}
-HXLINE( 50) ::snikket::Stanza prompt = q->getChild(HX_("prompt",a4,51,58,b5),null());
+HXLINE( 50) ::borogove::Stanza prompt = q->getChild(HX_("prompt",a4,51,58,b5),null());
HXLINE( 51) if (::hx::IsNull( prompt )) {
-HXLINE( 52) ::snikket::Stanza jid = q->getChild(HX_("jid",c5,ca,50,00),null());
+HXLINE( 52) ::borogove::Stanza jid = q->getChild(HX_("jid",c5,ca,50,00),null());
HXLINE( 53) if (::hx::IsNull( jid )) {
HXLINE( 53) return null();
}
@@ -125,7 +122,7 @@ HX_DEFINE_DYNAMIC_FUNC0(JabberIqGatewayGet_obj,getResult,return )
}
::hx::ObjectPtr< JabberIqGatewayGet_obj > JabberIqGatewayGet_obj::__alloc(::hx::Ctx *_hx_ctx,::String to,::String prompt) {
- JabberIqGatewayGet_obj *__this = (JabberIqGatewayGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(JabberIqGatewayGet_obj), true, "snikket.queries.JabberIqGatewayGet"));
+ JabberIqGatewayGet_obj *__this = (JabberIqGatewayGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(JabberIqGatewayGet_obj), true, "borogove.queries.JabberIqGatewayGet"));
*(void **)__this = JabberIqGatewayGet_obj::_hx_vtable;
__this->__construct(to,prompt);
return __this;
@@ -142,7 +139,7 @@ void JabberIqGatewayGet_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(queryId,"queryId");
HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
HX_MARK_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -152,7 +149,7 @@ void JabberIqGatewayGet_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(queryId,"queryId");
HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
HX_VISIT_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val JabberIqGatewayGet_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -190,7 +187,7 @@ void JabberIqGatewayGet_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"queryId") ) { queryId=inValue.Cast< ::String >(); return inValue; }
break;
case 14:
- if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -208,7 +205,7 @@ void JabberIqGatewayGet_obj::__GetFields(Array< ::String> &outFields)
static ::hx::StorageInfo JabberIqGatewayGet_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(JabberIqGatewayGet_obj,xmlns),HX_("xmlns",dc,31,74,60)},
{::hx::fsString,(int)offsetof(JabberIqGatewayGet_obj,queryId),HX_("queryId",03,9d,e9,95)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(JabberIqGatewayGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(JabberIqGatewayGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
{::hx::fsObject /* ::haxe::ds::Either */ ,(int)offsetof(JabberIqGatewayGet_obj,result),HX_("result",dd,68,84,08)},
{ ::hx::fsUnknown, 0, null()}
};
@@ -231,7 +228,7 @@ void JabberIqGatewayGet_obj::__register()
JabberIqGatewayGet_obj _hx_dummy;
JabberIqGatewayGet_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.JabberIqGatewayGet",f7,f5,df,31);
+ __mClass->mName = HX_("borogove.queries.JabberIqGatewayGet",d3,69,08,67);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -249,5 +246,5 @@ void JabberIqGatewayGet_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_snikket/src/snikket/queries/MAMQuery.cpp b/Sources/c_borogove/src/borogove/queries/MAMQuery.cpp
similarity index 81%
rename from Sources/c_snikket/src/snikket/queries/MAMQuery.cpp
rename to Sources/c_borogove/src/borogove/queries/MAMQuery.cpp
index d2b5b7a..2288b52 100644
--- a/Sources/c_snikket/src/snikket/queries/MAMQuery.cpp
+++ b/Sources/c_borogove/src/borogove/queries/MAMQuery.cpp
@@ -7,40 +7,37 @@
#ifndef INCLUDED_Std
#include <Std.h>
#endif
-#ifndef INCLUDED_haxe_Exception
-#include <haxe/Exception.h>
-#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_borogove_queries_MAMQuery
+#include <borogove/queries/MAMQuery.h>
#endif
-#ifndef INCLUDED_snikket_queries_MAMQuery
-#include <snikket/queries/MAMQuery.h>
+#ifndef INCLUDED_haxe_Exception
+#include <haxe/Exception.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_ad21fb684642fb0b_31_new,"snikket.queries.MAMQuery","new",0x1ae471da,"snikket.queries.MAMQuery.new","snikket/queries/MAMQuery.hx",31,0x268a1914)
-HX_LOCAL_STACK_FRAME(_hx_pos_ad21fb684642fb0b_37_addStringField,"snikket.queries.MAMQuery","addStringField",0x2a088a4e,"snikket.queries.MAMQuery.addStringField","snikket/queries/MAMQuery.hx",37,0x268a1914)
-HX_LOCAL_STACK_FRAME(_hx_pos_ad21fb684642fb0b_47_addArrayField,"snikket.queries.MAMQuery","addArrayField",0x9f0cf3dc,"snikket.queries.MAMQuery.addArrayField","snikket/queries/MAMQuery.hx",47,0x268a1914)
-HX_LOCAL_STACK_FRAME(_hx_pos_ad21fb684642fb0b_96_handleResponse,"snikket.queries.MAMQuery","handleResponse",0x787f130f,"snikket.queries.MAMQuery.handleResponse","snikket/queries/MAMQuery.hx",96,0x268a1914)
-HX_LOCAL_STACK_FRAME(_hx_pos_ad21fb684642fb0b_101_getResult,"snikket.queries.MAMQuery","getResult",0xbc54eb0d,"snikket.queries.MAMQuery.getResult","snikket/queries/MAMQuery.hx",101,0x268a1914)
-namespace snikket{
+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)
+HX_LOCAL_STACK_FRAME(_hx_pos_64437080bc77dd71_47_addArrayField,"borogove.queries.MAMQuery","addArrayField",0x491285b8,"borogove.queries.MAMQuery.addArrayField","borogove/queries/MAMQuery.hx",47,0xf037c1b8)
+HX_LOCAL_STACK_FRAME(_hx_pos_64437080bc77dd71_96_handleResponse,"borogove.queries.MAMQuery","handleResponse",0x935921b3,"borogove.queries.MAMQuery.handleResponse","borogove/queries/MAMQuery.hx",96,0xf037c1b8)
+HX_LOCAL_STACK_FRAME(_hx_pos_64437080bc77dd71_101_getResult,"borogove.queries.MAMQuery","getResult",0xf17d5ee9,"borogove.queries.MAMQuery.getResult","borogove/queries/MAMQuery.hx",101,0xf037c1b8)
+namespace borogove{
namespace queries{
void MAMQuery_obj::__construct( ::Dynamic params,::String jid){
- HX_GC_STACKFRAME(&_hx_pos_ad21fb684642fb0b_31_new)
+ HX_GC_STACKFRAME(&_hx_pos_64437080bc77dd71_31_new)
HXLINE( 33) this->queryId = null();
HXLINE( 32) this->xmlns = HX_("urn:xmpp:mam:2",f5,ef,8c,da);
HXLINE( 58) super::__construct();
-HXLINE( 60) this->queryId = ::snikket::ID_obj::_hx_short();
-HXLINE( 61) this->queryStanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 60) this->queryId = ::borogove::ID_obj::_hx_short();
+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(0,HX_("queryid",e3,b8,e9,95),this->queryId)
@@ -61,7 +58,7 @@ HXLINE( 79) ::Dynamic page = params->__Field(HX_("page",4f,da,51,4a),::hx::p
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))));
HXLINE( 81) if (::hx::IsNotNull( page->__Field(HX_("limit",3b,1f,01,75),::hx::paccDynamic) )) {
-HXLINE( 82) ::snikket::Stanza _hx_tmp = this->queryStanza;
+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());
}
HXLINE( 84) bool _hx_tmp1;
@@ -98,15 +95,15 @@ Dynamic MAMQuery_obj::__Create(::hx::DynamicArray inArgs)
}
bool MAMQuery_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x22eda35a) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x22eda35a;
+ if (inClassId<=(int)0x1b8d1cc8) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1b8d1cc8;
} else {
- return inClassId==(int)0x3d2643e0;
+ return inClassId==(int)0x7c285bb6;
}
}
void MAMQuery_obj::addStringField(::String name,::String value){
- HX_STACKFRAME(&_hx_pos_ad21fb684642fb0b_37_addStringField)
+ HX_STACKFRAME(&_hx_pos_64437080bc77dd71_37_addStringField)
HXLINE( 38) if (::hx::IsNull( value )) {
HXLINE( 39) return;
}
@@ -118,7 +115,7 @@ HXLINE( 41) this->queryStanza->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::A
HX_DEFINE_DYNAMIC_FUNC2(MAMQuery_obj,addStringField,(void))
void MAMQuery_obj::addArrayField(::String name,::Array< ::String > values){
- HX_STACKFRAME(&_hx_pos_ad21fb684642fb0b_47_addArrayField)
+ HX_STACKFRAME(&_hx_pos_64437080bc77dd71_47_addArrayField)
HXLINE( 48) if (::hx::IsNull( values )) {
HXLINE( 49) return;
}
@@ -138,20 +135,20 @@ HXLINE( 55) this->queryStanza->up();
HX_DEFINE_DYNAMIC_FUNC2(MAMQuery_obj,addArrayField,(void))
-void MAMQuery_obj::handleResponse( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_ad21fb684642fb0b_96_handleResponse)
+void MAMQuery_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_64437080bc77dd71_96_handleResponse)
HXLINE( 97) this->responseStanza = stanza;
HXLINE( 98) this->finish();
}
::Dynamic MAMQuery_obj::getResult(){
- HX_STACKFRAME(&_hx_pos_ad21fb684642fb0b_101_getResult)
+ HX_STACKFRAME(&_hx_pos_64437080bc77dd71_101_getResult)
HXLINE( 102) if (::hx::IsNull( this->responseStanza )) {
HXLINE( 103) return null();
}
HXLINE( 105) if (::hx::IsNull( this->result )) {
-HXLINE( 106) ::snikket::Stanza fin = this->responseStanza->getFirstChild();
+HXLINE( 106) ::borogove::Stanza fin = this->responseStanza->getFirstChild();
HXLINE( 107) bool _hx_tmp;
HXDLIN( 107) bool _hx_tmp1;
HXDLIN( 107) if (::hx::IsNotNull( fin )) {
@@ -170,7 +167,7 @@ HXLINE( 107) _hx_tmp = true;
HXDLIN( 107) if (_hx_tmp) {
HXLINE( 108) return null();
}
-HXLINE( 110) ::snikket::Stanza rsmInfo = fin->getChild(HX_("set",a2,9b,57,00),HX_("http://jabber.org/protocol/rsm",98,7b,83,c6));
+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))) {
@@ -209,7 +206,7 @@ HX_DEFINE_DYNAMIC_FUNC0(MAMQuery_obj,getResult,return )
}
::hx::ObjectPtr< MAMQuery_obj > MAMQuery_obj::__alloc(::hx::Ctx *_hx_ctx, ::Dynamic params,::String jid) {
- MAMQuery_obj *__this = (MAMQuery_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MAMQuery_obj), true, "snikket.queries.MAMQuery"));
+ MAMQuery_obj *__this = (MAMQuery_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MAMQuery_obj), true, "borogove.queries.MAMQuery"));
*(void **)__this = MAMQuery_obj::_hx_vtable;
__this->__construct(params,jid);
return __this;
@@ -226,7 +223,7 @@ void MAMQuery_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(queryId,"queryId");
HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
HX_MARK_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -236,7 +233,7 @@ void MAMQuery_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(queryId,"queryId");
HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
HX_VISIT_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val MAMQuery_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -278,7 +275,7 @@ void MAMQuery_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"queryId") ) { queryId=inValue.Cast< ::String >(); return inValue; }
break;
case 14:
- if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -296,7 +293,7 @@ void MAMQuery_obj::__GetFields(Array< ::String> &outFields)
static ::hx::StorageInfo MAMQuery_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(MAMQuery_obj,xmlns),HX_("xmlns",dc,31,74,60)},
{::hx::fsString,(int)offsetof(MAMQuery_obj,queryId),HX_("queryId",03,9d,e9,95)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(MAMQuery_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(MAMQuery_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(MAMQuery_obj,result),HX_("result",dd,68,84,08)},
{ ::hx::fsUnknown, 0, null()}
};
@@ -321,7 +318,7 @@ void MAMQuery_obj::__register()
MAMQuery_obj _hx_dummy;
MAMQuery_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.MAMQuery",e8,3c,64,5a);
+ __mClass->mName = HX_("borogove.queries.MAMQuery",c4,85,be,cd);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -339,5 +336,5 @@ void MAMQuery_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_snikket/src/snikket/queries/PubsubGet.cpp b/Sources/c_borogove/src/borogove/queries/PubsubGet.cpp
similarity index 62%
rename from Sources/c_snikket/src/snikket/queries/PubsubGet.cpp
rename to Sources/c_borogove/src/borogove/queries/PubsubGet.cpp
index 1476d3b..a4bb9cf 100644
--- a/Sources/c_snikket/src/snikket/queries/PubsubGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/PubsubGet.cpp
@@ -4,53 +4,48 @@
#ifndef INCLUDED_Reflect
#include <Reflect.h>
#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
-#endif
-#ifndef INCLUDED_snikket_queries_PubsubGet
-#include <snikket/queries/PubsubGet.h>
+#ifndef INCLUDED_borogove_queries_PubsubGet
+#include <borogove/queries/PubsubGet.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_ba05e84f77093de1_12_new,"snikket.queries.PubsubGet","new",0x3235da0c,"snikket.queries.PubsubGet.new","snikket/queries/PubsubGet.hx",12,0x4ae00ee6)
-HX_LOCAL_STACK_FRAME(_hx_pos_ba05e84f77093de1_34_handleResponse,"snikket.queries.PubsubGet","handleResponse",0x0cba141d,"snikket.queries.PubsubGet.handleResponse","snikket/queries/PubsubGet.hx",34,0x4ae00ee6)
-HX_LOCAL_STACK_FRAME(_hx_pos_ba05e84f77093de1_39_getResult,"snikket.queries.PubsubGet","getResult",0x7dd584bf,"snikket.queries.PubsubGet.getResult","snikket/queries/PubsubGet.hx",39,0x4ae00ee6)
-namespace snikket{
+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)
+HX_LOCAL_STACK_FRAME(_hx_pos_8b5dd76f08720c34_38_getResult,"borogove.queries.PubsubGet","getResult",0xcc127163,"borogove.queries.PubsubGet.getResult","borogove/queries/PubsubGet.hx",38,0xf925f5c2)
+namespace borogove{
namespace queries{
void PubsubGet_obj::__construct(::String to,::String node,::String itemId){
- HX_GC_STACKFRAME(&_hx_pos_ba05e84f77093de1_12_new)
-HXLINE( 15) this->ver = null();
-HXLINE( 14) this->queryId = null();
-HXLINE( 13) this->xmlns = HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2);
-HXLINE( 19) super::__construct();
-HXLINE( 20) ::Dynamic attr = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("node",02,0a,0a,49),node));
-HXLINE( 21) if (::hx::IsNotNull( this->ver )) {
-HXLINE( 21) ::String value = this->ver;
-HXDLIN( 21) ::Reflect_obj::setField(attr,HX_("ver",63,e2,59,00),value);
+ HX_GC_STACKFRAME(&_hx_pos_8b5dd76f08720c34_11_new)
+HXLINE( 14) this->ver = null();
+HXLINE( 13) this->queryId = null();
+HXLINE( 12) this->xmlns = HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2);
+HXLINE( 18) super::__construct();
+HXLINE( 20) if (::hx::IsNotNull( this->ver )) {
+HXLINE( 20) ::Reflect_obj::setField( ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("node",02,0a,0a,49),node)),HX_("ver",63,e2,59,00),this->ver);
}
-HXLINE( 23) this->queryId = ::snikket::ID_obj::_hx_short();
-HXLINE( 24) this->queryStanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 22) this->queryId = ::borogove::ID_obj::_hx_short();
+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))));
-HXLINE( 25) ::snikket::Stanza items = this->queryStanza->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
+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)));
-HXLINE( 28) if (::hx::IsNotNull( itemId )) {
-HXLINE( 29) items->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
+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();
}
-HXLINE( 31) this->queryStanza->up()->up();
+HXLINE( 30) this->queryStanza->up()->up();
}
Dynamic PubsubGet_obj::__CreateEmpty() { return new PubsubGet_obj; }
@@ -65,41 +60,40 @@ Dynamic PubsubGet_obj::__Create(::hx::DynamicArray inArgs)
}
bool PubsubGet_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x1a0e23ea) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x1a0e23ea;
+ if (inClassId<=(int)0x1648283a) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1648283a;
} else {
- return inClassId==(int)0x22eda35a;
+ return inClassId==(int)0x7c285bb6;
}
}
-void PubsubGet_obj::handleResponse( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_ba05e84f77093de1_34_handleResponse)
-HXLINE( 35) this->responseStanza = stanza;
-HXLINE( 36) this->finish();
+void PubsubGet_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_8b5dd76f08720c34_33_handleResponse)
+HXLINE( 34) this->responseStanza = stanza;
+HXLINE( 35) this->finish();
}
::Array< ::Dynamic> PubsubGet_obj::getResult(){
- HX_STACKFRAME(&_hx_pos_ba05e84f77093de1_39_getResult)
-HXLINE( 40) if (::hx::IsNull( this->responseStanza )) {
-HXLINE( 41) return ::Array_obj< ::Dynamic>::__new(0);
+ HX_STACKFRAME(&_hx_pos_8b5dd76f08720c34_38_getResult)
+HXLINE( 39) if (::hx::IsNull( this->responseStanza )) {
+HXLINE( 40) return ::Array_obj< ::Dynamic>::__new(0);
}
-HXLINE( 43) if (::hx::IsNull( this->result )) {
-HXLINE( 44) ::snikket::Stanza q = this->responseStanza->getChild(HX_("pubsub",e3,da,f8,66),this->xmlns);
-HXLINE( 45) if (::hx::IsNull( q )) {
-HXLINE( 46) return ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 42) if (::hx::IsNull( this->result )) {
+HXLINE( 43) ::borogove::Stanza q = this->responseStanza->getChild(HX_("pubsub",e3,da,f8,66),this->xmlns);
+HXLINE( 44) if (::hx::IsNull( q )) {
+HXLINE( 45) return ::Array_obj< ::Dynamic>::__new(0);
}
-HXLINE( 48) ::snikket::Stanza items = q->getChild(HX_("items",00,ac,0c,c2),null());
-HXLINE( 49) if (::hx::IsNull( items )) {
-HXLINE( 50) return ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 47) ::borogove::Stanza items = q->getChild(HX_("items",00,ac,0c,c2),null());
+HXLINE( 48) if (::hx::IsNull( items )) {
+HXLINE( 49) return ::Array_obj< ::Dynamic>::__new(0);
}
-HXLINE( 52) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(items->attr,HX_("xmlns",dc,31,74,60))) ) )) {
-HXLINE( 52) ::String value = this->xmlns;
-HXDLIN( 52) ::Reflect_obj::setField(items->attr,HX_("xmlns",dc,31,74,60),value);
+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( 54) this->result = items->allTags(HX_("item",13,c5,bf,45),null());
+HXLINE( 53) this->result = items->allTags(HX_("item",13,c5,bf,45),null());
}
-HXLINE( 56) return this->result;
+HXLINE( 55) return this->result;
}
@@ -113,7 +107,7 @@ HX_DEFINE_DYNAMIC_FUNC0(PubsubGet_obj,getResult,return )
}
::hx::ObjectPtr< PubsubGet_obj > PubsubGet_obj::__alloc(::hx::Ctx *_hx_ctx,::String to,::String node,::String itemId) {
- PubsubGet_obj *__this = (PubsubGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(PubsubGet_obj), true, "snikket.queries.PubsubGet"));
+ PubsubGet_obj *__this = (PubsubGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(PubsubGet_obj), true, "borogove.queries.PubsubGet"));
*(void **)__this = PubsubGet_obj::_hx_vtable;
__this->__construct(to,node,itemId);
return __this;
@@ -131,7 +125,7 @@ void PubsubGet_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(ver,"ver");
HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
HX_MARK_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -142,7 +136,7 @@ void PubsubGet_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(ver,"ver");
HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
HX_VISIT_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val PubsubGet_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -186,7 +180,7 @@ void PubsubGet_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"queryId") ) { queryId=inValue.Cast< ::String >(); return inValue; }
break;
case 14:
- if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -206,7 +200,7 @@ static ::hx::StorageInfo PubsubGet_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(PubsubGet_obj,xmlns),HX_("xmlns",dc,31,74,60)},
{::hx::fsString,(int)offsetof(PubsubGet_obj,queryId),HX_("queryId",03,9d,e9,95)},
{::hx::fsString,(int)offsetof(PubsubGet_obj,ver),HX_("ver",63,e2,59,00)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(PubsubGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(PubsubGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
{::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(PubsubGet_obj,result),HX_("result",dd,68,84,08)},
{ ::hx::fsUnknown, 0, null()}
};
@@ -230,7 +224,7 @@ void PubsubGet_obj::__register()
PubsubGet_obj _hx_dummy;
PubsubGet_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.PubsubGet",1a,24,ad,d3);
+ __mClass->mName = HX_("borogove.queries.PubsubGet",be,9b,52,4f);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -248,5 +242,5 @@ void PubsubGet_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_snikket/src/snikket/queries/Push2Disable.cpp b/Sources/c_borogove/src/borogove/queries/Push2Disable.cpp
similarity index 72%
rename from Sources/c_snikket/src/snikket/queries/Push2Disable.cpp
rename to Sources/c_borogove/src/borogove/queries/Push2Disable.cpp
index 97e6880..81e8739 100644
--- a/Sources/c_snikket/src/snikket/queries/Push2Disable.cpp
+++ b/Sources/c_borogove/src/borogove/queries/Push2Disable.cpp
@@ -1,34 +1,31 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
-#endif
-#ifndef INCLUDED_snikket_queries_Push2Disable
-#include <snikket/queries/Push2Disable.h>
+#ifndef INCLUDED_borogove_queries_Push2Disable
+#include <borogove/queries/Push2Disable.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_d483343c88031d78_10_new,"snikket.queries.Push2Disable","new",0x6681acdb,"snikket.queries.Push2Disable.new","snikket/queries/Push2Disable.hx",10,0x4039f033)
-HX_LOCAL_STACK_FRAME(_hx_pos_d483343c88031d78_25_handleResponse,"snikket.queries.Push2Disable","handleResponse",0xa80525ae,"snikket.queries.Push2Disable.handleResponse","snikket/queries/Push2Disable.hx",25,0x4039f033)
-namespace snikket{
+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)
+namespace borogove{
namespace queries{
void Push2Disable_obj::__construct(::String to){
- HX_GC_STACKFRAME(&_hx_pos_d483343c88031d78_10_new)
+ HX_GC_STACKFRAME(&_hx_pos_888b8aba8e0d2e4e_10_new)
HXLINE( 12) this->queryId = null();
HXLINE( 11) this->xmlns = HX_("urn:xmpp:push2:0",32,b1,53,5a);
HXLINE( 16) super::__construct();
-HXLINE( 17) this->queryId = ::snikket::ID_obj::_hx_short();
-HXLINE( 18) this->queryStanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 17) this->queryId = ::borogove::ID_obj::_hx_short();
+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))));
@@ -48,15 +45,15 @@ Dynamic Push2Disable_obj::__Create(::hx::DynamicArray inArgs)
}
bool Push2Disable_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x22eda35a) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x22eda35a;
+ if (inClassId<=(int)0x15ebf349) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x15ebf349;
} else {
- return inClassId==(int)0x582a6599;
+ return inClassId==(int)0x7c285bb6;
}
}
-void Push2Disable_obj::handleResponse( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_d483343c88031d78_25_handleResponse)
+void Push2Disable_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_888b8aba8e0d2e4e_25_handleResponse)
HXLINE( 26) this->responseStanza = stanza;
HXLINE( 27) this->finish();
}
@@ -70,7 +67,7 @@ HXLINE( 27) this->finish();
}
::hx::ObjectPtr< Push2Disable_obj > Push2Disable_obj::__alloc(::hx::Ctx *_hx_ctx,::String to) {
- Push2Disable_obj *__this = (Push2Disable_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Push2Disable_obj), true, "snikket.queries.Push2Disable"));
+ Push2Disable_obj *__this = (Push2Disable_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Push2Disable_obj), true, "borogove.queries.Push2Disable"));
*(void **)__this = Push2Disable_obj::_hx_vtable;
__this->__construct(to);
return __this;
@@ -86,7 +83,7 @@ void Push2Disable_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(xmlns,"xmlns");
HX_MARK_MEMBER_NAME(queryId,"queryId");
HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
- ::snikket::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -95,7 +92,7 @@ void Push2Disable_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(xmlns,"xmlns");
HX_VISIT_MEMBER_NAME(queryId,"queryId");
HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
- ::snikket::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val Push2Disable_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -124,7 +121,7 @@ void Push2Disable_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"queryId") ) { queryId=inValue.Cast< ::String >(); return inValue; }
break;
case 14:
- if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -141,7 +138,7 @@ void Push2Disable_obj::__GetFields(Array< ::String> &outFields)
static ::hx::StorageInfo Push2Disable_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(Push2Disable_obj,xmlns),HX_("xmlns",dc,31,74,60)},
{::hx::fsString,(int)offsetof(Push2Disable_obj,queryId),HX_("queryId",03,9d,e9,95)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(Push2Disable_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(Push2Disable_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
{ ::hx::fsUnknown, 0, null()}
};
static ::hx::StaticInfo *Push2Disable_obj_sStaticStorageInfo = 0;
@@ -161,7 +158,7 @@ void Push2Disable_obj::__register()
Push2Disable_obj _hx_dummy;
Push2Disable_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.Push2Disable",69,a3,a5,4b);
+ __mClass->mName = HX_("borogove.queries.Push2Disable",45,8a,eb,f9);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -179,5 +176,5 @@ void Push2Disable_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_snikket/src/snikket/queries/Push2Enable.cpp b/Sources/c_borogove/src/borogove/queries/Push2Enable.cpp
similarity index 75%
rename from Sources/c_snikket/src/snikket/queries/Push2Enable.cpp
rename to Sources/c_borogove/src/borogove/queries/Push2Enable.cpp
index 97acd71..b103ab3 100644
--- a/Sources/c_snikket/src/snikket/queries/Push2Enable.cpp
+++ b/Sources/c_borogove/src/borogove/queries/Push2Enable.cpp
@@ -4,6 +4,18 @@
#ifndef INCLUDED_Std
#include <Std.h>
#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.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_Push2Enable
+#include <borogove/queries/Push2Enable.h>
+#endif
#ifndef INCLUDED_haxe_IMap
#include <haxe/IMap.h>
#endif
@@ -16,42 +28,27 @@
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
-#endif
-#ifndef INCLUDED_snikket_queries_Push2Enable
-#include <snikket/queries/Push2Enable.h>
-#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_aa1cb9a2de9f49b1_10_new,"snikket.queries.Push2Enable","new",0xa3713a14,"snikket.queries.Push2Enable.new","snikket/queries/Push2Enable.hx",10,0xf8110c5e)
-HX_LOCAL_STACK_FRAME(_hx_pos_aa1cb9a2de9f49b1_46_handleResponse,"snikket.queries.Push2Enable","handleResponse",0x56762115,"snikket.queries.Push2Enable.handleResponse","snikket/queries/Push2Enable.hx",46,0xf8110c5e)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_2dc541ba9c87a6c7_10_new,"borogove.queries.Push2Enable","new",0x06ca04b8,"borogove.queries.Push2Enable.new","borogove/queries/Push2Enable.hx",10,0x30c3623a)
+HX_LOCAL_STACK_FRAME(_hx_pos_2dc541ba9c87a6c7_46_handleResponse,"borogove.queries.Push2Enable","handleResponse",0xad3fd0f1,"borogove.queries.Push2Enable.handleResponse","borogove/queries/Push2Enable.hx",46,0x30c3623a)
+namespace borogove{
namespace queries{
void Push2Enable_obj::__construct(::String to,::String service,::String client, ::haxe::io::Bytes ua_public, ::haxe::io::Bytes auth_secret,::String jwt_alg, ::haxe::io::Bytes jwt_key, ::haxe::ds::StringMap jwt_claims,int grace,::Array< ::Dynamic> filters){
- HX_GC_STACKFRAME(&_hx_pos_aa1cb9a2de9f49b1_10_new)
+ HX_GC_STACKFRAME(&_hx_pos_2dc541ba9c87a6c7_10_new)
HXLINE( 12) this->queryId = null();
HXLINE( 11) this->xmlns = HX_("urn:xmpp:push2:0",32,b1,53,5a);
HXLINE( 16) super::__construct();
-HXLINE( 17) this->queryId = ::snikket::ID_obj::_hx_short();
-HXLINE( 18) this->queryStanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 17) this->queryId = ::borogove::ID_obj::_hx_short();
+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))));
-HXLINE( 22) ::snikket::Stanza enable = this->queryStanza->tag(HX_("enable",83,ae,87,f8), ::Dynamic(::hx::Anon_obj::Create(1)
+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());
-HXLINE( 25) ::snikket::Stanza match = enable->tag(HX_("match",45,49,23,03), ::Dynamic(::hx::Anon_obj::Create(1)
+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))));
HXLINE( 26) if ((grace > 0)) {
HXLINE( 26) match->textTag(HX_("grace",f8,03,ea,99),::Std_obj::string(grace),null());
@@ -61,7 +58,7 @@ HXLINE( 27) int _g = 0;
HXDLIN( 27) while((_g < filters->length)){
HXLINE( 27) ::Dynamic filter = filters->__get(_g);
HXDLIN( 27) _g = (_g + 1);
-HXLINE( 28) ::snikket::Stanza filterel = match->tag(HX_("filter",b8,1f,35,85), ::Dynamic(::hx::Anon_obj::Create(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)))));
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();
@@ -72,7 +69,7 @@ HXLINE( 30) filterel->tag(HX_("reply",2a,09,c6,e6),null())->up();
HXLINE( 31) filterel->up();
}
}
-HXLINE( 33) ::snikket::Stanza send = match->tag(HX_("send",48,8d,50,4c), ::Dynamic(::hx::Anon_obj::Create(1)
+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());
@@ -81,16 +78,12 @@ 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( 39) {
HXLINE( 39) ::Dynamic map = jwt_claims;
-HXDLIN( 39) ::Dynamic _g_map = map;
HXDLIN( 39) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
HXDLIN( 39) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
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(_g_map,key)) );
-HXDLIN( 39) ::String _g_key = key;
-HXDLIN( 39) ::String key1 = _g_key;
-HXDLIN( 39) ::String value = _g_value;
-HXLINE( 40) send->textTag(HX_("jwt-claim",76,02,8a,0c),value, ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("name",4b,72,ff,48),key1)));
+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)));
}
}
}
@@ -109,15 +102,15 @@ Dynamic Push2Enable_obj::__Create(::hx::DynamicArray inArgs)
}
bool Push2Enable_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x22eda35a) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x22eda35a;
+ if (inClassId<=(int)0x7c285bb6) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x7c285bb6;
} else {
- return inClassId==(int)0x7fe47af2;
+ return inClassId==(int)0x7ffdfb16;
}
}
-void Push2Enable_obj::handleResponse( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_aa1cb9a2de9f49b1_46_handleResponse)
+void Push2Enable_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_2dc541ba9c87a6c7_46_handleResponse)
HXLINE( 47) this->responseStanza = stanza;
HXLINE( 48) this->finish();
}
@@ -131,7 +124,7 @@ HXLINE( 48) this->finish();
}
::hx::ObjectPtr< Push2Enable_obj > Push2Enable_obj::__alloc(::hx::Ctx *_hx_ctx,::String to,::String service,::String client, ::haxe::io::Bytes ua_public, ::haxe::io::Bytes auth_secret,::String jwt_alg, ::haxe::io::Bytes jwt_key, ::haxe::ds::StringMap jwt_claims,int grace,::Array< ::Dynamic> filters) {
- Push2Enable_obj *__this = (Push2Enable_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Push2Enable_obj), true, "snikket.queries.Push2Enable"));
+ Push2Enable_obj *__this = (Push2Enable_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Push2Enable_obj), true, "borogove.queries.Push2Enable"));
*(void **)__this = Push2Enable_obj::_hx_vtable;
__this->__construct(to,service,client,ua_public,auth_secret,jwt_alg,jwt_key,jwt_claims,grace,filters);
return __this;
@@ -147,7 +140,7 @@ void Push2Enable_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(xmlns,"xmlns");
HX_MARK_MEMBER_NAME(queryId,"queryId");
HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
- ::snikket::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -156,7 +149,7 @@ void Push2Enable_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(xmlns,"xmlns");
HX_VISIT_MEMBER_NAME(queryId,"queryId");
HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
- ::snikket::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val Push2Enable_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -185,7 +178,7 @@ void Push2Enable_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"queryId") ) { queryId=inValue.Cast< ::String >(); return inValue; }
break;
case 14:
- if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -202,7 +195,7 @@ void Push2Enable_obj::__GetFields(Array< ::String> &outFields)
static ::hx::StorageInfo Push2Enable_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(Push2Enable_obj,xmlns),HX_("xmlns",dc,31,74,60)},
{::hx::fsString,(int)offsetof(Push2Enable_obj,queryId),HX_("queryId",03,9d,e9,95)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(Push2Enable_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(Push2Enable_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
{ ::hx::fsUnknown, 0, null()}
};
static ::hx::StaticInfo *Push2Enable_obj_sStaticStorageInfo = 0;
@@ -222,7 +215,7 @@ void Push2Enable_obj::__register()
Push2Enable_obj _hx_dummy;
Push2Enable_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.Push2Enable",22,e0,a5,78);
+ __mClass->mName = HX_("borogove.queries.Push2Enable",c6,88,53,42);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -240,5 +233,5 @@ void Push2Enable_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_snikket/src/snikket/queries/RosterGet.cpp b/Sources/c_borogove/src/borogove/queries/RosterGet.cpp
similarity index 77%
rename from Sources/c_snikket/src/snikket/queries/RosterGet.cpp
rename to Sources/c_borogove/src/borogove/queries/RosterGet.cpp
index dba1a32..d0d2750 100644
--- a/Sources/c_snikket/src/snikket/queries/RosterGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/RosterGet.cpp
@@ -4,30 +4,27 @@
#ifndef INCLUDED_Reflect
#include <Reflect.h>
#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
-#endif
-#ifndef INCLUDED_snikket_queries_RosterGet
-#include <snikket/queries/RosterGet.h>
+#ifndef INCLUDED_borogove_queries_RosterGet
+#include <borogove/queries/RosterGet.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_3a53c55b98f9d41a_12_new,"snikket.queries.RosterGet","new",0xe65a6c64,"snikket.queries.RosterGet.new","snikket/queries/RosterGet.hx",12,0x673c0f8e)
-HX_LOCAL_STACK_FRAME(_hx_pos_3a53c55b98f9d41a_29_handleResponse,"snikket.queries.RosterGet","handleResponse",0x096870c5,"snikket.queries.RosterGet.handleResponse","snikket/queries/RosterGet.hx",29,0x673c0f8e)
-HX_LOCAL_STACK_FRAME(_hx_pos_3a53c55b98f9d41a_34_getResult,"snikket.queries.RosterGet","getResult",0x6e146917,"snikket.queries.RosterGet.getResult","snikket/queries/RosterGet.hx",34,0x673c0f8e)
-namespace snikket{
+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)
+HX_LOCAL_STACK_FRAME(_hx_pos_0b59605641f7a716_34_getResult,"borogove.queries.RosterGet","getResult",0xbc5155bb,"borogove.queries.RosterGet.getResult","borogove/queries/RosterGet.hx",34,0x1581f66a)
+namespace borogove{
namespace queries{
void RosterGet_obj::__construct(::String ver){
- HX_GC_STACKFRAME(&_hx_pos_3a53c55b98f9d41a_12_new)
+ HX_GC_STACKFRAME(&_hx_pos_0b59605641f7a716_12_new)
HXLINE( 15) this->ver = null();
HXLINE( 14) this->queryId = null();
HXLINE( 13) this->xmlns = HX_("jabber:iq:roster",47,76,6e,06);
@@ -37,8 +34,8 @@ HXLINE( 20) ::Dynamic attr = ::Dynamic(::hx::Anon_obj::Create(1)
HXLINE( 21) if (::hx::IsNotNull( ver )) {
HXLINE( 21) ::Reflect_obj::setField(attr,HX_("ver",63,e2,59,00),ver);
}
-HXLINE( 23) this->queryId = ::snikket::ID_obj::_hx_short();
-HXLINE( 24) this->queryStanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE( 23) this->queryId = ::borogove::ID_obj::_hx_short();
+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();
}
@@ -54,27 +51,27 @@ Dynamic RosterGet_obj::__Create(::hx::DynamicArray inArgs)
}
bool RosterGet_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x22eda35a) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x22eda35a;
+ if (inClassId<=(int)0x1461cfca) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1461cfca;
} else {
- return inClassId==(int)0x6634aa42;
+ return inClassId==(int)0x7c285bb6;
}
}
-void RosterGet_obj::handleResponse( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_3a53c55b98f9d41a_29_handleResponse)
+void RosterGet_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_0b59605641f7a716_29_handleResponse)
HXLINE( 30) this->responseStanza = stanza;
HXLINE( 31) this->finish();
}
::Array< ::Dynamic> RosterGet_obj::getResult(){
- HX_STACKFRAME(&_hx_pos_3a53c55b98f9d41a_34_getResult)
+ HX_STACKFRAME(&_hx_pos_0b59605641f7a716_34_getResult)
HXLINE( 35) if (::hx::IsNull( this->responseStanza )) {
HXLINE( 36) return ::Array_obj< ::Dynamic>::__new(0);
}
HXLINE( 38) if (::hx::IsNull( this->result )) {
-HXLINE( 39) ::snikket::Stanza q = this->responseStanza->getChild(HX_("query",08,8b,ea,5d),HX_("jabber:iq:roster",47,76,6e,06));
+HXLINE( 39) ::borogove::Stanza q = this->responseStanza->getChild(HX_("query",08,8b,ea,5d),HX_("jabber:iq:roster",47,76,6e,06));
HXLINE( 40) if (::hx::IsNull( q )) {
HXLINE( 41) return ::Array_obj< ::Dynamic>::__new(0);
}
@@ -88,7 +85,7 @@ HXDLIN( 45) while((_g < _g1)){
HXLINE( 45) _g = (_g + 1);
HXDLIN( 45) int i = (_g - 1);
HXDLIN( 45) {
-HXLINE( 45) ::snikket::Stanza item = ( ( ::snikket::Stanza)(_hx_array_unsafe_get(_this,i)) );
+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( 45) ::Dynamic inValue2 = ::Dynamic(::hx::Anon_obj::Create(3)
@@ -115,7 +112,7 @@ HX_DEFINE_DYNAMIC_FUNC0(RosterGet_obj,getResult,return )
}
::hx::ObjectPtr< RosterGet_obj > RosterGet_obj::__alloc(::hx::Ctx *_hx_ctx,::String ver) {
- RosterGet_obj *__this = (RosterGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(RosterGet_obj), true, "snikket.queries.RosterGet"));
+ RosterGet_obj *__this = (RosterGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(RosterGet_obj), true, "borogove.queries.RosterGet"));
*(void **)__this = RosterGet_obj::_hx_vtable;
__this->__construct(ver);
return __this;
@@ -133,7 +130,7 @@ void RosterGet_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(ver,"ver");
HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
HX_MARK_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -144,7 +141,7 @@ void RosterGet_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(ver,"ver");
HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
HX_VISIT_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val RosterGet_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -188,7 +185,7 @@ void RosterGet_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"queryId") ) { queryId=inValue.Cast< ::String >(); return inValue; }
break;
case 14:
- if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -208,7 +205,7 @@ static ::hx::StorageInfo RosterGet_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(RosterGet_obj,xmlns),HX_("xmlns",dc,31,74,60)},
{::hx::fsString,(int)offsetof(RosterGet_obj,queryId),HX_("queryId",03,9d,e9,95)},
{::hx::fsString,(int)offsetof(RosterGet_obj,ver),HX_("ver",63,e2,59,00)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(RosterGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(RosterGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
{::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(RosterGet_obj,result),HX_("result",dd,68,84,08)},
{ ::hx::fsUnknown, 0, null()}
};
@@ -232,7 +229,7 @@ void RosterGet_obj::__register()
RosterGet_obj _hx_dummy;
RosterGet_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.RosterGet",72,aa,d3,1f);
+ __mClass->mName = HX_("borogove.queries.RosterGet",16,22,79,9b);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -250,5 +247,5 @@ void RosterGet_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_snikket/src/snikket/queries/VcardTempGet.cpp b/Sources/c_borogove/src/borogove/queries/VcardTempGet.cpp
similarity index 74%
rename from Sources/c_snikket/src/snikket/queries/VcardTempGet.cpp
rename to Sources/c_borogove/src/borogove/queries/VcardTempGet.cpp
index 562419e..93dedd3 100644
--- a/Sources/c_snikket/src/snikket/queries/VcardTempGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/VcardTempGet.cpp
@@ -4,45 +4,42 @@
#ifndef INCLUDED_StringTools
#include <StringTools.h>
#endif
-#ifndef INCLUDED_haxe_crypto_Base64
-#include <haxe/crypto/Base64.h>
-#endif
-#ifndef INCLUDED_haxe_io_Bytes
-#include <haxe/io/Bytes.h>
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
+#ifndef INCLUDED_borogove_queries_VcardTempGet
+#include <borogove/queries/VcardTempGet.h>
#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
+#ifndef INCLUDED_haxe_crypto_Base64
+#include <haxe/crypto/Base64.h>
#endif
-#ifndef INCLUDED_snikket_queries_VcardTempGet
-#include <snikket/queries/VcardTempGet.h>
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_1143cb80f11a3cd2_14_new,"snikket.queries.VcardTempGet","new",0x61729067,"snikket.queries.VcardTempGet.new","snikket/queries/VcardTempGet.hx",14,0xeb40c227)
-HX_LOCAL_STACK_FRAME(_hx_pos_1143cb80f11a3cd2_28_handleResponse,"snikket.queries.VcardTempGet","handleResponse",0x65f915a2,"snikket.queries.VcardTempGet.handleResponse","snikket/queries/VcardTempGet.hx",28,0xeb40c227)
-HX_LOCAL_STACK_FRAME(_hx_pos_1143cb80f11a3cd2_33_getResult,"snikket.queries.VcardTempGet","getResult",0xcc9ff15a,"snikket.queries.VcardTempGet.getResult","snikket/queries/VcardTempGet.hx",33,0xeb40c227)
-namespace snikket{
+HX_DEFINE_STACK_FRAME(_hx_pos_714941132eb68cfd_14_new,"borogove.queries.VcardTempGet","new",0xebcb1543,"borogove.queries.VcardTempGet.new","borogove/queries/VcardTempGet.hx",14,0x4e998ccb)
+HX_LOCAL_STACK_FRAME(_hx_pos_714941132eb68cfd_28_handleResponse,"borogove.queries.VcardTempGet","handleResponse",0xffa94646,"borogove.queries.VcardTempGet.handleResponse","borogove/queries/VcardTempGet.hx",28,0x4e998ccb)
+HX_LOCAL_STACK_FRAME(_hx_pos_714941132eb68cfd_33_getResult,"borogove.queries.VcardTempGet","getResult",0x76a58336,"borogove.queries.VcardTempGet.getResult","borogove/queries/VcardTempGet.hx",33,0x4e998ccb)
+namespace borogove{
namespace queries{
-void VcardTempGet_obj::__construct( ::snikket::JID to){
- HX_GC_STACKFRAME(&_hx_pos_1143cb80f11a3cd2_14_new)
+void VcardTempGet_obj::__construct( ::borogove::JID to){
+ HX_GC_STACKFRAME(&_hx_pos_714941132eb68cfd_14_new)
HXLINE( 16) this->queryId = null();
HXLINE( 15) this->xmlns = HX_("vcard-temp",bb,ee,0c,98);
HXLINE( 21) super::__construct();
-HXLINE( 23) this->queryId = ::snikket::ID_obj::_hx_short();
+HXLINE( 23) this->queryId = ::borogove::ID_obj::_hx_short();
HXLINE( 24) ::String _hx_tmp = to->asString();
-HXDLIN( 24) this->queryStanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+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))));
@@ -62,28 +59,28 @@ Dynamic VcardTempGet_obj::__Create(::hx::DynamicArray inArgs)
}
bool VcardTempGet_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x22eda35a) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x22eda35a;
+ if (inClassId<=(int)0x0a2920d5) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x0a2920d5;
} else {
- return inClassId==(int)0x4c679325;
+ return inClassId==(int)0x7c285bb6;
}
}
-void VcardTempGet_obj::handleResponse( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_1143cb80f11a3cd2_28_handleResponse)
+void VcardTempGet_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_714941132eb68cfd_28_handleResponse)
HXLINE( 29) this->responseStanza = stanza;
HXLINE( 30) this->finish();
}
::Dynamic VcardTempGet_obj::getResult(){
- HX_STACKFRAME(&_hx_pos_1143cb80f11a3cd2_33_getResult)
+ HX_STACKFRAME(&_hx_pos_714941132eb68cfd_33_getResult)
HXLINE( 34) if (::hx::IsNull( this->responseStanza )) {
HXLINE( 35) return ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("photo",b2,c8,f3,c1),null()));
}
HXLINE( 37) if (::hx::IsNull( this->result )) {
-HXLINE( 38) ::snikket::Stanza vcard = this->responseStanza->getChild(HX_("vCard",66,bd,db,1d),this->xmlns);
+HXLINE( 38) ::borogove::Stanza vcard = this->responseStanza->getChild(HX_("vCard",66,bd,db,1d),this->xmlns);
HXLINE( 39) if (::hx::IsNull( vcard )) {
HXLINE( 40) return ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("photo",b2,c8,f3,c1),null()));
@@ -115,14 +112,14 @@ HXLINE( 50) return this->result;
HX_DEFINE_DYNAMIC_FUNC0(VcardTempGet_obj,getResult,return )
-::hx::ObjectPtr< VcardTempGet_obj > VcardTempGet_obj::__new( ::snikket::JID to) {
+::hx::ObjectPtr< VcardTempGet_obj > VcardTempGet_obj::__new( ::borogove::JID to) {
::hx::ObjectPtr< VcardTempGet_obj > __this = new VcardTempGet_obj();
__this->__construct(to);
return __this;
}
-::hx::ObjectPtr< VcardTempGet_obj > VcardTempGet_obj::__alloc(::hx::Ctx *_hx_ctx, ::snikket::JID to) {
- VcardTempGet_obj *__this = (VcardTempGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(VcardTempGet_obj), true, "snikket.queries.VcardTempGet"));
+::hx::ObjectPtr< VcardTempGet_obj > VcardTempGet_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::JID to) {
+ VcardTempGet_obj *__this = (VcardTempGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(VcardTempGet_obj), true, "borogove.queries.VcardTempGet"));
*(void **)__this = VcardTempGet_obj::_hx_vtable;
__this->__construct(to);
return __this;
@@ -139,7 +136,7 @@ void VcardTempGet_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(queryId,"queryId");
HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
HX_MARK_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -149,7 +146,7 @@ void VcardTempGet_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(queryId,"queryId");
HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
HX_VISIT_MEMBER_NAME(result,"result");
- ::snikket::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
}
::hx::Val VcardTempGet_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -187,7 +184,7 @@ void VcardTempGet_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"queryId") ) { queryId=inValue.Cast< ::String >(); return inValue; }
break;
case 14:
- if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -205,7 +202,7 @@ void VcardTempGet_obj::__GetFields(Array< ::String> &outFields)
static ::hx::StorageInfo VcardTempGet_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(VcardTempGet_obj,xmlns),HX_("xmlns",dc,31,74,60)},
{::hx::fsString,(int)offsetof(VcardTempGet_obj,queryId),HX_("queryId",03,9d,e9,95)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(VcardTempGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(VcardTempGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(VcardTempGet_obj,result),HX_("result",dd,68,84,08)},
{ ::hx::fsUnknown, 0, null()}
};
@@ -228,7 +225,7 @@ void VcardTempGet_obj::__register()
VcardTempGet_obj _hx_dummy;
VcardTempGet_obj::_hx_vtable = *(void **)&_hx_dummy;
::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.queries.VcardTempGet",f5,d0,e2,3f);
+ __mClass->mName = HX_("borogove.queries.VcardTempGet",d1,b7,28,ee);
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
@@ -246,5 +243,5 @@ void VcardTempGet_obj::__register()
::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}
-} // end namespace snikket
+} // end namespace borogove
} // end namespace queries
diff --git a/Sources/c_borogove/src/borogove/streams/XmppStropheStream.cpp b/Sources/c_borogove/src/borogove/streams/XmppStropheStream.cpp
new file mode 100644
index 0000000..fff938f
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/streams/XmppStropheStream.cpp
@@ -0,0 +1,770 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_5f5af744d9ff5693
+#define INCLUDED_5f5af744d9ff5693
+#include "cpp/Pointer.h"
+#endif
+#ifndef INCLUDED_18a1146676e1af0b
+#define INCLUDED_18a1146676e1af0b
+#include "strophe.h"
+#endif
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_borogove_EventResult
+#include <borogove/EventResult.h>
+#endif
+#ifndef INCLUDED_borogove_GenericStream
+#include <borogove/GenericStream.h>
+#endif
+#ifndef INCLUDED_borogove_ID
+#include <borogove/ID.h>
+#endif
+#ifndef INCLUDED_borogove_IqRequestType
+#include <borogove/IqRequestType.h>
+#endif
+#ifndef INCLUDED_borogove_IqResult
+#include <borogove/IqResult.h>
+#endif
+#ifndef INCLUDED_borogove_Node
+#include <borogove/Node.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_streams_XmppStropheStream
+#include <borogove/streams/XmppStropheStream.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_Timer
+#include <haxe/Timer.h>
+#endif
+#ifndef INCLUDED_haxe_ds_BalancedTree
+#include <haxe/ds/BalancedTree.h>
+#endif
+#ifndef INCLUDED_haxe_ds_EnumValueMap
+#include <haxe/ds/EnumValueMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#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_239_new,"borogove.streams.XmppStropheStream","new",0x591fef04,"borogove.streams.XmppStropheStream.new","borogove/streams/XmppStropheStream.hx",239,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_296_newId,"borogove.streams.XmppStropheStream","newId",0xd43cf7ff,"borogove.streams.XmppStropheStream.newId","borogove/streams/XmppStropheStream.hx",296,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_385_onIq,"borogove.streams.XmppStropheStream","onIq",0xa38117c3,"borogove.streams.XmppStropheStream.onIq","borogove/streams/XmppStropheStream.hx",385,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_424_connect,"borogove.streams.XmppStropheStream","connect",0x376a7c8e,"borogove.streams.XmppStropheStream.connect","borogove/streams/XmppStropheStream.hx",424,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_436_disconnect,"borogove.streams.XmppStropheStream","disconnect",0x8fa92238,"borogove.streams.XmppStropheStream.disconnect","borogove/streams/XmppStropheStream.hx",436,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_441_poll,"borogove.streams.XmppStropheStream","poll",0xa42b2f1b,"borogove.streams.XmppStropheStream.poll","borogove/streams/XmppStropheStream.hx",441,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_439_poll,"borogove.streams.XmppStropheStream","poll",0xa42b2f1b,"borogove.streams.XmppStropheStream.poll","borogove/streams/XmppStropheStream.hx",439,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_524_sendStanza,"borogove.streams.XmppStropheStream","sendStanza",0xcdb24339,"borogove.streams.XmppStropheStream.sendStanza","borogove/streams/XmppStropheStream.hx",524,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_532_finalize,"borogove.streams.XmppStropheStream","finalize",0x8048947a,"borogove.streams.XmppStropheStream.finalize","borogove/streams/XmppStropheStream.hx",532,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_299_strophe_certfail_handler,"borogove.streams.XmppStropheStream","strophe_certfail_handler",0x762926d9,"borogove.streams.XmppStropheStream.strophe_certfail_handler","borogove/streams/XmppStropheStream.hx",299,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_317_strophe_fast_token_handler,"borogove.streams.XmppStropheStream","strophe_fast_token_handler",0x01296ced,"borogove.streams.XmppStropheStream.strophe_fast_token_handler","borogove/streams/XmppStropheStream.hx",317,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_323_strophe_sm_handler,"borogove.streams.XmppStropheStream","strophe_sm_handler",0x892f1fb1,"borogove.streams.XmppStropheStream.strophe_sm_handler","borogove/streams/XmppStropheStream.hx",323,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_329_strophe_sm_ack_handler,"borogove.streams.XmppStropheStream","strophe_sm_ack_handler",0xbb54dafb,"borogove.streams.XmppStropheStream.strophe_sm_ack_handler","borogove/streams/XmppStropheStream.hx",329,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_335_strophe_sm_fail_handler,"borogove.streams.XmppStropheStream","strophe_sm_fail_handler",0x56025be2,"borogove.streams.XmppStropheStream.strophe_sm_fail_handler","borogove/streams/XmppStropheStream.hx",335,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_341_strophe_stanza,"borogove.streams.XmppStropheStream","strophe_stanza",0x9ef00fc1,"borogove.streams.XmppStropheStream.strophe_stanza","borogove/streams/XmppStropheStream.hx",341,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_388_strophe_connect,"borogove.streams.XmppStropheStream","strophe_connect",0x56231c9e,"borogove.streams.XmppStropheStream.strophe_connect","borogove/streams/XmppStropheStream.hx",388,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_448_parseStanza,"borogove.streams.XmppStropheStream","parseStanza",0xf2f56d2c,"borogove.streams.XmppStropheStream.parseStanza","borogove/streams/XmppStropheStream.hx",448,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_457_serializeStanza,"borogove.streams.XmppStropheStream","serializeStanza",0xb8bb5c99,"borogove.streams.XmppStropheStream.serializeStanza","borogove/streams/XmppStropheStream.hx",457,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_470_convertToStanza,"borogove.streams.XmppStropheStream","convertToStanza",0xfb6eef87,"borogove.streams.XmppStropheStream.convertToStanza","borogove/streams/XmppStropheStream.hx",470,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_498_convertFromStanza,"borogove.streams.XmppStropheStream","convertFromStanza",0xc6cb6876,"borogove.streams.XmppStropheStream.convertFromStanza","borogove/streams/XmppStropheStream.hx",498,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);
+
+namespace borogove{
+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)) ));
+ }
+ 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( 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();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_0c65e41c3007e035_239_new)
+HXLINE( 246) this->stanzaThisPoll = false;
+HXLINE( 245) this->ready = false;
+HXLINE( 244) this->pollTimer = null();
+HXLINE( 243) this->pending = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 242) ::haxe::ds::EnumValueMap _g = ::haxe::ds::EnumValueMap_obj::__alloc( HX_CTX );
+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)));
+ }
+
+Dynamic XmppStropheStream_obj::__CreateEmpty() { return new XmppStropheStream_obj; }
+
+void *XmppStropheStream_obj::_hx_vtable = 0;
+
+Dynamic XmppStropheStream_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< XmppStropheStream_obj > _hx_result = new XmppStropheStream_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool XmppStropheStream_obj::_hx_isInstanceOf(int inClassId) {
+ if (inClassId<=(int)0x4fb834f5) {
+ if (inClassId<=(int)0x49441b28) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x49441b28;
+ } else {
+ return inClassId==(int)0x4fb834f5;
+ }
+ } else {
+ return inClassId==(int)0x5ca68e56;
+ }
+}
+
+::String XmppStropheStream_obj::newId(){
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_296_newId)
+HXDLIN( 296) return ::borogove::ID_obj::_hx_long();
+ }
+
+
+void XmppStropheStream_obj::onIq( ::borogove::IqRequestType type,::String tag,::String xmlns, ::Dynamic handler){
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_385_onIq)
+HXDLIN( 385) 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_424_connect)
+HXLINE( 425) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(jid.c_str());
+HXDLIN( 425) xmpp_conn_set_jid(this->conn,tmp);
+HXLINE( 426) if (::hx::IsNotNull( sm )) {
+HXLINE( 428) const unsigned char* smPtr = (unsigned char*)sm->getBase();
+HXLINE( 429) xmpp_conn_restore_sm_state(this->conn,smPtr,( (size_t)(sm->length) ));
+ }
+HXLINE( 431) this->trigger(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE( 432) this->poll(null());
+ }
+
+
+void XmppStropheStream_obj::disconnect(){
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_436_disconnect)
+HXDLIN( 436) 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_441_poll)
+HXLINE( 442) _gthis->stanzaThisPoll = false;
+HXLINE( 443) xmpp_run_once(::borogove::streams::XmppStropheStream_obj::ctx,( (::cpp::UInt64)(5) ));
+HXLINE( 444) ::Dynamic _hx_tmp;
+HXDLIN( 444) if (_gthis->stanzaThisPoll) {
+HXLINE( 444) _hx_tmp = 5;
+ }
+ else {
+HXLINE( 444) _hx_tmp = 100;
+ }
+HXDLIN( 444) _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_439_poll)
+HXDLIN( 439) ::borogove::streams::XmppStropheStream _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 440) if (::hx::IsNotNull( this->pollTimer )) {
+HXLINE( 440) this->pollTimer->stop();
+ }
+HXLINE( 441) 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_524_sendStanza)
+HXDLIN( 524) if (this->ready) {
+HXLINE( 525) xmpp_conn_t* _hx_tmp = this->conn;
+HXDLIN( 525) xmpp_send(_hx_tmp,::borogove::streams::XmppStropheStream_obj::convertFromStanza(stanza));
+ }
+ else {
+HXLINE( 527) this->pending->push(stanza);
+ }
+ }
+
+
+void XmppStropheStream_obj::finalize(){
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_532_finalize)
+HXDLIN( 532) xmpp_conn_release(this->conn);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(XmppStropheStream_obj,finalize,(void))
+
+int XmppStropheStream_obj::strophe_certfail_handler( const xmpp_tlscert_t* cert,const char* err){
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_299_strophe_certfail_handler)
+HXLINE( 300) void* userdata = xmpp_tlscert_get_userdata(cert);
+HXLINE( 301) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 302) ::Array< ::String > dnsNames = ::Array_obj< ::String >::__new(0);
+HXLINE( 303) ::cpp::Pointer< char > dnsName = null();
+HXLINE( 304) int dnsNameN = 0;
+HXLINE( 305) while(true){
+HXLINE( 305) dnsNameN = (dnsNameN + 1);
+HXDLIN( 305) dnsName = xmpp_tlscert_get_dnsname(cert,( (size_t)((dnsNameN - 1)) ));
+HXDLIN( 305) if (!(::hx::IsNotNull( dnsName ))) {
+HXLINE( 305) goto _hx_goto_10;
+ }
+HXLINE( 306) dnsNames->push( ::String(dnsName->ptr));
+ }
+ _hx_goto_10:;
+HXLINE( 308) ::cpp::Pointer< char > inPtr = xmpp_tlscert_get_pem(cert);
+HXDLIN( 308) ::String pem = ::String(inPtr->ptr);
+HXLINE( 309) ::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( 309) if ((_g->_hx_getIndex() == 3)) {
+HXLINE( 310) ::Dynamic result = _g->_hx_getObject(0);
+HXLINE( 311) if (( (bool)(result) )) {
+HXLINE( 311) return 1;
+ }
+ else {
+HXLINE( 311) return 0;
+ }
+ }
+ else {
+HXLINE( 313) return 0;
+ }
+HXLINE( 309) return 0;
+ }
+
+
+void XmppStropheStream_obj::strophe_fast_token_handler( xmpp_conn_t* conn,const char* token,void* userdata){
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_317_strophe_fast_token_handler)
+HXLINE( 318) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 319) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(token);
+HXDLIN( 319) ::String token1 = ::String(inPtr->ptr);
+HXLINE( 320) 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_323_strophe_sm_handler)
+HXLINE( 324) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 325) ::cpp::Pointer< ::Dynamic > _this = cpp::Pointer_obj::fromRaw(sm_state)->reinterpret();
+HXDLIN( 325) ::cpp::VirtualArray result = ::cpp::VirtualArray_obj::__new();
+HXDLIN( 325) ::cpp::Pointer< ::Dynamic > tmp = _this;
+HXDLIN( 325) result->setUnmanagedData(tmp,( (int)(sm_state_len) ));
+HXDLIN( 325) ::cpp::VirtualArray bytes = result->copy();
+HXLINE( 326) 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_329_strophe_sm_ack_handler)
+HXLINE( 330) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 331) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(id);
+HXDLIN( 331) ::String sid = ::String(inPtr->ptr);
+HXLINE( 332) 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_335_strophe_sm_fail_handler)
+HXLINE( 336) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 337) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(id);
+HXDLIN( 337) ::String sid = ::String(inPtr->ptr);
+HXLINE( 338) 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_341_strophe_stanza)
+HXLINE( 342) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 343) stream->stanzaThisPoll = true;
+HXLINE( 344) ::borogove::Stanza stanza = ::borogove::streams::XmppStropheStream_obj::convertToStanza(sstanza,null());
+HXLINE( 346) ::String xmlns = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("xmlns",dc,31,74,60))) );
+HXLINE( 347) if ((xmlns == HX_("jabber:client",21,64,c5,e4))) {
+HXLINE( 348) ::String name = stanza->name;
+HXLINE( 349) if ((name == HX_("iq",e8,5b,00,00))) {
+HXLINE( 350) ::String type = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) );
+HXLINE( 351) bool _hx_tmp;
+HXDLIN( 351) if ((type != HX_("result",dd,68,84,08))) {
+HXLINE( 351) _hx_tmp = (type == HX_("error",c8,cb,29,73));
+ }
+ else {
+HXLINE( 351) _hx_tmp = true;
+ }
+HXDLIN( 351) if (_hx_tmp) {
+HXLINE( 352) stream->onStanza(stanza);
+ }
+ else {
+HXLINE( 355) ::borogove::Stanza child = stanza->getFirstChild();
+HXLINE( 356) if (::hx::IsNotNull( child )) {
+HXLINE( 357) ::borogove::IqRequestType this1;
+HXDLIN( 357) if ((type == HX_("get",96,80,4e,00))) {
+HXLINE( 357) this1 = ::borogove::IqRequestType_obj::Get_dyn();
+ }
+ else {
+HXLINE( 357) this1 = ::borogove::IqRequestType_obj::Set_dyn();
+ }
+HXDLIN( 357) ::Dynamic this2 = stream->iqHandlers->get(this1).StaticCast< ::haxe::ds::StringMap >();
+HXDLIN( 357) ::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( 357) ::Dynamic handler = ( ( ::haxe::ds::StringMap)(this2) )->get((key + child->name));
+HXLINE( 358) if (::hx::IsNotNull( handler )) {
+HXLINE( 359) ::String reply = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) );
+HXDLIN( 359) ::String reply1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
+HXDLIN( 359) ::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))) ))
+ ->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( 360) try {
+ HX_STACK_CATCHABLE( ::Dynamic, 0);
+HXLINE( 361) ::borogove::IqResult _g = handler(stanza);
+HXDLIN( 361) switch((int)(_g->_hx_getIndex())){
+ case (int)0: {
+HXLINE( 362) ::borogove::Stanza el = _g->_hx_getObject(0).StaticCast< ::borogove::Stanza >();
+HXDLIN( 362) reply2->addChild(el);
+ }
+ break;
+ case (int)1: {
+ }
+ break;
+ case (int)2: {
+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_("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))));
+ }
+ break;
+ }
+ } catch( ::Dynamic _hx_e) {
+ if (_hx_e.IsClass< ::Dynamic >() ){
+ HX_STACK_BEGIN_CATCH
+ ::Dynamic _g1 = _hx_e;
+HXLINE( 369) ::Reflect_obj::setField(reply2->attr,HX_("result",dd,68,84,08),HX_("error",c8,cb,29,73));
+HXLINE( 370) 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))));
+ }
+ else {
+ HX_STACK_DO_THROW(_hx_e);
+ }
+ }
+HXLINE( 372) stream->sendStanza(reply2);
+ }
+ }
+ }
+ }
+ else {
+HXLINE( 377) stream->onStanza(stanza);
+ }
+ }
+HXLINE( 381) 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_388_strophe_connect)
+HXLINE( 389) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 390) if (::hx::IsInstanceEq( event,XMPP_CONN_CONNECT )) {
+HXLINE( 391) stream->ready = true;
+HXLINE( 392) while((stream->pending->length > 0)){
+HXLINE( 393) stream->sendStanza(stream->pending->shift().StaticCast< ::borogove::Stanza >());
+ }
+HXLINE( 395) 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( 397) if (::hx::IsInstanceEq( event,XMPP_CONN_DISCONNECT )) {
+HXLINE( 398) bool _hx_tmp;
+HXDLIN( 398) if ((error == 0)) {
+HXLINE( 398) _hx_tmp = ::hx::IsNull( stream_error );
+ }
+ else {
+HXLINE( 398) _hx_tmp = false;
+ }
+HXDLIN( 398) if (_hx_tmp) {
+HXLINE( 400) stream->trigger(HX_("auth/fail",25,45,e9,d1), ::Dynamic(::hx::Anon_obj::Create(0)));
+ }
+ else {
+HXLINE( 402) stream->ready = false;
+HXLINE( 403) stream->trigger(HX_("status/offline",c6,eb,eb,54), ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE( 407) ::cpp::Pointer< char > tmp = null();
+HXLINE( 405) xmpp_connect_client(conn,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);
+ }
+ }
+HXLINE( 414) if (::hx::IsInstanceEq( event,XMPP_CONN_FAIL )) {
+HXLINE( 415) stream->ready = false;
+HXLINE( 416) 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_448_parseStanza)
+HXLINE( 449) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(s.c_str());
+HXDLIN( 449) xmpp_stanza_t* sstanza = xmpp_stanza_new_from_string(::borogove::streams::XmppStropheStream_obj::ctx,tmp);
+HXLINE( 450) if (::hx::IsNull( sstanza )) {
+HXLINE( 450) HX_STACK_DO_THROW((HX_("Failed to parse stanza: ",6a,ef,ec,9c) + s));
+ }
+HXLINE( 451) ::borogove::Stanza stanza = ::borogove::streams::XmppStropheStream_obj::convertToStanza(sstanza,null());
+HXLINE( 452) xmpp_stanza_release(sstanza);
+HXLINE( 453) return stanza;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(XmppStropheStream_obj,parseStanza,return )
+
+::String XmppStropheStream_obj::serializeStanza( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_457_serializeStanza)
+HXLINE( 458) xmpp_stanza_t* sstanza = ::borogove::streams::XmppStropheStream_obj::convertFromStanza(stanza);
+HXLINE( 459) char* buf = null();
+HXLINE( 460) size_t bufsize = ( (size_t)(-1) );
+HXLINE( 461) ::cpp::Pointer< char* > tmp = ::cpp::Pointer_obj::addressOf(buf);
+HXDLIN( 461) ::cpp::Pointer< size_t > tmp1 = ::cpp::Pointer_obj::addressOf(bufsize);
+HXDLIN( 461) int err = xmpp_stanza_to_text(sstanza,tmp,tmp1);
+HXLINE( 462) xmpp_stanza_release(sstanza);
+HXLINE( 463) bool _hx_tmp = (err != 0);
+HXDLIN( 463) if (_hx_tmp) {
+HXLINE( 463) return null();
+ }
+HXLINE( 464) ::cpp::Pointer< char > bufPtr = cpp::Pointer_obj::fromRaw(buf);
+HXLINE( 465) ::String s = ::String(bufPtr->ptr);
+HXLINE( 466) xmpp_ctx_t* _hx_tmp1 = ::borogove::streams::XmppStropheStream_obj::ctx;
+HXDLIN( 466) void* _hx_tmp2 = bufPtr->rawCast();
+HXDLIN( 466) xmpp_free(_hx_tmp1,_hx_tmp2);
+HXLINE( 467) 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_470_convertToStanza)
+HXLINE( 471) ::cpp::Pointer< char > name = xmpp_stanza_get_name(el);
+HXLINE( 472) int attrlen = xmpp_stanza_get_attribute_count(el);
+HXLINE( 473) void* attrsraw = ::hx::InternalNew(((attrlen * 2) * sizeof(char*)),false);
+HXLINE( 474) const char** attrsarray = static_cast<const char**>(attrsraw);
+HXLINE( 475) ::cpp::Pointer< const char* > attrsptr = ::cpp::Pointer_obj::fromRaw(attrsarray);
+HXLINE( 476) xmpp_stanza_get_attributes(el,attrsarray,(attrlen * 2));
+HXLINE( 477) ::Dynamic attrs = ::Dynamic(::hx::Anon_obj::Create(0));
+HXLINE( 478) {
+HXLINE( 478) int _g = 0;
+HXDLIN( 478) int _g1 = attrlen;
+HXDLIN( 478) while((_g < _g1)){
+HXLINE( 478) _g = (_g + 1);
+HXDLIN( 478) int i = (_g - 1);
+HXLINE( 479) ::cpp::Pointer< char > key = cpp::Pointer_obj::fromRaw(attrsptr->at((i * 2)));
+HXLINE( 480) ::cpp::Pointer< char > value = cpp::Pointer_obj::fromRaw(attrsptr->at(((i * 2) + 1)));
+HXLINE( 481) {
+HXLINE( 481) ::String key1 = ::String(key->ptr);
+HXDLIN( 481) ::String value1 = ::String(value->ptr);
+HXDLIN( 481) ::Reflect_obj::setField(attrs,key1,value1);
+ }
+ }
+ }
+HXLINE( 483) ::borogove::Stanza stanza = ::borogove::Stanza_obj::__alloc( HX_CTX , ::String(name->ptr),attrs);
+HXLINE( 485) xmpp_stanza_t* child = xmpp_stanza_get_children(el);
+HXLINE( 486) while(::hx::IsNotNull( child )){
+HXLINE( 487) if (xmpp_stanza_is_text(child)) {
+HXLINE( 488) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(xmpp_stanza_get_text_ptr(child));
+HXDLIN( 488) stanza->text( ::String(inPtr->ptr));
+ }
+ else {
+HXLINE( 490) stanza->addChild(::borogove::streams::XmppStropheStream_obj::convertToStanza(child,null()));
+ }
+HXLINE( 492) child = xmpp_stanza_get_next(child);
+ }
+HXLINE( 495) return stanza;
+ }
+
+
+ xmpp_stanza_t* XmppStropheStream_obj::convertFromStanza( ::borogove::Stanza el){
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_498_convertFromStanza)
+HXLINE( 499) xmpp_stanza_t* xml = xmpp_stanza_new(::borogove::streams::XmppStropheStream_obj::ctx);
+HXLINE( 500) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(el->name.c_str());
+HXDLIN( 500) xmpp_stanza_set_name(xml,tmp);
+HXLINE( 501) {
+HXLINE( 501) ::Dynamic access = el->attr;
+HXDLIN( 501) ::Array< ::String > _g_keys = ::Reflect_obj::fields(access);
+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));
+HXDLIN( 501) ::String attr_value = ( (::String)(::Reflect_obj::field(access,key)) );
+HXLINE( 504) if (::hx::IsNotNull( attr_value )) {
+HXLINE( 505) ::cpp::Pointer< char > tmp1 = cpp::Pointer_obj::fromPointer(key.c_str());
+HXDLIN( 505) ::cpp::Pointer< char > tmp2 = cpp::Pointer_obj::fromPointer(attr_value.c_str());
+HXDLIN( 505) xmpp_stanza_set_attribute(xml,tmp1,tmp2);
+ }
+ }
+ }
+HXLINE( 508) if ((el->children->length > 0)) {
+HXLINE( 509) int _g = 0;
+HXDLIN( 509) ::Array< ::Dynamic> _g1 = el->children;
+HXDLIN( 509) while((_g < _g1->length)){
+HXLINE( 509) ::borogove::Node child = _g1->__get(_g).StaticCast< ::borogove::Node >();
+HXDLIN( 509) _g = (_g + 1);
+HXLINE( 510) switch((int)(child->_hx_getIndex())){
+ case (int)0: {
+HXLINE( 512) xmpp_stanza_add_child_ex(xml,::borogove::streams::XmppStropheStream_obj::convertFromStanza(child->_hx_getObject(0).StaticCast< ::borogove::Stanza >()),false);
+ }
+ break;
+ case (int)1: {
+HXLINE( 514) xmpp_stanza_t* text_node = xmpp_stanza_new(::borogove::streams::XmppStropheStream_obj::ctx);
+HXLINE( 515) ::cpp::Pointer< char > tmp3 = cpp::Pointer_obj::fromPointer(child->_hx_getString(0).c_str());
+HXDLIN( 515) xmpp_stanza_set_text(text_node,tmp3);
+HXLINE( 516) xmpp_stanza_add_child_ex(xml,text_node,false);
+ }
+ break;
+ }
+ }
+ }
+HXLINE( 520) return xml;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(XmppStropheStream_obj,convertFromStanza,return )
+
+
+::hx::ObjectPtr< XmppStropheStream_obj > XmppStropheStream_obj::__new() {
+ ::hx::ObjectPtr< XmppStropheStream_obj > __this = new XmppStropheStream_obj();
+ __this->__construct();
+ return __this;
+}
+
+::hx::ObjectPtr< XmppStropheStream_obj > XmppStropheStream_obj::__alloc(::hx::Ctx *_hx_ctx) {
+ XmppStropheStream_obj *__this = (XmppStropheStream_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(XmppStropheStream_obj), true, "borogove.streams.XmppStropheStream"));
+ *(void **)__this = XmppStropheStream_obj::_hx_vtable;
+ __this->__construct();
+ return __this;
+}
+
+XmppStropheStream_obj::XmppStropheStream_obj()
+{
+}
+
+void XmppStropheStream_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(XmppStropheStream);
+ HX_MARK_MEMBER_NAME(iqHandlers,"iqHandlers");
+ HX_MARK_MEMBER_NAME(pending,"pending");
+ HX_MARK_MEMBER_NAME(pollTimer,"pollTimer");
+ HX_MARK_MEMBER_NAME(ready,"ready");
+ HX_MARK_MEMBER_NAME(stanzaThisPoll,"stanzaThisPoll");
+ ::borogove::GenericStream_obj::__Mark(HX_MARK_ARG);
+ HX_MARK_END_CLASS();
+}
+
+void XmppStropheStream_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(iqHandlers,"iqHandlers");
+ HX_VISIT_MEMBER_NAME(pending,"pending");
+ HX_VISIT_MEMBER_NAME(pollTimer,"pollTimer");
+ HX_VISIT_MEMBER_NAME(ready,"ready");
+ HX_VISIT_MEMBER_NAME(stanzaThisPoll,"stanzaThisPoll");
+ ::borogove::GenericStream_obj::__Visit(HX_VISIT_ARG);
+}
+
+::hx::Val XmppStropheStream_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"onIq") ) { return ::hx::Val( onIq_dyn() ); }
+ if (HX_FIELD_EQ(inName,"poll") ) { return ::hx::Val( poll_dyn() ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"ready") ) { return ::hx::Val( ready ); }
+ if (HX_FIELD_EQ(inName,"newId") ) { return ::hx::Val( newId_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"pending") ) { return ::hx::Val( pending ); }
+ if (HX_FIELD_EQ(inName,"connect") ) { return ::hx::Val( connect_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"finalize") ) { return ::hx::Val( finalize_dyn() ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"pollTimer") ) { return ::hx::Val( pollTimer ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"iqHandlers") ) { return ::hx::Val( iqHandlers ); }
+ if (HX_FIELD_EQ(inName,"disconnect") ) { return ::hx::Val( disconnect_dyn() ); }
+ if (HX_FIELD_EQ(inName,"sendStanza") ) { return ::hx::Val( sendStanza_dyn() ); }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"stanzaThisPoll") ) { return ::hx::Val( stanzaThisPoll ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool XmppStropheStream_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 11:
+ if (HX_FIELD_EQ(inName,"parseStanza") ) { outValue = parseStanza_dyn(); return true; }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"serializeStanza") ) { outValue = serializeStanza_dyn(); return true; }
+ break;
+ case 17:
+ if (HX_FIELD_EQ(inName,"convertFromStanza") ) { outValue = convertFromStanza_dyn(); return true; }
+ }
+ return false;
+}
+
+::hx::Val XmppStropheStream_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"ready") ) { ready=inValue.Cast< bool >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"pending") ) { pending=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"pollTimer") ) { pollTimer=inValue.Cast< ::haxe::Timer >(); return inValue; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"iqHandlers") ) { iqHandlers=inValue.Cast< ::haxe::ds::EnumValueMap >(); return inValue; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"stanzaThisPoll") ) { stanzaThisPoll=inValue.Cast< bool >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void XmppStropheStream_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("iqHandlers",71,61,f0,a9));
+ outFields->push(HX_("pending",57,98,ec,2b));
+ outFields->push(HX_("pollTimer",06,ad,79,73));
+ outFields->push(HX_("ready",63,a0,ba,e6));
+ outFields->push(HX_("stanzaThisPoll",d2,ce,2e,fa));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo XmppStropheStream_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::haxe::ds::EnumValueMap */ ,(int)offsetof(XmppStropheStream_obj,iqHandlers),HX_("iqHandlers",71,61,f0,a9)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(XmppStropheStream_obj,pending),HX_("pending",57,98,ec,2b)},
+ {::hx::fsObject /* ::haxe::Timer */ ,(int)offsetof(XmppStropheStream_obj,pollTimer),HX_("pollTimer",06,ad,79,73)},
+ {::hx::fsBool,(int)offsetof(XmppStropheStream_obj,ready),HX_("ready",63,a0,ba,e6)},
+ {::hx::fsBool,(int)offsetof(XmppStropheStream_obj,stanzaThisPoll),HX_("stanzaThisPoll",d2,ce,2e,fa)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *XmppStropheStream_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String XmppStropheStream_obj_sMemberFields[] = {
+ HX_("iqHandlers",71,61,f0,a9),
+ HX_("pending",57,98,ec,2b),
+ HX_("pollTimer",06,ad,79,73),
+ HX_("ready",63,a0,ba,e6),
+ HX_("stanzaThisPoll",d2,ce,2e,fa),
+ HX_("newId",5b,e8,30,99),
+ HX_("onIq",e7,66,b2,49),
+ HX_("connect",ea,3b,80,15),
+ HX_("disconnect",5c,64,44,69),
+ HX_("poll",3f,7e,5c,4a),
+ HX_("sendStanza",5d,85,4d,a7),
+ HX_("finalize",9e,45,3a,f5),
+ ::String(null()) };
+
+::hx::Class XmppStropheStream_obj::__mClass;
+
+static ::String XmppStropheStream_obj_sStaticFields[] = {
+ HX_("parseStanza",88,0a,34,81),
+ HX_("serializeStanza",f5,d7,e9,1f),
+ HX_("convertFromStanza",d2,72,14,33),
+ ::String(null())
+};
+
+void XmppStropheStream_obj::__register()
+{
+ XmppStropheStream_obj _hx_dummy;
+ XmppStropheStream_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.streams.XmppStropheStream",12,5d,bb,9f);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &XmppStropheStream_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(XmppStropheStream_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(XmppStropheStream_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< XmppStropheStream_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = XmppStropheStream_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = XmppStropheStream_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
+} // end namespace streams
diff --git a/Sources/c_snikket/src/cpp/Int64Map.cpp b/Sources/c_borogove/src/cpp/Int64Map.cpp
similarity index 100%
rename from Sources/c_snikket/src/cpp/Int64Map.cpp
rename to Sources/c_borogove/src/cpp/Int64Map.cpp
diff --git a/Sources/c_snikket/src/cpp/Lib.cpp b/Sources/c_borogove/src/cpp/Lib.cpp
similarity index 100%
rename from Sources/c_snikket/src/cpp/Lib.cpp
rename to Sources/c_borogove/src/cpp/Lib.cpp
diff --git a/Sources/c_snikket/src/cpp/_NativeString/NativeString_Impl_.cpp b/Sources/c_borogove/src/cpp/_NativeString/NativeString_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/cpp/_NativeString/NativeString_Impl_.cpp
rename to Sources/c_borogove/src/cpp/_NativeString/NativeString_Impl_.cpp
diff --git a/Sources/c_snikket/src/datetime/_DateTime/DateTime_Impl_.cpp b/Sources/c_borogove/src/datetime/_DateTime/DateTime_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/datetime/_DateTime/DateTime_Impl_.cpp
rename to Sources/c_borogove/src/datetime/_DateTime/DateTime_Impl_.cpp
diff --git a/Sources/c_snikket/src/datetime/_DateTimeInterval/DateTimeInterval_Impl_.cpp b/Sources/c_borogove/src/datetime/_DateTimeInterval/DateTimeInterval_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/datetime/_DateTimeInterval/DateTimeInterval_Impl_.cpp
rename to Sources/c_borogove/src/datetime/_DateTimeInterval/DateTimeInterval_Impl_.cpp
diff --git a/Sources/c_snikket/src/datetime/cores/DateTimeIntervalCore.cpp b/Sources/c_borogove/src/datetime/cores/DateTimeIntervalCore.cpp
similarity index 100%
rename from Sources/c_snikket/src/datetime/cores/DateTimeIntervalCore.cpp
rename to Sources/c_borogove/src/datetime/cores/DateTimeIntervalCore.cpp
diff --git a/Sources/c_snikket/src/datetime/utils/DateTimeIntervalUtils.cpp b/Sources/c_borogove/src/datetime/utils/DateTimeIntervalUtils.cpp
similarity index 100%
rename from Sources/c_snikket/src/datetime/utils/DateTimeIntervalUtils.cpp
rename to Sources/c_borogove/src/datetime/utils/DateTimeIntervalUtils.cpp
diff --git a/Sources/c_snikket/src/datetime/utils/DateTimeMonthUtils.cpp b/Sources/c_borogove/src/datetime/utils/DateTimeMonthUtils.cpp
similarity index 100%
rename from Sources/c_snikket/src/datetime/utils/DateTimeMonthUtils.cpp
rename to Sources/c_borogove/src/datetime/utils/DateTimeMonthUtils.cpp
diff --git a/Sources/c_snikket/src/datetime/utils/DateTimeUtils.cpp b/Sources/c_borogove/src/datetime/utils/DateTimeUtils.cpp
similarity index 96%
rename from Sources/c_snikket/src/datetime/utils/DateTimeUtils.cpp
rename to Sources/c_borogove/src/datetime/utils/DateTimeUtils.cpp
index 27bf218..b7e42d1 100644
--- a/Sources/c_snikket/src/datetime/utils/DateTimeUtils.cpp
+++ b/Sources/c_borogove/src/datetime/utils/DateTimeUtils.cpp
@@ -148,8 +148,8 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(DateTimeUtils_obj,parse,return )
Float DateTimeUtils_obj::fromIsoString(::String str){
HX_STACKFRAME(&_hx_pos_3ecdb3441ed93307_73_fromIsoString)
-HXLINE( 74) int dotPos = str.indexOf(HX_(".",2e,00,00,00),null());
-HXLINE( 75) int zPos = str.indexOf(HX_("Z",5a,00,00,00),null());
+HXLINE( 74) str.indexOf(HX_(".",2e,00,00,00),null());
+HXLINE( 75) str.indexOf(HX_("Z",5a,00,00,00),null());
HXLINE( 77) if ((str.cca((str.length - 1)) != 90)) {
HXLINE( 78) HX_STACK_DO_THROW(((HX_("`",60,00,00,00) + str) + HX_("` - incorrect date/time format. Not an ISO 8601 UTC/Zulu string: Z not found.",de,76,4f,0c)));
}
@@ -173,8 +173,7 @@ Float DateTimeUtils_obj::yearToStamp(int year){
HXLINE( 108) year = (year - 1);
HXLINE( 109) int cquads = ::Std_obj::_hx_int((( (Float)(year) ) / ( (Float)(400) )));
HXLINE( 110) int quads = ::Std_obj::_hx_int((( (Float)((year - (cquads * 400))) ) / ( (Float)(4) )));
-HXLINE( 111) int excessDays = ::Std_obj::_hx_int((( (Float)(quads) ) / ( (Float)(25) )));
-HXLINE( 114) return ((((( (Float)(cquads) ) * ((Float)12622780800.0)) + (( (Float)(quads) ) * ((Float)126230400.0))) - ( (Float)((excessDays * 86400)) )) + (((year - (cquads * 400)) - (quads * 4)) * 31536000));
+HXLINE( 114) return ((((( (Float)(cquads) ) * ((Float)12622780800.0)) + (( (Float)(quads) ) * ((Float)126230400.0))) - ( (Float)((::Std_obj::_hx_int((( (Float)(quads) ) / ( (Float)(25) ))) * 86400)) )) + (((year - (cquads * 400)) - (quads * 4)) * 31536000));
}
diff --git a/Sources/c_snikket/src/haxe/EntryPoint.cpp b/Sources/c_borogove/src/haxe/EntryPoint.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/EntryPoint.cpp
rename to Sources/c_borogove/src/haxe/EntryPoint.cpp
diff --git a/Sources/c_snikket/src/haxe/Exception.cpp b/Sources/c_borogove/src/haxe/Exception.cpp
similarity index 99%
rename from Sources/c_snikket/src/haxe/Exception.cpp
rename to Sources/c_borogove/src/haxe/Exception.cpp
index c7351e0..60fccbd 100644
--- a/Sources/c_snikket/src/haxe/Exception.cpp
+++ b/Sources/c_borogove/src/haxe/Exception.cpp
@@ -95,8 +95,7 @@ HXLINE( 89) if (::hx::IsNull( _g )) {
HXLINE( 89) return (this->_hx___exceptionStack = ::haxe::NativeStackTrace_obj::toHaxe(this->_hx___nativeStack,this->_hx___skipStack));
}
else {
-HXLINE( 90) ::Array< ::Dynamic> s = _g;
-HXDLIN( 90) return s;
+HXLINE( 90) return _g;
}
HXLINE( 89) return null();
}
diff --git a/Sources/c_snikket/src/haxe/IMap.cpp b/Sources/c_borogove/src/haxe/IMap.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/IMap.cpp
rename to Sources/c_borogove/src/haxe/IMap.cpp
diff --git a/Sources/c_snikket/src/haxe/Log.cpp b/Sources/c_borogove/src/haxe/Log.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/Log.cpp
rename to Sources/c_borogove/src/haxe/Log.cpp
diff --git a/Sources/c_snikket/src/haxe/MainEvent.cpp b/Sources/c_borogove/src/haxe/MainEvent.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/MainEvent.cpp
rename to Sources/c_borogove/src/haxe/MainEvent.cpp
diff --git a/Sources/c_snikket/src/haxe/MainLoop.cpp b/Sources/c_borogove/src/haxe/MainLoop.cpp
similarity index 99%
rename from Sources/c_snikket/src/haxe/MainLoop.cpp
rename to Sources/c_borogove/src/haxe/MainLoop.cpp
index 444ec9c..54f59ca 100644
--- a/Sources/c_snikket/src/haxe/MainLoop.cpp
+++ b/Sources/c_borogove/src/haxe/MainLoop.cpp
@@ -75,7 +75,6 @@ HXLINE( 125) int _g = 0;
HXDLIN( 125) int _g1 = insize;
HXDLIN( 125) while((_g < _g1)){
HXLINE( 125) _g = (_g + 1);
-HXDLIN( 125) int i = (_g - 1);
HXLINE( 126) psize = (psize + 1);
HXLINE( 127) q = q->next;
HXLINE( 128) if (::hx::IsNull( q )) {
diff --git a/Sources/c_snikket/src/haxe/NativeStackTrace.cpp b/Sources/c_borogove/src/haxe/NativeStackTrace.cpp
similarity index 96%
rename from Sources/c_snikket/src/haxe/NativeStackTrace.cpp
rename to Sources/c_borogove/src/haxe/NativeStackTrace.cpp
index 0fc8acf..b5e03c5 100644
--- a/Sources/c_snikket/src/haxe/NativeStackTrace.cpp
+++ b/Sources/c_borogove/src/haxe/NativeStackTrace.cpp
@@ -56,18 +56,17 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC0(NativeStackTrace_obj,exceptionStack,return )
::Array< ::Dynamic> NativeStackTrace_obj::toHaxe(::Array< ::String > native,::hx::Null< int > __o_skip){
int skip = __o_skip.Default(0);
HX_STACKFRAME(&_hx_pos_0eaca57ef1f373a1_25_toHaxe)
-HXLINE( 26) ::Array< ::String > stack = native;
HXLINE( 27) ::Array< ::Dynamic> m = ::Array_obj< ::Dynamic>::__new();
HXLINE( 28) {
HXLINE( 28) int _g = 0;
-HXDLIN( 28) int _g1 = stack->length;
+HXDLIN( 28) int _g1 = native->length;
HXDLIN( 28) while((_g < _g1)){
HXLINE( 28) _g = (_g + 1);
HXDLIN( 28) int i = (_g - 1);
HXLINE( 29) if ((skip > i)) {
HXLINE( 30) continue;
}
-HXLINE( 32) ::Array< ::String > words = stack->__get(i).split(HX_("::",c0,32,00,00));
+HXLINE( 32) ::Array< ::String > words = native->__get(i).split(HX_("::",c0,32,00,00));
HXLINE( 33) if ((words->length == 0)) {
HXLINE( 34) m->push(::haxe::StackItem_obj::CFunction_dyn());
}
diff --git a/Sources/c_snikket/src/haxe/StackItem.cpp b/Sources/c_borogove/src/haxe/StackItem.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/StackItem.cpp
rename to Sources/c_borogove/src/haxe/StackItem.cpp
diff --git a/Sources/c_snikket/src/haxe/Timer.cpp b/Sources/c_borogove/src/haxe/Timer.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/Timer.cpp
rename to Sources/c_borogove/src/haxe/Timer.cpp
diff --git a/Sources/c_snikket/src/haxe/ValueException.cpp b/Sources/c_borogove/src/haxe/ValueException.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/ValueException.cpp
rename to Sources/c_borogove/src/haxe/ValueException.cpp
diff --git a/Sources/c_snikket/src/haxe/_CallStack/CallStack_Impl_.cpp b/Sources/c_borogove/src/haxe/_CallStack/CallStack_Impl_.cpp
similarity index 90%
rename from Sources/c_snikket/src/haxe/_CallStack/CallStack_Impl_.cpp
rename to Sources/c_borogove/src/haxe/_CallStack/CallStack_Impl_.cpp
index e6b4f93..e79175b 100644
--- a/Sources/c_snikket/src/haxe/_CallStack/CallStack_Impl_.cpp
+++ b/Sources/c_borogove/src/haxe/_CallStack/CallStack_Impl_.cpp
@@ -108,7 +108,7 @@ HXLINE( 158) b->b->push(HX_("a C function",f4,1b,53,cb));
}
break;
case (int)1: {
-HXLINE( 159) ::String m = s->_hx_getString(0);
+HXLINE( 159) ::String _g = s->_hx_getString(0);
HXDLIN( 159) {
HXLINE( 160) {
HXLINE( 160) if (::hx::IsNotNull( b->charBuf )) {
@@ -126,24 +126,24 @@ HXLINE( 161) if (::hx::IsNotNull( b->charBuf )) {
HXLINE( 161) b->flush();
}
HXDLIN( 161) if (::hx::IsNull( b->b )) {
-HXLINE( 161) b->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(m));
+HXLINE( 161) b->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(_g));
}
else {
HXLINE( 161) ::Array< ::String > b1 = b->b;
-HXDLIN( 161) b1->push(::Std_obj::string(m));
+HXDLIN( 161) b1->push(::Std_obj::string(_g));
}
}
}
}
break;
case (int)2: {
-HXLINE( 162) ::haxe::StackItem s1 = s->_hx_getObject(0).StaticCast< ::haxe::StackItem >();
-HXDLIN( 162) ::String file = s->_hx_getString(1);
-HXDLIN( 162) int line = s->_hx_getInt(2);
-HXDLIN( 162) ::Dynamic col = s->_hx_getObject(3);
+HXLINE( 162) ::haxe::StackItem _g1 = s->_hx_getObject(0).StaticCast< ::haxe::StackItem >();
+HXDLIN( 162) ::String _g2 = s->_hx_getString(1);
+HXDLIN( 162) int _g3 = s->_hx_getInt(2);
+HXDLIN( 162) ::Dynamic _g4 = s->_hx_getObject(3);
HXDLIN( 162) {
-HXLINE( 163) if (::hx::IsNotNull( s1 )) {
-HXLINE( 164) ::haxe::_CallStack::CallStack_Impl__obj::itemToString(b,s1);
+HXLINE( 163) if (::hx::IsNotNull( _g1 )) {
+HXLINE( 164) ::haxe::_CallStack::CallStack_Impl__obj::itemToString(b,_g1);
HXLINE( 165) {
HXLINE( 165) if (::hx::IsNotNull( b->charBuf )) {
HXLINE( 165) b->flush();
@@ -161,11 +161,11 @@ HXLINE( 167) if (::hx::IsNotNull( b->charBuf )) {
HXLINE( 167) b->flush();
}
HXDLIN( 167) if (::hx::IsNull( b->b )) {
-HXLINE( 167) b->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(file));
+HXLINE( 167) b->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(_g2));
}
else {
HXLINE( 167) ::Array< ::String > b2 = b->b;
-HXDLIN( 167) b2->push(::Std_obj::string(file));
+HXDLIN( 167) b2->push(::Std_obj::string(_g2));
}
}
HXLINE( 168) {
@@ -184,14 +184,14 @@ HXLINE( 169) if (::hx::IsNotNull( b->charBuf )) {
HXLINE( 169) b->flush();
}
HXDLIN( 169) if (::hx::IsNull( b->b )) {
-HXLINE( 169) b->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(line));
+HXLINE( 169) b->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(_g3));
}
else {
HXLINE( 169) ::Array< ::String > b3 = b->b;
-HXDLIN( 169) b3->push(::Std_obj::string(line));
+HXDLIN( 169) b3->push(::Std_obj::string(_g3));
}
}
-HXLINE( 170) if (::hx::IsNotNull( col )) {
+HXLINE( 170) if (::hx::IsNotNull( _g4 )) {
HXLINE( 171) {
HXLINE( 171) if (::hx::IsNotNull( b->charBuf )) {
HXLINE( 171) b->flush();
@@ -208,15 +208,15 @@ HXLINE( 172) if (::hx::IsNotNull( b->charBuf )) {
HXLINE( 172) b->flush();
}
HXDLIN( 172) if (::hx::IsNull( b->b )) {
-HXLINE( 172) b->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(col));
+HXLINE( 172) b->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(_g4));
}
else {
HXLINE( 172) ::Array< ::String > b4 = b->b;
-HXDLIN( 172) b4->push(::Std_obj::string(col));
+HXDLIN( 172) b4->push(::Std_obj::string(_g4));
}
}
}
-HXLINE( 174) if (::hx::IsNotNull( s1 )) {
+HXLINE( 174) if (::hx::IsNotNull( _g1 )) {
HXLINE( 175) if (::hx::IsNotNull( b->charBuf )) {
HXLINE( 175) b->flush();
}
@@ -231,16 +231,16 @@ HXLINE( 175) b->b->push(HX_(")",29,00,00,00));
}
break;
case (int)3: {
-HXLINE( 176) ::String cname = s->_hx_getString(0);
-HXDLIN( 176) ::String meth = s->_hx_getString(1);
+HXLINE( 176) ::String _g5 = s->_hx_getString(0);
+HXDLIN( 176) ::String _g6 = s->_hx_getString(1);
HXDLIN( 176) {
HXLINE( 177) {
HXLINE( 177) ::String x;
-HXDLIN( 177) if (::hx::IsNull( cname )) {
+HXDLIN( 177) if (::hx::IsNull( _g5 )) {
HXLINE( 177) x = HX_("<unknown>",b0,91,d8,da);
}
else {
-HXLINE( 177) x = cname;
+HXLINE( 177) x = _g5;
}
HXDLIN( 177) if (::hx::IsNotNull( b->charBuf )) {
HXLINE( 177) b->flush();
@@ -269,18 +269,18 @@ HXLINE( 179) if (::hx::IsNotNull( b->charBuf )) {
HXLINE( 179) b->flush();
}
HXDLIN( 179) if (::hx::IsNull( b->b )) {
-HXLINE( 179) b->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(meth));
+HXLINE( 179) b->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(_g6));
}
else {
HXLINE( 179) ::Array< ::String > b6 = b->b;
-HXDLIN( 179) b6->push(::Std_obj::string(meth));
+HXDLIN( 179) b6->push(::Std_obj::string(_g6));
}
}
}
}
break;
case (int)4: {
-HXLINE( 180) ::Dynamic n = s->_hx_getObject(0);
+HXLINE( 180) ::Dynamic _g7 = s->_hx_getObject(0);
HXDLIN( 180) {
HXLINE( 181) {
HXLINE( 181) if (::hx::IsNotNull( b->charBuf )) {
@@ -298,11 +298,11 @@ HXLINE( 182) if (::hx::IsNotNull( b->charBuf )) {
HXLINE( 182) b->flush();
}
HXDLIN( 182) if (::hx::IsNull( b->b )) {
-HXLINE( 182) b->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(n));
+HXLINE( 182) b->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(_g7));
}
else {
HXLINE( 182) ::Array< ::String > b7 = b->b;
-HXDLIN( 182) b7->push(::Std_obj::string(n));
+HXDLIN( 182) b7->push(::Std_obj::string(_g7));
}
}
}
diff --git a/Sources/c_snikket/src/haxe/crypto/Base64.cpp b/Sources/c_borogove/src/haxe/crypto/Base64.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/crypto/Base64.cpp
rename to Sources/c_borogove/src/haxe/crypto/Base64.cpp
diff --git a/Sources/c_snikket/src/haxe/crypto/BaseCode.cpp b/Sources/c_borogove/src/haxe/crypto/BaseCode.cpp
similarity index 97%
rename from Sources/c_snikket/src/haxe/crypto/BaseCode.cpp
rename to Sources/c_borogove/src/haxe/crypto/BaseCode.cpp
index c17124b..866dbd8 100644
--- a/Sources/c_snikket/src/haxe/crypto/BaseCode.cpp
+++ b/Sources/c_borogove/src/haxe/crypto/BaseCode.cpp
@@ -102,8 +102,7 @@ HXLINE( 74) {
HXLINE( 74) int _g = 0;
HXDLIN( 74) while((_g < 256)){
HXLINE( 74) _g = (_g + 1);
-HXDLIN( 74) int i = (_g - 1);
-HXLINE( 75) tbl[i] = -1;
+HXLINE( 75) tbl[(_g - 1)] = -1;
}
}
HXLINE( 76) {
@@ -111,8 +110,8 @@ HXLINE( 76) int _g1 = 0;
HXDLIN( 76) int _g2 = this->base->length;
HXDLIN( 76) while((_g1 < _g2)){
HXLINE( 76) _g1 = (_g1 + 1);
-HXDLIN( 76) int i1 = (_g1 - 1);
-HXLINE( 77) tbl[( (int)(this->base->b->__get(i1)) )] = i1;
+HXDLIN( 76) int i = (_g1 - 1);
+HXLINE( 77) tbl[( (int)(this->base->b->__get(i)) )] = i;
}
}
HXLINE( 78) this->tbl = tbl;
@@ -124,7 +123,6 @@ HX_DEFINE_DYNAMIC_FUNC0(BaseCode_obj,initTable,(void))
::haxe::io::Bytes BaseCode_obj::decodeBytes( ::haxe::io::Bytes b){
HX_STACKFRAME(&_hx_pos_b23e417e2bb3f320_81_decodeBytes)
HXLINE( 85) int nbits = this->nbits;
-HXLINE( 86) ::haxe::io::Bytes base = this->base;
HXLINE( 87) if (::hx::IsNull( this->tbl )) {
HXLINE( 88) this->initTable();
}
diff --git a/Sources/c_snikket/src/haxe/crypto/Sha1.cpp b/Sources/c_borogove/src/haxe/crypto/Sha1.cpp
similarity index 68%
rename from Sources/c_snikket/src/haxe/crypto/Sha1.cpp
rename to Sources/c_borogove/src/haxe/crypto/Sha1.cpp
index 3ab767b..2a99f87 100644
--- a/Sources/c_snikket/src/haxe/crypto/Sha1.cpp
+++ b/Sources/c_borogove/src/haxe/crypto/Sha1.cpp
@@ -62,12 +62,11 @@ HXDLIN( 72) w[j] = ((num << 1) | ::hx::UShr(num,31));
}
HXLINE( 73) int t = ((((a << 5) | ::hx::UShr(a,27)) + this->ft(j,b,c,d)) + e);
HXDLIN( 73) int t1 = (t + w->__get(j));
-HXDLIN( 73) int t2 = (t1 + this->kt(j));
HXLINE( 74) e = d;
HXLINE( 75) d = c;
HXLINE( 76) c = ((b << 30) | ::hx::UShr(b,2));
HXLINE( 77) b = a;
-HXLINE( 78) a = t2;
+HXLINE( 78) a = (t1 + this->kt(j));
HXLINE( 79) j = (j + 1);
}
HXLINE( 81) a = (a + olda);
@@ -122,97 +121,36 @@ HX_DEFINE_DYNAMIC_FUNC1(Sha1_obj,kt,return )
HXLINE( 36) ::haxe::crypto::Sha1 h = ::haxe::crypto::Sha1_obj::__alloc( HX_CTX );
HXDLIN( 36) ::Array< int > h1 = h->doEncode(::haxe::crypto::Sha1_obj::bytes2blks(b));
HXLINE( 37) ::haxe::io::Bytes out = ::haxe::io::Bytes_obj::alloc(20);
-HXLINE( 38) int p = 0;
HXLINE( 39) {
HXLINE( 39) {
-HXLINE( 40) {
-HXLINE( 40) p = (p + 1);
-HXDLIN( 40) out->b[(p - 1)] = ( (unsigned char)(::hx::UShr(h1->__get(0),24)) );
- }
-HXLINE( 41) {
-HXLINE( 41) p = (p + 1);
-HXDLIN( 41) out->b[(p - 1)] = ( (unsigned char)(((h1->__get(0) >> 16) & 255)) );
- }
-HXLINE( 42) {
-HXLINE( 42) p = (p + 1);
-HXDLIN( 42) out->b[(p - 1)] = ( (unsigned char)(((h1->__get(0) >> 8) & 255)) );
- }
-HXLINE( 43) {
-HXLINE( 43) p = (p + 1);
-HXDLIN( 43) out->b[(p - 1)] = ( (unsigned char)((h1->__get(0) & 255)) );
- }
+HXLINE( 40) out->b[0] = ( (unsigned char)(::hx::UShr(h1->__get(0),24)) );
+HXLINE( 41) out->b[1] = ( (unsigned char)(((h1->__get(0) >> 16) & 255)) );
+HXLINE( 42) out->b[2] = ( (unsigned char)(((h1->__get(0) >> 8) & 255)) );
+HXLINE( 43) out->b[3] = ( (unsigned char)((h1->__get(0) & 255)) );
}
HXLINE( 39) {
-HXLINE( 40) {
-HXLINE( 40) p = (p + 1);
-HXDLIN( 40) out->b[(p - 1)] = ( (unsigned char)(::hx::UShr(h1->__get(1),24)) );
- }
-HXLINE( 41) {
-HXLINE( 41) p = (p + 1);
-HXDLIN( 41) out->b[(p - 1)] = ( (unsigned char)(((h1->__get(1) >> 16) & 255)) );
- }
-HXLINE( 42) {
-HXLINE( 42) p = (p + 1);
-HXDLIN( 42) out->b[(p - 1)] = ( (unsigned char)(((h1->__get(1) >> 8) & 255)) );
- }
-HXLINE( 43) {
-HXLINE( 43) p = (p + 1);
-HXDLIN( 43) out->b[(p - 1)] = ( (unsigned char)((h1->__get(1) & 255)) );
- }
+HXLINE( 40) out->b[4] = ( (unsigned char)(::hx::UShr(h1->__get(1),24)) );
+HXLINE( 41) out->b[5] = ( (unsigned char)(((h1->__get(1) >> 16) & 255)) );
+HXLINE( 42) out->b[6] = ( (unsigned char)(((h1->__get(1) >> 8) & 255)) );
+HXLINE( 43) out->b[7] = ( (unsigned char)((h1->__get(1) & 255)) );
}
HXLINE( 39) {
-HXLINE( 40) {
-HXLINE( 40) p = (p + 1);
-HXDLIN( 40) out->b[(p - 1)] = ( (unsigned char)(::hx::UShr(h1->__get(2),24)) );
- }
-HXLINE( 41) {
-HXLINE( 41) p = (p + 1);
-HXDLIN( 41) out->b[(p - 1)] = ( (unsigned char)(((h1->__get(2) >> 16) & 255)) );
- }
-HXLINE( 42) {
-HXLINE( 42) p = (p + 1);
-HXDLIN( 42) out->b[(p - 1)] = ( (unsigned char)(((h1->__get(2) >> 8) & 255)) );
- }
-HXLINE( 43) {
-HXLINE( 43) p = (p + 1);
-HXDLIN( 43) out->b[(p - 1)] = ( (unsigned char)((h1->__get(2) & 255)) );
- }
+HXLINE( 40) out->b[8] = ( (unsigned char)(::hx::UShr(h1->__get(2),24)) );
+HXLINE( 41) out->b[9] = ( (unsigned char)(((h1->__get(2) >> 16) & 255)) );
+HXLINE( 42) out->b[10] = ( (unsigned char)(((h1->__get(2) >> 8) & 255)) );
+HXLINE( 43) out->b[11] = ( (unsigned char)((h1->__get(2) & 255)) );
}
HXLINE( 39) {
-HXLINE( 40) {
-HXLINE( 40) p = (p + 1);
-HXDLIN( 40) out->b[(p - 1)] = ( (unsigned char)(::hx::UShr(h1->__get(3),24)) );
- }
-HXLINE( 41) {
-HXLINE( 41) p = (p + 1);
-HXDLIN( 41) out->b[(p - 1)] = ( (unsigned char)(((h1->__get(3) >> 16) & 255)) );
- }
-HXLINE( 42) {
-HXLINE( 42) p = (p + 1);
-HXDLIN( 42) out->b[(p - 1)] = ( (unsigned char)(((h1->__get(3) >> 8) & 255)) );
- }
-HXLINE( 43) {
-HXLINE( 43) p = (p + 1);
-HXDLIN( 43) out->b[(p - 1)] = ( (unsigned char)((h1->__get(3) & 255)) );
- }
+HXLINE( 40) out->b[12] = ( (unsigned char)(::hx::UShr(h1->__get(3),24)) );
+HXLINE( 41) out->b[13] = ( (unsigned char)(((h1->__get(3) >> 16) & 255)) );
+HXLINE( 42) out->b[14] = ( (unsigned char)(((h1->__get(3) >> 8) & 255)) );
+HXLINE( 43) out->b[15] = ( (unsigned char)((h1->__get(3) & 255)) );
}
HXLINE( 39) {
-HXLINE( 40) {
-HXLINE( 40) p = (p + 1);
-HXDLIN( 40) out->b[(p - 1)] = ( (unsigned char)(::hx::UShr(h1->__get(4),24)) );
- }
-HXLINE( 41) {
-HXLINE( 41) p = (p + 1);
-HXDLIN( 41) out->b[(p - 1)] = ( (unsigned char)(((h1->__get(4) >> 16) & 255)) );
- }
-HXLINE( 42) {
-HXLINE( 42) p = (p + 1);
-HXDLIN( 42) out->b[(p - 1)] = ( (unsigned char)(((h1->__get(4) >> 8) & 255)) );
- }
-HXLINE( 43) {
-HXLINE( 43) p = (p + 1);
-HXDLIN( 43) out->b[(p - 1)] = ( (unsigned char)((h1->__get(4) & 255)) );
- }
+HXLINE( 40) out->b[16] = ( (unsigned char)(::hx::UShr(h1->__get(4),24)) );
+HXLINE( 41) out->b[17] = ( (unsigned char)(((h1->__get(4) >> 16) & 255)) );
+HXLINE( 42) out->b[18] = ( (unsigned char)(((h1->__get(4) >> 8) & 255)) );
+HXLINE( 43) out->b[19] = ( (unsigned char)((h1->__get(4) & 255)) );
}
}
HXLINE( 45) return out;
@@ -230,8 +168,7 @@ HXLINE( 119) int _g = 0;
HXDLIN( 119) int _g1 = (nblk * 16);
HXDLIN( 119) while((_g < _g1)){
HXLINE( 119) _g = (_g + 1);
-HXDLIN( 119) int i = (_g - 1);
-HXLINE( 120) blks[i] = 0;
+HXLINE( 120) blks[(_g - 1)] = 0;
}
}
HXLINE( 121) {
@@ -239,18 +176,14 @@ HXLINE( 121) int _g2 = 0;
HXDLIN( 121) int _g3 = b->length;
HXDLIN( 121) while((_g2 < _g3)){
HXLINE( 121) _g2 = (_g2 + 1);
-HXDLIN( 121) int i1 = (_g2 - 1);
-HXLINE( 122) int p = (i1 >> 2);
-HXLINE( 123) ::Array< int > blks1 = blks;
-HXDLIN( 123) int p1 = p;
-HXDLIN( 123) blks1[p1] = (blks1->__get(p1) | (( (int)(b->b->__get(i1)) ) << (24 - ((i1 & 3) << 3))));
+HXDLIN( 121) int i = (_g2 - 1);
+HXLINE( 122) int p = (i >> 2);
+HXLINE( 123) blks[p] = (blks->__get(p) | (( (int)(b->b->__get(i)) ) << (24 - ((i & 3) << 3))));
}
}
-HXLINE( 125) int i2 = b->length;
-HXLINE( 126) int p2 = (i2 >> 2);
-HXLINE( 127) ::Array< int > blks2 = blks;
-HXDLIN( 127) int p3 = p2;
-HXDLIN( 127) blks2[p3] = (blks2->__get(p3) | (128 << (24 - ((i2 & 3) << 3))));
+HXLINE( 125) int i1 = b->length;
+HXLINE( 126) int p1 = (i1 >> 2);
+HXLINE( 127) blks[p1] = (blks->__get(p1) | (128 << (24 - ((i1 & 3) << 3))));
HXLINE( 128) blks[((nblk * 16) - 1)] = (b->length * 8);
HXLINE( 129) return blks;
}
diff --git a/Sources/c_snikket/src/haxe/crypto/Sha256.cpp b/Sources/c_borogove/src/haxe/crypto/Sha256.cpp
similarity index 77%
rename from Sources/c_snikket/src/haxe/crypto/Sha256.cpp
rename to Sources/c_borogove/src/haxe/crypto/Sha256.cpp
index fc04c02..178f6b5 100644
--- a/Sources/c_snikket/src/haxe/crypto/Sha256.cpp
+++ b/Sources/c_borogove/src/haxe/crypto/Sha256.cpp
@@ -56,9 +56,8 @@ HXDLIN( 66) int g;
HXDLIN( 66) int h;
HXLINE( 67) int T1;
HXDLIN( 67) int T2;
-HXLINE( 68) ::Array< int > m1 = m;
-HXDLIN( 68) int index = (l >> 5);
-HXDLIN( 68) m1[index] = (m1->__get(index) | (128 << (24 - ::hx::Mod(l,32))));
+HXLINE( 68) int index = (l >> 5);
+HXDLIN( 68) m[index] = (m->__get(index) | (128 << (24 - ::hx::Mod(l,32))));
HXLINE( 69) m[((((l + 64) >> 9) << 4) + 15)] = l;
HXLINE( 70) int i = 0;
HXLINE( 71) while((i < m->length)){
@@ -83,85 +82,67 @@ HXLINE( 84) int x = W->__get((j - 2));
HXDLIN( 84) int x1 = (((::hx::UShr(x,17) | (x << 15)) ^ (::hx::UShr(x,19) | (x << 13))) ^ ::hx::UShr(x,10));
HXDLIN( 84) int y = W->__get((j - 7));
HXDLIN( 84) int lsw = ((x1 & 65535) + (y & 65535));
-HXDLIN( 84) int msw = (((x1 >> 16) + (y >> 16)) + (lsw >> 16));
-HXDLIN( 84) int x2 = ((msw << 16) | (lsw & 65535));
+HXDLIN( 84) int x2 = (((((x1 >> 16) + (y >> 16)) + (lsw >> 16)) << 16) | (lsw & 65535));
HXDLIN( 84) int x3 = W->__get((j - 15));
HXDLIN( 84) int y1 = (((::hx::UShr(x3,7) | (x3 << 25)) ^ (::hx::UShr(x3,18) | (x3 << 14))) ^ ::hx::UShr(x3,3));
HXDLIN( 84) int lsw1 = ((x2 & 65535) + (y1 & 65535));
-HXDLIN( 84) int msw1 = (((x2 >> 16) + (y1 >> 16)) + (lsw1 >> 16));
-HXDLIN( 84) int x4 = ((msw1 << 16) | (lsw1 & 65535));
+HXDLIN( 84) int x4 = (((((x2 >> 16) + (y1 >> 16)) + (lsw1 >> 16)) << 16) | (lsw1 & 65535));
HXDLIN( 84) int y2 = W->__get((j - 16));
HXDLIN( 84) int lsw2 = ((x4 & 65535) + (y2 & 65535));
-HXDLIN( 84) int msw2 = (((x4 >> 16) + (y2 >> 16)) + (lsw2 >> 16));
-HXDLIN( 84) W[j] = ((msw2 << 16) | (lsw2 & 65535));
+HXDLIN( 84) W[j] = (((((x4 >> 16) + (y2 >> 16)) + (lsw2 >> 16)) << 16) | (lsw2 & 65535));
}
HXLINE( 85) int y3 = (((::hx::UShr(e,6) | (e << 26)) ^ (::hx::UShr(e,11) | (e << 21))) ^ (::hx::UShr(e,25) | (e << 7)));
HXDLIN( 85) int lsw3 = ((h & 65535) + (y3 & 65535));
-HXDLIN( 85) int msw3 = (((h >> 16) + (y3 >> 16)) + (lsw3 >> 16));
-HXDLIN( 85) int x5 = ((msw3 << 16) | (lsw3 & 65535));
+HXDLIN( 85) int x5 = (((((h >> 16) + (y3 >> 16)) + (lsw3 >> 16)) << 16) | (lsw3 & 65535));
HXDLIN( 85) int y4 = ((e & f) ^ (~(e) & g));
HXDLIN( 85) int lsw4 = ((x5 & 65535) + (y4 & 65535));
-HXDLIN( 85) int msw4 = (((x5 >> 16) + (y4 >> 16)) + (lsw4 >> 16));
-HXDLIN( 85) int x6 = ((msw4 << 16) | (lsw4 & 65535));
+HXDLIN( 85) int x6 = (((((x5 >> 16) + (y4 >> 16)) + (lsw4 >> 16)) << 16) | (lsw4 & 65535));
HXDLIN( 85) int y5 = K->__get(j);
HXDLIN( 85) int lsw5 = ((x6 & 65535) + (y5 & 65535));
-HXDLIN( 85) int msw5 = (((x6 >> 16) + (y5 >> 16)) + (lsw5 >> 16));
-HXDLIN( 85) int x7 = ((msw5 << 16) | (lsw5 & 65535));
+HXDLIN( 85) int x7 = (((((x6 >> 16) + (y5 >> 16)) + (lsw5 >> 16)) << 16) | (lsw5 & 65535));
HXDLIN( 85) int y6 = W->__get(j);
HXDLIN( 85) int lsw6 = ((x7 & 65535) + (y6 & 65535));
-HXDLIN( 85) int msw6 = (((x7 >> 16) + (y6 >> 16)) + (lsw6 >> 16));
-HXDLIN( 85) T1 = ((msw6 << 16) | (lsw6 & 65535));
+HXDLIN( 85) T1 = (((((x7 >> 16) + (y6 >> 16)) + (lsw6 >> 16)) << 16) | (lsw6 & 65535));
HXLINE( 86) int x8 = (((::hx::UShr(a,2) | (a << 30)) ^ (::hx::UShr(a,13) | (a << 19))) ^ (::hx::UShr(a,22) | (a << 10)));
HXDLIN( 86) int y7 = (((a & b) ^ (a & c)) ^ (b & c));
HXDLIN( 86) int lsw7 = ((x8 & 65535) + (y7 & 65535));
-HXDLIN( 86) int msw7 = (((x8 >> 16) + (y7 >> 16)) + (lsw7 >> 16));
-HXDLIN( 86) T2 = ((msw7 << 16) | (lsw7 & 65535));
+HXDLIN( 86) T2 = (((((x8 >> 16) + (y7 >> 16)) + (lsw7 >> 16)) << 16) | (lsw7 & 65535));
HXLINE( 87) h = g;
HXLINE( 88) g = f;
HXLINE( 89) f = e;
HXLINE( 90) int lsw8 = ((d & 65535) + (T1 & 65535));
-HXDLIN( 90) int msw8 = (((d >> 16) + (T1 >> 16)) + (lsw8 >> 16));
-HXDLIN( 90) e = ((msw8 << 16) | (lsw8 & 65535));
+HXDLIN( 90) e = (((((d >> 16) + (T1 >> 16)) + (lsw8 >> 16)) << 16) | (lsw8 & 65535));
HXLINE( 91) d = c;
HXLINE( 92) c = b;
HXLINE( 93) b = a;
HXLINE( 94) int lsw9 = ((T1 & 65535) + (T2 & 65535));
-HXDLIN( 94) int msw9 = (((T1 >> 16) + (T2 >> 16)) + (lsw9 >> 16));
-HXDLIN( 94) a = ((msw9 << 16) | (lsw9 & 65535));
+HXDLIN( 94) a = (((((T1 >> 16) + (T2 >> 16)) + (lsw9 >> 16)) << 16) | (lsw9 & 65535));
}
}
HXLINE( 96) int y8 = HASH->__get(0);
HXDLIN( 96) int lsw10 = ((a & 65535) + (y8 & 65535));
-HXDLIN( 96) int msw10 = (((a >> 16) + (y8 >> 16)) + (lsw10 >> 16));
-HXDLIN( 96) HASH[0] = ((msw10 << 16) | (lsw10 & 65535));
+HXDLIN( 96) HASH[0] = (((((a >> 16) + (y8 >> 16)) + (lsw10 >> 16)) << 16) | (lsw10 & 65535));
HXLINE( 97) int y9 = HASH->__get(1);
HXDLIN( 97) int lsw11 = ((b & 65535) + (y9 & 65535));
-HXDLIN( 97) int msw11 = (((b >> 16) + (y9 >> 16)) + (lsw11 >> 16));
-HXDLIN( 97) HASH[1] = ((msw11 << 16) | (lsw11 & 65535));
+HXDLIN( 97) HASH[1] = (((((b >> 16) + (y9 >> 16)) + (lsw11 >> 16)) << 16) | (lsw11 & 65535));
HXLINE( 98) int y10 = HASH->__get(2);
HXDLIN( 98) int lsw12 = ((c & 65535) + (y10 & 65535));
-HXDLIN( 98) int msw12 = (((c >> 16) + (y10 >> 16)) + (lsw12 >> 16));
-HXDLIN( 98) HASH[2] = ((msw12 << 16) | (lsw12 & 65535));
+HXDLIN( 98) HASH[2] = (((((c >> 16) + (y10 >> 16)) + (lsw12 >> 16)) << 16) | (lsw12 & 65535));
HXLINE( 99) int y11 = HASH->__get(3);
HXDLIN( 99) int lsw13 = ((d & 65535) + (y11 & 65535));
-HXDLIN( 99) int msw13 = (((d >> 16) + (y11 >> 16)) + (lsw13 >> 16));
-HXDLIN( 99) HASH[3] = ((msw13 << 16) | (lsw13 & 65535));
+HXDLIN( 99) HASH[3] = (((((d >> 16) + (y11 >> 16)) + (lsw13 >> 16)) << 16) | (lsw13 & 65535));
HXLINE( 100) int y12 = HASH->__get(4);
HXDLIN( 100) int lsw14 = ((e & 65535) + (y12 & 65535));
-HXDLIN( 100) int msw14 = (((e >> 16) + (y12 >> 16)) + (lsw14 >> 16));
-HXDLIN( 100) HASH[4] = ((msw14 << 16) | (lsw14 & 65535));
+HXDLIN( 100) HASH[4] = (((((e >> 16) + (y12 >> 16)) + (lsw14 >> 16)) << 16) | (lsw14 & 65535));
HXLINE( 101) int y13 = HASH->__get(5);
HXDLIN( 101) int lsw15 = ((f & 65535) + (y13 & 65535));
-HXDLIN( 101) int msw15 = (((f >> 16) + (y13 >> 16)) + (lsw15 >> 16));
-HXDLIN( 101) HASH[5] = ((msw15 << 16) | (lsw15 & 65535));
+HXDLIN( 101) HASH[5] = (((((f >> 16) + (y13 >> 16)) + (lsw15 >> 16)) << 16) | (lsw15 & 65535));
HXLINE( 102) int y14 = HASH->__get(6);
HXDLIN( 102) int lsw16 = ((g & 65535) + (y14 & 65535));
-HXDLIN( 102) int msw16 = (((g >> 16) + (y14 >> 16)) + (lsw16 >> 16));
-HXDLIN( 102) HASH[6] = ((msw16 << 16) | (lsw16 & 65535));
+HXDLIN( 102) HASH[6] = (((((g >> 16) + (y14 >> 16)) + (lsw16 >> 16)) << 16) | (lsw16 & 65535));
HXLINE( 103) int y15 = HASH->__get(7);
HXDLIN( 103) int lsw17 = ((h & 65535) + (y15 & 65535));
-HXDLIN( 103) int msw17 = (((h >> 16) + (y15 >> 16)) + (lsw17 >> 16));
-HXDLIN( 103) HASH[7] = ((msw17 << 16) | (lsw17 & 65535));
+HXDLIN( 103) HASH[7] = (((((h >> 16) + (y15 >> 16)) + (lsw17 >> 16)) << 16) | (lsw17 & 65535));
HXLINE( 104) i = (i + 16);
}
HXLINE( 106) return HASH;
@@ -215,8 +196,7 @@ HXLINE( 137) int _g = 0;
HXDLIN( 137) int _g1 = (nblk * 16);
HXDLIN( 137) while((_g < _g1)){
HXLINE( 137) _g = (_g + 1);
-HXDLIN( 137) int i = (_g - 1);
-HXLINE( 138) blks[i] = 0;
+HXLINE( 138) blks[(_g - 1)] = 0;
}
}
HXLINE( 139) {
@@ -224,18 +204,14 @@ HXLINE( 139) int _g2 = 0;
HXDLIN( 139) int _g3 = b->length;
HXDLIN( 139) while((_g2 < _g3)){
HXLINE( 139) _g2 = (_g2 + 1);
-HXDLIN( 139) int i1 = (_g2 - 1);
-HXLINE( 140) int p = (i1 >> 2);
-HXLINE( 141) ::Array< int > blks1 = blks;
-HXDLIN( 141) int p1 = p;
-HXDLIN( 141) blks1[p1] = (blks1->__get(p1) | (( (int)(b->b->__get(i1)) ) << (24 - ((i1 & 3) << 3))));
+HXDLIN( 139) int i = (_g2 - 1);
+HXLINE( 140) int p = (i >> 2);
+HXLINE( 141) blks[p] = (blks->__get(p) | (( (int)(b->b->__get(i)) ) << (24 - ((i & 3) << 3))));
}
}
-HXLINE( 143) int i2 = b->length;
-HXLINE( 144) int p2 = (i2 >> 2);
-HXLINE( 145) ::Array< int > blks2 = blks;
-HXDLIN( 145) int p3 = p2;
-HXDLIN( 145) blks2[p3] = (blks2->__get(p3) | (128 << (24 - ((i2 & 3) << 3))));
+HXLINE( 143) int i1 = b->length;
+HXLINE( 144) int p1 = (i1 >> 2);
+HXLINE( 145) blks[p1] = (blks->__get(p1) | (128 << (24 - ((i1 & 3) << 3))));
HXLINE( 146) blks[((nblk * 16) - 1)] = (b->length * 8);
HXLINE( 147) return blks;
}
diff --git a/Sources/c_snikket/src/haxe/ds/BalancedTree.cpp b/Sources/c_borogove/src/haxe/ds/BalancedTree.cpp
similarity index 90%
rename from Sources/c_snikket/src/haxe/ds/BalancedTree.cpp
rename to Sources/c_borogove/src/haxe/ds/BalancedTree.cpp
index 03e7628..c66a436 100644
--- a/Sources/c_snikket/src/haxe/ds/BalancedTree.cpp
+++ b/Sources/c_borogove/src/haxe/ds/BalancedTree.cpp
@@ -204,55 +204,46 @@ HXLINE( 209) _hx_tmp1 = 0;
HXLINE( 209) _hx_tmp1 = _this1->_height;
}
HXDLIN( 209) if ((_hx_tmp >= _hx_tmp1)) {
-HXLINE( 210) ::haxe::ds::TreeNode l1 = l->left;
-HXDLIN( 210) ::Dynamic l2 = l->key;
-HXDLIN( 210) ::Dynamic l3 = l->value;
-HXDLIN( 210) return ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,l1,l2,l3, ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,l->right,k,v,r,null()),null());
+HXLINE( 210) return ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,l->left,l->key,l->value, ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,l->right,k,v,r,null()),null());
}
else {
-HXLINE( 212) ::haxe::ds::TreeNode _hx_tmp2 = ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,l->left,l->key,l->value,l->right->left,null());
-HXDLIN( 212) ::Dynamic l4 = l->right->key;
-HXDLIN( 212) ::Dynamic l5 = l->right->value;
-HXDLIN( 212) return ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,_hx_tmp2,l4,l5, ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,l->right->right,k,v,r,null()),null());
+HXLINE( 212) return ::haxe::ds::TreeNode_obj::__alloc( HX_CTX , ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,l->left,l->key,l->value,l->right->left,null()),l->right->key,l->right->value, ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,l->right->right,k,v,r,null()),null());
}
}
else {
HXLINE( 214) if ((hr > (hl + 2))) {
HXLINE( 215) ::haxe::ds::TreeNode _this2 = r->right;
-HXDLIN( 215) int _hx_tmp3;
+HXDLIN( 215) int _hx_tmp2;
HXDLIN( 215) if (::hx::IsNull( _this2 )) {
-HXLINE( 215) _hx_tmp3 = 0;
+HXLINE( 215) _hx_tmp2 = 0;
}
else {
-HXLINE( 215) _hx_tmp3 = _this2->_height;
+HXLINE( 215) _hx_tmp2 = _this2->_height;
}
HXDLIN( 215) ::haxe::ds::TreeNode _this3 = r->left;
-HXDLIN( 215) int _hx_tmp4;
+HXDLIN( 215) int _hx_tmp3;
HXDLIN( 215) if (::hx::IsNull( _this3 )) {
-HXLINE( 215) _hx_tmp4 = 0;
+HXLINE( 215) _hx_tmp3 = 0;
}
else {
-HXLINE( 215) _hx_tmp4 = _this3->_height;
+HXLINE( 215) _hx_tmp3 = _this3->_height;
}
-HXDLIN( 215) if ((_hx_tmp3 > _hx_tmp4)) {
+HXDLIN( 215) if ((_hx_tmp2 > _hx_tmp3)) {
HXLINE( 216) return ::haxe::ds::TreeNode_obj::__alloc( HX_CTX , ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,l,k,v,r->left,null()),r->key,r->value,r->right,null());
}
else {
-HXLINE( 218) ::haxe::ds::TreeNode _hx_tmp5 = ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,l,k,v,r->left->left,null());
-HXDLIN( 218) ::Dynamic r1 = r->left->key;
-HXDLIN( 218) ::Dynamic r2 = r->left->value;
-HXDLIN( 218) return ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,_hx_tmp5,r1,r2, ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,r->left->right,r->key,r->value,r->right,null()),null());
+HXLINE( 218) return ::haxe::ds::TreeNode_obj::__alloc( HX_CTX , ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,l,k,v,r->left->left,null()),r->left->key,r->left->value, ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,r->left->right,r->key,r->value,r->right,null()),null());
}
}
else {
-HXLINE( 221) int _hx_tmp6;
+HXLINE( 221) int _hx_tmp4;
HXDLIN( 221) if ((hl > hr)) {
-HXLINE( 221) _hx_tmp6 = hl;
+HXLINE( 221) _hx_tmp4 = hl;
}
else {
-HXLINE( 221) _hx_tmp6 = hr;
+HXLINE( 221) _hx_tmp4 = hr;
}
-HXDLIN( 221) return ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,l,k,v,r,(_hx_tmp6 + 1));
+HXDLIN( 221) return ::haxe::ds::TreeNode_obj::__alloc( HX_CTX ,l,k,v,r,(_hx_tmp4 + 1));
}
}
HXLINE( 208) return null();
diff --git a/Sources/c_snikket/src/haxe/ds/Either.cpp b/Sources/c_borogove/src/haxe/ds/Either.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/ds/Either.cpp
rename to Sources/c_borogove/src/haxe/ds/Either.cpp
diff --git a/Sources/c_snikket/src/haxe/ds/EnumValueMap.cpp b/Sources/c_borogove/src/haxe/ds/EnumValueMap.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/ds/EnumValueMap.cpp
rename to Sources/c_borogove/src/haxe/ds/EnumValueMap.cpp
diff --git a/Sources/c_snikket/src/haxe/ds/IntMap.cpp b/Sources/c_borogove/src/haxe/ds/IntMap.cpp
similarity index 90%
rename from Sources/c_snikket/src/haxe/ds/IntMap.cpp
rename to Sources/c_borogove/src/haxe/ds/IntMap.cpp
index 53efbe1..e07dbfd 100644
--- a/Sources/c_snikket/src/haxe/ds/IntMap.cpp
+++ b/Sources/c_borogove/src/haxe/ds/IntMap.cpp
@@ -16,6 +16,7 @@ HX_LOCAL_STACK_FRAME(_hx_pos_51ea85db291dbdd4_63_set,"haxe.ds.IntMap","set",0x72
HX_LOCAL_STACK_FRAME(_hx_pos_51ea85db291dbdd4_67_get,"haxe.ds.IntMap","get",0x721d74ec,"haxe.ds.IntMap.get","/usr/local/lib/haxe/std/cpp/_std/haxe/ds/IntMap.hx",67,0xc8b34118)
HX_LOCAL_STACK_FRAME(_hx_pos_51ea85db291dbdd4_75_remove,"haxe.ds.IntMap","remove",0xa86281ae,"haxe.ds.IntMap.remove","/usr/local/lib/haxe/std/cpp/_std/haxe/ds/IntMap.hx",75,0xc8b34118)
HX_LOCAL_STACK_FRAME(_hx_pos_51ea85db291dbdd4_78_keys,"haxe.ds.IntMap","keys",0x6a4db8de,"haxe.ds.IntMap.keys","/usr/local/lib/haxe/std/cpp/_std/haxe/ds/IntMap.hx",78,0xc8b34118)
+HX_LOCAL_STACK_FRAME(_hx_pos_51ea85db291dbdd4_83_iterator,"haxe.ds.IntMap","iterator",0x4dc7ddd8,"haxe.ds.IntMap.iterator","/usr/local/lib/haxe/std/cpp/_std/haxe/ds/IntMap.hx",83,0xc8b34118)
namespace haxe{
namespace ds{
@@ -90,6 +91,15 @@ HXLINE( 80) return ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,a);
HX_DEFINE_DYNAMIC_FUNC0(IntMap_obj,keys,return )
+ ::Dynamic IntMap_obj::iterator(){
+ HX_GC_STACKFRAME(&_hx_pos_51ea85db291dbdd4_83_iterator)
+HXLINE( 84) ::cpp::VirtualArray a = ::__int_hash_values(this->h);
+HXLINE( 85) return ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,a);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(IntMap_obj,iterator,return )
+
::hx::ObjectPtr< IntMap_obj > IntMap_obj::__new() {
::hx::ObjectPtr< IntMap_obj > __this = new IntMap_obj();
@@ -135,6 +145,9 @@ void IntMap_obj::__Visit(HX_VISIT_PARAMS)
break;
case 6:
if (HX_FIELD_EQ(inName,"remove") ) { return ::hx::Val( remove_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"iterator") ) { return ::hx::Val( iterator_dyn() ); }
}
return super::__Field(inName,inCallProp);
}
@@ -168,6 +181,7 @@ static ::String IntMap_obj_sMemberFields[] = {
HX_("get",96,80,4e,00),
HX_("remove",44,9c,88,04),
HX_("keys",f4,e1,06,47),
+ HX_("iterator",ee,49,9a,93),
::String(null()) };
::hx::Class IntMap_obj::__mClass;
diff --git a/Sources/c_snikket/src/haxe/ds/List.cpp b/Sources/c_borogove/src/haxe/ds/List.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/ds/List.cpp
rename to Sources/c_borogove/src/haxe/ds/List.cpp
diff --git a/Sources/c_snikket/src/haxe/ds/ObjectMap.cpp b/Sources/c_borogove/src/haxe/ds/ObjectMap.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/ds/ObjectMap.cpp
rename to Sources/c_borogove/src/haxe/ds/ObjectMap.cpp
diff --git a/Sources/c_snikket/src/haxe/ds/Option.cpp b/Sources/c_borogove/src/haxe/ds/Option.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/ds/Option.cpp
rename to Sources/c_borogove/src/haxe/ds/Option.cpp
diff --git a/Sources/c_snikket/src/haxe/ds/StringMap.cpp b/Sources/c_borogove/src/haxe/ds/StringMap.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/ds/StringMap.cpp
rename to Sources/c_borogove/src/haxe/ds/StringMap.cpp
diff --git a/Sources/c_snikket/src/haxe/ds/TreeNode.cpp b/Sources/c_borogove/src/haxe/ds/TreeNode.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/ds/TreeNode.cpp
rename to Sources/c_borogove/src/haxe/ds/TreeNode.cpp
diff --git a/Sources/c_snikket/src/haxe/ds/_List/ListNode.cpp b/Sources/c_borogove/src/haxe/ds/_List/ListNode.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/ds/_List/ListNode.cpp
rename to Sources/c_borogove/src/haxe/ds/_List/ListNode.cpp
diff --git a/Sources/c_snikket/src/haxe/exceptions/NotImplementedException.cpp b/Sources/c_borogove/src/haxe/exceptions/NotImplementedException.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/exceptions/NotImplementedException.cpp
rename to Sources/c_borogove/src/haxe/exceptions/NotImplementedException.cpp
diff --git a/Sources/c_snikket/src/haxe/exceptions/PosException.cpp b/Sources/c_borogove/src/haxe/exceptions/PosException.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/exceptions/PosException.cpp
rename to Sources/c_borogove/src/haxe/exceptions/PosException.cpp
diff --git a/Sources/c_snikket/src/haxe/format/JsonParser.cpp b/Sources/c_borogove/src/haxe/format/JsonParser.cpp
similarity index 95%
rename from Sources/c_snikket/src/haxe/format/JsonParser.cpp
rename to Sources/c_borogove/src/haxe/format/JsonParser.cpp
index 29776d6..45b7193 100644
--- a/Sources/c_snikket/src/haxe/format/JsonParser.cpp
+++ b/Sources/c_borogove/src/haxe/format/JsonParser.cpp
@@ -84,9 +84,9 @@ HXLINE( 143) return this->parseString();
case (int)45: case (int)48: case (int)49: case (int)50: case (int)51: case (int)52: case (int)53: case (int)54: case (int)55: case (int)56: case (int)57: {
HXLINE( 145) int c1 = c;
HXDLIN( 145) int start = (this->pos - 1);
-HXDLIN( 145) bool minus = (c1 == 45);
+HXDLIN( 145) bool minus = (c == 45);
HXDLIN( 145) bool digit = !(minus);
-HXDLIN( 145) bool zero = (c1 == 48);
+HXDLIN( 145) bool zero = (c == 48);
HXDLIN( 145) bool point = false;
HXDLIN( 145) bool e = false;
HXDLIN( 145) bool pm = false;
@@ -218,8 +218,7 @@ HXLINE( 145) return f;
HXLINE( 103) ::cpp::VirtualArray arr = ::cpp::VirtualArray_obj::__new(0);
HXDLIN( 103) ::Dynamic comma = null();
HXLINE( 104) while(true){
-HXLINE( 105) int c2 = this->str.cca(this->pos++);
-HXLINE( 106) switch((int)(c2)){
+HXLINE( 106) switch((int)(this->str.cca(this->pos++))){
case (int)9: case (int)10: case (int)13: case (int)32: {
}
break;
@@ -332,8 +331,7 @@ HXLINE( 77) ::Dynamic obj = ::Dynamic(::hx::Anon_obj::Create(0));
HXDLIN( 77) ::String field = null();
HXDLIN( 77) ::Dynamic comma1 = null();
HXLINE( 78) while(true){
-HXLINE( 79) int c3 = this->str.cca(this->pos++);
-HXLINE( 80) switch((int)(c3)){
+HXLINE( 80) switch((int)(this->str.cca(this->pos++))){
case (int)9: case (int)10: case (int)13: case (int)32: {
}
break;
@@ -513,17 +511,16 @@ HXDLIN( 183) buf->charBuf->push(9);
break;
case (int)117: {
HXLINE( 191) int uc = ( (int)(::Std_obj::parseInt((HX_("0x",48,2a,00,00) + this->str.substr(this->pos,4)))) );
-HXLINE( 192) ::haxe::format::JsonParser _hx_tmp1 = ::hx::ObjectPtr<OBJ_>(this);
-HXDLIN( 192) _hx_tmp1->pos = (_hx_tmp1->pos + 4);
+HXLINE( 192) this->pos = (this->pos + 4);
HXLINE( 210) if ((prev != -1)) {
-HXLINE( 211) bool _hx_tmp2;
+HXLINE( 211) bool _hx_tmp1;
HXDLIN( 211) if ((uc >= 56320)) {
-HXLINE( 211) _hx_tmp2 = (uc > 57343);
+HXLINE( 211) _hx_tmp1 = (uc > 57343);
}
else {
-HXLINE( 211) _hx_tmp2 = true;
+HXLINE( 211) _hx_tmp1 = true;
}
-HXDLIN( 211) if (_hx_tmp2) {
+HXDLIN( 211) if (_hx_tmp1) {
HXLINE( 212) {
HXLINE( 212) ::String x2 = ::String::fromCharCode(65533);
HXDLIN( 212) if (::hx::IsNotNull( buf->charBuf )) {
@@ -566,14 +563,14 @@ HXLINE( 215) prev = -1;
}
}
else {
-HXLINE( 217) bool _hx_tmp3;
+HXLINE( 217) bool _hx_tmp2;
HXDLIN( 217) if ((uc >= 55296)) {
-HXLINE( 217) _hx_tmp3 = (uc <= 56319);
+HXLINE( 217) _hx_tmp2 = (uc <= 56319);
}
else {
-HXLINE( 217) _hx_tmp3 = false;
+HXLINE( 217) _hx_tmp2 = false;
}
-HXDLIN( 217) if (_hx_tmp3) {
+HXDLIN( 217) if (_hx_tmp2) {
HXLINE( 218) prev = uc;
}
else {
@@ -614,20 +611,17 @@ HXLINE( 242) HX_STACK_DO_THROW(HX_("Unclosed string",ac,02,ef,ea));
}
_hx_goto_8:;
HXLINE( 245) if ((prev != -1)) {
-HXLINE( 246) {
-HXLINE( 246) ::String x5 = ::String::fromCharCode(65533);
-HXDLIN( 246) if (::hx::IsNotNull( buf->charBuf )) {
-HXLINE( 246) buf->flush();
- }
-HXDLIN( 246) if (::hx::IsNull( buf->b )) {
-HXLINE( 246) buf->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x5));
- }
- else {
-HXLINE( 246) ::Array< ::String > buf7 = buf->b;
-HXDLIN( 246) buf7->push(::Std_obj::string(x5));
- }
+HXLINE( 246) ::String x5 = ::String::fromCharCode(65533);
+HXDLIN( 246) if (::hx::IsNotNull( buf->charBuf )) {
+HXLINE( 246) buf->flush();
+ }
+HXDLIN( 246) if (::hx::IsNull( buf->b )) {
+HXLINE( 246) buf->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x5));
+ }
+ else {
+HXLINE( 246) ::Array< ::String > buf7 = buf->b;
+HXDLIN( 246) buf7->push(::Std_obj::string(x5));
}
-HXDLIN( 246) prev = -1;
}
HXLINE( 248) if (::hx::IsNull( buf )) {
HXLINE( 249) return this->str.substr(start,((this->pos - start) - 1));
diff --git a/Sources/c_borogove/src/haxe/format/JsonPrinter.cpp b/Sources/c_borogove/src/haxe/format/JsonPrinter.cpp
new file mode 100644
index 0000000..8810a9d
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/format/JsonPrinter.cpp
@@ -0,0 +1,949 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_95f339a1d026d52c
+#define INCLUDED_95f339a1d026d52c
+#include "hxMath.h"
+#endif
+#ifndef INCLUDED_Date
+#include <Date.h>
+#endif
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_StringBuf
+#include <StringBuf.h>
+#endif
+#ifndef INCLUDED_StringTools
+#include <StringTools.h>
+#endif
+#ifndef INCLUDED_Type
+#include <Type.h>
+#endif
+#ifndef INCLUDED_ValueType
+#include <ValueType.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_format_JsonPrinter
+#include <haxe/format/JsonPrinter.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_9c6ac6b04494726e_56_new,"haxe.format.JsonPrinter","new",0xeb68de75,"haxe.format.JsonPrinter.new","/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",56,0xce74b8b8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9c6ac6b04494726e_81_write,"haxe.format.JsonPrinter","write",0x755dea34,"haxe.format.JsonPrinter.write","/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",81,0xce74b8b8)
+static const ::String _hx_array_data_f7b98003_4[] = {
+ HX_("null",87,9e,0e,49),
+};
+static const ::String _hx_array_data_f7b98003_5[] = {
+ HX_("\"<fun>\"",09,3c,cc,8b),
+};
+static const ::String _hx_array_data_f7b98003_6[] = {
+ HX_("\"???\"",45,2f,74,bd),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_9c6ac6b04494726e_158_classString,"haxe.format.JsonPrinter","classString",0x9219ba3e,"haxe.format.JsonPrinter.classString","/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",158,0xce74b8b8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9c6ac6b04494726e_165_fieldsString,"haxe.format.JsonPrinter","fieldsString",0x974bd375,"haxe.format.JsonPrinter.fieldsString","/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",165,0xce74b8b8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9c6ac6b04494726e_196_quote,"haxe.format.JsonPrinter","quote",0x02f6a091,"haxe.format.JsonPrinter.quote","/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",196,0xce74b8b8)
+static const ::String _hx_array_data_f7b98003_12[] = {
+ HX_("\\b",86,50,00,00),
+};
+static const ::String _hx_array_data_f7b98003_13[] = {
+ HX_("\\t",98,50,00,00),
+};
+static const ::String _hx_array_data_f7b98003_14[] = {
+ HX_("\\n",92,50,00,00),
+};
+static const ::String _hx_array_data_f7b98003_15[] = {
+ HX_("\\f",8a,50,00,00),
+};
+static const ::String _hx_array_data_f7b98003_16[] = {
+ HX_("\\r",96,50,00,00),
+};
+static const ::String _hx_array_data_f7b98003_17[] = {
+ HX_("\\\"",46,50,00,00),
+};
+static const ::String _hx_array_data_f7b98003_18[] = {
+ HX_("\\\\",80,50,00,00),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_9c6ac6b04494726e_44_print,"haxe.format.JsonPrinter","print",0x6d8fd582,"haxe.format.JsonPrinter.print","/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",44,0xce74b8b8)
+namespace haxe{
+namespace format{
+
+void JsonPrinter_obj::__construct( ::Dynamic replacer,::String space){
+ HX_GC_STACKFRAME(&_hx_pos_9c6ac6b04494726e_56_new)
+ HX_STACK_THIS(this)
+ HX_STACK_ARG(replacer,"replacer")
+ HX_STACK_ARG(space,"space")
+HXLINE( 56)
+HXLINE( 57) this->replacer = replacer/* CppVarLocal: ::Dynamic *//* CppSet:void */;
+HXLINE( 58) this->indent = space/* CppVarLocal:::String *//* CppSet:void */;
+HXLINE( 59) this->pretty = ::hx::IsNotNull( space/* CppVarLocal:::String */ )/* CppNullCompare:bool *//* CppSet:void */;
+HXLINE( 60) this->nind = 0/* CppInt:int *//* CppSet:void */;
+HXLINE( 67) this->buf = ::StringBuf_obj::__alloc( HX_CTX )/* CppCallNew: ::StringBuf *//* CppSet:void */;
+ }
+/* CppBlock:void */
+Dynamic JsonPrinter_obj::__CreateEmpty() { return new JsonPrinter_obj; }
+
+void *JsonPrinter_obj::_hx_vtable = 0;
+
+Dynamic JsonPrinter_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< JsonPrinter_obj > _hx_result = new JsonPrinter_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool JsonPrinter_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x385642d1;
+}
+
+void JsonPrinter_obj::write( ::Dynamic k, ::Dynamic v){
+ HX_STACKFRAME(&_hx_pos_9c6ac6b04494726e_81_write)
+ HX_STACK_THIS(this)
+ HX_STACK_ARG(k,"k")
+ HX_STACK_ARG(v,"v")
+HXLINE( 81)
+HXLINE( 82) if (::hx::IsNotNull( this->replacer/* CppVarThis: ::Dynamic */ )/* CppNullCompare:bool */) {
+HXLINE( 83) v = this->replacer/* CppVarThis: ::Dynamic */(k/* CppVarLocal: ::Dynamic */,v/* CppVarLocal: ::Dynamic */)/* CppCallExpression: ::Dynamic *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXLINE( 84) {
+HXLINE( 84) ::ValueType _g = ::Type_obj::_hx_typeof(v/* CppVarLocal: ::Dynamic */)/* CppCallStatic: ::ValueType *//* CppVarDecl:void */;
+HXDLIN( 84) switch((int)(_g/* CppVarLocal: ::ValueType */->_hx_getIndex()/* CppEnumIndex:int */)){
+ case (int)0: {
+HXLINE( 136) ::StringBuf _this = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 136) if (::hx::IsNotNull( _this/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 136) _this/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 136) if (::hx::IsNull( _this/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 136) _this/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_4,1)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 136) _this/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */->push(HX_("null",87,9e,0e,49)/* CppString:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)1: {
+HXLINE( 90) ::String v1 = ( (::String)(v/* CppVarLocal: ::Dynamic */) )/* CppCastScalar:::String *//* CppVarDecl:void */;
+HXDLIN( 90) {
+HXLINE( 90) ::StringBuf _this1 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 90) if (::hx::IsNotNull( _this1/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 90) _this1/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 90) if (::hx::IsNull( _this1/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 90) _this1/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v1/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 90) ::Array< ::String > _this2 = _this1/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > *//* CppVarDecl:void */;
+HXDLIN( 90) _this2/* CppVarLocal:::Array< ::String > */->push(::Std_obj::string(v1/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)2: {
+HXLINE( 92) ::String v2/* CppVarDecl:void */;
+HXDLIN( 92) if (::Math_obj::isFinite(( (Float)(v/* CppVarLocal: ::Dynamic */) )/* CppCastScalar:Float */)/* CppCallStatic:bool */) {
+HXLINE( 92) v2 = ::Std_obj::string(v/* CppVarLocal: ::Dynamic */)/* CppCallStatic:::String *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 92) v2 = HX_("null",87,9e,0e,49)/* CppString:::String *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 92) {
+HXLINE( 92) ::StringBuf _this3 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 92) if (::hx::IsNotNull( _this3/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 92) _this3/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 92) if (::hx::IsNull( _this3/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 92) _this3/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v2/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 92) ::Array< ::String > _this4 = _this3/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > *//* CppVarDecl:void */;
+HXDLIN( 92) _this4/* CppVarLocal:::Array< ::String > */->push(::Std_obj::string(v2/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)3: {
+HXLINE( 134) ::String v3 = ( (::String)(v/* CppVarLocal: ::Dynamic */) )/* CppCastScalar:::String *//* CppVarDecl:void */;
+HXDLIN( 134) {
+HXLINE( 134) ::StringBuf _this5 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 134) if (::hx::IsNotNull( _this5/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 134) _this5/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 134) if (::hx::IsNull( _this5/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 134) _this5/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v3/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 134) ::Array< ::String > _this6 = _this5/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > *//* CppVarDecl:void */;
+HXDLIN( 134) _this6/* CppVarLocal:::Array< ::String > */->push(::Std_obj::string(v3/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)4: {
+HXLINE( 88) this->fieldsString(v/* CppVarLocal: ::Dynamic */,::Reflect_obj::fields(v/* CppVarLocal: ::Dynamic */)/* CppCallStatic:::Array< ::String > */)/* CppCallThis:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)5: {
+HXLINE( 94) ::StringBuf _this7 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 94) if (::hx::IsNotNull( _this7/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 94) _this7/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 94) if (::hx::IsNull( _this7/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 94) _this7/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_5,1)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 94) _this7/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */->push(HX_("\"<fun>\"",09,3c,cc,8b)/* CppString:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)6: {
+HXLINE( 95) ::hx::Class _g1 = _g/* CppVarLocal: ::ValueType */->_hx_getObject(0).StaticCast< ::hx::Class >()/* CppEnumParameter:::hx::Class *//* CppVarDecl:void */;
+HXLINE( 96) if (::hx::IsPointerEq( _g1/* CppVarLocal:::hx::Class */,::hx::ClassOf< ::String >()/* CppClassOf:::hx::Class */ )/* CppCompare:bool */) {
+HXLINE( 97) this->quote(( (::String)(v/* CppVarLocal: ::Dynamic */) )/* CppCastScalar:::String */)/* CppCallThis:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 98) if (::hx::IsPointerEq( _g1/* CppVarLocal:::hx::Class */,::hx::ArrayBase::__mClass/* CppClassOf:::hx::Class */ )/* CppCompare:bool */) {
+HXLINE( 99) HX_VARI_NAME( ::cpp::VirtualArray,v4,"v") = ( (::cpp::VirtualArray)(v/* CppVarLocal: ::Dynamic */) )/* CppCast:::cpp::VirtualArray *//* CppVarDecl:void */;
+HXLINE( 100) {
+HXLINE( 100) ::StringBuf _this8 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 100) {
+HXLINE( 100) if (::hx::IsNull( _this8/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 100) _this8/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 100) _this8/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(91/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */;
+HXLINE( 102) HX_VARI( int,len) = v4/* CppVarLocal:::cpp::VirtualArray */->get_length()/* CppCallInternal:int *//* CppVarDecl:void */;
+HXLINE( 103) HX_VARI( int,last) = (len/* CppVarLocal:int */ - 1/* CppInt:int */)/* CppBinop:int *//* CppVarDecl:void */;
+HXLINE( 104) {
+HXLINE( 104) int _g2 = 0/* CppInt:int *//* CppVarDecl:void */;
+HXDLIN( 104) while((_g2/* CppVarLocal:int */ < len/* CppVarLocal:int */)/* CppBinop:bool */){
+HXLINE( 104) _g2 = (_g2/* CppVarLocal:int */ + 1/* CppInt:int */)/* CppBinop:int *//* CppSet:void */;
+HXDLIN( 104) HX_VARI( int,i) = (_g2/* CppVarLocal:int */ - 1/* CppInt:int */)/* CppBinop:int *//* CppVarDecl:void */;
+HXLINE( 105) if ((i/* CppVarLocal:int */ > 0/* CppInt:int */)/* CppBinop:bool */) {
+HXLINE( 106) ::StringBuf _this9 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 106) {
+HXLINE( 106) if (::hx::IsNull( _this9/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 106) _this9/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 106) _this9/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(44/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 108) this->nind++/* CppCrement:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXLINE( 109) if (this->pretty/* CppVarThis:bool */) {
+HXLINE( 109) ::StringBuf _this10 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 109) {
+HXLINE( 109) if (::hx::IsNull( _this10/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 109) _this10/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 109) _this10/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(10/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXLINE( 110) if (this->pretty/* CppVarThis:bool */) {
+HXLINE( 110) ::String v5 = ::StringTools_obj::lpad(HX_("",00,00,00,00)/* CppString:::String */,this->indent/* CppVarThis:::String */,(this->nind/* CppVarThis:int */ * this->indent/* CppVarThis:::String */.length/* CppVarInstance(::String::.length):int */)/* CppBinop:int */)/* CppCallStatic:::String *//* CppVarDecl:void */;
+HXDLIN( 110) {
+HXLINE( 110) ::StringBuf _this11 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 110) if (::hx::IsNotNull( _this11/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 110) _this11/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 110) if (::hx::IsNull( _this11/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 110) _this11/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v5/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 110) ::Array< ::String > _this12 = _this11/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > *//* CppVarDecl:void */;
+HXDLIN( 110) _this12/* CppVarLocal:::Array< ::String > */->push(::Std_obj::string(v5/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXLINE( 111) this->write(i/* CppVarLocal:int */,v4/* CppVarLocal:::cpp::VirtualArray */->__get(i/* CppVarLocal:int */)/* CppArray: ::Dynamic */)/* CppCallThis:void */;
+HXLINE( 112) if ((i/* CppVarLocal:int */ == last/* CppVarLocal:int */)/* CppBinop:bool */) {
+HXLINE( 113) this->nind--/* CppCrement:void */;
+HXLINE( 114) if (this->pretty/* CppVarThis:bool */) {
+HXLINE( 114) ::StringBuf _this13 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 114) {
+HXLINE( 114) if (::hx::IsNull( _this13/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 114) _this13/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 114) _this13/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(10/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXLINE( 115) if (this->pretty/* CppVarThis:bool */) {
+HXLINE( 115) ::String v6 = ::StringTools_obj::lpad(HX_("",00,00,00,00)/* CppString:::String */,this->indent/* CppVarThis:::String */,(this->nind/* CppVarThis:int */ * this->indent/* CppVarThis:::String */.length/* CppVarInstance(::String::.length):int */)/* CppBinop:int */)/* CppCallStatic:::String *//* CppVarDecl:void */;
+HXDLIN( 115) {
+HXLINE( 115) ::StringBuf _this14 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 115) if (::hx::IsNotNull( _this14/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 115) _this14/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 115) if (::hx::IsNull( _this14/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 115) _this14/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v6/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 115) ::Array< ::String > _this15 = _this14/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > *//* CppVarDecl:void */;
+HXDLIN( 115) _this15/* CppVarLocal:::Array< ::String > */->push(::Std_obj::string(v6/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void *//* CppWhile:void */;
+ }
+/* CppBlock:void */;
+HXLINE( 118) {
+HXLINE( 118) ::StringBuf _this16 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 118) {
+HXLINE( 118) if (::hx::IsNull( _this16/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 118) _this16/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 118) _this16/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(93/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 119) if (::hx::IsPointerEq( _g1/* CppVarLocal:::hx::Class */,::hx::ClassOf< ::haxe::ds::StringMap >()/* CppClassOf:::hx::Class */ )/* CppCompare:bool */) {
+HXLINE( 120) HX_VARI_NAME( ::haxe::ds::StringMap,v7,"v") = ( ( ::haxe::ds::StringMap)(v/* CppVarLocal: ::Dynamic */) )/* CppCast: ::haxe::ds::StringMap *//* CppVarDecl:void */;
+HXLINE( 121) HX_VARI( ::Dynamic,o) = ::Dynamic(::hx::Anon_obj::Create(0))/* CppObjectDecl: ::Dynamic *//* CppVarDecl:void */;
+HXLINE( 122) {
+HXLINE( 122) HX_VARI_NAME( ::Dynamic,k1,"k") = v7/* CppVarLocal: ::haxe::ds::StringMap */->keys()/* CppCallInstance( ::haxe::ds::StringMap,keys): ::Dynamic *//* CppVarDecl:void */;
+HXDLIN( 122) while(( (bool)(k1/* CppVarLocal: ::Dynamic */->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)/* CppDynamicField:::cpp::Variant */()/* CppCallExpression: ::Dynamic */) )/* CppCastScalar:bool */){
+HXLINE( 122) HX_VARI_NAME( ::String,k2,"k") = ( (::String)(k1/* CppVarLocal: ::Dynamic */->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)/* CppDynamicField:::cpp::Variant */()/* CppCallExpression: ::Dynamic */) )/* CppCastScalar:::String *//* CppVarDecl:void */;
+HXLINE( 123) ::Reflect_obj::setField(o/* CppVarLocal: ::Dynamic */,k2/* CppVarLocal:::String */,v7/* CppVarLocal: ::haxe::ds::StringMap */->get(k2/* CppVarLocal:::String */)/* CppCallInstance( ::haxe::ds::StringMap,get): ::Dynamic */)/* CppCallStatic:void */;
+ }
+/* CppBlock:void *//* CppWhile:void */;
+ }
+/* CppBlock:void */;
+HXLINE( 124) {
+HXLINE( 124) ::Dynamic v8 = o/* CppVarLocal: ::Dynamic *//* CppVarDecl:void */;
+HXDLIN( 124) this->fieldsString(v8/* CppVarLocal: ::Dynamic */,::Reflect_obj::fields(v8/* CppVarLocal: ::Dynamic */)/* CppCallStatic:::Array< ::String > */)/* CppCallThis:void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 125) if (::hx::IsPointerEq( _g1/* CppVarLocal:::hx::Class */,::hx::ClassOf< ::Date >()/* CppClassOf:::hx::Class */ )/* CppCompare:bool */) {
+HXLINE( 127) this->quote(( ( ::Date)(v/* CppVarLocal: ::Dynamic */) )/* CppCast: ::Date */->toString()/* CppCallInstance( ::Date,toString):::String */)/* CppCallThis:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 129) this->classString(v/* CppVarLocal: ::Dynamic */)/* CppCallThis:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)7: {
+HXLINE( 132) ::String v9 = ::Std_obj::string(_hx_getEnumValueIndex(v/* CppVarLocal: ::Dynamic */)/* CppCallStatic:int */)/* CppCallStatic:::String *//* CppVarDecl:void */;
+HXDLIN( 132) {
+HXLINE( 132) ::StringBuf _this17 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 132) if (::hx::IsNotNull( _this17/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 132) _this17/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 132) if (::hx::IsNull( _this17/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 132) _this17/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v9/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 132) ::Array< ::String > _this18 = _this17/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > *//* CppVarDecl:void */;
+HXDLIN( 132) _this18/* CppVarLocal:::Array< ::String > */->push(::Std_obj::string(v9/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)8: {
+HXLINE( 86) ::StringBuf _this19 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 86) if (::hx::IsNotNull( _this19/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 86) _this19/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 86) if (::hx::IsNull( _this19/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 86) _this19/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_6,1)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 86) _this19/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */->push(HX_("\"???\"",45,2f,74,bd)/* CppString:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */ break;
+ }
+/* CppIntSwitch:void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */
+
+HX_DEFINE_DYNAMIC_FUNC2(JsonPrinter_obj,write,(void))
+
+void JsonPrinter_obj::classString( ::Dynamic v){
+ HX_STACKFRAME(&_hx_pos_9c6ac6b04494726e_158_classString)
+ HX_STACK_THIS(this)
+ HX_STACK_ARG(v,"v")
+HXLINE( 158)
+HXDLIN( 158) this->fieldsString(v/* CppVarLocal: ::Dynamic */,::Type_obj::getInstanceFields(::Type_obj::getClass(v/* CppVarLocal: ::Dynamic */)/* CppCallStatic:::hx::Class */)/* CppCallStatic:::Array< ::String > */)/* CppCallThis:void */;
+ }
+/* CppBlock:void */
+
+HX_DEFINE_DYNAMIC_FUNC1(JsonPrinter_obj,classString,(void))
+
+void JsonPrinter_obj::fieldsString( ::Dynamic v,::Array< ::String > fields){
+ HX_STACKFRAME(&_hx_pos_9c6ac6b04494726e_165_fieldsString)
+ HX_STACK_THIS(this)
+ HX_STACK_ARG(v,"v")
+ HX_STACK_ARG(fields,"fields")
+HXLINE( 165)
+HXLINE( 166) {
+HXLINE( 166) ::StringBuf _this = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 166) {
+HXLINE( 166) if (::hx::IsNull( _this/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 166) _this/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 166) _this/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(123/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */;
+HXLINE( 167) HX_VARI( int,len) = fields/* CppVarLocal:::Array< ::String > */->length/* CppVarInstance(::Array< ::String >::->length):int *//* CppVarDecl:void */;
+HXLINE( 168) HX_VARI( int,last) = (len/* CppVarLocal:int */ - 1/* CppInt:int */)/* CppBinop:int *//* CppVarDecl:void */;
+HXLINE( 169) HX_VARI( bool,first) = true/* CppBool:bool *//* CppVarDecl:void */;
+HXLINE( 170) {
+HXLINE( 170) int _g = 0/* CppInt:int *//* CppVarDecl:void */;
+HXDLIN( 170) while((_g/* CppVarLocal:int */ < len/* CppVarLocal:int */)/* CppBinop:bool */){
+HXLINE( 170) _g = (_g/* CppVarLocal:int */ + 1/* CppInt:int */)/* CppBinop:int *//* CppSet:void */;
+HXDLIN( 170) HX_VARI( int,i) = (_g/* CppVarLocal:int */ - 1/* CppInt:int */)/* CppBinop:int *//* CppVarDecl:void */;
+HXLINE( 171) HX_VARI( ::String,f) = fields/* CppVarLocal:::Array< ::String > */->__get(i/* CppVarLocal:int */)/* CppArray:::String *//* CppVarDecl:void */;
+HXLINE( 172) HX_VARI( ::Dynamic,value) = ::Reflect_obj::field(v/* CppVarLocal: ::Dynamic */,f/* CppVarLocal:::String */)/* CppCallStatic: ::Dynamic *//* CppVarDecl:void */;
+HXLINE( 173) if (::Reflect_obj::isFunction(value/* CppVarLocal: ::Dynamic */)/* CppCallStatic:bool */) {
+HXLINE( 174) continue/* CppContinue:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXLINE( 175) if (first/* CppVarLocal:bool */) {
+HXLINE( 176) this->nind++/* CppCrement:void */;
+HXLINE( 177) first = false/* CppBool:bool *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 179) ::StringBuf _this1 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 179) {
+HXLINE( 179) if (::hx::IsNull( _this1/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 179) _this1/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 179) _this1/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(44/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXLINE( 180) if (this->pretty/* CppVarThis:bool */) {
+HXLINE( 180) ::StringBuf _this2 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 180) {
+HXLINE( 180) if (::hx::IsNull( _this2/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 180) _this2/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 180) _this2/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(10/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXLINE( 181) if (this->pretty/* CppVarThis:bool */) {
+HXLINE( 181) ::String v1 = ::StringTools_obj::lpad(HX_("",00,00,00,00)/* CppString:::String */,this->indent/* CppVarThis:::String */,(this->nind/* CppVarThis:int */ * this->indent/* CppVarThis:::String */.length/* CppVarInstance(::String::.length):int */)/* CppBinop:int */)/* CppCallStatic:::String *//* CppVarDecl:void */;
+HXDLIN( 181) {
+HXLINE( 181) ::StringBuf _this3 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 181) if (::hx::IsNotNull( _this3/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 181) _this3/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 181) if (::hx::IsNull( _this3/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 181) _this3/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v1/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 181) ::Array< ::String > _this4 = _this3/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > *//* CppVarDecl:void */;
+HXDLIN( 181) _this4/* CppVarLocal:::Array< ::String > */->push(::Std_obj::string(v1/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXLINE( 182) this->quote(f/* CppVarLocal:::String */)/* CppCallThis:void */;
+HXLINE( 183) {
+HXLINE( 183) ::StringBuf _this5 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 183) {
+HXLINE( 183) if (::hx::IsNull( _this5/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 183) _this5/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 183) _this5/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(58/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */;
+HXLINE( 184) if (this->pretty/* CppVarThis:bool */) {
+HXLINE( 185) ::StringBuf _this6 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 185) {
+HXLINE( 185) if (::hx::IsNull( _this6/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 185) _this6/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 185) _this6/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(32/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXLINE( 186) this->write(f/* CppVarLocal:::String */,value/* CppVarLocal: ::Dynamic */)/* CppCallThis:void */;
+HXLINE( 187) if ((i/* CppVarLocal:int */ == last/* CppVarLocal:int */)/* CppBinop:bool */) {
+HXLINE( 188) this->nind--/* CppCrement:void */;
+HXLINE( 189) if (this->pretty/* CppVarThis:bool */) {
+HXLINE( 189) ::StringBuf _this7 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 189) {
+HXLINE( 189) if (::hx::IsNull( _this7/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 189) _this7/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 189) _this7/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(10/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXLINE( 190) if (this->pretty/* CppVarThis:bool */) {
+HXLINE( 190) ::String v2 = ::StringTools_obj::lpad(HX_("",00,00,00,00)/* CppString:::String */,this->indent/* CppVarThis:::String */,(this->nind/* CppVarThis:int */ * this->indent/* CppVarThis:::String */.length/* CppVarInstance(::String::.length):int */)/* CppBinop:int */)/* CppCallStatic:::String *//* CppVarDecl:void */;
+HXDLIN( 190) {
+HXLINE( 190) ::StringBuf _this8 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 190) if (::hx::IsNotNull( _this8/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 190) _this8/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 190) if (::hx::IsNull( _this8/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 190) _this8/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v2/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 190) ::Array< ::String > _this9 = _this8/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > *//* CppVarDecl:void */;
+HXDLIN( 190) _this9/* CppVarLocal:::Array< ::String > */->push(::Std_obj::string(v2/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void *//* CppWhile:void */;
+ }
+/* CppBlock:void */;
+HXLINE( 193) {
+HXLINE( 193) ::StringBuf _this10 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 193) {
+HXLINE( 193) if (::hx::IsNull( _this10/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 193) _this10/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 193) _this10/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(125/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */
+
+HX_DEFINE_DYNAMIC_FUNC2(JsonPrinter_obj,fieldsString,(void))
+
+void JsonPrinter_obj::quote(::String s){
+ HX_STACKFRAME(&_hx_pos_9c6ac6b04494726e_196_quote)
+ HX_STACK_THIS(this)
+ HX_STACK_ARG(s,"s")
+HXLINE( 196)
+HXLINE( 203) {
+HXLINE( 203) ::StringBuf _this = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 203) {
+HXLINE( 203) if (::hx::IsNull( _this/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 203) _this/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 203) _this/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(34/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */;
+HXLINE( 204) HX_VARI( int,i) = 0/* CppInt:int *//* CppVarDecl:void */;
+HXLINE( 205) HX_VARI( int,length) = s/* CppVarLocal:::String */.length/* CppVarInstance(::String::.length):int *//* CppVarDecl:void */;
+HXLINE( 209) while((i/* CppVarLocal:int */ < length/* CppVarLocal:int */)/* CppBinop:bool */){
+HXLINE( 210) i = (i/* CppVarLocal:int */ + 1/* CppInt:int */)/* CppBinop:int *//* CppSet:void */;
+HXDLIN( 210) HX_VARI( int,c) = s/* CppVarLocal:::String */.cca((i/* CppVarLocal:int */ - 1/* CppInt:int */)/* CppBinop:int */)/* CppCallInternal:int *//* CppVarDecl:void */;
+HXLINE( 211) switch((int)(c/* CppVarLocal:int */)){
+ case (int)8: {
+HXLINE( 223) ::StringBuf _this1 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 223) if (::hx::IsNotNull( _this1/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 223) _this1/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 223) if (::hx::IsNull( _this1/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 223) _this1/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_12,1)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 223) _this1/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */->push(HX_("\\b",86,50,00,00)/* CppString:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)9: {
+HXLINE( 221) ::StringBuf _this2 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 221) if (::hx::IsNotNull( _this2/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 221) _this2/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 221) if (::hx::IsNull( _this2/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 221) _this2/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_13,1)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 221) _this2/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */->push(HX_("\\t",98,50,00,00)/* CppString:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)10: {
+HXLINE( 217) ::StringBuf _this3 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 217) if (::hx::IsNotNull( _this3/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 217) _this3/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 217) if (::hx::IsNull( _this3/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 217) _this3/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_14,1)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 217) _this3/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */->push(HX_("\\n",92,50,00,00)/* CppString:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)12: {
+HXLINE( 225) ::StringBuf _this4 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 225) if (::hx::IsNotNull( _this4/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 225) _this4/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 225) if (::hx::IsNull( _this4/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 225) _this4/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_15,1)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 225) _this4/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */->push(HX_("\\f",8a,50,00,00)/* CppString:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)13: {
+HXLINE( 219) ::StringBuf _this5 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 219) if (::hx::IsNotNull( _this5/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 219) _this5/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 219) if (::hx::IsNull( _this5/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 219) _this5/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_16,1)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 219) _this5/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */->push(HX_("\\r",96,50,00,00)/* CppString:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)34: {
+HXLINE( 213) ::StringBuf _this6 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 213) if (::hx::IsNotNull( _this6/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 213) _this6/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 213) if (::hx::IsNull( _this6/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 213) _this6/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_17,1)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 213) _this6/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */->push(HX_("\\\"",46,50,00,00)/* CppString:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */ break;
+ case (int)92: {
+HXLINE( 215) ::StringBuf _this7 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 215) if (::hx::IsNotNull( _this7/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 215) _this7/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 215) if (::hx::IsNull( _this7/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 215) _this7/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_18,1)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 215) _this7/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */->push(HX_("\\\\",80,50,00,00)/* CppString:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */ break;
+ default:{
+HXLINE( 248) ::StringBuf _this8 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 248) if ((c/* CppVarLocal:int */ >= 127/* CppInt:int */)/* CppBinop:bool */) {
+HXLINE( 248) ::String x = ::String::fromCharCode(c/* CppVarLocal:int */)/* CppCallStatic:::String *//* CppVarDecl:void */;
+HXDLIN( 248) if (::hx::IsNotNull( _this8/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 248) _this8/* CppVarLocal: ::StringBuf */->flush()/* CppCallInstance( ::StringBuf,flush):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 248) if (::hx::IsNull( _this8/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > */ )/* CppNullCompare:bool */) {
+HXLINE( 248) _this8/* CppVarLocal: ::StringBuf */->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppArrayDecl:::Array< ::String > *//* CppSet:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 248) ::Array< ::String > _this9 = _this8/* CppVarLocal: ::StringBuf */->b/* CppVarInstance( ::StringBuf::->b):::Array< ::String > *//* CppVarDecl:void */;
+HXDLIN( 248) _this9/* CppVarLocal:::Array< ::String > */->push(::Std_obj::string(x/* CppVarLocal:::String */)/* CppCallStatic:::String */)/* CppCallInstance(::Array< ::String >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */ else {
+HXLINE( 248) if (::hx::IsNull( _this8/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 248) _this8/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 248) _this8/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(c/* CppVarLocal:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+ }
+/* CppBlock:void */ }
+/* CppIntSwitch:void */;
+ }
+/* CppBlock:void *//* CppWhile:void */;
+HXLINE( 256) {
+HXLINE( 256) ::StringBuf _this10 = this->buf/* CppVarThis: ::StringBuf *//* CppVarDecl:void */;
+HXDLIN( 256) {
+HXLINE( 256) if (::hx::IsNull( _this10/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */ )/* CppNullCompare:bool */) {
+HXLINE( 256) _this10/* CppVarLocal: ::StringBuf */->charBuf = ::Array_obj< char >::__new()/* CppCallNew:::Array< char > *//* CppSet:void */;
+ }
+/* CppBlock:void *//* CppIf:void */;
+HXDLIN( 256) _this10/* CppVarLocal: ::StringBuf */->charBuf/* CppVarInstance( ::StringBuf::->charBuf):::Array< char > */->push(34/* CppInt:int */)/* CppCallInstance(::Array< char >,push):void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */;
+ }
+/* CppBlock:void */
+
+HX_DEFINE_DYNAMIC_FUNC1(JsonPrinter_obj,quote,(void))
+
+::String JsonPrinter_obj::print( ::Dynamic o, ::Dynamic replacer,::String space){
+ HX_GC_STACKFRAME(&_hx_pos_9c6ac6b04494726e_44_print)
+ HX_STACK_ARG(o,"o")
+ HX_STACK_ARG(replacer,"replacer")
+ HX_STACK_ARG(space,"space")
+HXLINE( 44)
+HXLINE( 45) HX_VARI( ::haxe::format::JsonPrinter,printer) = ::haxe::format::JsonPrinter_obj::__alloc( HX_CTX ,replacer/* CppVarLocal: ::Dynamic */,space/* CppVarLocal:::String */)/* CppCallNew: ::haxe::format::JsonPrinter *//* CppVarDecl:void */;
+HXLINE( 46) printer/* CppVarLocal: ::haxe::format::JsonPrinter */->write(HX_("",00,00,00,00)/* CppString:::String */,o/* CppVarLocal: ::Dynamic */)/* CppCallInstance( ::haxe::format::JsonPrinter,write):void */;
+HXLINE( 47) return printer/* CppVarLocal: ::haxe::format::JsonPrinter */->buf/* CppVarInstance( ::haxe::format::JsonPrinter::->buf): ::StringBuf */->toString()/* CppCallInstance( ::StringBuf,toString):::String *//* CppReturn:void */;
+ }
+/* CppBlock:void */
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC3(JsonPrinter_obj,print,return )
+
+
+::hx::ObjectPtr< JsonPrinter_obj > JsonPrinter_obj::__new( ::Dynamic replacer,::String space) {
+ ::hx::ObjectPtr< JsonPrinter_obj > __this = new JsonPrinter_obj();
+ __this->__construct(replacer,space);
+ return __this;
+}
+
+::hx::ObjectPtr< JsonPrinter_obj > JsonPrinter_obj::__alloc(::hx::Ctx *_hx_ctx, ::Dynamic replacer,::String space) {
+ JsonPrinter_obj *__this = (JsonPrinter_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(JsonPrinter_obj), true, "haxe.format.JsonPrinter"));
+ *(void **)__this = JsonPrinter_obj::_hx_vtable;
+ __this->__construct(replacer,space);
+ return __this;
+}
+
+JsonPrinter_obj::JsonPrinter_obj()
+{
+}
+
+void JsonPrinter_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(JsonPrinter);
+ HX_MARK_MEMBER_NAME(buf,"buf");
+ HX_MARK_MEMBER_NAME(replacer,"replacer");
+ HX_MARK_MEMBER_NAME(indent,"indent");
+ HX_MARK_MEMBER_NAME(pretty,"pretty");
+ HX_MARK_MEMBER_NAME(nind,"nind");
+ HX_MARK_END_CLASS();
+}
+
+void JsonPrinter_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(buf,"buf");
+ HX_VISIT_MEMBER_NAME(replacer,"replacer");
+ HX_VISIT_MEMBER_NAME(indent,"indent");
+ HX_VISIT_MEMBER_NAME(pretty,"pretty");
+ HX_VISIT_MEMBER_NAME(nind,"nind");
+}
+
+::hx::Val JsonPrinter_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"buf") ) { return ::hx::Val( buf ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"nind") ) { return ::hx::Val( nind ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"write") ) { return ::hx::Val( write_dyn() ); }
+ if (HX_FIELD_EQ(inName,"quote") ) { return ::hx::Val( quote_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"indent") ) { return ::hx::Val( indent ); }
+ if (HX_FIELD_EQ(inName,"pretty") ) { return ::hx::Val( pretty ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"replacer") ) { return ::hx::Val( replacer ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"classString") ) { return ::hx::Val( classString_dyn() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"fieldsString") ) { return ::hx::Val( fieldsString_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool JsonPrinter_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"print") ) { outValue = print_dyn(); return true; }
+ }
+ return false;
+}
+
+::hx::Val JsonPrinter_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"buf") ) { buf=inValue.Cast< ::StringBuf >(); return inValue; }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"nind") ) { nind=inValue.Cast< int >(); return inValue; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"indent") ) { indent=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"pretty") ) { pretty=inValue.Cast< bool >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"replacer") ) { replacer=inValue.Cast< ::Dynamic >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void JsonPrinter_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("buf",33,c3,4a,00));
+ outFields->push(HX_("indent",6c,0c,f3,93));
+ outFields->push(HX_("pretty",b6,82,c1,ae));
+ outFields->push(HX_("nind",31,85,05,49));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo JsonPrinter_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::StringBuf */ ,(int)offsetof(JsonPrinter_obj,buf),HX_("buf",33,c3,4a,00)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(JsonPrinter_obj,replacer),HX_("replacer",be,e5,16,18)},
+ {::hx::fsString,(int)offsetof(JsonPrinter_obj,indent),HX_("indent",6c,0c,f3,93)},
+ {::hx::fsBool,(int)offsetof(JsonPrinter_obj,pretty),HX_("pretty",b6,82,c1,ae)},
+ {::hx::fsInt,(int)offsetof(JsonPrinter_obj,nind),HX_("nind",31,85,05,49)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *JsonPrinter_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String JsonPrinter_obj_sMemberFields[] = {
+ HX_("buf",33,c3,4a,00),
+ HX_("replacer",be,e5,16,18),
+ HX_("indent",6c,0c,f3,93),
+ HX_("pretty",b6,82,c1,ae),
+ HX_("nind",31,85,05,49),
+ HX_("write",df,6c,59,d0),
+ HX_("classString",29,0f,79,88),
+ HX_("fieldsString",2a,cc,56,34),
+ HX_("quote",3c,23,f2,5d),
+ ::String(null()) };
+
+::hx::Class JsonPrinter_obj::__mClass;
+
+static ::String JsonPrinter_obj_sStaticFields[] = {
+ HX_("print",2d,58,8b,c8),
+ ::String(null())
+};
+
+void JsonPrinter_obj::__register()
+{
+ JsonPrinter_obj _hx_dummy;
+ JsonPrinter_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.format.JsonPrinter",03,80,b9,f7);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &JsonPrinter_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(JsonPrinter_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(JsonPrinter_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< JsonPrinter_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = JsonPrinter_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = JsonPrinter_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace format
diff --git a/Sources/c_snikket/src/haxe/http/HttpBase.cpp b/Sources/c_borogove/src/haxe/http/HttpBase.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/http/HttpBase.cpp
rename to Sources/c_borogove/src/haxe/http/HttpBase.cpp
diff --git a/Sources/c_snikket/src/haxe/io/Bytes.cpp b/Sources/c_borogove/src/haxe/io/Bytes.cpp
similarity index 98%
rename from Sources/c_snikket/src/haxe/io/Bytes.cpp
rename to Sources/c_borogove/src/haxe/io/Bytes.cpp
index 0e6e4aa..d0c6616 100644
--- a/Sources/c_snikket/src/haxe/io/Bytes.cpp
+++ b/Sources/c_borogove/src/haxe/io/Bytes.cpp
@@ -164,14 +164,12 @@ HX_DEFINE_DYNAMIC_FUNC0(Bytes_obj,toString,return )
HX_GC_STACKFRAME(&_hx_pos_dd4549ff8fa56c0b_524_toHex)
HXLINE( 525) ::StringBuf s = ::StringBuf_obj::__alloc( HX_CTX );
HXLINE( 526) ::Array< ::Dynamic> chars = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 527) ::String str = HX_("0123456789abcdef",68,7e,d5,ef);
HXLINE( 528) {
HXLINE( 528) int _g = 0;
-HXDLIN( 528) int _g1 = str.length;
+HXDLIN( 528) int _g1 = HX_("0123456789abcdef",68,7e,d5,ef).length;
HXDLIN( 528) while((_g < _g1)){
HXLINE( 528) _g = (_g + 1);
-HXDLIN( 528) int i = (_g - 1);
-HXLINE( 529) chars->push(str.charCodeAt(i));
+HXLINE( 529) chars->push(HX_("0123456789abcdef",68,7e,d5,ef).charCodeAt((_g - 1)));
}
}
HXLINE( 530) {
@@ -179,8 +177,7 @@ HXLINE( 530) int _g2 = 0;
HXDLIN( 530) int _g3 = this->length;
HXDLIN( 530) while((_g2 < _g3)){
HXLINE( 530) _g2 = (_g2 + 1);
-HXDLIN( 530) int i1 = (_g2 - 1);
-HXLINE( 531) int c = ( (int)(this->b->__get(i1)) );
+HXLINE( 531) int c = ( (int)(this->b->__get((_g2 - 1))) );
HXLINE( 532) {
HXLINE( 532) int c1 = ( (int)(chars->__get((c >> 4))) );
HXDLIN( 532) if ((c1 >= 127)) {
diff --git a/Sources/c_snikket/src/haxe/io/BytesBuffer.cpp b/Sources/c_borogove/src/haxe/io/BytesBuffer.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/io/BytesBuffer.cpp
rename to Sources/c_borogove/src/haxe/io/BytesBuffer.cpp
diff --git a/Sources/c_snikket/src/haxe/io/BytesInput.cpp b/Sources/c_borogove/src/haxe/io/BytesInput.cpp
similarity index 97%
rename from Sources/c_snikket/src/haxe/io/BytesInput.cpp
rename to Sources/c_borogove/src/haxe/io/BytesInput.cpp
index 629c960..adb948b 100644
--- a/Sources/c_snikket/src/haxe/io/BytesInput.cpp
+++ b/Sources/c_borogove/src/haxe/io/BytesInput.cpp
@@ -126,10 +126,8 @@ HXDLIN( 165) int i = (_g - 1);
HXLINE( 166) b2[(pos + i)] = b1->__get((this->pos + i));
}
}
-HXLINE( 168) ::haxe::io::BytesInput _hx_tmp3 = ::hx::ObjectPtr<OBJ_>(this);
-HXDLIN( 168) _hx_tmp3->pos = (_hx_tmp3->pos + len);
-HXLINE( 169) ::haxe::io::BytesInput _hx_tmp4 = ::hx::ObjectPtr<OBJ_>(this);
-HXDLIN( 169) _hx_tmp4->len = (_hx_tmp4->len - len);
+HXLINE( 168) this->pos = (this->pos + len);
+HXLINE( 169) this->len = (this->len - len);
HXLINE( 171) return len;
}
diff --git a/Sources/c_snikket/src/haxe/io/BytesOutput.cpp b/Sources/c_borogove/src/haxe/io/BytesOutput.cpp
similarity index 97%
rename from Sources/c_snikket/src/haxe/io/BytesOutput.cpp
rename to Sources/c_borogove/src/haxe/io/BytesOutput.cpp
index c48d74b..26504c9 100644
--- a/Sources/c_snikket/src/haxe/io/BytesOutput.cpp
+++ b/Sources/c_borogove/src/haxe/io/BytesOutput.cpp
@@ -75,15 +75,13 @@ HXLINE( 65) _hx_tmp = true;
HXDLIN( 65) if (_hx_tmp) {
HXLINE( 65) HX_STACK_DO_THROW(::haxe::io::Error_obj::OutsideBounds_dyn());
}
-HXDLIN( 65) ::Array< unsigned char > b1 = _this->b;
HXDLIN( 65) ::Array< unsigned char > b2 = buf->b;
HXDLIN( 65) {
HXLINE( 65) int _g = pos;
HXDLIN( 65) int _g1 = (pos + len);
HXDLIN( 65) while((_g < _g1)){
HXLINE( 65) _g = (_g + 1);
-HXDLIN( 65) int i = (_g - 1);
-HXDLIN( 65) _this->b->push(b2->__get(i));
+HXDLIN( 65) _this->b->push(b2->__get((_g - 1)));
}
}
}
diff --git a/Sources/c_snikket/src/haxe/io/Encoding.cpp b/Sources/c_borogove/src/haxe/io/Encoding.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/io/Encoding.cpp
rename to Sources/c_borogove/src/haxe/io/Encoding.cpp
diff --git a/Sources/c_snikket/src/haxe/io/Eof.cpp b/Sources/c_borogove/src/haxe/io/Eof.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/io/Eof.cpp
rename to Sources/c_borogove/src/haxe/io/Eof.cpp
diff --git a/Sources/c_snikket/src/haxe/io/Error.cpp b/Sources/c_borogove/src/haxe/io/Error.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/io/Error.cpp
rename to Sources/c_borogove/src/haxe/io/Error.cpp
diff --git a/Sources/c_snikket/src/haxe/io/Input.cpp b/Sources/c_borogove/src/haxe/io/Input.cpp
similarity index 96%
rename from Sources/c_snikket/src/haxe/io/Input.cpp
rename to Sources/c_borogove/src/haxe/io/Input.cpp
index ad91507..caa26dc 100644
--- a/Sources/c_snikket/src/haxe/io/Input.cpp
+++ b/Sources/c_borogove/src/haxe/io/Input.cpp
@@ -163,15 +163,12 @@ HXLINE( 121) _hx_tmp = true;
HXDLIN( 121) if (_hx_tmp) {
HXLINE( 121) HX_STACK_DO_THROW(::haxe::io::Error_obj::OutsideBounds_dyn());
}
-HXDLIN( 121) ::Array< unsigned char > b1 = total->b;
HXDLIN( 121) ::Array< unsigned char > b2 = buf->b;
HXDLIN( 121) {
HXLINE( 121) int _g = 0;
-HXDLIN( 121) int _g1 = len;
-HXDLIN( 121) while((_g < _g1)){
+HXDLIN( 121) while((_g < len)){
HXLINE( 121) _g = (_g + 1);
-HXDLIN( 121) int i = (_g - 1);
-HXDLIN( 121) total->b->push(b2->__get(i));
+HXDLIN( 121) total->b->push(b2->__get((_g - 1)));
}
}
}
@@ -183,12 +180,12 @@ HXDLIN( 121) total->b->push(b2->__get(i));
}
else if (_hx_e.IsClass< ::haxe::ValueException >() ){
HX_STACK_BEGIN_CATCH
- ::haxe::ValueException _g2 = _hx_e;
+ ::haxe::ValueException _g1 = _hx_e;
HXLINE( 123) {
HXLINE( 123) null();
}
-HXLINE( 116) if (!(::Std_obj::isOfType(_g2->value,::hx::ClassOf< ::haxe::io::Eof >()))) {
-HXLINE( 116) HX_STACK_DO_THROW(_g2);
+HXLINE( 116) if (!(::Std_obj::isOfType(_g1->value,::hx::ClassOf< ::haxe::io::Eof >()))) {
+HXLINE( 116) HX_STACK_DO_THROW(_g1);
}
}
else {
diff --git a/Sources/c_snikket/src/haxe/io/Output.cpp b/Sources/c_borogove/src/haxe/io/Output.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/io/Output.cpp
rename to Sources/c_borogove/src/haxe/io/Output.cpp
diff --git a/Sources/c_snikket/src/haxe/io/Path.cpp b/Sources/c_borogove/src/haxe/io/Path.cpp
similarity index 86%
rename from Sources/c_snikket/src/haxe/io/Path.cpp
rename to Sources/c_borogove/src/haxe/io/Path.cpp
index f7c576a..8c9b5cf 100644
--- a/Sources/c_snikket/src/haxe/io/Path.cpp
+++ b/Sources/c_borogove/src/haxe/io/Path.cpp
@@ -130,9 +130,8 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(Path_obj,withoutDirectory,return )
HXLINE( 190) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
HXDLIN( 190) {
HXLINE( 190) int _g1 = 0;
-HXDLIN( 190) ::Array< ::String > _g2 = paths;
-HXDLIN( 190) while((_g1 < _g2->length)){
-HXLINE( 190) ::String v = _g2->__get(_g1);
+HXDLIN( 190) while((_g1 < paths->length)){
+HXLINE( 190) ::String v = paths->__get(_g1);
HXDLIN( 190) _g1 = (_g1 + 1);
HXDLIN( 190) bool _hx_tmp;
HXDLIN( 190) if (::hx::IsNotNull( v )) {
@@ -146,19 +145,17 @@ HXLINE( 190) _g->push(v);
}
}
}
-HXDLIN( 190) ::Array< ::String > paths1 = _g;
-HXLINE( 191) if ((paths1->length == 0)) {
+HXLINE( 191) if ((_g->length == 0)) {
HXLINE( 192) return HX_("",00,00,00,00);
}
-HXLINE( 194) ::String path = paths1->__get(0);
+HXLINE( 194) ::String path = _g->__get(0);
HXLINE( 195) {
-HXLINE( 195) int _g3 = 1;
-HXDLIN( 195) int _g4 = paths1->length;
-HXDLIN( 195) while((_g3 < _g4)){
-HXLINE( 195) _g3 = (_g3 + 1);
-HXDLIN( 195) int i = (_g3 - 1);
+HXLINE( 195) int _g2 = 1;
+HXDLIN( 195) int _g3 = _g->length;
+HXDLIN( 195) while((_g2 < _g3)){
+HXLINE( 195) _g2 = (_g2 + 1);
HXLINE( 196) path = ::haxe::io::Path_obj::addTrailingSlash(path);
-HXLINE( 197) path = (path + paths1->__get(i));
+HXLINE( 197) path = (path + _g->__get((_g2 - 1)));
}
}
HXLINE( 199) return ::haxe::io::Path_obj::normalize(path);
@@ -169,15 +166,14 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(Path_obj,join,return )
::String Path_obj::normalize(::String path){
HX_GC_STACKFRAME(&_hx_pos_9ba24db561a9c477_210_normalize)
-HXLINE( 211) ::String slash = HX_("/",2f,00,00,00);
-HXLINE( 212) path = path.split(HX_("\\",5c,00,00,00))->join(slash);
-HXLINE( 213) if ((path == slash)) {
-HXLINE( 214) return slash;
+HXLINE( 212) path = path.split(HX_("\\",5c,00,00,00))->join(HX_("/",2f,00,00,00));
+HXLINE( 213) if ((path == HX_("/",2f,00,00,00))) {
+HXLINE( 214) return HX_("/",2f,00,00,00);
}
HXLINE( 216) ::Array< ::String > target = ::Array_obj< ::String >::__new(0);
HXLINE( 218) {
HXLINE( 218) int _g = 0;
-HXDLIN( 218) ::Array< ::String > _g1 = path.split(slash);
+HXDLIN( 218) ::Array< ::String > _g1 = path.split(HX_("/",2f,00,00,00));
HXDLIN( 218) while((_g < _g1->length)){
HXLINE( 218) ::String token = _g1->__get(_g);
HXDLIN( 218) _g = (_g + 1);
@@ -219,18 +215,16 @@ HXLINE( 226) target->push(token);
}
}
}
-HXLINE( 230) ::String tmp = target->join(slash);
+HXLINE( 230) ::String tmp = target->join(HX_("/",2f,00,00,00));
HXLINE( 231) ::StringBuf acc = ::StringBuf_obj::__alloc( HX_CTX );
HXLINE( 232) bool colon = false;
HXLINE( 233) bool slashes = false;
HXLINE( 235) {
HXLINE( 235) int _g_offset = 0;
-HXDLIN( 235) ::String _g_s = tmp;
-HXDLIN( 235) while((_g_offset < _g_s.length)){
-HXLINE( 235) ::String s = _g_s;
-HXDLIN( 235) _g_offset = (_g_offset + 1);
+HXDLIN( 235) while((_g_offset < tmp.length)){
+HXLINE( 235) _g_offset = (_g_offset + 1);
HXDLIN( 235) int index = (_g_offset - 1);
-HXDLIN( 235) int c = s.cca(index);
+HXDLIN( 235) int c = tmp.cca(index);
HXDLIN( 235) bool _hx_tmp3;
HXDLIN( 235) if ((c >= 55296)) {
HXLINE( 235) _hx_tmp3 = (c <= 56319);
@@ -239,55 +233,51 @@ HXLINE( 235) _hx_tmp3 = (c <= 56319);
HXLINE( 235) _hx_tmp3 = false;
}
HXDLIN( 235) if (_hx_tmp3) {
-HXLINE( 639) c = (((c - 55232) << 10) | (s.cca((index + 1)) & 1023));
+HXLINE( 639) c = (((c - 55232) << 10) | (tmp.cca((index + 1)) & 1023));
}
HXLINE( 235) int c1 = c;
HXDLIN( 235) if ((c1 >= 65536)) {
HXLINE( 235) _g_offset = (_g_offset + 1);
}
-HXDLIN( 235) int c2 = c1;
-HXLINE( 236) switch((int)(c2)){
+HXLINE( 236) switch((int)(c1)){
case (int)47: {
HXLINE( 244) if (!(colon)) {
HXLINE( 245) slashes = true;
}
else {
-HXLINE( 246) int i = c2;
-HXDLIN( 246) {
-HXLINE( 247) colon = false;
-HXLINE( 248) if (slashes) {
-HXLINE( 249) {
-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);
- }
- else {
-HXLINE( 249) acc->b->push(HX_("/",2f,00,00,00));
- }
- }
-HXLINE( 250) slashes = false;
- }
-HXLINE( 252) if ((i >= 127)) {
-HXLINE( 252) ::String x = ::String::fromCharCode(i);
-HXDLIN( 252) if (::hx::IsNotNull( acc->charBuf )) {
-HXLINE( 252) acc->flush();
+HXLINE( 247) colon = false;
+HXLINE( 248) if (slashes) {
+HXLINE( 249) {
+HXLINE( 249) if (::hx::IsNotNull( acc->charBuf )) {
+HXLINE( 249) acc->flush();
}
-HXDLIN( 252) if (::hx::IsNull( acc->b )) {
-HXLINE( 252) acc->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x));
+HXDLIN( 249) if (::hx::IsNull( acc->b )) {
+HXLINE( 249) acc->b = ::Array_obj< ::String >::fromData( _hx_array_data_4ec6cf05_10,1);
}
else {
-HXLINE( 252) ::Array< ::String > acc1 = acc->b;
-HXDLIN( 252) acc1->push(::Std_obj::string(x));
+HXLINE( 249) acc->b->push(HX_("/",2f,00,00,00));
}
}
+HXLINE( 250) slashes = false;
+ }
+HXLINE( 252) if ((c1 >= 127)) {
+HXLINE( 252) ::String x = ::String::fromCharCode(c1);
+HXDLIN( 252) if (::hx::IsNotNull( acc->charBuf )) {
+HXLINE( 252) acc->flush();
+ }
+HXDLIN( 252) if (::hx::IsNull( acc->b )) {
+HXLINE( 252) acc->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x));
+ }
else {
-HXLINE( 252) if (::hx::IsNull( acc->charBuf )) {
-HXLINE( 252) acc->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 252) acc->charBuf->push(i);
+HXLINE( 252) ::Array< ::String > acc1 = acc->b;
+HXDLIN( 252) acc1->push(::Std_obj::string(x));
+ }
+ }
+ else {
+HXLINE( 252) if (::hx::IsNull( acc->charBuf )) {
+HXLINE( 252) acc->charBuf = ::Array_obj< char >::__new();
}
+HXDLIN( 252) acc->charBuf->push(c1);
}
}
}
@@ -308,42 +298,39 @@ HXLINE( 243) colon = true;
}
break;
default:{
-HXLINE( 246) int i1 = c2;
-HXDLIN( 246) {
-HXLINE( 247) colon = false;
-HXLINE( 248) if (slashes) {
-HXLINE( 249) {
-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);
- }
- else {
-HXLINE( 249) acc->b->push(HX_("/",2f,00,00,00));
- }
- }
-HXLINE( 250) slashes = false;
- }
-HXLINE( 252) if ((i1 >= 127)) {
-HXLINE( 252) ::String x1 = ::String::fromCharCode(i1);
-HXDLIN( 252) if (::hx::IsNotNull( acc->charBuf )) {
-HXLINE( 252) acc->flush();
+HXLINE( 247) colon = false;
+HXLINE( 248) if (slashes) {
+HXLINE( 249) {
+HXLINE( 249) if (::hx::IsNotNull( acc->charBuf )) {
+HXLINE( 249) acc->flush();
}
-HXDLIN( 252) if (::hx::IsNull( acc->b )) {
-HXLINE( 252) acc->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x1));
+HXDLIN( 249) if (::hx::IsNull( acc->b )) {
+HXLINE( 249) acc->b = ::Array_obj< ::String >::fromData( _hx_array_data_4ec6cf05_12,1);
}
else {
-HXLINE( 252) ::Array< ::String > acc2 = acc->b;
-HXDLIN( 252) acc2->push(::Std_obj::string(x1));
+HXLINE( 249) acc->b->push(HX_("/",2f,00,00,00));
}
}
+HXLINE( 250) slashes = false;
+ }
+HXLINE( 252) if ((c1 >= 127)) {
+HXLINE( 252) ::String x1 = ::String::fromCharCode(c1);
+HXDLIN( 252) if (::hx::IsNotNull( acc->charBuf )) {
+HXLINE( 252) acc->flush();
+ }
+HXDLIN( 252) if (::hx::IsNull( acc->b )) {
+HXLINE( 252) acc->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x1));
+ }
else {
-HXLINE( 252) if (::hx::IsNull( acc->charBuf )) {
-HXLINE( 252) acc->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 252) acc->charBuf->push(i1);
+HXLINE( 252) ::Array< ::String > acc2 = acc->b;
+HXDLIN( 252) acc2->push(::Std_obj::string(x1));
+ }
+ }
+ else {
+HXLINE( 252) if (::hx::IsNull( acc->charBuf )) {
+HXLINE( 252) acc->charBuf = ::Array_obj< char >::__new();
}
+HXDLIN( 252) acc->charBuf->push(c1);
}
}
}
diff --git a/Sources/c_snikket/src/haxe/iterators/ArrayIterator.cpp b/Sources/c_borogove/src/haxe/iterators/ArrayIterator.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/iterators/ArrayIterator.cpp
rename to Sources/c_borogove/src/haxe/iterators/ArrayIterator.cpp
diff --git a/Sources/c_snikket/src/haxe/iterators/MapKeyValueIterator.cpp b/Sources/c_borogove/src/haxe/iterators/MapKeyValueIterator.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/iterators/MapKeyValueIterator.cpp
rename to Sources/c_borogove/src/haxe/iterators/MapKeyValueIterator.cpp
diff --git a/Sources/c_snikket/src/haxe/xml/Printer.cpp b/Sources/c_borogove/src/haxe/xml/Printer.cpp
similarity index 100%
rename from Sources/c_snikket/src/haxe/xml/Printer.cpp
rename to Sources/c_borogove/src/haxe/xml/Printer.cpp
diff --git a/Sources/c_snikket/src/hsluv/Hsluv.cpp b/Sources/c_borogove/src/hsluv/Hsluv.cpp
similarity index 96%
rename from Sources/c_snikket/src/hsluv/Hsluv.cpp
rename to Sources/c_borogove/src/hsluv/Hsluv.cpp
index 28f479c..70053c7 100644
--- a/Sources/c_snikket/src/hsluv/Hsluv.cpp
+++ b/Sources/c_borogove/src/hsluv/Hsluv.cpp
@@ -66,15 +66,12 @@ bool Hsluv_obj::_hx_isInstanceOf(int inClassId) {
void Hsluv_obj::rgbToHex(){
HX_STACKFRAME(&_hx_pos_d5dc22b6e2ff60be_151_rgbToHex)
HXLINE( 152) this->hex = HX_("#",23,00,00,00);
-HXLINE( 153) ::hsluv::Hsluv _hx_tmp = ::hx::ObjectPtr<OBJ_>(this);
-HXDLIN( 153) ::String _hx_tmp1 = _hx_tmp->hex;
-HXDLIN( 153) _hx_tmp->hex = (_hx_tmp1 + ::hsluv::Hsluv_obj::rgbChannelToHex(this->rgb_r));
-HXLINE( 154) ::hsluv::Hsluv _hx_tmp2 = ::hx::ObjectPtr<OBJ_>(this);
-HXDLIN( 154) ::String _hx_tmp3 = _hx_tmp2->hex;
-HXDLIN( 154) _hx_tmp2->hex = (_hx_tmp3 + ::hsluv::Hsluv_obj::rgbChannelToHex(this->rgb_g));
-HXLINE( 155) ::hsluv::Hsluv _hx_tmp4 = ::hx::ObjectPtr<OBJ_>(this);
-HXDLIN( 155) ::String _hx_tmp5 = _hx_tmp4->hex;
-HXDLIN( 155) _hx_tmp4->hex = (_hx_tmp5 + ::hsluv::Hsluv_obj::rgbChannelToHex(this->rgb_b));
+HXLINE( 153) ::String _hx_tmp = this->hex;
+HXDLIN( 153) this->hex = (_hx_tmp + ::hsluv::Hsluv_obj::rgbChannelToHex(this->rgb_r));
+HXLINE( 154) ::String _hx_tmp1 = this->hex;
+HXDLIN( 154) this->hex = (_hx_tmp1 + ::hsluv::Hsluv_obj::rgbChannelToHex(this->rgb_g));
+HXLINE( 155) ::String _hx_tmp2 = this->hex;
+HXDLIN( 155) this->hex = (_hx_tmp2 + ::hsluv::Hsluv_obj::rgbChannelToHex(this->rgb_b));
}
@@ -158,13 +155,7 @@ HX_DEFINE_DYNAMIC_FUNC1(Hsluv_obj,calculateBoundingLines,(void))
Float Hsluv_obj::calcMaxChromaHsluv(Float h){
HX_STACKFRAME(&_hx_pos_d5dc22b6e2ff60be_335_calcMaxChromaHsluv)
HXLINE( 336) Float hueRad = (((h / ( (Float)(360) )) * ::Math_obj::PI) * ( (Float)(2) ));
-HXLINE( 337) Float r0 = ::hsluv::Hsluv_obj::distanceFromOriginAngle(this->r0s,this->r0i,hueRad);
-HXLINE( 338) Float r1 = ::hsluv::Hsluv_obj::distanceFromOriginAngle(this->r1s,this->r1i,hueRad);
-HXLINE( 339) Float g0 = ::hsluv::Hsluv_obj::distanceFromOriginAngle(this->g0s,this->g0i,hueRad);
-HXLINE( 340) Float g1 = ::hsluv::Hsluv_obj::distanceFromOriginAngle(this->g1s,this->g1i,hueRad);
-HXLINE( 341) Float b0 = ::hsluv::Hsluv_obj::distanceFromOriginAngle(this->b0s,this->b0i,hueRad);
-HXLINE( 342) Float b1 = ::hsluv::Hsluv_obj::distanceFromOriginAngle(this->b1s,this->b1i,hueRad);
-HXLINE( 343) return ::hsluv::Hsluv_obj::min6(r0,r1,g0,g1,b0,b1);
+HXLINE( 343) return ::hsluv::Hsluv_obj::min6(::hsluv::Hsluv_obj::distanceFromOriginAngle(this->r0s,this->r0i,hueRad),::hsluv::Hsluv_obj::distanceFromOriginAngle(this->r1s,this->r1i,hueRad),::hsluv::Hsluv_obj::distanceFromOriginAngle(this->g0s,this->g0i,hueRad),::hsluv::Hsluv_obj::distanceFromOriginAngle(this->g1s,this->g1i,hueRad),::hsluv::Hsluv_obj::distanceFromOriginAngle(this->b0s,this->b0i,hueRad),::hsluv::Hsluv_obj::distanceFromOriginAngle(this->b1s,this->b1i,hueRad));
}
@@ -184,8 +175,8 @@ HXLINE( 353) this->lch_c = ( (Float)(0) );
else {
HXLINE( 355) this->lch_l = this->hsluv_l;
HXLINE( 356) this->calculateBoundingLines(this->hsluv_l);
-HXLINE( 357) Float max = this->calcMaxChromaHsluv(this->hsluv_h);
-HXLINE( 358) this->lch_c = ((max / ( (Float)(100) )) * this->hsluv_s);
+HXLINE( 358) Float _hx_tmp = (this->calcMaxChromaHsluv(this->hsluv_h) / ( (Float)(100) ));
+HXDLIN( 358) this->lch_c = (_hx_tmp * this->hsluv_s);
}
}
HXLINE( 360) this->lch_h = this->hsluv_h;
diff --git a/Sources/c_snikket/src/htmlparser/HtmlAttribute.cpp b/Sources/c_borogove/src/htmlparser/HtmlAttribute.cpp
similarity index 100%
rename from Sources/c_snikket/src/htmlparser/HtmlAttribute.cpp
rename to Sources/c_borogove/src/htmlparser/HtmlAttribute.cpp
diff --git a/Sources/c_snikket/src/htmlparser/HtmlNode.cpp b/Sources/c_borogove/src/htmlparser/HtmlNode.cpp
similarity index 100%
rename from Sources/c_snikket/src/htmlparser/HtmlNode.cpp
rename to Sources/c_borogove/src/htmlparser/HtmlNode.cpp
diff --git a/Sources/c_snikket/src/htmlparser/HtmlNodeElement.cpp b/Sources/c_borogove/src/htmlparser/HtmlNodeElement.cpp
similarity index 96%
rename from Sources/c_snikket/src/htmlparser/HtmlNodeElement.cpp
rename to Sources/c_borogove/src/htmlparser/HtmlNodeElement.cpp
index 3386084..7b0046e 100644
--- a/Sources/c_snikket/src/htmlparser/HtmlNodeElement.cpp
+++ b/Sources/c_borogove/src/htmlparser/HtmlNodeElement.cpp
@@ -64,12 +64,12 @@ HXLINE( 48) HX_STACK_DO_THROW( ::haxe::Exception_obj::__alloc( HX_CTX ,HX_("
}
HXLINE( 49) this->nodes->insert(n,node);
HXLINE( 50) node->parent = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 51) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 51) ::Array< ::Dynamic> _this = this->nodes;
+HXDLIN( 51) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 51) {
HXLINE( 51) int _g1 = 0;
-HXDLIN( 51) ::Array< ::Dynamic> _g2 = this->nodes;
-HXDLIN( 51) while((_g1 < _g2->length)){
-HXLINE( 51) ::htmlparser::HtmlNode v = _g2->__get(_g1).StaticCast< ::htmlparser::HtmlNode >();
+HXDLIN( 51) while((_g1 < _this->length)){
+HXLINE( 51) ::htmlparser::HtmlNode v = _this->__get(_g1).StaticCast< ::htmlparser::HtmlNode >();
HXDLIN( 51) _g1 = (_g1 + 1);
HXDLIN( 51) if (::Std_obj::isOfType(v,::hx::ClassOf< ::htmlparser::HtmlNodeElement >())) {
HXLINE( 51) _g->push(v);
diff --git a/Sources/c_snikket/src/htmlparser/HtmlNodeText.cpp b/Sources/c_borogove/src/htmlparser/HtmlNodeText.cpp
similarity index 100%
rename from Sources/c_snikket/src/htmlparser/HtmlNodeText.cpp
rename to Sources/c_borogove/src/htmlparser/HtmlNodeText.cpp
diff --git a/Sources/c_snikket/src/htmlparser/HtmlParser.cpp b/Sources/c_borogove/src/htmlparser/HtmlParser.cpp
similarity index 100%
rename from Sources/c_snikket/src/htmlparser/HtmlParser.cpp
rename to Sources/c_borogove/src/htmlparser/HtmlParser.cpp
diff --git a/Sources/c_snikket/src/htmlparser/HtmlParserException.cpp b/Sources/c_borogove/src/htmlparser/HtmlParserException.cpp
similarity index 100%
rename from Sources/c_snikket/src/htmlparser/HtmlParserException.cpp
rename to Sources/c_borogove/src/htmlparser/HtmlParserException.cpp
diff --git a/Sources/c_snikket/src/htmlparser/HtmlTools.cpp b/Sources/c_borogove/src/htmlparser/HtmlTools.cpp
similarity index 100%
rename from Sources/c_snikket/src/htmlparser/HtmlTools.cpp
rename to Sources/c_borogove/src/htmlparser/HtmlTools.cpp
diff --git a/Sources/c_snikket/src/httpstatus/_HttpStatusMessage/HttpStatusMessage_Impl_.cpp b/Sources/c_borogove/src/httpstatus/_HttpStatusMessage/HttpStatusMessage_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/httpstatus/_HttpStatusMessage/HttpStatusMessage_Impl_.cpp
rename to Sources/c_borogove/src/httpstatus/_HttpStatusMessage/HttpStatusMessage_Impl_.cpp
diff --git a/Sources/c_snikket/src/hx/Anon.cpp b/Sources/c_borogove/src/hx/Anon.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/Anon.cpp
rename to Sources/c_borogove/src/hx/Anon.cpp
diff --git a/Sources/c_snikket/src/hx/Boot.cpp b/Sources/c_borogove/src/hx/Boot.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/Boot.cpp
rename to Sources/c_borogove/src/hx/Boot.cpp
diff --git a/Sources/c_snikket/src/hx/CFFI.cpp b/Sources/c_borogove/src/hx/CFFI.cpp
similarity index 95%
rename from Sources/c_snikket/src/hx/CFFI.cpp
rename to Sources/c_borogove/src/hx/CFFI.cpp
index c299571..592c8e2 100644
--- a/Sources/c_snikket/src/hx/CFFI.cpp
+++ b/Sources/c_borogove/src/hx/CFFI.cpp
@@ -997,10 +997,7 @@ const char16_t * hxs_utf16(const String &string,hx::IStringAlloc *alloc)
}
-#ifndef HXCPP_STATIC_CFFI
-EXPORT
-#endif
-void * hx_cffi(const char *inName)
+EXPORT 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_snikket/src/hx/Class.cpp b/Sources/c_borogove/src/hx/Class.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/Class.cpp
rename to Sources/c_borogove/src/hx/Class.cpp
diff --git a/Sources/c_snikket/src/hx/Date.cpp b/Sources/c_borogove/src/hx/Date.cpp
similarity index 99%
rename from Sources/c_snikket/src/hx/Date.cpp
rename to Sources/c_borogove/src/hx/Date.cpp
index 003832a..41f2d33 100644
--- a/Sources/c_snikket/src/hx/Date.cpp
+++ b/Sources/c_borogove/src/hx/Date.cpp
@@ -31,7 +31,6 @@
#include <CoreServices/CoreServices.h>
#endif
-
//#include <hxMacros.h>
static double t0 = 0;
@@ -57,7 +56,7 @@ double __hxcpp_time_stamp()
}
return (double)clock() / ( (double)CLOCKS_PER_SEC);
-#elif defined(HX_MACOS) || defined(IPHONE) || defined(APPLETV)
+#elif defined(HX_MACOS) || defined(IPHONE)
static double time_scale = 0.0;
if (time_scale==0.0)
{
diff --git a/Sources/c_snikket/src/hx/Debug.cpp b/Sources/c_borogove/src/hx/Debug.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/Debug.cpp
rename to Sources/c_borogove/src/hx/Debug.cpp
diff --git a/Sources/c_snikket/src/hx/Hash.cpp b/Sources/c_borogove/src/hx/Hash.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/Hash.cpp
rename to Sources/c_borogove/src/hx/Hash.cpp
diff --git a/Sources/c_snikket/src/hx/Hash.h b/Sources/c_borogove/src/hx/Hash.h
similarity index 100%
rename from Sources/c_snikket/src/hx/Hash.h
rename to Sources/c_borogove/src/hx/Hash.h
diff --git a/Sources/c_snikket/src/hx/Lib.cpp b/Sources/c_borogove/src/hx/Lib.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/Lib.cpp
rename to Sources/c_borogove/src/hx/Lib.cpp
diff --git a/Sources/c_snikket/src/hx/Object.cpp b/Sources/c_borogove/src/hx/Object.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/Object.cpp
rename to Sources/c_borogove/src/hx/Object.cpp
diff --git a/Sources/c_snikket/src/hx/StdLibs.cpp b/Sources/c_borogove/src/hx/StdLibs.cpp
similarity index 92%
rename from Sources/c_snikket/src/hx/StdLibs.cpp
rename to Sources/c_borogove/src/hx/StdLibs.cpp
index 9972d5f..29dc2a6 100644
--- a/Sources/c_snikket/src/hx/StdLibs.cpp
+++ b/Sources/c_borogove/src/hx/StdLibs.cpp
@@ -244,8 +244,17 @@ int __hxcpp_irand(int inMax)
return (lo | (mid<<12) | (hi<<24) ) % inMax;
}
+#ifdef HX_WINDOWS
+LARGE_INTEGER qpcFrequency;
+#endif
+
void __hxcpp_stdlibs_boot()
{
+#ifdef HX_WINDOWS
+ // MSDN states that QueryPerformanceFrequency will always succeed on XP and above, so I'm ignoring the result.
+ QueryPerformanceFrequency(&qpcFrequency);
+#endif
+
#if defined(_MSC_VER) && !defined(HX_WINRT)
HMODULE kernel32 = LoadLibraryA("kernel32");
if (kernel32)
@@ -329,10 +338,7 @@ double __time_stamp()
if (t0==0)
{
t0 = now;
- __int64 freq;
- QueryPerformanceFrequency((LARGE_INTEGER*)&freq);
- if (freq!=0)
- period = 1.0/freq;
+ period = 1.0/qpcFrequency.QuadPart;
}
if (period!=0)
return (now-t0)*period;
@@ -351,6 +357,26 @@ double __time_stamp()
#endif
}
+::cpp::Int64 __time_stamp_ms()
+{
+#ifdef HX_WINDOWS
+ // MSDN states that QueryPerformanceCounter will always succeed on XP and above, so I'm ignoring the result.
+ auto now = LARGE_INTEGER{ 0 };
+ QueryPerformanceCounter(&now);
+
+ return now.QuadPart * LONGLONG{ 1000 } / qpcFrequency.QuadPart;
+#else
+ auto time = timespec();
+
+ if (clock_gettime(CLOCK_MONOTONIC, &time))
+ {
+ throw ::Dynamic(HX_CSTRING("Failed to get the monotonic clock time"));
+ }
+
+ return time.tv_sec * 1000 + (time.tv_nsec / 1000000);
+#endif
+}
+
#if defined(HX_WINDOWS) && !defined(HX_WINRT)
/*
diff --git a/Sources/c_snikket/src/hx/Thread.cpp b/Sources/c_borogove/src/hx/Thread.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/Thread.cpp
rename to Sources/c_borogove/src/hx/Thread.cpp
diff --git a/Sources/c_snikket/src/hx/Unicase.h b/Sources/c_borogove/src/hx/Unicase.h
similarity index 100%
rename from Sources/c_snikket/src/hx/Unicase.h
rename to Sources/c_borogove/src/hx/Unicase.h
diff --git a/Sources/c_snikket/src/hx/gc/GcCommon.cpp b/Sources/c_borogove/src/hx/gc/GcCommon.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/gc/GcCommon.cpp
rename to Sources/c_borogove/src/hx/gc/GcCommon.cpp
diff --git a/Sources/c_snikket/src/hx/gc/GcRegCapture.cpp b/Sources/c_borogove/src/hx/gc/GcRegCapture.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/gc/GcRegCapture.cpp
rename to Sources/c_borogove/src/hx/gc/GcRegCapture.cpp
diff --git a/Sources/c_snikket/src/hx/gc/GcRegCapture.h b/Sources/c_borogove/src/hx/gc/GcRegCapture.h
similarity index 100%
rename from Sources/c_snikket/src/hx/gc/GcRegCapture.h
rename to Sources/c_borogove/src/hx/gc/GcRegCapture.h
diff --git a/Sources/c_snikket/src/hx/gc/Immix.cpp b/Sources/c_borogove/src/hx/gc/Immix.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/gc/Immix.cpp
rename to Sources/c_borogove/src/hx/gc/Immix.cpp
diff --git a/Sources/c_snikket/src/hx/libs/regexp/Build.xml b/Sources/c_borogove/src/hx/libs/regexp/Build.xml
similarity index 90%
rename from Sources/c_snikket/src/hx/libs/regexp/Build.xml
rename to Sources/c_borogove/src/hx/libs/regexp/Build.xml
index 46a1fba..4ead482 100644
--- a/Sources/c_snikket/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" tags="" >
+<files id="pcre2-8" >
<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" tags="" >
+<files id="pcre2-16" >
<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>
+</xml>
\ No newline at end of file
diff --git a/Sources/c_snikket/src/hx/libs/regexp/RegExp.cpp b/Sources/c_borogove/src/hx/libs/regexp/RegExp.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/libs/regexp/RegExp.cpp
rename to Sources/c_borogove/src/hx/libs/regexp/RegExp.cpp
diff --git a/Sources/c_snikket/src/hx/libs/regexp/pcre2_sources.xml b/Sources/c_borogove/src/hx/libs/regexp/pcre2_sources.xml
similarity index 100%
rename from Sources/c_snikket/src/hx/libs/regexp/pcre2_sources.xml
rename to Sources/c_borogove/src/hx/libs/regexp/pcre2_sources.xml
diff --git a/Sources/c_snikket/src/hx/libs/sqlite/Build.xml b/Sources/c_borogove/src/hx/libs/sqlite/Build.xml
similarity index 85%
rename from Sources/c_snikket/src/hx/libs/sqlite/Build.xml
rename to Sources/c_borogove/src/hx/libs/sqlite/Build.xml
index 40f9246..ff957e7 100644
--- a/Sources/c_snikket/src/hx/libs/sqlite/Build.xml
+++ b/Sources/c_borogove/src/hx/libs/sqlite/Build.xml
@@ -2,7 +2,7 @@
<pragma once="true" />
-<set name="SQLITE_DIR" value="${HXCPP}/project/thirdparty/sqlite-3.49.1"/>
+<set name="SQLITE_DIR" value="${HXCPP}/project/thirdparty/sqlite-3.51.2"/>
<files id="hxcpp_sqlite" dir="${this_dir}" >
<depend files="hxcpp-depends"/>
@@ -14,7 +14,7 @@
<file name="Sqlite.cpp"/>
<depend name="${SQLITE_DIR}/sqlite3.h" />
- <file name="${SQLITE_DIR}/sqlite3.c" tags="" />
+ <file name="${SQLITE_DIR}/sqlite3.c"/>
</files>
<target id="haxe">
diff --git a/Sources/c_snikket/src/hx/libs/sqlite/Sqlite.cpp b/Sources/c_borogove/src/hx/libs/sqlite/Sqlite.cpp
similarity index 93%
rename from Sources/c_snikket/src/hx/libs/sqlite/Sqlite.cpp
rename to Sources/c_borogove/src/hx/libs/sqlite/Sqlite.cpp
index 211c934..4b4f97e 100644
--- a/Sources/c_snikket/src/hx/libs/sqlite/Sqlite.cpp
+++ b/Sources/c_borogove/src/hx/libs/sqlite/Sqlite.cpp
@@ -87,7 +87,9 @@ struct result : public hx::Object
if( ncols == 0 )
count = sqlite3_changes(db);
+ __hxcpp_enter_gc_free_zone();
bool err = sqlite3_finalize(r) != SQLITE_OK;
+ __hxcpp_exit_gc_free_zone();
db = 0;
r = 0;
@@ -134,7 +136,10 @@ struct database : public hx::Object
last = null();
}
- if( sqlite3_close(db) != SQLITE_OK )
+ __hxcpp_enter_gc_free_zone();
+ int err = sqlite3_close(db);
+ __hxcpp_exit_gc_free_zone();
+ if (err != SQLITE_OK)
{
if (inThrowError)
hx::Throw(HX_CSTRING("Sqlite: could not close"));
@@ -194,9 +199,11 @@ result *getResult(Dynamic handle, bool inRequireStatement)
**/
Dynamic _hx_sqlite_connect(String filename)
{
- int err;
sqlite3 *sqlDb = 0;
- if( (err = sqlite3_open(filename.utf8_str(),&sqlDb)) != SQLITE_OK )
+ __hxcpp_enter_gc_free_zone();
+ int err = sqlite3_open(filename.utf8_str(),&sqlDb);
+ __hxcpp_exit_gc_free_zone();
+ if (err != SQLITE_OK)
sqlite_error(sqlDb);
database *db = new database();
@@ -237,14 +244,19 @@ Dynamic _hx_sqlite_request(Dynamic handle,String sql)
const char * sqlStr = sql.utf8_str(0, true, &byteLength);
sqlite3_stmt *statement = 0;
const char *tl = 0;
- if( sqlite3_prepare(db->db,sqlStr,byteLength,&statement,&tl) != SQLITE_OK )
+ __hxcpp_enter_gc_free_zone();
+ int err = sqlite3_prepare(db->db,sqlStr,byteLength,&statement,&tl);
+ __hxcpp_exit_gc_free_zone();
+ if (err != SQLITE_OK)
{
hx::Throw( HX_CSTRING("Sqlite error in ") + sql + HX_CSTRING(" : ") +
String(sqlite3_errmsg(db->db) ) );
}
if( *tl )
{
+ __hxcpp_enter_gc_free_zone();
sqlite3_finalize(statement);
+ __hxcpp_exit_gc_free_zone();
hx::Throw(HX_CSTRING("Cannot execute several SQL requests at the same time"));
}
@@ -296,7 +308,10 @@ Dynamic _hx_sqlite_result_next(Dynamic handle)
if( r->done )
return null();
- switch( sqlite3_step(r->r) )
+ __hxcpp_enter_gc_free_zone();
+ int step = sqlite3_step(r->r);
+ __hxcpp_exit_gc_free_zone();
+ switch(step)
{
case SQLITE_ROW:
{
diff --git a/Sources/c_snikket/src/hx/libs/ssl/SSL.cpp b/Sources/c_borogove/src/hx/libs/ssl/SSL.cpp
similarity index 90%
rename from Sources/c_snikket/src/hx/libs/ssl/SSL.cpp
rename to Sources/c_borogove/src/hx/libs/ssl/SSL.cpp
index 7547c0f..f76ba18 100644
--- a/Sources/c_snikket/src/hx/libs/ssl/SSL.cpp
+++ b/Sources/c_borogove/src/hx/libs/ssl/SSL.cpp
@@ -617,50 +617,6 @@ 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();
@@ -671,9 +627,6 @@ 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;
}
diff --git a/Sources/c_snikket/src/hx/libs/std/Build.xml b/Sources/c_borogove/src/hx/libs/std/Build.xml
similarity index 100%
rename from Sources/c_snikket/src/hx/libs/std/Build.xml
rename to Sources/c_borogove/src/hx/libs/std/Build.xml
diff --git a/Sources/c_snikket/src/hx/libs/std/File.cpp b/Sources/c_borogove/src/hx/libs/std/File.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/libs/std/File.cpp
rename to Sources/c_borogove/src/hx/libs/std/File.cpp
diff --git a/Sources/c_snikket/src/hx/libs/std/Process.cpp b/Sources/c_borogove/src/hx/libs/std/Process.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/libs/std/Process.cpp
rename to Sources/c_borogove/src/hx/libs/std/Process.cpp
diff --git a/Sources/c_snikket/src/hx/libs/std/Random.cpp b/Sources/c_borogove/src/hx/libs/std/Random.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/libs/std/Random.cpp
rename to Sources/c_borogove/src/hx/libs/std/Random.cpp
diff --git a/Sources/c_snikket/src/hx/libs/std/Socket.cpp b/Sources/c_borogove/src/hx/libs/std/Socket.cpp
similarity index 98%
rename from Sources/c_snikket/src/hx/libs/std/Socket.cpp
rename to Sources/c_borogove/src/hx/libs/std/Socket.cpp
index fe77cdc..1417e7b 100644
--- a/Sources/c_snikket/src/hx/libs/std/Socket.cpp
+++ b/Sources/c_borogove/src/hx/libs/std/Socket.cpp
@@ -98,29 +98,6 @@ 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>
@@ -213,10 +190,9 @@ void _hx_std_socket_close( Dynamic handle )
{
SOCKET s = val_sock(handle);
POSIX_LABEL(close_again);
- if( s != INVALID_SOCKET && closesocket(s) ) {
+ if( closesocket(s) ) {
HANDLE_EINTR(close_again);
}
- reset_sock(handle);
}
/**
diff --git a/Sources/c_snikket/src/hx/libs/std/Sys.cpp b/Sources/c_borogove/src/hx/libs/std/Sys.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/libs/std/Sys.cpp
rename to Sources/c_borogove/src/hx/libs/std/Sys.cpp
diff --git a/Sources/c_snikket/src/hx/strings/RandomStrings.cpp b/Sources/c_borogove/src/hx/strings/RandomStrings.cpp
similarity index 97%
rename from Sources/c_snikket/src/hx/strings/RandomStrings.cpp
rename to Sources/c_borogove/src/hx/strings/RandomStrings.cpp
index 30dbd80..8b13603 100644
--- a/Sources/c_snikket/src/hx/strings/RandomStrings.cpp
+++ b/Sources/c_borogove/src/hx/strings/RandomStrings.cpp
@@ -133,13 +133,11 @@ HXLINE( 99) ::Array< int > charsArray;
HXDLIN( 99) ::hx::strings::internal::_Either2::_Either2 _g = chars;
HXDLIN( 99) switch((int)(_g->_hx_getIndex())){
case (int)0: {
-HXLINE( 100) ::String str = ( (::String)(_g->_hx_getObject(0)) );
-HXLINE( 99) charsArray = ::hx::strings::Strings_obj::toChars(str);
+HXLINE( 99) charsArray = ::hx::strings::Strings_obj::toChars(( (::String)(_g->_hx_getObject(0)) ));
}
break;
case (int)1: {
-HXLINE( 101) ::Array< int > chars1 = ( (::Array< int >)(_g->_hx_getObject(0)) );
-HXLINE( 99) charsArray = chars1;
+HXLINE( 99) charsArray = ( (::Array< int >)(_g->_hx_getObject(0)) );
}
break;
}
@@ -149,10 +147,8 @@ HXLINE( 105) HX_STACK_DO_THROW(HX_("[chars] must not be empty",af,ff,cf,d6));
HXLINE( 107) ::hx::strings::StringBuilder result = ::hx::strings::StringBuilder_obj::__alloc( HX_CTX ,null());
HXLINE( 108) {
HXLINE( 108) int _g1 = 0;
-HXDLIN( 108) int _g2 = length;
-HXDLIN( 108) while((_g1 < _g2)){
+HXDLIN( 108) while((_g1 < length)){
HXLINE( 108) _g1 = (_g1 + 1);
-HXDLIN( 108) int i = (_g1 - 1);
HXLINE( 109) result->addChar(charsArray->__get(::Math_obj::floor((( (Float)(charsArray->length) ) * ::Math_obj::random()))));
}
}
diff --git a/Sources/c_snikket/src/hx/strings/StringBuilder.cpp b/Sources/c_borogove/src/hx/strings/StringBuilder.cpp
similarity index 97%
rename from Sources/c_snikket/src/hx/strings/StringBuilder.cpp
rename to Sources/c_borogove/src/hx/strings/StringBuilder.cpp
index 5ecc7f1..ba05006 100644
--- a/Sources/c_snikket/src/hx/strings/StringBuilder.cpp
+++ b/Sources/c_borogove/src/hx/strings/StringBuilder.cpp
@@ -67,15 +67,14 @@ HXLINE( 69) ::Array< ::String > _this1 = _this->b;
HXDLIN( 69) _this1->push(::Std_obj::string(x));
}
}
-HXLINE( 71) ::hx::strings::StringBuilder _hx_tmp = ::hx::ObjectPtr<OBJ_>(this);
-HXDLIN( 71) int _hx_tmp1;
+HXLINE( 71) int _hx_tmp;
HXDLIN( 71) if (::hx::IsNull( item )) {
-HXLINE( 71) _hx_tmp1 = 0;
+HXLINE( 71) _hx_tmp = 0;
}
else {
-HXLINE( 71) _hx_tmp1 = item.length;
+HXLINE( 71) _hx_tmp = item.length;
}
-HXDLIN( 71) _hx_tmp->len = (_hx_tmp->len + _hx_tmp1);
+HXDLIN( 71) this->len = (this->len + _hx_tmp);
HXLINE( 73) return ::hx::ObjectPtr<OBJ_>(this);
}
diff --git a/Sources/c_snikket/src/hx/strings/Strings.cpp b/Sources/c_borogove/src/hx/strings/Strings.cpp
similarity index 97%
rename from Sources/c_snikket/src/hx/strings/Strings.cpp
rename to Sources/c_borogove/src/hx/strings/Strings.cpp
index eff51e7..441c976 100644
--- a/Sources/c_snikket/src/hx/strings/Strings.cpp
+++ b/Sources/c_borogove/src/hx/strings/Strings.cpp
@@ -47,8 +47,7 @@ HXLINE(3485) int _g1 = 0;
HXDLIN(3485) int _g2 = strLen;
HXDLIN(3485) while((_g1 < _g2)){
HXLINE(3485) _g1 = (_g1 + 1);
-HXDLIN(3485) int i = (_g1 - 1);
-HXDLIN(3485) _g->push(( (int)(str.charCodeAt(i)) ));
+HXDLIN(3485) _g->push(( (int)(str.charCodeAt((_g1 - 1))) ));
}
}
HXDLIN(3485) return _g;
diff --git a/Sources/c_snikket/src/hx/strings/internal/_Either2/_Either2.cpp b/Sources/c_borogove/src/hx/strings/internal/_Either2/_Either2.cpp
similarity index 100%
rename from Sources/c_snikket/src/hx/strings/internal/_Either2/_Either2.cpp
rename to Sources/c_borogove/src/hx/strings/internal/_Either2/_Either2.cpp
diff --git a/Sources/c_snikket/src/sha/Hash.cpp b/Sources/c_borogove/src/sha/Hash.cpp
similarity index 98%
rename from Sources/c_snikket/src/sha/Hash.cpp
rename to Sources/c_borogove/src/sha/Hash.cpp
index 6212b6c..94b5ece 100644
--- a/Sources/c_snikket/src/sha/Hash.cpp
+++ b/Sources/c_borogove/src/sha/Hash.cpp
@@ -57,8 +57,7 @@ HXLINE( 43) if ((::hx::Mod(accum,this->block->length) == 0)) {
HXLINE( 44) this->_update(this->block);
}
}
-HXLINE( 48) ::sha::Hash _hx_tmp = ::hx::ObjectPtr<OBJ_>(this);
-HXDLIN( 48) _hx_tmp->length = (_hx_tmp->length + data->length);
+HXLINE( 48) this->length = (this->length + data->length);
HXLINE( 49) return ::hx::ObjectPtr<OBJ_>(this);
}
diff --git a/Sources/c_snikket/src/sha/SHA256.cpp b/Sources/c_borogove/src/sha/SHA256.cpp
similarity index 100%
rename from Sources/c_snikket/src/sha/SHA256.cpp
rename to Sources/c_borogove/src/sha/SHA256.cpp
diff --git a/Sources/c_snikket/src/sha/_SHA256/SHA256_Fields_.cpp b/Sources/c_borogove/src/sha/_SHA256/SHA256_Fields_.cpp
similarity index 100%
rename from Sources/c_snikket/src/sha/_SHA256/SHA256_Fields_.cpp
rename to Sources/c_borogove/src/sha/_SHA256/SHA256_Fields_.cpp
diff --git a/Sources/c_snikket/src/sqlite3.c b/Sources/c_borogove/src/sqlite3.c
similarity index 97%
rename from Sources/c_snikket/src/sqlite3.c
rename to Sources/c_borogove/src/sqlite3.c
index 37b534a..b44fb75 100644
--- a/Sources/c_snikket/src/sqlite3.c
+++ b/Sources/c_borogove/src/sqlite3.c
@@ -1,6 +1,6 @@
/******************************************************************************
** This file is an amalgamation of many separate C source files from SQLite
-** version 3.49.1. By combining all the individual C code files into this
+** version 3.51.2. By combining all the individual C code files into this
** single large file, the entire code can be compiled as a single translation
** unit. This allows many compilers to do optimizations that would not be
** possible if the files were compiled separately. Performance improvements
@@ -18,7 +18,7 @@
** separate file. This file contains only code for the core SQLite library.
**
** The content in this amalgamation comes from Fossil check-in
-** 873d4e274b4988d260ba8354a9718324a1c2 with changes in files:
+** b270f8339eb13b504d0b2ba154ebca966b7d with changes in files:
**
**
*/
@@ -170,7 +170,9 @@
#define HAVE_UTIME 1
#else
/* This is not VxWorks. */
-#define OS_VXWORKS 0
+#ifndef OS_VXWORKS
+# define OS_VXWORKS 0
+#endif
#define HAVE_FCHOWN 1
#define HAVE_READLINK 1
#define HAVE_LSTAT 1
@@ -452,7 +454,7 @@ extern "C" {
**
** Since [version 3.6.18] ([dateof:3.6.18]),
** SQLite source code has been stored in the
-** <a href="http://www.fossil-scm.org/">Fossil configuration management
+** <a href="http://fossil-scm.org/">Fossil configuration management
** system</a>. ^The SQLITE_SOURCE_ID macro evaluates to
** a string which identifies a particular check-in of SQLite
** within its configuration management system. ^The SQLITE_SOURCE_ID
@@ -465,9 +467,12 @@ extern "C" {
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
** [sqlite_version()] and [sqlite_source_id()].
*/
-#define SQLITE_VERSION "3.49.1"
-#define SQLITE_VERSION_NUMBER 3049001
-#define SQLITE_SOURCE_ID "2025-02-18 13:38:58 873d4e274b4988d260ba8354a9718324a1c26187a4ab4c1cc0227c03d0f10e70"
+#define SQLITE_VERSION "3.51.2"
+#define SQLITE_VERSION_NUMBER 3051002
+#define SQLITE_SOURCE_ID "2026-01-09 17:27:48 b270f8339eb13b504d0b2ba154ebca966b7dde08e40c3ed7d559749818cb2075"
+#define SQLITE_SCM_BRANCH "branch-3.51"
+#define SQLITE_SCM_TAGS "release version-3.51.2"
+#define SQLITE_SCM_DATETIME "2026-01-09T17:27:48.405Z"
/*
** CAPI3REF: Run-Time Library Version Numbers
@@ -487,9 +492,9 @@ extern "C" {
** assert( strcmp(sqlite3_libversion(),SQLITE_VERSION)==0 );
** </pre></blockquote>)^
**
-** ^The sqlite3_version[] string constant contains the text of [SQLITE_VERSION]
-** macro. ^The sqlite3_libversion() function returns a pointer to the
-** to the sqlite3_version[] string constant. The sqlite3_libversion()
+** ^The sqlite3_version[] string constant contains the text of the
+** [SQLITE_VERSION] macro. ^The sqlite3_libversion() function returns a
+** pointer to the sqlite3_version[] string constant. The sqlite3_libversion()
** function is provided for use in DLLs since DLL users usually do not have
** direct access to string constants within the DLL. ^The
** sqlite3_libversion_number() function returns an integer equal to
@@ -689,7 +694,7 @@ typedef int (*sqlite3_callback)(void*,int,char**, char**);
** without having to use a lot of C code.
**
** ^The sqlite3_exec() interface runs zero or more UTF-8 encoded,
-** semicolon-separate SQL statements passed into its 2nd argument,
+** semicolon-separated SQL statements passed into its 2nd argument,
** in the context of the [database connection] passed in as its 1st
** argument. ^If the callback function of the 3rd argument to
** sqlite3_exec() is not NULL, then it is invoked for each result row
@@ -722,7 +727,7 @@ typedef int (*sqlite3_callback)(void*,int,char**, char**);
** result row is NULL then the corresponding string pointer for the
** sqlite3_exec() callback is a NULL pointer. ^The 4th argument to the
** sqlite3_exec() callback is an array of pointers to strings where each
-** entry represents the name of corresponding result column as obtained
+** entry represents the name of a corresponding result column as obtained
** from [sqlite3_column_name()].
**
** ^If the 2nd parameter to sqlite3_exec() is a NULL pointer, a pointer
@@ -816,6 +821,9 @@ SQLITE_API int sqlite3_exec(
#define SQLITE_ERROR_MISSING_COLLSEQ (SQLITE_ERROR | (1<<8))
#define SQLITE_ERROR_RETRY (SQLITE_ERROR | (2<<8))
#define SQLITE_ERROR_SNAPSHOT (SQLITE_ERROR | (3<<8))
+#define SQLITE_ERROR_RESERVESIZE (SQLITE_ERROR | (4<<8))
+#define SQLITE_ERROR_KEY (SQLITE_ERROR | (5<<8))
+#define SQLITE_ERROR_UNABLE (SQLITE_ERROR | (6<<8))
#define SQLITE_IOERR_READ (SQLITE_IOERR | (1<<8))
#define SQLITE_IOERR_SHORT_READ (SQLITE_IOERR | (2<<8))
#define SQLITE_IOERR_WRITE (SQLITE_IOERR | (3<<8))
@@ -850,6 +858,8 @@ SQLITE_API int sqlite3_exec(
#define SQLITE_IOERR_DATA (SQLITE_IOERR | (32<<8))
#define SQLITE_IOERR_CORRUPTFS (SQLITE_IOERR | (33<<8))
#define SQLITE_IOERR_IN_PAGE (SQLITE_IOERR | (34<<8))
+#define SQLITE_IOERR_BADKEY (SQLITE_IOERR | (35<<8))
+#define SQLITE_IOERR_CODEC (SQLITE_IOERR | (36<<8))
#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8))
#define SQLITE_LOCKED_VTAB (SQLITE_LOCKED | (2<<8))
#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8))
@@ -908,7 +918,7 @@ SQLITE_API int sqlite3_exec(
** Note in particular that passing the SQLITE_OPEN_EXCLUSIVE flag into
** [sqlite3_open_v2()] does *not* cause the underlying database file
** to be opened using O_EXCL. Passing SQLITE_OPEN_EXCLUSIVE into
-** [sqlite3_open_v2()] has historically be a no-op and might become an
+** [sqlite3_open_v2()] has historically been a no-op and might become an
** error in future versions of SQLite.
*/
#define SQLITE_OPEN_READONLY 0x00000001 /* Ok for sqlite3_open_v2() */
@@ -1002,7 +1012,7 @@ SQLITE_API int sqlite3_exec(
** SQLite uses one of these integer values as the second
** argument to calls it makes to the xLock() and xUnlock() methods
** of an [sqlite3_io_methods] object. These values are ordered from
-** lest restrictive to most restrictive.
+** least restrictive to most restrictive.
**
** The argument to xLock() is always SHARED or higher. The argument to
** xUnlock is either SHARED or NONE.
@@ -1243,7 +1253,7 @@ struct sqlite3_io_methods {
** connection. See also [SQLITE_FCNTL_FILE_POINTER].
**
** <li>[[SQLITE_FCNTL_SYNC_OMITTED]]
-** No longer in use.
+** The SQLITE_FCNTL_SYNC_OMITTED file-control is no longer used.
**
** <li>[[SQLITE_FCNTL_SYNC]]
** The [SQLITE_FCNTL_SYNC] opcode is generated internally by SQLite and
@@ -1318,7 +1328,7 @@ struct sqlite3_io_methods {
**
** <li>[[SQLITE_FCNTL_VFSNAME]]
** ^The [SQLITE_FCNTL_VFSNAME] opcode can be used to obtain the names of
-** all [VFSes] in the VFS stack. The names are of all VFS shims and the
+** all [VFSes] in the VFS stack. The names of all VFS shims and the
** final bottom-level VFS are written into memory obtained from
** [sqlite3_malloc()] and the result is stored in the char* variable
** that the fourth parameter of [sqlite3_file_control()] points to.
@@ -1332,7 +1342,7 @@ struct sqlite3_io_methods {
** ^The [SQLITE_FCNTL_VFS_POINTER] opcode finds a pointer to the top-level
** [VFSes] currently in use. ^(The argument X in
** sqlite3_file_control(db,SQLITE_FCNTL_VFS_POINTER,X) must be
-** of type "[sqlite3_vfs] **". This opcodes will set *X
+** of type "[sqlite3_vfs] **". This opcode will set *X
** to a pointer to the top-level VFS.)^
** ^When there are multiple VFS shims in the stack, this opcode finds the
** upper-most shim only.
@@ -1482,6 +1492,12 @@ struct sqlite3_io_methods {
** the value that M is to be set to. Before returning, the 32-bit signed
** integer is overwritten with the previous value of M.
**
+** <li>[[SQLITE_FCNTL_BLOCK_ON_CONNECT]]
+** The [SQLITE_FCNTL_BLOCK_ON_CONNECT] opcode is used to configure the
+** VFS to block when taking a SHARED lock to connect to a wal mode database.
+** This is used to implement the functionality associated with
+** SQLITE_SETLK_BLOCK_ON_CONNECT.
+**
** <li>[[SQLITE_FCNTL_DATA_VERSION]]
** The [SQLITE_FCNTL_DATA_VERSION] opcode is used to detect changes to
** a database file. The argument is a pointer to a 32-bit unsigned integer.
@@ -1516,7 +1532,7 @@ struct sqlite3_io_methods {
** <li>[[SQLITE_FCNTL_EXTERNAL_READER]]
** The EXPERIMENTAL [SQLITE_FCNTL_EXTERNAL_READER] opcode is used to detect
** whether or not there is a database client in another process with a wal-mode
-** transaction open on the database or not. It is only available on unix.The
+** transaction open on the database or not. It is only available on unix. The
** (void*) argument passed with this file-control should be a pointer to a
** value of type (int). The integer value is set to 1 if the database is a wal
** mode database and there exists at least one client in another process that
@@ -1534,6 +1550,15 @@ struct sqlite3_io_methods {
** database is not a temp db, then the [SQLITE_FCNTL_RESET_CACHE] file-control
** purges the contents of the in-memory page cache. If there is an open
** transaction, or if the db is a temp-db, this opcode is a no-op, not an error.
+**
+** <li>[[SQLITE_FCNTL_FILESTAT]]
+** The [SQLITE_FCNTL_FILESTAT] opcode returns low-level diagnostic information
+** about the [sqlite3_file] objects used access the database and journal files
+** for the given schema. The fourth parameter to [sqlite3_file_control()]
+** should be an initialized [sqlite3_str] pointer. JSON text describing
+** various aspects of the sqlite3_file object is appended to the sqlite3_str.
+** The SQLITE_FCNTL_FILESTAT opcode is usually a no-op, unless compile-time
+** options are used to enable it.
** </ul>
*/
#define SQLITE_FCNTL_LOCKSTATE 1
@@ -1578,6 +1603,8 @@ struct sqlite3_io_methods {
#define SQLITE_FCNTL_CKSM_FILE 41
#define SQLITE_FCNTL_RESET_CACHE 42
#define SQLITE_FCNTL_NULL_IO 43
+#define SQLITE_FCNTL_BLOCK_ON_CONNECT 44
+#define SQLITE_FCNTL_FILESTAT 45
/* deprecated names */
#define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE
@@ -1940,7 +1967,7 @@ struct sqlite3_vfs {
** SQLite interfaces so that an application usually does not need to
** invoke sqlite3_initialize() directly. For example, [sqlite3_open()]
** calls sqlite3_initialize() so the SQLite library will be automatically
-** initialized when [sqlite3_open()] is called if it has not be initialized
+** initialized when [sqlite3_open()] is called if it has not been initialized
** already. ^However, if SQLite is compiled with the [SQLITE_OMIT_AUTOINIT]
** compile-time option, then the automatic calls to sqlite3_initialize()
** are omitted and the application must call sqlite3_initialize() directly
@@ -2197,21 +2224,21 @@ struct sqlite3_mem_methods {
** The [sqlite3_mem_methods]
** structure is filled with the currently defined memory allocation routines.)^
** This option can be used to overload the default memory allocation
-** routines with a wrapper that simulations memory allocation failure or
+** routines with a wrapper that simulates memory allocation failure or
** tracks memory usage, for example. </dd>
**
** [[SQLITE_CONFIG_SMALL_MALLOC]] <dt>SQLITE_CONFIG_SMALL_MALLOC</dt>
-** <dd> ^The SQLITE_CONFIG_SMALL_MALLOC option takes single argument of
+** <dd> ^The SQLITE_CONFIG_SMALL_MALLOC option takes a single argument of
** type int, interpreted as a boolean, which if true provides a hint to
** SQLite that it should avoid large memory allocations if possible.
** SQLite will run faster if it is free to make large memory allocations,
-** but some application might prefer to run slower in exchange for
+** but some applications might prefer to run slower in exchange for
** guarantees about memory fragmentation that are possible if large
** allocations are avoided. This hint is normally off.
** </dd>
**
** [[SQLITE_CONFIG_MEMSTATUS]] <dt>SQLITE_CONFIG_MEMSTATUS</dt>
-** <dd> ^The SQLITE_CONFIG_MEMSTATUS option takes single argument of type int,
+** <dd> ^The SQLITE_CONFIG_MEMSTATUS option takes a single argument of type int,
** interpreted as a boolean, which enables or disables the collection of
** memory allocation statistics. ^(When memory allocation statistics are
** disabled, the following SQLite interfaces become non-operational:
@@ -2256,7 +2283,7 @@ struct sqlite3_mem_methods {
** ^If pMem is NULL and N is non-zero, then each database connection
** does an initial bulk allocation for page cache memory
** from [sqlite3_malloc()] sufficient for N cache lines if N is positive or
-** of -1024*N bytes if N is negative, . ^If additional
+** of -1024*N bytes if N is negative. ^If additional
** page cache memory is needed beyond what is provided by the initial
** allocation, then SQLite goes to [sqlite3_malloc()] separately for each
** additional cache line. </dd>
@@ -2285,7 +2312,7 @@ struct sqlite3_mem_methods {
** <dd> ^(The SQLITE_CONFIG_MUTEX option takes a single argument which is a
** pointer to an instance of the [sqlite3_mutex_methods] structure.
** The argument specifies alternative low-level mutex routines to be used
-** in place the mutex routines built into SQLite.)^ ^SQLite makes a copy of
+** in place of the mutex routines built into SQLite.)^ ^SQLite makes a copy of
** the content of the [sqlite3_mutex_methods] structure before the call to
** [sqlite3_config()] returns. ^If SQLite is compiled with
** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then
@@ -2308,13 +2335,16 @@ struct sqlite3_mem_methods {
**
** [[SQLITE_CONFIG_LOOKASIDE]] <dt>SQLITE_CONFIG_LOOKASIDE</dt>
** <dd> ^(The SQLITE_CONFIG_LOOKASIDE option takes two arguments that determine
-** the default size of lookaside memory on each [database connection].
+** the default size of [lookaside memory] on each [database connection].
** The first argument is the
-** size of each lookaside buffer slot and the second is the number of
-** slots allocated to each database connection.)^ ^(SQLITE_CONFIG_LOOKASIDE
-** sets the <i>default</i> lookaside size. The [SQLITE_DBCONFIG_LOOKASIDE]
-** option to [sqlite3_db_config()] can be used to change the lookaside
-** configuration on individual connections.)^ </dd>
+** size of each lookaside buffer slot ("sz") and the second is the number of
+** slots allocated to each database connection ("cnt").)^
+** ^(SQLITE_CONFIG_LOOKASIDE sets the <i>default</i> lookaside size.
+** The [SQLITE_DBCONFIG_LOOKASIDE] option to [sqlite3_db_config()] can
+** be used to change the lookaside configuration on individual connections.)^
+** The [-DSQLITE_DEFAULT_LOOKASIDE] option can be used to change the
+** default lookaside configuration at compile-time.
+** </dd>
**
** [[SQLITE_CONFIG_PCACHE2]] <dt>SQLITE_CONFIG_PCACHE2</dt>
** <dd> ^(The SQLITE_CONFIG_PCACHE2 option takes a single argument which is
@@ -2324,7 +2354,7 @@ struct sqlite3_mem_methods {
**
** [[SQLITE_CONFIG_GETPCACHE2]] <dt>SQLITE_CONFIG_GETPCACHE2</dt>
** <dd> ^(The SQLITE_CONFIG_GETPCACHE2 option takes a single argument which
-** is a pointer to an [sqlite3_pcache_methods2] object. SQLite copies of
+** is a pointer to an [sqlite3_pcache_methods2] object. SQLite copies off
** the current page cache implementation into that object.)^ </dd>
**
** [[SQLITE_CONFIG_LOG]] <dt>SQLITE_CONFIG_LOG</dt>
@@ -2341,7 +2371,7 @@ struct sqlite3_mem_methods {
** the logger function is a copy of the first parameter to the corresponding
** [sqlite3_log()] call and is intended to be a [result code] or an
** [extended result code]. ^The third parameter passed to the logger is
-** log message after formatting via [sqlite3_snprintf()].
+** a log message after formatting via [sqlite3_snprintf()].
** The SQLite logging interface is not reentrant; the logger function
** supplied by the application must not invoke any SQLite interface.
** In a multi-threaded application, the application-defined logger
@@ -2532,7 +2562,7 @@ struct sqlite3_mem_methods {
** These constants are the available integer configuration options that
** can be passed as the second parameter to the [sqlite3_db_config()] interface.
**
-** The [sqlite3_db_config()] interface is a var-args functions. It takes a
+** The [sqlite3_db_config()] interface is a var-args function. It takes a
** variable number of parameters, though always at least two. The number of
** parameters passed into sqlite3_db_config() depends on which of these
** constants is given as the second parameter. This documentation page
@@ -2551,31 +2581,50 @@ struct sqlite3_mem_methods {
** [[SQLITE_DBCONFIG_LOOKASIDE]]
** <dt>SQLITE_DBCONFIG_LOOKASIDE</dt>
** <dd> The SQLITE_DBCONFIG_LOOKASIDE option is used to adjust the
-** configuration of the lookaside memory allocator within a database
+** configuration of the [lookaside memory allocator] within a database
** connection.
** The arguments to the SQLITE_DBCONFIG_LOOKASIDE option are <i>not</i>
** in the [DBCONFIG arguments|usual format].
** The SQLITE_DBCONFIG_LOOKASIDE option takes three arguments, not two,
** so that a call to [sqlite3_db_config()] that uses SQLITE_DBCONFIG_LOOKASIDE
** should have a total of five parameters.
-** ^The first argument (the third parameter to [sqlite3_db_config()] is a
+** <ol>
+** <li><p>The first argument ("buf") is a
** pointer to a memory buffer to use for lookaside memory.
-** ^The first argument after the SQLITE_DBCONFIG_LOOKASIDE verb
-** may be NULL in which case SQLite will allocate the
-** lookaside buffer itself using [sqlite3_malloc()]. ^The second argument is the
-** size of each lookaside buffer slot. ^The third argument is the number of
-** slots. The size of the buffer in the first argument must be greater than
-** or equal to the product of the second and third arguments. The buffer
-** must be aligned to an 8-byte boundary. ^If the second argument to
-** SQLITE_DBCONFIG_LOOKASIDE is not a multiple of 8, it is internally
-** rounded down to the next smaller multiple of 8. ^(The lookaside memory
+** The first argument may be NULL in which case SQLite will allocate the
+** lookaside buffer itself using [sqlite3_malloc()].
+** <li><P>The second argument ("sz") is the
+** size of each lookaside buffer slot. Lookaside is disabled if "sz"
+** is less than 8. The "sz" argument should be a multiple of 8 less than
+** 65536. If "sz" does not meet this constraint, it is reduced in size until
+** it does.
+** <li><p>The third argument ("cnt") is the number of slots. Lookaside is disabled
+** if "cnt"is less than 1. The "cnt" value will be reduced, if necessary, so
+** that the product of "sz" and "cnt" does not exceed 2,147,418,112. The "cnt"
+** parameter is usually chosen so that the product of "sz" and "cnt" is less
+** than 1,000,000.
+** </ol>
+** <p>If the "buf" argument is not NULL, then it must
+** point to a memory buffer with a size that is greater than
+** or equal to the product of "sz" and "cnt".
+** The buffer must be aligned to an 8-byte boundary.
+** The lookaside memory
** configuration for a database connection can only be changed when that
** connection is not currently using lookaside memory, or in other words
-** when the "current value" returned by
-** [sqlite3_db_status](D,[SQLITE_DBSTATUS_LOOKASIDE_USED],...) is zero.
+** when the value returned by [SQLITE_DBSTATUS_LOOKASIDE_USED] is zero.
** Any attempt to change the lookaside memory configuration when lookaside
** memory is in use leaves the configuration unchanged and returns
-** [SQLITE_BUSY].)^</dd>
+** [SQLITE_BUSY].
+** If the "buf" argument is NULL and an attempt
+** to allocate memory based on "sz" and "cnt" fails, then
+** lookaside is silently disabled.
+** <p>
+** The [SQLITE_CONFIG_LOOKASIDE] configuration option can be used to set the
+** default lookaside configuration at initialization. The
+** [-DSQLITE_DEFAULT_LOOKASIDE] option can be used to set the default lookaside
+** configuration at compile-time. Typical values for lookaside are 1200 for
+** "sz" and 40 to 100 for "cnt".
+** </dd>
**
** [[SQLITE_DBCONFIG_ENABLE_FKEY]]
** <dt>SQLITE_DBCONFIG_ENABLE_FKEY</dt>
@@ -2625,17 +2674,20 @@ struct sqlite3_mem_methods {
**
** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]]
** <dt>SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER</dt>
-** <dd> ^This option is used to enable or disable the
-** [fts3_tokenizer()] function which is part of the
-** [FTS3] full-text search engine extension.
-** There must be two additional arguments.
-** The first argument is an integer which is 0 to disable fts3_tokenizer() or
-** positive to enable fts3_tokenizer() or negative to leave the setting
-** unchanged.
-** The second parameter is a pointer to an integer into which
-** is written 0 or 1 to indicate whether fts3_tokenizer is disabled or enabled
-** following this call. The second parameter may be a NULL pointer, in
-** which case the new setting is not reported back. </dd>
+** <dd> ^This option is used to enable or disable using the
+** [fts3_tokenizer()] function - part of the [FTS3] full-text search engine
+** extension - without using bound parameters as the parameters. Doing so
+** is disabled by default. There must be two additional arguments. The first
+** argument is an integer. If it is passed 0, then using fts3_tokenizer()
+** without bound parameters is disabled. If it is passed a positive value,
+** then calling fts3_tokenizer without bound parameters is enabled. If it
+** is passed a negative value, this setting is not modified - this can be
+** used to query for the current setting. The second parameter is a pointer
+** to an integer into which is written 0 or 1 to indicate the current value
+** of this setting (after it is modified, if applicable). The second
+** parameter may be a NULL pointer, in which case the value of the setting
+** is not reported back. Refer to [FTS3] documentation for further details.
+** </dd>
**
** [[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION]]
** <dt>SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION</dt>
@@ -2647,8 +2699,8 @@ struct sqlite3_mem_methods {
** When the first argument to this interface is 1, then only the C-API is
** enabled and the SQL function remains disabled. If the first argument to
** this interface is 0, then both the C-API and the SQL function are disabled.
-** If the first argument is -1, then no changes are made to state of either the
-** C-API or the SQL function.
+** If the first argument is -1, then no changes are made to the state of either
+** the C-API or the SQL function.
** The second parameter is a pointer to an integer into which
** is written 0 or 1 to indicate whether [sqlite3_load_extension()] interface
** is disabled or enabled following this call. The second parameter may
@@ -2766,7 +2818,7 @@ struct sqlite3_mem_methods {
** [[SQLITE_DBCONFIG_LEGACY_ALTER_TABLE]]
** <dt>SQLITE_DBCONFIG_LEGACY_ALTER_TABLE</dt>
** <dd>The SQLITE_DBCONFIG_LEGACY_ALTER_TABLE option activates or deactivates
-** the legacy behavior of the [ALTER TABLE RENAME] command such it
+** the legacy behavior of the [ALTER TABLE RENAME] command such that it
** behaves as it did prior to [version 3.24.0] (2018-06-04). See the
** "Compatibility Notice" on the [ALTER TABLE RENAME documentation] for
** additional information. This feature can also be turned on and off
@@ -2815,7 +2867,7 @@ struct sqlite3_mem_methods {
** <dt>SQLITE_DBCONFIG_LEGACY_FILE_FORMAT</dt>
** <dd>The SQLITE_DBCONFIG_LEGACY_FILE_FORMAT option activates or deactivates
** the legacy file format flag. When activated, this flag causes all newly
-** created database file to have a schema format version number (the 4-byte
+** created database files to have a schema format version number (the 4-byte
** integer found at offset 44 into the database header) of 1. This in turn
** means that the resulting database file will be readable and writable by
** any SQLite version back to 3.0.0 ([dateof:3.0.0]). Without this setting,
@@ -2842,7 +2894,7 @@ struct sqlite3_mem_methods {
** the database handle both when the SQL statement is prepared and when it
** is stepped. The flag is set (collection of statistics is enabled)
** by default. <p>This option takes two arguments: an integer and a pointer to
-** an integer.. The first argument is 1, 0, or -1 to enable, disable, or
+** an integer. The first argument is 1, 0, or -1 to enable, disable, or
** leave unchanged the statement scanstatus option. If the second argument
** is not NULL, then the value of the statement scanstatus setting after
** processing the first argument is written into the integer that the second
@@ -2885,8 +2937,8 @@ struct sqlite3_mem_methods {
** <dd>The SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE option enables or disables the
** ability of the [ATTACH DATABASE] SQL command to open a database for writing.
** This capability is enabled by default. Applications can disable or
-** reenable this capability using the current DBCONFIG option. If the
-** the this capability is disabled, the [ATTACH] command will still work,
+** reenable this capability using the current DBCONFIG option. If
+** this capability is disabled, the [ATTACH] command will still work,
** but the database will be opened read-only. If this option is disabled,
** then the ability to create a new database using [ATTACH] is also disabled,
** regardless of the value of the [SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE]
@@ -2920,7 +2972,7 @@ struct sqlite3_mem_methods {
**
** <p>Most of the SQLITE_DBCONFIG options take two arguments, so that the
** overall call to [sqlite3_db_config()] has a total of four parameters.
-** The first argument (the third parameter to sqlite3_db_config()) is a integer.
+** The first argument (the third parameter to sqlite3_db_config()) is an integer.
** The second argument is a pointer to an integer. If the first argument is 1,
** then the option becomes enabled. If the first integer argument is 0, then the
** option is disabled. If the first argument is -1, then the option setting
@@ -3210,7 +3262,7 @@ SQLITE_API int sqlite3_is_interrupted(sqlite3*);
** ^These routines return 0 if the statement is incomplete. ^If a
** memory allocation fails, then SQLITE_NOMEM is returned.
**
-** ^These routines do not parse the SQL statements thus
+** ^These routines do not parse the SQL statements and thus
** will not detect syntactically incorrect SQL.
**
** ^(If SQLite has not been initialized using [sqlite3_initialize()] prior
@@ -3312,6 +3364,44 @@ SQLITE_API int sqlite3_busy_handler(sqlite3*,int(*)(void*,int),void*);
*/
SQLITE_API int sqlite3_busy_timeout(sqlite3*, int ms);
+/*
+** CAPI3REF: Set the Setlk Timeout
+** METHOD: sqlite3
+**
+** This routine is only useful in SQLITE_ENABLE_SETLK_TIMEOUT builds. If
+** the VFS supports blocking locks, it sets the timeout in ms used by
+** eligible locks taken on wal mode databases by the specified database
+** handle. In non-SQLITE_ENABLE_SETLK_TIMEOUT builds, or if the VFS does
+** not support blocking locks, this function is a no-op.
+**
+** Passing 0 to this function disables blocking locks altogether. Passing
+** -1 to this function requests that the VFS blocks for a long time -
+** indefinitely if possible. The results of passing any other negative value
+** are undefined.
+**
+** Internally, each SQLite database handle stores two timeout values - the
+** busy-timeout (used for rollback mode databases, or if the VFS does not
+** support blocking locks) and the setlk-timeout (used for blocking locks
+** on wal-mode databases). The sqlite3_busy_timeout() method sets both
+** values, this function sets only the setlk-timeout value. Therefore,
+** to configure separate busy-timeout and setlk-timeout values for a single
+** database handle, call sqlite3_busy_timeout() followed by this function.
+**
+** Whenever the number of connections to a wal mode database falls from
+** 1 to 0, the last connection takes an exclusive lock on the database,
+** then checkpoints and deletes the wal file. While it is doing this, any
+** new connection that tries to read from the database fails with an
+** SQLITE_BUSY error. Or, if the SQLITE_SETLK_BLOCK_ON_CONNECT flag is
+** passed to this API, the new connection blocks until the exclusive lock
+** has been released.
+*/
+SQLITE_API int sqlite3_setlk_timeout(sqlite3*, int ms, int flags);
+
+/*
+** CAPI3REF: Flags for sqlite3_setlk_timeout()
+*/
+#define SQLITE_SETLK_BLOCK_ON_CONNECT 0x01
+
/*
** CAPI3REF: Convenience Routines For Running Queries
** METHOD: sqlite3
@@ -3319,7 +3409,7 @@ SQLITE_API int sqlite3_busy_timeout(sqlite3*, int ms);
** This is a legacy interface that is preserved for backwards compatibility.
** Use of this interface is not recommended.
**
-** Definition: A <b>result table</b> is memory data structure created by the
+** Definition: A <b>result table</b> is a memory data structure created by the
** [sqlite3_get_table()] interface. A result table records the
** complete query results from one or more queries.
**
@@ -3462,7 +3552,7 @@ SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list);
** ^Calling sqlite3_free() with a pointer previously returned
** by sqlite3_malloc() or sqlite3_realloc() releases that memory so
** that it might be reused. ^The sqlite3_free() routine is
-** a no-op if is called with a NULL pointer. Passing a NULL pointer
+** a no-op if it is called with a NULL pointer. Passing a NULL pointer
** to sqlite3_free() is harmless. After being freed, memory
** should neither be read nor written. Even reading previously freed
** memory might result in a segmentation fault or other severe error.
@@ -3480,13 +3570,13 @@ SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list);
** sqlite3_free(X).
** ^sqlite3_realloc(X,N) returns a pointer to a memory allocation
** of at least N bytes in size or NULL if insufficient memory is available.
-** ^If M is the size of the prior allocation, then min(N,M) bytes
-** of the prior allocation are copied into the beginning of buffer returned
+** ^If M is the size of the prior allocation, then min(N,M) bytes of the
+** prior allocation are copied into the beginning of the buffer returned
** by sqlite3_realloc(X,N) and the prior allocation is freed.
** ^If sqlite3_realloc(X,N) returns NULL and N is positive, then the
** prior allocation is not freed.
**
-** ^The sqlite3_realloc64(X,N) interfaces works the same as
+** ^The sqlite3_realloc64(X,N) interface works the same as
** sqlite3_realloc(X,N) except that N is a 64-bit unsigned integer instead
** of a 32-bit signed integer.
**
@@ -3536,7 +3626,7 @@ SQLITE_API sqlite3_uint64 sqlite3_msize(void*);
** was last reset. ^The values returned by [sqlite3_memory_used()] and
** [sqlite3_memory_highwater()] include any overhead
** added by SQLite in its implementation of [sqlite3_malloc()],
-** but not overhead added by the any underlying system library
+** but not overhead added by any underlying system library
** routines that [sqlite3_malloc()] may call.
**
** ^The memory high-water mark is reset to the current value of
@@ -3988,7 +4078,7 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
** there is no harm in trying.)
**
** ^(<dt>[SQLITE_OPEN_SHAREDCACHE]</dt>
-** <dd>The database is opened [shared cache] enabled, overriding
+** <dd>The database is opened with [shared cache] enabled, overriding
** the default shared cache setting provided by
** [sqlite3_enable_shared_cache()].)^
** The [use of shared cache mode is discouraged] and hence shared cache
@@ -3996,7 +4086,7 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
** this option is a no-op.
**
** ^(<dt>[SQLITE_OPEN_PRIVATECACHE]</dt>
-** <dd>The database is opened [shared cache] disabled, overriding
+** <dd>The database is opened with [shared cache] disabled, overriding
** the default shared cache setting provided by
** [sqlite3_enable_shared_cache()].)^
**
@@ -4331,7 +4421,7 @@ SQLITE_API sqlite3_file *sqlite3_database_file_object(const char*);
**
** The sqlite3_create_filename(D,J,W,N,P) allocates memory to hold a version of
** database filename D with corresponding journal file J and WAL file W and
-** with N URI parameters key/values pairs in the array P. The result from
+** an array P of N URI Key/Value pairs. The result from
** sqlite3_create_filename(D,J,W,N,P) is a pointer to a database filename that
** is safe to pass to routines like:
** <ul>
@@ -4414,7 +4504,7 @@ SQLITE_API void sqlite3_free_filename(sqlite3_filename);
** subsequent calls to other SQLite interface functions.)^
**
** ^The sqlite3_errstr(E) interface returns the English-language text
-** that describes the [result code] E, as UTF-8, or NULL if E is not an
+** that describes the [result code] E, as UTF-8, or NULL if E is not a
** result code for which a text error message is available.
** ^(Memory to hold the error message string is managed internally
** and must not be freed by the application)^.
@@ -4422,7 +4512,7 @@ SQLITE_API void sqlite3_free_filename(sqlite3_filename);
** ^If the most recent error references a specific token in the input
** SQL, the sqlite3_error_offset() interface returns the byte offset
** of the start of that token. ^The byte offset returned by
-** sqlite3_error_offset() assumes that the input SQL is UTF8.
+** sqlite3_error_offset() assumes that the input SQL is UTF-8.
** ^If the most recent error does not reference a specific token in the input
** SQL, then the sqlite3_error_offset() function returns -1.
**
@@ -4447,6 +4537,34 @@ SQLITE_API const void *sqlite3_errmsg16(sqlite3*);
SQLITE_API const char *sqlite3_errstr(int);
SQLITE_API int sqlite3_error_offset(sqlite3 *db);
+/*
+** CAPI3REF: Set Error Codes And Message
+** METHOD: sqlite3
+**
+** Set the error code of the database handle passed as the first argument
+** to errcode, and the error message to a copy of nul-terminated string
+** zErrMsg. If zErrMsg is passed NULL, then the error message is set to
+** the default message associated with the supplied error code. Subsequent
+** calls to [sqlite3_errcode()] and [sqlite3_errmsg()] and similar will
+** return the values set by this routine in place of what was previously
+** set by SQLite itself.
+**
+** This function returns SQLITE_OK if the error code and error message are
+** successfully set, SQLITE_NOMEM if an OOM occurs, and SQLITE_MISUSE if
+** the database handle is NULL or invalid.
+**
+** The error code and message set by this routine remains in effect until
+** they are changed, either by another call to this routine or until they are
+** changed to by SQLite itself to reflect the result of some subsquent
+** API call.
+**
+** This function is intended for use by SQLite extensions or wrappers. The
+** idea is that an extension or wrapper can use this routine to set error
+** messages and error codes and thus behave more like a core SQLite
+** feature from the point of view of an application.
+*/
+SQLITE_API int sqlite3_set_errmsg(sqlite3 *db, int errcode, const char *zErrMsg);
+
/*
** CAPI3REF: Prepared Statement Object
** KEYWORDS: {prepared statement} {prepared statements}
@@ -4521,8 +4639,8 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
**
** These constants define various performance limits
** that can be lowered at run-time using [sqlite3_limit()].
-** The synopsis of the meanings of the various limits is shown below.
-** Additional information is available at [limits | Limits in SQLite].
+** A concise description of these limits follows, and additional information
+** is available at [limits | Limits in SQLite].
**
** <dl>
** [[SQLITE_LIMIT_LENGTH]] ^(<dt>SQLITE_LIMIT_LENGTH</dt>
@@ -4587,7 +4705,7 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
/*
** CAPI3REF: Prepare Flags
**
-** These constants define various flags that can be passed into
+** These constants define various flags that can be passed into the
** "prepFlags" parameter of the [sqlite3_prepare_v3()] and
** [sqlite3_prepare16_v3()] interfaces.
**
@@ -4674,7 +4792,7 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
** there is a small performance advantage to passing an nByte parameter that
** is the number of bytes in the input string <i>including</i>
** the nul-terminator.
-** Note that nByte measure the length of the input in bytes, not
+** Note that nByte measures the length of the input in bytes, not
** characters, even for the UTF-16 interfaces.
**
** ^If pzTail is not NULL then *pzTail is made to point to the first byte
@@ -4808,7 +4926,7 @@ SQLITE_API int sqlite3_prepare16_v3(
**
** ^The sqlite3_expanded_sql() interface returns NULL if insufficient memory
** is available to hold the result, or if the result would exceed the
-** the maximum string length determined by the [SQLITE_LIMIT_LENGTH].
+** maximum string length determined by the [SQLITE_LIMIT_LENGTH].
**
** ^The [SQLITE_TRACE_SIZE_LIMIT] compile-time option limits the size of
** bound parameter expansions. ^The [SQLITE_OMIT_TRACE] compile-time
@@ -4996,7 +5114,7 @@ typedef struct sqlite3_value sqlite3_value;
**
** The context in which an SQL function executes is stored in an
** sqlite3_context object. ^A pointer to an sqlite3_context object
-** is always first parameter to [application-defined SQL functions].
+** is always the first parameter to [application-defined SQL functions].
** The application-defined SQL function implementation will pass this
** pointer through into calls to [sqlite3_result_int | sqlite3_result()],
** [sqlite3_aggregate_context()], [sqlite3_user_data()],
@@ -5012,7 +5130,7 @@ typedef struct sqlite3_context sqlite3_context;
** METHOD: sqlite3_stmt
**
** ^(In the SQL statement text input to [sqlite3_prepare_v2()] and its variants,
-** literals may be replaced by a [parameter] that matches one of following
+** literals may be replaced by a [parameter] that matches one of the following
** templates:
**
** <ul>
@@ -5057,7 +5175,7 @@ typedef struct sqlite3_context sqlite3_context;
**
** [[byte-order determination rules]] ^The byte-order of
** UTF16 input text is determined by the byte-order mark (BOM, U+FEFF)
-** found in first character, which is removed, or in the absence of a BOM
+** found in the first character, which is removed, or in the absence of a BOM
** the byte order is the native byte order of the host
** machine for sqlite3_bind_text16() or the byte order specified in
** the 6th parameter for sqlite3_bind_text64().)^
@@ -5077,7 +5195,7 @@ typedef struct sqlite3_context sqlite3_context;
** or sqlite3_bind_text16() or sqlite3_bind_text64() then
** that parameter must be the byte offset
** where the NUL terminator would occur assuming the string were NUL
-** terminated. If any NUL characters occurs at byte offsets less than
+** terminated. If any NUL characters occur at byte offsets less than
** the value of the fourth parameter then the resulting string value will
** contain embedded NULs. The result of expressions involving strings
** with embedded NULs is undefined.
@@ -5120,9 +5238,11 @@ typedef struct sqlite3_context sqlite3_context;
** associated with the pointer P of type T. ^D is either a NULL pointer or
** a pointer to a destructor function for P. ^SQLite will invoke the
** destructor D with a single argument of P when it is finished using
-** P. The T parameter should be a static string, preferably a string
-** literal. The sqlite3_bind_pointer() routine is part of the
-** [pointer passing interface] added for SQLite 3.20.0.
+** P, even if the call to sqlite3_bind_pointer() fails. Due to a
+** historical design quirk, results are undefined if D is
+** SQLITE_TRANSIENT. The T parameter should be a static string,
+** preferably a string literal. The sqlite3_bind_pointer() routine is
+** part of the [pointer passing interface] added for SQLite 3.20.0.
**
** ^If any of the sqlite3_bind_*() routines are called with a NULL pointer
** for the [prepared statement] or with a prepared statement for which
@@ -5289,7 +5409,7 @@ SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt*, int N);
** METHOD: sqlite3_stmt
**
** ^These routines provide a means to determine the database, table, and
-** table column that is the origin of a particular result column in
+** table column that is the origin of a particular result column in a
** [SELECT] statement.
** ^The name of the database or table or column can be returned as
** either a UTF-8 or UTF-16 string. ^The _database_ routines return
@@ -5427,7 +5547,7 @@ SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int);
** other than [SQLITE_ROW] before any subsequent invocation of
** sqlite3_step(). Failure to reset the prepared statement using
** [sqlite3_reset()] would result in an [SQLITE_MISUSE] return from
-** sqlite3_step(). But after [version 3.6.23.1] ([dateof:3.6.23.1],
+** sqlite3_step(). But after [version 3.6.23.1] ([dateof:3.6.23.1]),
** sqlite3_step() began
** calling [sqlite3_reset()] automatically in this circumstance rather
** than returning [SQLITE_MISUSE]. This is not considered a compatibility
@@ -5733,7 +5853,7 @@ SQLITE_API int sqlite3_column_type(sqlite3_stmt*, int iCol);
**
** ^The sqlite3_finalize() function is called to delete a [prepared statement].
** ^If the most recent evaluation of the statement encountered no errors
-** or if the statement is never been evaluated, then sqlite3_finalize() returns
+** or if the statement has never been evaluated, then sqlite3_finalize() returns
** SQLITE_OK. ^If the most recent evaluation of statement S failed, then
** sqlite3_finalize(S) returns the appropriate [error code] or
** [extended error code].
@@ -5858,8 +5978,8 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
**
** For best security, the [SQLITE_DIRECTONLY] flag is recommended for
** all application-defined SQL functions that do not need to be
-** used inside of triggers, view, CHECK constraints, or other elements of
-** the database schema. This flags is especially recommended for SQL
+** used inside of triggers, views, CHECK constraints, or other elements of
+** the database schema. This flag is especially recommended for SQL
** functions that have side effects or reveal internal application state.
** Without this flag, an attacker might be able to modify the schema of
** a database file to include invocations of the function with parameters
@@ -5890,7 +6010,7 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
** [user-defined window functions|available here].
**
** ^(If the final parameter to sqlite3_create_function_v2() or
-** sqlite3_create_window_function() is not NULL, then it is destructor for
+** sqlite3_create_window_function() is not NULL, then it is the destructor for
** the application data pointer. The destructor is invoked when the function
** is deleted, either by being overloaded or when the database connection
** closes.)^ ^The destructor is also invoked if the call to
@@ -5965,7 +6085,7 @@ SQLITE_API int sqlite3_create_window_function(
/*
** CAPI3REF: Text Encodings
**
-** These constant define integer codes that represent the various
+** These constants define integer codes that represent the various
** text encodings supported by SQLite.
*/
#define SQLITE_UTF8 1 /* IMP: R-37514-35566 */
@@ -6057,7 +6177,7 @@ SQLITE_API int sqlite3_create_window_function(
** result.
** Every function that invokes [sqlite3_result_subtype()] should have this
** property. If it does not, then the call to [sqlite3_result_subtype()]
-** might become a no-op if the function is used as term in an
+** might become a no-op if the function is used as a term in an
** [expression index]. On the other hand, SQL functions that never invoke
** [sqlite3_result_subtype()] should avoid setting this property, as the
** purpose of this property is to disable certain optimizations that are
@@ -6184,7 +6304,7 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6
** sqlite3_value_nochange(X) interface returns true if and only if
** the column corresponding to X is unchanged by the UPDATE operation
** that the xUpdate method call was invoked to implement and if
-** and the prior [xColumn] method call that was invoked to extracted
+** the prior [xColumn] method call that was invoked to extract
** the value for that column returned without setting a result (probably
** because it queried [sqlite3_vtab_nochange()] and found that the column
** was unchanging). ^Within an [xUpdate] method, any value for which
@@ -6290,7 +6410,7 @@ SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value*);
** METHOD: sqlite3_value
**
** ^The sqlite3_value_dup(V) interface makes a copy of the [sqlite3_value]
-** object D and returns a pointer to that copy. ^The [sqlite3_value] returned
+** object V and returns a pointer to that copy. ^The [sqlite3_value] returned
** is a [protected sqlite3_value] object even if the input is not.
** ^The sqlite3_value_dup(V) interface returns NULL if V is NULL or if a
** memory allocation fails. ^If V is a [pointer value], then the result
@@ -6328,7 +6448,7 @@ SQLITE_API void sqlite3_value_free(sqlite3_value*);
** allocation error occurs.
**
** ^(The amount of space allocated by sqlite3_aggregate_context(C,N) is
-** determined by the N parameter on first successful call. Changing the
+** determined by the N parameter on the first successful call. Changing the
** value of N in any subsequent call to sqlite3_aggregate_context() within
** the same aggregate function instance will not resize the memory
** allocation.)^ Within the xFinal callback, it is customary to set
@@ -6457,6 +6577,7 @@ SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(voi
** or a NULL pointer if there were no prior calls to
** sqlite3_set_clientdata() with the same values of D and N.
** Names are compared using strcmp() and are thus case sensitive.
+** It returns 0 on success and SQLITE_NOMEM on allocation failure.
**
** If P and X are both non-NULL, then the destructor X is invoked with
** argument P on the first of the following occurrences:
@@ -6490,7 +6611,7 @@ SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(voi
**
** Security Warning: These interfaces should not be exposed in scripting
** languages or in other circumstances where it might be possible for an
-** an attacker to invoke them. Any agent that can invoke these interfaces
+** attacker to invoke them. Any agent that can invoke these interfaces
** can probably also take control of the process.
**
** Database connection client data is only available for SQLite
@@ -6604,7 +6725,7 @@ typedef void (*sqlite3_destructor_type)(void*);
** pointed to by the 2nd parameter are taken as the application-defined
** function result. If the 3rd parameter is non-negative, then it
** must be the byte offset into the string where the NUL terminator would
-** appear if the string where NUL terminated. If any NUL characters occur
+** appear if the string were NUL terminated. If any NUL characters occur
** in the string at a byte offset that is less than the value of the 3rd
** parameter, then the resulting string will contain embedded NULs and the
** result of expressions operating on strings with embedded NULs is undefined.
@@ -6662,7 +6783,7 @@ typedef void (*sqlite3_destructor_type)(void*);
** string and preferably a string literal. The sqlite3_result_pointer()
** routine is part of the [pointer passing interface] added for SQLite 3.20.0.
**
-** If these routines are called from within the different thread
+** If these routines are called from within a different thread
** than the one containing the application-defined function that received
** the [sqlite3_context] pointer, the results are undefined.
*/
@@ -7068,7 +7189,7 @@ SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
** METHOD: sqlite3
**
** ^The sqlite3_db_name(D,N) interface returns a pointer to the schema name
-** for the N-th database on database connection D, or a NULL pointer of N is
+** for the N-th database on database connection D, or a NULL pointer if N is
** out of range. An N value of 0 means the main database file. An N of 1 is
** the "temp" schema. Larger values of N correspond to various ATTACH-ed
** databases.
@@ -7163,7 +7284,7 @@ SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema);
** <dd>The SQLITE_TXN_READ state means that the database is currently
** in a read transaction. Content has been read from the database file
** but nothing in the database file has changed. The transaction state
-** will advanced to SQLITE_TXN_WRITE if any changes occur and there are
+** will be advanced to SQLITE_TXN_WRITE if any changes occur and there are
** no other conflicting concurrent write transactions. The transaction
** state will revert to SQLITE_TXN_NONE following a [ROLLBACK] or
** [COMMIT].</dd>
@@ -7172,7 +7293,7 @@ SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema);
** <dd>The SQLITE_TXN_WRITE state means that the database is currently
** in a write transaction. Content has been written to the database file
** but has not yet committed. The transaction state will change to
-** to SQLITE_TXN_NONE at the next [ROLLBACK] or [COMMIT].</dd>
+** SQLITE_TXN_NONE at the next [ROLLBACK] or [COMMIT].</dd>
*/
#define SQLITE_TXN_NONE 0
#define SQLITE_TXN_READ 1
@@ -7323,6 +7444,8 @@ SQLITE_API int sqlite3_autovacuum_pages(
**
** ^The second argument is a pointer to the function to invoke when a
** row is updated, inserted or deleted in a rowid table.
+** ^The update hook is disabled by invoking sqlite3_update_hook()
+** with a NULL pointer as the second parameter.
** ^The first argument to the callback is a copy of the third argument
** to sqlite3_update_hook().
** ^The second callback argument is one of [SQLITE_INSERT], [SQLITE_DELETE],
@@ -7451,7 +7574,7 @@ SQLITE_API int sqlite3_db_release_memory(sqlite3*);
** CAPI3REF: Impose A Limit On Heap Size
**
** These interfaces impose limits on the amount of heap memory that will be
-** by all database connections within a single process.
+** used by all database connections within a single process.
**
** ^The sqlite3_soft_heap_limit64() interface sets and/or queries the
** soft limit on the amount of heap memory that may be allocated by SQLite.
@@ -7509,7 +7632,7 @@ SQLITE_API int sqlite3_db_release_memory(sqlite3*);
** </ul>)^
**
** The circumstances under which SQLite will enforce the heap limits may
-** changes in future releases of SQLite.
+** change in future releases of SQLite.
*/
SQLITE_API sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 N);
SQLITE_API sqlite3_int64 sqlite3_hard_heap_limit64(sqlite3_int64 N);
@@ -7624,8 +7747,8 @@ SQLITE_API int sqlite3_table_column_metadata(
** ^The entry point is zProc.
** ^(zProc may be 0, in which case SQLite will try to come up with an
** entry point name on its own. It first tries "sqlite3_extension_init".
-** If that does not work, it constructs a name "sqlite3_X_init" where the
-** X is consists of the lower-case equivalent of all ASCII alphabetic
+** If that does not work, it constructs a name "sqlite3_X_init" where
+** X consists of the lower-case equivalent of all ASCII alphabetic
** characters in the filename from the last "/" to the first following
** "." and omitting any initial "lib".)^
** ^The sqlite3_load_extension() interface returns
@@ -7696,7 +7819,7 @@ SQLITE_API int sqlite3_enable_load_extension(sqlite3 *db, int onoff);
** ^(Even though the function prototype shows that xEntryPoint() takes
** no arguments and returns void, SQLite invokes xEntryPoint() with three
** arguments and expects an integer result as if the signature of the
-** entry point where as follows:
+** entry point were as follows:
**
** <blockquote><pre>
** int xEntryPoint(
@@ -7860,7 +7983,7 @@ struct sqlite3_module {
** virtual table and might not be checked again by the byte code.)^ ^(The
** aConstraintUsage[].omit flag is an optimization hint. When the omit flag
** is left in its default setting of false, the constraint will always be
-** checked separately in byte code. If the omit flag is change to true, then
+** checked separately in byte code. If the omit flag is changed to true, then
** the constraint may or may not be checked in byte code. In other words,
** when the omit flag is true there is no guarantee that the constraint will
** not be checked again using byte code.)^
@@ -7886,7 +8009,7 @@ struct sqlite3_module {
** The xBestIndex method may optionally populate the idxFlags field with a
** mask of SQLITE_INDEX_SCAN_* flags. One such flag is
** [SQLITE_INDEX_SCAN_HEX], which if set causes the [EXPLAIN QUERY PLAN]
-** output to show the idxNum has hex instead of as decimal. Another flag is
+** output to show the idxNum as hex instead of as decimal. Another flag is
** SQLITE_INDEX_SCAN_UNIQUE, which if set indicates that the query plan will
** return at most one row.
**
@@ -8027,7 +8150,7 @@ struct sqlite3_index_info {
** the implementation of the [virtual table module]. ^The fourth
** parameter is an arbitrary client data pointer that is passed through
** into the [xCreate] and [xConnect] methods of the virtual table module
-** when a new virtual table is be being created or reinitialized.
+** when a new virtual table is being created or reinitialized.
**
** ^The sqlite3_create_module_v2() interface has a fifth parameter which
** is a pointer to a destructor for the pClientData. ^SQLite will
@@ -8192,7 +8315,7 @@ typedef struct sqlite3_blob sqlite3_blob;
** in *ppBlob. Otherwise an [error code] is returned and, unless the error
** code is SQLITE_MISUSE, *ppBlob is set to NULL.)^ ^This means that, provided
** the API is not misused, it is always safe to call [sqlite3_blob_close()]
-** on *ppBlob after this function it returns.
+** on *ppBlob after this function returns.
**
** This function fails with SQLITE_ERROR if any of the following are true:
** <ul>
@@ -8312,7 +8435,7 @@ SQLITE_API int sqlite3_blob_close(sqlite3_blob *);
**
** ^Returns the size in bytes of the BLOB accessible via the
** successfully opened [BLOB handle] in its only argument. ^The
-** incremental blob I/O routines can only read or overwriting existing
+** incremental blob I/O routines can only read or overwrite existing
** blob content; they cannot change the size of a blob.
**
** This routine only works on a [BLOB handle] which has been created
@@ -8462,7 +8585,7 @@ SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*);
** ^The sqlite3_mutex_alloc() routine allocates a new
** mutex and returns a pointer to it. ^The sqlite3_mutex_alloc()
** routine returns NULL if it is unable to allocate the requested
-** mutex. The argument to sqlite3_mutex_alloc() must one of these
+** mutex. The argument to sqlite3_mutex_alloc() must be one of these
** integer constants:
**
** <ul>
@@ -8695,7 +8818,7 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*);
** CAPI3REF: Retrieve the mutex for a database connection
** METHOD: sqlite3
**
-** ^This interface returns a pointer the [sqlite3_mutex] object that
+** ^This interface returns a pointer to the [sqlite3_mutex] object that
** serializes access to the [database connection] given in the argument
** when the [threading mode] is Serialized.
** ^If the [threading mode] is Single-thread or Multi-thread then this
@@ -8818,7 +8941,7 @@ SQLITE_API int sqlite3_test_control(int op, ...);
** CAPI3REF: SQL Keyword Checking
**
** These routines provide access to the set of SQL language keywords
-** recognized by SQLite. Applications can uses these routines to determine
+** recognized by SQLite. Applications can use these routines to determine
** whether or not a specific identifier needs to be escaped (for example,
** by enclosing in double-quotes) so as not to confuse the parser.
**
@@ -8986,7 +9109,7 @@ SQLITE_API void sqlite3_str_reset(sqlite3_str*);
** content of the dynamic string under construction in X. The value
** returned by [sqlite3_str_value(X)] is managed by the sqlite3_str object X
** and might be freed or altered by any subsequent method on the same
-** [sqlite3_str] object. Applications must not used the pointer returned
+** [sqlite3_str] object. Applications must not use the pointer returned by
** [sqlite3_str_value(X)] after any subsequent method call on the same
** object. ^Applications may change the content of the string returned
** by [sqlite3_str_value(X)] as long as they do not write into any bytes
@@ -9072,7 +9195,7 @@ SQLITE_API int sqlite3_status64(
** allocation which could not be satisfied by the [SQLITE_CONFIG_PAGECACHE]
** buffer and where forced to overflow to [sqlite3_malloc()]. The
** returned value includes allocations that overflowed because they
-** where too large (they were larger than the "sz" parameter to
+** were too large (they were larger than the "sz" parameter to
** [SQLITE_CONFIG_PAGECACHE]) and allocations that overflowed because
** no space was left in the page cache.</dd>)^
**
@@ -9131,9 +9254,18 @@ SQLITE_API int sqlite3_status64(
** ^The sqlite3_db_status() routine returns SQLITE_OK on success and a
** non-zero [error code] on failure.
**
+** ^The sqlite3_db_status64(D,O,C,H,R) routine works exactly the same
+** way as sqlite3_db_status(D,O,C,H,R) routine except that the C and H
+** parameters are pointer to 64-bit integers (type: sqlite3_int64) instead
+** of pointers to 32-bit integers, which allows larger status values
+** to be returned. If a status value exceeds 2,147,483,647 then
+** sqlite3_db_status() will truncate the value whereas sqlite3_db_status64()
+** will return the full value.
+**
** See also: [sqlite3_status()] and [sqlite3_stmt_status()].
*/
SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg);
+SQLITE_API int sqlite3_db_status64(sqlite3*,int,sqlite3_int64*,sqlite3_int64*,int);
/*
** CAPI3REF: Status Parameters for database connections
@@ -9156,28 +9288,29 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
** [[SQLITE_DBSTATUS_LOOKASIDE_HIT]] ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_HIT</dt>
** <dd>This parameter returns the number of malloc attempts that were
** satisfied using lookaside memory. Only the high-water value is meaningful;
-** the current value is always zero.)^
+** the current value is always zero.</dd>)^
**
** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE]]
** ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE</dt>
-** <dd>This parameter returns the number malloc attempts that might have
+** <dd>This parameter returns the number of malloc attempts that might have
** been satisfied using lookaside memory but failed due to the amount of
** memory requested being larger than the lookaside slot size.
** Only the high-water value is meaningful;
-** the current value is always zero.)^
+** the current value is always zero.</dd>)^
**
** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL]]
** ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL</dt>
-** <dd>This parameter returns the number malloc attempts that might have
+** <dd>This parameter returns the number of malloc attempts that might have
** been satisfied using lookaside memory but failed due to all lookaside
** memory already being in use.
** Only the high-water value is meaningful;
-** the current value is always zero.)^
+** the current value is always zero.</dd>)^
**
** [[SQLITE_DBSTATUS_CACHE_USED]] ^(<dt>SQLITE_DBSTATUS_CACHE_USED</dt>
** <dd>This parameter returns the approximate number of bytes of heap
** memory used by all pager caches associated with the database connection.)^
** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0.
+** </dd>
**
** [[SQLITE_DBSTATUS_CACHE_USED_SHARED]]
** ^(<dt>SQLITE_DBSTATUS_CACHE_USED_SHARED</dt>
@@ -9186,10 +9319,10 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
** memory used by that pager cache is divided evenly between the attached
** connections.)^ In other words, if none of the pager caches associated
** with the database connection are shared, this request returns the same
-** value as DBSTATUS_CACHE_USED. Or, if one or more or the pager caches are
+** value as DBSTATUS_CACHE_USED. Or, if one or more of the pager caches are
** shared, the value returned by this call will be smaller than that returned
** by DBSTATUS_CACHE_USED. ^The highwater mark associated with
-** SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0.
+** SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0.</dd>
**
** [[SQLITE_DBSTATUS_SCHEMA_USED]] ^(<dt>SQLITE_DBSTATUS_SCHEMA_USED</dt>
** <dd>This parameter returns the approximate number of bytes of heap
@@ -9199,6 +9332,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
** schema memory is shared with other database connections due to
** [shared cache mode] being enabled.
** ^The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED is always 0.
+** </dd>
**
** [[SQLITE_DBSTATUS_STMT_USED]] ^(<dt>SQLITE_DBSTATUS_STMT_USED</dt>
** <dd>This parameter returns the approximate number of bytes of heap
@@ -9228,6 +9362,10 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
** If an IO or other error occurs while writing a page to disk, the effect
** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.)^ ^The
** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0.
+** <p>
+** ^(There is overlap between the quantities measured by this parameter
+** (SQLITE_DBSTATUS_CACHE_WRITE) and SQLITE_DBSTATUS_TEMPBUF_SPILL.
+** Resetting one will reduce the other.)^
** </dd>
**
** [[SQLITE_DBSTATUS_CACHE_SPILL]] ^(<dt>SQLITE_DBSTATUS_CACHE_SPILL</dt>
@@ -9235,7 +9373,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
** been written to disk in the middle of a transaction due to the page
** cache overflowing. Transactions are more efficient if they are written
** to disk all at once. When pages spill mid-transaction, that introduces
-** additional overhead. This parameter can be used help identify
+** additional overhead. This parameter can be used to help identify
** inefficiencies that can be resolved by increasing the cache size.
** </dd>
**
@@ -9243,6 +9381,18 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
** <dd>This parameter returns zero for the current value if and only if
** all foreign key constraints (deferred or immediate) have been
** resolved.)^ ^The highwater mark is always 0.
+**
+** [[SQLITE_DBSTATUS_TEMPBUF_SPILL] ^(<dt>SQLITE_DBSTATUS_TEMPBUF_SPILL</dt>
+** <dd>^(This parameter returns the number of bytes written to temporary
+** files on disk that could have been kept in memory had sufficient memory
+** been available. This value includes writes to intermediate tables that
+** are part of complex queries, external sorts that spill to disk, and
+** writes to TEMP tables.)^
+** ^The highwater mark is always 0.
+** <p>
+** ^(There is overlap between the quantities measured by this parameter
+** (SQLITE_DBSTATUS_TEMPBUF_SPILL) and SQLITE_DBSTATUS_CACHE_WRITE.
+** Resetting one will reduce the other.)^
** </dd>
** </dl>
*/
@@ -9259,7 +9409,8 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
#define SQLITE_DBSTATUS_DEFERRED_FKS 10
#define SQLITE_DBSTATUS_CACHE_USED_SHARED 11
#define SQLITE_DBSTATUS_CACHE_SPILL 12
-#define SQLITE_DBSTATUS_MAX 12 /* Largest defined DBSTATUS */
+#define SQLITE_DBSTATUS_TEMPBUF_SPILL 13
+#define SQLITE_DBSTATUS_MAX 13 /* Largest defined DBSTATUS */
/*
@@ -9306,13 +9457,13 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
** [[SQLITE_STMTSTATUS_SORT]] <dt>SQLITE_STMTSTATUS_SORT</dt>
** <dd>^This is the number of sort operations that have occurred.
** A non-zero value in this counter may indicate an opportunity to
-** improvement performance through careful use of indices.</dd>
+** improve performance through careful use of indices.</dd>
**
** [[SQLITE_STMTSTATUS_AUTOINDEX]] <dt>SQLITE_STMTSTATUS_AUTOINDEX</dt>
** <dd>^This is the number of rows inserted into transient indices that
** were created automatically in order to help joins run faster.
** A non-zero value in this counter may indicate an opportunity to
-** improvement performance by adding permanent indices that do not
+** improve performance by adding permanent indices that do not
** need to be reinitialized each time the statement is run.</dd>
**
** [[SQLITE_STMTSTATUS_VM_STEP]] <dt>SQLITE_STMTSTATUS_VM_STEP</dt>
@@ -9321,19 +9472,19 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
** to 2147483647. The number of virtual machine operations can be
** used as a proxy for the total work done by the prepared statement.
** If the number of virtual machine operations exceeds 2147483647
-** then the value returned by this statement status code is undefined.
+** then the value returned by this statement status code is undefined.</dd>
**
** [[SQLITE_STMTSTATUS_REPREPARE]] <dt>SQLITE_STMTSTATUS_REPREPARE</dt>
** <dd>^This is the number of times that the prepare statement has been
** automatically regenerated due to schema changes or changes to
-** [bound parameters] that might affect the query plan.
+** [bound parameters] that might affect the query plan.</dd>
**
** [[SQLITE_STMTSTATUS_RUN]] <dt>SQLITE_STMTSTATUS_RUN</dt>
** <dd>^This is the number of times that the prepared statement has
** been run. A single "run" for the purposes of this counter is one
** or more calls to [sqlite3_step()] followed by a call to [sqlite3_reset()].
** The counter is incremented on the first [sqlite3_step()] call of each
-** cycle.
+** cycle.</dd>
**
** [[SQLITE_STMTSTATUS_FILTER_MISS]]
** [[SQLITE_STMTSTATUS_FILTER HIT]]
@@ -9343,7 +9494,7 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
** step was bypassed because a Bloom filter returned not-found. The
** corresponding SQLITE_STMTSTATUS_FILTER_MISS value is the number of
** times that the Bloom filter returned a find, and thus the join step
-** had to be processed as normal.
+** had to be processed as normal.</dd>
**
** [[SQLITE_STMTSTATUS_MEMUSED]] <dt>SQLITE_STMTSTATUS_MEMUSED</dt>
** <dd>^This is the approximate number of bytes of heap memory
@@ -9448,9 +9599,9 @@ struct sqlite3_pcache_page {
** SQLite will typically create one cache instance for each open database file,
** though this is not guaranteed. ^The
** first parameter, szPage, is the size in bytes of the pages that must
-** be allocated by the cache. ^szPage will always a power of two. ^The
+** be allocated by the cache. ^szPage will always be a power of two. ^The
** second parameter szExtra is a number of bytes of extra storage
-** associated with each page cache entry. ^The szExtra parameter will
+** associated with each page cache entry. ^The szExtra parameter will be
** a number less than 250. SQLite will use the
** extra szExtra bytes on each page to store metadata about the underlying
** database page on disk. The value passed into szExtra depends
@@ -9458,17 +9609,17 @@ struct sqlite3_pcache_page {
** ^The third argument to xCreate(), bPurgeable, is true if the cache being
** created will be used to cache database pages of a file stored on disk, or
** false if it is used for an in-memory database. The cache implementation
-** does not have to do anything special based with the value of bPurgeable;
+** does not have to do anything special based upon the value of bPurgeable;
** it is purely advisory. ^On a cache where bPurgeable is false, SQLite will
** never invoke xUnpin() except to deliberately delete a page.
** ^In other words, calls to xUnpin() on a cache with bPurgeable set to
** false will always have the "discard" flag set to true.
-** ^Hence, a cache created with bPurgeable false will
+** ^Hence, a cache created with bPurgeable set to false will
** never contain any unpinned pages.
**
** [[the xCachesize() page cache method]]
** ^(The xCachesize() method may be called at any time by SQLite to set the
-** suggested maximum cache-size (number of pages stored by) the cache
+** suggested maximum cache-size (number of pages stored) for the cache
** instance passed as the first argument. This is the value configured using
** the SQLite "[PRAGMA cache_size]" command.)^ As with the bPurgeable
** parameter, the implementation is not required to do anything with this
@@ -9495,12 +9646,12 @@ struct sqlite3_pcache_page {
** implementation must return a pointer to the page buffer with its content
** intact. If the requested page is not already in the cache, then the
** cache implementation should use the value of the createFlag
-** parameter to help it determined what action to take:
+** parameter to help it determine what action to take:
**
** <table border=1 width=85% align=center>
** <tr><th> createFlag <th> Behavior when page is not already in cache
** <tr><td> 0 <td> Do not allocate a new page. Return NULL.
-** <tr><td> 1 <td> Allocate a new page if it easy and convenient to do so.
+** <tr><td> 1 <td> Allocate a new page if it is easy and convenient to do so.
** Otherwise return NULL.
** <tr><td> 2 <td> Make every effort to allocate a new page. Only return
** NULL if allocating a new page is effectively impossible.
@@ -9517,7 +9668,7 @@ struct sqlite3_pcache_page {
** as its second argument. If the third parameter, discard, is non-zero,
** then the page must be evicted from the cache.
** ^If the discard parameter is
-** zero, then the page may be discarded or retained at the discretion of
+** zero, then the page may be discarded or retained at the discretion of the
** page cache implementation. ^The page cache implementation
** may choose to evict unpinned pages at any time.
**
@@ -9535,7 +9686,7 @@ struct sqlite3_pcache_page {
** When SQLite calls the xTruncate() method, the cache must discard all
** existing cache entries with page numbers (keys) greater than or equal
** to the value of the iLimit parameter passed to xTruncate(). If any
-** of these pages are pinned, they are implicitly unpinned, meaning that
+** of these pages are pinned, they become implicitly unpinned, meaning that
** they can be safely discarded.
**
** [[the xDestroy() page cache method]]
@@ -9715,7 +9866,7 @@ typedef struct sqlite3_backup sqlite3_backup;
** external process or via a database connection other than the one being
** used by the backup operation, then the backup will be automatically
** restarted by the next call to sqlite3_backup_step(). ^If the source
-** database is modified by the using the same database connection as is used
+** database is modified by using the same database connection as is used
** by the backup operation, then the backup database is automatically
** updated at the same time.
**
@@ -9732,7 +9883,7 @@ typedef struct sqlite3_backup sqlite3_backup;
** and may not be used following a call to sqlite3_backup_finish().
**
** ^The value returned by sqlite3_backup_finish is [SQLITE_OK] if no
-** sqlite3_backup_step() errors occurred, regardless or whether or not
+** sqlite3_backup_step() errors occurred, regardless of whether or not
** sqlite3_backup_step() completed.
** ^If an out-of-memory condition or IO error occurred during any prior
** sqlite3_backup_step() call on the same [sqlite3_backup] object, then
@@ -9834,7 +9985,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);
** application receives an SQLITE_LOCKED error, it may call the
** sqlite3_unlock_notify() method with the blocked connection handle as
** the first argument to register for a callback that will be invoked
-** when the blocking connections current transaction is concluded. ^The
+** when the blocking connection's current transaction is concluded. ^The
** callback is invoked from within the [sqlite3_step] or [sqlite3_close]
** call that concludes the blocking connection's transaction.
**
@@ -9854,7 +10005,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);
** blocked connection already has a registered unlock-notify callback,
** then the new callback replaces the old.)^ ^If sqlite3_unlock_notify() is
** called with a NULL pointer as its second argument, then any existing
-** unlock-notify callback is canceled. ^The blocked connections
+** unlock-notify callback is canceled. ^The blocked connection's
** unlock-notify callback may also be canceled by closing the blocked
** connection using [sqlite3_close()].
**
@@ -10024,7 +10175,7 @@ SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...);
** is the number of pages currently in the write-ahead log file,
** including those that were just committed.
**
-** The callback function should normally return [SQLITE_OK]. ^If an error
+** ^The callback function should normally return [SQLITE_OK]. ^If an error
** code is returned, that error will propagate back up through the
** SQLite code base to cause the statement that provoked the callback
** to report an error, though the commit will have still occurred. If the
@@ -10032,13 +10183,26 @@ SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...);
** that does not correspond to any valid SQLite error code, the results
** are undefined.
**
-** A single database handle may have at most a single write-ahead log callback
-** registered at one time. ^Calling [sqlite3_wal_hook()] replaces any
-** previously registered write-ahead log callback. ^The return value is
-** a copy of the third parameter from the previous call, if any, or 0.
-** ^Note that the [sqlite3_wal_autocheckpoint()] interface and the
-** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and will
-** overwrite any prior [sqlite3_wal_hook()] settings.
+** ^A single database handle may have at most a single write-ahead log
+** callback registered at one time. ^Calling [sqlite3_wal_hook()]
+** replaces the default behavior or previously registered write-ahead
+** log callback.
+**
+** ^The return value is a copy of the third parameter from the
+** previous call, if any, or 0.
+**
+** ^The [sqlite3_wal_autocheckpoint()] interface and the
+** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and
+** will overwrite any prior [sqlite3_wal_hook()] settings.
+**
+** ^If a write-ahead log callback is set using this function then
+** [sqlite3_wal_checkpoint_v2()] or [PRAGMA wal_checkpoint]
+** should be invoked periodically to keep the write-ahead log file
+** from growing without bound.
+**
+** ^Passing a NULL pointer for the callback disables automatic
+** checkpointing entirely. To re-enable the default behavior, call
+** sqlite3_wal_autocheckpoint(db,1000) or use [PRAGMA wal_checkpoint].
*/
SQLITE_API void *sqlite3_wal_hook(
sqlite3*,
@@ -10055,7 +10219,7 @@ SQLITE_API void *sqlite3_wal_hook(
** to automatically [checkpoint]
** after committing a transaction if there are N or
** more frames in the [write-ahead log] file. ^Passing zero or
-** a negative value as the nFrame parameter disables automatic
+** a negative value as the N parameter disables automatic
** checkpoints entirely.
**
** ^The callback registered by this function replaces any existing callback
@@ -10071,9 +10235,10 @@ SQLITE_API void *sqlite3_wal_hook(
**
** ^Every new [database connection] defaults to having the auto-checkpoint
** enabled with a threshold of 1000 or [SQLITE_DEFAULT_WAL_AUTOCHECKPOINT]
-** pages. The use of this interface
-** is only necessary if the default setting is found to be suboptimal
-** for a particular application.
+** pages.
+**
+** ^The use of this interface is only necessary if the default setting
+** is found to be suboptimal for a particular application.
*/
SQLITE_API int sqlite3_wal_autocheckpoint(sqlite3 *db, int N);
@@ -10138,6 +10303,11 @@ SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb);
** ^This mode works the same way as SQLITE_CHECKPOINT_RESTART with the
** addition that it also truncates the log file to zero bytes just prior
** to a successful return.
+**
+** <dt>SQLITE_CHECKPOINT_NOOP<dd>
+** ^This mode always checkpoints zero frames. The only reason to invoke
+** a NOOP checkpoint is to access the values returned by
+** sqlite3_wal_checkpoint_v2() via output parameters *pnLog and *pnCkpt.
** </dl>
**
** ^If pnLog is not NULL, then *pnLog is set to the total number of frames in
@@ -10208,6 +10378,7 @@ SQLITE_API int sqlite3_wal_checkpoint_v2(
** See the [sqlite3_wal_checkpoint_v2()] documentation for details on the
** meaning of each of these checkpoint modes.
*/
+#define SQLITE_CHECKPOINT_NOOP -1 /* Do no work at all */
#define SQLITE_CHECKPOINT_PASSIVE 0 /* Do as much as possible w/o blocking */
#define SQLITE_CHECKPOINT_FULL 1 /* Wait for writers, then checkpoint */
#define SQLITE_CHECKPOINT_RESTART 2 /* Like FULL but wait for readers */
@@ -10252,7 +10423,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
** support constraints. In this configuration (which is the default) if
** a call to the [xUpdate] method returns [SQLITE_CONSTRAINT], then the entire
** statement is rolled back as if [ON CONFLICT | OR ABORT] had been
-** specified as part of the users SQL statement, regardless of the actual
+** specified as part of the user's SQL statement, regardless of the actual
** ON CONFLICT mode specified.
**
** If X is non-zero, then the virtual table implementation guarantees
@@ -10286,7 +10457,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
** [[SQLITE_VTAB_INNOCUOUS]]<dt>SQLITE_VTAB_INNOCUOUS</dt>
** <dd>Calls of the form
** [sqlite3_vtab_config](db,SQLITE_VTAB_INNOCUOUS) from within the
-** the [xConnect] or [xCreate] methods of a [virtual table] implementation
+** [xConnect] or [xCreate] methods of a [virtual table] implementation
** identify that virtual table as being safe to use from within triggers
** and views. Conceptually, the SQLITE_VTAB_INNOCUOUS tag means that the
** virtual table can do no serious harm even if it is controlled by a
@@ -10454,7 +10625,7 @@ SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
** </table>
**
** ^For the purposes of comparing virtual table output values to see if the
-** values are same value for sorting purposes, two NULL values are considered
+** values are the same value for sorting purposes, two NULL values are considered
** to be the same. In other words, the comparison operator is "IS"
** (or "IS NOT DISTINCT FROM") and not "==".
**
@@ -10464,7 +10635,7 @@ SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
**
** ^A virtual table implementation is always free to return rows in any order
** it wants, as long as the "orderByConsumed" flag is not set. ^When the
-** the "orderByConsumed" flag is unset, the query planner will add extra
+** "orderByConsumed" flag is unset, the query planner will add extra
** [bytecode] to ensure that the final results returned by the SQL query are
** ordered correctly. The use of the "orderByConsumed" flag and the
** sqlite3_vtab_distinct() interface is merely an optimization. ^Careful
@@ -10561,7 +10732,7 @@ SQLITE_API int sqlite3_vtab_in(sqlite3_index_info*, int iCons, int bHandle);
** sqlite3_vtab_in_next(X,P) should be one of the parameters to the
** xFilter method which invokes these routines, and specifically
** a parameter that was previously selected for all-at-once IN constraint
-** processing use the [sqlite3_vtab_in()] interface in the
+** processing using the [sqlite3_vtab_in()] interface in the
** [xBestIndex|xBestIndex method]. ^(If the X parameter is not
** an xFilter argument that was selected for all-at-once IN constraint
** processing, then these routines return [SQLITE_ERROR].)^
@@ -10576,7 +10747,7 @@ SQLITE_API int sqlite3_vtab_in(sqlite3_index_info*, int iCons, int bHandle);
** ){
** // do something with pVal
** }
-** if( rc!=SQLITE_OK ){
+** if( rc!=SQLITE_DONE ){
** // an error has occurred
** }
** </pre></blockquote>)^
@@ -10616,7 +10787,7 @@ SQLITE_API int sqlite3_vtab_in_next(sqlite3_value *pVal, sqlite3_value **ppOut);
** and only if *V is set to a value. ^The sqlite3_vtab_rhs_value(P,J,V)
** inteface returns SQLITE_NOTFOUND if the right-hand side of the J-th
** constraint is not available. ^The sqlite3_vtab_rhs_value() interface
-** can return an result code other than SQLITE_OK or SQLITE_NOTFOUND if
+** can return a result code other than SQLITE_OK or SQLITE_NOTFOUND if
** something goes wrong.
**
** The sqlite3_vtab_rhs_value() interface is usually only successful if
@@ -10644,8 +10815,8 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
** KEYWORDS: {conflict resolution mode}
**
** These constants are returned by [sqlite3_vtab_on_conflict()] to
-** inform a [virtual table] implementation what the [ON CONFLICT] mode
-** is for the SQL statement being evaluated.
+** inform a [virtual table] implementation of the [ON CONFLICT] mode
+** for the SQL statement being evaluated.
**
** Note that the [SQLITE_IGNORE] constant is also used as a potential
** return value from the [sqlite3_set_authorizer()] callback and that
@@ -10685,39 +10856,39 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
** [[SQLITE_SCANSTAT_EST]] <dt>SQLITE_SCANSTAT_EST</dt>
** <dd>^The "double" variable pointed to by the V parameter will be set to the
** query planner's estimate for the average number of rows output from each
-** iteration of the X-th loop. If the query planner's estimates was accurate,
+** iteration of the X-th loop. If the query planner's estimate was accurate,
** then this value will approximate the quotient NVISIT/NLOOP and the
** product of this value for all prior loops with the same SELECTID will
-** be the NLOOP value for the current loop.
+** be the NLOOP value for the current loop.</dd>
**
** [[SQLITE_SCANSTAT_NAME]] <dt>SQLITE_SCANSTAT_NAME</dt>
** <dd>^The "const char *" variable pointed to by the V parameter will be set
** to a zero-terminated UTF-8 string containing the name of the index or table
-** used for the X-th loop.
+** used for the X-th loop.</dd>
**
** [[SQLITE_SCANSTAT_EXPLAIN]] <dt>SQLITE_SCANSTAT_EXPLAIN</dt>
** <dd>^The "const char *" variable pointed to by the V parameter will be set
** to a zero-terminated UTF-8 string containing the [EXPLAIN QUERY PLAN]
-** description for the X-th loop.
+** description for the X-th loop.</dd>
**
** [[SQLITE_SCANSTAT_SELECTID]] <dt>SQLITE_SCANSTAT_SELECTID</dt>
** <dd>^The "int" variable pointed to by the V parameter will be set to the
** id for the X-th query plan element. The id value is unique within the
** statement. The select-id is the same value as is output in the first
-** column of an [EXPLAIN QUERY PLAN] query.
+** column of an [EXPLAIN QUERY PLAN] query.</dd>
**
** [[SQLITE_SCANSTAT_PARENTID]] <dt>SQLITE_SCANSTAT_PARENTID</dt>
** <dd>The "int" variable pointed to by the V parameter will be set to the
-** the id of the parent of the current query element, if applicable, or
+** id of the parent of the current query element, if applicable, or
** to zero if the query element has no parent. This is the same value as
-** returned in the second column of an [EXPLAIN QUERY PLAN] query.
+** returned in the second column of an [EXPLAIN QUERY PLAN] query.</dd>
**
** [[SQLITE_SCANSTAT_NCYCLE]] <dt>SQLITE_SCANSTAT_NCYCLE</dt>
** <dd>The sqlite3_int64 output value is set to the number of cycles,
** according to the processor time-stamp counter, that elapsed while the
** query element was being processed. This value is not available for
** all query elements - if it is unavailable the output variable is
-** set to -1.
+** set to -1.</dd>
** </dl>
*/
#define SQLITE_SCANSTAT_NLOOP 0
@@ -10758,8 +10929,8 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
** sqlite3_stmt_scanstatus_v2() with a zeroed flags parameter.
**
** Parameter "idx" identifies the specific query element to retrieve statistics
-** for. Query elements are numbered starting from zero. A value of -1 may be
-** to query for statistics regarding the entire query. ^If idx is out of range
+** for. Query elements are numbered starting from zero. A value of -1 may
+** retrieve statistics for the entire query. ^If idx is out of range
** - less than -1 or greater than or equal to the total number of query
** elements used to implement the statement - a non-zero value is returned and
** the variable that pOut points to is unchanged.
@@ -10802,7 +10973,7 @@ SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*);
** METHOD: sqlite3
**
** ^If a write-transaction is open on [database connection] D when the
-** [sqlite3_db_cacheflush(D)] interface invoked, any dirty
+** [sqlite3_db_cacheflush(D)] interface is invoked, any dirty
** pages in the pager-cache that are not currently in use are written out
** to disk. A dirty page may be in use if a database cursor created by an
** active SQL statement is reading from it, or if it is page 1 of a database
@@ -10916,8 +11087,8 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*);
** triggers; and so forth.
**
** When the [sqlite3_blob_write()] API is used to update a blob column,
-** the pre-update hook is invoked with SQLITE_DELETE. This is because the
-** in this case the new values are not available. In this case, when a
+** the pre-update hook is invoked with SQLITE_DELETE, because
+** the new values are not yet available. In this case, when a
** callback made with op==SQLITE_DELETE is actually a write using the
** sqlite3_blob_write() API, the [sqlite3_preupdate_blobwrite()] returns
** the index of the column being written. In other cases, where the
@@ -11035,7 +11206,7 @@ typedef struct sqlite3_snapshot {
** The [sqlite3_snapshot_get()] interface is only available when the
** [SQLITE_ENABLE_SNAPSHOT] compile-time option is used.
*/
-SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_get(
+SQLITE_API int sqlite3_snapshot_get(
sqlite3 *db,
const char *zSchema,
sqlite3_snapshot **ppSnapshot
@@ -11084,7 +11255,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_get(
** The [sqlite3_snapshot_open()] interface is only available when the
** [SQLITE_ENABLE_SNAPSHOT] compile-time option is used.
*/
-SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_open(
+SQLITE_API int sqlite3_snapshot_open(
sqlite3 *db,
const char *zSchema,
sqlite3_snapshot *pSnapshot
@@ -11101,7 +11272,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_open(
** The [sqlite3_snapshot_free()] interface is only available when the
** [SQLITE_ENABLE_SNAPSHOT] compile-time option is used.
*/
-SQLITE_API SQLITE_EXPERIMENTAL void sqlite3_snapshot_free(sqlite3_snapshot*);
+SQLITE_API void sqlite3_snapshot_free(sqlite3_snapshot*);
/*
** CAPI3REF: Compare the ages of two snapshot handles.
@@ -11128,7 +11299,7 @@ SQLITE_API SQLITE_EXPERIMENTAL void sqlite3_snapshot_free(sqlite3_snapshot*);
** This interface is only available if SQLite is compiled with the
** [SQLITE_ENABLE_SNAPSHOT] option.
*/
-SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_cmp(
+SQLITE_API int sqlite3_snapshot_cmp(
sqlite3_snapshot *p1,
sqlite3_snapshot *p2
);
@@ -11156,7 +11327,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_cmp(
** This interface is only available if SQLite is compiled with the
** [SQLITE_ENABLE_SNAPSHOT] option.
*/
-SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const char *zDb);
+SQLITE_API int sqlite3_snapshot_recover(sqlite3 *db, const char *zDb);
/*
** CAPI3REF: Serialize a database
@@ -11170,7 +11341,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const c
** For an ordinary on-disk database file, the serialization is just a
** copy of the disk file. For an in-memory database or a "TEMP" database,
** the serialization is the same sequence of bytes which would be written
-** to disk if that database where backed up to disk.
+** to disk if that database were backed up to disk.
**
** The usual case is that sqlite3_serialize() copies the serialization of
** the database into memory obtained from [sqlite3_malloc64()] and returns
@@ -11179,7 +11350,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const c
** contains the SQLITE_SERIALIZE_NOCOPY bit, then no memory allocations
** are made, and the sqlite3_serialize() function will return a pointer
** to the contiguous memory representation of the database that SQLite
-** is currently using for that database, or NULL if the no such contiguous
+** is currently using for that database, or NULL if no such contiguous
** memory representation of the database exists. A contiguous memory
** representation of the database will usually only exist if there has
** been a prior call to [sqlite3_deserialize(D,S,...)] with the same
@@ -11230,12 +11401,13 @@ SQLITE_API unsigned char *sqlite3_serialize(
**
** The sqlite3_deserialize(D,S,P,N,M,F) interface causes the
** [database connection] D to disconnect from database S and then
-** reopen S as an in-memory database based on the serialization contained
-** in P. The serialized database P is N bytes in size. M is the size of
-** the buffer P, which might be larger than N. If M is larger than N, and
-** the SQLITE_DESERIALIZE_READONLY bit is not set in F, then SQLite is
-** permitted to add content to the in-memory database as long as the total
-** size does not exceed M bytes.
+** reopen S as an in-memory database based on the serialization
+** contained in P. If S is a NULL pointer, the main database is
+** used. The serialized database P is N bytes in size. M is the size
+** of the buffer P, which might be larger than N. If M is larger than
+** N, and the SQLITE_DESERIALIZE_READONLY bit is not set in F, then
+** SQLite is permitted to add content to the in-memory database as
+** long as the total size does not exceed M bytes.
**
** If the SQLITE_DESERIALIZE_FREEONCLOSE bit is set in F, then SQLite will
** invoke sqlite3_free() on the serialization buffer when the database
@@ -11250,7 +11422,7 @@ SQLITE_API unsigned char *sqlite3_serialize(
** database is currently in a read transaction or is involved in a backup
** operation.
**
-** It is not possible to deserialized into the TEMP database. If the
+** It is not possible to deserialize into the TEMP database. If the
** S argument to sqlite3_deserialize(D,S,P,N,M,F) is "temp" then the
** function returns SQLITE_ERROR.
**
@@ -11272,7 +11444,7 @@ SQLITE_API int sqlite3_deserialize(
sqlite3 *db, /* The database connection */
const char *zSchema, /* Which DB to reopen with the deserialization */
unsigned char *pData, /* The serialized database content */
- sqlite3_int64 szDb, /* Number bytes in the deserialization */
+ sqlite3_int64 szDb, /* Number of bytes in the deserialization */
sqlite3_int64 szBuf, /* Total size of buffer pData[] */
unsigned mFlags /* Zero or more SQLITE_DESERIALIZE_* flags */
);
@@ -11280,7 +11452,7 @@ SQLITE_API int sqlite3_deserialize(
/*
** CAPI3REF: Flags for sqlite3_deserialize()
**
-** The following are allowed values for 6th argument (the F argument) to
+** The following are allowed values for the 6th argument (the F argument) to
** the [sqlite3_deserialize(D,S,P,N,M,F)] interface.
**
** The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization
@@ -11302,6 +11474,54 @@ SQLITE_API int sqlite3_deserialize(
#define SQLITE_DESERIALIZE_RESIZEABLE 2 /* Resize using sqlite3_realloc64() */
#define SQLITE_DESERIALIZE_READONLY 4 /* Database is read-only */
+/*
+** CAPI3REF: Bind array values to the CARRAY table-valued function
+**
+** The sqlite3_carray_bind(S,I,P,N,F,X) interface binds an array value to
+** one of the first argument of the [carray() table-valued function]. The
+** S parameter is a pointer to the [prepared statement] that uses the carray()
+** functions. I is the parameter index to be bound. P is a pointer to the
+** array to be bound, and N is the number of eements in the array. The
+** F argument is one of constants [SQLITE_CARRAY_INT32], [SQLITE_CARRAY_INT64],
+** [SQLITE_CARRAY_DOUBLE], [SQLITE_CARRAY_TEXT], or [SQLITE_CARRAY_BLOB] to
+** indicate the datatype of the array being bound. The X argument is not a
+** NULL pointer, then SQLite will invoke the function X on the P parameter
+** after it has finished using P, even if the call to
+** sqlite3_carray_bind() fails. The special-case finalizer
+** SQLITE_TRANSIENT has no effect here.
+*/
+SQLITE_API int sqlite3_carray_bind(
+ sqlite3_stmt *pStmt, /* Statement to be bound */
+ int i, /* Parameter index */
+ void *aData, /* Pointer to array data */
+ int nData, /* Number of data elements */
+ int mFlags, /* CARRAY flags */
+ void (*xDel)(void*) /* Destructor for aData */
+);
+
+/*
+** CAPI3REF: Datatypes for the CARRAY table-valued function
+**
+** The fifth argument to the [sqlite3_carray_bind()] interface musts be
+** one of the following constants, to specify the datatype of the array
+** that is being bound into the [carray table-valued function].
+*/
+#define SQLITE_CARRAY_INT32 0 /* Data is 32-bit signed integers */
+#define SQLITE_CARRAY_INT64 1 /* Data is 64-bit signed integers */
+#define SQLITE_CARRAY_DOUBLE 2 /* Data is doubles */
+#define SQLITE_CARRAY_TEXT 3 /* Data is char* */
+#define SQLITE_CARRAY_BLOB 4 /* Data is struct iovec */
+
+/*
+** Versions of the above #defines that omit the initial SQLITE_, for
+** legacy compatibility.
+*/
+#define CARRAY_INT32 0 /* Data is 32-bit signed integers */
+#define CARRAY_INT64 1 /* Data is 64-bit signed integers */
+#define CARRAY_DOUBLE 2 /* Data is doubles */
+#define CARRAY_TEXT 3 /* Data is char* */
+#define CARRAY_BLOB 4 /* Data is struct iovec */
+
/*
** Undo the hack that converts floating point types to integer for
** builds on processors without floating point support.
@@ -11805,9 +12025,10 @@ SQLITE_API void sqlite3session_table_filter(
** is inserted while a session object is enabled, then later deleted while
** the same session object is disabled, no INSERT record will appear in the
** changeset, even though the delete took place while the session was disabled.
-** Or, if one field of a row is updated while a session is disabled, and
-** another field of the same row is updated while the session is enabled, the
-** resulting changeset will contain an UPDATE change that updates both fields.
+** Or, if one field of a row is updated while a session is enabled, and
+** then another field of the same row is updated while the session is disabled,
+** the resulting changeset will contain an UPDATE change that updates both
+** fields.
*/
SQLITE_API int sqlite3session_changeset(
sqlite3_session *pSession, /* Session object */
@@ -11879,8 +12100,9 @@ SQLITE_API sqlite3_int64 sqlite3session_changeset_size(sqlite3_session *pSession
** database zFrom the contents of the two compatible tables would be
** identical.
**
-** It an error if database zFrom does not exist or does not contain the
-** required compatible table.
+** Unless the call to this function is a no-op as described above, it is an
+** error if database zFrom does not exist or does not contain the required
+** compatible table.
**
** If the operation is successful, SQLITE_OK is returned. Otherwise, an SQLite
** error code. In this case, if argument pzErrMsg is not NULL, *pzErrMsg
@@ -12015,7 +12237,7 @@ SQLITE_API int sqlite3changeset_start_v2(
** The following flags may passed via the 4th parameter to
** [sqlite3changeset_start_v2] and [sqlite3changeset_start_v2_strm]:
**
-** <dt>SQLITE_CHANGESETAPPLY_INVERT <dd>
+** <dt>SQLITE_CHANGESETSTART_INVERT <dd>
** Invert the changeset while iterating through it. This is equivalent to
** inverting a changeset using sqlite3changeset_invert() before applying it.
** It is an error to specify this flag with a patchset.
@@ -12330,19 +12552,6 @@ SQLITE_API int sqlite3changeset_concat(
void **ppOut /* OUT: Buffer containing output changeset */
);
-
-/*
-** CAPI3REF: Upgrade the Schema of a Changeset/Patchset
-*/
-SQLITE_API int sqlite3changeset_upgrade(
- sqlite3 *db,
- const char *zDb,
- int nIn, const void *pIn, /* Input changeset */
- int *pnOut, void **ppOut /* OUT: Inverse of input */
-);
-
-
-
/*
** CAPI3REF: Changegroup Handle
**
@@ -12572,14 +12781,32 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*);
** update the "main" database attached to handle db with the changes found in
** the changeset passed via the second and third arguments.
**
+** All changes made by these functions are enclosed in a savepoint transaction.
+** If any other error (aside from a constraint failure when attempting to
+** write to the target database) occurs, then the savepoint transaction is
+** rolled back, restoring the target database to its original state, and an
+** SQLite error code returned. Additionally, starting with version 3.51.0,
+** an error code and error message that may be accessed using the
+** [sqlite3_errcode()] and [sqlite3_errmsg()] APIs are left in the database
+** handle.
+**
** The fourth argument (xFilter) passed to these functions is the "filter
-** callback". If it is not NULL, then for each table affected by at least one
-** change in the changeset, the filter callback is invoked with
-** the table name as the second argument, and a copy of the context pointer
-** passed as the sixth argument as the first. If the "filter callback"
-** returns zero, then no attempt is made to apply any changes to the table.
-** Otherwise, if the return value is non-zero or the xFilter argument to
-** is NULL, all changes related to the table are attempted.
+** callback". This may be passed NULL, in which case all changes in the
+** changeset are applied to the database. For sqlite3changeset_apply() and
+** sqlite3_changeset_apply_v2(), if it is not NULL, then it is invoked once
+** for each table affected by at least one change in the changeset. In this
+** case the table name is passed as the second argument, and a copy of
+** the context pointer passed as the sixth argument to apply() or apply_v2()
+** as the first. If the "filter callback" returns zero, then no attempt is
+** made to apply any changes to the table. Otherwise, if the return value is
+** non-zero, all changes related to the table are attempted.
+**
+** For sqlite3_changeset_apply_v3(), the xFilter callback is invoked once
+** per change. The second argument in this case is an sqlite3_changeset_iter
+** that may be queried using the usual APIs for the details of the current
+** change. If the "filter callback" returns zero in this case, then no attempt
+** is made to apply the current change. If it returns non-zero, the change
+** is applied.
**
** For each table that is not excluded by the filter callback, this function
** tests that the target database contains a compatible table. A table is
@@ -12600,11 +12827,11 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*);
** one such warning is issued for each table in the changeset.
**
** For each change for which there is a compatible table, an attempt is made
-** to modify the table contents according to the UPDATE, INSERT or DELETE
-** change. If a change cannot be applied cleanly, the conflict handler
-** function passed as the fifth argument to sqlite3changeset_apply() may be
-** invoked. A description of exactly when the conflict handler is invoked for
-** each type of change is below.
+** to modify the table contents according to each UPDATE, INSERT or DELETE
+** change that is not excluded by a filter callback. If a change cannot be
+** applied cleanly, the conflict handler function passed as the fifth argument
+** to sqlite3changeset_apply() may be invoked. A description of exactly when
+** the conflict handler is invoked for each type of change is below.
**
** Unlike the xFilter argument, xConflict may not be passed NULL. The results
** of passing anything other than a valid function pointer as the xConflict
@@ -12700,12 +12927,6 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*);
** This can be used to further customize the application's conflict
** resolution strategy.
**
-** All changes made by these functions are enclosed in a savepoint transaction.
-** If any other error (aside from a constraint failure when attempting to
-** write to the target database) occurs, then the savepoint transaction is
-** rolled back, restoring the target database to its original state, and an
-** SQLite error code returned.
-**
** If the output parameters (ppRebase) and (pnRebase) are non-NULL and
** the input is a changeset (not a patchset), then sqlite3changeset_apply_v2()
** may set (*ppRebase) to point to a "rebase" that may be used with the
@@ -12755,6 +12976,23 @@ SQLITE_API int sqlite3changeset_apply_v2(
void **ppRebase, int *pnRebase, /* OUT: Rebase data */
int flags /* SESSION_CHANGESETAPPLY_* flags */
);
+SQLITE_API int sqlite3changeset_apply_v3(
+ sqlite3 *db, /* Apply change to "main" db of this handle */
+ int nChangeset, /* Size of changeset in bytes */
+ void *pChangeset, /* Changeset blob */
+ int(*xFilter)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ sqlite3_changeset_iter *p /* Handle describing change */
+ ),
+ int(*xConflict)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */
+ sqlite3_changeset_iter *p /* Handle describing change and conflict */
+ ),
+ void *pCtx, /* First argument passed to xConflict */
+ void **ppRebase, int *pnRebase, /* OUT: Rebase data */
+ int flags /* SESSION_CHANGESETAPPLY_* flags */
+);
/*
** CAPI3REF: Flags for sqlite3changeset_apply_v2
@@ -13174,6 +13412,23 @@ SQLITE_API int sqlite3changeset_apply_v2_strm(
void **ppRebase, int *pnRebase,
int flags
);
+SQLITE_API int sqlite3changeset_apply_v3_strm(
+ sqlite3 *db, /* Apply change to "main" db of this handle */
+ int (*xInput)(void *pIn, void *pData, int *pnData), /* Input function */
+ void *pIn, /* First arg for xInput */
+ int(*xFilter)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ sqlite3_changeset_iter *p
+ ),
+ int(*xConflict)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */
+ sqlite3_changeset_iter *p /* Handle describing change and conflict */
+ ),
+ void *pCtx, /* First argument passed to xConflict */
+ void **ppRebase, int *pnRebase,
+ int flags
+);
SQLITE_API int sqlite3changeset_concat_strm(
int (*xInputA)(void *pIn, void *pData, int *pnData),
void *pInA,
@@ -14090,14 +14345,22 @@ struct fts5_api {
** * Terms in the GROUP BY or ORDER BY clauses of a SELECT statement.
** * Terms in the VALUES clause of an INSERT statement
**
-** The hard upper limit here is 32676. Most database people will
+** The hard upper limit here is 32767. Most database people will
** tell you that in a well-normalized database, you usually should
** not have more than a dozen or so columns in any table. And if
** that is the case, there is no point in having more than a few
** dozen values in any of the other situations described above.
+**
+** An index can only have SQLITE_MAX_COLUMN columns from the user
+** point of view, but the underlying b-tree that implements the index
+** might have up to twice as many columns in a WITHOUT ROWID table,
+** since must also store the primary key at the end. Hence the
+** column count for Index is u16 instead of i16.
*/
-#ifndef SQLITE_MAX_COLUMN
+#if !defined(SQLITE_MAX_COLUMN)
# define SQLITE_MAX_COLUMN 2000
+#elif SQLITE_MAX_COLUMN>32767
+# error SQLITE_MAX_COLUMN may not exceed 32767
#endif
/*
@@ -14242,7 +14505,7 @@ struct fts5_api {
** Maximum number of pages in one database file.
**
** This is really just the default value for the max_page_count pragma.
-** This value can be lowered (or raised) at run-time using that the
+** This value can be lowered (or raised) at run-time using the
** max_page_count macro.
*/
#ifndef SQLITE_MAX_PAGE_COUNT
@@ -14749,6 +15012,7 @@ struct HashElem {
HashElem *next, *prev; /* Next and previous elements in the table */
void *data; /* Data associated with this element */
const char *pKey; /* Key associated with this element */
+ unsigned int h; /* hash for pKey */
};
/*
@@ -15109,7 +15373,17 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*);
** ourselves.
*/
#ifndef offsetof
-#define offsetof(STRUCTURE,FIELD) ((int)((char*)&((STRUCTURE*)0)->FIELD))
+# define offsetof(ST,M) ((size_t)((char*)&((ST*)0)->M - (char*)0))
+#endif
+
+/*
+** Work around C99 "flex-array" syntax for pre-C99 compilers, so as
+** to avoid complaints from -fsanitize=strict-bounds.
+*/
+#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+# define FLEXARRAY
+#else
+# define FLEXARRAY 1
#endif
/*
@@ -15187,6 +15461,11 @@ typedef INT16_TYPE i16; /* 2-byte signed integer */
typedef UINT8_TYPE u8; /* 1-byte unsigned integer */
typedef INT8_TYPE i8; /* 1-byte signed integer */
+/* A bitfield type for use inside of structures. Always follow with :N where
+** N is the number of bits.
+*/
+typedef unsigned bft; /* Bit Field Type */
+
/*
** SQLITE_MAX_U32 is a u64 constant that is the maximum u64 value
** that can be stored in a u32 without loss of data. The value
@@ -15355,6 +15634,14 @@ typedef INT16_TYPE LogEst;
#define LARGEST_UINT64 (0xffffffff|(((u64)0xffffffff)<<32))
#define SMALLEST_INT64 (((i64)-1) - LARGEST_INT64)
+/*
+** Macro SMXV(n) return the maximum value that can be held in variable n,
+** assuming n is a signed integer type. UMXV(n) is similar for unsigned
+** integer types.
+*/
+#define SMXV(n) ((((i64)1)<<(sizeof(n)*8-1))-1)
+#define UMXV(n) ((((i64)1)<<(sizeof(n)*8))-1)
+
/*
** Round up a number to the next larger multiple of 8. This is used
** to force 8-byte alignment on 64-bit architectures.
@@ -15474,6 +15761,8 @@ SQLITE_PRIVATE u32 sqlite3TreeTrace;
** 0x00020000 Transform DISTINCT into GROUP BY
** 0x00040000 SELECT tree dump after all code has been generated
** 0x00080000 NOT NULL strength reduction
+** 0x00100000 Pointers are all shown as zero
+** 0x00200000 EXISTS-to-JOIN optimization
*/
/*
@@ -15518,6 +15807,7 @@ SQLITE_PRIVATE u32 sqlite3WhereTrace;
** 0x00020000 Show WHERE terms returned from whereScanNext()
** 0x00040000 Solver overview messages
** 0x00080000 Star-query heuristic
+** 0x00100000 Pointers are all shown as zero
*/
@@ -15590,7 +15880,7 @@ struct BusyHandler {
** pointer will work here as long as it is distinct from SQLITE_STATIC
** and SQLITE_TRANSIENT.
*/
-#define SQLITE_DYNAMIC ((sqlite3_destructor_type)sqlite3OomClear)
+#define SQLITE_DYNAMIC ((sqlite3_destructor_type)sqlite3RowSetClear)
/*
** When SQLITE_OMIT_WSD is defined, it means that the target platform does
@@ -15811,8 +16101,8 @@ typedef int VList;
** must provide its own VFS implementation together with sqlite3_os_init()
** and sqlite3_os_end() routines.
*/
-#if !defined(SQLITE_OS_KV) && !defined(SQLITE_OS_OTHER) && \
- !defined(SQLITE_OS_UNIX) && !defined(SQLITE_OS_WIN)
+#if SQLITE_OS_KV+1<=1 && SQLITE_OS_OTHER+1<=1 && \
+ SQLITE_OS_WIN+1<=1 && SQLITE_OS_UNIX+1<=1
# if defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__) || \
defined(__MINGW32__) || defined(__BORLANDC__)
# define SQLITE_OS_WIN 1
@@ -16658,6 +16948,7 @@ struct BtreePayload {
SQLITE_PRIVATE int sqlite3BtreeInsert(BtCursor*, const BtreePayload *pPayload,
int flags, int seekResult);
SQLITE_PRIVATE int sqlite3BtreeFirst(BtCursor*, int *pRes);
+SQLITE_PRIVATE int sqlite3BtreeIsEmpty(BtCursor *pCur, int *pRes);
SQLITE_PRIVATE int sqlite3BtreeLast(BtCursor*, int *pRes);
SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor*, int flags);
SQLITE_PRIVATE int sqlite3BtreeEof(BtCursor*);
@@ -16991,20 +17282,20 @@ typedef struct VdbeOpList VdbeOpList;
#define OP_SorterSort 34 /* jump */
#define OP_Sort 35 /* jump */
#define OP_Rewind 36 /* jump0 */
-#define OP_SorterNext 37 /* jump */
-#define OP_Prev 38 /* jump */
-#define OP_Next 39 /* jump */
-#define OP_IdxLE 40 /* jump, synopsis: key=r[P3@P4] */
-#define OP_IdxGT 41 /* jump, synopsis: key=r[P3@P4] */
-#define OP_IdxLT 42 /* jump, synopsis: key=r[P3@P4] */
+#define OP_IfEmpty 37 /* jump, synopsis: if( empty(P1) ) goto P2 */
+#define OP_SorterNext 38 /* jump */
+#define OP_Prev 39 /* jump */
+#define OP_Next 40 /* jump */
+#define OP_IdxLE 41 /* jump, synopsis: key=r[P3@P4] */
+#define OP_IdxGT 42 /* jump, synopsis: key=r[P3@P4] */
#define OP_Or 43 /* same as TK_OR, synopsis: r[P3]=(r[P1] || r[P2]) */
#define OP_And 44 /* same as TK_AND, synopsis: r[P3]=(r[P1] && r[P2]) */
-#define OP_IdxGE 45 /* jump, synopsis: key=r[P3@P4] */
-#define OP_RowSetRead 46 /* jump, synopsis: r[P3]=rowset(P1) */
-#define OP_RowSetTest 47 /* jump, synopsis: if r[P3] in rowset(P1) goto P2 */
-#define OP_Program 48 /* jump0 */
-#define OP_FkIfZero 49 /* jump, synopsis: if fkctr[P1]==0 goto P2 */
-#define OP_IfPos 50 /* jump, synopsis: if r[P1]>0 then r[P1]-=P3, goto P2 */
+#define OP_IdxLT 45 /* jump, synopsis: key=r[P3@P4] */
+#define OP_IdxGE 46 /* jump, synopsis: key=r[P3@P4] */
+#define OP_RowSetRead 47 /* jump, synopsis: r[P3]=rowset(P1) */
+#define OP_RowSetTest 48 /* jump, synopsis: if r[P3] in rowset(P1) goto P2 */
+#define OP_Program 49 /* jump0 */
+#define OP_FkIfZero 50 /* jump, synopsis: if fkctr[P1]==0 goto P2 */
#define OP_IsNull 51 /* jump, same as TK_ISNULL, synopsis: if r[P1]==NULL goto P2 */
#define OP_NotNull 52 /* jump, same as TK_NOTNULL, synopsis: if r[P1]!=NULL goto P2 */
#define OP_Ne 53 /* jump, same as TK_NE, synopsis: IF r[P3]!=r[P1] */
@@ -17014,49 +17305,49 @@ typedef struct VdbeOpList VdbeOpList;
#define OP_Lt 57 /* jump, same as TK_LT, synopsis: IF r[P3]<r[P1] */
#define OP_Ge 58 /* jump, same as TK_GE, synopsis: IF r[P3]>=r[P1] */
#define OP_ElseEq 59 /* jump, same as TK_ESCAPE */
-#define OP_IfNotZero 60 /* jump, synopsis: if r[P1]!=0 then r[P1]--, goto P2 */
-#define OP_DecrJumpZero 61 /* jump, synopsis: if (--r[P1])==0 goto P2 */
-#define OP_IncrVacuum 62 /* jump */
-#define OP_VNext 63 /* jump */
-#define OP_Filter 64 /* jump, synopsis: if key(P3@P4) not in filter(P1) goto P2 */
-#define OP_PureFunc 65 /* synopsis: r[P3]=func(r[P2@NP]) */
-#define OP_Function 66 /* synopsis: r[P3]=func(r[P2@NP]) */
-#define OP_Return 67
-#define OP_EndCoroutine 68
-#define OP_HaltIfNull 69 /* synopsis: if r[P3]=null halt */
-#define OP_Halt 70
-#define OP_Integer 71 /* synopsis: r[P2]=P1 */
-#define OP_Int64 72 /* synopsis: r[P2]=P4 */
-#define OP_String 73 /* synopsis: r[P2]='P4' (len=P1) */
-#define OP_BeginSubrtn 74 /* synopsis: r[P2]=NULL */
-#define OP_Null 75 /* synopsis: r[P2..P3]=NULL */
-#define OP_SoftNull 76 /* synopsis: r[P1]=NULL */
-#define OP_Blob 77 /* synopsis: r[P2]=P4 (len=P1) */
-#define OP_Variable 78 /* synopsis: r[P2]=parameter(P1) */
-#define OP_Move 79 /* synopsis: r[P2@P3]=r[P1@P3] */
-#define OP_Copy 80 /* synopsis: r[P2@P3+1]=r[P1@P3+1] */
-#define OP_SCopy 81 /* synopsis: r[P2]=r[P1] */
-#define OP_IntCopy 82 /* synopsis: r[P2]=r[P1] */
-#define OP_FkCheck 83
-#define OP_ResultRow 84 /* synopsis: output=r[P1@P2] */
-#define OP_CollSeq 85
-#define OP_AddImm 86 /* synopsis: r[P1]=r[P1]+P2 */
-#define OP_RealAffinity 87
-#define OP_Cast 88 /* synopsis: affinity(r[P1]) */
-#define OP_Permutation 89
-#define OP_Compare 90 /* synopsis: r[P1@P3] <-> r[P2@P3] */
-#define OP_IsTrue 91 /* synopsis: r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4 */
-#define OP_ZeroOrNull 92 /* synopsis: r[P2] = 0 OR NULL */
-#define OP_Offset 93 /* synopsis: r[P3] = sqlite_offset(P1) */
-#define OP_Column 94 /* synopsis: r[P3]=PX cursor P1 column P2 */
-#define OP_TypeCheck 95 /* synopsis: typecheck(r[P1@P2]) */
-#define OP_Affinity 96 /* synopsis: affinity(r[P1@P2]) */
-#define OP_MakeRecord 97 /* synopsis: r[P3]=mkrec(r[P1@P2]) */
-#define OP_Count 98 /* synopsis: r[P2]=count() */
-#define OP_ReadCookie 99
-#define OP_SetCookie 100
-#define OP_ReopenIdx 101 /* synopsis: root=P2 iDb=P3 */
-#define OP_OpenRead 102 /* synopsis: root=P2 iDb=P3 */
+#define OP_IfPos 60 /* jump, synopsis: if r[P1]>0 then r[P1]-=P3, goto P2 */
+#define OP_IfNotZero 61 /* jump, synopsis: if r[P1]!=0 then r[P1]--, goto P2 */
+#define OP_DecrJumpZero 62 /* jump, synopsis: if (--r[P1])==0 goto P2 */
+#define OP_IncrVacuum 63 /* jump */
+#define OP_VNext 64 /* jump */
+#define OP_Filter 65 /* jump, synopsis: if key(P3@P4) not in filter(P1) goto P2 */
+#define OP_PureFunc 66 /* synopsis: r[P3]=func(r[P2@NP]) */
+#define OP_Function 67 /* synopsis: r[P3]=func(r[P2@NP]) */
+#define OP_Return 68
+#define OP_EndCoroutine 69
+#define OP_HaltIfNull 70 /* synopsis: if r[P3]=null halt */
+#define OP_Halt 71
+#define OP_Integer 72 /* synopsis: r[P2]=P1 */
+#define OP_Int64 73 /* synopsis: r[P2]=P4 */
+#define OP_String 74 /* synopsis: r[P2]='P4' (len=P1) */
+#define OP_BeginSubrtn 75 /* synopsis: r[P2]=NULL */
+#define OP_Null 76 /* synopsis: r[P2..P3]=NULL */
+#define OP_SoftNull 77 /* synopsis: r[P1]=NULL */
+#define OP_Blob 78 /* synopsis: r[P2]=P4 (len=P1) */
+#define OP_Variable 79 /* synopsis: r[P2]=parameter(P1) */
+#define OP_Move 80 /* synopsis: r[P2@P3]=r[P1@P3] */
+#define OP_Copy 81 /* synopsis: r[P2@P3+1]=r[P1@P3+1] */
+#define OP_SCopy 82 /* synopsis: r[P2]=r[P1] */
+#define OP_IntCopy 83 /* synopsis: r[P2]=r[P1] */
+#define OP_FkCheck 84
+#define OP_ResultRow 85 /* synopsis: output=r[P1@P2] */
+#define OP_CollSeq 86
+#define OP_AddImm 87 /* synopsis: r[P1]=r[P1]+P2 */
+#define OP_RealAffinity 88
+#define OP_Cast 89 /* synopsis: affinity(r[P1]) */
+#define OP_Permutation 90
+#define OP_Compare 91 /* synopsis: r[P1@P3] <-> r[P2@P3] */
+#define OP_IsTrue 92 /* synopsis: r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4 */
+#define OP_ZeroOrNull 93 /* synopsis: r[P2] = 0 OR NULL */
+#define OP_Offset 94 /* synopsis: r[P3] = sqlite_offset(P1) */
+#define OP_Column 95 /* synopsis: r[P3]=PX cursor P1 column P2 */
+#define OP_TypeCheck 96 /* synopsis: typecheck(r[P1@P2]) */
+#define OP_Affinity 97 /* synopsis: affinity(r[P1@P2]) */
+#define OP_MakeRecord 98 /* synopsis: r[P3]=mkrec(r[P1@P2]) */
+#define OP_Count 99 /* synopsis: r[P2]=count() */
+#define OP_ReadCookie 100
+#define OP_SetCookie 101
+#define OP_ReopenIdx 102 /* synopsis: root=P2 iDb=P3 */
#define OP_BitAnd 103 /* same as TK_BITAND, synopsis: r[P3]=r[P1]&r[P2] */
#define OP_BitOr 104 /* same as TK_BITOR, synopsis: r[P3]=r[P1]|r[P2] */
#define OP_ShiftLeft 105 /* same as TK_LSHIFT, synopsis: r[P3]=r[P2]<<r[P1] */
@@ -17067,83 +17358,84 @@ typedef struct VdbeOpList VdbeOpList;
#define OP_Divide 110 /* same as TK_SLASH, synopsis: r[P3]=r[P2]/r[P1] */
#define OP_Remainder 111 /* same as TK_REM, synopsis: r[P3]=r[P2]%r[P1] */
#define OP_Concat 112 /* same as TK_CONCAT, synopsis: r[P3]=r[P2]+r[P1] */
-#define OP_OpenWrite 113 /* synopsis: root=P2 iDb=P3 */
-#define OP_OpenDup 114
+#define OP_OpenRead 113 /* synopsis: root=P2 iDb=P3 */
+#define OP_OpenWrite 114 /* synopsis: root=P2 iDb=P3 */
#define OP_BitNot 115 /* same as TK_BITNOT, synopsis: r[P2]= ~r[P1] */
-#define OP_OpenAutoindex 116 /* synopsis: nColumn=P2 */
-#define OP_OpenEphemeral 117 /* synopsis: nColumn=P2 */
+#define OP_OpenDup 116
+#define OP_OpenAutoindex 117 /* synopsis: nColumn=P2 */
#define OP_String8 118 /* same as TK_STRING, synopsis: r[P2]='P4' */
-#define OP_SorterOpen 119
-#define OP_SequenceTest 120 /* synopsis: if( cursor[P1].ctr++ ) pc = P2 */
-#define OP_OpenPseudo 121 /* synopsis: P3 columns in r[P2] */
-#define OP_Close 122
-#define OP_ColumnsUsed 123
-#define OP_SeekScan 124 /* synopsis: Scan-ahead up to P1 rows */
-#define OP_SeekHit 125 /* synopsis: set P2<=seekHit<=P3 */
-#define OP_Sequence 126 /* synopsis: r[P2]=cursor[P1].ctr++ */
-#define OP_NewRowid 127 /* synopsis: r[P2]=rowid */
-#define OP_Insert 128 /* synopsis: intkey=r[P3] data=r[P2] */
-#define OP_RowCell 129
-#define OP_Delete 130
-#define OP_ResetCount 131
-#define OP_SorterCompare 132 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */
-#define OP_SorterData 133 /* synopsis: r[P2]=data */
-#define OP_RowData 134 /* synopsis: r[P2]=data */
-#define OP_Rowid 135 /* synopsis: r[P2]=PX rowid of P1 */
-#define OP_NullRow 136
-#define OP_SeekEnd 137
-#define OP_IdxInsert 138 /* synopsis: key=r[P2] */
-#define OP_SorterInsert 139 /* synopsis: key=r[P2] */
-#define OP_IdxDelete 140 /* synopsis: key=r[P2@P3] */
-#define OP_DeferredSeek 141 /* synopsis: Move P3 to P1.rowid if needed */
-#define OP_IdxRowid 142 /* synopsis: r[P2]=rowid */
-#define OP_FinishSeek 143
-#define OP_Destroy 144
-#define OP_Clear 145
-#define OP_ResetSorter 146
-#define OP_CreateBtree 147 /* synopsis: r[P2]=root iDb=P1 flags=P3 */
-#define OP_SqlExec 148
-#define OP_ParseSchema 149
-#define OP_LoadAnalysis 150
-#define OP_DropTable 151
-#define OP_DropIndex 152
-#define OP_DropTrigger 153
+#define OP_OpenEphemeral 119 /* synopsis: nColumn=P2 */
+#define OP_SorterOpen 120
+#define OP_SequenceTest 121 /* synopsis: if( cursor[P1].ctr++ ) pc = P2 */
+#define OP_OpenPseudo 122 /* synopsis: P3 columns in r[P2] */
+#define OP_Close 123
+#define OP_ColumnsUsed 124
+#define OP_SeekScan 125 /* synopsis: Scan-ahead up to P1 rows */
+#define OP_SeekHit 126 /* synopsis: set P2<=seekHit<=P3 */
+#define OP_Sequence 127 /* synopsis: r[P2]=cursor[P1].ctr++ */
+#define OP_NewRowid 128 /* synopsis: r[P2]=rowid */
+#define OP_Insert 129 /* synopsis: intkey=r[P3] data=r[P2] */
+#define OP_RowCell 130
+#define OP_Delete 131
+#define OP_ResetCount 132
+#define OP_SorterCompare 133 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */
+#define OP_SorterData 134 /* synopsis: r[P2]=data */
+#define OP_RowData 135 /* synopsis: r[P2]=data */
+#define OP_Rowid 136 /* synopsis: r[P2]=PX rowid of P1 */
+#define OP_NullRow 137
+#define OP_SeekEnd 138
+#define OP_IdxInsert 139 /* synopsis: key=r[P2] */
+#define OP_SorterInsert 140 /* synopsis: key=r[P2] */
+#define OP_IdxDelete 141 /* synopsis: key=r[P2@P3] */
+#define OP_DeferredSeek 142 /* synopsis: Move P3 to P1.rowid if needed */
+#define OP_IdxRowid 143 /* synopsis: r[P2]=rowid */
+#define OP_FinishSeek 144
+#define OP_Destroy 145
+#define OP_Clear 146
+#define OP_ResetSorter 147
+#define OP_CreateBtree 148 /* synopsis: r[P2]=root iDb=P1 flags=P3 */
+#define OP_SqlExec 149
+#define OP_ParseSchema 150
+#define OP_LoadAnalysis 151
+#define OP_DropTable 152
+#define OP_DropIndex 153
#define OP_Real 154 /* same as TK_FLOAT, synopsis: r[P2]=P4 */
-#define OP_IntegrityCk 155
-#define OP_RowSetAdd 156 /* synopsis: rowset(P1)=r[P2] */
-#define OP_Param 157
-#define OP_FkCounter 158 /* synopsis: fkctr[P1]+=P2 */
-#define OP_MemMax 159 /* synopsis: r[P1]=max(r[P1],r[P2]) */
-#define OP_OffsetLimit 160 /* synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) */
-#define OP_AggInverse 161 /* synopsis: accum=r[P3] inverse(r[P2@P5]) */
-#define OP_AggStep 162 /* synopsis: accum=r[P3] step(r[P2@P5]) */
-#define OP_AggStep1 163 /* synopsis: accum=r[P3] step(r[P2@P5]) */
-#define OP_AggValue 164 /* synopsis: r[P3]=value N=P2 */
-#define OP_AggFinal 165 /* synopsis: accum=r[P1] N=P2 */
-#define OP_Expire 166
-#define OP_CursorLock 167
-#define OP_CursorUnlock 168
-#define OP_TableLock 169 /* synopsis: iDb=P1 root=P2 write=P3 */
-#define OP_VBegin 170
-#define OP_VCreate 171
-#define OP_VDestroy 172
-#define OP_VOpen 173
-#define OP_VCheck 174
-#define OP_VInitIn 175 /* synopsis: r[P2]=ValueList(P1,P3) */
-#define OP_VColumn 176 /* synopsis: r[P3]=vcolumn(P2) */
-#define OP_VRename 177
-#define OP_Pagecount 178
-#define OP_MaxPgcnt 179
-#define OP_ClrSubtype 180 /* synopsis: r[P1].subtype = 0 */
-#define OP_GetSubtype 181 /* synopsis: r[P2] = r[P1].subtype */
-#define OP_SetSubtype 182 /* synopsis: r[P2].subtype = r[P1] */
-#define OP_FilterAdd 183 /* synopsis: filter(P1) += key(P3@P4) */
-#define OP_Trace 184
-#define OP_CursorHint 185
-#define OP_ReleaseReg 186 /* synopsis: release r[P1@P2] mask P3 */
-#define OP_Noop 187
-#define OP_Explain 188
-#define OP_Abortable 189
+#define OP_DropTrigger 155
+#define OP_IntegrityCk 156
+#define OP_RowSetAdd 157 /* synopsis: rowset(P1)=r[P2] */
+#define OP_Param 158
+#define OP_FkCounter 159 /* synopsis: fkctr[P1]+=P2 */
+#define OP_MemMax 160 /* synopsis: r[P1]=max(r[P1],r[P2]) */
+#define OP_OffsetLimit 161 /* synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) */
+#define OP_AggInverse 162 /* synopsis: accum=r[P3] inverse(r[P2@P5]) */
+#define OP_AggStep 163 /* synopsis: accum=r[P3] step(r[P2@P5]) */
+#define OP_AggStep1 164 /* synopsis: accum=r[P3] step(r[P2@P5]) */
+#define OP_AggValue 165 /* synopsis: r[P3]=value N=P2 */
+#define OP_AggFinal 166 /* synopsis: accum=r[P1] N=P2 */
+#define OP_Expire 167
+#define OP_CursorLock 168
+#define OP_CursorUnlock 169
+#define OP_TableLock 170 /* synopsis: iDb=P1 root=P2 write=P3 */
+#define OP_VBegin 171
+#define OP_VCreate 172
+#define OP_VDestroy 173
+#define OP_VOpen 174
+#define OP_VCheck 175
+#define OP_VInitIn 176 /* synopsis: r[P2]=ValueList(P1,P3) */
+#define OP_VColumn 177 /* synopsis: r[P3]=vcolumn(P2) */
+#define OP_VRename 178
+#define OP_Pagecount 179
+#define OP_MaxPgcnt 180
+#define OP_ClrSubtype 181 /* synopsis: r[P1].subtype = 0 */
+#define OP_GetSubtype 182 /* synopsis: r[P2] = r[P1].subtype */
+#define OP_SetSubtype 183 /* synopsis: r[P2].subtype = r[P1] */
+#define OP_FilterAdd 184 /* synopsis: filter(P1) += key(P3@P4) */
+#define OP_Trace 185
+#define OP_CursorHint 186
+#define OP_ReleaseReg 187 /* synopsis: release r[P1@P2] mask P3 */
+#define OP_Noop 188
+#define OP_Explain 189
+#define OP_Abortable 190
/* Properties such as "out2" or "jump" that are specified in
** comments following the "case" for each opcode in the vdbe.c
@@ -17162,26 +17454,26 @@ typedef struct VdbeOpList VdbeOpList;
/* 8 */ 0x81, 0x01, 0x01, 0x81, 0x83, 0x83, 0x01, 0x01,\
/* 16 */ 0x03, 0x03, 0x01, 0x12, 0x01, 0xc9, 0xc9, 0xc9,\
/* 24 */ 0xc9, 0x01, 0x49, 0x49, 0x49, 0x49, 0xc9, 0x49,\
-/* 32 */ 0xc1, 0x01, 0x41, 0x41, 0xc1, 0x01, 0x41, 0x41,\
-/* 40 */ 0x41, 0x41, 0x41, 0x26, 0x26, 0x41, 0x23, 0x0b,\
-/* 48 */ 0x81, 0x01, 0x03, 0x03, 0x03, 0x0b, 0x0b, 0x0b,\
-/* 56 */ 0x0b, 0x0b, 0x0b, 0x01, 0x03, 0x03, 0x01, 0x41,\
-/* 64 */ 0x01, 0x00, 0x00, 0x02, 0x02, 0x08, 0x00, 0x10,\
-/* 72 */ 0x10, 0x10, 0x00, 0x10, 0x00, 0x10, 0x10, 0x00,\
-/* 80 */ 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x02, 0x02,\
-/* 88 */ 0x02, 0x00, 0x00, 0x12, 0x1e, 0x20, 0x40, 0x00,\
-/* 96 */ 0x00, 0x00, 0x10, 0x10, 0x00, 0x40, 0x40, 0x26,\
+/* 32 */ 0xc1, 0x01, 0x41, 0x41, 0xc1, 0x01, 0x01, 0x41,\
+/* 40 */ 0x41, 0x41, 0x41, 0x26, 0x26, 0x41, 0x41, 0x23,\
+/* 48 */ 0x0b, 0x81, 0x01, 0x03, 0x03, 0x0b, 0x0b, 0x0b,\
+/* 56 */ 0x0b, 0x0b, 0x0b, 0x01, 0x03, 0x03, 0x03, 0x01,\
+/* 64 */ 0x41, 0x01, 0x00, 0x00, 0x02, 0x02, 0x08, 0x00,\
+/* 72 */ 0x10, 0x10, 0x10, 0x00, 0x10, 0x00, 0x10, 0x10,\
+/* 80 */ 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x02,\
+/* 88 */ 0x02, 0x02, 0x00, 0x00, 0x12, 0x1e, 0x20, 0x40,\
+/* 96 */ 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x40, 0x26,\
/* 104 */ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,\
-/* 112 */ 0x26, 0x00, 0x40, 0x12, 0x40, 0x40, 0x10, 0x00,\
-/* 120 */ 0x00, 0x00, 0x40, 0x00, 0x40, 0x40, 0x10, 0x10,\
-/* 128 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x50,\
-/* 136 */ 0x00, 0x40, 0x04, 0x04, 0x00, 0x40, 0x50, 0x40,\
-/* 144 */ 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,\
-/* 152 */ 0x00, 0x00, 0x10, 0x00, 0x06, 0x10, 0x00, 0x04,\
-/* 160 */ 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\
-/* 168 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x50,\
-/* 176 */ 0x40, 0x00, 0x10, 0x10, 0x02, 0x12, 0x12, 0x00,\
-/* 184 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}
+/* 112 */ 0x26, 0x40, 0x00, 0x12, 0x40, 0x40, 0x10, 0x40,\
+/* 120 */ 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x40, 0x10,\
+/* 128 */ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,\
+/* 136 */ 0x50, 0x00, 0x40, 0x04, 0x04, 0x00, 0x40, 0x50,\
+/* 144 */ 0x40, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,\
+/* 152 */ 0x00, 0x00, 0x10, 0x00, 0x00, 0x06, 0x10, 0x00,\
+/* 160 */ 0x04, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\
+/* 168 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10,\
+/* 176 */ 0x50, 0x40, 0x00, 0x10, 0x10, 0x02, 0x12, 0x12,\
+/* 184 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}
/* The resolve3P2Values() routine is able to run faster if it knows
** the value of the largest JUMP opcode. The smaller the maximum
@@ -17189,7 +17481,7 @@ typedef struct VdbeOpList VdbeOpList;
** generated this include file strives to group all JUMP opcodes
** together near the beginning of the list.
*/
-#define SQLITE_MX_JUMP_OPCODE 64 /* Maximum JUMP opcode */
+#define SQLITE_MX_JUMP_OPCODE 65 /* Maximum JUMP opcode */
/************** End of opcodes.h *********************************************/
/************** Continuing where we left off in vdbe.h ***********************/
@@ -17312,8 +17604,11 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql(Vdbe*, const char*);
#endif
SQLITE_PRIVATE int sqlite3MemCompare(const Mem*, const Mem*, const CollSeq*);
SQLITE_PRIVATE int sqlite3BlobCompare(const Mem*, const Mem*);
+#ifdef SQLITE_ENABLE_PERCENTILE
+SQLITE_PRIVATE const char *sqlite3VdbeFuncName(const sqlite3_context*);
+#endif
-SQLITE_PRIVATE void sqlite3VdbeRecordUnpack(KeyInfo*,int,const void*,UnpackedRecord*);
+SQLITE_PRIVATE void sqlite3VdbeRecordUnpack(int,const void*,UnpackedRecord*);
SQLITE_PRIVATE int sqlite3VdbeRecordCompare(int,const void*,UnpackedRecord*);
SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip(int, const void *, UnpackedRecord *, int);
SQLITE_PRIVATE UnpackedRecord *sqlite3VdbeAllocUnpackedRecord(KeyInfo*);
@@ -17326,13 +17621,15 @@ SQLITE_PRIVATE int sqlite3VdbeHasSubProgram(Vdbe*);
SQLITE_PRIVATE void sqlite3MemSetArrayInt64(sqlite3_value *aMem, int iIdx, i64 val);
+#ifndef SQLITE_OMIT_DATETIME_FUNCS
SQLITE_PRIVATE int sqlite3NotPureFunc(sqlite3_context*);
+#endif
#ifdef SQLITE_ENABLE_BYTECODE_VTAB
SQLITE_PRIVATE int sqlite3VdbeBytecodeVtabInit(sqlite3*);
#endif
-/* Use SQLITE_ENABLE_COMMENTS to enable generation of extra comments on
-** each VDBE opcode.
+/* Use SQLITE_ENABLE_EXPLAIN_COMMENTS to enable generation of extra
+** comments on each VDBE opcode.
**
** Use the SQLITE_ENABLE_MODULE_COMMENTS macro to see some extra no-op
** comments in VDBE programs that show key decision points in the code
@@ -17982,7 +18279,7 @@ struct sqlite3 {
u8 iDb; /* Which db file is being initialized */
u8 busy; /* TRUE if currently initializing */
unsigned orphanTrigger : 1; /* Last statement is orphaned TEMP trigger */
- unsigned imposterTable : 1; /* Building an imposter table */
+ unsigned imposterTable : 2; /* Building an imposter table */
unsigned reopenMemdb : 1; /* ATTACH is really a reopen using MemDB */
const char **azInit; /* "type", "name", and "tbl_name" columns */
} init;
@@ -18055,12 +18352,17 @@ struct sqlite3 {
Savepoint *pSavepoint; /* List of active savepoints */
int nAnalysisLimit; /* Number of index rows to ANALYZE */
int busyTimeout; /* Busy handler timeout, in msec */
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ int setlkTimeout; /* Blocking lock timeout, in msec. -1 -> inf. */
+ int setlkFlags; /* Flags passed to setlk_timeout() */
+#endif
int nSavepoint; /* Number of non-transaction savepoints */
int nStatement; /* Number of nested statement-transactions */
i64 nDeferredCons; /* Net deferred constraints this transaction. */
i64 nDeferredImmCons; /* Net deferred immediate constraints */
int *pnBytesFreed; /* If not NULL, increment this in DbFree() */
DbClientData *pDbData; /* sqlite3_set_clientdata() content */
+ u64 nSpill; /* TEMP content spilled to disk */
#ifdef SQLITE_ENABLE_UNLOCK_NOTIFY
/* The following variables are all protected by the STATIC_MAIN
** mutex, not by sqlite3.mutex. They are used by code in notify.c.
@@ -18204,6 +18506,7 @@ struct sqlite3 {
#define SQLITE_OnePass 0x08000000 /* Single-pass DELETE and UPDATE */
#define SQLITE_OrderBySubq 0x10000000 /* ORDER BY in subquery helps outer */
#define SQLITE_StarQuery 0x20000000 /* Heurists for star queries */
+#define SQLITE_ExistsToJoin 0x40000000 /* The EXISTS-to-JOIN optimization */
#define SQLITE_AllOpts 0xffffffff /* All optimizations */
/*
@@ -18442,7 +18745,7 @@ struct FuncDestructor {
#define STR_FUNCTION(zName, nArg, pArg, bNC, xFunc) \
{nArg, SQLITE_FUNC_BUILTIN|\
SQLITE_FUNC_SLOCHNG|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \
- pArg, 0, xFunc, 0, 0, 0, #zName, }
+ pArg, 0, xFunc, 0, 0, 0, #zName, {0} }
#define LIKEFUNC(zName, nArg, arg, flags) \
{nArg, SQLITE_FUNC_BUILTIN|SQLITE_FUNC_CONSTANT|SQLITE_UTF8|flags, \
(void *)arg, 0, likeFunc, 0, 0, 0, #zName, {0} }
@@ -18609,6 +18912,7 @@ struct CollSeq {
#define SQLITE_AFF_INTEGER 0x44 /* 'D' */
#define SQLITE_AFF_REAL 0x45 /* 'E' */
#define SQLITE_AFF_FLEXNUM 0x46 /* 'F' */
+#define SQLITE_AFF_DEFER 0x58 /* 'X' - defer computation until later */
#define sqlite3IsNumericAffinity(X) ((X)>=SQLITE_AFF_NUMERIC)
@@ -18733,6 +19037,7 @@ struct Table {
} u;
Trigger *pTrigger; /* List of triggers on this object */
Schema *pSchema; /* Schema that contains this table */
+ u8 aHx[16]; /* Column aHt[K%sizeof(aHt)] might have hash K */
};
/*
@@ -18768,6 +19073,7 @@ struct Table {
#define TF_Ephemeral 0x00004000 /* An ephemeral table */
#define TF_Eponymous 0x00008000 /* An eponymous virtual table */
#define TF_Strict 0x00010000 /* STRICT mode */
+#define TF_Imposter 0x00020000 /* An imposter table */
/*
** Allowed values for Table.eTabType
@@ -18866,9 +19172,13 @@ struct FKey {
struct sColMap { /* Mapping of columns in pFrom to columns in zTo */
int iFrom; /* Index of column in pFrom */
char *zCol; /* Name of column in zTo. If NULL use PRIMARY KEY */
- } aCol[1]; /* One entry for each of nCol columns */
+ } aCol[FLEXARRAY]; /* One entry for each of nCol columns */
};
+/* The size (in bytes) of an FKey object holding N columns. The answer
+** does NOT include space to hold the zTo name. */
+#define SZ_FKEY(N) (offsetof(FKey,aCol)+(N)*sizeof(struct sColMap))
+
/*
** SQLite supports many different ways to resolve a constraint
** error. ROLLBACK processing means that a constraint violation
@@ -18919,9 +19229,15 @@ struct FKey {
** argument to sqlite3VdbeKeyCompare and is used to control the
** comparison of the two index keys.
**
-** Note that aSortOrder[] and aColl[] have nField+1 slots. There
-** are nField slots for the columns of an index then one extra slot
-** for the rowid at the end.
+** The aSortOrder[] and aColl[] arrays have nAllField slots each. There
+** are nKeyField slots for the columns of an index then extra slots
+** for the rowid or key at the end. The aSortOrder array is located after
+** the aColl[] array.
+**
+** If SQLITE_ENABLE_PREUPDATE_HOOK is defined, then aSortFlags might be NULL
+** to indicate that this object is for use by a preupdate hook. When aSortFlags
+** is NULL, then nAllField is uninitialized and no space is allocated for
+** aColl[], so those fields may not be used.
*/
struct KeyInfo {
u32 nRef; /* Number of references to this KeyInfo object */
@@ -18930,9 +19246,21 @@ struct KeyInfo {
u16 nAllField; /* Total columns, including key plus others */
sqlite3 *db; /* The database connection */
u8 *aSortFlags; /* Sort order for each column. */
- CollSeq *aColl[1]; /* Collating sequence for each term of the key */
+ CollSeq *aColl[FLEXARRAY]; /* Collating sequence for each term of the key */
};
+/* The size (in bytes) of a KeyInfo object with up to N fields. This includes
+** the main body of the KeyInfo object and the aColl[] array of N elements,
+** but does not count the memory used to hold aSortFlags[]. */
+#define SZ_KEYINFO(N) (offsetof(KeyInfo,aColl) + (N)*sizeof(CollSeq*))
+
+/* The size of a bare KeyInfo with no aColl[] entries */
+#if FLEXARRAY+1 > 1
+# define SZ_KEYINFO_0 offsetof(KeyInfo,aColl)
+#else
+# define SZ_KEYINFO_0 sizeof(KeyInfo)
+#endif
+
/*
** Allowed bit values for entries in the KeyInfo.aSortFlags[] array.
*/
@@ -18951,9 +19279,8 @@ struct KeyInfo {
**
** An instance of this object serves as a "key" for doing a search on
** an index b+tree. The goal of the search is to find the entry that
-** is closed to the key described by this object. This object might hold
-** just a prefix of the key. The number of fields is given by
-** pKeyInfo->nField.
+** is closest to the key described by this object. This object might hold
+** just a prefix of the key. The number of fields is given by nField.
**
** The r1 and r2 fields are the values to return if this key is less than
** or greater than a key in the btree, respectively. These are normally
@@ -18963,7 +19290,7 @@ struct KeyInfo {
** The key comparison functions actually return default_rc when they find
** an equals comparison. default_rc can be -1, 0, or +1. If there are
** multiple entries in the b-tree with the same key (when only looking
-** at the first pKeyInfo->nFields,) then default_rc can be set to -1 to
+** at the first nField elements) then default_rc can be set to -1 to
** cause the search to find the last match, or +1 to cause the search to
** find the first match.
**
@@ -18975,8 +19302,8 @@ struct KeyInfo {
** b-tree.
*/
struct UnpackedRecord {
- KeyInfo *pKeyInfo; /* Collation and sort-order information */
- Mem *aMem; /* Values */
+ KeyInfo *pKeyInfo; /* Comparison info for the index that is unpacked */
+ Mem *aMem; /* Values for columns of the index */
union {
char *z; /* Cache of aMem[0].z for vdbeRecordCompareString() */
i64 i; /* Cache of aMem[0].u.i for vdbeRecordCompareInt() */
@@ -19052,7 +19379,7 @@ struct Index {
Pgno tnum; /* DB Page containing root of this index */
LogEst szIdxRow; /* Estimated average row size in bytes */
u16 nKeyCol; /* Number of columns forming the key */
- u16 nColumn; /* Number of columns stored in the index */
+ u16 nColumn; /* Nr columns in btree. Can be 2*Table.nCol */
u8 onError; /* OE_Abort, OE_Ignore, OE_Replace, or OE_None */
unsigned idxType:2; /* 0:Normal 1:UNIQUE, 2:PRIMARY KEY, 3:IPK */
unsigned bUnordered:1; /* Use this index for == or IN queries only */
@@ -19061,7 +19388,6 @@ struct Index {
unsigned isCovering:1; /* True if this is a covering index */
unsigned noSkipScan:1; /* Do not try to use skip-scan if true */
unsigned hasStat1:1; /* aiRowLogEst values come from sqlite_stat1 */
- unsigned bLowQual:1; /* sqlite_stat1 says this is a low-quality index */
unsigned bNoQuery:1; /* Do not use this index to optimize queries */
unsigned bAscKeyBug:1; /* True if the bba7b69f9849b5bf bug applies */
unsigned bHasVCol:1; /* Index references one or more VIRTUAL columns */
@@ -19151,7 +19477,7 @@ struct AggInfo {
** from source tables rather than from accumulators */
u8 useSortingIdx; /* In direct mode, reference the sorting index rather
** than the source table */
- u16 nSortingColumn; /* Number of columns in the sorting index */
+ u32 nSortingColumn; /* Number of columns in the sorting index */
int sortingIdx; /* Cursor number of the sorting index */
int sortingIdxPTab; /* Cursor number of pseudo-table */
int iFirstReg; /* First register in range for aCol[] and aFunc[] */
@@ -19160,8 +19486,8 @@ struct AggInfo {
Table *pTab; /* Source table */
Expr *pCExpr; /* The original expression */
int iTable; /* Cursor number of the source table */
- i16 iColumn; /* Column number within the source table */
- i16 iSorterColumn; /* Column number in the sorting index */
+ int iColumn; /* Column number within the source table */
+ int iSorterColumn; /* Column number in the sorting index */
} *aCol;
int nColumn; /* Number of used entries in aCol[] */
int nAccumulator; /* Number of columns that show through to the output.
@@ -19336,6 +19662,7 @@ struct Expr {
Table *pTab; /* TK_COLUMN: Table containing column. Can be NULL
** for a column of an index on an expression */
Window *pWin; /* EP_WinFunc: Window/Filter defn for a function */
+ int nReg; /* TK_NULLS: Number of registers to NULL out */
struct { /* TK_IN, TK_SELECT, and TK_EXISTS */
int iAddr; /* Subroutine entry address */
int regReturn; /* Register used to hold return address */
@@ -19390,10 +19717,10 @@ struct Expr {
/* Macros can be used to test, set, or clear bits in the
** Expr.flags field.
*/
-#define ExprHasProperty(E,P) (((E)->flags&(P))!=0)
-#define ExprHasAllProperty(E,P) (((E)->flags&(P))==(P))
-#define ExprSetProperty(E,P) (E)->flags|=(P)
-#define ExprClearProperty(E,P) (E)->flags&=~(P)
+#define ExprHasProperty(E,P) (((E)->flags&(u32)(P))!=0)
+#define ExprHasAllProperty(E,P) (((E)->flags&(u32)(P))==(u32)(P))
+#define ExprSetProperty(E,P) (E)->flags|=(u32)(P)
+#define ExprClearProperty(E,P) (E)->flags&=~(u32)(P)
#define ExprAlwaysTrue(E) (((E)->flags&(EP_OuterON|EP_IsTrue))==EP_IsTrue)
#define ExprAlwaysFalse(E) (((E)->flags&(EP_OuterON|EP_IsFalse))==EP_IsFalse)
#define ExprIsFullSize(E) (((E)->flags&(EP_Reduced|EP_TokenOnly))==0)
@@ -19505,9 +19832,14 @@ struct ExprList {
int iConstExprReg; /* Register in which Expr value is cached. Used only
** by Parse.pConstExpr */
} u;
- } a[1]; /* One slot for each expression in the list */
+ } a[FLEXARRAY]; /* One slot for each expression in the list */
};
+/* The size (in bytes) of an ExprList object that is big enough to hold
+** as many as N expressions. */
+#define SZ_EXPRLIST(N) \
+ (offsetof(ExprList,a) + (N)*sizeof(struct ExprList_item))
+
/*
** Allowed values for Expr.a.eEName
*/
@@ -19535,9 +19867,12 @@ struct IdList {
int nId; /* Number of identifiers on the list */
struct IdList_item {
char *zName; /* Name of the identifier */
- } a[1];
+ } a[FLEXARRAY];
};
+/* The size (in bytes) of an IdList object that can hold up to N IDs. */
+#define SZ_IDLIST(N) (offsetof(IdList,a)+(N)*sizeof(struct IdList_item))
+
/*
** Allowed values for IdList.eType, which determines which value of the a.u4
** is valid.
@@ -19617,6 +19952,7 @@ struct SrcItem {
unsigned rowidUsed :1; /* The ROWID of this table is referenced */
unsigned fixedSchema :1; /* Uses u4.pSchema, not u4.zDatabase */
unsigned hadSchema :1; /* Had u4.zDatabase before u4.pSchema */
+ unsigned fromExists :1; /* Comes from WHERE EXISTS(...) */
} fg;
int iCursor; /* The VDBE cursor number used to access this table */
Bitmask colUsed; /* Bit N set if column N used. Details above for N>62 */
@@ -19657,11 +19993,19 @@ struct OnOrUsing {
**
*/
struct SrcList {
- int nSrc; /* Number of tables or subqueries in the FROM clause */
- u32 nAlloc; /* Number of entries allocated in a[] below */
- SrcItem a[1]; /* One entry for each identifier on the list */
+ int nSrc; /* Number of tables or subqueries in the FROM clause */
+ u32 nAlloc; /* Number of entries allocated in a[] below */
+ SrcItem a[FLEXARRAY]; /* One entry for each identifier on the list */
};
+/* Size (in bytes) of a SrcList object that can hold as many as N
+** SrcItem objects. */
+#define SZ_SRCLIST(N) (offsetof(SrcList,a)+(N)*sizeof(SrcItem))
+
+/* Size (in bytes( of a SrcList object that holds 1 SrcItem. This is a
+** special case of SZ_SRCITEM(1) that comes up often. */
+#define SZ_SRCLIST_1 (offsetof(SrcList,a)+sizeof(SrcItem))
+
/*
** Permitted values of the SrcList.a.jointype field
*/
@@ -19896,6 +20240,7 @@ struct Select {
#define SF_OrderByReqd 0x8000000 /* The ORDER BY clause may not be omitted */
#define SF_UpdateFrom 0x10000000 /* Query originates with UPDATE FROM */
#define SF_Correlated 0x20000000 /* True if references the outer context */
+#define SF_OnToWhere 0x40000000 /* One or more ON clauses moved to WHERE */
/* True if SrcItem X is a subquery that has SF_NestedFrom */
#define IsNestedFrom(X) \
@@ -20130,25 +20475,33 @@ struct Parse {
char *zErrMsg; /* An error message */
Vdbe *pVdbe; /* An engine for executing database bytecode */
int rc; /* Return code from execution */
- u8 colNamesSet; /* TRUE after OP_ColumnName has been issued to pVdbe */
- u8 checkSchema; /* Causes schema cookie check after an error */
+ LogEst nQueryLoop; /* Est number of iterations of a query (10*log2(N)) */
u8 nested; /* Number of nested calls to the parser/code generator */
u8 nTempReg; /* Number of temporary registers in aTempReg[] */
u8 isMultiWrite; /* True if statement may modify/insert multiple rows */
u8 mayAbort; /* True if statement may throw an ABORT exception */
u8 hasCompound; /* Need to invoke convertCompoundSelectToSubquery() */
- u8 okConstFactor; /* OK to factor out constants */
u8 disableLookaside; /* Number of times lookaside has been disabled */
u8 prepFlags; /* SQLITE_PREPARE_* flags */
u8 withinRJSubrtn; /* Nesting level for RIGHT JOIN body subroutines */
- u8 bHasWith; /* True if statement contains WITH */
+ u8 bHasExists; /* Has a correlated "EXISTS (SELECT ....)" expression */
u8 mSubrtnSig; /* mini Bloom filter on available SubrtnSig.selId */
+ u8 eTriggerOp; /* TK_UPDATE, TK_INSERT or TK_DELETE */
+ u8 bReturning; /* Coding a RETURNING trigger */
+ u8 eOrconf; /* Default ON CONFLICT policy for trigger steps */
+ u8 disableTriggers; /* True to disable triggers */
#if defined(SQLITE_DEBUG) || defined(SQLITE_COVERAGE_TEST)
u8 earlyCleanup; /* OOM inside sqlite3ParserAddCleanup() */
#endif
#ifdef SQLITE_DEBUG
u8 ifNotExists; /* Might be true if IF NOT EXISTS. Assert()s only */
+ u8 isCreate; /* CREATE TABLE, INDEX, or VIEW (but not TRIGGER)
+ ** and ALTER TABLE ADD COLUMN. */
#endif
+ bft colNamesSet :1; /* TRUE after OP_ColumnName has been issued to pVdbe */
+ bft bHasWith :1; /* True if statement contains WITH */
+ bft okConstFactor :1; /* OK to factor out constants */
+ bft checkSchema :1; /* Causes schema cookie check after an error */
int nRangeReg; /* Size of the temporary register block */
int iRangeReg; /* First register in temporary register block */
int nErr; /* Number of errors seen */
@@ -20163,12 +20516,9 @@ struct Parse {
ExprList *pConstExpr;/* Constant expressions */
IndexedExpr *pIdxEpr;/* List of expressions used by active indexes */
IndexedExpr *pIdxPartExpr; /* Exprs constrained by index WHERE clauses */
- Token constraintName;/* Name of the constraint currently being parsed */
yDbMask writeMask; /* Start a write transaction on these databases */
yDbMask cookieMask; /* Bitmask of schema verified databases */
- int regRowid; /* Register holding rowid of CREATE TABLE entry */
- int regRoot; /* Register holding root page number for new objects */
- int nMaxArg; /* Max args passed to user function by sub-program */
+ int nMaxArg; /* Max args to xUpdate and xFilter vtab methods */
int nSelect; /* Number of SELECT stmts. Counter for Select.selId */
#ifndef SQLITE_OMIT_PROGRESS_CALLBACK
u32 nProgressSteps; /* xProgress steps taken during sqlite3_prepare() */
@@ -20182,17 +20532,6 @@ struct Parse {
Table *pTriggerTab; /* Table triggers are being coded for */
TriggerPrg *pTriggerPrg; /* Linked list of coded triggers */
ParseCleanup *pCleanup; /* List of cleanup operations to run after parse */
- union {
- int addrCrTab; /* Address of OP_CreateBtree on CREATE TABLE */
- Returning *pReturning; /* The RETURNING clause */
- } u1;
- u32 oldmask; /* Mask of old.* columns referenced */
- u32 newmask; /* Mask of new.* columns referenced */
- LogEst nQueryLoop; /* Est number of iterations of a query (10*log2(N)) */
- u8 eTriggerOp; /* TK_UPDATE, TK_INSERT or TK_DELETE */
- u8 bReturning; /* Coding a RETURNING trigger */
- u8 eOrconf; /* Default ON CONFLICT policy for trigger steps */
- u8 disableTriggers; /* True to disable triggers */
/**************************************************************************
** Fields above must be initialized to zero. The fields that follow,
@@ -20204,6 +20543,19 @@ struct Parse {
int aTempReg[8]; /* Holding area for temporary registers */
Parse *pOuterParse; /* Outer Parse object when nested */
Token sNameToken; /* Token with unqualified schema object name */
+ u32 oldmask; /* Mask of old.* columns referenced */
+ u32 newmask; /* Mask of new.* columns referenced */
+ union {
+ struct { /* These fields available when isCreate is true */
+ int addrCrTab; /* Address of OP_CreateBtree on CREATE TABLE */
+ int regRowid; /* Register holding rowid of CREATE TABLE entry */
+ int regRoot; /* Register holding root page for new objects */
+ Token constraintName; /* Name of the constraint currently being parsed */
+ } cr;
+ struct { /* These fields available to all other statements */
+ Returning *pReturning; /* The RETURNING clause */
+ } d;
+ } u1;
/************************************************************************
** Above is constant between recursions. Below is reset before and after
@@ -20642,6 +20994,7 @@ struct Walker {
SrcItem *pSrcItem; /* A single FROM clause item */
DbFixer *pFix; /* See sqlite3FixSelect() */
Mem *aMem; /* See sqlite3BtreeCursorHint() */
+ struct CheckOnCtx *pCheckOnCtx; /* See selectCheckOnClauses() */
} u;
};
@@ -20719,9 +21072,13 @@ struct With {
int nCte; /* Number of CTEs in the WITH clause */
int bView; /* Belongs to the outermost Select of a view */
With *pOuter; /* Containing WITH clause, or NULL */
- Cte a[1]; /* For each CTE in the WITH clause.... */
+ Cte a[FLEXARRAY]; /* For each CTE in the WITH clause.... */
};
+/* The size (in bytes) of a With object that can hold as many
+** as N different CTEs. */
+#define SZ_WITH(N) (offsetof(With,a) + (N)*sizeof(Cte))
+
/*
** The Cte object is not guaranteed to persist for the entire duration
** of code generation. (The query flattener or other parser tree
@@ -20750,9 +21107,13 @@ struct DbClientData {
DbClientData *pNext; /* Next in a linked list */
void *pData; /* The data */
void (*xDestructor)(void*); /* Destructor. Might be NULL */
- char zName[1]; /* Name of this client data. MUST BE LAST */
+ char zName[FLEXARRAY]; /* Name of this client data. MUST BE LAST */
};
+/* The size (in bytes) of a DbClientData object that can has a name
+** that is N bytes long, including the zero-terminator. */
+#define SZ_DBCLIENTDATA(N) (offsetof(DbClientData,zName)+(N))
+
#ifdef SQLITE_DEBUG
/*
** An instance of the TreeView object is used for printing the content of
@@ -21121,6 +21482,7 @@ SQLITE_PRIVATE void sqlite3ShowTriggerList(const Trigger*);
SQLITE_PRIVATE void sqlite3ShowWindow(const Window*);
SQLITE_PRIVATE void sqlite3ShowWinFunc(const Window*);
#endif
+SQLITE_PRIVATE void sqlite3ShowBitvec(Bitvec*);
#endif
SQLITE_PRIVATE void sqlite3SetString(char **, sqlite3*, const char*);
@@ -21195,7 +21557,7 @@ SQLITE_PRIVATE void sqlite3SubqueryColumnTypes(Parse*,Table*,Select*,char);
SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse*,Select*,char);
SQLITE_PRIVATE void sqlite3OpenSchemaTable(Parse *, int);
SQLITE_PRIVATE Index *sqlite3PrimaryKeyIndex(Table*);
-SQLITE_PRIVATE i16 sqlite3TableColumnToIndex(Index*, i16);
+SQLITE_PRIVATE int sqlite3TableColumnToIndex(Index*, int);
#ifdef SQLITE_OMIT_GENERATED_COLUMNS
# define sqlite3TableColumnToStorage(T,X) (X) /* No-op pass-through */
# define sqlite3StorageColumnToTable(T,X) (X) /* No-op pass-through */
@@ -21293,7 +21655,7 @@ SQLITE_PRIVATE void sqlite3SrcListAssignCursors(Parse*, SrcList*);
SQLITE_PRIVATE void sqlite3IdListDelete(sqlite3*, IdList*);
SQLITE_PRIVATE void sqlite3ClearOnOrUsing(sqlite3*, OnOrUsing*);
SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3*, SrcList*);
-SQLITE_PRIVATE Index *sqlite3AllocateIndexObject(sqlite3*,i16,int,char**);
+SQLITE_PRIVATE Index *sqlite3AllocateIndexObject(sqlite3*,int,int,char**);
SQLITE_PRIVATE void sqlite3CreateIndex(Parse*,Token*,Token*,SrcList*,ExprList*,int,Token*,
Expr*, int, int, u8);
SQLITE_PRIVATE void sqlite3DropIndex(Parse*, SrcList*, int);
@@ -21340,6 +21702,7 @@ SQLITE_PRIVATE void sqlite3ExprCodeGeneratedColumn(Parse*, Table*, Column*, int)
SQLITE_PRIVATE void sqlite3ExprCodeCopy(Parse*, Expr*, int);
SQLITE_PRIVATE void sqlite3ExprCodeFactorable(Parse*, Expr*, int);
SQLITE_PRIVATE int sqlite3ExprCodeRunJustOnce(Parse*, Expr*, int);
+SQLITE_PRIVATE void sqlite3ExprNullRegisterRange(Parse*, int, int);
SQLITE_PRIVATE int sqlite3ExprCodeTemp(Parse*, Expr*, int*);
SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse*, Expr*, int);
SQLITE_PRIVATE int sqlite3ExprCodeExprList(Parse*, ExprList*, int, int, u8);
@@ -21429,19 +21792,24 @@ SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3*,const Select*,int);
SQLITE_PRIVATE FuncDef *sqlite3FunctionSearch(int,const char*);
SQLITE_PRIVATE void sqlite3InsertBuiltinFuncs(FuncDef*,int);
SQLITE_PRIVATE FuncDef *sqlite3FindFunction(sqlite3*,const char*,int,u8,u8);
-SQLITE_PRIVATE void sqlite3QuoteValue(StrAccum*,sqlite3_value*);
+SQLITE_PRIVATE void sqlite3QuoteValue(StrAccum*,sqlite3_value*,int);
+SQLITE_PRIVATE int sqlite3AppendOneUtf8Character(char*, u32);
SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(void);
SQLITE_PRIVATE void sqlite3RegisterDateTimeFunctions(void);
SQLITE_PRIVATE void sqlite3RegisterJsonFunctions(void);
SQLITE_PRIVATE void sqlite3RegisterPerConnectionBuiltinFunctions(sqlite3*);
#if !defined(SQLITE_OMIT_VIRTUALTABLE) && !defined(SQLITE_OMIT_JSON)
-SQLITE_PRIVATE int sqlite3JsonTableFunctions(sqlite3*);
+SQLITE_PRIVATE Module *sqlite3JsonVtabRegister(sqlite3*,const char*);
#endif
SQLITE_PRIVATE int sqlite3SafetyCheckOk(sqlite3*);
SQLITE_PRIVATE int sqlite3SafetyCheckSickOrOk(sqlite3*);
SQLITE_PRIVATE void sqlite3ChangeCookie(Parse*, int);
SQLITE_PRIVATE With *sqlite3WithDup(sqlite3 *db, With *p);
+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_CARRAY)
+SQLITE_PRIVATE Module *sqlite3CarrayRegister(sqlite3*);
+#endif
+
#if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER)
SQLITE_PRIVATE void sqlite3MaterializeView(Parse*, Table*, Expr*, ExprList*,Expr*,int);
#endif
@@ -21662,7 +22030,7 @@ SQLITE_PRIVATE void sqlite3Reindex(Parse*, Token*, Token*);
SQLITE_PRIVATE void sqlite3AlterFunctions(void);
SQLITE_PRIVATE void sqlite3AlterRenameTable(Parse*, SrcList*, Token*);
SQLITE_PRIVATE void sqlite3AlterRenameColumn(Parse*, SrcList*, Token*, Token*);
-SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *, int *);
+SQLITE_PRIVATE i64 sqlite3GetToken(const unsigned char *, int *);
SQLITE_PRIVATE void sqlite3NestedParse(Parse*, const char*, ...);
SQLITE_PRIVATE void sqlite3ExpirePreparedStatements(sqlite3*, int);
SQLITE_PRIVATE void sqlite3CodeRhsOfIN(Parse*, Expr*, int);
@@ -22294,6 +22662,9 @@ static const char * const sqlite3azCompileOpt[] = {
#ifdef SQLITE_BUG_COMPATIBLE_20160819
"BUG_COMPATIBLE_20160819",
#endif
+#ifdef SQLITE_BUG_COMPATIBLE_20250510
+ "BUG_COMPATIBLE_20250510",
+#endif
#ifdef SQLITE_CASE_SENSITIVE_LIKE
"CASE_SENSITIVE_LIKE",
#endif
@@ -22425,6 +22796,9 @@ static const char * const sqlite3azCompileOpt[] = {
#ifdef SQLITE_ENABLE_BYTECODE_VTAB
"ENABLE_BYTECODE_VTAB",
#endif
+#ifdef SQLITE_ENABLE_CARRAY
+ "ENABLE_CARRAY",
+#endif
#ifdef SQLITE_ENABLE_CEROD
"ENABLE_CEROD=" CTIMEOPT_VAL(SQLITE_ENABLE_CEROD),
#endif
@@ -22515,6 +22889,9 @@ static const char * const sqlite3azCompileOpt[] = {
#ifdef SQLITE_ENABLE_OVERSIZE_CELL_CHECK
"ENABLE_OVERSIZE_CELL_CHECK",
#endif
+#ifdef SQLITE_ENABLE_PERCENTILE
+ "ENABLE_PERCENTILE",
+#endif
#ifdef SQLITE_ENABLE_PREUPDATE_HOOK
"ENABLE_PREUPDATE_HOOK",
#endif
@@ -22530,6 +22907,9 @@ static const char * const sqlite3azCompileOpt[] = {
#ifdef SQLITE_ENABLE_SESSION
"ENABLE_SESSION",
#endif
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ "ENABLE_SETLK_TIMEOUT",
+#endif
#ifdef SQLITE_ENABLE_SNAPSHOT
"ENABLE_SNAPSHOT",
#endif
@@ -22584,6 +22964,9 @@ static const char * const sqlite3azCompileOpt[] = {
#ifdef SQLITE_EXTRA_INIT
"EXTRA_INIT=" CTIMEOPT_VAL(SQLITE_EXTRA_INIT),
#endif
+#ifdef SQLITE_EXTRA_INIT_MUTEXED
+ "EXTRA_INIT_MUTEXED=" CTIMEOPT_VAL(SQLITE_EXTRA_INIT_MUTEXED),
+#endif
#ifdef SQLITE_EXTRA_SHUTDOWN
"EXTRA_SHUTDOWN=" CTIMEOPT_VAL(SQLITE_EXTRA_SHUTDOWN),
#endif
@@ -23568,12 +23951,19 @@ struct VdbeCursor {
#endif
VdbeTxtBlbCache *pCache; /* Cache of large TEXT or BLOB values */
- /* 2*nField extra array elements allocated for aType[], beyond the one
- ** static element declared in the structure. nField total array slots for
- ** aType[] and nField+1 array slots for aOffset[] */
- u32 aType[1]; /* Type values record decode. MUST BE LAST */
+ /* Space is allocated for aType to hold at least 2*nField+1 entries:
+ ** nField slots for aType[] and nField+1 array slots for aOffset[] */
+ u32 aType[FLEXARRAY]; /* Type values record decode. MUST BE LAST */
};
+/*
+** The size (in bytes) of a VdbeCursor object that has an nField value of N
+** or less. The value of SZ_VDBECURSOR(n) is guaranteed to be a multiple
+** of 8.
+*/
+#define SZ_VDBECURSOR(N) \
+ (ROUND8(offsetof(VdbeCursor,aType)) + ((N)+1)*sizeof(u64))
+
/* Return true if P is a null-only cursor
*/
#define IsNullCursor(P) \
@@ -23716,7 +24106,7 @@ struct sqlite3_value {
** MEM_Int, MEM_Real, and MEM_IntReal.
**
** * MEM_Blob|MEM_Zero A blob in Mem.z of length Mem.n plus
-** MEM.u.i extra 0x00 bytes at the end.
+** Mem.u.nZero extra 0x00 bytes at the end.
**
** * MEM_Int Integer stored in Mem.u.i.
**
@@ -23830,13 +24220,16 @@ struct sqlite3_context {
u8 enc; /* Encoding to use for results */
u8 skipFlag; /* Skip accumulator loading if true */
u16 argc; /* Number of arguments */
- sqlite3_value *argv[1]; /* Argument set */
+ sqlite3_value *argv[FLEXARRAY]; /* Argument set */
};
-/* A bitfield type for use inside of structures. Always follow with :N where
-** N is the number of bits.
+/*
+** The size (in bytes) of an sqlite3_context object that holds N
+** argv[] arguments.
*/
-typedef unsigned bft; /* Bit Field Type */
+#define SZ_CONTEXT(N) \
+ (offsetof(sqlite3_context,argv)+(N)*sizeof(sqlite3_value*))
+
/* The ScanStatus object holds a single value for the
** sqlite3_stmt_scanstatus() interface.
@@ -23897,7 +24290,7 @@ struct Vdbe {
i64 nStmtDefCons; /* Number of def. constraints when stmt started */
i64 nStmtDefImmCons; /* Number of def. imm constraints when stmt started */
Mem *aMem; /* The memory locations */
- Mem **apArg; /* Arguments to currently executing user function */
+ Mem **apArg; /* Arguments xUpdate and xFilter vtab methods */
VdbeCursor **apCsr; /* One element of this array for each open cursor */
Mem *aVar; /* Values for the OP_Variable opcode. */
@@ -23917,6 +24310,7 @@ struct Vdbe {
#ifdef SQLITE_DEBUG
int rcApp; /* errcode set by sqlite3_result_error_code() */
u32 nWrite; /* Number of write operations that have occurred */
+ int napArg; /* Size of the apArg[] array */
#endif
u16 nResColumn; /* Number of columns in one row of the result set */
u16 nResAlloc; /* Column slots allocated to aColName[] */
@@ -23969,7 +24363,7 @@ struct PreUpdate {
VdbeCursor *pCsr; /* Cursor to read old values from */
int op; /* One of SQLITE_INSERT, UPDATE, DELETE */
u8 *aRecord; /* old.* database record */
- KeyInfo keyinfo;
+ KeyInfo *pKeyinfo; /* Key information */
UnpackedRecord *pUnpacked; /* Unpacked version of aRecord[] */
UnpackedRecord *pNewUnpacked; /* Unpacked version of new.* record */
int iNewReg; /* Register for new.* values */
@@ -23981,6 +24375,9 @@ struct PreUpdate {
Table *pTab; /* Schema object being updated */
Index *pPk; /* PK index if pTab is WITHOUT ROWID */
sqlite3_value **apDflt; /* Array of default values, if required */
+ struct {
+ u8 keyinfoSpace[SZ_KEYINFO_0]; /* Space to hold pKeyinfo[0] content */
+ } uKey;
};
/*
@@ -24144,9 +24541,11 @@ SQLITE_PRIVATE int sqlite3VdbeCheckMemInvariants(Mem*);
#endif
#ifndef SQLITE_OMIT_FOREIGN_KEY
-SQLITE_PRIVATE int sqlite3VdbeCheckFk(Vdbe *, int);
+SQLITE_PRIVATE int sqlite3VdbeCheckFkImmediate(Vdbe*);
+SQLITE_PRIVATE int sqlite3VdbeCheckFkDeferred(Vdbe*);
#else
-# define sqlite3VdbeCheckFk(p,i) 0
+# define sqlite3VdbeCheckFkImmediate(p) 0
+# define sqlite3VdbeCheckFkDeferred(p) 0
#endif
#ifdef SQLITE_DEBUG
@@ -24347,30 +24746,33 @@ SQLITE_PRIVATE int sqlite3LookasideUsed(sqlite3 *db, int *pHighwater){
nInit += countLookasideSlots(db->lookaside.pSmallInit);
nFree += countLookasideSlots(db->lookaside.pSmallFree);
#endif /* SQLITE_OMIT_TWOSIZE_LOOKASIDE */
- if( pHighwater ) *pHighwater = db->lookaside.nSlot - nInit;
- return db->lookaside.nSlot - (nInit+nFree);
+ assert( db->lookaside.nSlot >= nInit+nFree );
+ if( pHighwater ) *pHighwater = (int)(db->lookaside.nSlot - nInit);
+ return (int)(db->lookaside.nSlot - (nInit+nFree));
}
/*
** Query status information for a single database connection
*/
-SQLITE_API int sqlite3_db_status(
- sqlite3 *db, /* The database connection whose status is desired */
- int op, /* Status verb */
- int *pCurrent, /* Write current value here */
- int *pHighwater, /* Write high-water mark here */
- int resetFlag /* Reset high-water mark if true */
+SQLITE_API int sqlite3_db_status64(
+ sqlite3 *db, /* The database connection whose status is desired */
+ int op, /* Status verb */
+ sqlite3_int64 *pCurrent, /* Write current value here */
+ sqlite3_int64 *pHighwtr, /* Write high-water mark here */
+ int resetFlag /* Reset high-water mark if true */
){
int rc = SQLITE_OK; /* Return code */
#ifdef SQLITE_ENABLE_API_ARMOR
- if( !sqlite3SafetyCheckOk(db) || pCurrent==0|| pHighwater==0 ){
+ if( !sqlite3SafetyCheckOk(db) || pCurrent==0|| pHighwtr==0 ){
return SQLITE_MISUSE_BKPT;
}
#endif
sqlite3_mutex_enter(db->mutex);
switch( op ){
case SQLITE_DBSTATUS_LOOKASIDE_USED: {
- *pCurrent = sqlite3LookasideUsed(db, pHighwater);
+ int H = 0;
+ *pCurrent = sqlite3LookasideUsed(db, &H);
+ *pHighwtr = H;
if( resetFlag ){
LookasideSlot *p = db->lookaside.pFree;
if( p ){
@@ -24401,7 +24803,7 @@ SQLITE_API int sqlite3_db_status(
assert( (op-SQLITE_DBSTATUS_LOOKASIDE_HIT)>=0 );
assert( (op-SQLITE_DBSTATUS_LOOKASIDE_HIT)<3 );
*pCurrent = 0;
- *pHighwater = db->lookaside.anStat[op - SQLITE_DBSTATUS_LOOKASIDE_HIT];
+ *pHighwtr = db->lookaside.anStat[op-SQLITE_DBSTATUS_LOOKASIDE_HIT];
if( resetFlag ){
db->lookaside.anStat[op - SQLITE_DBSTATUS_LOOKASIDE_HIT] = 0;
}
@@ -24415,7 +24817,7 @@ SQLITE_API int sqlite3_db_status(
*/
case SQLITE_DBSTATUS_CACHE_USED_SHARED:
case SQLITE_DBSTATUS_CACHE_USED: {
- int totalUsed = 0;
+ sqlite3_int64 totalUsed = 0;
int i;
sqlite3BtreeEnterAll(db);
for(i=0; i<db->nDb; i++){
@@ -24431,18 +24833,18 @@ SQLITE_API int sqlite3_db_status(
}
sqlite3BtreeLeaveAll(db);
*pCurrent = totalUsed;
- *pHighwater = 0;
+ *pHighwtr = 0;
break;
}
/*
** *pCurrent gets an accurate estimate of the amount of memory used
** to store the schema for all databases (main, temp, and any ATTACHed
- ** databases. *pHighwater is set to zero.
+ ** databases. *pHighwtr is set to zero.
*/
case SQLITE_DBSTATUS_SCHEMA_USED: {
- int i; /* Used to iterate through schemas */
- int nByte = 0; /* Used to accumulate return value */
+ int i; /* Used to iterate through schemas */
+ int nByte = 0; /* Used to accumulate return value */
sqlite3BtreeEnterAll(db);
db->pnBytesFreed = &nByte;
@@ -24476,7 +24878,7 @@ SQLITE_API int sqlite3_db_status(
db->lookaside.pEnd = db->lookaside.pTrueEnd;
sqlite3BtreeLeaveAll(db);
- *pHighwater = 0;
+ *pHighwtr = 0;
*pCurrent = nByte;
break;
}
@@ -24484,7 +24886,7 @@ SQLITE_API int sqlite3_db_status(
/*
** *pCurrent gets an accurate estimate of the amount of memory used
** to store all prepared statements.
- ** *pHighwater is set to zero.
+ ** *pHighwtr is set to zero.
*/
case SQLITE_DBSTATUS_STMT_USED: {
struct Vdbe *pVdbe; /* Used to iterate through VMs */
@@ -24499,7 +24901,7 @@ SQLITE_API int sqlite3_db_status(
db->lookaside.pEnd = db->lookaside.pTrueEnd;
db->pnBytesFreed = 0;
- *pHighwater = 0; /* IMP: R-64479-57858 */
+ *pHighwtr = 0; /* IMP: R-64479-57858 */
*pCurrent = nByte;
break;
@@ -24507,7 +24909,7 @@ SQLITE_API int sqlite3_db_status(
/*
** Set *pCurrent to the total cache hits or misses encountered by all
- ** pagers the database handle is connected to. *pHighwater is always set
+ ** pagers the database handle is connected to. *pHighwtr is always set
** to zero.
*/
case SQLITE_DBSTATUS_CACHE_SPILL:
@@ -24527,19 +24929,39 @@ SQLITE_API int sqlite3_db_status(
sqlite3PagerCacheStat(pPager, op, resetFlag, &nRet);
}
}
- *pHighwater = 0; /* IMP: R-42420-56072 */
+ *pHighwtr = 0; /* IMP: R-42420-56072 */
/* IMP: R-54100-20147 */
/* IMP: R-29431-39229 */
- *pCurrent = (int)nRet & 0x7fffffff;
+ *pCurrent = nRet;
+ break;
+ }
+
+ /* Set *pCurrent to the number of bytes that the db database connection
+ ** has spilled to the filesystem in temporary files that could have been
+ ** stored in memory, had sufficient memory been available.
+ ** The *pHighwater is always set to zero.
+ */
+ case SQLITE_DBSTATUS_TEMPBUF_SPILL: {
+ u64 nRet = 0;
+ if( db->aDb[1].pBt ){
+ Pager *pPager = sqlite3BtreePager(db->aDb[1].pBt);
+ sqlite3PagerCacheStat(pPager, SQLITE_DBSTATUS_CACHE_WRITE,
+ resetFlag, &nRet);
+ nRet *= sqlite3BtreeGetPageSize(db->aDb[1].pBt);
+ }
+ nRet += db->nSpill;
+ if( resetFlag ) db->nSpill = 0;
+ *pHighwtr = 0;
+ *pCurrent = nRet;
break;
}
/* Set *pCurrent to non-zero if there are unresolved deferred foreign
** key constraints. Set *pCurrent to zero if all foreign key constraints
- ** have been satisfied. The *pHighwater is always set to zero.
+ ** have been satisfied. The *pHighwtr is always set to zero.
*/
case SQLITE_DBSTATUS_DEFERRED_FKS: {
- *pHighwater = 0; /* IMP: R-11967-56545 */
+ *pHighwtr = 0; /* IMP: R-11967-56545 */
*pCurrent = db->nDeferredImmCons>0 || db->nDeferredCons>0;
break;
}
@@ -24552,6 +24974,31 @@ SQLITE_API int sqlite3_db_status(
return rc;
}
+/*
+** 32-bit variant of sqlite3_db_status64()
+*/
+SQLITE_API int sqlite3_db_status(
+ sqlite3 *db, /* The database connection whose status is desired */
+ int op, /* Status verb */
+ int *pCurrent, /* Write current value here */
+ int *pHighwtr, /* Write high-water mark here */
+ int resetFlag /* Reset high-water mark if true */
+){
+ sqlite3_int64 C = 0, H = 0;
+ int rc;
+#ifdef SQLITE_ENABLE_API_ARMOR
+ if( !sqlite3SafetyCheckOk(db) || pCurrent==0|| pHighwtr==0 ){
+ return SQLITE_MISUSE_BKPT;
+ }
+#endif
+ rc = sqlite3_db_status64(db, op, &C, &H, resetFlag);
+ if( rc==0 ){
+ *pCurrent = C & 0x7fffffff;
+ *pHighwtr = H & 0x7fffffff;
+ }
+ return rc;
+}
+
/************** End of status.c **********************************************/
/************** Begin file date.c ********************************************/
/*
@@ -24744,6 +25191,10 @@ static int parseTimezone(const char *zDate, DateTime *p){
}
zDate += 5;
p->tz = sgn*(nMn + nHr*60);
+ if( p->tz==0 ){ /* Forum post 2025-09-17T10:12:14z */
+ p->isLocal = 0;
+ p->isUtc = 1;
+ }
zulu_time:
while( sqlite3Isspace(*zDate) ){ zDate++; }
return *zDate!=0;
@@ -25913,7 +26364,7 @@ static int daysAfterMonday(DateTime *pDate){
** In other words, return the day of the week according
** to this code:
**
-** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday
+** 0=Sunday, 1=Monday, 2=Tuesday, ..., 6=Saturday
*/
static int daysAfterSunday(DateTime *pDate){
assert( pDate->validJD );
@@ -25939,8 +26390,8 @@ static int daysAfterSunday(DateTime *pDate){
** %l hour 1-12 (leading zero converted to space)
** %m month 01-12
** %M minute 00-59
-** %p "am" or "pm"
-** %P "AM" or "PM"
+** %p "AM" or "PM"
+** %P "am" or "pm"
** %R time as HH:MM
** %s seconds since 1970-01-01
** %S seconds 00-59
@@ -30122,6 +30573,8 @@ SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3DefaultMutex(void){
#ifdef __CYGWIN__
# include <sys/cygwin.h>
+# include <sys/stat.h> /* amalgamator: dontcache */
+# include <unistd.h> /* amalgamator: dontcache */
# include <errno.h> /* amalgamator: dontcache */
#endif
@@ -31516,17 +31969,17 @@ SQLITE_PRIVATE int sqlite3ApiExit(sqlite3* db, int rc){
#define etPERCENT 7 /* Percent symbol. %% */
#define etCHARX 8 /* Characters. %c */
/* The rest are extensions, not normally found in printf() */
-#define etSQLESCAPE 9 /* Strings with '\'' doubled. %q */
-#define etSQLESCAPE2 10 /* Strings with '\'' doubled and enclosed in '',
- NULL pointers replaced by SQL NULL. %Q */
-#define etTOKEN 11 /* a pointer to a Token structure */
-#define etSRCITEM 12 /* a pointer to a SrcItem */
-#define etPOINTER 13 /* The %p conversion */
-#define etSQLESCAPE3 14 /* %w -> Strings with '\"' doubled */
-#define etORDINAL 15 /* %r -> 1st, 2nd, 3rd, 4th, etc. English only */
-#define etDECIMAL 16 /* %d or %u, but not %x, %o */
+#define etESCAPE_q 9 /* Strings with '\'' doubled. %q */
+#define etESCAPE_Q 10 /* Strings with '\'' doubled and enclosed in '',
+ NULL pointers replaced by SQL NULL. %Q */
+#define etTOKEN 11 /* a pointer to a Token structure */
+#define etSRCITEM 12 /* a pointer to a SrcItem */
+#define etPOINTER 13 /* The %p conversion */
+#define etESCAPE_w 14 /* %w -> Strings with '\"' doubled */
+#define etORDINAL 15 /* %r -> 1st, 2nd, 3rd, 4th, etc. English only */
+#define etDECIMAL 16 /* %d or %u, but not %x, %o */
-#define etINVALID 17 /* Any unrecognized conversion type */
+#define etINVALID 17 /* Any unrecognized conversion type */
/*
@@ -31545,6 +31998,7 @@ typedef struct et_info { /* Information about each format field */
etByte type; /* Conversion paradigm */
etByte charset; /* Offset into aDigits[] of the digits string */
etByte prefix; /* Offset into aPrefix[] of the prefix string */
+ char iNxt; /* Next with same hash, or 0 for end of chain */
} et_info;
/*
@@ -31553,44 +32007,61 @@ typedef struct et_info { /* Information about each format field */
#define FLAG_SIGNED 1 /* True if the value to convert is signed */
#define FLAG_STRING 4 /* Allow infinite precision */
-
/*
-** The following table is searched linearly, so it is good to put the
-** most frequently used conversion types first.
+** The table is searched by hash. In the case of %C where C is the character
+** and that character has ASCII value j, then the hash is j%23.
+**
+** The order of the entries in fmtinfo[] and the hash chain was entered
+** manually, but based on the output of the following TCL script:
*/
+#if 0 /***** Beginning of script ******/
+foreach c {d s g z q Q w c o u x X f e E G i n % p T S r} {
+ scan $c %c x
+ set n($c) $x
+}
+set mx [llength [array names n]]
+puts "count: $mx"
+
+set mx 27
+puts "*********** mx=$mx ************"
+for {set r 0} {$r<$mx} {incr r} {
+ puts -nonewline [format %2d: $r]
+ foreach c [array names n] {
+ if {($n($c))%$mx==$r} {puts -nonewline " $c"}
+ }
+ puts ""
+}
+#endif /***** End of script ********/
+
static const char aDigits[] = "0123456789ABCDEF0123456789abcdef";
static const char aPrefix[] = "-x0\000X0";
-static const et_info fmtinfo[] = {
- { 'd', 10, 1, etDECIMAL, 0, 0 },
- { 's', 0, 4, etSTRING, 0, 0 },
- { 'g', 0, 1, etGENERIC, 30, 0 },
- { 'z', 0, 4, etDYNSTRING, 0, 0 },
- { 'q', 0, 4, etSQLESCAPE, 0, 0 },
- { 'Q', 0, 4, etSQLESCAPE2, 0, 0 },
- { 'w', 0, 4, etSQLESCAPE3, 0, 0 },
- { 'c', 0, 0, etCHARX, 0, 0 },
- { 'o', 8, 0, etRADIX, 0, 2 },
- { 'u', 10, 0, etDECIMAL, 0, 0 },
- { 'x', 16, 0, etRADIX, 16, 1 },
- { 'X', 16, 0, etRADIX, 0, 4 },
-#ifndef SQLITE_OMIT_FLOATING_POINT
- { 'f', 0, 1, etFLOAT, 0, 0 },
- { 'e', 0, 1, etEXP, 30, 0 },
- { 'E', 0, 1, etEXP, 14, 0 },
- { 'G', 0, 1, etGENERIC, 14, 0 },
-#endif
- { 'i', 10, 1, etDECIMAL, 0, 0 },
- { 'n', 0, 0, etSIZE, 0, 0 },
- { '%', 0, 0, etPERCENT, 0, 0 },
- { 'p', 16, 0, etPOINTER, 0, 1 },
-
- /* All the rest are undocumented and are for internal use only */
- { 'T', 0, 0, etTOKEN, 0, 0 },
- { 'S', 0, 0, etSRCITEM, 0, 0 },
- { 'r', 10, 1, etORDINAL, 0, 0 },
+static const et_info fmtinfo[23] = {
+ /* 0 */ { 's', 0, 4, etSTRING, 0, 0, 1 },
+ /* 1 */ { 'E', 0, 1, etEXP, 14, 0, 0 }, /* Hash: 0 */
+ /* 2 */ { 'u', 10, 0, etDECIMAL, 0, 0, 3 },
+ /* 3 */ { 'G', 0, 1, etGENERIC, 14, 0, 0 }, /* Hash: 2 */
+ /* 4 */ { 'w', 0, 4, etESCAPE_w, 0, 0, 0 },
+ /* 5 */ { 'x', 16, 0, etRADIX, 16, 1, 0 },
+ /* 6 */ { 'c', 0, 0, etCHARX, 0, 0, 0 }, /* Hash: 7 */
+ /* 7 */ { 'z', 0, 4, etDYNSTRING, 0, 0, 6 },
+ /* 8 */ { 'd', 10, 1, etDECIMAL, 0, 0, 0 },
+ /* 9 */ { 'e', 0, 1, etEXP, 30, 0, 0 },
+ /* 10 */ { 'f', 0, 1, etFLOAT, 0, 0, 0 },
+ /* 11 */ { 'g', 0, 1, etGENERIC, 30, 0, 0 },
+ /* 12 */ { 'Q', 0, 4, etESCAPE_Q, 0, 0, 0 },
+ /* 13 */ { 'i', 10, 1, etDECIMAL, 0, 0, 0 },
+ /* 14 */ { '%', 0, 0, etPERCENT, 0, 0, 16 },
+ /* 15 */ { 'T', 0, 0, etTOKEN, 0, 0, 0 },
+ /* 16 */ { 'S', 0, 0, etSRCITEM, 0, 0, 0 }, /* Hash: 14 */
+ /* 17 */ { 'X', 16, 0, etRADIX, 0, 4, 0 }, /* Hash: 19 */
+ /* 18 */ { 'n', 0, 0, etSIZE, 0, 0, 0 },
+ /* 19 */ { 'o', 8, 0, etRADIX, 0, 2, 17 },
+ /* 20 */ { 'p', 16, 0, etPOINTER, 0, 1, 0 },
+ /* 21 */ { 'q', 0, 4, etESCAPE_q, 0, 0, 0 },
+ /* 22 */ { 'r', 10, 1, etORDINAL, 0, 0, 0 }
};
-/* Notes:
+/* Additional Notes:
**
** %S Takes a pointer to SrcItem. Shows name or database.name
** %!S Like %S but prefer the zName over the zAlias
@@ -31717,7 +32188,10 @@ SQLITE_API void sqlite3_str_vappendf(
#if HAVE_STRCHRNUL
fmt = strchrnul(fmt, '%');
#else
- do{ fmt++; }while( *fmt && *fmt != '%' );
+ fmt = strchr(fmt, '%');
+ if( fmt==0 ){
+ fmt = bufpt + strlen(bufpt);
+ }
#endif
sqlite3_str_append(pAccum, bufpt, (int)(fmt - bufpt));
if( *fmt==0 ) break;
@@ -31831,6 +32305,9 @@ SQLITE_API void sqlite3_str_vappendf(
}while( !done && (c=(*++fmt))!=0 );
/* Fetch the info entry for the field */
+#ifdef SQLITE_EBCDIC
+ /* The hash table only works for ASCII. For EBCDIC, we need to do
+ ** a linear search of the table */
infop = &fmtinfo[0];
xtype = etINVALID;
for(idx=0; idx<ArraySize(fmtinfo); idx++){
@@ -31840,6 +32317,20 @@ SQLITE_API void sqlite3_str_vappendf(
break;
}
}
+#else
+ /* Fast hash-table lookup */
+ assert( ArraySize(fmtinfo)==23 );
+ idx = ((unsigned)c) % 23;
+ if( fmtinfo[idx].fmttype==c
+ || fmtinfo[idx = fmtinfo[idx].iNxt].fmttype==c
+ ){
+ infop = &fmtinfo[idx];
+ xtype = infop->type;
+ }else{
+ infop = &fmtinfo[0];
+ xtype = etINVALID;
+ }
+#endif
/*
** At this point, variables are initialized as follows:
@@ -31907,6 +32398,14 @@ SQLITE_API void sqlite3_str_vappendf(
}
prefix = 0;
}
+
+#if WHERETRACE_ENABLED
+ if( xtype==etPOINTER && sqlite3WhereTrace & 0x100000 ) longvalue = 0;
+#endif
+#if TREETRACE_ENABLED
+ if( xtype==etPOINTER && sqlite3TreeTrace & 0x100000 ) longvalue = 0;
+#endif
+
if( longvalue==0 ) flag_alternateform = 0;
if( flag_zeropad && precision<width-(prefix!=0) ){
precision = width-(prefix!=0);
@@ -32019,7 +32518,21 @@ SQLITE_API void sqlite3_str_vappendf(
}
}
if( s.sign=='-' ){
- prefix = '-';
+ if( flag_alternateform
+ && !flag_prefix
+ && xtype==etFLOAT
+ && s.iDP<=iRound
+ ){
+ /* Suppress the minus sign if all of the following are true:
+ ** * The value displayed is zero
+ ** * The '#' flag is used
+ ** * The '+' flag is not used, and
+ ** * The format is %f
+ */
+ prefix = 0;
+ }else{
+ prefix = '-';
+ }
}else{
prefix = flag_prefix;
}
@@ -32164,25 +32677,7 @@ SQLITE_API void sqlite3_str_vappendf(
}
}else{
unsigned int ch = va_arg(ap,unsigned int);
- if( ch<0x00080 ){
- buf[0] = ch & 0xff;
- length = 1;
- }else if( ch<0x00800 ){
- buf[0] = 0xc0 + (u8)((ch>>6)&0x1f);
- buf[1] = 0x80 + (u8)(ch & 0x3f);
- length = 2;
- }else if( ch<0x10000 ){
- buf[0] = 0xe0 + (u8)((ch>>12)&0x0f);
- buf[1] = 0x80 + (u8)((ch>>6) & 0x3f);
- buf[2] = 0x80 + (u8)(ch & 0x3f);
- length = 3;
- }else{
- buf[0] = 0xf0 + (u8)((ch>>18) & 0x07);
- buf[1] = 0x80 + (u8)((ch>>12) & 0x3f);
- buf[2] = 0x80 + (u8)((ch>>6) & 0x3f);
- buf[3] = 0x80 + (u8)(ch & 0x3f);
- length = 4;
- }
+ length = sqlite3AppendOneUtf8Character(buf, ch);
}
if( precision>1 ){
i64 nPrior = 1;
@@ -32262,22 +32757,31 @@ SQLITE_API void sqlite3_str_vappendf(
while( ii>=0 ) if( (bufpt[ii--] & 0xc0)==0x80 ) width++;
}
break;
- case etSQLESCAPE: /* %q: Escape ' characters */
- case etSQLESCAPE2: /* %Q: Escape ' and enclose in '...' */
- case etSQLESCAPE3: { /* %w: Escape " characters */
+ case etESCAPE_q: /* %q: Escape ' characters */
+ case etESCAPE_Q: /* %Q: Escape ' and enclose in '...' */
+ case etESCAPE_w: { /* %w: Escape " characters */
i64 i, j, k, n;
- int needQuote, isnull;
+ int needQuote = 0;
char ch;
- char q = ((xtype==etSQLESCAPE3)?'"':'\''); /* Quote character */
char *escarg;
+ char q;
if( bArgList ){
escarg = getTextArg(pArgList);
}else{
escarg = va_arg(ap,char*);
}
- isnull = escarg==0;
- if( isnull ) escarg = (xtype==etSQLESCAPE2 ? "NULL" : "(NULL)");
+ if( escarg==0 ){
+ escarg = (xtype==etESCAPE_Q ? "NULL" : "(NULL)");
+ }else if( xtype==etESCAPE_Q ){
+ needQuote = 1;
+ }
+ if( xtype==etESCAPE_w ){
+ q = '"';
+ flag_alternateform = 0;
+ }else{
+ q = '\'';
+ }
/* For %q, %Q, and %w, the precision is the number of bytes (or
** characters if the ! flags is present) to use from the input.
** Because of the extra quoting characters inserted, the number
@@ -32290,7 +32794,30 @@ SQLITE_API void sqlite3_str_vappendf(
while( (escarg[i+1]&0xc0)==0x80 ){ i++; }
}
}
- needQuote = !isnull && xtype==etSQLESCAPE2;
+ if( flag_alternateform ){
+ /* For %#q, do unistr()-style backslash escapes for
+ ** all control characters, and for backslash itself.
+ ** For %#Q, do the same but only if there is at least
+ ** one control character. */
+ u32 nBack = 0;
+ u32 nCtrl = 0;
+ for(k=0; k<i; k++){
+ if( escarg[k]=='\\' ){
+ nBack++;
+ }else if( ((u8*)escarg)[k]<=0x1f ){
+ nCtrl++;
+ }
+ }
+ if( nCtrl || xtype==etESCAPE_q ){
+ n += nBack + 5*nCtrl;
+ if( xtype==etESCAPE_Q ){
+ n += 10;
+ needQuote = 2;
+ }
+ }else{
+ flag_alternateform = 0;
+ }
+ }
n += i + 3;
if( n>etBUFSIZE ){
bufpt = zExtra = printfTempBuf(pAccum, n);
@@ -32299,13 +32826,41 @@ SQLITE_API void sqlite3_str_vappendf(
bufpt = buf;
}
j = 0;
- if( needQuote ) bufpt[j++] = q;
+ if( needQuote ){
+ if( needQuote==2 ){
+ memcpy(&bufpt[j], "unistr('", 8);
+ j += 8;
+ }else{
+ bufpt[j++] = '\'';
+ }
+ }
k = i;
- for(i=0; i<k; i++){
- bufpt[j++] = ch = escarg[i];
- if( ch==q ) bufpt[j++] = ch;
+ if( flag_alternateform ){
+ for(i=0; i<k; i++){
+ bufpt[j++] = ch = escarg[i];
+ if( ch==q ){
+ bufpt[j++] = ch;
+ }else if( ch=='\\' ){
+ bufpt[j++] = '\\';
+ }else if( ((unsigned char)ch)<=0x1f ){
+ bufpt[j-1] = '\\';
+ bufpt[j++] = 'u';
+ bufpt[j++] = '0';
+ bufpt[j++] = '0';
+ bufpt[j++] = ch>=0x10 ? '1' : '0';
+ bufpt[j++] = "0123456789abcdef"[ch&0xf];
+ }
+ }
+ }else{
+ for(i=0; i<k; i++){
+ bufpt[j++] = ch = escarg[i];
+ if( ch==q ) bufpt[j++] = ch;
+ }
+ }
+ if( needQuote ){
+ bufpt[j++] = '\'';
+ if( needQuote==2 ) bufpt[j++] = ')';
}
- if( needQuote ) bufpt[j++] = q;
bufpt[j] = 0;
length = j;
goto adjust_width_for_utf8;
@@ -32548,7 +33103,7 @@ SQLITE_API void sqlite3_str_appendall(sqlite3_str *p, const char *z){
static SQLITE_NOINLINE char *strAccumFinishRealloc(StrAccum *p){
char *zText;
assert( p->mxAlloc>0 && !isMalloced(p) );
- zText = sqlite3DbMallocRaw(p->db, p->nChar+1 );
+ zText = sqlite3DbMallocRaw(p->db, 1+(u64)p->nChar );
if( zText ){
memcpy(zText, p->zText, p->nChar+1);
p->printfFlags |= SQLITE_PRINTF_MALLOCED;
@@ -32793,6 +33348,15 @@ SQLITE_API char *sqlite3_snprintf(int n, char *zBuf, const char *zFormat, ...){
return zBuf;
}
+/* Maximum size of an sqlite3_log() message. */
+#if defined(SQLITE_MAX_LOG_MESSAGE)
+ /* Leave the definition as supplied */
+#elif SQLITE_PRINT_BUF_SIZE*10>10000
+# define SQLITE_MAX_LOG_MESSAGE 10000
+#else
+# define SQLITE_MAX_LOG_MESSAGE (SQLITE_PRINT_BUF_SIZE*10)
+#endif
+
/*
** This is the routine that actually formats the sqlite3_log() message.
** We house it in a separate routine from sqlite3_log() to avoid using
@@ -32809,7 +33373,7 @@ SQLITE_API char *sqlite3_snprintf(int n, char *zBuf, const char *zFormat, ...){
*/
static void renderLogMsg(int iErrCode, const char *zFormat, va_list ap){
StrAccum acc; /* String accumulator */
- char zMsg[SQLITE_PRINT_BUF_SIZE*3]; /* Complete log message */
+ char zMsg[SQLITE_MAX_LOG_MESSAGE]; /* Complete log message */
sqlite3StrAccumInit(&acc, 0, zMsg, sizeof(zMsg), 0);
sqlite3_str_vappendf(&acc, zFormat, ap);
@@ -33179,9 +33743,13 @@ SQLITE_PRIVATE void sqlite3TreeViewSrcList(TreeView *pView, const SrcList *pSrc)
n = 0;
if( pItem->fg.isSubquery ) n++;
if( pItem->fg.isTabFunc ) n++;
- if( pItem->fg.isUsing ) n++;
+ if( pItem->fg.isUsing || pItem->u3.pOn!=0 ) n++;
if( pItem->fg.isUsing ){
sqlite3TreeViewIdList(pView, pItem->u3.pUsing, (--n)>0, "USING");
+ }else if( pItem->u3.pOn!=0 ){
+ sqlite3TreeViewItem(pView, "ON", (--n)>0);
+ sqlite3TreeViewExpr(pView, pItem->u3.pOn, 0);
+ sqlite3TreeViewPop(&pView);
}
if( pItem->fg.isSubquery ){
assert( n==1 );
@@ -34804,6 +35372,35 @@ static const unsigned char sqlite3Utf8Trans1[] = {
} \
}
+/*
+** Write a single UTF8 character whose value is v into the
+** buffer starting at zOut. zOut must be sized to hold at
+** least four bytes. Return the number of bytes needed
+** to encode the new character.
+*/
+SQLITE_PRIVATE int sqlite3AppendOneUtf8Character(char *zOut, u32 v){
+ if( v<0x00080 ){
+ zOut[0] = (u8)(v & 0xff);
+ return 1;
+ }
+ if( v<0x00800 ){
+ zOut[0] = 0xc0 + (u8)((v>>6) & 0x1f);
+ zOut[1] = 0x80 + (u8)(v & 0x3f);
+ return 2;
+ }
+ if( v<0x10000 ){
+ zOut[0] = 0xe0 + (u8)((v>>12) & 0x0f);
+ zOut[1] = 0x80 + (u8)((v>>6) & 0x3f);
+ zOut[2] = 0x80 + (u8)(v & 0x3f);
+ return 3;
+ }
+ zOut[0] = 0xf0 + (u8)((v>>18) & 0x07);
+ zOut[1] = 0x80 + (u8)((v>>12) & 0x3f);
+ zOut[2] = 0x80 + (u8)((v>>6) & 0x3f);
+ zOut[3] = 0x80 + (u8)(v & 0x3f);
+ return 4;
+}
+
/*
** Translate a single UTF-8 character. Return the unicode value.
**
@@ -35225,7 +35822,7 @@ SQLITE_PRIVATE int sqlite3Utf16ByteLen(const void *zIn, int nByte, int nChar){
int n = 0;
if( SQLITE_UTF16NATIVE==SQLITE_UTF16LE ) z++;
- while( n<nChar && ALWAYS(z<=zEnd) ){
+ while( n<nChar && z<=zEnd ){
c = z[0];
z += 2;
if( c>=0xd8 && c<0xdc && z<=zEnd && z[0]>=0xdc && z[0]<0xe0 ) z += 2;
@@ -36400,7 +36997,11 @@ SQLITE_PRIVATE void sqlite3FpDecode(FpDecode *p, double r, int iRound, int mxRou
}
p->z = &p->zBuf[i+1];
assert( i+p->n < sizeof(p->zBuf) );
- while( ALWAYS(p->n>0) && p->z[p->n-1]=='0' ){ p->n--; }
+ assert( p->n>0 );
+ while( p->z[p->n-1]=='0' ){
+ p->n--;
+ assert( p->n>0 );
+ }
}
/*
@@ -36905,7 +37506,7 @@ SQLITE_PRIVATE int sqlite3MulInt64(i64 *pA, i64 iB){
}
/*
-** Compute the absolute value of a 32-bit signed integer, of possible. Or
+** Compute the absolute value of a 32-bit signed integer, if possible. Or
** if the integer has a value of -2147483648, return +2147483647
*/
SQLITE_PRIVATE int sqlite3AbsInt32(int x){
@@ -37186,12 +37787,19 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash *pH){
*/
static unsigned int strHash(const char *z){
unsigned int h = 0;
- unsigned char c;
- while( (c = (unsigned char)*z++)!=0 ){ /*OPTIMIZATION-IF-TRUE*/
+ while( z[0] ){ /*OPTIMIZATION-IF-TRUE*/
/* Knuth multiplicative hashing. (Sorting & Searching, p. 510).
** 0x9e3779b1 is 2654435761 which is the closest prime number to
- ** (2**32)*golden_ratio, where golden_ratio = (sqrt(5) - 1)/2. */
- h += sqlite3UpperToLower[c];
+ ** (2**32)*golden_ratio, where golden_ratio = (sqrt(5) - 1)/2.
+ **
+ ** Only bits 0xdf for ASCII and bits 0xbf for EBCDIC each octet are
+ ** hashed since the omitted bits determine the upper/lower case difference.
+ */
+#ifdef SQLITE_EBCDIC
+ h += 0xbf & (unsigned char)*(z++);
+#else
+ h += 0xdf & (unsigned char)*(z++);
+#endif
h *= 0x9e3779b1;
}
return h;
@@ -37264,9 +37872,8 @@ static int rehash(Hash *pH, unsigned int new_size){
pH->htsize = new_size = sqlite3MallocSize(new_ht)/sizeof(struct _ht);
memset(new_ht, 0, new_size*sizeof(struct _ht));
for(elem=pH->first, pH->first=0; elem; elem = next_elem){
- unsigned int h = strHash(elem->pKey) % new_size;
next_elem = elem->next;
- insertElement(pH, &new_ht[h], elem);
+ insertElement(pH, &new_ht[elem->h % new_size], elem);
}
return 1;
}
@@ -37284,23 +37891,22 @@ static HashElem *findElementWithHash(
HashElem *elem; /* Used to loop thru the element list */
unsigned int count; /* Number of elements left to test */
unsigned int h; /* The computed hash */
- static HashElem nullElement = { 0, 0, 0, 0 };
+ static HashElem nullElement = { 0, 0, 0, 0, 0 };
+ h = strHash(pKey);
if( pH->ht ){ /*OPTIMIZATION-IF-TRUE*/
struct _ht *pEntry;
- h = strHash(pKey) % pH->htsize;
- pEntry = &pH->ht[h];
+ pEntry = &pH->ht[h % pH->htsize];
elem = pEntry->chain;
count = pEntry->count;
}else{
- h = 0;
elem = pH->first;
count = pH->count;
}
if( pHash ) *pHash = h;
while( count ){
assert( elem!=0 );
- if( sqlite3StrICmp(elem->pKey,pKey)==0 ){
+ if( h==elem->h && sqlite3StrICmp(elem->pKey,pKey)==0 ){
return elem;
}
elem = elem->next;
@@ -37312,10 +37918,9 @@ static HashElem *findElementWithHash(
/* Remove a single entry from the hash table given a pointer to that
** element and a hash on the element's key.
*/
-static void removeElementGivenHash(
+static void removeElement(
Hash *pH, /* The pH containing "elem" */
- HashElem* elem, /* The element to be removed from the pH */
- unsigned int h /* Hash value for the element */
+ HashElem *elem /* The element to be removed from the pH */
){
struct _ht *pEntry;
if( elem->prev ){
@@ -37327,7 +37932,7 @@ static void removeElementGivenHash(
elem->next->prev = elem->prev;
}
if( pH->ht ){
- pEntry = &pH->ht[h];
+ pEntry = &pH->ht[elem->h % pH->htsize];
if( pEntry->chain==elem ){
pEntry->chain = elem->next;
}
@@ -37378,7 +37983,7 @@ SQLITE_PRIVATE void *sqlite3HashInsert(Hash *pH, const char *pKey, void *data){
if( elem->data ){
void *old_data = elem->data;
if( data==0 ){
- removeElementGivenHash(pH,elem,h);
+ removeElement(pH,elem);
}else{
elem->data = data;
elem->pKey = pKey;
@@ -37389,18 +37994,17 @@ SQLITE_PRIVATE void *sqlite3HashInsert(Hash *pH, const char *pKey, void *data){
new_elem = (HashElem*)sqlite3Malloc( sizeof(HashElem) );
if( new_elem==0 ) return data;
new_elem->pKey = pKey;
+ new_elem->h = h;
new_elem->data = data;
pH->count++;
- if( pH->count>=10 && pH->count > 2*pH->htsize ){
- if( rehash(pH, pH->count*2) ){
- assert( pH->htsize>0 );
- h = strHash(pKey) % pH->htsize;
- }
+ if( pH->count>=5 && pH->count > 2*pH->htsize ){
+ rehash(pH, pH->count*3);
}
- insertElement(pH, pH->ht ? &pH->ht[h] : 0, new_elem);
+ insertElement(pH, pH->ht ? &pH->ht[new_elem->h % pH->htsize] : 0, new_elem);
return 0;
}
+
/************** End of hash.c ************************************************/
/************** Begin file opcodes.c *****************************************/
/* Automatically generated. Do not edit */
@@ -37452,20 +38056,20 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){
/* 34 */ "SorterSort" OpHelp(""),
/* 35 */ "Sort" OpHelp(""),
/* 36 */ "Rewind" OpHelp(""),
- /* 37 */ "SorterNext" OpHelp(""),
- /* 38 */ "Prev" OpHelp(""),
- /* 39 */ "Next" OpHelp(""),
- /* 40 */ "IdxLE" OpHelp("key=r[P3@P4]"),
- /* 41 */ "IdxGT" OpHelp("key=r[P3@P4]"),
- /* 42 */ "IdxLT" OpHelp("key=r[P3@P4]"),
+ /* 37 */ "IfEmpty" OpHelp("if( empty(P1) ) goto P2"),
+ /* 38 */ "SorterNext" OpHelp(""),
+ /* 39 */ "Prev" OpHelp(""),
+ /* 40 */ "Next" OpHelp(""),
+ /* 41 */ "IdxLE" OpHelp("key=r[P3@P4]"),
+ /* 42 */ "IdxGT" OpHelp("key=r[P3@P4]"),
/* 43 */ "Or" OpHelp("r[P3]=(r[P1] || r[P2])"),
/* 44 */ "And" OpHelp("r[P3]=(r[P1] && r[P2])"),
- /* 45 */ "IdxGE" OpHelp("key=r[P3@P4]"),
- /* 46 */ "RowSetRead" OpHelp("r[P3]=rowset(P1)"),
- /* 47 */ "RowSetTest" OpHelp("if r[P3] in rowset(P1) goto P2"),
- /* 48 */ "Program" OpHelp(""),
- /* 49 */ "FkIfZero" OpHelp("if fkctr[P1]==0 goto P2"),
- /* 50 */ "IfPos" OpHelp("if r[P1]>0 then r[P1]-=P3, goto P2"),
+ /* 45 */ "IdxLT" OpHelp("key=r[P3@P4]"),
+ /* 46 */ "IdxGE" OpHelp("key=r[P3@P4]"),
+ /* 47 */ "RowSetRead" OpHelp("r[P3]=rowset(P1)"),
+ /* 48 */ "RowSetTest" OpHelp("if r[P3] in rowset(P1) goto P2"),
+ /* 49 */ "Program" OpHelp(""),
+ /* 50 */ "FkIfZero" OpHelp("if fkctr[P1]==0 goto P2"),
/* 51 */ "IsNull" OpHelp("if r[P1]==NULL goto P2"),
/* 52 */ "NotNull" OpHelp("if r[P1]!=NULL goto P2"),
/* 53 */ "Ne" OpHelp("IF r[P3]!=r[P1]"),
@@ -37475,49 +38079,49 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){
/* 57 */ "Lt" OpHelp("IF r[P3]<r[P1]"),
/* 58 */ "Ge" OpHelp("IF r[P3]>=r[P1]"),
/* 59 */ "ElseEq" OpHelp(""),
- /* 60 */ "IfNotZero" OpHelp("if r[P1]!=0 then r[P1]--, goto P2"),
- /* 61 */ "DecrJumpZero" OpHelp("if (--r[P1])==0 goto P2"),
- /* 62 */ "IncrVacuum" OpHelp(""),
- /* 63 */ "VNext" OpHelp(""),
- /* 64 */ "Filter" OpHelp("if key(P3@P4) not in filter(P1) goto P2"),
- /* 65 */ "PureFunc" OpHelp("r[P3]=func(r[P2@NP])"),
- /* 66 */ "Function" OpHelp("r[P3]=func(r[P2@NP])"),
- /* 67 */ "Return" OpHelp(""),
- /* 68 */ "EndCoroutine" OpHelp(""),
- /* 69 */ "HaltIfNull" OpHelp("if r[P3]=null halt"),
- /* 70 */ "Halt" OpHelp(""),
- /* 71 */ "Integer" OpHelp("r[P2]=P1"),
- /* 72 */ "Int64" OpHelp("r[P2]=P4"),
- /* 73 */ "String" OpHelp("r[P2]='P4' (len=P1)"),
- /* 74 */ "BeginSubrtn" OpHelp("r[P2]=NULL"),
- /* 75 */ "Null" OpHelp("r[P2..P3]=NULL"),
- /* 76 */ "SoftNull" OpHelp("r[P1]=NULL"),
- /* 77 */ "Blob" OpHelp("r[P2]=P4 (len=P1)"),
- /* 78 */ "Variable" OpHelp("r[P2]=parameter(P1)"),
- /* 79 */ "Move" OpHelp("r[P2@P3]=r[P1@P3]"),
- /* 80 */ "Copy" OpHelp("r[P2@P3+1]=r[P1@P3+1]"),
- /* 81 */ "SCopy" OpHelp("r[P2]=r[P1]"),
- /* 82 */ "IntCopy" OpHelp("r[P2]=r[P1]"),
- /* 83 */ "FkCheck" OpHelp(""),
- /* 84 */ "ResultRow" OpHelp("output=r[P1@P2]"),
- /* 85 */ "CollSeq" OpHelp(""),
- /* 86 */ "AddImm" OpHelp("r[P1]=r[P1]+P2"),
- /* 87 */ "RealAffinity" OpHelp(""),
- /* 88 */ "Cast" OpHelp("affinity(r[P1])"),
- /* 89 */ "Permutation" OpHelp(""),
- /* 90 */ "Compare" OpHelp("r[P1@P3] <-> r[P2@P3]"),
- /* 91 */ "IsTrue" OpHelp("r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4"),
- /* 92 */ "ZeroOrNull" OpHelp("r[P2] = 0 OR NULL"),
- /* 93 */ "Offset" OpHelp("r[P3] = sqlite_offset(P1)"),
- /* 94 */ "Column" OpHelp("r[P3]=PX cursor P1 column P2"),
- /* 95 */ "TypeCheck" OpHelp("typecheck(r[P1@P2])"),
- /* 96 */ "Affinity" OpHelp("affinity(r[P1@P2])"),
- /* 97 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])"),
- /* 98 */ "Count" OpHelp("r[P2]=count()"),
- /* 99 */ "ReadCookie" OpHelp(""),
- /* 100 */ "SetCookie" OpHelp(""),
- /* 101 */ "ReopenIdx" OpHelp("root=P2 iDb=P3"),
- /* 102 */ "OpenRead" OpHelp("root=P2 iDb=P3"),
+ /* 60 */ "IfPos" OpHelp("if r[P1]>0 then r[P1]-=P3, goto P2"),
+ /* 61 */ "IfNotZero" OpHelp("if r[P1]!=0 then r[P1]--, goto P2"),
+ /* 62 */ "DecrJumpZero" OpHelp("if (--r[P1])==0 goto P2"),
+ /* 63 */ "IncrVacuum" OpHelp(""),
+ /* 64 */ "VNext" OpHelp(""),
+ /* 65 */ "Filter" OpHelp("if key(P3@P4) not in filter(P1) goto P2"),
+ /* 66 */ "PureFunc" OpHelp("r[P3]=func(r[P2@NP])"),
+ /* 67 */ "Function" OpHelp("r[P3]=func(r[P2@NP])"),
+ /* 68 */ "Return" OpHelp(""),
+ /* 69 */ "EndCoroutine" OpHelp(""),
+ /* 70 */ "HaltIfNull" OpHelp("if r[P3]=null halt"),
+ /* 71 */ "Halt" OpHelp(""),
+ /* 72 */ "Integer" OpHelp("r[P2]=P1"),
+ /* 73 */ "Int64" OpHelp("r[P2]=P4"),
+ /* 74 */ "String" OpHelp("r[P2]='P4' (len=P1)"),
+ /* 75 */ "BeginSubrtn" OpHelp("r[P2]=NULL"),
+ /* 76 */ "Null" OpHelp("r[P2..P3]=NULL"),
+ /* 77 */ "SoftNull" OpHelp("r[P1]=NULL"),
+ /* 78 */ "Blob" OpHelp("r[P2]=P4 (len=P1)"),
+ /* 79 */ "Variable" OpHelp("r[P2]=parameter(P1)"),
+ /* 80 */ "Move" OpHelp("r[P2@P3]=r[P1@P3]"),
+ /* 81 */ "Copy" OpHelp("r[P2@P3+1]=r[P1@P3+1]"),
+ /* 82 */ "SCopy" OpHelp("r[P2]=r[P1]"),
+ /* 83 */ "IntCopy" OpHelp("r[P2]=r[P1]"),
+ /* 84 */ "FkCheck" OpHelp(""),
+ /* 85 */ "ResultRow" OpHelp("output=r[P1@P2]"),
+ /* 86 */ "CollSeq" OpHelp(""),
+ /* 87 */ "AddImm" OpHelp("r[P1]=r[P1]+P2"),
+ /* 88 */ "RealAffinity" OpHelp(""),
+ /* 89 */ "Cast" OpHelp("affinity(r[P1])"),
+ /* 90 */ "Permutation" OpHelp(""),
+ /* 91 */ "Compare" OpHelp("r[P1@P3] <-> r[P2@P3]"),
+ /* 92 */ "IsTrue" OpHelp("r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4"),
+ /* 93 */ "ZeroOrNull" OpHelp("r[P2] = 0 OR NULL"),
+ /* 94 */ "Offset" OpHelp("r[P3] = sqlite_offset(P1)"),
+ /* 95 */ "Column" OpHelp("r[P3]=PX cursor P1 column P2"),
+ /* 96 */ "TypeCheck" OpHelp("typecheck(r[P1@P2])"),
+ /* 97 */ "Affinity" OpHelp("affinity(r[P1@P2])"),
+ /* 98 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])"),
+ /* 99 */ "Count" OpHelp("r[P2]=count()"),
+ /* 100 */ "ReadCookie" OpHelp(""),
+ /* 101 */ "SetCookie" OpHelp(""),
+ /* 102 */ "ReopenIdx" OpHelp("root=P2 iDb=P3"),
/* 103 */ "BitAnd" OpHelp("r[P3]=r[P1]&r[P2]"),
/* 104 */ "BitOr" OpHelp("r[P3]=r[P1]|r[P2]"),
/* 105 */ "ShiftLeft" OpHelp("r[P3]=r[P2]<<r[P1]"),
@@ -37528,83 +38132,84 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){
/* 110 */ "Divide" OpHelp("r[P3]=r[P2]/r[P1]"),
/* 111 */ "Remainder" OpHelp("r[P3]=r[P2]%r[P1]"),
/* 112 */ "Concat" OpHelp("r[P3]=r[P2]+r[P1]"),
- /* 113 */ "OpenWrite" OpHelp("root=P2 iDb=P3"),
- /* 114 */ "OpenDup" OpHelp(""),
+ /* 113 */ "OpenRead" OpHelp("root=P2 iDb=P3"),
+ /* 114 */ "OpenWrite" OpHelp("root=P2 iDb=P3"),
/* 115 */ "BitNot" OpHelp("r[P2]= ~r[P1]"),
- /* 116 */ "OpenAutoindex" OpHelp("nColumn=P2"),
- /* 117 */ "OpenEphemeral" OpHelp("nColumn=P2"),
+ /* 116 */ "OpenDup" OpHelp(""),
+ /* 117 */ "OpenAutoindex" OpHelp("nColumn=P2"),
/* 118 */ "String8" OpHelp("r[P2]='P4'"),
- /* 119 */ "SorterOpen" OpHelp(""),
- /* 120 */ "SequenceTest" OpHelp("if( cursor[P1].ctr++ ) pc = P2"),
- /* 121 */ "OpenPseudo" OpHelp("P3 columns in r[P2]"),
- /* 122 */ "Close" OpHelp(""),
- /* 123 */ "ColumnsUsed" OpHelp(""),
- /* 124 */ "SeekScan" OpHelp("Scan-ahead up to P1 rows"),
- /* 125 */ "SeekHit" OpHelp("set P2<=seekHit<=P3"),
- /* 126 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++"),
- /* 127 */ "NewRowid" OpHelp("r[P2]=rowid"),
- /* 128 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]"),
- /* 129 */ "RowCell" OpHelp(""),
- /* 130 */ "Delete" OpHelp(""),
- /* 131 */ "ResetCount" OpHelp(""),
- /* 132 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2"),
- /* 133 */ "SorterData" OpHelp("r[P2]=data"),
- /* 134 */ "RowData" OpHelp("r[P2]=data"),
- /* 135 */ "Rowid" OpHelp("r[P2]=PX rowid of P1"),
- /* 136 */ "NullRow" OpHelp(""),
- /* 137 */ "SeekEnd" OpHelp(""),
- /* 138 */ "IdxInsert" OpHelp("key=r[P2]"),
- /* 139 */ "SorterInsert" OpHelp("key=r[P2]"),
- /* 140 */ "IdxDelete" OpHelp("key=r[P2@P3]"),
- /* 141 */ "DeferredSeek" OpHelp("Move P3 to P1.rowid if needed"),
- /* 142 */ "IdxRowid" OpHelp("r[P2]=rowid"),
- /* 143 */ "FinishSeek" OpHelp(""),
- /* 144 */ "Destroy" OpHelp(""),
- /* 145 */ "Clear" OpHelp(""),
- /* 146 */ "ResetSorter" OpHelp(""),
- /* 147 */ "CreateBtree" OpHelp("r[P2]=root iDb=P1 flags=P3"),
- /* 148 */ "SqlExec" OpHelp(""),
- /* 149 */ "ParseSchema" OpHelp(""),
- /* 150 */ "LoadAnalysis" OpHelp(""),
- /* 151 */ "DropTable" OpHelp(""),
- /* 152 */ "DropIndex" OpHelp(""),
- /* 153 */ "DropTrigger" OpHelp(""),
+ /* 119 */ "OpenEphemeral" OpHelp("nColumn=P2"),
+ /* 120 */ "SorterOpen" OpHelp(""),
+ /* 121 */ "SequenceTest" OpHelp("if( cursor[P1].ctr++ ) pc = P2"),
+ /* 122 */ "OpenPseudo" OpHelp("P3 columns in r[P2]"),
+ /* 123 */ "Close" OpHelp(""),
+ /* 124 */ "ColumnsUsed" OpHelp(""),
+ /* 125 */ "SeekScan" OpHelp("Scan-ahead up to P1 rows"),
+ /* 126 */ "SeekHit" OpHelp("set P2<=seekHit<=P3"),
+ /* 127 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++"),
+ /* 128 */ "NewRowid" OpHelp("r[P2]=rowid"),
+ /* 129 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]"),
+ /* 130 */ "RowCell" OpHelp(""),
+ /* 131 */ "Delete" OpHelp(""),
+ /* 132 */ "ResetCount" OpHelp(""),
+ /* 133 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2"),
+ /* 134 */ "SorterData" OpHelp("r[P2]=data"),
+ /* 135 */ "RowData" OpHelp("r[P2]=data"),
+ /* 136 */ "Rowid" OpHelp("r[P2]=PX rowid of P1"),
+ /* 137 */ "NullRow" OpHelp(""),
+ /* 138 */ "SeekEnd" OpHelp(""),
+ /* 139 */ "IdxInsert" OpHelp("key=r[P2]"),
+ /* 140 */ "SorterInsert" OpHelp("key=r[P2]"),
+ /* 141 */ "IdxDelete" OpHelp("key=r[P2@P3]"),
+ /* 142 */ "DeferredSeek" OpHelp("Move P3 to P1.rowid if needed"),
+ /* 143 */ "IdxRowid" OpHelp("r[P2]=rowid"),
+ /* 144 */ "FinishSeek" OpHelp(""),
+ /* 145 */ "Destroy" OpHelp(""),
+ /* 146 */ "Clear" OpHelp(""),
+ /* 147 */ "ResetSorter" OpHelp(""),
+ /* 148 */ "CreateBtree" OpHelp("r[P2]=root iDb=P1 flags=P3"),
+ /* 149 */ "SqlExec" OpHelp(""),
+ /* 150 */ "ParseSchema" OpHelp(""),
+ /* 151 */ "LoadAnalysis" OpHelp(""),
+ /* 152 */ "DropTable" OpHelp(""),
+ /* 153 */ "DropIndex" OpHelp(""),
/* 154 */ "Real" OpHelp("r[P2]=P4"),
- /* 155 */ "IntegrityCk" OpHelp(""),
- /* 156 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"),
- /* 157 */ "Param" OpHelp(""),
- /* 158 */ "FkCounter" OpHelp("fkctr[P1]+=P2"),
- /* 159 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"),
- /* 160 */ "OffsetLimit" OpHelp("if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)"),
- /* 161 */ "AggInverse" OpHelp("accum=r[P3] inverse(r[P2@P5])"),
- /* 162 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])"),
- /* 163 */ "AggStep1" OpHelp("accum=r[P3] step(r[P2@P5])"),
- /* 164 */ "AggValue" OpHelp("r[P3]=value N=P2"),
- /* 165 */ "AggFinal" OpHelp("accum=r[P1] N=P2"),
- /* 166 */ "Expire" OpHelp(""),
- /* 167 */ "CursorLock" OpHelp(""),
- /* 168 */ "CursorUnlock" OpHelp(""),
- /* 169 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"),
- /* 170 */ "VBegin" OpHelp(""),
- /* 171 */ "VCreate" OpHelp(""),
- /* 172 */ "VDestroy" OpHelp(""),
- /* 173 */ "VOpen" OpHelp(""),
- /* 174 */ "VCheck" OpHelp(""),
- /* 175 */ "VInitIn" OpHelp("r[P2]=ValueList(P1,P3)"),
- /* 176 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"),
- /* 177 */ "VRename" OpHelp(""),
- /* 178 */ "Pagecount" OpHelp(""),
- /* 179 */ "MaxPgcnt" OpHelp(""),
- /* 180 */ "ClrSubtype" OpHelp("r[P1].subtype = 0"),
- /* 181 */ "GetSubtype" OpHelp("r[P2] = r[P1].subtype"),
- /* 182 */ "SetSubtype" OpHelp("r[P2].subtype = r[P1]"),
- /* 183 */ "FilterAdd" OpHelp("filter(P1) += key(P3@P4)"),
- /* 184 */ "Trace" OpHelp(""),
- /* 185 */ "CursorHint" OpHelp(""),
- /* 186 */ "ReleaseReg" OpHelp("release r[P1@P2] mask P3"),
- /* 187 */ "Noop" OpHelp(""),
- /* 188 */ "Explain" OpHelp(""),
- /* 189 */ "Abortable" OpHelp(""),
+ /* 155 */ "DropTrigger" OpHelp(""),
+ /* 156 */ "IntegrityCk" OpHelp(""),
+ /* 157 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"),
+ /* 158 */ "Param" OpHelp(""),
+ /* 159 */ "FkCounter" OpHelp("fkctr[P1]+=P2"),
+ /* 160 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"),
+ /* 161 */ "OffsetLimit" OpHelp("if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)"),
+ /* 162 */ "AggInverse" OpHelp("accum=r[P3] inverse(r[P2@P5])"),
+ /* 163 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])"),
+ /* 164 */ "AggStep1" OpHelp("accum=r[P3] step(r[P2@P5])"),
+ /* 165 */ "AggValue" OpHelp("r[P3]=value N=P2"),
+ /* 166 */ "AggFinal" OpHelp("accum=r[P1] N=P2"),
+ /* 167 */ "Expire" OpHelp(""),
+ /* 168 */ "CursorLock" OpHelp(""),
+ /* 169 */ "CursorUnlock" OpHelp(""),
+ /* 170 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"),
+ /* 171 */ "VBegin" OpHelp(""),
+ /* 172 */ "VCreate" OpHelp(""),
+ /* 173 */ "VDestroy" OpHelp(""),
+ /* 174 */ "VOpen" OpHelp(""),
+ /* 175 */ "VCheck" OpHelp(""),
+ /* 176 */ "VInitIn" OpHelp("r[P2]=ValueList(P1,P3)"),
+ /* 177 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"),
+ /* 178 */ "VRename" OpHelp(""),
+ /* 179 */ "Pagecount" OpHelp(""),
+ /* 180 */ "MaxPgcnt" OpHelp(""),
+ /* 181 */ "ClrSubtype" OpHelp("r[P1].subtype = 0"),
+ /* 182 */ "GetSubtype" OpHelp("r[P2] = r[P1].subtype"),
+ /* 183 */ "SetSubtype" OpHelp("r[P2].subtype = r[P1]"),
+ /* 184 */ "FilterAdd" OpHelp("filter(P1) += key(P3@P4)"),
+ /* 185 */ "Trace" OpHelp(""),
+ /* 186 */ "CursorHint" OpHelp(""),
+ /* 187 */ "ReleaseReg" OpHelp("release r[P1@P2] mask P3"),
+ /* 188 */ "Noop" OpHelp(""),
+ /* 189 */ "Explain" OpHelp(""),
+ /* 190 */ "Abortable" OpHelp(""),
};
return azName[i];
}
@@ -37788,7 +38393,7 @@ static int kvstorageRead(const char*, const char *zKey, char *zBuf, int nBuf);
#define KVSTORAGE_KEY_SZ 32
/* Expand the key name with an appropriate prefix and put the result
-** zKeyOut[]. The zKeyOut[] buffer is assumed to hold at least
+** in zKeyOut[]. The zKeyOut[] buffer is assumed to hold at least
** KVSTORAGE_KEY_SZ bytes.
*/
static void kvstorageMakeKey(
@@ -37847,10 +38452,12 @@ static int kvstorageDelete(const char *zClass, const char *zKey){
**
** Return the total number of bytes in the data, without truncation, and
** not counting the final zero terminator. Return -1 if the key does
-** not exist.
+** not exist or its key cannot be read.
**
-** If nBuf<=0 then this routine simply returns the size of the data without
-** actually reading it.
+** If nBuf<=0 then this routine simply returns the size of the data
+** without actually reading it. Similarly, if nBuf==1 then it
+** zero-terminates zBuf at zBuf[0] and returns the size of the data
+** without reading it.
*/
static int kvstorageRead(
const char *zClass,
@@ -37899,11 +38506,9 @@ static int kvstorageRead(
** kvvfs i/o methods with JavaScript implementations in WASM builds.
** Maintenance reminder: if this struct changes in any way, the JSON
** rendering of its structure must be updated in
-** sqlite3_wasm_enum_json(). There are no binary compatibility
-** concerns, so it does not need an iVersion member. This file is
-** necessarily always compiled together with sqlite3_wasm_enum_json(),
-** and JS code dynamically creates the mapping of members based on
-** that JSON description.
+** sqlite3-wasm.c:sqlite3__wasm_enum_json(). There are no binary
+** compatibility concerns, so it does not need an iVersion
+** member.
*/
typedef struct sqlite3_kvvfs_methods sqlite3_kvvfs_methods;
struct sqlite3_kvvfs_methods {
@@ -37920,8 +38525,8 @@ struct sqlite3_kvvfs_methods {
** the compiler can hopefully optimize this level of indirection out.
** That said, kvvfs is intended primarily for use in WASM builds.
**
-** Note that this is not explicitly flagged as static because the
-** amalgamation build will tag it with SQLITE_PRIVATE.
+** This is not explicitly flagged as static because the amalgamation
+** build will tag it with SQLITE_PRIVATE.
*/
#ifndef SQLITE_WASM
const
@@ -38880,6 +39485,7 @@ struct unixFile {
#endif
#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
unsigned iBusyTimeout; /* Wait this many millisec on locks */
+ int bBlockOnConnect; /* True to block for SHARED locks */
#endif
#if OS_VXWORKS
struct vxworksFileId *pId; /* Unique file ID */
@@ -39093,10 +39699,11 @@ static struct unix_syscall {
#if defined(HAVE_FCHMOD)
{ "fchmod", (sqlite3_syscall_ptr)fchmod, 0 },
+#define osFchmod ((int(*)(int,mode_t))aSyscall[14].pCurrent)
#else
{ "fchmod", (sqlite3_syscall_ptr)0, 0 },
+#define osFchmod(FID,MODE) 0
#endif
-#define osFchmod ((int(*)(int,mode_t))aSyscall[14].pCurrent)
#if defined(HAVE_POSIX_FALLOCATE) && HAVE_POSIX_FALLOCATE
{ "fallocate", (sqlite3_syscall_ptr)posix_fallocate, 0 },
@@ -39190,6 +39797,119 @@ static struct unix_syscall {
}; /* End of the overrideable system calls */
+#if defined(SQLITE_DEBUG) || defined(SQLITE_ENABLE_FILESTAT)
+/*
+** Extract Posix Advisory Locking information about file description fd
+** from the /proc/PID/fdinfo/FD pseudo-file. Fill the string buffer a[16]
+** with characters to indicate which SQLite-relevant locks are held.
+** a[16] will be a 15-character zero-terminated string with the following
+** schema:
+**
+** AAA/B.DDD.DDDDD
+**
+** Each of character A-D will be "w" or "r" or "-" to indicate either a
+** write-lock, a read-lock, or no-lock, respectively. The "." and "/"
+** characters are delimiters intended to make the string more easily
+** readable by humans. Here are the meaning of the specific letters:
+**
+** AAA -> The main database locks. PENDING_BYTE, RESERVED_BYTE,
+** and SHARED_FIRST, respectively.
+**
+** B -> The deadman switch lock. Offset 128 of the -shm file.
+**
+** CCC -> WAL locks: WRITE, CKPT, RECOVER
+**
+** DDDDD -> WAL read-locks 0 through 5
+**
+** Note that elements before the "/" apply to the main database file and
+** elements after the "/" apply to the -shm file in WAL mode.
+**
+** Here is another way of thinking about the meaning of the result string:
+**
+** AAA/B.CCC.DDDDD
+** ||| | ||| \___/
+** PENDING--'|| | ||| `----- READ 0-5
+** RESERVED--'| | ||`---- RECOVER
+** SHARED ----' | |`----- CKPT
+** DMS ------' `------ WRITE
+**
+** Return SQLITE_OK on success and SQLITE_ERROR_UNABLE if the /proc
+** pseudo-filesystem is unavailable.
+*/
+static int unixPosixAdvisoryLocks(
+ int fd, /* The file descriptor to analyze */
+ char a[16] /* Write a text description of PALs here */
+){
+ int in;
+ ssize_t n;
+ char *p, *pNext, *x;
+ char z[2000];
+
+ /* 1 */
+ /* 012 4 678 01234 */
+ memcpy(a, "---/-.---.-----", 16);
+ sqlite3_snprintf(sizeof(z), z, "/proc/%d/fdinfo/%d", getpid(), fd);
+ in = osOpen(z, O_RDONLY, 0);
+ if( in<0 ){
+ return SQLITE_ERROR_UNABLE;
+ }
+ n = osRead(in, z, sizeof(z)-1);
+ osClose(in);
+ if( n<=0 ) return SQLITE_ERROR_UNABLE;
+ z[n] = 0;
+
+ /* We are looking for lines that begin with "lock:\t". Examples:
+ **
+ ** lock: 1: POSIX ADVISORY READ 494716 08:02:5277597 1073741826 1073742335
+ ** lock: 1: POSIX ADVISORY WRITE 494716 08:02:5282282 120 120
+ ** lock: 2: POSIX ADVISORY READ 494716 08:02:5282282 123 123
+ ** lock: 3: POSIX ADVISORY READ 494716 08:02:5282282 128 128
+ */
+ pNext = strstr(z, "lock:\t");
+ while( pNext ){
+ char cType = 0;
+ sqlite3_int64 iFirst, iLast;
+ p = pNext+6;
+ pNext = strstr(p, "lock:\t");
+ if( pNext ) pNext[-1] = 0;
+ if( (x = strstr(p, " READ "))!=0 ){
+ cType = 'r';
+ x += 6;
+ }else if( (x = strstr(p, " WRITE "))!=0 ){
+ cType = 'w';
+ x += 7;
+ }else{
+ continue;
+ }
+ x = strrchr(x, ' ');
+ if( x==0 ) continue;
+ iLast = strtoll(x+1, 0, 10);
+ *x = 0;
+ x = strrchr(p, ' ');
+ if( x==0 ) continue;
+ iFirst = strtoll(x+1, 0, 10);
+ if( iLast>=PENDING_BYTE ){
+ if( iFirst<=PENDING_BYTE && iLast>=PENDING_BYTE ) a[0] = cType;
+ if( iFirst<=PENDING_BYTE+1 && iLast>=PENDING_BYTE+1 ) a[1] = cType;
+ if( iFirst<=PENDING_BYTE+2 && iLast>=PENDING_BYTE+510 ) a[2] = cType;
+ }else if( iLast<=128 ){
+ if( iFirst<=128 && iLast>=128 ) a[4] = cType;
+ if( iFirst<=120 && iLast>=120 ) a[6] = cType;
+ if( iFirst<=121 && iLast>=121 ) a[7] = cType;
+ if( iFirst<=122 && iLast>=122 ) a[8] = cType;
+ if( iFirst<=123 && iLast>=123 ) a[10] = cType;
+ if( iFirst<=124 && iLast>=124 ) a[11] = cType;
+ if( iFirst<=125 && iLast>=125 ) a[12] = cType;
+ if( iFirst<=126 && iLast>=126 ) a[13] = cType;
+ if( iFirst<=127 && iLast>=127 ) a[14] = cType;
+ }
+ }
+ return SQLITE_OK;
+}
+#else
+# define unixPosixAdvisoryLocks(A,B) SQLITE_ERROR_UNABLE
+#endif /* SQLITE_DEBUG || SQLITE_ENABLE_FILESTAT */
+
/*
** On some systems, calls to fchown() will trigger a message in a security
** log if they come from non-root processes. So avoid calling fchown() if
@@ -39354,9 +40074,8 @@ static int robust_open(const char *z, int f, mode_t m){
/*
** Helper functions to obtain and relinquish the global mutex. The
-** global mutex is used to protect the unixInodeInfo and
-** vxworksFileId objects used by this file, all of which may be
-** shared by multiple threads.
+** global mutex is used to protect the unixInodeInfo objects used by
+** this file, all of which may be shared by multiple threads.
**
** Function unixMutexHeld() is used to assert() that the global mutex
** is held when required. This function is only used as part of assert()
@@ -39558,6 +40277,7 @@ struct vxworksFileId {
** variable:
*/
static struct vxworksFileId *vxworksFileList = 0;
+static sqlite3_mutex *vxworksMutex = 0;
/*
** Simplify a filename into its canonical form
@@ -39623,14 +40343,14 @@ static struct vxworksFileId *vxworksFindFileId(const char *zAbsoluteName){
** If found, increment the reference count and return a pointer to
** the existing file ID.
*/
- unixEnterMutex();
+ sqlite3_mutex_enter(vxworksMutex);
for(pCandidate=vxworksFileList; pCandidate; pCandidate=pCandidate->pNext){
if( pCandidate->nName==n
&& memcmp(pCandidate->zCanonicalName, pNew->zCanonicalName, n)==0
){
sqlite3_free(pNew);
pCandidate->nRef++;
- unixLeaveMutex();
+ sqlite3_mutex_leave(vxworksMutex);
return pCandidate;
}
}
@@ -39640,7 +40360,7 @@ static struct vxworksFileId *vxworksFindFileId(const char *zAbsoluteName){
pNew->nName = n;
pNew->pNext = vxworksFileList;
vxworksFileList = pNew;
- unixLeaveMutex();
+ sqlite3_mutex_leave(vxworksMutex);
return pNew;
}
@@ -39649,7 +40369,7 @@ static struct vxworksFileId *vxworksFindFileId(const char *zAbsoluteName){
** the object when the reference count reaches zero.
*/
static void vxworksReleaseFileId(struct vxworksFileId *pId){
- unixEnterMutex();
+ sqlite3_mutex_enter(vxworksMutex);
assert( pId->nRef>0 );
pId->nRef--;
if( pId->nRef==0 ){
@@ -39659,7 +40379,7 @@ static void vxworksReleaseFileId(struct vxworksFileId *pId){
*pp = pId->pNext;
sqlite3_free(pId);
}
- unixLeaveMutex();
+ sqlite3_mutex_leave(vxworksMutex);
}
#endif /* OS_VXWORKS */
/*************** End of Unique File ID Utility Used By VxWorks ****************
@@ -40047,6 +40767,10 @@ static int findInodeInfo(
storeLastErrno(pFile, errno);
return SQLITE_IOERR;
}
+ if( fsync(fd) ){
+ storeLastErrno(pFile, errno);
+ return SQLITE_IOERR_FSYNC;
+ }
rc = osFstat(fd, &statbuf);
if( rc!=0 ){
storeLastErrno(pFile, errno);
@@ -40216,18 +40940,42 @@ static int osSetPosixAdvisoryLock(
struct flock *pLock, /* The description of the lock */
unixFile *pFile /* Structure holding timeout value */
){
- int tm = pFile->iBusyTimeout;
- int rc = osFcntl(h,F_SETLK,pLock);
- while( rc<0 && tm>0 ){
- /* On systems that support some kind of blocking file lock with a timeout,
- ** make appropriate changes here to invoke that blocking file lock. On
- ** generic posix, however, there is no such API. So we simply try the
- ** lock once every millisecond until either the timeout expires, or until
- ** the lock is obtained. */
- unixSleep(0,1000);
+ int rc = 0;
+
+ if( pFile->iBusyTimeout==0 ){
+ /* unixFile->iBusyTimeout is set to 0. In this case, attempt a
+ ** non-blocking lock. */
+ rc = osFcntl(h,F_SETLK,pLock);
+ }else{
+ /* unixFile->iBusyTimeout is set to greater than zero. In this case,
+ ** attempt a blocking-lock with a unixFile->iBusyTimeout ms timeout.
+ **
+ ** On systems that support some kind of blocking file lock operation,
+ ** this block should be replaced by code to attempt a blocking lock
+ ** with a timeout of unixFile->iBusyTimeout ms. The code below is
+ ** placeholder code. If SQLITE_TEST is defined, the placeholder code
+ ** retries the lock once every 1ms until it succeeds or the timeout
+ ** is reached. Or, if SQLITE_TEST is not defined, the placeholder
+ ** code attempts a non-blocking lock and sets unixFile->iBusyTimeout
+ ** to 0. This causes the caller to return SQLITE_BUSY, instead of
+ ** SQLITE_BUSY_TIMEOUT to SQLite - as required by a VFS that does not
+ ** support blocking locks.
+ */
+#ifdef SQLITE_TEST
+ int tm = pFile->iBusyTimeout;
+ while( tm>0 ){
+ rc = osFcntl(h,F_SETLK,pLock);
+ if( rc==0 ) break;
+ unixSleep(0,1000);
+ tm--;
+ }
+#else
rc = osFcntl(h,F_SETLK,pLock);
- tm--;
+ pFile->iBusyTimeout = 0;
+#endif
+ /* End of code to replace with real blocking-locks code. */
}
+
return rc;
}
#endif /* SQLITE_ENABLE_SETLK_TIMEOUT */
@@ -40273,11 +41021,25 @@ static int unixFileLock(unixFile *pFile, struct flock *pLock){
rc = 0;
}
}else{
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ if( pFile->bBlockOnConnect && pLock->l_type==F_RDLCK
+ && pLock->l_start==SHARED_FIRST && pLock->l_len==SHARED_SIZE
+ ){
+ rc = osFcntl(pFile->h, F_SETLKW, pLock);
+ }else
+#endif
rc = osSetPosixAdvisoryLock(pFile->h, pLock, pFile);
}
return rc;
}
+#if !defined(SQLITE_WASI) && !defined(SQLITE_OMIT_WAL)
+/* Forward reference */
+static int unixIsSharingShmNode(unixFile*);
+#else
+#define unixIsSharingShmNode(pFile) (0)
+#endif
+
/*
** Lock the file with the lock specified by parameter eFileLock - one
** of the following:
@@ -40470,6 +41232,14 @@ static int unixLock(sqlite3_file *id, int eFileLock){
/* We are trying for an exclusive lock but another thread in this
** same process is still holding a shared lock. */
rc = SQLITE_BUSY;
+ }else if( unixIsSharingShmNode(pFile) ){
+ /* We are in WAL mode and attempting to delete the SHM and WAL
+ ** files due to closing the connection or changing out of WAL mode,
+ ** but another process still holds locks on the SHM file, thus
+ ** indicating that database locks have been broken, perhaps due
+ ** to a rogue close(open(dbFile)) or similar.
+ */
+ rc = SQLITE_BUSY;
}else{
/* The request was for a RESERVED or EXCLUSIVE lock. It is
** assumed that there is a SHARED or greater lock on the file
@@ -42561,6 +43331,10 @@ static int unixGetTempname(int nBuf, char *zBuf);
#if !defined(SQLITE_WASI) && !defined(SQLITE_OMIT_WAL)
static int unixFcntlExternalReader(unixFile*, int*);
#endif
+#if defined(SQLITE_DEBUG) || defined(SQLITE_ENABLE_FILESTAT)
+ static void unixDescribeShm(sqlite3_str*,unixShm*);
+#endif
+
/*
** Information and control of an open file handle.
@@ -42634,8 +43408,9 @@ static int unixFileControl(sqlite3_file *id, int op, void *pArg){
#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
case SQLITE_FCNTL_LOCK_TIMEOUT: {
int iOld = pFile->iBusyTimeout;
+ int iNew = *(int*)pArg;
#if SQLITE_ENABLE_SETLK_TIMEOUT==1
- pFile->iBusyTimeout = *(int*)pArg;
+ pFile->iBusyTimeout = iNew<0 ? 0x7FFFFFFF : (unsigned)iNew;
#elif SQLITE_ENABLE_SETLK_TIMEOUT==2
pFile->iBusyTimeout = !!(*(int*)pArg);
#else
@@ -42644,7 +43419,12 @@ static int unixFileControl(sqlite3_file *id, int op, void *pArg){
*(int*)pArg = iOld;
return SQLITE_OK;
}
-#endif
+ case SQLITE_FCNTL_BLOCK_ON_CONNECT: {
+ int iNew = *(int*)pArg;
+ pFile->bBlockOnConnect = iNew;
+ return SQLITE_OK;
+ }
+#endif /* SQLITE_ENABLE_SETLK_TIMEOUT */
#if SQLITE_MAX_MMAP_SIZE>0
case SQLITE_FCNTL_MMAP_SIZE: {
i64 newLimit = *(i64*)pArg;
@@ -42697,6 +43477,66 @@ static int unixFileControl(sqlite3_file *id, int op, void *pArg){
return SQLITE_OK;
#endif
}
+
+#if defined(SQLITE_DEBUG) || defined(SQLITE_ENABLE_FILESTAT)
+ case SQLITE_FCNTL_FILESTAT: {
+ sqlite3_str *pStr = (sqlite3_str*)pArg;
+ char aLck[16];
+ unixInodeInfo *pInode;
+ static const char *azLock[] = { "SHARED", "RESERVED",
+ "PENDING", "EXCLUSIVE" };
+ sqlite3_str_appendf(pStr, "{\"h\":%d", pFile->h);
+ sqlite3_str_appendf(pStr, ",\"vfs\":\"%s\"", pFile->pVfs->zName);
+ if( pFile->eFileLock ){
+ sqlite3_str_appendf(pStr, ",\"eFileLock\":\"%s\"",
+ azLock[pFile->eFileLock-1]);
+ if( unixPosixAdvisoryLocks(pFile->h, aLck)==SQLITE_OK ){
+ sqlite3_str_appendf(pStr, ",\"pal\":\"%s\"", aLck);
+ }
+ }
+ unixEnterMutex();
+ if( pFile->pShm ){
+ sqlite3_str_appendall(pStr, ",\"shm\":");
+ unixDescribeShm(pStr, pFile->pShm);
+ }
+#if SQLITE_MAX_MMAP_SIZE>0
+ if( pFile->mmapSize ){
+ sqlite3_str_appendf(pStr, ",\"mmapSize\":%lld", pFile->mmapSize);
+ sqlite3_str_appendf(pStr, ",\"nFetchOut\":%d", pFile->nFetchOut);
+ }
+#endif
+ if( (pInode = pFile->pInode)!=0 ){
+ sqlite3_str_appendf(pStr, ",\"inode\":{\"nRef\":%d",pInode->nRef);
+ sqlite3_mutex_enter(pInode->pLockMutex);
+ sqlite3_str_appendf(pStr, ",\"nShared\":%d", pInode->nShared);
+ if( pInode->eFileLock ){
+ sqlite3_str_appendf(pStr, ",\"eFileLock\":\"%s\"",
+ azLock[pInode->eFileLock-1]);
+ }
+ if( pInode->pUnused ){
+ char cSep = '[';
+ UnixUnusedFd *pUFd = pFile->pInode->pUnused;
+ sqlite3_str_appendall(pStr, ",\"unusedFd\":");
+ while( pUFd ){
+ sqlite3_str_appendf(pStr, "%c{\"fd\":%d,\"flags\":%d",
+ cSep, pUFd->fd, pUFd->flags);
+ cSep = ',';
+ if( unixPosixAdvisoryLocks(pUFd->fd, aLck)==SQLITE_OK ){
+ sqlite3_str_appendf(pStr, ",\"pal\":\"%s\"", aLck);
+ }
+ sqlite3_str_append(pStr, "}", 1);
+ pUFd = pUFd->pNext;
+ }
+ sqlite3_str_append(pStr, "]", 1);
+ }
+ sqlite3_mutex_leave(pInode->pLockMutex);
+ sqlite3_str_append(pStr, "}", 1);
+ }
+ unixLeaveMutex();
+ sqlite3_str_append(pStr, "}", 1);
+ return SQLITE_OK;
+ }
+#endif /* SQLITE_DEBUG || SQLITE_ENABLE_FILESTAT */
}
return SQLITE_NOTFOUND;
}
@@ -42963,6 +43803,26 @@ struct unixShm {
#define UNIX_SHM_BASE ((22+SQLITE_SHM_NLOCK)*4) /* first lock byte */
#define UNIX_SHM_DMS (UNIX_SHM_BASE+SQLITE_SHM_NLOCK) /* deadman switch */
+#if defined(SQLITE_DEBUG) || defined(SQLITE_ENABLE_FILESTAT)
+/*
+** Describe the pShm object using JSON. Used for diagnostics only.
+*/
+static void unixDescribeShm(sqlite3_str *pStr, unixShm *pShm){
+ unixShmNode *pNode = pShm->pShmNode;
+ char aLck[16];
+ sqlite3_str_appendf(pStr, "{\"h\":%d", pNode->hShm);
+ assert( unixMutexHeld() );
+ sqlite3_str_appendf(pStr, ",\"nRef\":%d", pNode->nRef);
+ sqlite3_str_appendf(pStr, ",\"id\":%d", pShm->id);
+ sqlite3_str_appendf(pStr, ",\"sharedMask\":%d", pShm->sharedMask);
+ sqlite3_str_appendf(pStr, ",\"exclMask\":%d", pShm->exclMask);
+ if( unixPosixAdvisoryLocks(pNode->hShm, aLck)==SQLITE_OK ){
+ sqlite3_str_appendf(pStr, ",\"pal\":\"%s\"", aLck);
+ }
+ sqlite3_str_append(pStr, "}", 1);
+}
+#endif /* SQLITE_DEBUG || SQLITE_ENABLE_FILESTAT */
+
/*
** Use F_GETLK to check whether or not there are any readers with open
** wal-mode transactions in other processes on database file pFile. If
@@ -42996,6 +43856,44 @@ static int unixFcntlExternalReader(unixFile *pFile, int *piOut){
return rc;
}
+/*
+** If pFile has a -shm file open and it is sharing that file with some
+** other connection, either in the same process or in a separate process,
+** then return true. Return false if either pFile does not have a -shm
+** file open or if it is the only connection to that -shm file across the
+** entire system.
+**
+** This routine is not required for correct operation. It can always return
+** false and SQLite will continue to operate according to spec. However,
+** when this routine does its job, it adds extra robustness in cases
+** where database file locks have been erroneously deleted in a WAL-mode
+** database by doing close(open(DATABASE_PATHNAME)) or similar.
+**
+** With false negatives, SQLite still operates to spec, though with less
+** robustness. With false positives, the last database connection on a
+** WAL-mode database will fail to unlink the -wal and -shm files, which
+** is annoying but harmless. False positives will also prevent a database
+** connection from running "PRAGMA journal_mode=DELETE" in order to take
+** the database out of WAL mode, which is perhaps more serious, but is
+** still not a disaster.
+*/
+static int unixIsSharingShmNode(unixFile *pFile){
+ unixShmNode *pShmNode;
+ struct flock lock;
+ if( pFile->pShm==0 ) return 0;
+ if( pFile->ctrlFlags & UNIXFILE_EXCL ) return 0;
+ pShmNode = pFile->pShm->pShmNode;
+#if SQLITE_ATOMIC_INTRINSICS
+ assert( AtomicLoad(&pShmNode->nRef)==1 );
+#endif
+ memset(&lock, 0, sizeof(lock));
+ lock.l_whence = SEEK_SET;
+ lock.l_start = UNIX_SHM_DMS;
+ lock.l_len = 1;
+ lock.l_type = F_WRLCK;
+ osFcntl(pShmNode->hShm, F_GETLK, &lock);
+ return (lock.l_type!=F_UNLCK);
+}
/*
** Apply posix advisory locks for all bytes from ofst through ofst+n-1.
@@ -43041,7 +43939,8 @@ static int unixShmSystemLock(
/* Locks are within range */
assert( n>=1 && n<=SQLITE_SHM_NLOCK );
- assert( ofst>=UNIX_SHM_BASE && ofst<=(UNIX_SHM_DMS+SQLITE_SHM_NLOCK) );
+ assert( ofst>=UNIX_SHM_BASE && ofst<=UNIX_SHM_DMS );
+ assert( ofst+n-1<=UNIX_SHM_DMS );
if( pShmNode->hShm>=0 ){
int res;
@@ -43573,7 +44472,7 @@ static int assertLockingArrayOk(unixShmNode *pShmNode){
return (memcmp(pShmNode->aLock, aLock, sizeof(aLock))==0);
#endif
}
-#endif
+#endif /* !defined(SQLITE_WASI) && !defined(SQLITE_OMIT_WAL) */
/*
** Change the lock state for a shared-memory segment.
@@ -43617,21 +44516,20 @@ static int unixShmLock(
/* Check that, if this to be a blocking lock, no locks that occur later
** in the following list than the lock being obtained are already held:
**
- ** 1. Checkpointer lock (ofst==1).
- ** 2. Write lock (ofst==0).
- ** 3. Read locks (ofst>=3 && ofst<SQLITE_SHM_NLOCK).
+ ** 1. Recovery lock (ofst==2).
+ ** 2. Checkpointer lock (ofst==1).
+ ** 3. Write lock (ofst==0).
+ ** 4. Read locks (ofst>=3 && ofst<SQLITE_SHM_NLOCK).
**
** In other words, if this is a blocking lock, none of the locks that
** occur later in the above list than the lock being obtained may be
** held.
- **
- ** It is not permitted to block on the RECOVER lock.
*/
-#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+#if defined(SQLITE_ENABLE_SETLK_TIMEOUT) && defined(SQLITE_DEBUG)
{
u16 lockMask = (p->exclMask|p->sharedMask);
assert( (flags & SQLITE_SHM_UNLOCK) || pDbFd->iBusyTimeout==0 || (
- (ofst!=2) /* not RECOVER */
+ (ofst!=2 || lockMask==0)
&& (ofst!=1 || lockMask==0 || lockMask==2)
&& (ofst!=0 || lockMask<3)
&& (ofst<3 || lockMask<(1<<ofst))
@@ -44536,10 +45434,17 @@ static int fillInUnixFile(
storeLastErrno(pNew, 0);
#if OS_VXWORKS
if( rc!=SQLITE_OK ){
- if( h>=0 ) robust_close(pNew, h, __LINE__);
- h = -1;
- osUnlink(zFilename);
- pNew->ctrlFlags |= UNIXFILE_DELETE;
+ if( h>=0 ){
+ robust_close(pNew, h, __LINE__);
+ h = -1;
+ }
+ if( pNew->ctrlFlags & UNIXFILE_DELETE ){
+ osUnlink(zFilename);
+ }
+ if( pNew->pId ){
+ vxworksReleaseFileId(pNew->pId);
+ pNew->pId = 0;
+ }
}
#endif
if( rc!=SQLITE_OK ){
@@ -44583,6 +45488,9 @@ static const char *unixTempFileDir(void){
while(1){
if( zDir!=0
+#if OS_VXWORKS
+ && zDir[0]=='/'
+#endif
&& osStat(zDir, &buf)==0
&& S_ISDIR(buf.st_mode)
&& osAccess(zDir, 03)==0
@@ -44897,6 +45805,12 @@ static int unixOpen(
|| eType==SQLITE_OPEN_TRANSIENT_DB || eType==SQLITE_OPEN_WAL
);
+#if OS_VXWORKS
+ /* The file-ID mechanism used in Vxworks requires that all pathnames
+ ** provided to unixOpen must be absolute pathnames. */
+ if( zPath!=0 && zPath[0]!='/' ){ return SQLITE_CANTOPEN; }
+#endif
+
/* Detect a pid change and reset the PRNG. There is a race condition
** here such that two or more threads all trying to open databases at
** the same instant might all reset the PRNG. But multiple resets
@@ -45097,8 +46011,11 @@ static int unixOpen(
}
#endif
- assert( zPath==0 || zPath[0]=='/'
- || eType==SQLITE_OPEN_SUPER_JOURNAL || eType==SQLITE_OPEN_MAIN_JOURNAL
+ assert( zPath==0
+ || zPath[0]=='/'
+ || eType==SQLITE_OPEN_SUPER_JOURNAL
+ || eType==SQLITE_OPEN_MAIN_JOURNAL
+ || eType==SQLITE_OPEN_TEMP_JOURNAL
);
rc = fillInUnixFile(pVfs, fd, pFile, zPath, ctrlFlags);
@@ -45436,7 +46353,7 @@ static int unixSleep(sqlite3_vfs *NotUsed, int microseconds){
/* Almost all modern unix systems support nanosleep(). But if you are
** compiling for one of the rare exceptions, you can use
- ** -DHAVE_NANOSLEEP=0 (perhaps in conjuction with -DHAVE_USLEEP if
+ ** -DHAVE_NANOSLEEP=0 (perhaps in conjunction with -DHAVE_USLEEP if
** usleep() is available) in order to bypass the use of nanosleep() */
nanosleep(&sp, NULL);
@@ -46827,6 +47744,9 @@ SQLITE_API int sqlite3_os_init(void){
sqlite3KvvfsInit();
#endif
unixBigLock = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_VFS1);
+#if OS_VXWORKS
+ vxworksMutex = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_VFS2);
+#endif
#ifndef SQLITE_OMIT_WAL
/* Validate lock assumptions */
@@ -46861,6 +47781,9 @@ SQLITE_API int sqlite3_os_init(void){
*/
SQLITE_API int sqlite3_os_end(void){
unixBigLock = 0;
+#if OS_VXWORKS
+ vxworksMutex = 0;
+#endif
return SQLITE_OK;
}
@@ -47157,8 +48080,18 @@ struct winFile {
sqlite3_int64 mmapSize; /* Size of mapped region */
sqlite3_int64 mmapSizeMax; /* Configured FCNTL_MMAP_SIZE value */
#endif
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ DWORD iBusyTimeout; /* Wait this many millisec on locks */
+ int bBlockOnConnect;
+#endif
};
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+# define winFileBusyTimeout(pDbFd) pDbFd->iBusyTimeout
+#else
+# define winFileBusyTimeout(pDbFd) 0
+#endif
+
/*
** The winVfsAppData structure is used for the pAppData member for all of the
** Win32 VFS variants.
@@ -47477,7 +48410,7 @@ static struct win_syscall {
{ "FileTimeToLocalFileTime", (SYSCALL)0, 0 },
#endif
-#define osFileTimeToLocalFileTime ((BOOL(WINAPI*)(CONST FILETIME*, \
+#define osFileTimeToLocalFileTime ((BOOL(WINAPI*)(const FILETIME*, \
LPFILETIME))aSyscall[11].pCurrent)
#if SQLITE_OS_WINCE
@@ -47486,7 +48419,7 @@ static struct win_syscall {
{ "FileTimeToSystemTime", (SYSCALL)0, 0 },
#endif
-#define osFileTimeToSystemTime ((BOOL(WINAPI*)(CONST FILETIME*, \
+#define osFileTimeToSystemTime ((BOOL(WINAPI*)(const FILETIME*, \
LPSYSTEMTIME))aSyscall[12].pCurrent)
{ "FlushFileBuffers", (SYSCALL)FlushFileBuffers, 0 },
@@ -47592,6 +48525,12 @@ static struct win_syscall {
#define osGetFullPathNameW ((DWORD(WINAPI*)(LPCWSTR,DWORD,LPWSTR, \
LPWSTR*))aSyscall[25].pCurrent)
+/*
+** For GetLastError(), MSDN says:
+**
+** Minimum supported client: Windows XP [desktop apps | UWP apps]
+** Minimum supported server: Windows Server 2003 [desktop apps | UWP apps]
+*/
{ "GetLastError", (SYSCALL)GetLastError, 0 },
#define osGetLastError ((DWORD(WINAPI*)(VOID))aSyscall[26].pCurrent)
@@ -47760,7 +48699,7 @@ static struct win_syscall {
{ "LockFile", (SYSCALL)0, 0 },
#endif
-#ifndef osLockFile
+#if !defined(osLockFile) && defined(SQLITE_WIN32_HAS_ANSI)
#define osLockFile ((BOOL(WINAPI*)(HANDLE,DWORD,DWORD,DWORD, \
DWORD))aSyscall[47].pCurrent)
#endif
@@ -47824,7 +48763,7 @@ static struct win_syscall {
{ "SystemTimeToFileTime", (SYSCALL)SystemTimeToFileTime, 0 },
-#define osSystemTimeToFileTime ((BOOL(WINAPI*)(CONST SYSTEMTIME*, \
+#define osSystemTimeToFileTime ((BOOL(WINAPI*)(const SYSTEMTIME*, \
LPFILETIME))aSyscall[56].pCurrent)
#if !SQLITE_OS_WINCE && !SQLITE_OS_WINRT
@@ -47833,7 +48772,7 @@ static struct win_syscall {
{ "UnlockFile", (SYSCALL)0, 0 },
#endif
-#ifndef osUnlockFile
+#if !defined(osUnlockFile) && defined(SQLITE_WIN32_HAS_ANSI)
#define osUnlockFile ((BOOL(WINAPI*)(HANDLE,DWORD,DWORD,DWORD, \
DWORD))aSyscall[57].pCurrent)
#endif
@@ -47874,11 +48813,13 @@ static struct win_syscall {
#define osCreateEventExW ((HANDLE(WINAPI*)(LPSECURITY_ATTRIBUTES,LPCWSTR, \
DWORD,DWORD))aSyscall[62].pCurrent)
-#if !SQLITE_OS_WINRT
+/*
+** For WaitForSingleObject(), MSDN says:
+**
+** Minimum supported client: Windows XP [desktop apps | UWP apps]
+** Minimum supported server: Windows Server 2003 [desktop apps | UWP apps]
+*/
{ "WaitForSingleObject", (SYSCALL)WaitForSingleObject, 0 },
-#else
- { "WaitForSingleObject", (SYSCALL)0, 0 },
-#endif
#define osWaitForSingleObject ((DWORD(WINAPI*)(HANDLE, \
DWORD))aSyscall[63].pCurrent)
@@ -48025,6 +48966,97 @@ static struct win_syscall {
#define osFlushViewOfFile \
((BOOL(WINAPI*)(LPCVOID,SIZE_T))aSyscall[79].pCurrent)
+/*
+** If SQLITE_ENABLE_SETLK_TIMEOUT is defined, we require CreateEvent()
+** to implement blocking locks with timeouts. MSDN says:
+**
+** Minimum supported client: Windows XP [desktop apps | UWP apps]
+** Minimum supported server: Windows Server 2003 [desktop apps | UWP apps]
+*/
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ { "CreateEvent", (SYSCALL)CreateEvent, 0 },
+#else
+ { "CreateEvent", (SYSCALL)0, 0 },
+#endif
+
+#define osCreateEvent ( \
+ (HANDLE(WINAPI*) (LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR)) \
+ aSyscall[80].pCurrent \
+)
+
+/*
+** If SQLITE_ENABLE_SETLK_TIMEOUT is defined, we require CancelIo()
+** for the case where a timeout expires and a lock request must be
+** cancelled.
+**
+** Minimum supported client: Windows XP [desktop apps | UWP apps]
+** Minimum supported server: Windows Server 2003 [desktop apps | UWP apps]
+*/
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ { "CancelIo", (SYSCALL)CancelIo, 0 },
+#else
+ { "CancelIo", (SYSCALL)0, 0 },
+#endif
+
+#define osCancelIo ((BOOL(WINAPI*)(HANDLE))aSyscall[81].pCurrent)
+
+#if defined(SQLITE_WIN32_HAS_WIDE) && defined(_WIN32)
+ { "GetModuleHandleW", (SYSCALL)GetModuleHandleW, 0 },
+#else
+ { "GetModuleHandleW", (SYSCALL)0, 0 },
+#endif
+
+#define osGetModuleHandleW ((HMODULE(WINAPI*)(LPCWSTR))aSyscall[82].pCurrent)
+
+#ifndef _WIN32
+ { "getenv", (SYSCALL)getenv, 0 },
+#else
+ { "getenv", (SYSCALL)0, 0 },
+#endif
+
+#define osGetenv ((const char *(*)(const char *))aSyscall[83].pCurrent)
+
+#ifndef _WIN32
+ { "getcwd", (SYSCALL)getcwd, 0 },
+#else
+ { "getcwd", (SYSCALL)0, 0 },
+#endif
+
+#define osGetcwd ((char*(*)(char*,size_t))aSyscall[84].pCurrent)
+
+#ifndef _WIN32
+ { "readlink", (SYSCALL)readlink, 0 },
+#else
+ { "readlink", (SYSCALL)0, 0 },
+#endif
+
+#define osReadlink ((ssize_t(*)(const char*,char*,size_t))aSyscall[85].pCurrent)
+
+#ifndef _WIN32
+ { "lstat", (SYSCALL)lstat, 0 },
+#else
+ { "lstat", (SYSCALL)0, 0 },
+#endif
+
+#define osLstat ((int(*)(const char*,struct stat*))aSyscall[86].pCurrent)
+
+#ifndef _WIN32
+ { "__errno", (SYSCALL)__errno, 0 },
+#else
+ { "__errno", (SYSCALL)0, 0 },
+#endif
+
+#define osErrno (*((int*(*)(void))aSyscall[87].pCurrent)())
+
+#ifndef _WIN32
+ { "cygwin_conv_path", (SYSCALL)cygwin_conv_path, 0 },
+#else
+ { "cygwin_conv_path", (SYSCALL)0, 0 },
+#endif
+
+#define osCygwin_conv_path ((size_t(*)(unsigned int, \
+ const void *, void *, size_t))aSyscall[88].pCurrent)
+
}; /* End of the overrideable system calls */
/*
@@ -48198,6 +49230,7 @@ SQLITE_API int sqlite3_win32_reset_heap(){
}
#endif /* SQLITE_WIN32_MALLOC */
+#ifdef _WIN32
/*
** This function outputs the specified (ANSI) string to the Win32 debugger
** (if available).
@@ -48240,6 +49273,7 @@ SQLITE_API void sqlite3_win32_write_debug(const char *zBuf, int nBuf){
}
#endif
}
+#endif /* _WIN32 */
/*
** The following routine suspends the current thread for at least ms
@@ -48323,7 +49357,9 @@ SQLITE_API int sqlite3_win32_is_nt(void){
}
return osInterlockedCompareExchange(&sqlite3_os_type, 2, 2)==2;
#elif SQLITE_TEST
- return osInterlockedCompareExchange(&sqlite3_os_type, 2, 2)==2;
+ return osInterlockedCompareExchange(&sqlite3_os_type, 2, 2)==2
+ || osInterlockedCompareExchange(&sqlite3_os_type, 0, 0)==0
+ ;
#else
/*
** NOTE: All sub-platforms where the GetVersionEx[AW] functions are
@@ -48538,6 +49574,7 @@ SQLITE_PRIVATE void sqlite3MemSetDefault(void){
}
#endif /* SQLITE_WIN32_MALLOC */
+#ifdef _WIN32
/*
** Convert a UTF-8 string to Microsoft Unicode.
**
@@ -48563,6 +49600,7 @@ static LPWSTR winUtf8ToUnicode(const char *zText){
}
return zWideText;
}
+#endif /* _WIN32 */
/*
** Convert a Microsoft Unicode string to UTF-8.
@@ -48597,28 +49635,29 @@ static char *winUnicodeToUtf8(LPCWSTR zWideText){
** Space to hold the returned string is obtained from sqlite3_malloc().
*/
static LPWSTR winMbcsToUnicode(const char *zText, int useAnsi){
- int nByte;
+ int nWideChar;
LPWSTR zMbcsText;
int codepage = useAnsi ? CP_ACP : CP_OEMCP;
- nByte = osMultiByteToWideChar(codepage, 0, zText, -1, NULL,
- 0)*sizeof(WCHAR);
- if( nByte==0 ){
+ nWideChar = osMultiByteToWideChar(codepage, 0, zText, -1, NULL,
+ 0);
+ if( nWideChar==0 ){
return 0;
}
- zMbcsText = sqlite3MallocZero( nByte*sizeof(WCHAR) );
+ zMbcsText = sqlite3MallocZero( nWideChar*sizeof(WCHAR) );
if( zMbcsText==0 ){
return 0;
}
- nByte = osMultiByteToWideChar(codepage, 0, zText, -1, zMbcsText,
- nByte);
- if( nByte==0 ){
+ nWideChar = osMultiByteToWideChar(codepage, 0, zText, -1, zMbcsText,
+ nWideChar);
+ if( nWideChar==0 ){
sqlite3_free(zMbcsText);
zMbcsText = 0;
}
return zMbcsText;
}
+#ifdef _WIN32
/*
** Convert a Microsoft Unicode string to a multi-byte character string,
** using the ANSI or OEM code page.
@@ -48646,6 +49685,7 @@ static char *winUnicodeToMbcs(LPCWSTR zWideText, int useAnsi){
}
return zText;
}
+#endif /* _WIN32 */
/*
** Convert a multi-byte character string to UTF-8.
@@ -48665,6 +49705,7 @@ static char *winMbcsToUtf8(const char *zText, int useAnsi){
return zTextUtf8;
}
+#ifdef _WIN32
/*
** Convert a UTF-8 string to a multi-byte character string.
**
@@ -48714,6 +49755,7 @@ SQLITE_API char *sqlite3_win32_unicode_to_utf8(LPCWSTR zWideText){
#endif
return winUnicodeToUtf8(zWideText);
}
+#endif /* _WIN32 */
/*
** This is a public wrapper for the winMbcsToUtf8() function.
@@ -48731,6 +49773,7 @@ SQLITE_API char *sqlite3_win32_mbcs_to_utf8(const char *zText){
return winMbcsToUtf8(zText, osAreFileApisANSI());
}
+#ifdef _WIN32
/*
** This is a public wrapper for the winMbcsToUtf8() function.
*/
@@ -48855,6 +49898,7 @@ SQLITE_API int sqlite3_win32_set_directory(
){
return sqlite3_win32_set_directory16(type, zValue);
}
+#endif /* _WIN32 */
/*
** The return value of winGetLastErrorMsg
@@ -49403,13 +50447,100 @@ static BOOL winLockFile(
ovlp.Offset = offsetLow;
ovlp.OffsetHigh = offsetHigh;
return osLockFileEx(*phFile, flags, 0, numBytesLow, numBytesHigh, &ovlp);
+#ifdef SQLITE_WIN32_HAS_ANSI
}else{
return osLockFile(*phFile, offsetLow, offsetHigh, numBytesLow,
numBytesHigh);
+#endif
}
#endif
}
+#ifndef SQLITE_OMIT_WAL
+/*
+** Lock a region of nByte bytes starting at offset offset of file hFile.
+** Take an EXCLUSIVE lock if parameter bExclusive is true, or a SHARED lock
+** otherwise. If nMs is greater than zero and the lock cannot be obtained
+** immediately, block for that many ms before giving up.
+**
+** This function returns SQLITE_OK if the lock is obtained successfully. If
+** some other process holds the lock, SQLITE_BUSY is returned if nMs==0, or
+** SQLITE_BUSY_TIMEOUT otherwise. Or, if an error occurs, SQLITE_IOERR.
+*/
+static int winHandleLockTimeout(
+ HANDLE hFile,
+ DWORD offset,
+ DWORD nByte,
+ int bExcl,
+ DWORD nMs
+){
+ DWORD flags = LOCKFILE_FAIL_IMMEDIATELY | (bExcl?LOCKFILE_EXCLUSIVE_LOCK:0);
+ int rc = SQLITE_OK;
+ BOOL ret;
+
+ if( !osIsNT() ){
+ ret = winLockFile(&hFile, flags, offset, 0, nByte, 0);
+ }else{
+ OVERLAPPED ovlp;
+ memset(&ovlp, 0, sizeof(OVERLAPPED));
+ ovlp.Offset = offset;
+
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ if( nMs!=0 ){
+ flags &= ~LOCKFILE_FAIL_IMMEDIATELY;
+ }
+ ovlp.hEvent = osCreateEvent(NULL, TRUE, FALSE, NULL);
+ if( ovlp.hEvent==NULL ){
+ return SQLITE_IOERR_LOCK;
+ }
+#endif
+
+ ret = osLockFileEx(hFile, flags, 0, nByte, 0, &ovlp);
+
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ /* If SQLITE_ENABLE_SETLK_TIMEOUT is defined, then the file-handle was
+ ** opened with FILE_FLAG_OVERHEAD specified. In this case, the call to
+ ** LockFileEx() may fail because the request is still pending. This can
+ ** happen even if LOCKFILE_FAIL_IMMEDIATELY was specified.
+ **
+ ** If nMs is 0, then LOCKFILE_FAIL_IMMEDIATELY was set in the flags
+ ** passed to LockFileEx(). In this case, if the operation is pending,
+ ** block indefinitely until it is finished.
+ **
+ ** Otherwise, wait for up to nMs ms for the operation to finish. nMs
+ ** may be set to INFINITE.
+ */
+ if( !ret && GetLastError()==ERROR_IO_PENDING ){
+ DWORD nDelay = (nMs==0 ? INFINITE : nMs);
+ DWORD res = osWaitForSingleObject(ovlp.hEvent, nDelay);
+ if( res==WAIT_OBJECT_0 ){
+ ret = TRUE;
+ }else if( res==WAIT_TIMEOUT ){
+#if SQLITE_ENABLE_SETLK_TIMEOUT==1
+ rc = SQLITE_BUSY_TIMEOUT;
+#else
+ rc = SQLITE_BUSY;
+#endif
+ }else{
+ /* Some other error has occurred */
+ rc = SQLITE_IOERR_LOCK;
+ }
+
+ /* If it is still pending, cancel the LockFileEx() call. */
+ osCancelIo(hFile);
+ }
+
+ osCloseHandle(ovlp.hEvent);
+#endif
+ }
+
+ if( rc==SQLITE_OK && !ret ){
+ rc = SQLITE_BUSY;
+ }
+ return rc;
+}
+#endif /* #ifndef SQLITE_OMIT_WAL */
+
/*
** Unlock a file region.
*/
@@ -49434,13 +50565,25 @@ static BOOL winUnlockFile(
ovlp.Offset = offsetLow;
ovlp.OffsetHigh = offsetHigh;
return osUnlockFileEx(*phFile, 0, numBytesLow, numBytesHigh, &ovlp);
+#ifdef SQLITE_WIN32_HAS_ANSI
}else{
return osUnlockFile(*phFile, offsetLow, offsetHigh, numBytesLow,
numBytesHigh);
+#endif
}
#endif
}
+#ifndef SQLITE_OMIT_WAL
+/*
+** Remove an nByte lock starting at offset iOff from HANDLE h.
+*/
+static int winHandleUnlock(HANDLE h, int iOff, int nByte){
+ BOOL ret = winUnlockFile(&h, iOff, 0, nByte, 0);
+ return (ret ? SQLITE_OK : SQLITE_IOERR_UNLOCK);
+}
+#endif
+
/*****************************************************************************
** The next group of routines implement the I/O methods specified
** by the sqlite3_io_methods object.
@@ -49454,66 +50597,70 @@ static BOOL winUnlockFile(
#endif
/*
-** Move the current position of the file handle passed as the first
-** argument to offset iOffset within the file. If successful, return 0.
-** Otherwise, set pFile->lastErrno and return non-zero.
+** Seek the file handle h to offset nByte of the file.
+**
+** If successful, return SQLITE_OK. Or, if an error occurs, return an SQLite
+** error code.
*/
-static int winSeekFile(winFile *pFile, sqlite3_int64 iOffset){
+static int winHandleSeek(HANDLE h, sqlite3_int64 iOffset){
+ int rc = SQLITE_OK; /* Return value */
+
#if !SQLITE_OS_WINRT
LONG upperBits; /* Most sig. 32 bits of new offset */
LONG lowerBits; /* Least sig. 32 bits of new offset */
DWORD dwRet; /* Value returned by SetFilePointer() */
- DWORD lastErrno; /* Value returned by GetLastError() */
-
- OSTRACE(("SEEK file=%p, offset=%lld\n", pFile->h, iOffset));
upperBits = (LONG)((iOffset>>32) & 0x7fffffff);
lowerBits = (LONG)(iOffset & 0xffffffff);
+ dwRet = osSetFilePointer(h, lowerBits, &upperBits, FILE_BEGIN);
+
/* API oddity: If successful, SetFilePointer() returns a dword
** containing the lower 32-bits of the new file-offset. Or, if it fails,
** it returns INVALID_SET_FILE_POINTER. However according to MSDN,
** INVALID_SET_FILE_POINTER may also be a valid new offset. So to determine
** whether an error has actually occurred, it is also necessary to call
- ** GetLastError().
- */
- dwRet = osSetFilePointer(pFile->h, lowerBits, &upperBits, FILE_BEGIN);
-
- if( (dwRet==INVALID_SET_FILE_POINTER
- && ((lastErrno = osGetLastError())!=NO_ERROR)) ){
- pFile->lastErrno = lastErrno;
- winLogError(SQLITE_IOERR_SEEK, pFile->lastErrno,
- "winSeekFile", pFile->zPath);
- OSTRACE(("SEEK file=%p, rc=SQLITE_IOERR_SEEK\n", pFile->h));
- return 1;
+ ** GetLastError(). */
+ if( dwRet==INVALID_SET_FILE_POINTER ){
+ DWORD lastErrno = osGetLastError();
+ if( lastErrno!=NO_ERROR ){
+ rc = SQLITE_IOERR_SEEK;
+ }
}
-
- OSTRACE(("SEEK file=%p, rc=SQLITE_OK\n", pFile->h));
- return 0;
#else
- /*
- ** Same as above, except that this implementation works for WinRT.
- */
-
+ /* This implementation works for WinRT. */
LARGE_INTEGER x; /* The new offset */
BOOL bRet; /* Value returned by SetFilePointerEx() */
x.QuadPart = iOffset;
- bRet = osSetFilePointerEx(pFile->h, x, 0, FILE_BEGIN);
+ bRet = osSetFilePointerEx(h, x, 0, FILE_BEGIN);
if(!bRet){
- pFile->lastErrno = osGetLastError();
- winLogError(SQLITE_IOERR_SEEK, pFile->lastErrno,
- "winSeekFile", pFile->zPath);
- OSTRACE(("SEEK file=%p, rc=SQLITE_IOERR_SEEK\n", pFile->h));
- return 1;
+ rc = SQLITE_IOERR_SEEK;
}
-
- OSTRACE(("SEEK file=%p, rc=SQLITE_OK\n", pFile->h));
- return 0;
#endif
+
+ OSTRACE(("SEEK file=%p, offset=%lld rc=%s\n", h, iOffset, sqlite3ErrName(rc)));
+ return rc;
+}
+
+/*
+** Move the current position of the file handle passed as the first
+** argument to offset iOffset within the file. If successful, return 0.
+** Otherwise, set pFile->lastErrno and return non-zero.
+*/
+static int winSeekFile(winFile *pFile, sqlite3_int64 iOffset){
+ int rc;
+
+ rc = winHandleSeek(pFile->h, iOffset);
+ if( rc!=SQLITE_OK ){
+ pFile->lastErrno = osGetLastError();
+ winLogError(rc, pFile->lastErrno, "winSeekFile", pFile->zPath);
+ }
+ return rc;
}
+
#if SQLITE_MAX_MMAP_SIZE>0
/* Forward references to VFS helper methods used for memory mapped files */
static int winMapfile(winFile*, sqlite3_int64);
@@ -49773,6 +50920,62 @@ static int winWrite(
return SQLITE_OK;
}
+#ifndef SQLITE_OMIT_WAL
+/*
+** Truncate the file opened by handle h to nByte bytes in size.
+*/
+static int winHandleTruncate(HANDLE h, sqlite3_int64 nByte){
+ int rc = SQLITE_OK; /* Return code */
+ rc = winHandleSeek(h, nByte);
+ if( rc==SQLITE_OK ){
+ if( 0==osSetEndOfFile(h) ){
+ rc = SQLITE_IOERR_TRUNCATE;
+ }
+ }
+ return rc;
+}
+
+/*
+** Determine the size in bytes of the file opened by the handle passed as
+** the first argument.
+*/
+static int winHandleSize(HANDLE h, sqlite3_int64 *pnByte){
+ int rc = SQLITE_OK;
+
+#if SQLITE_OS_WINRT
+ FILE_STANDARD_INFO info;
+ BOOL b;
+ b = osGetFileInformationByHandleEx(h, FileStandardInfo, &info, sizeof(info));
+ if( b ){
+ *pnByte = info.EndOfFile.QuadPart;
+ }else{
+ rc = SQLITE_IOERR_FSTAT;
+ }
+#else
+ DWORD upperBits = 0;
+ DWORD lowerBits = 0;
+
+ assert( pnByte );
+ lowerBits = osGetFileSize(h, &upperBits);
+ *pnByte = (((sqlite3_int64)upperBits)<<32) + lowerBits;
+ if( lowerBits==INVALID_FILE_SIZE && osGetLastError()!=NO_ERROR ){
+ rc = SQLITE_IOERR_FSTAT;
+ }
+#endif
+
+ return rc;
+}
+
+/*
+** Close the handle passed as the only argument.
+*/
+static void winHandleClose(HANDLE h){
+ if( h!=INVALID_HANDLE_VALUE ){
+ osCloseHandle(h);
+ }
+}
+#endif /* #ifndef SQLITE_OMIT_WAL */
+
/*
** Truncate an open file to a specified size
*/
@@ -50028,8 +51231,9 @@ static int winFileSize(sqlite3_file *id, sqlite3_int64 *pSize){
** Different API routines are called depending on whether or not this
** is Win9x or WinNT.
*/
-static int winGetReadLock(winFile *pFile){
+static int winGetReadLock(winFile *pFile, int bBlock){
int res;
+ DWORD mask = ~(bBlock ? LOCKFILE_FAIL_IMMEDIATELY : 0);
OSTRACE(("READ-LOCK file=%p, lock=%d\n", pFile->h, pFile->locktype));
if( osIsNT() ){
#if SQLITE_OS_WINCE
@@ -50039,7 +51243,7 @@ static int winGetReadLock(winFile *pFile){
*/
res = winceLockFile(&pFile->h, SHARED_FIRST, 0, 1, 0);
#else
- res = winLockFile(&pFile->h, SQLITE_LOCKFILEEX_FLAGS, SHARED_FIRST, 0,
+ res = winLockFile(&pFile->h, SQLITE_LOCKFILEEX_FLAGS&mask, SHARED_FIRST, 0,
SHARED_SIZE, 0);
#endif
}
@@ -50048,7 +51252,7 @@ static int winGetReadLock(winFile *pFile){
int lk;
sqlite3_randomness(sizeof(lk), &lk);
pFile->sharedLockByte = (short)((lk & 0x7fffffff)%(SHARED_SIZE - 1));
- res = winLockFile(&pFile->h, SQLITE_LOCKFILE_FLAGS,
+ res = winLockFile(&pFile->h, SQLITE_LOCKFILE_FLAGS&mask,
SHARED_FIRST+pFile->sharedLockByte, 0, 1, 0);
}
#endif
@@ -50143,46 +51347,62 @@ static int winLock(sqlite3_file *id, int locktype){
assert( locktype!=PENDING_LOCK );
assert( locktype!=RESERVED_LOCK || pFile->locktype==SHARED_LOCK );
- /* Lock the PENDING_LOCK byte if we need to acquire a PENDING lock or
+ /* Lock the PENDING_LOCK byte if we need to acquire an EXCLUSIVE lock or
** a SHARED lock. If we are acquiring a SHARED lock, the acquisition of
** the PENDING_LOCK byte is temporary.
*/
newLocktype = pFile->locktype;
- if( pFile->locktype==NO_LOCK
- || (locktype==EXCLUSIVE_LOCK && pFile->locktype<=RESERVED_LOCK)
+ if( locktype==SHARED_LOCK
+ || (locktype==EXCLUSIVE_LOCK && pFile->locktype==RESERVED_LOCK)
){
int cnt = 3;
- while( cnt-->0 && (res = winLockFile(&pFile->h, SQLITE_LOCKFILE_FLAGS,
- PENDING_BYTE, 0, 1, 0))==0 ){
+
+ /* Flags for the LockFileEx() call. This should be an exclusive lock if
+ ** this call is to obtain EXCLUSIVE, or a shared lock if this call is to
+ ** obtain SHARED. */
+ int flags = LOCKFILE_FAIL_IMMEDIATELY;
+ if( locktype==EXCLUSIVE_LOCK ){
+ flags |= LOCKFILE_EXCLUSIVE_LOCK;
+ }
+ while( cnt>0 ){
/* Try 3 times to get the pending lock. This is needed to work
** around problems caused by indexing and/or anti-virus software on
** Windows systems.
+ **
** If you are using this code as a model for alternative VFSes, do not
- ** copy this retry logic. It is a hack intended for Windows only.
- */
+ ** copy this retry logic. It is a hack intended for Windows only. */
+ res = winLockFile(&pFile->h, flags, PENDING_BYTE, 0, 1, 0);
+ if( res ) break;
+
lastErrno = osGetLastError();
OSTRACE(("LOCK-PENDING-FAIL file=%p, count=%d, result=%d\n",
- pFile->h, cnt, res));
+ pFile->h, cnt, res
+ ));
+
if( lastErrno==ERROR_INVALID_HANDLE ){
pFile->lastErrno = lastErrno;
rc = SQLITE_IOERR_LOCK;
OSTRACE(("LOCK-FAIL file=%p, count=%d, rc=%s\n",
- pFile->h, cnt, sqlite3ErrName(rc)));
+ pFile->h, cnt, sqlite3ErrName(rc)
+ ));
return rc;
}
- if( cnt ) sqlite3_win32_sleep(1);
+
+ cnt--;
+ if( cnt>0 ) sqlite3_win32_sleep(1);
}
gotPendingLock = res;
- if( !res ){
- lastErrno = osGetLastError();
- }
}
/* Acquire a shared lock
*/
if( locktype==SHARED_LOCK && res ){
assert( pFile->locktype==NO_LOCK );
- res = winGetReadLock(pFile);
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ res = winGetReadLock(pFile, pFile->bBlockOnConnect);
+#else
+ res = winGetReadLock(pFile, 0);
+#endif
if( res ){
newLocktype = SHARED_LOCK;
}else{
@@ -50220,7 +51440,7 @@ static int winLock(sqlite3_file *id, int locktype){
newLocktype = EXCLUSIVE_LOCK;
}else{
lastErrno = osGetLastError();
- winGetReadLock(pFile);
+ winGetReadLock(pFile, 0);
}
}
@@ -50300,7 +51520,7 @@ static int winUnlock(sqlite3_file *id, int locktype){
type = pFile->locktype;
if( type>=EXCLUSIVE_LOCK ){
winUnlockFile(&pFile->h, SHARED_FIRST, 0, SHARED_SIZE, 0);
- if( locktype==SHARED_LOCK && !winGetReadLock(pFile) ){
+ if( locktype==SHARED_LOCK && !winGetReadLock(pFile, 0) ){
/* This should never happen. We should always be able to
** reacquire the read lock */
rc = winLogError(SQLITE_IOERR_UNLOCK, osGetLastError(),
@@ -50510,6 +51730,50 @@ static int winFileControl(sqlite3_file *id, int op, void *pArg){
return rc;
}
#endif
+
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ case SQLITE_FCNTL_LOCK_TIMEOUT: {
+ int iOld = pFile->iBusyTimeout;
+ int iNew = *(int*)pArg;
+#if SQLITE_ENABLE_SETLK_TIMEOUT==1
+ pFile->iBusyTimeout = (iNew < 0) ? INFINITE : (DWORD)iNew;
+#elif SQLITE_ENABLE_SETLK_TIMEOUT==2
+ pFile->iBusyTimeout = (DWORD)(!!iNew);
+#else
+# error "SQLITE_ENABLE_SETLK_TIMEOUT must be set to 1 or 2"
+#endif
+ *(int*)pArg = iOld;
+ return SQLITE_OK;
+ }
+ case SQLITE_FCNTL_BLOCK_ON_CONNECT: {
+ int iNew = *(int*)pArg;
+ pFile->bBlockOnConnect = iNew;
+ return SQLITE_OK;
+ }
+#endif /* SQLITE_ENABLE_SETLK_TIMEOUT */
+
+#if defined(SQLITE_DEBUG) || defined(SQLITE_ENABLE_FILESTAT)
+ case SQLITE_FCNTL_FILESTAT: {
+ sqlite3_str *pStr = (sqlite3_str*)pArg;
+ sqlite3_str_appendf(pStr, "{\"h\":%llu", (sqlite3_uint64)pFile->h);
+ sqlite3_str_appendf(pStr, ",\"vfs\":\"%s\"", pFile->pVfs->zName);
+ if( pFile->locktype ){
+ static const char *azLock[] = { "SHARED", "RESERVED",
+ "PENDING", "EXCLUSIVE" };
+ sqlite3_str_appendf(pStr, ",\"locktype\":\"%s\"",
+ azLock[pFile->locktype-1]);
+ }
+#if SQLITE_MAX_MMAP_SIZE>0
+ if( pFile->mmapSize ){
+ sqlite3_str_appendf(pStr, ",\"mmapSize\":%lld", pFile->mmapSize);
+ sqlite3_str_appendf(pStr, ",\"nFetchOut\":%d", pFile->nFetchOut);
+ }
+#endif
+ sqlite3_str_append(pStr, "}", 1);
+ return SQLITE_OK;
+ }
+#endif /* SQLITE_DEBUG || SQLITE_ENABLE_FILESTAT */
+
}
OSTRACE(("FCNTL file=%p, rc=SQLITE_NOTFOUND\n", pFile->h));
return SQLITE_NOTFOUND;
@@ -50547,6 +51811,103 @@ static int winDeviceCharacteristics(sqlite3_file *id){
*/
static SYSTEM_INFO winSysInfo;
+/*
+** Convert a UTF-8 filename into whatever form the underlying
+** operating system wants filenames in. Space to hold the result
+** is obtained from malloc and must be freed by the calling
+** function
+**
+** On Cygwin, 3 possible input forms are accepted:
+** - If the filename starts with "<drive>:/" or "<drive>:\",
+** it is converted to UTF-16 as-is.
+** - If the filename contains '/', it is assumed to be a
+** Cygwin absolute path, it is converted to a win32
+** absolute path in UTF-16.
+** - Otherwise it must be a filename only, the win32 filename
+** is returned in UTF-16.
+** Note: If the function cygwin_conv_path() fails, only
+** UTF-8 -> UTF-16 conversion will be done. This can only
+** happen when the file path >32k, in which case winUtf8ToUnicode()
+** will fail too.
+*/
+static void *winConvertFromUtf8Filename(const char *zFilename){
+ void *zConverted = 0;
+ if( osIsNT() ){
+#ifdef __CYGWIN__
+ int nChar;
+ LPWSTR zWideFilename;
+
+ if( osCygwin_conv_path && !(winIsDriveLetterAndColon(zFilename)
+ && winIsDirSep(zFilename[2])) ){
+ i64 nByte;
+ int convertflag = CCP_POSIX_TO_WIN_W;
+ if( !strchr(zFilename, '/') ) convertflag |= CCP_RELATIVE;
+ nByte = (i64)osCygwin_conv_path(convertflag,
+ zFilename, 0, 0);
+ if( nByte>0 ){
+ zConverted = sqlite3MallocZero(12+(u64)nByte);
+ if ( zConverted==0 ){
+ return zConverted;
+ }
+ zWideFilename = zConverted;
+ /* Filenames should be prefixed, except when converted
+ * full path already starts with "\\?\". */
+ if( osCygwin_conv_path(convertflag, zFilename,
+ zWideFilename+4, nByte)==0 ){
+ if( (convertflag&CCP_RELATIVE) ){
+ memmove(zWideFilename, zWideFilename+4, nByte);
+ }else if( memcmp(zWideFilename+4, L"\\\\", 4) ){
+ memcpy(zWideFilename, L"\\\\?\\", 8);
+ }else if( zWideFilename[6]!='?' ){
+ memmove(zWideFilename+6, zWideFilename+4, nByte);
+ memcpy(zWideFilename, L"\\\\?\\UNC", 14);
+ }else{
+ memmove(zWideFilename, zWideFilename+4, nByte);
+ }
+ return zConverted;
+ }
+ sqlite3_free(zConverted);
+ }
+ }
+ nChar = osMultiByteToWideChar(CP_UTF8, 0, zFilename, -1, NULL, 0);
+ if( nChar==0 ){
+ return 0;
+ }
+ zWideFilename = sqlite3MallocZero( nChar*sizeof(WCHAR)+12 );
+ if( zWideFilename==0 ){
+ return 0;
+ }
+ nChar = osMultiByteToWideChar(CP_UTF8, 0, zFilename, -1,
+ zWideFilename, nChar);
+ if( nChar==0 ){
+ sqlite3_free(zWideFilename);
+ zWideFilename = 0;
+ }else if( nChar>MAX_PATH
+ && winIsDriveLetterAndColon(zFilename)
+ && winIsDirSep(zFilename[2]) ){
+ memmove(zWideFilename+4, zWideFilename, nChar*sizeof(WCHAR));
+ zWideFilename[2] = '\\';
+ memcpy(zWideFilename, L"\\\\?\\", 8);
+ }else if( nChar>MAX_PATH
+ && winIsDirSep(zFilename[0]) && winIsDirSep(zFilename[1])
+ && zFilename[2] != '?' ){
+ memmove(zWideFilename+6, zWideFilename, nChar*sizeof(WCHAR));
+ memcpy(zWideFilename, L"\\\\?\\UNC", 14);
+ }
+ zConverted = zWideFilename;
+#else
+ zConverted = winUtf8ToUnicode(zFilename);
+#endif /* __CYGWIN__ */
+ }
+#if defined(SQLITE_WIN32_HAS_ANSI) && defined(_WIN32)
+ else{
+ zConverted = winUtf8ToMbcs(zFilename, osAreFileApisANSI());
+ }
+#endif
+ /* caller will handle out of memory */
+ return zConverted;
+}
+
#ifndef SQLITE_OMIT_WAL
/*
@@ -50583,30 +51944,40 @@ static int winShmMutexHeld(void) {
** log-summary is opened only once per process.
**
** winShmMutexHeld() must be true when creating or destroying
-** this object or while reading or writing the following fields:
+** this object, or while editing the global linked list that starts
+** at winShmNodeList.
**
-** nRef
-** pNext
+** When reading or writing the linked list starting at winShmNode.pWinShmList,
+** pShmNode->mutex must be held.
**
-** The following fields are read-only after the object is created:
+** The following fields are constant after the object is created:
**
-** fid
** zFilename
+** hSharedShm
+** mutex
+** bUseSharedLockHandle
**
-** Either winShmNode.mutex must be held or winShmNode.nRef==0 and
+** Either winShmNode.mutex must be held or winShmNode.pWinShmList==0 and
** winShmMutexHeld() is true when reading or writing any other field
** in this structure.
**
+** File-handle hSharedShm is always used to (a) take the DMS lock, (b)
+** truncate the *-shm file if the DMS-locking protocol demands it, and
+** (c) map regions of the *-shm file into memory using MapViewOfFile()
+** or similar. If bUseSharedLockHandle is true, then other locks are also
+** taken on hSharedShm. Or, if bUseSharedLockHandle is false, then other
+** locks are taken using each connection's winShm.hShm handles.
*/
struct winShmNode {
sqlite3_mutex *mutex; /* Mutex to access this object */
char *zFilename; /* Name of the file */
- winFile hFile; /* File handle from winOpen */
+ HANDLE hSharedShm; /* File handle open on zFilename */
+ int bUseSharedLockHandle; /* True to use hSharedShm for everything */
+ int isUnlocked; /* DMS lock has not yet been obtained */
+ int isReadonly; /* True if read-only */
int szRegion; /* Size of shared-memory regions */
int nRegion; /* Size of array apRegion */
- u8 isReadonly; /* True if read-only */
- u8 isUnlocked; /* True if no DMS lock held */
struct ShmRegion {
HANDLE hMap; /* File handle from CreateFileMapping */
@@ -50614,8 +51985,8 @@ struct winShmNode {
} *aRegion;
DWORD lastErrno; /* The Windows errno from the last I/O error */
- int nRef; /* Number of winShm objects pointing to this */
- winShm *pFirst; /* All winShm objects pointing to this */
+ winShm *pWinShmList; /* List of winShm objects with ptrs to this */
+
winShmNode *pNext; /* Next in list of all winShmNode objects */
#if defined(SQLITE_DEBUG) || defined(SQLITE_HAVE_OS_TRACE)
u8 nextShmId; /* Next available winShm.id value */
@@ -50631,26 +52002,19 @@ static winShmNode *winShmNodeList = 0;
/*
** Structure used internally by this VFS to record the state of an
-** open shared memory connection.
-**
-** The following fields are initialized when this object is created and
-** are read-only thereafter:
-**
-** winShm.pShmNode
-** winShm.id
-**
-** All other fields are read/write. The winShm.pShmNode->mutex must be held
-** while accessing any read/write fields.
+** open shared memory connection. There is one such structure for each
+** winFile open on a wal mode database.
*/
struct winShm {
winShmNode *pShmNode; /* The underlying winShmNode object */
- winShm *pNext; /* Next winShm with the same winShmNode */
- u8 hasMutex; /* True if holding the winShmNode mutex */
u16 sharedMask; /* Mask of shared locks held */
u16 exclMask; /* Mask of exclusive locks held */
+ HANDLE hShm; /* File-handle on *-shm file. For locking. */
+ int bReadonly; /* True if hShm is opened read-only */
#if defined(SQLITE_DEBUG) || defined(SQLITE_HAVE_OS_TRACE)
u8 id; /* Id of this connection with its winShmNode */
#endif
+ winShm *pWinShmNext; /* Next winShm object on same winShmNode */
};
/*
@@ -50659,56 +52023,12 @@ struct winShm {
#define WIN_SHM_BASE ((22+SQLITE_SHM_NLOCK)*4) /* first lock byte */
#define WIN_SHM_DMS (WIN_SHM_BASE+SQLITE_SHM_NLOCK) /* deadman switch */
-/*
-** Apply advisory locks for all n bytes beginning at ofst.
-*/
-#define WINSHM_UNLCK 1
-#define WINSHM_RDLCK 2
-#define WINSHM_WRLCK 3
-static int winShmSystemLock(
- winShmNode *pFile, /* Apply locks to this open shared-memory segment */
- int lockType, /* WINSHM_UNLCK, WINSHM_RDLCK, or WINSHM_WRLCK */
- int ofst, /* Offset to first byte to be locked/unlocked */
- int nByte /* Number of bytes to lock or unlock */
-){
- int rc = 0; /* Result code form Lock/UnlockFileEx() */
-
- /* Access to the winShmNode object is serialized by the caller */
- assert( pFile->nRef==0 || sqlite3_mutex_held(pFile->mutex) );
-
- OSTRACE(("SHM-LOCK file=%p, lock=%d, offset=%d, size=%d\n",
- pFile->hFile.h, lockType, ofst, nByte));
-
- /* Release/Acquire the system-level lock */
- if( lockType==WINSHM_UNLCK ){
- rc = winUnlockFile(&pFile->hFile.h, ofst, 0, nByte, 0);
- }else{
- /* Initialize the locking parameters */
- DWORD dwFlags = LOCKFILE_FAIL_IMMEDIATELY;
- if( lockType == WINSHM_WRLCK ) dwFlags |= LOCKFILE_EXCLUSIVE_LOCK;
- rc = winLockFile(&pFile->hFile.h, dwFlags, ofst, 0, nByte, 0);
- }
-
- if( rc!= 0 ){
- rc = SQLITE_OK;
- }else{
- pFile->lastErrno = osGetLastError();
- rc = SQLITE_BUSY;
- }
-
- OSTRACE(("SHM-LOCK file=%p, func=%s, errno=%lu, rc=%s\n",
- pFile->hFile.h, (lockType == WINSHM_UNLCK) ? "winUnlockFile" :
- "winLockFile", pFile->lastErrno, sqlite3ErrName(rc)));
-
- return rc;
-}
-
/* Forward references to VFS methods */
static int winOpen(sqlite3_vfs*,const char*,sqlite3_file*,int,int*);
static int winDelete(sqlite3_vfs *,const char*,int);
/*
-** Purge the winShmNodeList list of all entries with winShmNode.nRef==0.
+** Purge the winShmNodeList list of all entries with winShmNode.pWinShmList==0.
**
** This is not a VFS shared-memory method; it is a utility function called
** by VFS shared-memory methods.
@@ -50721,7 +52041,7 @@ static void winShmPurge(sqlite3_vfs *pVfs, int deleteFlag){
osGetCurrentProcessId(), deleteFlag));
pp = &winShmNodeList;
while( (p = *pp)!=0 ){
- if( p->nRef==0 ){
+ if( p->pWinShmList==0 ){
int i;
if( p->mutex ){ sqlite3_mutex_free(p->mutex); }
for(i=0; i<p->nRegion; i++){
@@ -50734,11 +52054,7 @@ static void winShmPurge(sqlite3_vfs *pVfs, int deleteFlag){
osGetCurrentProcessId(), i, bRc ? "ok" : "failed"));
UNUSED_VARIABLE_VALUE(bRc);
}
- if( p->hFile.h!=NULL && p->hFile.h!=INVALID_HANDLE_VALUE ){
- SimulateIOErrorBenign(1);
- winClose((sqlite3_file *)&p->hFile);
- SimulateIOErrorBenign(0);
- }
+ winHandleClose(p->hSharedShm);
if( deleteFlag ){
SimulateIOErrorBenign(1);
sqlite3BeginBenignMalloc();
@@ -50756,42 +52072,196 @@ static void winShmPurge(sqlite3_vfs *pVfs, int deleteFlag){
}
/*
-** The DMS lock has not yet been taken on shm file pShmNode. Attempt to
-** take it now. Return SQLITE_OK if successful, or an SQLite error
-** code otherwise.
-**
-** If the DMS cannot be locked because this is a readonly_shm=1
-** connection and no other process already holds a lock, return
-** SQLITE_READONLY_CANTINIT and set pShmNode->isUnlocked=1.
+** The DMS lock has not yet been taken on the shm file associated with
+** pShmNode. Take the lock. Truncate the *-shm file if required.
+** Return SQLITE_OK if successful, or an SQLite error code otherwise.
*/
-static int winLockSharedMemory(winShmNode *pShmNode){
- int rc = winShmSystemLock(pShmNode, WINSHM_WRLCK, WIN_SHM_DMS, 1);
+static int winLockSharedMemory(winShmNode *pShmNode, DWORD nMs){
+ HANDLE h = pShmNode->hSharedShm;
+ int rc = SQLITE_OK;
+ assert( sqlite3_mutex_held(pShmNode->mutex) );
+ rc = winHandleLockTimeout(h, WIN_SHM_DMS, 1, 1, 0);
if( rc==SQLITE_OK ){
+ /* We have an EXCLUSIVE lock on the DMS byte. This means that this
+ ** is the first process to open the file. Truncate it to zero bytes
+ ** in this case. */
if( pShmNode->isReadonly ){
- pShmNode->isUnlocked = 1;
- winShmSystemLock(pShmNode, WINSHM_UNLCK, WIN_SHM_DMS, 1);
- return SQLITE_READONLY_CANTINIT;
- }else if( winTruncate((sqlite3_file*)&pShmNode->hFile, 0) ){
- winShmSystemLock(pShmNode, WINSHM_UNLCK, WIN_SHM_DMS, 1);
- return winLogError(SQLITE_IOERR_SHMOPEN, osGetLastError(),
- "winLockSharedMemory", pShmNode->zFilename);
+ rc = SQLITE_READONLY_CANTINIT;
+ }else{
+ rc = winHandleTruncate(h, 0);
}
+
+ /* Release the EXCLUSIVE lock acquired above. */
+ winUnlockFile(&h, WIN_SHM_DMS, 0, 1, 0);
+ }else if( (rc & 0xFF)==SQLITE_BUSY ){
+ rc = SQLITE_OK;
}
if( rc==SQLITE_OK ){
- winShmSystemLock(pShmNode, WINSHM_UNLCK, WIN_SHM_DMS, 1);
+ /* Take a SHARED lock on the DMS byte. */
+ rc = winHandleLockTimeout(h, WIN_SHM_DMS, 1, 0, nMs);
+ if( rc==SQLITE_OK ){
+ pShmNode->isUnlocked = 0;
+ }
+ }
+
+ return rc;
+}
+
+
+/*
+** This function is used to open a handle on a *-shm file.
+**
+** If SQLITE_ENABLE_SETLK_TIMEOUT is defined at build time, then the file
+** is opened with FILE_FLAG_OVERLAPPED specified. If not, it is not.
+*/
+static int winHandleOpen(
+ const char *zUtf8, /* File to open */
+ int *pbReadonly, /* IN/OUT: True for readonly handle */
+ HANDLE *ph /* OUT: New HANDLE for file */
+){
+ int rc = SQLITE_OK;
+ void *zConverted = 0;
+ int bReadonly = *pbReadonly;
+ HANDLE h = INVALID_HANDLE_VALUE;
+
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ const DWORD flag_overlapped = FILE_FLAG_OVERLAPPED;
+#else
+ const DWORD flag_overlapped = 0;
+#endif
+
+ /* Convert the filename to the system encoding. */
+ zConverted = winConvertFromUtf8Filename(zUtf8);
+ if( zConverted==0 ){
+ OSTRACE(("OPEN name=%s, rc=SQLITE_IOERR_NOMEM", zUtf8));
+ rc = SQLITE_IOERR_NOMEM_BKPT;
+ goto winopenfile_out;
+ }
+
+ /* Ensure the file we are trying to open is not actually a directory. */
+ if( winIsDir(zConverted) ){
+ OSTRACE(("OPEN name=%s, rc=SQLITE_CANTOPEN_ISDIR", zUtf8));
+ rc = SQLITE_CANTOPEN_ISDIR;
+ goto winopenfile_out;
+ }
+
+ /* TODO: platforms.
+ ** TODO: retry-on-ioerr.
+ */
+ if( osIsNT() ){
+#if SQLITE_OS_WINRT
+ CREATEFILE2_EXTENDED_PARAMETERS extendedParameters;
+ memset(&extendedParameters, 0, sizeof(extendedParameters));
+ extendedParameters.dwSize = sizeof(extendedParameters);
+ extendedParameters.dwFileAttributes = FILE_ATTRIBUTE_NORMAL;
+ extendedParameters.dwFileFlags = flag_overlapped;
+ extendedParameters.dwSecurityQosFlags = SECURITY_ANONYMOUS;
+ h = osCreateFile2((LPCWSTR)zConverted,
+ (GENERIC_READ | (bReadonly ? 0 : GENERIC_WRITE)),/* dwDesiredAccess */
+ FILE_SHARE_READ | FILE_SHARE_WRITE, /* dwShareMode */
+ OPEN_ALWAYS, /* dwCreationDisposition */
+ &extendedParameters
+ );
+#else
+ h = osCreateFileW((LPCWSTR)zConverted, /* lpFileName */
+ (GENERIC_READ | (bReadonly ? 0 : GENERIC_WRITE)), /* dwDesiredAccess */
+ FILE_SHARE_READ | FILE_SHARE_WRITE, /* dwShareMode */
+ NULL, /* lpSecurityAttributes */
+ OPEN_ALWAYS, /* dwCreationDisposition */
+ FILE_ATTRIBUTE_NORMAL|flag_overlapped,
+ NULL
+ );
+#endif
+ }else{
+ /* Due to pre-processor directives earlier in this file,
+ ** SQLITE_WIN32_HAS_ANSI is always defined if osIsNT() is false. */
+#ifdef SQLITE_WIN32_HAS_ANSI
+ h = osCreateFileA((LPCSTR)zConverted,
+ (GENERIC_READ | (bReadonly ? 0 : GENERIC_WRITE)), /* dwDesiredAccess */
+ FILE_SHARE_READ | FILE_SHARE_WRITE, /* dwShareMode */
+ NULL, /* lpSecurityAttributes */
+ OPEN_ALWAYS, /* dwCreationDisposition */
+ FILE_ATTRIBUTE_NORMAL|flag_overlapped,
+ NULL
+ );
+#endif
+ }
+
+ if( h==INVALID_HANDLE_VALUE ){
+ if( bReadonly==0 ){
+ bReadonly = 1;
+ rc = winHandleOpen(zUtf8, &bReadonly, &h);
+ }else{
+ rc = SQLITE_CANTOPEN_BKPT;
+ }
}
- return winShmSystemLock(pShmNode, WINSHM_RDLCK, WIN_SHM_DMS, 1);
+ winopenfile_out:
+ sqlite3_free(zConverted);
+ *pbReadonly = bReadonly;
+ *ph = h;
+ return rc;
+}
+
+/*
+** Close pDbFd's connection to shared-memory. Delete the underlying
+** *-shm file if deleteFlag is true.
+*/
+static int winCloseSharedMemory(winFile *pDbFd, int deleteFlag){
+ winShm *p; /* The connection to be closed */
+ winShm **pp; /* Iterator for pShmNode->pWinShmList */
+ winShmNode *pShmNode; /* The underlying shared-memory file */
+
+ p = pDbFd->pShm;
+ if( p==0 ) return SQLITE_OK;
+ if( p->hShm!=INVALID_HANDLE_VALUE ){
+ osCloseHandle(p->hShm);
+ }
+
+ winShmEnterMutex();
+ pShmNode = p->pShmNode;
+
+ /* Remove this connection from the winShmNode.pWinShmList list */
+ sqlite3_mutex_enter(pShmNode->mutex);
+ for(pp=&pShmNode->pWinShmList; *pp!=p; pp=&(*pp)->pWinShmNext){}
+ *pp = p->pWinShmNext;
+ sqlite3_mutex_leave(pShmNode->mutex);
+
+ winShmPurge(pDbFd->pVfs, deleteFlag);
+ winShmLeaveMutex();
+
+ /* Free the connection p */
+ sqlite3_free(p);
+ pDbFd->pShm = 0;
+ return SQLITE_OK;
+}
+
+/*
+** testfixture builds may set this global variable to true via a
+** Tcl interface. This forces the VFS to use the locking normally
+** only used for UNC paths for all files.
+*/
+#ifdef SQLITE_TEST
+SQLITE_API int sqlite3_win_test_unc_locking = 0;
+#else
+# define sqlite3_win_test_unc_locking 0
+#endif
+
+/*
+** Return true if the string passed as the only argument is likely
+** to be a UNC path. In other words, if it starts with "\\".
+*/
+static int winIsUNCPath(const char *zFile){
+ if( zFile[0]=='\\' && zFile[1]=='\\' ){
+ return 1;
+ }
+ return sqlite3_win_test_unc_locking;
}
/*
** Open the shared-memory area associated with database file pDbFd.
-**
-** When opening a new shared-memory file, if no other instances of that
-** file are currently open, in this process or in other processes, then
-** the file must be truncated to zero length or have its header cleared.
*/
static int winOpenSharedMemory(winFile *pDbFd){
struct winShm *p; /* The connection to be opened */
@@ -50803,98 +52273,93 @@ static int winOpenSharedMemory(winFile *pDbFd){
assert( pDbFd->pShm==0 ); /* Not previously opened */
/* Allocate space for the new sqlite3_shm object. Also speculatively
- ** allocate space for a new winShmNode and filename.
- */
+ ** allocate space for a new winShmNode and filename. */
p = sqlite3MallocZero( sizeof(*p) );
if( p==0 ) return SQLITE_IOERR_NOMEM_BKPT;
nName = sqlite3Strlen30(pDbFd->zPath);
- pNew = sqlite3MallocZero( sizeof(*pShmNode) + nName + 17 );
+ pNew = sqlite3MallocZero( sizeof(*pShmNode) + (i64)nName + 17 );
if( pNew==0 ){
sqlite3_free(p);
return SQLITE_IOERR_NOMEM_BKPT;
}
pNew->zFilename = (char*)&pNew[1];
+ pNew->hSharedShm = INVALID_HANDLE_VALUE;
+ pNew->isUnlocked = 1;
+ pNew->bUseSharedLockHandle = winIsUNCPath(pDbFd->zPath);
sqlite3_snprintf(nName+15, pNew->zFilename, "%s-shm", pDbFd->zPath);
sqlite3FileSuffix3(pDbFd->zPath, pNew->zFilename);
/* Look to see if there is an existing winShmNode that can be used.
- ** If no matching winShmNode currently exists, create a new one.
- */
+ ** If no matching winShmNode currently exists, then create a new one. */
winShmEnterMutex();
for(pShmNode = winShmNodeList; pShmNode; pShmNode=pShmNode->pNext){
/* TBD need to come up with better match here. Perhaps
- ** use FILE_ID_BOTH_DIR_INFO Structure.
- */
+ ** use FILE_ID_BOTH_DIR_INFO Structure. */
if( sqlite3StrICmp(pShmNode->zFilename, pNew->zFilename)==0 ) break;
}
- if( pShmNode ){
- sqlite3_free(pNew);
- }else{
- int inFlags = SQLITE_OPEN_WAL;
- int outFlags = 0;
-
+ if( pShmNode==0 ){
pShmNode = pNew;
- pNew = 0;
- ((winFile*)(&pShmNode->hFile))->h = INVALID_HANDLE_VALUE;
- pShmNode->pNext = winShmNodeList;
- winShmNodeList = pShmNode;
+ /* Allocate a mutex for this winShmNode object, if one is required. */
if( sqlite3GlobalConfig.bCoreMutex ){
pShmNode->mutex = sqlite3_mutex_alloc(SQLITE_MUTEX_FAST);
- if( pShmNode->mutex==0 ){
- rc = SQLITE_IOERR_NOMEM_BKPT;
- goto shm_open_err;
- }
+ if( pShmNode->mutex==0 ) rc = SQLITE_IOERR_NOMEM_BKPT;
}
- if( 0==sqlite3_uri_boolean(pDbFd->zPath, "readonly_shm", 0) ){
- inFlags |= SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE;
- }else{
- inFlags |= SQLITE_OPEN_READONLY;
- }
- rc = winOpen(pDbFd->pVfs, pShmNode->zFilename,
- (sqlite3_file*)&pShmNode->hFile,
- inFlags, &outFlags);
- if( rc!=SQLITE_OK ){
- rc = winLogError(rc, osGetLastError(), "winOpenShm",
- pShmNode->zFilename);
- goto shm_open_err;
+ /* Open a file-handle to use for mappings, and for the DMS lock. */
+ if( rc==SQLITE_OK ){
+ HANDLE h = INVALID_HANDLE_VALUE;
+ pShmNode->isReadonly = sqlite3_uri_boolean(pDbFd->zPath,"readonly_shm",0);
+ rc = winHandleOpen(pNew->zFilename, &pShmNode->isReadonly, &h);
+ pShmNode->hSharedShm = h;
}
- if( outFlags==SQLITE_OPEN_READONLY ) pShmNode->isReadonly = 1;
- rc = winLockSharedMemory(pShmNode);
- if( rc!=SQLITE_OK && rc!=SQLITE_READONLY_CANTINIT ) goto shm_open_err;
+ /* If successful, link the new winShmNode into the global list. If an
+ ** error occurred, free the object. */
+ if( rc==SQLITE_OK ){
+ pShmNode->pNext = winShmNodeList;
+ winShmNodeList = pShmNode;
+ pNew = 0;
+ }else{
+ sqlite3_mutex_free(pShmNode->mutex);
+ if( pShmNode->hSharedShm!=INVALID_HANDLE_VALUE ){
+ osCloseHandle(pShmNode->hSharedShm);
+ }
+ }
}
- /* Make the new connection a child of the winShmNode */
- p->pShmNode = pShmNode;
+ /* If no error has occurred, link the winShm object to the winShmNode and
+ ** the winShm to pDbFd. */
+ if( rc==SQLITE_OK ){
+ sqlite3_mutex_enter(pShmNode->mutex);
+ p->pShmNode = pShmNode;
+ p->pWinShmNext = pShmNode->pWinShmList;
+ pShmNode->pWinShmList = p;
#if defined(SQLITE_DEBUG) || defined(SQLITE_HAVE_OS_TRACE)
- p->id = pShmNode->nextShmId++;
+ p->id = pShmNode->nextShmId++;
#endif
- pShmNode->nRef++;
- pDbFd->pShm = p;
+ pDbFd->pShm = p;
+ sqlite3_mutex_leave(pShmNode->mutex);
+ }else if( p ){
+ sqlite3_free(p);
+ }
+
+ assert( rc!=SQLITE_OK || pShmNode->isUnlocked==0 || pShmNode->nRegion==0 );
winShmLeaveMutex();
+ sqlite3_free(pNew);
- /* The reference count on pShmNode has already been incremented under
- ** the cover of the winShmEnterMutex() mutex and the pointer from the
- ** new (struct winShm) object to the pShmNode has been set. All that is
- ** left to do is to link the new object into the linked list starting
- ** at pShmNode->pFirst. This must be done while holding the pShmNode->mutex
- ** mutex.
- */
- sqlite3_mutex_enter(pShmNode->mutex);
- p->pNext = pShmNode->pFirst;
- pShmNode->pFirst = p;
- sqlite3_mutex_leave(pShmNode->mutex);
- return rc;
+ /* Open a file-handle on the *-shm file for this connection. This file-handle
+ ** is only used for locking. The mapping of the *-shm file is created using
+ ** the shared file handle in winShmNode.hSharedShm. */
+ if( rc==SQLITE_OK && pShmNode->bUseSharedLockHandle==0 ){
+ p->bReadonly = sqlite3_uri_boolean(pDbFd->zPath, "readonly_shm", 0);
+ rc = winHandleOpen(pShmNode->zFilename, &p->bReadonly, &p->hShm);
+ if( rc!=SQLITE_OK ){
+ assert( p->hShm==INVALID_HANDLE_VALUE );
+ winCloseSharedMemory(pDbFd, 0);
+ }
+ }
- /* Jump here on any error */
-shm_open_err:
- winShmSystemLock(pShmNode, WINSHM_UNLCK, WIN_SHM_DMS, 1);
- winShmPurge(pDbFd->pVfs, 0); /* This call frees pShmNode if required */
- sqlite3_free(p);
- sqlite3_free(pNew);
- winShmLeaveMutex();
return rc;
}
@@ -50906,38 +52371,7 @@ static int winShmUnmap(
sqlite3_file *fd, /* Database holding shared memory */
int deleteFlag /* Delete after closing if true */
){
- winFile *pDbFd; /* Database holding shared-memory */
- winShm *p; /* The connection to be closed */
- winShmNode *pShmNode; /* The underlying shared-memory file */
- winShm **pp; /* For looping over sibling connections */
-
- pDbFd = (winFile*)fd;
- p = pDbFd->pShm;
- if( p==0 ) return SQLITE_OK;
- pShmNode = p->pShmNode;
-
- /* Remove connection p from the set of connections associated
- ** with pShmNode */
- sqlite3_mutex_enter(pShmNode->mutex);
- for(pp=&pShmNode->pFirst; (*pp)!=p; pp = &(*pp)->pNext){}
- *pp = p->pNext;
-
- /* Free the connection p */
- sqlite3_free(p);
- pDbFd->pShm = 0;
- sqlite3_mutex_leave(pShmNode->mutex);
-
- /* If pShmNode->nRef has reached 0, then close the underlying
- ** shared-memory file, too */
- winShmEnterMutex();
- assert( pShmNode->nRef>0 );
- pShmNode->nRef--;
- if( pShmNode->nRef==0 ){
- winShmPurge(pDbFd->pVfs, deleteFlag);
- }
- winShmLeaveMutex();
-
- return SQLITE_OK;
+ return winCloseSharedMemory((winFile*)fd, deleteFlag);
}
/*
@@ -50951,10 +52385,9 @@ static int winShmLock(
){
winFile *pDbFd = (winFile*)fd; /* Connection holding shared memory */
winShm *p = pDbFd->pShm; /* The shared memory being locked */
- winShm *pX; /* For looping over all siblings */
winShmNode *pShmNode;
int rc = SQLITE_OK; /* Result code */
- u16 mask; /* Mask of locks to take or release */
+ u16 mask = (u16)((1U<<(ofst+n)) - (1U<<ofst)); /* Mask of locks to [un]take */
if( p==0 ) return SQLITE_IOERR_SHMLOCK;
pShmNode = p->pShmNode;
@@ -50968,85 +52401,127 @@ static int winShmLock(
|| flags==(SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE) );
assert( n==1 || (flags & SQLITE_SHM_EXCLUSIVE)!=0 );
- mask = (u16)((1U<<(ofst+n)) - (1U<<ofst));
- assert( n>1 || mask==(1<<ofst) );
- sqlite3_mutex_enter(pShmNode->mutex);
- if( flags & SQLITE_SHM_UNLOCK ){
- u16 allMask = 0; /* Mask of locks held by siblings */
+ /* Check that, if this to be a blocking lock, no locks that occur later
+ ** in the following list than the lock being obtained are already held:
+ **
+ ** 1. Recovery lock (ofst==2).
+ ** 2. Checkpointer lock (ofst==1).
+ ** 3. Write lock (ofst==0).
+ ** 4. Read locks (ofst>=3 && ofst<SQLITE_SHM_NLOCK).
+ **
+ ** In other words, if this is a blocking lock, none of the locks that
+ ** occur later in the above list than the lock being obtained may be
+ ** held.
+ */
+#if defined(SQLITE_ENABLE_SETLK_TIMEOUT) && defined(SQLITE_DEBUG)
+ {
+ u16 lockMask = (p->exclMask|p->sharedMask);
+ assert( (flags & SQLITE_SHM_UNLOCK) || pDbFd->iBusyTimeout==0 || (
+ (ofst!=2 || lockMask==0)
+ && (ofst!=1 || lockMask==0 || lockMask==2)
+ && (ofst!=0 || lockMask<3)
+ && (ofst<3 || lockMask<(1<<ofst))
+ ));
+ }
+#endif
- /* See if any siblings hold this same lock */
- for(pX=pShmNode->pFirst; pX; pX=pX->pNext){
- if( pX==p ) continue;
- assert( (pX->exclMask & (p->exclMask|p->sharedMask))==0 );
- allMask |= pX->sharedMask;
- }
+ /* Check if there is any work to do. There are three cases:
+ **
+ ** a) An unlock operation where there are locks to unlock,
+ ** b) An shared lock where the requested lock is not already held
+ ** c) An exclusive lock where the requested lock is not already held
+ **
+ ** The SQLite core never requests an exclusive lock that it already holds.
+ ** This is assert()ed immediately below. */
+ assert( flags!=(SQLITE_SHM_EXCLUSIVE|SQLITE_SHM_LOCK)
+ || 0==(p->exclMask & mask)
+ );
+ if( ((flags & SQLITE_SHM_UNLOCK) && ((p->exclMask|p->sharedMask) & mask))
+ || (flags==(SQLITE_SHM_SHARED|SQLITE_SHM_LOCK) && 0==(p->sharedMask & mask))
+ || (flags==(SQLITE_SHM_EXCLUSIVE|SQLITE_SHM_LOCK))
+ ){
+ HANDLE h = p->hShm;
- /* Unlock the system-level locks */
- if( (mask & allMask)==0 ){
- rc = winShmSystemLock(pShmNode, WINSHM_UNLCK, ofst+WIN_SHM_BASE, n);
- }else{
- rc = SQLITE_OK;
- }
+ if( flags & SQLITE_SHM_UNLOCK ){
+ /* Case (a) - unlock. */
- /* Undo the local locks */
- if( rc==SQLITE_OK ){
- p->exclMask &= ~mask;
- p->sharedMask &= ~mask;
- }
- }else if( flags & SQLITE_SHM_SHARED ){
- u16 allShared = 0; /* Union of locks held by connections other than "p" */
+ assert( (p->exclMask & p->sharedMask)==0 );
+ assert( !(flags & SQLITE_SHM_EXCLUSIVE) || (p->exclMask & mask)==mask );
+ assert( !(flags & SQLITE_SHM_SHARED) || (p->sharedMask & mask)==mask );
- /* Find out which shared locks are already held by sibling connections.
- ** If any sibling already holds an exclusive lock, go ahead and return
- ** SQLITE_BUSY.
- */
- for(pX=pShmNode->pFirst; pX; pX=pX->pNext){
- if( (pX->exclMask & mask)!=0 ){
- rc = SQLITE_BUSY;
- break;
+ assert( !(flags & SQLITE_SHM_SHARED) || n==1 );
+ if( pShmNode->bUseSharedLockHandle ){
+ h = pShmNode->hSharedShm;
+ if( flags & SQLITE_SHM_SHARED ){
+ winShm *pShm;
+ sqlite3_mutex_enter(pShmNode->mutex);
+ for(pShm=pShmNode->pWinShmList; pShm; pShm=pShm->pWinShmNext){
+ if( pShm!=p && (pShm->sharedMask & mask) ){
+ /* Another connection within this process is also holding this
+ ** SHARED lock. So do not actually release the OS lock. */
+ h = INVALID_HANDLE_VALUE;
+ break;
+ }
+ }
+ sqlite3_mutex_leave(pShmNode->mutex);
+ }
}
- allShared |= pX->sharedMask;
- }
- /* Get shared locks at the system level, if necessary */
- if( rc==SQLITE_OK ){
- if( (allShared & mask)==0 ){
- rc = winShmSystemLock(pShmNode, WINSHM_RDLCK, ofst+WIN_SHM_BASE, n);
- }else{
- rc = SQLITE_OK;
+ if( h!=INVALID_HANDLE_VALUE ){
+ rc = winHandleUnlock(h, ofst+WIN_SHM_BASE, n);
}
- }
- /* Get the local shared locks */
- if( rc==SQLITE_OK ){
- p->sharedMask |= mask;
- }
- }else{
- /* Make sure no sibling connections hold locks that will block this
- ** lock. If any do, return SQLITE_BUSY right away.
- */
- for(pX=pShmNode->pFirst; pX; pX=pX->pNext){
- if( (pX->exclMask & mask)!=0 || (pX->sharedMask & mask)!=0 ){
- rc = SQLITE_BUSY;
- break;
+ /* If successful, also clear the bits in sharedMask/exclMask */
+ if( rc==SQLITE_OK ){
+ p->exclMask = (p->exclMask & ~mask);
+ p->sharedMask = (p->sharedMask & ~mask);
+ }
+ }else{
+ int bExcl = ((flags & SQLITE_SHM_EXCLUSIVE) ? 1 : 0);
+ DWORD nMs = winFileBusyTimeout(pDbFd);
+
+ if( pShmNode->bUseSharedLockHandle ){
+ winShm *pShm;
+ h = pShmNode->hSharedShm;
+ sqlite3_mutex_enter(pShmNode->mutex);
+ for(pShm=pShmNode->pWinShmList; pShm; pShm=pShm->pWinShmNext){
+ if( bExcl ){
+ if( (pShm->sharedMask|pShm->exclMask) & mask ){
+ rc = SQLITE_BUSY;
+ h = INVALID_HANDLE_VALUE;
+ }
+ }else{
+ if( pShm->sharedMask & mask ){
+ h = INVALID_HANDLE_VALUE;
+ }else if( pShm->exclMask & mask ){
+ rc = SQLITE_BUSY;
+ h = INVALID_HANDLE_VALUE;
+ }
+ }
+ }
+ sqlite3_mutex_leave(pShmNode->mutex);
}
- }
- /* Get the exclusive locks at the system level. Then if successful
- ** also mark the local connection as being locked.
- */
- if( rc==SQLITE_OK ){
- rc = winShmSystemLock(pShmNode, WINSHM_WRLCK, ofst+WIN_SHM_BASE, n);
+ if( h!=INVALID_HANDLE_VALUE ){
+ rc = winHandleLockTimeout(h, ofst+WIN_SHM_BASE, n, bExcl, nMs);
+ }
if( rc==SQLITE_OK ){
- assert( (p->sharedMask & mask)==0 );
- p->exclMask |= mask;
+ if( bExcl ){
+ p->exclMask = (p->exclMask | mask);
+ }else{
+ p->sharedMask = (p->sharedMask | mask);
+ }
}
}
}
- sqlite3_mutex_leave(pShmNode->mutex);
- OSTRACE(("SHM-LOCK pid=%lu, id=%d, sharedMask=%03x, exclMask=%03x, rc=%s\n",
- osGetCurrentProcessId(), p->id, p->sharedMask, p->exclMask,
- sqlite3ErrName(rc)));
+
+ OSTRACE((
+ "SHM-LOCK(%d,%d,%d) pid=%lu, id=%d, sharedMask=%03x, exclMask=%03x,"
+ " rc=%s\n",
+ ofst, n, flags,
+ osGetCurrentProcessId(), p->id, p->sharedMask, p->exclMask,
+ sqlite3ErrName(rc))
+ );
return rc;
}
@@ -51108,13 +52583,15 @@ static int winShmMap(
sqlite3_mutex_enter(pShmNode->mutex);
if( pShmNode->isUnlocked ){
- rc = winLockSharedMemory(pShmNode);
+ /* Take the DMS lock. */
+ assert( pShmNode->nRegion==0 );
+ rc = winLockSharedMemory(pShmNode, winFileBusyTimeout(pDbFd));
if( rc!=SQLITE_OK ) goto shmpage_out;
- pShmNode->isUnlocked = 0;
}
- assert( szRegion==pShmNode->szRegion || pShmNode->nRegion==0 );
+ assert( szRegion==pShmNode->szRegion || pShmNode->nRegion==0 );
if( pShmNode->nRegion<=iRegion ){
+ HANDLE hShared = pShmNode->hSharedShm;
struct ShmRegion *apNew; /* New aRegion[] array */
int nByte = (iRegion+1)*szRegion; /* Minimum required file size */
sqlite3_int64 sz; /* Current size of wal-index file */
@@ -51125,10 +52602,9 @@ static int winShmMap(
** Check to see if it has been allocated (i.e. if the wal-index file is
** large enough to contain the requested region).
*/
- rc = winFileSize((sqlite3_file *)&pShmNode->hFile, &sz);
+ rc = winHandleSize(hShared, &sz);
if( rc!=SQLITE_OK ){
- rc = winLogError(SQLITE_IOERR_SHMSIZE, osGetLastError(),
- "winShmMap1", pDbFd->zPath);
+ rc = winLogError(rc, osGetLastError(), "winShmMap1", pDbFd->zPath);
goto shmpage_out;
}
@@ -51137,19 +52613,17 @@ static int winShmMap(
** zero, exit early. *pp will be set to NULL and SQLITE_OK returned.
**
** Alternatively, if isWrite is non-zero, use ftruncate() to allocate
- ** the requested memory region.
- */
+ ** the requested memory region. */
if( !isWrite ) goto shmpage_out;
- rc = winTruncate((sqlite3_file *)&pShmNode->hFile, nByte);
+ rc = winHandleTruncate(hShared, nByte);
if( rc!=SQLITE_OK ){
- rc = winLogError(SQLITE_IOERR_SHMSIZE, osGetLastError(),
- "winShmMap2", pDbFd->zPath);
+ rc = winLogError(rc, osGetLastError(), "winShmMap2", pDbFd->zPath);
goto shmpage_out;
}
}
/* Map the requested memory region into this processes address space. */
- apNew = (struct ShmRegion *)sqlite3_realloc64(
+ apNew = (struct ShmRegion*)sqlite3_realloc64(
pShmNode->aRegion, (iRegion+1)*sizeof(apNew[0])
);
if( !apNew ){
@@ -51168,18 +52642,13 @@ static int winShmMap(
void *pMap = 0; /* Mapped memory region */
#if SQLITE_OS_WINRT
- hMap = osCreateFileMappingFromApp(pShmNode->hFile.h,
- NULL, protect, nByte, NULL
- );
+ hMap = osCreateFileMappingFromApp(hShared, NULL, protect, nByte, NULL);
#elif defined(SQLITE_WIN32_HAS_WIDE)
- hMap = osCreateFileMappingW(pShmNode->hFile.h,
- NULL, protect, 0, nByte, NULL
- );
+ hMap = osCreateFileMappingW(hShared, NULL, protect, 0, nByte, NULL);
#elif defined(SQLITE_WIN32_HAS_ANSI) && SQLITE_WIN32_CREATEFILEMAPPINGA
- hMap = osCreateFileMappingA(pShmNode->hFile.h,
- NULL, protect, 0, nByte, NULL
- );
+ hMap = osCreateFileMappingA(hShared, NULL, protect, 0, nByte, NULL);
#endif
+
OSTRACE(("SHM-MAP-CREATE pid=%lu, region=%d, size=%d, rc=%s\n",
osGetCurrentProcessId(), pShmNode->nRegion, nByte,
hMap ? "ok" : "failed"));
@@ -51222,7 +52691,9 @@ shmpage_out:
}else{
*pp = 0;
}
- if( pShmNode->isReadonly && rc==SQLITE_OK ) rc = SQLITE_READONLY;
+ if( pShmNode->isReadonly && rc==SQLITE_OK ){
+ rc = SQLITE_READONLY;
+ }
sqlite3_mutex_leave(pShmNode->mutex);
return rc;
}
@@ -51542,47 +53013,6 @@ static winVfsAppData winNolockAppData = {
** sqlite3_vfs object.
*/
-#if defined(__CYGWIN__)
-/*
-** Convert a filename from whatever the underlying operating system
-** supports for filenames into UTF-8. Space to hold the result is
-** obtained from malloc and must be freed by the calling function.
-*/
-static char *winConvertToUtf8Filename(const void *zFilename){
- char *zConverted = 0;
- if( osIsNT() ){
- zConverted = winUnicodeToUtf8(zFilename);
- }
-#ifdef SQLITE_WIN32_HAS_ANSI
- else{
- zConverted = winMbcsToUtf8(zFilename, osAreFileApisANSI());
- }
-#endif
- /* caller will handle out of memory */
- return zConverted;
-}
-#endif
-
-/*
-** Convert a UTF-8 filename into whatever form the underlying
-** operating system wants filenames in. Space to hold the result
-** is obtained from malloc and must be freed by the calling
-** function.
-*/
-static void *winConvertFromUtf8Filename(const char *zFilename){
- void *zConverted = 0;
- if( osIsNT() ){
- zConverted = winUtf8ToUnicode(zFilename);
- }
-#ifdef SQLITE_WIN32_HAS_ANSI
- else{
- zConverted = winUtf8ToMbcs(zFilename, osAreFileApisANSI());
- }
-#endif
- /* caller will handle out of memory */
- return zConverted;
-}
-
/*
** This function returns non-zero if the specified UTF-8 string buffer
** ends with a directory separator character or one was successfully
@@ -51595,7 +53025,14 @@ static int winMakeEndInDirSep(int nBuf, char *zBuf){
if( winIsDirSep(zBuf[nLen-1]) ){
return 1;
}else if( nLen+1<nBuf ){
- zBuf[nLen] = winGetDirSep();
+ if( !osGetenv ){
+ zBuf[nLen] = winGetDirSep();
+ }else if( winIsDriveLetterAndColon(zBuf) && winIsDirSep(zBuf[2]) ){
+ zBuf[nLen] = '\\';
+ zBuf[2]='\\';
+ }else{
+ zBuf[nLen] = '/';
+ }
zBuf[nLen+1] = '\0';
return 1;
}
@@ -51622,14 +53059,14 @@ static int winTempDirDefined(void){
** The pointer returned in pzBuf must be freed via sqlite3_free().
*/
static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){
- static char zChars[] =
+ static const char zChars[] =
"abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"0123456789";
size_t i, j;
DWORD pid;
int nPre = sqlite3Strlen30(SQLITE_TEMP_FILE_PREFIX);
- int nMax, nBuf, nDir, nLen;
+ i64 nMax, nBuf, nDir, nLen;
char *zBuf;
/* It's odd to simulate an io-error here, but really this is just
@@ -51641,7 +53078,8 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){
/* Allocate a temporary buffer to store the fully qualified file
** name for the temporary file. If this fails, we cannot continue.
*/
- nMax = pVfs->mxPathname; nBuf = nMax + 2;
+ nMax = pVfs->mxPathname;
+ nBuf = 2 + (i64)nMax;
zBuf = sqlite3MallocZero( nBuf );
if( !zBuf ){
OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n"));
@@ -51672,7 +53110,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){
}
#if defined(__CYGWIN__)
- else{
+ else if( osGetenv!=NULL ){
static const char *azDirs[] = {
0, /* getenv("SQLITE_TMPDIR") */
0, /* getenv("TMPDIR") */
@@ -51688,11 +53126,11 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){
unsigned int i;
const char *zDir = 0;
- if( !azDirs[0] ) azDirs[0] = getenv("SQLITE_TMPDIR");
- if( !azDirs[1] ) azDirs[1] = getenv("TMPDIR");
- if( !azDirs[2] ) azDirs[2] = getenv("TMP");
- if( !azDirs[3] ) azDirs[3] = getenv("TEMP");
- if( !azDirs[4] ) azDirs[4] = getenv("USERPROFILE");
+ if( !azDirs[0] ) azDirs[0] = osGetenv("SQLITE_TMPDIR");
+ if( !azDirs[1] ) azDirs[1] = osGetenv("TMPDIR");
+ if( !azDirs[2] ) azDirs[2] = osGetenv("TMP");
+ if( !azDirs[3] ) azDirs[3] = osGetenv("TEMP");
+ if( !azDirs[4] ) azDirs[4] = osGetenv("USERPROFILE");
for(i=0; i<sizeof(azDirs)/sizeof(azDirs[0]); zDir=azDirs[i++]){
void *zConverted;
if( zDir==0 ) continue;
@@ -51701,7 +53139,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){
** it must be converted to a native Win32 path via the Cygwin API
** prior to using it.
*/
- if( winIsDriveLetterAndColon(zDir) ){
+ {
zConverted = winConvertFromUtf8Filename(zDir);
if( !zConverted ){
sqlite3_free(zBuf);
@@ -51714,44 +53152,12 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){
break;
}
sqlite3_free(zConverted);
- }else{
- zConverted = sqlite3MallocZero( nMax+1 );
- if( !zConverted ){
- sqlite3_free(zBuf);
- OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n"));
- return SQLITE_IOERR_NOMEM_BKPT;
- }
- if( cygwin_conv_path(
- osIsNT() ? CCP_POSIX_TO_WIN_W : CCP_POSIX_TO_WIN_A, zDir,
- zConverted, nMax+1)<0 ){
- sqlite3_free(zConverted);
- sqlite3_free(zBuf);
- OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_CONVPATH\n"));
- return winLogError(SQLITE_IOERR_CONVPATH, (DWORD)errno,
- "winGetTempname2", zDir);
- }
- if( winIsDir(zConverted) ){
- /* At this point, we know the candidate directory exists and should
- ** be used. However, we may need to convert the string containing
- ** its name into UTF-8 (i.e. if it is UTF-16 right now).
- */
- char *zUtf8 = winConvertToUtf8Filename(zConverted);
- if( !zUtf8 ){
- sqlite3_free(zConverted);
- sqlite3_free(zBuf);
- OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n"));
- return SQLITE_IOERR_NOMEM_BKPT;
- }
- sqlite3_snprintf(nMax, zBuf, "%s", zUtf8);
- sqlite3_free(zUtf8);
- sqlite3_free(zConverted);
- break;
- }
- sqlite3_free(zConverted);
}
}
}
-#elif !SQLITE_OS_WINRT && !defined(__CYGWIN__)
+#endif
+
+#if !SQLITE_OS_WINRT && defined(_WIN32)
else if( osIsNT() ){
char *zMulti;
LPWSTR zWidePath = sqlite3MallocZero( nMax*sizeof(WCHAR) );
@@ -51875,7 +53281,7 @@ static int winIsDir(const void *zConverted){
return 0; /* Invalid name? */
}
attr = sAttrData.dwFileAttributes;
-#if SQLITE_OS_WINCE==0
+#if SQLITE_OS_WINCE==0 && defined(SQLITE_WIN32_HAS_ANSI)
}else{
attr = osGetFileAttributesA((char*)zConverted);
#endif
@@ -51891,6 +53297,12 @@ static int winAccess(
int *pResOut /* OUT: Result */
);
+/*
+** The Windows version of xAccess() accepts an extra bit in the flags
+** parameter that prevents an anti-virus retry loop.
+*/
+#define NORETRY 0x4000
+
/*
** Open a file.
*/
@@ -51915,6 +53327,7 @@ static int winOpen(
void *zConverted; /* Filename in OS encoding */
const char *zUtf8Name = zName; /* Filename in UTF-8 encoding */
int cnt = 0;
+ int isRO = 0; /* file is known to be accessible readonly */
/* If argument zPath is a NULL pointer, this function is required to open
** a temporary file. Use this buffer to store the file name in.
@@ -52079,9 +53492,9 @@ static int winOpen(
&extendedParameters);
if( h!=INVALID_HANDLE_VALUE ) break;
if( isReadWrite ){
- int rc2, isRO = 0;
+ int rc2;
sqlite3BeginBenignMalloc();
- rc2 = winAccess(pVfs, zUtf8Name, SQLITE_ACCESS_READ, &isRO);
+ rc2 = winAccess(pVfs, zUtf8Name, SQLITE_ACCESS_READ|NORETRY, &isRO);
sqlite3EndBenignMalloc();
if( rc2==SQLITE_OK && isRO ) break;
}
@@ -52096,9 +53509,9 @@ static int winOpen(
NULL);
if( h!=INVALID_HANDLE_VALUE ) break;
if( isReadWrite ){
- int rc2, isRO = 0;
+ int rc2;
sqlite3BeginBenignMalloc();
- rc2 = winAccess(pVfs, zUtf8Name, SQLITE_ACCESS_READ, &isRO);
+ rc2 = winAccess(pVfs, zUtf8Name, SQLITE_ACCESS_READ|NORETRY, &isRO);
sqlite3EndBenignMalloc();
if( rc2==SQLITE_OK && isRO ) break;
}
@@ -52116,9 +53529,9 @@ static int winOpen(
NULL);
if( h!=INVALID_HANDLE_VALUE ) break;
if( isReadWrite ){
- int rc2, isRO = 0;
+ int rc2;
sqlite3BeginBenignMalloc();
- rc2 = winAccess(pVfs, zUtf8Name, SQLITE_ACCESS_READ, &isRO);
+ rc2 = winAccess(pVfs, zUtf8Name, SQLITE_ACCESS_READ|NORETRY, &isRO);
sqlite3EndBenignMalloc();
if( rc2==SQLITE_OK && isRO ) break;
}
@@ -52133,7 +53546,7 @@ static int winOpen(
if( h==INVALID_HANDLE_VALUE ){
sqlite3_free(zConverted);
sqlite3_free(zTmpname);
- if( isReadWrite && !isExclusive ){
+ if( isReadWrite && isRO && !isExclusive ){
return winOpen(pVfs, zName, id,
((flags|SQLITE_OPEN_READONLY) &
~(SQLITE_OPEN_CREATE|SQLITE_OPEN_READWRITE)),
@@ -52335,8 +53748,14 @@ static int winAccess(
int rc = 0;
DWORD lastErrno = 0;
void *zConverted;
+ int noRetry = 0; /* Do not use winRetryIoerr() */
UNUSED_PARAMETER(pVfs);
+ if( (flags & NORETRY)!=0 ){
+ noRetry = 1;
+ flags &= ~NORETRY;
+ }
+
SimulateIOError( return SQLITE_IOERR_ACCESS; );
OSTRACE(("ACCESS name=%s, flags=%x, pResOut=%p\n",
zFilename, flags, pResOut));
@@ -52359,7 +53778,10 @@ static int winAccess(
memset(&sAttrData, 0, sizeof(sAttrData));
while( !(rc = osGetFileAttributesExW((LPCWSTR)zConverted,
GetFileExInfoStandard,
- &sAttrData)) && winRetryIoerr(&cnt, &lastErrno) ){}
+ &sAttrData))
+ && !noRetry
+ && winRetryIoerr(&cnt, &lastErrno)
+ ){ /* Loop until true */}
if( rc ){
/* For an SQLITE_ACCESS_EXISTS query, treat a zero-length file
** as if it does not exist.
@@ -52427,6 +53849,7 @@ static BOOL winIsDriveLetterAndColon(
return ( sqlite3Isalpha(zPathname[0]) && zPathname[1]==':' );
}
+#ifdef _WIN32
/*
** Returns non-zero if the specified path name should be used verbatim. If
** non-zero is returned from this function, the calling function must simply
@@ -52463,6 +53886,70 @@ static BOOL winIsVerbatimPathname(
*/
return FALSE;
}
+#endif /* _WIN32 */
+
+#ifdef __CYGWIN__
+/*
+** Simplify a filename into its canonical form
+** by making the following changes:
+**
+** * convert any '/' to '\' (win32) or reverse (Cygwin)
+** * removing any trailing and duplicate / (except for UNC paths)
+** * convert /./ into just /
+**
+** Changes are made in-place. Return the new name length.
+**
+** The original filename is in z[0..]. If the path is shortened,
+** no-longer used bytes will be written by '\0'.
+*/
+static void winSimplifyName(char *z){
+ int i, j;
+ for(i=j=0; z[i]; ++i){
+ if( winIsDirSep(z[i]) ){
+#if !defined(SQLITE_TEST)
+ /* Some test-cases assume that "./foo" and "foo" are different */
+ if( z[i+1]=='.' && winIsDirSep(z[i+2]) ){
+ ++i;
+ continue;
+ }
+#endif
+ if( !z[i+1] || (winIsDirSep(z[i+1]) && (i!=0)) ){
+ continue;
+ }
+ z[j++] = osGetenv?'/':'\\';
+ }else{
+ z[j++] = z[i];
+ }
+ }
+ while(j<i) z[j++] = '\0';
+}
+
+#define SQLITE_MAX_SYMLINKS 100
+
+static int mkFullPathname(
+ const char *zPath, /* Input path */
+ char *zOut, /* Output buffer */
+ int nOut /* Allocated size of buffer zOut */
+){
+ int nPath = sqlite3Strlen30(zPath);
+ int iOff = 0;
+ if( zPath[0]!='/' ){
+ if( osGetcwd(zOut, nOut-2)==0 ){
+ return winLogError(SQLITE_CANTOPEN_BKPT, (DWORD)osErrno, "getcwd", zPath);
+ }
+ iOff = sqlite3Strlen30(zOut);
+ zOut[iOff++] = '/';
+ }
+ if( (iOff+nPath+1)>nOut ){
+ /* SQLite assumes that xFullPathname() nul-terminates the output buffer
+ ** even if it returns an error. */
+ zOut[iOff] = '\0';
+ return SQLITE_CANTOPEN_BKPT;
+ }
+ sqlite3_snprintf(nOut-iOff, &zOut[iOff], "%s", zPath);
+ return SQLITE_OK;
+}
+#endif /* __CYGWIN__ */
/*
** Turn a relative pathname into a full pathname. Write the full
@@ -52475,8 +53962,8 @@ static int winFullPathnameNoMutex(
int nFull, /* Size of output buffer in bytes */
char *zFull /* Output buffer */
){
-#if !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && !defined(__CYGWIN__)
- DWORD nByte;
+#if !SQLITE_OS_WINCE && !SQLITE_OS_WINRT
+ int nByte;
void *zConverted;
char *zOut;
#endif
@@ -52489,64 +53976,82 @@ static int winFullPathnameNoMutex(
zRelative++;
}
-#if defined(__CYGWIN__)
SimulateIOError( return SQLITE_ERROR );
- UNUSED_PARAMETER(nFull);
- assert( nFull>=pVfs->mxPathname );
- if ( sqlite3_data_directory && !winIsVerbatimPathname(zRelative) ){
- /*
- ** NOTE: We are dealing with a relative path name and the data
- ** directory has been set. Therefore, use it as the basis
- ** for converting the relative path name to an absolute
- ** one by prepending the data directory and a slash.
- */
- char *zOut = sqlite3MallocZero( pVfs->mxPathname+1 );
- if( !zOut ){
- return SQLITE_IOERR_NOMEM_BKPT;
- }
- if( cygwin_conv_path(
- (osIsNT() ? CCP_POSIX_TO_WIN_W : CCP_POSIX_TO_WIN_A) |
- CCP_RELATIVE, zRelative, zOut, pVfs->mxPathname+1)<0 ){
- sqlite3_free(zOut);
- return winLogError(SQLITE_CANTOPEN_CONVPATH, (DWORD)errno,
- "winFullPathname1", zRelative);
- }else{
- char *zUtf8 = winConvertToUtf8Filename(zOut);
- if( !zUtf8 ){
- sqlite3_free(zOut);
- return SQLITE_IOERR_NOMEM_BKPT;
- }
- sqlite3_snprintf(MIN(nFull, pVfs->mxPathname), zFull, "%s%c%s",
- sqlite3_data_directory, winGetDirSep(), zUtf8);
- sqlite3_free(zUtf8);
- sqlite3_free(zOut);
- }
- }else{
- char *zOut = sqlite3MallocZero( pVfs->mxPathname+1 );
- if( !zOut ){
- return SQLITE_IOERR_NOMEM_BKPT;
- }
- if( cygwin_conv_path(
- (osIsNT() ? CCP_POSIX_TO_WIN_W : CCP_POSIX_TO_WIN_A),
- zRelative, zOut, pVfs->mxPathname+1)<0 ){
- sqlite3_free(zOut);
- return winLogError(SQLITE_CANTOPEN_CONVPATH, (DWORD)errno,
- "winFullPathname2", zRelative);
- }else{
- char *zUtf8 = winConvertToUtf8Filename(zOut);
- if( !zUtf8 ){
- sqlite3_free(zOut);
- return SQLITE_IOERR_NOMEM_BKPT;
- }
- sqlite3_snprintf(MIN(nFull, pVfs->mxPathname), zFull, "%s", zUtf8);
- sqlite3_free(zUtf8);
- sqlite3_free(zOut);
+
+#ifdef __CYGWIN__
+ if( osGetcwd ){
+ zFull[nFull-1] = '\0';
+ if( !winIsDriveLetterAndColon(zRelative) || !winIsDirSep(zRelative[2]) ){
+ int rc = SQLITE_OK;
+ int nLink = 1; /* Number of symbolic links followed so far */
+ const char *zIn = zRelative; /* Input path for each iteration of loop */
+ char *zDel = 0;
+ struct stat buf;
+
+ UNUSED_PARAMETER(pVfs);
+
+ do {
+ /* Call lstat() on path zIn. Set bLink to true if the path is a symbolic
+ ** link, or false otherwise. */
+ int bLink = 0;
+ if( osLstat && osReadlink ) {
+ if( osLstat(zIn, &buf)!=0 ){
+ int myErrno = osErrno;
+ if( myErrno!=ENOENT ){
+ rc = winLogError(SQLITE_CANTOPEN_BKPT, (DWORD)myErrno, "lstat", zIn);
+ }
+ }else{
+ bLink = ((buf.st_mode & 0170000) == 0120000);
+ }
+
+ if( bLink ){
+ if( zDel==0 ){
+ zDel = sqlite3MallocZero(nFull);
+ if( zDel==0 ) rc = SQLITE_NOMEM;
+ }else if( ++nLink>SQLITE_MAX_SYMLINKS ){
+ rc = SQLITE_CANTOPEN_BKPT;
+ }
+
+ if( rc==SQLITE_OK ){
+ nByte = osReadlink(zIn, zDel, nFull-1);
+ if( nByte ==(DWORD)-1 ){
+ rc = winLogError(SQLITE_CANTOPEN_BKPT, (DWORD)osErrno, "readlink", zIn);
+ }else{
+ if( zDel[0]!='/' ){
+ int n;
+ for(n = sqlite3Strlen30(zIn); n>0 && zIn[n-1]!='/'; n--);
+ if( nByte+n+1>nFull ){
+ rc = SQLITE_CANTOPEN_BKPT;
+ }else{
+ memmove(&zDel[n], zDel, nByte+1);
+ memcpy(zDel, zIn, n);
+ nByte += n;
+ }
+ }
+ zDel[nByte] = '\0';
+ }
+ }
+
+ zIn = zDel;
+ }
+ }
+
+ assert( rc!=SQLITE_OK || zIn!=zFull || zIn[0]=='/' );
+ if( rc==SQLITE_OK && zIn!=zFull ){
+ rc = mkFullPathname(zIn, zFull, nFull);
+ }
+ if( bLink==0 ) break;
+ zIn = zFull;
+ }while( rc==SQLITE_OK );
+
+ sqlite3_free(zDel);
+ winSimplifyName(zFull);
+ return rc;
}
}
- return SQLITE_OK;
-#endif
+#endif /* __CYGWIN__ */
-#if (SQLITE_OS_WINCE || SQLITE_OS_WINRT) && !defined(__CYGWIN__)
+#if (SQLITE_OS_WINCE || SQLITE_OS_WINRT) && defined(_WIN32)
SimulateIOError( return SQLITE_ERROR );
/* WinCE has no concept of a relative pathname, or so I am told. */
/* WinRT has no way to convert a relative path to an absolute one. */
@@ -52565,7 +54070,8 @@ static int winFullPathnameNoMutex(
return SQLITE_OK;
#endif
-#if !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && !defined(__CYGWIN__)
+#if !SQLITE_OS_WINCE && !SQLITE_OS_WINRT
+#if defined(_WIN32)
/* It's odd to simulate an io-error here, but really this is just
** using the io-error infrastructure to test that SQLite handles this
** function failing. This function could fail if, for example, the
@@ -52583,6 +54089,7 @@ static int winFullPathnameNoMutex(
sqlite3_data_directory, winGetDirSep(), zRelative);
return SQLITE_OK;
}
+#endif
zConverted = winConvertFromUtf8Filename(zRelative);
if( zConverted==0 ){
return SQLITE_IOERR_NOMEM_BKPT;
@@ -52621,13 +54128,12 @@ static int winFullPathnameNoMutex(
return winLogError(SQLITE_CANTOPEN_FULLPATH, osGetLastError(),
"winFullPathname3", zRelative);
}
- nByte += 3;
- zTemp = sqlite3MallocZero( nByte*sizeof(zTemp[0]) );
+ zTemp = sqlite3MallocZero( nByte*sizeof(zTemp[0]) + 3*sizeof(zTemp[0]) );
if( zTemp==0 ){
sqlite3_free(zConverted);
return SQLITE_IOERR_NOMEM_BKPT;
}
- nByte = osGetFullPathNameA((char*)zConverted, nByte, zTemp, 0);
+ nByte = osGetFullPathNameA((char*)zConverted, nByte+3, zTemp, 0);
if( nByte==0 ){
sqlite3_free(zConverted);
sqlite3_free(zTemp);
@@ -52640,7 +54146,26 @@ static int winFullPathnameNoMutex(
}
#endif
if( zOut ){
+#ifdef __CYGWIN__
+ if( memcmp(zOut, "\\\\?\\", 4) ){
+ sqlite3_snprintf(MIN(nFull, pVfs->mxPathname), zFull, "%s", zOut);
+ }else if( memcmp(zOut+4, "UNC\\", 4) ){
+ sqlite3_snprintf(MIN(nFull, pVfs->mxPathname), zFull, "%s", zOut+4);
+ }else{
+ char *p = zOut+6;
+ *p = '\\';
+ if( osGetcwd ){
+ /* On Cygwin, UNC paths use forward slashes */
+ while( *p ){
+ if( *p=='\\' ) *p = '/';
+ ++p;
+ }
+ }
+ sqlite3_snprintf(MIN(nFull, pVfs->mxPathname), zFull, "%s", zOut+6);
+ }
+#else
sqlite3_snprintf(MIN(nFull, pVfs->mxPathname), zFull, "%s", zOut);
+#endif /* __CYGWIN__ */
sqlite3_free(zOut);
return SQLITE_OK;
}else{
@@ -52670,25 +54195,8 @@ static int winFullPathname(
*/
static void *winDlOpen(sqlite3_vfs *pVfs, const char *zFilename){
HANDLE h;
-#if defined(__CYGWIN__)
- int nFull = pVfs->mxPathname+1;
- char *zFull = sqlite3MallocZero( nFull );
- void *zConverted = 0;
- if( zFull==0 ){
- OSTRACE(("DLOPEN name=%s, handle=%p\n", zFilename, (void*)0));
- return 0;
- }
- if( winFullPathname(pVfs, zFilename, nFull, zFull)!=SQLITE_OK ){
- sqlite3_free(zFull);
- OSTRACE(("DLOPEN name=%s, handle=%p\n", zFilename, (void*)0));
- return 0;
- }
- zConverted = winConvertFromUtf8Filename(zFull);
- sqlite3_free(zFull);
-#else
void *zConverted = winConvertFromUtf8Filename(zFilename);
UNUSED_PARAMETER(pVfs);
-#endif
if( zConverted==0 ){
OSTRACE(("DLOPEN name=%s, handle=%p\n", zFilename, (void*)0));
return 0;
@@ -53037,7 +54545,7 @@ SQLITE_API int sqlite3_os_init(void){
/* Double-check that the aSyscall[] array has been constructed
** correctly. See ticket [bb3a86e890c8e96ab] */
- assert( ArraySize(aSyscall)==80 );
+ assert( ArraySize(aSyscall)==89 );
/* get memory map allocation granularity */
memset(&winSysInfo, 0, sizeof(SYSTEM_INFO));
@@ -53656,13 +55164,13 @@ static int memdbOpen(
}
if( p==0 ){
MemStore **apNew;
- p = sqlite3Malloc( sizeof(*p) + szName + 3 );
+ p = sqlite3Malloc( sizeof(*p) + (i64)szName + 3 );
if( p==0 ){
sqlite3_mutex_leave(pVfsMutex);
return SQLITE_NOMEM;
}
apNew = sqlite3Realloc(memdb_g.apMemStore,
- sizeof(apNew[0])*(memdb_g.nMemStore+1) );
+ sizeof(apNew[0])*(1+(i64)memdb_g.nMemStore) );
if( apNew==0 ){
sqlite3_free(p);
sqlite3_mutex_leave(pVfsMutex);
@@ -54095,7 +55603,7 @@ SQLITE_PRIVATE int sqlite3MemdbInit(void){
** no fewer collisions than the no-op *1. */
#define BITVEC_HASH(X) (((X)*1)%BITVEC_NINT)
-#define BITVEC_NPTR (BITVEC_USIZE/sizeof(Bitvec *))
+#define BITVEC_NPTR ((u32)(BITVEC_USIZE/sizeof(Bitvec *)))
/*
@@ -54135,6 +55643,7 @@ struct Bitvec {
} u;
};
+
/*
** Create a new bitmap object able to handle bits between 0 and iSize,
** inclusive. Return a pointer to the new object. Return NULL if
@@ -54244,7 +55753,9 @@ bitvec_set_rehash:
}else{
memcpy(aiValues, p->u.aHash, sizeof(p->u.aHash));
memset(p->u.apSub, 0, sizeof(p->u.apSub));
- p->iDivisor = (p->iSize + BITVEC_NPTR - 1)/BITVEC_NPTR;
+ p->iDivisor = p->iSize/BITVEC_NPTR;
+ if( (p->iSize%BITVEC_NPTR)!=0 ) p->iDivisor++;
+ if( p->iDivisor<BITVEC_NBIT ) p->iDivisor = BITVEC_NBIT;
rc = sqlite3BitvecSet(p, i);
for(j=0; j<BITVEC_NINT; j++){
if( aiValues[j] ) rc |= sqlite3BitvecSet(p, aiValues[j]);
@@ -54278,7 +55789,7 @@ SQLITE_PRIVATE void sqlite3BitvecClear(Bitvec *p, u32 i, void *pBuf){
}
}
if( p->iSize<=BITVEC_NBIT ){
- p->u.aBitmap[i/BITVEC_SZELEM] &= ~(1 << (i&(BITVEC_SZELEM-1)));
+ p->u.aBitmap[i/BITVEC_SZELEM] &= ~(BITVEC_TELEM)(1<<(i&(BITVEC_SZELEM-1)));
}else{
unsigned int j;
u32 *aiValues = pBuf;
@@ -54321,6 +55832,52 @@ SQLITE_PRIVATE u32 sqlite3BitvecSize(Bitvec *p){
return p->iSize;
}
+#ifdef SQLITE_DEBUG
+/*
+** Show the content of a Bitvec option and its children. Indent
+** everything by n spaces. Add x to each bitvec value.
+**
+** From a debugger such as gdb, one can type:
+**
+** call sqlite3ShowBitvec(p)
+**
+** For some Bitvec p and see a recursive view of the Bitvec's content.
+*/
+static void showBitvec(Bitvec *p, int n, unsigned x){
+ int i;
+ if( p==0 ){
+ printf("NULL\n");
+ return;
+ }
+ printf("Bitvec 0x%p iSize=%u", p, p->iSize);
+ if( p->iSize<=BITVEC_NBIT ){
+ printf(" bitmap\n");
+ printf("%*s bits:", n, "");
+ for(i=1; i<=BITVEC_NBIT; i++){
+ if( sqlite3BitvecTest(p,i) ) printf(" %u", x+(unsigned)i);
+ }
+ printf("\n");
+ }else if( p->iDivisor==0 ){
+ printf(" hash with %u entries\n", p->nSet);
+ printf("%*s bits:", n, "");
+ for(i=0; i<BITVEC_NINT; i++){
+ if( p->u.aHash[i] ) printf(" %u", x+(unsigned)p->u.aHash[i]);
+ }
+ printf("\n");
+ }else{
+ printf(" sub-bitvec with iDivisor=%u\n", p->iDivisor);
+ for(i=0; i<BITVEC_NPTR; i++){
+ if( p->u.apSub[i]==0 ) continue;
+ printf("%*s apSub[%d]=", n, "", i);
+ showBitvec(p->u.apSub[i], n+4, i*p->iDivisor);
+ }
+ }
+}
+SQLITE_PRIVATE void sqlite3ShowBitvec(Bitvec *p){
+ showBitvec(p, 0, 0);
+}
+#endif
+
#ifndef SQLITE_UNTESTABLE
/*
** Let V[] be an array of unsigned characters sufficient to hold
@@ -54329,9 +55886,10 @@ SQLITE_PRIVATE u32 sqlite3BitvecSize(Bitvec *p){
** individual bits within V.
*/
#define SETBIT(V,I) V[I>>3] |= (1<<(I&7))
-#define CLEARBIT(V,I) V[I>>3] &= ~(1<<(I&7))
+#define CLEARBIT(V,I) V[I>>3] &= ~(BITVEC_TELEM)(1<<(I&7))
#define TESTBIT(V,I) (V[I>>3]&(1<<(I&7)))!=0
+
/*
** This routine runs an extensive test of the Bitvec code.
**
@@ -54340,7 +55898,7 @@ SQLITE_PRIVATE u32 sqlite3BitvecSize(Bitvec *p){
** by 0, 1, or 3 operands, depending on the opcode. Another
** opcode follows immediately after the last operand.
**
-** There are 6 opcodes numbered from 0 through 5. 0 is the
+** There are opcodes numbered starting with 0. 0 is the
** "halt" opcode and causes the test to end.
**
** 0 Halt and return the number of errors
@@ -54349,18 +55907,25 @@ SQLITE_PRIVATE u32 sqlite3BitvecSize(Bitvec *p){
** 3 N Set N randomly chosen bits
** 4 N Clear N randomly chosen bits
** 5 N S X Set N bits from S increment X in array only, not in bitvec
+** 6 Invoice sqlite3ShowBitvec() on the Bitvec object so far
+** 7 X Show compile-time parameters and the hash of X
**
** The opcodes 1 through 4 perform set and clear operations are performed
** on both a Bitvec object and on a linear array of bits obtained from malloc.
** Opcode 5 works on the linear array only, not on the Bitvec.
** Opcode 5 is used to deliberately induce a fault in order to
-** confirm that error detection works.
+** confirm that error detection works. Opcodes 6 and greater are
+** state output opcodes. Opcodes 6 and greater are no-ops unless
+** SQLite has been compiled with SQLITE_DEBUG.
**
** At the conclusion of the test the linear array is compared
** against the Bitvec object. If there are any differences,
** an error is returned. If they are the same, zero is returned.
**
** If a memory allocation error occurs, return -1.
+**
+** sz is the size of the Bitvec. Or if sz is negative, make the size
+** 2*(unsigned)(-sz) and disabled the linear vector check.
*/
SQLITE_PRIVATE int sqlite3BitvecBuiltinTest(int sz, int *aOp){
Bitvec *pBitvec = 0;
@@ -54371,10 +55936,15 @@ SQLITE_PRIVATE int sqlite3BitvecBuiltinTest(int sz, int *aOp){
/* Allocate the Bitvec to be tested and a linear array of
** bits to act as the reference */
- pBitvec = sqlite3BitvecCreate( sz );
- pV = sqlite3MallocZero( (sz+7)/8 + 1 );
+ if( sz<=0 ){
+ pBitvec = sqlite3BitvecCreate( 2*(unsigned)(-sz) );
+ pV = 0;
+ }else{
+ pBitvec = sqlite3BitvecCreate( sz );
+ pV = sqlite3MallocZero( (7+(i64)sz)/8 + 1 );
+ }
pTmpSpace = sqlite3_malloc64(BITVEC_SZ);
- if( pBitvec==0 || pV==0 || pTmpSpace==0 ) goto bitvec_end;
+ if( pBitvec==0 || pTmpSpace==0 || (pV==0 && sz>0) ) goto bitvec_end;
/* NULL pBitvec tests */
sqlite3BitvecSet(0, 1);
@@ -54383,6 +55953,24 @@ SQLITE_PRIVATE int sqlite3BitvecBuiltinTest(int sz, int *aOp){
/* Run the program */
pc = i = 0;
while( (op = aOp[pc])!=0 ){
+ if( op>=6 ){
+#ifdef SQLITE_DEBUG
+ if( op==6 ){
+ sqlite3ShowBitvec(pBitvec);
+ }else if( op==7 ){
+ printf("BITVEC_SZ = %d (%d by sizeof)\n",
+ BITVEC_SZ, (int)sizeof(Bitvec));
+ printf("BITVEC_USIZE = %d\n", (int)BITVEC_USIZE);
+ printf("BITVEC_NELEM = %d\n", (int)BITVEC_NELEM);
+ printf("BITVEC_NBIT = %d\n", (int)BITVEC_NBIT);
+ printf("BITVEC_NINT = %d\n", (int)BITVEC_NINT);
+ printf("BITVEC_MXHASH = %d\n", (int)BITVEC_MXHASH);
+ printf("BITVEC_NPTR = %d\n", (int)BITVEC_NPTR);
+ }
+#endif
+ pc++;
+ continue;
+ }
switch( op ){
case 1:
case 2:
@@ -54404,12 +55992,12 @@ SQLITE_PRIVATE int sqlite3BitvecBuiltinTest(int sz, int *aOp){
pc += nx;
i = (i & 0x7fffffff)%sz;
if( (op & 1)!=0 ){
- SETBIT(pV, (i+1));
+ if( pV ) SETBIT(pV, (i+1));
if( op!=5 ){
if( sqlite3BitvecSet(pBitvec, i+1) ) goto bitvec_end;
}
}else{
- CLEARBIT(pV, (i+1));
+ if( pV ) CLEARBIT(pV, (i+1));
sqlite3BitvecClear(pBitvec, i+1, pTmpSpace);
}
}
@@ -54419,14 +56007,18 @@ SQLITE_PRIVATE int sqlite3BitvecBuiltinTest(int sz, int *aOp){
** match (rc==0). Change rc to non-zero if a discrepancy
** is found.
*/
- rc = sqlite3BitvecTest(0,0) + sqlite3BitvecTest(pBitvec, sz+1)
- + sqlite3BitvecTest(pBitvec, 0)
- + (sqlite3BitvecSize(pBitvec) - sz);
- for(i=1; i<=sz; i++){
- if( (TESTBIT(pV,i))!=sqlite3BitvecTest(pBitvec,i) ){
- rc = i;
- break;
+ if( pV ){
+ rc = sqlite3BitvecTest(0,0) + sqlite3BitvecTest(pBitvec, sz+1)
+ + sqlite3BitvecTest(pBitvec, 0)
+ + (sqlite3BitvecSize(pBitvec) - sz);
+ for(i=1; i<=sz; i++){
+ if( (TESTBIT(pV,i))!=sqlite3BitvecTest(pBitvec,i) ){
+ rc = i;
+ break;
+ }
}
+ }else{
+ rc = 0;
}
/* Free allocated structure */
@@ -55613,10 +57205,6 @@ static SQLITE_WSD struct PCacheGlobal {
sqlite3_mutex *mutex; /* Mutex for accessing the following: */
PgFreeslot *pFree; /* Free page blocks */
int nFreeSlot; /* Number of unused pcache slots */
- /* The following value requires a mutex to change. We skip the mutex on
- ** reading because (1) most platforms read a 32-bit integer atomically and
- ** (2) even if an incorrect value is read, no great harm is done since this
- ** is really just an optimization. */
int bUnderPressure; /* True if low on PAGECACHE memory */
} pcache1_g;
@@ -55664,7 +57252,7 @@ SQLITE_PRIVATE void sqlite3PCacheBufferSetup(void *pBuf, int sz, int n){
pcache1.nReserve = n>90 ? 10 : (n/10 + 1);
pcache1.pStart = pBuf;
pcache1.pFree = 0;
- pcache1.bUnderPressure = 0;
+ AtomicStore(&pcache1.bUnderPressure,0);
while( n-- ){
p = (PgFreeslot*)pBuf;
p->pNext = pcache1.pFree;
@@ -55732,7 +57320,7 @@ static void *pcache1Alloc(int nByte){
if( p ){
pcache1.pFree = pcache1.pFree->pNext;
pcache1.nFreeSlot--;
- pcache1.bUnderPressure = pcache1.nFreeSlot<pcache1.nReserve;
+ AtomicStore(&pcache1.bUnderPressure,pcache1.nFreeSlot<pcache1.nReserve);
assert( pcache1.nFreeSlot>=0 );
sqlite3StatusHighwater(SQLITE_STATUS_PAGECACHE_SIZE, nByte);
sqlite3StatusUp(SQLITE_STATUS_PAGECACHE_USED, 1);
@@ -55771,7 +57359,7 @@ static void pcache1Free(void *p){
pSlot->pNext = pcache1.pFree;
pcache1.pFree = pSlot;
pcache1.nFreeSlot++;
- pcache1.bUnderPressure = pcache1.nFreeSlot<pcache1.nReserve;
+ AtomicStore(&pcache1.bUnderPressure,pcache1.nFreeSlot<pcache1.nReserve);
assert( pcache1.nFreeSlot<=pcache1.nSlot );
sqlite3_mutex_leave(pcache1.mutex);
}else{
@@ -55902,7 +57490,7 @@ SQLITE_PRIVATE void sqlite3PageFree(void *p){
*/
static int pcache1UnderMemoryPressure(PCache1 *pCache){
if( pcache1.nSlot && (pCache->szPage+pCache->szExtra)<=pcache1.szSlot ){
- return pcache1.bUnderPressure;
+ return AtomicLoad(&pcache1.bUnderPressure);
}else{
return sqlite3HeapNearlyFull();
}
@@ -55919,12 +57507,12 @@ static int pcache1UnderMemoryPressure(PCache1 *pCache){
*/
static void pcache1ResizeHash(PCache1 *p){
PgHdr1 **apNew;
- unsigned int nNew;
- unsigned int i;
+ u64 nNew;
+ u32 i;
assert( sqlite3_mutex_held(p->pGroup->mutex) );
- nNew = p->nHash*2;
+ nNew = 2*(u64)p->nHash;
if( nNew<256 ){
nNew = 256;
}
@@ -56147,7 +57735,7 @@ static void pcache1Destroy(sqlite3_pcache *p);
static sqlite3_pcache *pcache1Create(int szPage, int szExtra, int bPurgeable){
PCache1 *pCache; /* The newly created page cache */
PGroup *pGroup; /* The group the new page cache will belong to */
- int sz; /* Bytes of memory required to allocate the new cache */
+ i64 sz; /* Bytes of memory required to allocate the new cache */
assert( (szPage & (szPage-1))==0 && szPage>=512 && szPage<=65536 );
assert( szExtra < 300 );
@@ -58035,6 +59623,9 @@ struct Pager {
Wal *pWal; /* Write-ahead log used by "journal_mode=wal" */
char *zWal; /* File name for write-ahead log */
#endif
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ sqlite3 *dbWal;
+#endif
};
/*
@@ -58626,7 +60217,7 @@ static void checkPage(PgHdr *pPg){
** If an error occurs while reading from the journal file, an SQLite
** error code is returned.
*/
-static int readSuperJournal(sqlite3_file *pJrnl, char *zSuper, u32 nSuper){
+static int readSuperJournal(sqlite3_file *pJrnl, char *zSuper, u64 nSuper){
int rc; /* Return code */
u32 len; /* Length in bytes of super-journal name */
i64 szJ; /* Total size in bytes of journal file pJrnl */
@@ -59181,6 +60772,15 @@ static void pager_unlock(Pager *pPager){
if( pagerUseWal(pPager) ){
assert( !isOpen(pPager->jfd) );
+ if( pPager->eState==PAGER_ERROR ){
+ /* If an IO error occurs in wal.c while attempting to wrap the wal file,
+ ** then the Wal object may be holding a write-lock but no read-lock.
+ ** This call ensures that the write-lock is dropped as well. We cannot
+ ** have sqlite3WalEndReadTransaction() drop the write-lock, as it once
+ ** did, because this would break "BEGIN EXCLUSIVE" handling for
+ ** SQLITE_ENABLE_SETLK_TIMEOUT builds. */
+ (void)sqlite3WalEndWriteTransaction(pPager->pWal);
+ }
sqlite3WalEndReadTransaction(pPager->pWal);
pPager->eState = PAGER_OPEN;
}else if( !pPager->exclusiveMode ){
@@ -59862,12 +61462,12 @@ static int pager_delsuper(Pager *pPager, const char *zSuper){
char *zJournal; /* Pointer to one journal within MJ file */
char *zSuperPtr; /* Space to hold super-journal filename */
char *zFree = 0; /* Free this buffer */
- int nSuperPtr; /* Amount of space allocated to zSuperPtr[] */
+ i64 nSuperPtr; /* Amount of space allocated to zSuperPtr[] */
/* Allocate space for both the pJournal and pSuper file descriptors.
** If successful, open the super-journal file for reading.
*/
- pSuper = (sqlite3_file *)sqlite3MallocZero(pVfs->szOsFile * 2);
+ pSuper = (sqlite3_file *)sqlite3MallocZero(2 * (i64)pVfs->szOsFile);
if( !pSuper ){
rc = SQLITE_NOMEM_BKPT;
pJournal = 0;
@@ -59885,11 +61485,14 @@ static int pager_delsuper(Pager *pPager, const char *zSuper){
*/
rc = sqlite3OsFileSize(pSuper, &nSuperJournal);
if( rc!=SQLITE_OK ) goto delsuper_out;
- nSuperPtr = pVfs->mxPathname+1;
+ nSuperPtr = 1 + (i64)pVfs->mxPathname;
+ assert( nSuperJournal>=0 && nSuperPtr>0 );
zFree = sqlite3Malloc(4 + nSuperJournal + nSuperPtr + 2);
if( !zFree ){
rc = SQLITE_NOMEM_BKPT;
goto delsuper_out;
+ }else{
+ assert( nSuperJournal<=0x7fffffff );
}
zFree[0] = zFree[1] = zFree[2] = zFree[3] = 0;
zSuperJournal = &zFree[4];
@@ -60150,7 +61753,7 @@ static int pager_playback(Pager *pPager, int isHot){
** for pageSize.
*/
zSuper = pPager->pTmpSpace;
- rc = readSuperJournal(pPager->jfd, zSuper, pPager->pVfs->mxPathname+1);
+ rc = readSuperJournal(pPager->jfd, zSuper, 1+(i64)pPager->pVfs->mxPathname);
if( rc==SQLITE_OK && zSuper[0] ){
rc = sqlite3OsAccess(pVfs, zSuper, SQLITE_ACCESS_EXISTS, &res);
}
@@ -60289,7 +61892,7 @@ end_playback:
** which case it requires 4 0x00 bytes in memory immediately before
** the filename. */
zSuper = &pPager->pTmpSpace[4];
- rc = readSuperJournal(pPager->jfd, zSuper, pPager->pVfs->mxPathname+1);
+ rc = readSuperJournal(pPager->jfd, zSuper, 1+(i64)pPager->pVfs->mxPathname);
testcase( rc!=SQLITE_OK );
}
if( rc==SQLITE_OK
@@ -60932,14 +62535,27 @@ SQLITE_PRIVATE void sqlite3PagerSetFlags(
unsigned pgFlags /* Various flags */
){
unsigned level = pgFlags & PAGER_SYNCHRONOUS_MASK;
- if( pPager->tempFile ){
+ if( pPager->tempFile || level==PAGER_SYNCHRONOUS_OFF ){
pPager->noSync = 1;
pPager->fullSync = 0;
pPager->extraSync = 0;
}else{
- pPager->noSync = level==PAGER_SYNCHRONOUS_OFF ?1:0;
+ pPager->noSync = 0;
pPager->fullSync = level>=PAGER_SYNCHRONOUS_FULL ?1:0;
- pPager->extraSync = level==PAGER_SYNCHRONOUS_EXTRA ?1:0;
+
+ /* Set Pager.extraSync if "PRAGMA synchronous=EXTRA" is requested, or
+ ** if the file-system supports F2FS style atomic writes. If this flag
+ ** is set, SQLite syncs the directory to disk immediately after deleting
+ ** a journal file in "PRAGMA journal_mode=DELETE" mode. */
+ if( level==PAGER_SYNCHRONOUS_EXTRA
+#ifdef SQLITE_ENABLE_BATCH_ATOMIC_WRITE
+ || (sqlite3OsDeviceCharacteristics(pPager->fd) & SQLITE_IOCAP_BATCH_ATOMIC)
+#endif
+ ){
+ pPager->extraSync = 1;
+ }else{
+ pPager->extraSync = 0;
+ }
}
if( pPager->noSync ){
pPager->syncFlags = 0;
@@ -62060,6 +63676,7 @@ SQLITE_PRIVATE int sqlite3PagerOpen(
const char *zUri = 0; /* URI args to copy */
int nUriByte = 1; /* Number of bytes of URI args at *zUri */
+
/* Figure out how much space is required for each journal file-handle
** (there are two of them, the main journal and the sub-journal). */
journalFileSize = ROUND8(sqlite3JournalSize(pVfs));
@@ -62085,8 +63702,8 @@ SQLITE_PRIVATE int sqlite3PagerOpen(
*/
if( zFilename && zFilename[0] ){
const char *z;
- nPathname = pVfs->mxPathname+1;
- zPathname = sqlite3DbMallocRaw(0, nPathname*2);
+ nPathname = pVfs->mxPathname + 1;
+ zPathname = sqlite3DbMallocRaw(0, 2*(i64)nPathname);
if( zPathname==0 ){
return SQLITE_NOMEM_BKPT;
}
@@ -62173,14 +63790,14 @@ SQLITE_PRIVATE int sqlite3PagerOpen(
ROUND8(sizeof(*pPager)) + /* Pager structure */
ROUND8(pcacheSize) + /* PCache object */
ROUND8(pVfs->szOsFile) + /* The main db file */
- journalFileSize * 2 + /* The two journal files */
+ (u64)journalFileSize * 2 + /* The two journal files */
SQLITE_PTRSIZE + /* Space to hold a pointer */
4 + /* Database prefix */
- nPathname + 1 + /* database filename */
- nUriByte + /* query parameters */
- nPathname + 8 + 1 + /* Journal filename */
+ (u64)nPathname + 1 + /* database filename */
+ (u64)nUriByte + /* query parameters */
+ (u64)nPathname + 8 + 1 + /* Journal filename */
#ifndef SQLITE_OMIT_WAL
- nPathname + 4 + 1 + /* WAL filename */
+ (u64)nPathname + 4 + 1 + /* WAL filename */
#endif
3 /* Terminator */
);
@@ -64831,7 +66448,7 @@ SQLITE_PRIVATE int sqlite3PagerCheckpoint(
}
if( pPager->pWal ){
rc = sqlite3WalCheckpoint(pPager->pWal, db, eMode,
- (eMode==SQLITE_CHECKPOINT_PASSIVE ? 0 : pPager->xBusyHandler),
+ (eMode<=SQLITE_CHECKPOINT_PASSIVE ? 0 : pPager->xBusyHandler),
pPager->pBusyHandlerArg,
pPager->walSyncFlags, pPager->pageSize, (u8 *)pPager->pTmpSpace,
pnLog, pnCkpt
@@ -64903,6 +66520,11 @@ static int pagerOpenWal(Pager *pPager){
pPager->fd, pPager->zWal, pPager->exclusiveMode,
pPager->journalSizeLimit, &pPager->pWal
);
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ if( rc==SQLITE_OK ){
+ sqlite3WalDb(pPager->pWal, pPager->dbWal);
+ }
+#endif
}
pagerFixMaplimit(pPager);
@@ -65022,6 +66644,7 @@ SQLITE_PRIVATE int sqlite3PagerWalWriteLock(Pager *pPager, int bLock){
** blocking locks are required.
*/
SQLITE_PRIVATE void sqlite3PagerWalDb(Pager *pPager, sqlite3 *db){
+ pPager->dbWal = db;
if( pagerUseWal(pPager) ){
sqlite3WalDb(pPager->pWal, db);
}
@@ -65635,6 +67258,11 @@ struct WalCkptInfo {
/*
** An open write-ahead log file is represented by an instance of the
** following object.
+**
+** writeLock:
+** This is usually set to 1 whenever the WRITER lock is held. However,
+** if it is set to 2, then the WRITER lock is held but must be released
+** by walHandleException() if a SEH exception is thrown.
*/
struct Wal {
sqlite3_vfs *pVfs; /* The VFS used to create pDbFd */
@@ -65725,9 +67353,13 @@ struct WalIterator {
u32 *aPgno; /* Array of page numbers. */
int nEntry; /* Nr. of entries in aPgno[] and aIndex[] */
int iZero; /* Frame number associated with aPgno[0] */
- } aSegment[1]; /* One for every 32KB page in the wal-index */
+ } aSegment[FLEXARRAY]; /* One for every 32KB page in the wal-index */
};
+/* Size (in bytes) of a WalIterator object suitable for N or fewer segments */
+#define SZ_WALITERATOR(N) \
+ (offsetof(WalIterator,aSegment)+(N)*sizeof(struct WalSegment))
+
/*
** Define the parameters of the hash tables in the wal-index file. There
** is a hash-table following every HASHTABLE_NPAGE page numbers in the
@@ -65886,7 +67518,7 @@ static SQLITE_NOINLINE int walIndexPageRealloc(
/* Enlarge the pWal->apWiData[] array if required */
if( pWal->nWiData<=iPage ){
- sqlite3_int64 nByte = sizeof(u32*)*(iPage+1);
+ sqlite3_int64 nByte = sizeof(u32*)*(1+(i64)iPage);
volatile u32 **apNew;
apNew = (volatile u32 **)sqlite3Realloc((void *)pWal->apWiData, nByte);
if( !apNew ){
@@ -65995,10 +67627,8 @@ static void walChecksumBytes(
s1 = s2 = 0;
}
- assert( nByte>=8 );
- assert( (nByte&0x00000007)==0 );
- assert( nByte<=65536 );
- assert( nByte%4==0 );
+ /* nByte is a multiple of 8 between 8 and 65536 */
+ assert( nByte>=8 && (nByte&7)==0 && nByte<=65536 );
if( !nativeCksum ){
do {
@@ -67088,8 +68718,7 @@ static int walIteratorInit(Wal *pWal, u32 nBackfill, WalIterator **pp){
/* Allocate space for the WalIterator object. */
nSegment = walFramePage(iLast) + 1;
- nByte = sizeof(WalIterator)
- + (nSegment-1)*sizeof(struct WalSegment)
+ nByte = SZ_WALITERATOR(nSegment)
+ iLast*sizeof(ht_slot);
p = (WalIterator *)sqlite3_malloc64(nByte
+ sizeof(ht_slot) * (iLast>HASHTABLE_NPAGE?HASHTABLE_NPAGE:iLast)
@@ -67160,7 +68789,7 @@ static int walEnableBlockingMs(Wal *pWal, int nMs){
static int walEnableBlocking(Wal *pWal){
int res = 0;
if( pWal->db ){
- int tmout = pWal->db->busyTimeout;
+ int tmout = pWal->db->setlkTimeout;
if( tmout ){
res = walEnableBlockingMs(pWal, tmout);
}
@@ -67546,7 +69175,9 @@ static int walHandleException(Wal *pWal){
static const int S = 1;
static const int E = (1<<SQLITE_SHM_NLOCK);
int ii;
- u32 mUnlock = pWal->lockMask & ~(
+ u32 mUnlock;
+ if( pWal->writeLock==2 ) pWal->writeLock = 0;
+ mUnlock = pWal->lockMask & ~(
(pWal->readLock<0 ? 0 : (S << WAL_READ_LOCK(pWal->readLock)))
| (pWal->writeLock ? (E << WAL_WRITE_LOCK) : 0)
| (pWal->ckptLock ? (E << WAL_CKPT_LOCK) : 0)
@@ -67818,7 +69449,12 @@ static int walIndexReadHdr(Wal *pWal, int *pChanged){
if( bWriteLock
|| SQLITE_OK==(rc = walLockExclusive(pWal, WAL_WRITE_LOCK, 1))
){
- pWal->writeLock = 1;
+ /* If the write-lock was just obtained, set writeLock to 2 instead of
+ ** the usual 1. This causes walIndexPage() to behave as if the
+ ** write-lock were held (so that it allocates new pages as required),
+ ** and walHandleException() to unlock the write-lock if a SEH exception
+ ** is thrown. */
+ if( !bWriteLock ) pWal->writeLock = 2;
if( SQLITE_OK==(rc = walIndexPage(pWal, 0, &page0)) ){
badHdr = walIndexTryHdr(pWal, pChanged);
if( badHdr ){
@@ -68182,7 +69818,6 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int *pCnt){
rc = walIndexReadHdr(pWal, pChanged);
}
#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
- walDisableBlocking(pWal);
if( rc==SQLITE_BUSY_TIMEOUT ){
rc = SQLITE_BUSY;
*pCnt |= WAL_RETRY_BLOCKED_MASK;
@@ -68197,6 +69832,7 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int *pCnt){
** WAL_RETRY this routine will be called again and will probably be
** right on the second iteration.
*/
+ (void)walEnableBlocking(pWal);
if( pWal->apWiData[0]==0 ){
/* This branch is taken when the xShmMap() method returns SQLITE_BUSY.
** We assume this is a transient condition, so return WAL_RETRY. The
@@ -68213,6 +69849,7 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int *pCnt){
rc = SQLITE_BUSY_RECOVERY;
}
}
+ walDisableBlocking(pWal);
if( rc!=SQLITE_OK ){
return rc;
}
@@ -68603,8 +70240,11 @@ SQLITE_PRIVATE int sqlite3WalBeginReadTransaction(Wal *pWal, int *pChanged){
** read-lock.
*/
SQLITE_PRIVATE void sqlite3WalEndReadTransaction(Wal *pWal){
- sqlite3WalEndWriteTransaction(pWal);
+#ifndef SQLITE_ENABLE_SETLK_TIMEOUT
+ assert( pWal->writeLock==0 || pWal->readLock<0 );
+#endif
if( pWal->readLock>=0 ){
+ (void)sqlite3WalEndWriteTransaction(pWal);
walUnlockShared(pWal, WAL_READ_LOCK(pWal->readLock));
pWal->readLock = -1;
}
@@ -68797,7 +70437,7 @@ SQLITE_PRIVATE int sqlite3WalBeginWriteTransaction(Wal *pWal){
** read-transaction was even opened, making this call a no-op.
** Return early. */
if( pWal->writeLock ){
- assert( !memcmp(&pWal->hdr,(void *)walIndexHdr(pWal),sizeof(WalIndexHdr)) );
+ assert( !memcmp(&pWal->hdr,(void*)pWal->apWiData[0],sizeof(WalIndexHdr)) );
return SQLITE_OK;
}
#endif
@@ -68897,6 +70537,7 @@ SQLITE_PRIVATE int sqlite3WalUndo(Wal *pWal, int (*xUndo)(void *, Pgno), void *p
if( iMax!=pWal->hdr.mxFrame ) walCleanupHash(pWal);
}
SEH_EXCEPT( rc = SQLITE_IOERR_IN_PAGE; )
+ pWal->iReCksum = 0;
}
return rc;
}
@@ -68944,6 +70585,9 @@ SQLITE_PRIVATE int sqlite3WalSavepointUndo(Wal *pWal, u32 *aWalData){
walCleanupHash(pWal);
}
SEH_EXCEPT( rc = SQLITE_IOERR_IN_PAGE; )
+ if( pWal->iReCksum>pWal->hdr.mxFrame ){
+ pWal->iReCksum = 0;
+ }
}
return rc;
@@ -69409,7 +71053,8 @@ SQLITE_PRIVATE int sqlite3WalCheckpoint(
/* EVIDENCE-OF: R-62920-47450 The busy-handler callback is never invoked
** in the SQLITE_CHECKPOINT_PASSIVE mode. */
- assert( eMode!=SQLITE_CHECKPOINT_PASSIVE || xBusy==0 );
+ assert( SQLITE_CHECKPOINT_NOOP<SQLITE_CHECKPOINT_PASSIVE );
+ assert( eMode>SQLITE_CHECKPOINT_PASSIVE || xBusy==0 );
if( pWal->readOnly ) return SQLITE_READONLY;
WALTRACE(("WAL%p: checkpoint begins\n", pWal));
@@ -69426,31 +71071,35 @@ SQLITE_PRIVATE int sqlite3WalCheckpoint(
** EVIDENCE-OF: R-53820-33897 Even if there is a busy-handler configured,
** it will not be invoked in this case.
*/
- rc = walLockExclusive(pWal, WAL_CKPT_LOCK, 1);
- testcase( rc==SQLITE_BUSY );
- testcase( rc!=SQLITE_OK && xBusy2!=0 );
- if( rc==SQLITE_OK ){
- pWal->ckptLock = 1;
+ if( eMode!=SQLITE_CHECKPOINT_NOOP ){
+ rc = walLockExclusive(pWal, WAL_CKPT_LOCK, 1);
+ testcase( rc==SQLITE_BUSY );
+ testcase( rc!=SQLITE_OK && xBusy2!=0 );
+ if( rc==SQLITE_OK ){
+ pWal->ckptLock = 1;
- /* IMPLEMENTATION-OF: R-59782-36818 The SQLITE_CHECKPOINT_FULL, RESTART and
- ** TRUNCATE modes also obtain the exclusive "writer" lock on the database
- ** file.
- **
- ** EVIDENCE-OF: R-60642-04082 If the writer lock cannot be obtained
- ** immediately, and a busy-handler is configured, it is invoked and the
- ** writer lock retried until either the busy-handler returns 0 or the
- ** lock is successfully obtained.
- */
- if( eMode!=SQLITE_CHECKPOINT_PASSIVE ){
- rc = walBusyLock(pWal, xBusy2, pBusyArg, WAL_WRITE_LOCK, 1);
- if( rc==SQLITE_OK ){
- pWal->writeLock = 1;
- }else if( rc==SQLITE_BUSY ){
- eMode2 = SQLITE_CHECKPOINT_PASSIVE;
- xBusy2 = 0;
- rc = SQLITE_OK;
+ /* IMPLEMENTATION-OF: R-59782-36818 The SQLITE_CHECKPOINT_FULL, RESTART
+ ** and TRUNCATE modes also obtain the exclusive "writer" lock on the
+ ** database file.
+ **
+ ** EVIDENCE-OF: R-60642-04082 If the writer lock cannot be obtained
+ ** immediately, and a busy-handler is configured, it is invoked and the
+ ** writer lock retried until either the busy-handler returns 0 or the
+ ** lock is successfully obtained.
+ */
+ if( eMode!=SQLITE_CHECKPOINT_PASSIVE ){
+ rc = walBusyLock(pWal, xBusy2, pBusyArg, WAL_WRITE_LOCK, 1);
+ if( rc==SQLITE_OK ){
+ pWal->writeLock = 1;
+ }else if( rc==SQLITE_BUSY ){
+ eMode2 = SQLITE_CHECKPOINT_PASSIVE;
+ xBusy2 = 0;
+ rc = SQLITE_OK;
+ }
}
}
+ }else{
+ rc = SQLITE_OK;
}
@@ -69464,7 +71113,7 @@ SQLITE_PRIVATE int sqlite3WalCheckpoint(
** immediately and do a partial checkpoint if it cannot obtain it. */
walDisableBlocking(pWal);
rc = walIndexReadHdr(pWal, &isChanged);
- if( eMode2!=SQLITE_CHECKPOINT_PASSIVE ) (void)walEnableBlocking(pWal);
+ if( eMode2>SQLITE_CHECKPOINT_PASSIVE ) (void)walEnableBlocking(pWal);
if( isChanged && pWal->pDbFd->pMethods->iVersion>=3 ){
sqlite3OsUnfetch(pWal->pDbFd, 0, 0);
}
@@ -69474,7 +71123,7 @@ SQLITE_PRIVATE int sqlite3WalCheckpoint(
if( rc==SQLITE_OK ){
if( pWal->hdr.mxFrame && walPagesize(pWal)!=nBuf ){
rc = SQLITE_CORRUPT_BKPT;
- }else{
+ }else if( eMode2!=SQLITE_CHECKPOINT_NOOP ){
rc = walCheckpoint(pWal, db, eMode2, xBusy2, pBusyArg, sync_flags,zBuf);
}
@@ -69502,7 +71151,7 @@ SQLITE_PRIVATE int sqlite3WalCheckpoint(
sqlite3WalDb(pWal, 0);
/* Release the locks. */
- sqlite3WalEndWriteTransaction(pWal);
+ (void)sqlite3WalEndWriteTransaction(pWal);
if( pWal->ckptLock ){
walUnlockExclusive(pWal, WAL_CKPT_LOCK, 1);
pWal->ckptLock = 0;
@@ -70246,6 +71895,12 @@ struct CellInfo {
*/
#define BTCURSOR_MAX_DEPTH 20
+/*
+** Maximum amount of storage local to a database page, regardless of
+** page size.
+*/
+#define BT_MAX_LOCAL 65501 /* 65536 - 35 */
+
/*
** A cursor is a pointer to a particular entry within a particular
** b-tree within a database file.
@@ -70654,7 +72309,7 @@ SQLITE_PRIVATE int sqlite3BtreeHoldsMutex(Btree *p){
*/
static void SQLITE_NOINLINE btreeEnterAll(sqlite3 *db){
int i;
- int skipOk = 1;
+ u8 skipOk = 1;
Btree *p;
assert( sqlite3_mutex_held(db->mutex) );
for(i=0; i<db->nDb; i++){
@@ -71510,7 +73165,7 @@ static int saveCursorKey(BtCursor *pCur){
** below. */
void *pKey;
pCur->nKey = sqlite3BtreePayloadSize(pCur);
- pKey = sqlite3Malloc( pCur->nKey + 9 + 8 );
+ pKey = sqlite3Malloc( ((i64)pCur->nKey) + 9 + 8 );
if( pKey ){
rc = sqlite3BtreePayload(pCur, 0, (int)pCur->nKey, pKey);
if( rc==SQLITE_OK ){
@@ -71653,7 +73308,7 @@ static int btreeMoveto(
assert( nKey==(i64)(int)nKey );
pIdxKey = sqlite3VdbeAllocUnpackedRecord(pKeyInfo);
if( pIdxKey==0 ) return SQLITE_NOMEM_BKPT;
- sqlite3VdbeRecordUnpack(pKeyInfo, (int)nKey, pKey, pIdxKey);
+ sqlite3VdbeRecordUnpack((int)nKey, pKey, pIdxKey);
if( pIdxKey->nField==0 || pIdxKey->nField>pKeyInfo->nAllField ){
rc = SQLITE_CORRUPT_BKPT;
}else{
@@ -71800,7 +73455,7 @@ SQLITE_PRIVATE void sqlite3BtreeCursorHint(BtCursor *pCur, int eHintType, ...){
*/
SQLITE_PRIVATE void sqlite3BtreeCursorHintFlags(BtCursor *pCur, unsigned x){
assert( x==BTREE_SEEK_EQ || x==BTREE_BULKLOAD || x==0 );
- pCur->hints = x;
+ pCur->hints = (u8)x;
}
@@ -71994,14 +73649,15 @@ static SQLITE_NOINLINE void btreeParseCellAdjustSizeForOverflow(
static int btreePayloadToLocal(MemPage *pPage, i64 nPayload){
int maxLocal; /* Maximum amount of payload held locally */
maxLocal = pPage->maxLocal;
+ assert( nPayload>=0 );
if( nPayload<=maxLocal ){
- return nPayload;
+ return (int)nPayload;
}else{
int minLocal; /* Minimum amount of payload held locally */
int surplus; /* Overflow payload available for local storage */
minLocal = pPage->minLocal;
- surplus = minLocal + (nPayload - minLocal)%(pPage->pBt->usableSize-4);
- return ( surplus <= maxLocal ) ? surplus : minLocal;
+ surplus = (int)(minLocal +(nPayload - minLocal)%(pPage->pBt->usableSize-4));
+ return (surplus <= maxLocal) ? surplus : minLocal;
}
}
@@ -72111,11 +73767,13 @@ static void btreeParseCellPtr(
pInfo->pPayload = pIter;
testcase( nPayload==pPage->maxLocal );
testcase( nPayload==(u32)pPage->maxLocal+1 );
+ assert( nPayload>=0 );
+ assert( pPage->maxLocal <= BT_MAX_LOCAL );
if( nPayload<=pPage->maxLocal ){
/* This is the (easy) common case where the entire payload fits
** on the local page. No overflow is required.
*/
- pInfo->nSize = nPayload + (u16)(pIter - pCell);
+ pInfo->nSize = (u16)nPayload + (u16)(pIter - pCell);
if( pInfo->nSize<4 ) pInfo->nSize = 4;
pInfo->nLocal = (u16)nPayload;
}else{
@@ -72148,11 +73806,13 @@ static void btreeParseCellPtrIndex(
pInfo->pPayload = pIter;
testcase( nPayload==pPage->maxLocal );
testcase( nPayload==(u32)pPage->maxLocal+1 );
+ assert( nPayload>=0 );
+ assert( pPage->maxLocal <= BT_MAX_LOCAL );
if( nPayload<=pPage->maxLocal ){
/* This is the (easy) common case where the entire payload fits
** on the local page. No overflow is required.
*/
- pInfo->nSize = nPayload + (u16)(pIter - pCell);
+ pInfo->nSize = (u16)nPayload + (u16)(pIter - pCell);
if( pInfo->nSize<4 ) pInfo->nSize = 4;
pInfo->nLocal = (u16)nPayload;
}else{
@@ -72691,24 +74351,24 @@ static SQLITE_INLINE int allocateSpace(MemPage *pPage, int nByte, int *pIdx){
** at the end of the page. So do additional corruption checks inside this
** routine and return SQLITE_CORRUPT if any problems are found.
*/
-static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){
- u16 iPtr; /* Address of ptr to next freeblock */
- u16 iFreeBlk; /* Address of the next freeblock */
+static int freeSpace(MemPage *pPage, int iStart, int iSize){
+ int iPtr; /* Address of ptr to next freeblock */
+ int iFreeBlk; /* Address of the next freeblock */
u8 hdr; /* Page header size. 0 or 100 */
- u8 nFrag = 0; /* Reduction in fragmentation */
- u16 iOrigSize = iSize; /* Original value of iSize */
- u16 x; /* Offset to cell content area */
- u32 iEnd = iStart + iSize; /* First byte past the iStart buffer */
+ int nFrag = 0; /* Reduction in fragmentation */
+ int iOrigSize = iSize; /* Original value of iSize */
+ int x; /* Offset to cell content area */
+ int iEnd = iStart + iSize; /* First byte past the iStart buffer */
unsigned char *data = pPage->aData; /* Page content */
u8 *pTmp; /* Temporary ptr into data[] */
assert( pPage->pBt!=0 );
assert( sqlite3PagerIswriteable(pPage->pDbPage) );
assert( CORRUPT_DB || iStart>=pPage->hdrOffset+6+pPage->childPtrSize );
- assert( CORRUPT_DB || iEnd <= pPage->pBt->usableSize );
+ assert( CORRUPT_DB || iEnd <= (int)pPage->pBt->usableSize );
assert( sqlite3_mutex_held(pPage->pBt->mutex) );
assert( iSize>=4 ); /* Minimum cell size is 4 */
- assert( CORRUPT_DB || iStart<=pPage->pBt->usableSize-4 );
+ assert( CORRUPT_DB || iStart<=(int)pPage->pBt->usableSize-4 );
/* The list of freeblocks must be in ascending order. Find the
** spot on the list where iStart should be inserted.
@@ -72725,7 +74385,7 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){
}
iPtr = iFreeBlk;
}
- if( iFreeBlk>pPage->pBt->usableSize-4 ){ /* TH3: corrupt081.100 */
+ if( iFreeBlk>(int)pPage->pBt->usableSize-4 ){ /* TH3: corrupt081.100 */
return SQLITE_CORRUPT_PAGE(pPage);
}
assert( iFreeBlk>iPtr || iFreeBlk==0 || CORRUPT_DB );
@@ -72740,7 +74400,7 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){
nFrag = iFreeBlk - iEnd;
if( iEnd>iFreeBlk ) return SQLITE_CORRUPT_PAGE(pPage);
iEnd = iFreeBlk + get2byte(&data[iFreeBlk+2]);
- if( iEnd > pPage->pBt->usableSize ){
+ if( iEnd > (int)pPage->pBt->usableSize ){
return SQLITE_CORRUPT_PAGE(pPage);
}
iSize = iEnd - iStart;
@@ -72761,7 +74421,7 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){
}
}
if( nFrag>data[hdr+7] ) return SQLITE_CORRUPT_PAGE(pPage);
- data[hdr+7] -= nFrag;
+ data[hdr+7] -= (u8)nFrag;
}
pTmp = &data[hdr+5];
x = get2byte(pTmp);
@@ -72782,7 +74442,8 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){
/* Insert the new freeblock into the freelist */
put2byte(&data[iPtr], iStart);
put2byte(&data[iStart], iFreeBlk);
- put2byte(&data[iStart+2], iSize);
+ assert( iSize>=0 && iSize<=0xffff );
+ put2byte(&data[iStart+2], (u16)iSize);
}
pPage->nFree += iOrigSize;
return SQLITE_OK;
@@ -73008,7 +74669,7 @@ static int btreeInitPage(MemPage *pPage){
assert( pBt->pageSize>=512 && pBt->pageSize<=65536 );
pPage->maskPage = (u16)(pBt->pageSize - 1);
pPage->nOverflow = 0;
- pPage->cellOffset = pPage->hdrOffset + 8 + pPage->childPtrSize;
+ pPage->cellOffset = (u16)(pPage->hdrOffset + 8 + pPage->childPtrSize);
pPage->aCellIdx = data + pPage->childPtrSize + 8;
pPage->aDataEnd = pPage->aData + pBt->pageSize;
pPage->aDataOfst = pPage->aData + pPage->childPtrSize;
@@ -73042,8 +74703,8 @@ static int btreeInitPage(MemPage *pPage){
static void zeroPage(MemPage *pPage, int flags){
unsigned char *data = pPage->aData;
BtShared *pBt = pPage->pBt;
- u8 hdr = pPage->hdrOffset;
- u16 first;
+ int hdr = pPage->hdrOffset;
+ int first;
assert( sqlite3PagerPagenumber(pPage->pDbPage)==pPage->pgno || CORRUPT_DB );
assert( sqlite3PagerGetExtra(pPage->pDbPage) == (void*)pPage );
@@ -73060,7 +74721,7 @@ static void zeroPage(MemPage *pPage, int flags){
put2byte(&data[hdr+5], pBt->usableSize);
pPage->nFree = (u16)(pBt->usableSize - first);
decodeFlags(pPage, flags);
- pPage->cellOffset = first;
+ pPage->cellOffset = (u16)first;
pPage->aDataEnd = &data[pBt->pageSize];
pPage->aCellIdx = &data[first];
pPage->aDataOfst = &data[pPage->childPtrSize];
@@ -73631,6 +75292,7 @@ static int removeFromSharingList(BtShared *pBt){
sqlite3_mutex_leave(pMainMtx);
return removed;
#else
+ UNUSED_PARAMETER( pBt );
return 1;
#endif
}
@@ -73846,8 +75508,12 @@ SQLITE_PRIVATE int sqlite3BtreeSetPageSize(Btree *p, int pageSize, int nReserve,
BtShared *pBt = p->pBt;
assert( nReserve>=0 && nReserve<=255 );
sqlite3BtreeEnter(p);
- pBt->nReserveWanted = nReserve;
+ pBt->nReserveWanted = (u8)nReserve;
x = pBt->pageSize - pBt->usableSize;
+ if( x==nReserve && (pageSize==0 || (u32)pageSize==pBt->pageSize) ){
+ sqlite3BtreeLeave(p);
+ return SQLITE_OK;
+ }
if( nReserve<x ) nReserve = x;
if( pBt->btsFlags & BTS_PAGESIZE_FIXED ){
sqlite3BtreeLeave(p);
@@ -73952,7 +75618,7 @@ SQLITE_PRIVATE int sqlite3BtreeSecureDelete(Btree *p, int newFlag){
assert( BTS_FAST_SECURE==(BTS_OVERWRITE|BTS_SECURE_DELETE) );
if( newFlag>=0 ){
p->pBt->btsFlags &= ~BTS_FAST_SECURE;
- p->pBt->btsFlags |= BTS_SECURE_DELETE*newFlag;
+ p->pBt->btsFlags |= (u16)(BTS_SECURE_DELETE*newFlag);
}
b = (p->pBt->btsFlags & BTS_FAST_SECURE)/BTS_SECURE_DELETE;
sqlite3BtreeLeave(p);
@@ -74472,6 +76138,13 @@ static SQLITE_NOINLINE int btreeBeginTrans(
(void)sqlite3PagerWalWriteLock(pPager, 0);
unlockBtreeIfUnused(pBt);
}
+#if defined(SQLITE_ENABLE_SETLK_TIMEOUT)
+ if( rc==SQLITE_BUSY_TIMEOUT ){
+ /* If a blocking lock timed out, break out of the loop here so that
+ ** the busy-handler is not invoked. */
+ break;
+ }
+#endif
}while( (rc&0xFF)==SQLITE_BUSY && pBt->inTransaction==TRANS_NONE &&
btreeInvokeBusyHandler(pBt) );
sqlite3PagerWalDb(pPager, 0);
@@ -76430,6 +78103,30 @@ SQLITE_PRIVATE int sqlite3BtreeFirst(BtCursor *pCur, int *pRes){
return rc;
}
+/* Set *pRes to 1 (true) if the BTree pointed to by cursor pCur contains zero
+** rows of content. Set *pRes to 0 (false) if the table contains content.
+** Return SQLITE_OK on success or some error code (ex: SQLITE_NOMEM) if
+** something goes wrong.
+*/
+SQLITE_PRIVATE int sqlite3BtreeIsEmpty(BtCursor *pCur, int *pRes){
+ int rc;
+
+ assert( cursorOwnsBtShared(pCur) );
+ assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) );
+ if( pCur->eState==CURSOR_VALID ){
+ *pRes = 0;
+ return SQLITE_OK;
+ }
+ rc = moveToRoot(pCur);
+ if( rc==SQLITE_EMPTY ){
+ *pRes = 1;
+ rc = SQLITE_OK;
+ }else{
+ *pRes = 0;
+ }
+ return rc;
+}
+
#ifdef SQLITE_DEBUG
/* The cursors is CURSOR_VALID and has BTCF_AtLast set. Verify that
** this flags are true for a consistent database.
@@ -76649,8 +78346,8 @@ moveto_table_finish:
}
/*
-** Compare the "idx"-th cell on the page the cursor pCur is currently
-** pointing to to pIdxKey using xRecordCompare. Return negative or
+** Compare the "idx"-th cell on the page pPage against the key
+** pointing to by pIdxKey using xRecordCompare. Return negative or
** zero if the cell is less than or equal pIdxKey. Return positive
** if unknown.
**
@@ -76665,12 +78362,11 @@ moveto_table_finish:
** a positive value as that will cause the optimization to be skipped.
*/
static int indexCellCompare(
- BtCursor *pCur,
+ MemPage *pPage,
int idx,
UnpackedRecord *pIdxKey,
RecordCompare xRecordCompare
){
- MemPage *pPage = pCur->pPage;
int c;
int nCell; /* Size of the pCell cell in bytes */
u8 *pCell = findCellPastPtr(pPage, idx);
@@ -76779,14 +78475,14 @@ SQLITE_PRIVATE int sqlite3BtreeIndexMoveto(
){
int c;
if( pCur->ix==pCur->pPage->nCell-1
- && (c = indexCellCompare(pCur, pCur->ix, pIdxKey, xRecordCompare))<=0
+ && (c = indexCellCompare(pCur->pPage,pCur->ix,pIdxKey,xRecordCompare))<=0
&& pIdxKey->errCode==SQLITE_OK
){
*pRes = c;
return SQLITE_OK; /* Cursor already pointing at the correct spot */
}
if( pCur->iPage>0
- && indexCellCompare(pCur, 0, pIdxKey, xRecordCompare)<=0
+ && indexCellCompare(pCur->pPage, 0, pIdxKey, xRecordCompare)<=0
&& pIdxKey->errCode==SQLITE_OK
){
pCur->curFlags &= ~(BTCF_ValidOvfl|BTCF_AtLast);
@@ -76881,7 +78577,7 @@ bypass_moveto_root:
rc = SQLITE_CORRUPT_PAGE(pPage);
goto moveto_index_finish;
}
- pCellKey = sqlite3Malloc( nCell+nOverrun );
+ pCellKey = sqlite3Malloc( (u64)nCell+(u64)nOverrun );
if( pCellKey==0 ){
rc = SQLITE_NOMEM_BKPT;
goto moveto_index_finish;
@@ -77003,7 +78699,7 @@ SQLITE_PRIVATE i64 sqlite3BtreeRowCountEst(BtCursor *pCur){
n = pCur->pPage->nCell;
for(i=0; i<pCur->iPage; i++){
- n *= pCur->apPage[i]->nCell;
+ n *= pCur->apPage[i]->nCell+1;
}
return n;
}
@@ -78400,7 +80096,8 @@ static int rebuildPage(
}
/* The pPg->nFree field is now set incorrectly. The caller will fix it. */
- pPg->nCell = nCell;
+ assert( nCell < 10922 );
+ pPg->nCell = (u16)nCell;
pPg->nOverflow = 0;
put2byte(&aData[hdr+1], 0);
@@ -78647,9 +80344,13 @@ static int editPage(
if( pageInsertArray(
pPg, pBegin, &pData, pCellptr,
iNew+nCell, nNew-nCell, pCArray
- ) ) goto editpage_fail;
+ )
+ ){
+ goto editpage_fail;
+ }
- pPg->nCell = nNew;
+ assert( nNew < 10922 );
+ pPg->nCell = (u16)nNew;
pPg->nOverflow = 0;
put2byte(&aData[hdr+3], pPg->nCell);
@@ -78958,7 +80659,7 @@ static int balance_nonroot(
int pageFlags; /* Value of pPage->aData[0] */
int iSpace1 = 0; /* First unused byte of aSpace1[] */
int iOvflSpace = 0; /* First unused byte of aOvflSpace[] */
- int szScratch; /* Size of scratch memory requested */
+ u64 szScratch; /* Size of scratch memory requested */
MemPage *apOld[NB]; /* pPage and up to two siblings */
MemPage *apNew[NB+2]; /* pPage and up to NB siblings after balancing */
u8 *pRight; /* Location in parent of right-sibling pointer */
@@ -79455,7 +81156,12 @@ static int balance_nonroot(
** of the right-most new sibling page is set to the value that was
** originally in the same field of the right-most old sibling page. */
if( (pageFlags & PTF_LEAF)==0 && nOld!=nNew ){
- MemPage *pOld = (nNew>nOld ? apNew : apOld)[nOld-1];
+ MemPage *pOld;
+ if( nNew>nOld ){
+ pOld = apNew[nOld-1];
+ }else{
+ pOld = apOld[nOld-1];
+ }
memcpy(&apNew[nNew-1]->aData[8], &pOld->aData[8], 4);
}
@@ -80243,7 +81949,7 @@ SQLITE_PRIVATE int sqlite3BtreeInsert(
if( pCur->info.nKey==pX->nKey ){
BtreePayload x2;
x2.pData = pX->pKey;
- x2.nData = pX->nKey;
+ x2.nData = (int)pX->nKey; assert( pX->nKey<=0x7fffffff );
x2.nZero = 0;
return btreeOverwriteCell(pCur, &x2);
}
@@ -80424,7 +82130,7 @@ SQLITE_PRIVATE int sqlite3BtreeTransferRow(BtCursor *pDest, BtCursor *pSrc, i64
getCellInfo(pSrc);
if( pSrc->info.nPayload<0x80 ){
- *(aOut++) = pSrc->info.nPayload;
+ *(aOut++) = (u8)pSrc->info.nPayload;
}else{
aOut += sqlite3PutVarint(aOut, pSrc->info.nPayload);
}
@@ -80437,7 +82143,7 @@ SQLITE_PRIVATE int sqlite3BtreeTransferRow(BtCursor *pDest, BtCursor *pSrc, i64
nRem = pSrc->info.nPayload;
if( nIn==nRem && nIn<pDest->pPage->maxLocal ){
memcpy(aOut, aIn, nIn);
- pBt->nPreformatSize = nIn + (aOut - pBt->pTmpSpace);
+ pBt->nPreformatSize = nIn + (int)(aOut - pBt->pTmpSpace);
return SQLITE_OK;
}else{
int rc = SQLITE_OK;
@@ -80449,7 +82155,7 @@ SQLITE_PRIVATE int sqlite3BtreeTransferRow(BtCursor *pDest, BtCursor *pSrc, i64
u32 nOut; /* Size of output buffer aOut[] */
nOut = btreePayloadToLocal(pDest->pPage, pSrc->info.nPayload);
- pBt->nPreformatSize = nOut + (aOut - pBt->pTmpSpace);
+ pBt->nPreformatSize = (int)nOut + (int)(aOut - pBt->pTmpSpace);
if( nOut<pSrc->info.nPayload ){
pPgnoOut = &aOut[nOut];
pBt->nPreformatSize += 4;
@@ -82070,6 +83776,7 @@ SQLITE_PRIVATE int sqlite3BtreeIsInBackup(Btree *p){
*/
SQLITE_PRIVATE void *sqlite3BtreeSchema(Btree *p, int nBytes, void(*xFree)(void *)){
BtShared *pBt = p->pBt;
+ assert( nBytes==0 || nBytes==sizeof(Schema) );
sqlite3BtreeEnter(p);
if( !pBt->pSchema && nBytes ){
pBt->pSchema = sqlite3DbMallocZero(0, nBytes);
@@ -82086,6 +83793,7 @@ SQLITE_PRIVATE void *sqlite3BtreeSchema(Btree *p, int nBytes, void(*xFree)(void
*/
SQLITE_PRIVATE int sqlite3BtreeSchemaLocked(Btree *p){
int rc;
+ UNUSED_PARAMETER(p); /* only used in DEBUG builds */
assert( sqlite3_mutex_held(p->db->mutex) );
sqlite3BtreeEnter(p);
rc = querySharedCacheTableLock(p, SCHEMA_ROOT, READ_LOCK);
@@ -83186,7 +84894,7 @@ static void vdbeMemRenderNum(int sz, char *zBuf, Mem *p){
** corresponding string value, then it is important that the string be
** derived from the numeric value, not the other way around, to ensure
** that the index and table are consistent. See ticket
-** https://www.sqlite.org/src/info/343634942dd54ab (2018-01-31) for
+** https://sqlite.org/src/info/343634942dd54ab (2018-01-31) for
** an example.
**
** This routine looks at pMem to verify that if it has both a numeric
@@ -83372,7 +85080,7 @@ SQLITE_PRIVATE void sqlite3VdbeMemZeroTerminateIfAble(Mem *pMem){
return;
}
if( pMem->enc!=SQLITE_UTF8 ) return;
- if( NEVER(pMem->z==0) ) return;
+ assert( pMem->z!=0 );
if( pMem->flags & MEM_Dyn ){
if( pMem->xDel==sqlite3_free
&& sqlite3_msize(pMem->z) >= (u64)(pMem->n+1)
@@ -84271,6 +85979,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemSetStr(
if( sqlite3VdbeMemClearAndResize(pMem, (int)MAX(nAlloc,32)) ){
return SQLITE_NOMEM_BKPT;
}
+ assert( pMem->z!=0 );
memcpy(pMem->z, z, nAlloc);
}else{
sqlite3VdbeMemRelease(pMem);
@@ -84485,7 +86194,7 @@ static sqlite3_value *valueNew(sqlite3 *db, struct ValueNewStat4Ctx *p){
if( pRec==0 ){
Index *pIdx = p->pIdx; /* Index being probed */
- int nByte; /* Bytes of space to allocate */
+ i64 nByte; /* Bytes of space to allocate */
int i; /* Counter variable */
int nCol = pIdx->nColumn; /* Number of index columns including rowid */
@@ -84551,7 +86260,7 @@ static int valueFromFunction(
){
sqlite3_context ctx; /* Context object for function invocation */
sqlite3_value **apVal = 0; /* Function arguments */
- int nVal = 0; /* Size of apVal[] array */
+ int nVal = 0; /* Number of function arguments */
FuncDef *pFunc = 0; /* Function definition */
sqlite3_value *pVal = 0; /* New value */
int rc = SQLITE_OK; /* Return code */
@@ -85549,12 +87258,10 @@ SQLITE_PRIVATE int sqlite3VdbeAddFunctionCall(
int eCallCtx /* Calling context */
){
Vdbe *v = pParse->pVdbe;
- int nByte;
int addr;
sqlite3_context *pCtx;
assert( v );
- nByte = sizeof(*pCtx) + (nArg-1)*sizeof(sqlite3_value*);
- pCtx = sqlite3DbMallocRawNN(pParse->db, nByte);
+ pCtx = sqlite3DbMallocRawNN(pParse->db, SZ_CONTEXT(nArg));
if( pCtx==0 ){
assert( pParse->db->mallocFailed );
freeEphemeralFunction(pParse->db, (FuncDef*)pFunc);
@@ -85830,7 +87537,7 @@ static Op *opIterNext(VdbeOpIter *p){
}
if( pRet->p4type==P4_SUBPROGRAM ){
- int nByte = (p->nSub+1)*sizeof(SubProgram*);
+ i64 nByte = (1+(u64)p->nSub)*sizeof(SubProgram*);
int j;
for(j=0; j<p->nSub; j++){
if( p->apSub[j]==pRet->p4.pProgram ) break;
@@ -85960,8 +87667,8 @@ SQLITE_PRIVATE void sqlite3VdbeAssertAbortable(Vdbe *p){
** (1) For each jump instruction with a negative P2 value (a label)
** resolve the P2 value to an actual address.
**
-** (2) Compute the maximum number of arguments used by any SQL function
-** and store that value in *pMaxFuncArgs.
+** (2) Compute the maximum number of arguments used by the xUpdate/xFilter
+** methods of any virtual table and store that value in *pMaxVtabArgs.
**
** (3) Update the Vdbe.readOnly and Vdbe.bIsReader flags to accurately
** indicate what the prepared statement actually does.
@@ -85974,8 +87681,8 @@ SQLITE_PRIVATE void sqlite3VdbeAssertAbortable(Vdbe *p){
** script numbers the opcodes correctly. Changes to this routine must be
** coordinated with changes to mkopcodeh.tcl.
*/
-static void resolveP2Values(Vdbe *p, int *pMaxFuncArgs){
- int nMaxArgs = *pMaxFuncArgs;
+static void resolveP2Values(Vdbe *p, int *pMaxVtabArgs){
+ int nMaxVtabArgs = *pMaxVtabArgs;
Op *pOp;
Parse *pParse = p->pParse;
int *aLabel = pParse->aLabel;
@@ -86020,15 +87727,19 @@ static void resolveP2Values(Vdbe *p, int *pMaxFuncArgs){
}
#ifndef SQLITE_OMIT_VIRTUALTABLE
case OP_VUpdate: {
- if( pOp->p2>nMaxArgs ) nMaxArgs = pOp->p2;
+ if( pOp->p2>nMaxVtabArgs ) nMaxVtabArgs = pOp->p2;
break;
}
case OP_VFilter: {
int n;
+ /* The instruction immediately prior to VFilter will be an
+ ** OP_Integer that sets the "argc" value for the VFilter. See
+ ** the code where OP_VFilter is generated at tag-20250207a. */
assert( (pOp - p->aOp) >= 3 );
assert( pOp[-1].opcode==OP_Integer );
+ assert( pOp[-1].p2==pOp->p3+1 );
n = pOp[-1].p1;
- if( n>nMaxArgs ) nMaxArgs = n;
+ if( n>nMaxVtabArgs ) nMaxVtabArgs = n;
/* Fall through into the default case */
/* no break */ deliberate_fall_through
}
@@ -86069,7 +87780,7 @@ resolve_p2_values_loop_exit:
pParse->aLabel = 0;
}
pParse->nLabel = 0;
- *pMaxFuncArgs = nMaxArgs;
+ *pMaxVtabArgs = nMaxVtabArgs;
assert( p->bIsReader!=0 || DbMaskAllZero(p->btreeMask) );
}
@@ -86298,7 +88009,7 @@ SQLITE_PRIVATE void sqlite3VdbeScanStatus(
const char *zName /* Name of table or index being scanned */
){
if( IS_STMT_SCANSTATUS(p->db) ){
- sqlite3_int64 nByte = (p->nScan+1) * sizeof(ScanStatus);
+ i64 nByte = (1+(i64)p->nScan) * sizeof(ScanStatus);
ScanStatus *aNew;
aNew = (ScanStatus*)sqlite3DbRealloc(p->db, p->aScan, nByte);
if( aNew ){
@@ -86408,6 +88119,9 @@ SQLITE_PRIVATE void sqlite3VdbeChangeP5(Vdbe *p, u16 p5){
*/
SQLITE_PRIVATE void sqlite3VdbeTypeofColumn(Vdbe *p, int iDest){
VdbeOp *pOp = sqlite3VdbeGetLastOp(p);
+#ifdef SQLITE_DEBUG
+ while( pOp->opcode==OP_ReleaseReg ) pOp--;
+#endif
if( pOp->p3==iDest && pOp->opcode==OP_Column ){
pOp->p5 |= OPFLAG_TYPEOFARG;
}
@@ -87747,7 +89461,7 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady(
int nVar; /* Number of parameters */
int nMem; /* Number of VM memory registers */
int nCursor; /* Number of cursors required */
- int nArg; /* Number of arguments in subprograms */
+ int nArg; /* Max number args to xFilter or xUpdate */
int n; /* Loop counter */
struct ReusableSpace x; /* Reusable bulk memory */
@@ -87819,6 +89533,9 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady(
p->apCsr = allocSpace(&x, p->apCsr, nCursor*sizeof(VdbeCursor*));
}
}
+#ifdef SQLITE_DEBUG
+ p->napArg = nArg;
+#endif
if( db->mallocFailed ){
p->nVar = 0;
@@ -88090,10 +89807,12 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){
if( 0==sqlite3Strlen30(sqlite3BtreeGetFilename(db->aDb[0].pBt))
|| nTrans<=1
){
- for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
- Btree *pBt = db->aDb[i].pBt;
- if( pBt ){
- rc = sqlite3BtreeCommitPhaseOne(pBt, 0);
+ if( needXcommit ){
+ for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
+ Btree *pBt = db->aDb[i].pBt;
+ if( sqlite3BtreeTxnState(pBt)>=SQLITE_TXN_WRITE ){
+ rc = sqlite3BtreeCommitPhaseOne(pBt, 0);
+ }
}
}
@@ -88104,7 +89823,9 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){
*/
for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
Btree *pBt = db->aDb[i].pBt;
- if( pBt ){
+ int txn = sqlite3BtreeTxnState(pBt);
+ if( txn!=SQLITE_TXN_NONE ){
+ assert( needXcommit || txn==SQLITE_TXN_READ );
rc = sqlite3BtreeCommitPhaseTwo(pBt, 0);
}
}
@@ -88359,28 +90080,31 @@ SQLITE_PRIVATE int sqlite3VdbeCloseStatement(Vdbe *p, int eOp){
/*
-** This function is called when a transaction opened by the database
+** These functions are called when a transaction opened by the database
** handle associated with the VM passed as an argument is about to be
-** committed. If there are outstanding deferred foreign key constraint
-** violations, return SQLITE_ERROR. Otherwise, SQLITE_OK.
+** committed. If there are outstanding foreign key constraint violations
+** return an error code. Otherwise, SQLITE_OK.
**
** If there are outstanding FK violations and this function returns
-** SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY
-** and write an error message to it. Then return SQLITE_ERROR.
+** non-zero, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY
+** and write an error message to it.
*/
#ifndef SQLITE_OMIT_FOREIGN_KEY
-SQLITE_PRIVATE int sqlite3VdbeCheckFk(Vdbe *p, int deferred){
+static SQLITE_NOINLINE int vdbeFkError(Vdbe *p){
+ p->rc = SQLITE_CONSTRAINT_FOREIGNKEY;
+ p->errorAction = OE_Abort;
+ sqlite3VdbeError(p, "FOREIGN KEY constraint failed");
+ if( (p->prepFlags & SQLITE_PREPARE_SAVESQL)==0 ) return SQLITE_ERROR;
+ return SQLITE_CONSTRAINT_FOREIGNKEY;
+}
+SQLITE_PRIVATE int sqlite3VdbeCheckFkImmediate(Vdbe *p){
+ if( p->nFkConstraint==0 ) return SQLITE_OK;
+ return vdbeFkError(p);
+}
+SQLITE_PRIVATE int sqlite3VdbeCheckFkDeferred(Vdbe *p){
sqlite3 *db = p->db;
- if( (deferred && (db->nDeferredCons+db->nDeferredImmCons)>0)
- || (!deferred && p->nFkConstraint>0)
- ){
- p->rc = SQLITE_CONSTRAINT_FOREIGNKEY;
- p->errorAction = OE_Abort;
- sqlite3VdbeError(p, "FOREIGN KEY constraint failed");
- if( (p->prepFlags & SQLITE_PREPARE_SAVESQL)==0 ) return SQLITE_ERROR;
- return SQLITE_CONSTRAINT_FOREIGNKEY;
- }
- return SQLITE_OK;
+ if( (db->nDeferredCons+db->nDeferredImmCons)==0 ) return SQLITE_OK;
+ return vdbeFkError(p);
}
#endif
@@ -88474,7 +90198,7 @@ SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe *p){
/* Check for immediate foreign key violations. */
if( p->rc==SQLITE_OK || (p->errorAction==OE_Fail && !isSpecialError) ){
- (void)sqlite3VdbeCheckFk(p, 0);
+ (void)sqlite3VdbeCheckFkImmediate(p);
}
/* If the auto-commit flag is set and this is the only active writer
@@ -88488,7 +90212,7 @@ SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe *p){
&& db->nVdbeWrite==(p->readOnly==0)
){
if( p->rc==SQLITE_OK || (p->errorAction==OE_Fail && !isSpecialError) ){
- rc = sqlite3VdbeCheckFk(p, 1);
+ rc = sqlite3VdbeCheckFkDeferred(p);
if( rc!=SQLITE_OK ){
if( NEVER(p->readOnly) ){
sqlite3VdbeLeave(p);
@@ -89298,29 +91022,22 @@ SQLITE_PRIVATE void sqlite3VdbeSerialGet(
return;
}
/*
-** This routine is used to allocate sufficient space for an UnpackedRecord
-** structure large enough to be used with sqlite3VdbeRecordUnpack() if
-** the first argument is a pointer to KeyInfo structure pKeyInfo.
-**
-** The space is either allocated using sqlite3DbMallocRaw() or from within
-** the unaligned buffer passed via the second and third arguments (presumably
-** stack space). If the former, then *ppFree is set to a pointer that should
-** be eventually freed by the caller using sqlite3DbFree(). Or, if the
-** allocation comes from the pSpace/szSpace buffer, *ppFree is set to NULL
-** before returning.
+** Allocate sufficient space for an UnpackedRecord structure large enough
+** to hold a decoded index record for pKeyInfo.
**
-** If an OOM error occurs, NULL is returned.
+** The space is allocated using sqlite3DbMallocRaw(). If an OOM error
+** occurs, NULL is returned.
*/
SQLITE_PRIVATE UnpackedRecord *sqlite3VdbeAllocUnpackedRecord(
KeyInfo *pKeyInfo /* Description of the record */
){
UnpackedRecord *p; /* Unpacked record to return */
- int nByte; /* Number of bytes required for *p */
+ u64 nByte; /* Number of bytes required for *p */
+ assert( sizeof(UnpackedRecord) + sizeof(Mem)*65536 < 0x7fffffff );
nByte = ROUND8P(sizeof(UnpackedRecord)) + sizeof(Mem)*(pKeyInfo->nKeyField+1);
p = (UnpackedRecord *)sqlite3DbMallocRaw(pKeyInfo->db, nByte);
if( !p ) return 0;
p->aMem = (Mem*)&((char*)p)[ROUND8P(sizeof(UnpackedRecord))];
- assert( pKeyInfo->aSortFlags!=0 );
p->pKeyInfo = pKeyInfo;
p->nField = pKeyInfo->nKeyField + 1;
return p;
@@ -89332,7 +91049,6 @@ SQLITE_PRIVATE UnpackedRecord *sqlite3VdbeAllocUnpackedRecord(
** contents of the decoded record.
*/
SQLITE_PRIVATE void sqlite3VdbeRecordUnpack(
- KeyInfo *pKeyInfo, /* Information about the record format */
int nKey, /* Size of the binary record */
const void *pKey, /* The binary record */
UnpackedRecord *p /* Populate this structure before returning. */
@@ -89343,6 +91059,7 @@ SQLITE_PRIVATE void sqlite3VdbeRecordUnpack(
u16 u; /* Unsigned loop counter */
u32 szHdr;
Mem *pMem = p->aMem;
+ KeyInfo *pKeyInfo = p->pKeyInfo;
p->default_rc = 0;
assert( EIGHT_BYTE_ALIGNMENT(pMem) );
@@ -89360,16 +91077,18 @@ SQLITE_PRIVATE void sqlite3VdbeRecordUnpack(
pMem->z = 0;
sqlite3VdbeSerialGet(&aKey[d], serial_type, pMem);
d += sqlite3VdbeSerialTypeLen(serial_type);
- pMem++;
if( (++u)>=p->nField ) break;
+ pMem++;
}
if( d>(u32)nKey && u ){
assert( CORRUPT_DB );
/* In a corrupt record entry, the last pMem might have been set up using
** uninitialized memory. Overwrite its value with NULL, to prevent
** warnings from MSAN. */
- sqlite3VdbeMemSetNull(pMem-1);
+ sqlite3VdbeMemSetNull(pMem-(u<p->nField));
}
+ testcase( u == pKeyInfo->nKeyField + 1 );
+ testcase( u < pKeyInfo->nKeyField + 1 );
assert( u<=pKeyInfo->nKeyField + 1 );
p->nField = u;
}
@@ -89537,6 +91256,32 @@ static void vdbeAssertFieldCountWithinLimits(
** or positive value if *pMem1 is less than, equal to or greater than
** *pMem2, respectively. Similar in spirit to "rc = (*pMem1) - (*pMem2);".
*/
+static SQLITE_NOINLINE int vdbeCompareMemStringWithEncodingChange(
+ const Mem *pMem1,
+ const Mem *pMem2,
+ const CollSeq *pColl,
+ u8 *prcErr /* If an OOM occurs, set to SQLITE_NOMEM */
+){
+ int rc;
+ const void *v1, *v2;
+ Mem c1;
+ Mem c2;
+ sqlite3VdbeMemInit(&c1, pMem1->db, MEM_Null);
+ sqlite3VdbeMemInit(&c2, pMem1->db, MEM_Null);
+ sqlite3VdbeMemShallowCopy(&c1, pMem1, MEM_Ephem);
+ sqlite3VdbeMemShallowCopy(&c2, pMem2, MEM_Ephem);
+ v1 = sqlite3ValueText((sqlite3_value*)&c1, pColl->enc);
+ v2 = sqlite3ValueText((sqlite3_value*)&c2, pColl->enc);
+ if( (v1==0 || v2==0) ){
+ if( prcErr ) *prcErr = SQLITE_NOMEM_BKPT;
+ rc = 0;
+ }else{
+ rc = pColl->xCmp(pColl->pUser, c1.n, v1, c2.n, v2);
+ }
+ sqlite3VdbeMemReleaseMalloc(&c1);
+ sqlite3VdbeMemReleaseMalloc(&c2);
+ return rc;
+}
static int vdbeCompareMemString(
const Mem *pMem1,
const Mem *pMem2,
@@ -89548,25 +91293,7 @@ static int vdbeCompareMemString(
** comparison function directly */
return pColl->xCmp(pColl->pUser,pMem1->n,pMem1->z,pMem2->n,pMem2->z);
}else{
- int rc;
- const void *v1, *v2;
- Mem c1;
- Mem c2;
- sqlite3VdbeMemInit(&c1, pMem1->db, MEM_Null);
- sqlite3VdbeMemInit(&c2, pMem1->db, MEM_Null);
- sqlite3VdbeMemShallowCopy(&c1, pMem1, MEM_Ephem);
- sqlite3VdbeMemShallowCopy(&c2, pMem2, MEM_Ephem);
- v1 = sqlite3ValueText((sqlite3_value*)&c1, pColl->enc);
- v2 = sqlite3ValueText((sqlite3_value*)&c2, pColl->enc);
- if( (v1==0 || v2==0) ){
- if( prcErr ) *prcErr = SQLITE_NOMEM_BKPT;
- rc = 0;
- }else{
- rc = pColl->xCmp(pColl->pUser, c1.n, v1, c2.n, v2);
- }
- sqlite3VdbeMemReleaseMalloc(&c1);
- sqlite3VdbeMemReleaseMalloc(&c2);
- return rc;
+ return vdbeCompareMemStringWithEncodingChange(pMem1,pMem2,pColl,prcErr);
}
}
@@ -90229,6 +91956,7 @@ SQLITE_PRIVATE RecordCompare sqlite3VdbeFindCompare(UnpackedRecord *p){
** The easiest way to enforce this limit is to consider only records with
** 13 fields or less. If the first field is an integer, the maximum legal
** header size is (12*5 + 1 + 1) bytes. */
+ assert( p->pKeyInfo->aSortFlags!=0 );
if( p->pKeyInfo->nAllField<=13 ){
int flags = p->aMem[0].flags;
if( p->pKeyInfo->aSortFlags[0] ){
@@ -90478,6 +92206,7 @@ SQLITE_PRIVATE void sqlite3VdbeSetVarmask(Vdbe *v, int iVar){
}
}
+#ifndef SQLITE_OMIT_DATETIME_FUNCS
/*
** Cause a function to throw an error if it was call from OP_PureFunc
** rather than OP_Function.
@@ -90511,6 +92240,7 @@ SQLITE_PRIVATE int sqlite3NotPureFunc(sqlite3_context *pCtx){
}
return 1;
}
+#endif /* SQLITE_OMIT_DATETIME_FUNCS */
#if defined(SQLITE_ENABLE_CURSOR_HINTS) && defined(SQLITE_DEBUG)
/*
@@ -90587,7 +92317,6 @@ SQLITE_PRIVATE void sqlite3VdbePreUpdateHook(
i64 iKey2;
PreUpdate preupdate;
const char *zTbl = pTab->zName;
- static const u8 fakeSortOrder = 0;
#ifdef SQLITE_DEBUG
int nRealCol;
if( pTab->tabFlags & TF_WithoutRowid ){
@@ -90622,10 +92351,11 @@ SQLITE_PRIVATE void sqlite3VdbePreUpdateHook(
preupdate.pCsr = pCsr;
preupdate.op = op;
preupdate.iNewReg = iReg;
- preupdate.keyinfo.db = db;
- preupdate.keyinfo.enc = ENC(db);
- preupdate.keyinfo.nKeyField = pTab->nCol;
- preupdate.keyinfo.aSortFlags = (u8*)&fakeSortOrder;
+ preupdate.pKeyinfo = (KeyInfo*)&preupdate.uKey;
+ preupdate.pKeyinfo->db = db;
+ preupdate.pKeyinfo->enc = ENC(db);
+ preupdate.pKeyinfo->nKeyField = pTab->nCol;
+ preupdate.pKeyinfo->aSortFlags = 0; /* Indicate .aColl, .nAllField uninit */
preupdate.iKey1 = iKey1;
preupdate.iKey2 = iKey2;
preupdate.pTab = pTab;
@@ -90635,8 +92365,8 @@ SQLITE_PRIVATE void sqlite3VdbePreUpdateHook(
db->xPreUpdateCallback(db->pPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2);
db->pPreUpdate = 0;
sqlite3DbFree(db, preupdate.aRecord);
- vdbeFreeUnpacked(db, preupdate.keyinfo.nKeyField+1, preupdate.pUnpacked);
- vdbeFreeUnpacked(db, preupdate.keyinfo.nKeyField+1, preupdate.pNewUnpacked);
+ vdbeFreeUnpacked(db, preupdate.pKeyinfo->nKeyField+1,preupdate.pUnpacked);
+ vdbeFreeUnpacked(db, preupdate.pKeyinfo->nKeyField+1,preupdate.pNewUnpacked);
sqlite3VdbeMemRelease(&preupdate.oldipk);
if( preupdate.aNew ){
int i;
@@ -90655,6 +92385,17 @@ SQLITE_PRIVATE void sqlite3VdbePreUpdateHook(
}
#endif /* SQLITE_ENABLE_PREUPDATE_HOOK */
+#ifdef SQLITE_ENABLE_PERCENTILE
+/*
+** Return the name of an SQL function associated with the sqlite3_context.
+*/
+SQLITE_PRIVATE const char *sqlite3VdbeFuncName(const sqlite3_context *pCtx){
+ assert( pCtx!=0 );
+ assert( pCtx->pFunc!=0 );
+ return pCtx->pFunc->zName;
+}
+#endif /* SQLITE_ENABLE_PERCENTILE */
+
/************** End of vdbeaux.c *********************************************/
/************** Begin file vdbeapi.c *****************************************/
/*
@@ -92352,8 +94093,12 @@ static int bindText(
if( zData!=0 ){
pVar = &p->aVar[i-1];
rc = sqlite3VdbeMemSetStr(pVar, zData, nData, encoding, xDel);
- if( rc==SQLITE_OK && encoding!=0 ){
- rc = sqlite3VdbeChangeEncoding(pVar, ENC(p->db));
+ if( rc==SQLITE_OK ){
+ if( encoding==0 ){
+ pVar->enc = ENC(p->db);
+ }else{
+ rc = sqlite3VdbeChangeEncoding(pVar, ENC(p->db));
+ }
}
if( rc ){
sqlite3Error(p->db, rc);
@@ -92467,7 +94212,7 @@ SQLITE_API int sqlite3_bind_text64(
assert( xDel!=SQLITE_DYNAMIC );
if( enc!=SQLITE_UTF8 ){
if( enc==SQLITE_UTF16 ) enc = SQLITE_UTF16NATIVE;
- nData &= ~(u16)1;
+ nData &= ~(u64)1;
}
return bindText(pStmt, i, zData, nData, xDel, enc);
}
@@ -92822,7 +94567,7 @@ static UnpackedRecord *vdbeUnpackRecord(
pRet = sqlite3VdbeAllocUnpackedRecord(pKeyInfo);
if( pRet ){
memset(pRet->aMem, 0, sizeof(Mem)*(pKeyInfo->nKeyField+1));
- sqlite3VdbeRecordUnpack(pKeyInfo, nKey, pKey, pRet);
+ sqlite3VdbeRecordUnpack(nKey, pKey, pRet);
}
return pRet;
}
@@ -92851,6 +94596,9 @@ SQLITE_API int sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlite3_value **ppVa
}
if( p->pPk ){
iStore = sqlite3TableColumnToIndex(p->pPk, iIdx);
+ }else if( iIdx >= p->pTab->nCol ){
+ rc = SQLITE_MISUSE_BKPT;
+ goto preupdate_old_out;
}else{
iStore = sqlite3TableColumnToStorage(p->pTab, iIdx);
}
@@ -92875,7 +94623,7 @@ SQLITE_API int sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlite3_value **ppVa
if( !aRec ) goto preupdate_old_out;
rc = sqlite3BtreePayload(p->pCsr->uc.pCursor, 0, nRec, aRec);
if( rc==SQLITE_OK ){
- p->pUnpacked = vdbeUnpackRecord(&p->keyinfo, nRec, aRec);
+ p->pUnpacked = vdbeUnpackRecord(p->pKeyinfo, nRec, aRec);
if( !p->pUnpacked ) rc = SQLITE_NOMEM;
}
if( rc!=SQLITE_OK ){
@@ -92892,7 +94640,9 @@ SQLITE_API int sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlite3_value **ppVa
Column *pCol = &p->pTab->aCol[iIdx];
if( pCol->iDflt>0 ){
if( p->apDflt==0 ){
- int nByte = sizeof(sqlite3_value*)*p->pTab->nCol;
+ int nByte;
+ assert( sizeof(sqlite3_value*)*UMXV(p->pTab->nCol) < 0x7fffffff );
+ nByte = sizeof(sqlite3_value*)*p->pTab->nCol;
p->apDflt = (sqlite3_value**)sqlite3DbMallocZero(db, nByte);
if( p->apDflt==0 ) goto preupdate_old_out;
}
@@ -92938,7 +94688,7 @@ SQLITE_API int sqlite3_preupdate_count(sqlite3 *db){
#else
p = db->pPreUpdate;
#endif
- return (p ? p->keyinfo.nKeyField : 0);
+ return (p ? p->pKeyinfo->nKeyField : 0);
}
#endif /* SQLITE_ENABLE_PREUPDATE_HOOK */
@@ -93004,6 +94754,8 @@ SQLITE_API int sqlite3_preupdate_new(sqlite3 *db, int iIdx, sqlite3_value **ppVa
}
if( p->pPk && p->op!=SQLITE_UPDATE ){
iStore = sqlite3TableColumnToIndex(p->pPk, iIdx);
+ }else if( iIdx >= p->pTab->nCol ){
+ return SQLITE_MISUSE_BKPT;
}else{
iStore = sqlite3TableColumnToStorage(p->pTab, iIdx);
}
@@ -93021,7 +94773,7 @@ SQLITE_API int sqlite3_preupdate_new(sqlite3 *db, int iIdx, sqlite3_value **ppVa
Mem *pData = &p->v->aMem[p->iNewReg];
rc = ExpandBlob(pData);
if( rc!=SQLITE_OK ) goto preupdate_new_out;
- pUnpack = vdbeUnpackRecord(&p->keyinfo, pData->n, pData->z);
+ pUnpack = vdbeUnpackRecord(p->pKeyinfo, pData->n, pData->z);
if( !pUnpack ){
rc = SQLITE_NOMEM;
goto preupdate_new_out;
@@ -93042,7 +94794,8 @@ SQLITE_API int sqlite3_preupdate_new(sqlite3 *db, int iIdx, sqlite3_value **ppVa
*/
assert( p->op==SQLITE_UPDATE );
if( !p->aNew ){
- p->aNew = (Mem *)sqlite3DbMallocZero(db, sizeof(Mem) * p->pCsr->nField);
+ assert( sizeof(Mem)*UMXV(p->pCsr->nField) < 0x7fffffff );
+ p->aNew = (Mem *)sqlite3DbMallocZero(db, sizeof(Mem)*p->pCsr->nField);
if( !p->aNew ){
rc = SQLITE_NOMEM;
goto preupdate_new_out;
@@ -93278,10 +95031,10 @@ SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt *pStmt){
** a host parameter. If the text contains no host parameters, return
** the total number of bytes in the text.
*/
-static int findNextHostParameter(const char *zSql, int *pnToken){
+static i64 findNextHostParameter(const char *zSql, i64 *pnToken){
int tokenType;
- int nTotal = 0;
- int n;
+ i64 nTotal = 0;
+ i64 n;
*pnToken = 0;
while( zSql[0] ){
@@ -93328,8 +95081,8 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql(
sqlite3 *db; /* The database connection */
int idx = 0; /* Index of a host parameter */
int nextIndex = 1; /* Index of next ? host parameter */
- int n; /* Length of a token prefix */
- int nToken; /* Length of the parameter token */
+ i64 n; /* Length of a token prefix */
+ i64 nToken; /* Length of the parameter token */
int i; /* Loop counter */
Mem *pVar; /* Value of a host parameter */
StrAccum out; /* Accumulate the output here */
@@ -93812,11 +95565,11 @@ static VdbeCursor *allocateCursor(
*/
Mem *pMem = iCur>0 ? &p->aMem[p->nMem-iCur] : p->aMem;
- int nByte;
+ i64 nByte;
VdbeCursor *pCx = 0;
- nByte =
- ROUND8P(sizeof(VdbeCursor)) + 2*sizeof(u32)*nField +
- (eCurType==CURTYPE_BTREE?sqlite3BtreeCursorSize():0);
+ nByte = SZ_VDBECURSOR(nField);
+ assert( ROUND8(nByte)==nByte );
+ if( eCurType==CURTYPE_BTREE ) nByte += sqlite3BtreeCursorSize();
assert( iCur>=0 && iCur<p->nCursor );
if( p->apCsr[iCur] ){ /*OPTIMIZATION-IF-FALSE*/
@@ -93840,7 +95593,7 @@ static VdbeCursor *allocateCursor(
pMem->szMalloc = 0;
return 0;
}
- pMem->szMalloc = nByte;
+ pMem->szMalloc = (int)nByte;
}
p->apCsr[iCur] = pCx = (VdbeCursor*)pMem->zMalloc;
@@ -93849,8 +95602,8 @@ static VdbeCursor *allocateCursor(
pCx->nField = nField;
pCx->aOffset = &pCx->aType[nField];
if( eCurType==CURTYPE_BTREE ){
- pCx->uc.pCursor = (BtCursor*)
- &pMem->z[ROUND8P(sizeof(VdbeCursor))+2*sizeof(u32)*nField];
+ assert( ROUND8(SZ_VDBECURSOR(nField))==SZ_VDBECURSOR(nField) );
+ pCx->uc.pCursor = (BtCursor*)&pMem->z[SZ_VDBECURSOR(nField)];
sqlite3BtreeCursorZero(pCx->uc.pCursor);
}
return pCx;
@@ -94253,7 +96006,7 @@ static u64 filterHash(const Mem *aMem, const Op *pOp){
static SQLITE_NOINLINE int vdbeColumnFromOverflow(
VdbeCursor *pC, /* The BTree cursor from which we are reading */
int iCol, /* The column to read */
- int t, /* The serial-type code for the column value */
+ u32 t, /* The serial-type code for the column value */
i64 iOffset, /* Offset to the start of the content value */
u32 cacheStatus, /* Current Vdbe.cacheCtr value */
u32 colCacheCtr, /* Current value of the column cache counter */
@@ -94328,6 +96081,36 @@ static SQLITE_NOINLINE int vdbeColumnFromOverflow(
return rc;
}
+/*
+** Send a "statement aborts" message to the error log.
+*/
+static SQLITE_NOINLINE void sqlite3VdbeLogAbort(
+ Vdbe *p, /* The statement that is running at the time of failure */
+ int rc, /* Error code */
+ Op *pOp, /* Opcode that filed */
+ Op *aOp /* All opcodes */
+){
+ const char *zSql = p->zSql; /* Original SQL text */
+ const char *zPrefix = ""; /* Prefix added to SQL text */
+ int pc; /* Opcode address */
+ char zXtra[100]; /* Buffer space to store zPrefix */
+
+ if( p->pFrame ){
+ assert( aOp[0].opcode==OP_Init );
+ if( aOp[0].p4.z!=0 ){
+ assert( aOp[0].p4.z[0]=='-'
+ && aOp[0].p4.z[1]=='-'
+ && aOp[0].p4.z[2]==' ' );
+ sqlite3_snprintf(sizeof(zXtra), zXtra,"/* %s */ ",aOp[0].p4.z+3);
+ zPrefix = zXtra;
+ }else{
+ zPrefix = "/* unknown trigger */ ";
+ }
+ }
+ pc = (int)(pOp - aOp);
+ sqlite3_log(rc, "statement aborts at %d: %s; [%s%s]",
+ pc, p->zErrMsg, zPrefix, zSql);
+}
/*
** Return the symbolic name for the data type of a pMem
@@ -94853,8 +96636,7 @@ case OP_Halt: {
}else{
sqlite3VdbeError(p, "%s", pOp->p4.z);
}
- pcx = (int)(pOp - aOp);
- sqlite3_log(pOp->p1, "abort at %d in [%s]: %s", pcx, p->zSql, p->zErrMsg);
+ sqlite3VdbeLogAbort(p, pOp->p1, pOp, aOp);
}
rc = sqlite3VdbeHalt(p);
assert( rc==SQLITE_BUSY || rc==SQLITE_OK || rc==SQLITE_ERROR );
@@ -95233,7 +97015,7 @@ case OP_IntCopy: { /* out2 */
** RETURNING clause.
*/
case OP_FkCheck: {
- if( (rc = sqlite3VdbeCheckFk(p,0))!=SQLITE_OK ){
+ if( (rc = sqlite3VdbeCheckFkImmediate(p))!=SQLITE_OK ){
goto abort_due_to_error;
}
break;
@@ -95325,10 +97107,14 @@ case OP_Concat: { /* same as TK_CONCAT, in1, in2, out3 */
if( sqlite3VdbeMemExpandBlob(pIn2) ) goto no_mem;
flags2 = pIn2->flags & ~MEM_Str;
}
- nByte = pIn1->n + pIn2->n;
+ nByte = pIn1->n;
+ nByte += pIn2->n;
if( nByte>db->aLimit[SQLITE_LIMIT_LENGTH] ){
goto too_big;
}
+#if SQLITE_MAX_LENGTH>2147483645
+ if( nByte>2147483645 ){ goto too_big; }
+#endif
if( sqlite3VdbeMemGrow(pOut, (int)nByte+2, pOut==pIn2) ){
goto no_mem;
}
@@ -96012,6 +97798,7 @@ case OP_Compare: {
pKeyInfo = pOp->p4.pKeyInfo;
assert( n>0 );
assert( pKeyInfo!=0 );
+ assert( pKeyInfo->aSortFlags!=0 );
p1 = pOp->p1;
p2 = pOp->p2;
#ifdef SQLITE_DEBUG
@@ -96180,7 +97967,7 @@ case OP_BitNot: { /* same as TK_BITNOT, in1, out2 */
break;
}
-/* Opcode: Once P1 P2 * * *
+/* Opcode: Once P1 P2 P3 * *
**
** Fall through to the next instruction the first time this opcode is
** encountered on each invocation of the byte-code program. Jump to P2
@@ -96196,6 +97983,12 @@ case OP_BitNot: { /* same as TK_BITNOT, in1, out2 */
** whether or not the jump should be taken. The bitmask is necessary
** because the self-altering code trick does not work for recursive
** triggers.
+**
+** The P3 operand is not used directly by this opcode. However P3 is
+** used by the code generator as follows: If this opcode is the start
+** of a subroutine and that subroutine uses a Bloom filter, then P3 will
+** be the register that holds that Bloom filter. See tag-202407032019
+** in the source code for implementation details.
*/
case OP_Once: { /* jump */
u32 iAddr; /* Address of this instruction */
@@ -96768,6 +98561,15 @@ op_column_corrupt:
** Take the affinities from the Table object in P4. If any value
** cannot be coerced into the correct type, then raise an error.
**
+** If P3==0, then omit checking of VIRTUAL columns.
+**
+** If P3==1, then omit checking of all generated column, both VIRTUAL
+** and STORED.
+**
+** If P3>=2, then only check column number P3-2 in the table (which will
+** be a VIRTUAL column) against the value in reg[P1]. In this case,
+** P2 will be 1.
+**
** This opcode is similar to OP_Affinity except that this opcode
** forces the register type to the Table column type. This is used
** to implement "strict affinity".
@@ -96781,8 +98583,8 @@ op_column_corrupt:
**
** <ul>
** <li> P2 should be the number of non-virtual columns in the
-** table of P4.
-** <li> Table P4 should be a STRICT table.
+** table of P4 unless P3>1, in which case P2 will be 1.
+** <li> Table P4 is a STRICT table.
** </ul>
**
** If any precondition is false, an assertion fault occurs.
@@ -96791,16 +98593,28 @@ case OP_TypeCheck: {
Table *pTab;
Column *aCol;
int i;
+ int nCol;
assert( pOp->p4type==P4_TABLE );
pTab = pOp->p4.pTab;
assert( pTab->tabFlags & TF_Strict );
- assert( pTab->nNVCol==pOp->p2 );
+ assert( pOp->p3>=0 && pOp->p3<pTab->nCol+2 );
aCol = pTab->aCol;
pIn1 = &aMem[pOp->p1];
- for(i=0; i<pTab->nCol; i++){
- if( aCol[i].colFlags & COLFLAG_GENERATED ){
- if( aCol[i].colFlags & COLFLAG_VIRTUAL ) continue;
+ if( pOp->p3<2 ){
+ assert( pTab->nNVCol==pOp->p2 );
+ i = 0;
+ nCol = pTab->nCol;
+ }else{
+ i = pOp->p3-2;
+ nCol = i+1;
+ assert( i<pTab->nCol );
+ assert( aCol[i].colFlags & COLFLAG_VIRTUAL );
+ assert( pOp->p2==1 );
+ }
+ for(; i<nCol; i++){
+ if( (aCol[i].colFlags & COLFLAG_GENERATED)!=0 && pOp->p3<2 ){
+ if( (aCol[i].colFlags & COLFLAG_VIRTUAL)!=0 ) continue;
if( pOp->p3 ){ pIn1++; continue; }
}
assert( pIn1 < &aMem[pOp->p1+pOp->p2] );
@@ -97122,7 +98936,7 @@ case OP_MakeRecord: {
len = (u32)pRec->n;
serial_type = (len*2) + 12 + ((pRec->flags & MEM_Str)!=0);
if( pRec->flags & MEM_Zero ){
- serial_type += pRec->u.nZero*2;
+ serial_type += (u32)pRec->u.nZero*2;
if( nData ){
if( sqlite3VdbeMemExpandBlob(pRec) ) goto no_mem;
len += pRec->u.nZero;
@@ -97241,6 +99055,7 @@ case OP_MakeRecord: {
zHdr += sqlite3PutVarint(zHdr, serial_type);
if( pRec->n ){
assert( pRec->z!=0 );
+ assert( pRec->z!=(const char*)sqlite3CtypeMap );
memcpy(zPayload, pRec->z, pRec->n);
zPayload += pRec->n;
}
@@ -97388,7 +99203,7 @@ case OP_Savepoint: {
*/
int isTransaction = pSavepoint->pNext==0 && db->isTransactionSavepoint;
if( isTransaction && p1==SAVEPOINT_RELEASE ){
- if( (rc = sqlite3VdbeCheckFk(p, 1))!=SQLITE_OK ){
+ if( (rc = sqlite3VdbeCheckFkDeferred(p))!=SQLITE_OK ){
goto vdbe_return;
}
db->autoCommit = 1;
@@ -97506,7 +99321,7 @@ case OP_AutoCommit: {
"SQL statements in progress");
rc = SQLITE_BUSY;
goto abort_due_to_error;
- }else if( (rc = sqlite3VdbeCheckFk(p, 1))!=SQLITE_OK ){
+ }else if( (rc = sqlite3VdbeCheckFkDeferred(p))!=SQLITE_OK ){
goto vdbe_return;
}else{
db->autoCommit = (u8)desiredAutoCommit;
@@ -98878,7 +100693,7 @@ case OP_Found: { /* jump, in3, ncycle */
if( rc ) goto no_mem;
pIdxKey = sqlite3VdbeAllocUnpackedRecord(pC->pKeyInfo);
if( pIdxKey==0 ) goto no_mem;
- sqlite3VdbeRecordUnpack(pC->pKeyInfo, r.aMem->n, r.aMem->z, pIdxKey);
+ sqlite3VdbeRecordUnpack(r.aMem->n, r.aMem->z, pIdxKey);
pIdxKey->default_rc = 0;
rc = sqlite3BtreeIndexMoveto(pC->uc.pCursor, pIdxKey, &pC->seekResult);
sqlite3DbFreeNN(db, pIdxKey);
@@ -99592,7 +101407,7 @@ case OP_RowData: {
/* The OP_RowData opcodes always follow OP_NotExists or
** OP_SeekRowid or OP_Rewind/Op_Next with no intervening instructions
** that might invalidate the cursor.
- ** If this where not the case, on of the following assert()s
+ ** If this were not the case, one of the following assert()s
** would fail. Should this ever change (because of changes in the code
** generator) then the fix would be to insert a call to
** sqlite3VdbeCursorMoveto().
@@ -99876,6 +101691,32 @@ case OP_Rewind: { /* jump0, ncycle */
break;
}
+/* Opcode: IfEmpty P1 P2 * * *
+** Synopsis: if( empty(P1) ) goto P2
+**
+** Check to see if the b-tree table that cursor P1 references is empty
+** and jump to P2 if it is.
+*/
+case OP_IfEmpty: { /* jump */
+ VdbeCursor *pC;
+ BtCursor *pCrsr;
+ int res;
+
+ assert( pOp->p1>=0 && pOp->p1<p->nCursor );
+ assert( pOp->p2>=0 && pOp->p2<p->nOp );
+
+ pC = p->apCsr[pOp->p1];
+ assert( pC!=0 );
+ assert( pC->eCurType==CURTYPE_BTREE );
+ pCrsr = pC->uc.pCursor;
+ assert( pCrsr );
+ rc = sqlite3BtreeIsEmpty(pCrsr, &res);
+ if( rc ) goto abort_due_to_error;
+ VdbeBranchTaken(res!=0,2);
+ if( res ) goto jump_to_p2;
+ break;
+}
+
/* Opcode: Next P1 P2 P3 * P5
**
** Advance cursor P1 so that it points to the next key/data pair in its
@@ -100861,7 +102702,7 @@ case OP_RowSetTest: { /* jump, in1, in3 */
*/
case OP_Program: { /* jump0 */
int nMem; /* Number of memory registers for sub-program */
- int nByte; /* Bytes of runtime space required for sub-program */
+ i64 nByte; /* Bytes of runtime space required for sub-program */
Mem *pRt; /* Register to allocate runtime space */
Mem *pMem; /* Used to iterate through memory cells */
Mem *pEnd; /* Last memory cell in new array */
@@ -100912,7 +102753,7 @@ case OP_Program: { /* jump0 */
nByte = ROUND8(sizeof(VdbeFrame))
+ nMem * sizeof(Mem)
+ pProgram->nCsr * sizeof(VdbeCursor*)
- + (pProgram->nOp + 7)/8;
+ + (7 + (i64)pProgram->nOp)/8;
pFrame = sqlite3DbMallocZero(db, nByte);
if( !pFrame ){
goto no_mem;
@@ -100920,7 +102761,7 @@ case OP_Program: { /* jump0 */
sqlite3VdbeMemRelease(pRt);
pRt->flags = MEM_Blob|MEM_Dyn;
pRt->z = (char*)pFrame;
- pRt->n = nByte;
+ pRt->n = (int)nByte;
pRt->xDel = sqlite3VdbeFrameMemDel;
pFrame->v = p;
@@ -101019,12 +102860,14 @@ case OP_Param: { /* out2 */
** statement counter is incremented (immediate foreign key constraints).
*/
case OP_FkCounter: {
- if( db->flags & SQLITE_DeferFKs ){
- db->nDeferredImmCons += pOp->p2;
- }else if( pOp->p1 ){
+ if( pOp->p1 ){
db->nDeferredCons += pOp->p2;
}else{
- p->nFkConstraint += pOp->p2;
+ if( db->flags & SQLITE_DeferFKs ){
+ db->nDeferredImmCons += pOp->p2;
+ }else{
+ p->nFkConstraint += pOp->p2;
+ }
}
break;
}
@@ -101239,7 +103082,7 @@ case OP_AggStep: {
**
** Note: We could avoid this by using a regular memory cell from aMem[] for
** the accumulator, instead of allocating one here. */
- nAlloc = ROUND8P( sizeof(pCtx[0]) + (n-1)*sizeof(sqlite3_value*) );
+ nAlloc = ROUND8P( SZ_CONTEXT(n) );
pCtx = sqlite3DbMallocRawNN(db, nAlloc + sizeof(Mem));
if( pCtx==0 ) goto no_mem;
pCtx->pOut = (Mem*)((u8*)pCtx + nAlloc);
@@ -101410,6 +103253,7 @@ case OP_Checkpoint: {
|| pOp->p2==SQLITE_CHECKPOINT_FULL
|| pOp->p2==SQLITE_CHECKPOINT_RESTART
|| pOp->p2==SQLITE_CHECKPOINT_TRUNCATE
+ || pOp->p2==SQLITE_CHECKPOINT_NOOP
);
rc = sqlite3Checkpoint(db, pOp->p1, pOp->p2, &aRes[1], &aRes[2]);
if( rc ){
@@ -101745,7 +103589,14 @@ case OP_VOpen: { /* ncycle */
const sqlite3_module *pModule;
assert( p->bIsReader );
- pCur = 0;
+ pCur = p->apCsr[pOp->p1];
+ if( pCur!=0
+ && ALWAYS( pCur->eCurType==CURTYPE_VTAB )
+ && ALWAYS( pCur->uc.pVCur->pVtab==pOp->p4.pVtab->pVtab )
+ ){
+ /* This opcode is a no-op if the cursor is already open */
+ break;
+ }
pVCur = 0;
pVtab = pOp->p4.pVtab->pVtab;
if( pVtab==0 || NEVER(pVtab->pModule==0) ){
@@ -101899,6 +103750,7 @@ case OP_VFilter: { /* jump, ncycle */
/* Invoke the xFilter method */
apArg = p->apArg;
+ assert( nArg<=p->napArg );
for(i = 0; i<nArg; i++){
apArg[i] = &pArgc[i+1];
}
@@ -102109,6 +103961,7 @@ case OP_VUpdate: {
u8 vtabOnConflict = db->vtabOnConflict;
apArg = p->apArg;
pX = &aMem[pOp->p3];
+ assert( nArg<=p->napArg );
for(i=0; i<nArg; i++){
assert( memIsValid(pX) );
memAboutToChange(p, pX);
@@ -102685,8 +104538,7 @@ abort_due_to_error:
p->rc = rc;
sqlite3SystemError(db, rc);
testcase( sqlite3GlobalConfig.xLog!=0 );
- sqlite3_log(rc, "statement aborts at %d: [%s] %s",
- (int)(pOp - aOp), p->zSql, p->zErrMsg);
+ sqlite3VdbeLogAbort(p, rc, pOp, aOp);
if( p->eVdbeState==VDBE_RUN_STATE ) sqlite3VdbeHalt(p);
if( rc==SQLITE_IOERR_NOMEM ) sqlite3OomFault(db);
if( rc==SQLITE_CORRUPT && db->autoCommit==0 ){
@@ -102895,6 +104747,7 @@ SQLITE_API int sqlite3_blob_open(
char *zErr = 0;
Table *pTab;
Incrblob *pBlob = 0;
+ int iDb;
Parse sParse;
#ifdef SQLITE_ENABLE_API_ARMOR
@@ -102940,7 +104793,10 @@ SQLITE_API int sqlite3_blob_open(
sqlite3ErrorMsg(&sParse, "cannot open view: %s", zTable);
}
#endif
- if( !pTab ){
+ if( pTab==0
+ || ((iDb = sqlite3SchemaToIndex(db, pTab->pSchema))==1 &&
+ sqlite3OpenTempDatabase(&sParse))
+ ){
if( sParse.zErrMsg ){
sqlite3DbFree(db, zErr);
zErr = sParse.zErrMsg;
@@ -102951,15 +104807,11 @@ SQLITE_API int sqlite3_blob_open(
goto blob_open_out;
}
pBlob->pTab = pTab;
- pBlob->zDb = db->aDb[sqlite3SchemaToIndex(db, pTab->pSchema)].zDbSName;
+ pBlob->zDb = db->aDb[iDb].zDbSName;
/* Now search pTab for the exact column. */
- for(iCol=0; iCol<pTab->nCol; iCol++) {
- if( sqlite3StrICmp(pTab->aCol[iCol].zCnName, zColumn)==0 ){
- break;
- }
- }
- if( iCol==pTab->nCol ){
+ iCol = sqlite3ColumnIndex(pTab, zColumn);
+ if( iCol<0 ){
sqlite3DbFree(db, zErr);
zErr = sqlite3MPrintf(db, "no such column: \"%s\"", zColumn);
rc = SQLITE_ERROR;
@@ -103039,7 +104891,6 @@ SQLITE_API int sqlite3_blob_open(
{OP_Halt, 0, 0, 0}, /* 5 */
};
Vdbe *v = (Vdbe *)pBlob->pStmt;
- int iDb = sqlite3SchemaToIndex(db, pTab->pSchema);
VdbeOp *aOp;
sqlite3VdbeAddOp4Int(v, OP_Transaction, iDb, wrFlag,
@@ -103148,7 +104999,7 @@ static int blobReadWrite(
int iOffset,
int (*xCall)(BtCursor*, u32, u32, void*)
){
- int rc;
+ int rc = SQLITE_OK;
Incrblob *p = (Incrblob *)pBlob;
Vdbe *v;
sqlite3 *db;
@@ -103188,17 +105039,32 @@ static int blobReadWrite(
** using the incremental-blob API, this works. For the sessions module
** anyhow.
*/
- sqlite3_int64 iKey;
- iKey = sqlite3BtreeIntegerKey(p->pCsr);
- assert( v->apCsr[0]!=0 );
- assert( v->apCsr[0]->eCurType==CURTYPE_BTREE );
- sqlite3VdbePreUpdateHook(
- v, v->apCsr[0], SQLITE_DELETE, p->zDb, p->pTab, iKey, -1, p->iCol
- );
+ if( sqlite3BtreeCursorIsValidNN(p->pCsr)==0 ){
+ /* If the cursor is not currently valid, try to reseek it. This
+ ** always either fails or finds the correct row - the cursor will
+ ** have been marked permanently CURSOR_INVALID if the open row has
+ ** been deleted. */
+ int bDiff = 0;
+ rc = sqlite3BtreeCursorRestore(p->pCsr, &bDiff);
+ assert( bDiff==0 || sqlite3BtreeCursorIsValidNN(p->pCsr)==0 );
+ }
+ if( sqlite3BtreeCursorIsValidNN(p->pCsr) ){
+ sqlite3_int64 iKey;
+ iKey = sqlite3BtreeIntegerKey(p->pCsr);
+ assert( v->apCsr[0]!=0 );
+ assert( v->apCsr[0]->eCurType==CURTYPE_BTREE );
+ sqlite3VdbePreUpdateHook(
+ v, v->apCsr[0], SQLITE_DELETE, p->zDb, p->pTab, iKey, -1, p->iCol
+ );
+ }
+ }
+ if( rc==SQLITE_OK ){
+ rc = xCall(p->pCsr, iOffset+p->iOffset, n, z);
}
+#else
+ rc = xCall(p->pCsr, iOffset+p->iOffset, n, z);
#endif
- rc = xCall(p->pCsr, iOffset+p->iOffset, n, z);
sqlite3BtreeLeaveCursor(p->pCsr);
if( rc==SQLITE_ABORT ){
sqlite3VdbeFinalize(v);
@@ -103587,6 +105453,7 @@ struct SortSubtask {
SorterCompare xCompare; /* Compare function to use */
SorterFile file; /* Temp file for level-0 PMAs */
SorterFile file2; /* Space for other PMAs */
+ u64 nSpill; /* Total bytes written by this task */
};
@@ -103617,9 +105484,12 @@ struct VdbeSorter {
u8 iPrev; /* Previous thread used to flush PMA */
u8 nTask; /* Size of aTask[] array */
u8 typeMask;
- SortSubtask aTask[1]; /* One or more subtasks */
+ SortSubtask aTask[FLEXARRAY]; /* One or more subtasks */
};
+/* Size (in bytes) of a VdbeSorter object that works with N or fewer subtasks */
+#define SZ_VDBESORTER(N) (offsetof(VdbeSorter,aTask)+(N)*sizeof(SortSubtask))
+
#define SORTER_TYPE_INTEGER 0x01
#define SORTER_TYPE_TEXT 0x02
@@ -103704,6 +105574,7 @@ struct PmaWriter {
int iBufEnd; /* Last byte of buffer to write */
i64 iWriteOff; /* Offset of start of buffer in file */
sqlite3_file *pFd; /* File handle to write to */
+ u64 nPmaSpill; /* Total number of bytes written */
};
/*
@@ -104048,7 +105919,7 @@ static int vdbeSorterCompareTail(
){
UnpackedRecord *r2 = pTask->pUnpacked;
if( *pbKey2Cached==0 ){
- sqlite3VdbeRecordUnpack(pTask->pSorter->pKeyInfo, nKey2, pKey2, r2);
+ sqlite3VdbeRecordUnpack(nKey2, pKey2, r2);
*pbKey2Cached = 1;
}
return sqlite3VdbeRecordCompareWithSkip(nKey1, pKey1, r2, 1);
@@ -104075,7 +105946,7 @@ static int vdbeSorterCompare(
){
UnpackedRecord *r2 = pTask->pUnpacked;
if( !*pbKey2Cached ){
- sqlite3VdbeRecordUnpack(pTask->pSorter->pKeyInfo, nKey2, pKey2, r2);
+ sqlite3VdbeRecordUnpack(nKey2, pKey2, r2);
*pbKey2Cached = 1;
}
return sqlite3VdbeRecordCompare(nKey1, pKey1, r2);
@@ -104115,6 +105986,7 @@ static int vdbeSorterCompareText(
);
}
}else{
+ assert( pTask->pSorter->pKeyInfo->aSortFlags!=0 );
assert( !(pTask->pSorter->pKeyInfo->aSortFlags[0]&KEYINFO_ORDER_BIGNULL) );
if( pTask->pSorter->pKeyInfo->aSortFlags[0] ){
res = res * -1;
@@ -104178,6 +106050,7 @@ static int vdbeSorterCompareInt(
}
}
+ assert( pTask->pSorter->pKeyInfo->aSortFlags!=0 );
if( res==0 ){
if( pTask->pSorter->pKeyInfo->nKeyField>1 ){
res = vdbeSorterCompareTail(
@@ -104221,7 +106094,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterInit(
VdbeSorter *pSorter; /* The new sorter */
KeyInfo *pKeyInfo; /* Copy of pCsr->pKeyInfo with db==0 */
int szKeyInfo; /* Size of pCsr->pKeyInfo in bytes */
- int sz; /* Size of pSorter in bytes */
+ i64 sz; /* Size of pSorter in bytes */
int rc = SQLITE_OK;
#if SQLITE_MAX_WORKER_THREADS==0
# define nWorker 0
@@ -104249,8 +106122,11 @@ SQLITE_PRIVATE int sqlite3VdbeSorterInit(
assert( pCsr->pKeyInfo );
assert( !pCsr->isEphemeral );
assert( pCsr->eCurType==CURTYPE_SORTER );
- szKeyInfo = sizeof(KeyInfo) + (pCsr->pKeyInfo->nKeyField-1)*sizeof(CollSeq*);
- sz = sizeof(VdbeSorter) + nWorker * sizeof(SortSubtask);
+ assert( sizeof(KeyInfo) + UMXV(pCsr->pKeyInfo->nKeyField)*sizeof(CollSeq*)
+ < 0x7fffffff );
+ assert( pCsr->pKeyInfo->nKeyField<=pCsr->pKeyInfo->nAllField );
+ szKeyInfo = SZ_KEYINFO(pCsr->pKeyInfo->nAllField);
+ sz = SZ_VDBESORTER(nWorker+1);
pSorter = (VdbeSorter*)sqlite3DbMallocZero(db, sz + szKeyInfo);
pCsr->uc.pSorter = pSorter;
@@ -104263,7 +106139,12 @@ SQLITE_PRIVATE int sqlite3VdbeSorterInit(
pKeyInfo->db = 0;
if( nField && nWorker==0 ){
pKeyInfo->nKeyField = nField;
+ assert( nField<=pCsr->pKeyInfo->nAllField );
}
+ /* It is OK that pKeyInfo reuses the aSortFlags field from pCsr->pKeyInfo,
+ ** since the pCsr->pKeyInfo->aSortFlags[] array is invariant and lives
+ ** longer that pSorter. */
+ assert( pKeyInfo->aSortFlags==pCsr->pKeyInfo->aSortFlags );
sqlite3BtreeEnter(pBt);
pSorter->pgsz = pgsz = sqlite3BtreeGetPageSize(pBt);
sqlite3BtreeLeave(pBt);
@@ -104462,7 +106343,7 @@ static int vdbeSorterJoinAll(VdbeSorter *pSorter, int rcin){
*/
static MergeEngine *vdbeMergeEngineNew(int nReader){
int N = 2; /* Smallest power of two >= nReader */
- int nByte; /* Total bytes of space to allocate */
+ i64 nByte; /* Total bytes of space to allocate */
MergeEngine *pNew; /* Pointer to allocated object to return */
assert( nReader<=SORTER_MAX_MERGE_COUNT );
@@ -104552,6 +106433,12 @@ SQLITE_PRIVATE void sqlite3VdbeSorterClose(sqlite3 *db, VdbeCursor *pCsr){
assert( pCsr->eCurType==CURTYPE_SORTER );
pSorter = pCsr->uc.pSorter;
if( pSorter ){
+ /* Increment db->nSpill by the total number of bytes of data written
+ ** to temp files by this sort operation. */
+ int ii;
+ for(ii=0; ii<pSorter->nTask; ii++){
+ db->nSpill += pSorter->aTask[ii].nSpill;
+ }
sqlite3VdbeSorterReset(db, pSorter);
sqlite3_free(pSorter->list.aMemory);
sqlite3DbFree(db, pSorter);
@@ -104714,6 +106601,10 @@ static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){
p->u.pNext = 0;
for(i=0; aSlot[i]; i++){
p = vdbeSorterMerge(pTask, p, aSlot[i]);
+ /* ,--Each aSlot[] holds twice as much as the previous. So we cannot use
+ ** | up all 64 aSlots[] with only a 64-bit address space.
+ ** v */
+ assert( i<ArraySize(aSlot) );
aSlot[i] = 0;
}
aSlot[i] = p;
@@ -104773,6 +106664,7 @@ static void vdbePmaWriteBlob(PmaWriter *p, u8 *pData, int nData){
&p->aBuffer[p->iBufStart], p->iBufEnd - p->iBufStart,
p->iWriteOff + p->iBufStart
);
+ p->nPmaSpill += (p->iBufEnd - p->iBufStart);
p->iBufStart = p->iBufEnd = 0;
p->iWriteOff += p->nBuffer;
}
@@ -104789,17 +106681,20 @@ static void vdbePmaWriteBlob(PmaWriter *p, u8 *pData, int nData){
** required. Otherwise, return an SQLite error code.
**
** Before returning, set *piEof to the offset immediately following the
-** last byte written to the file.
+** last byte written to the file. Also, increment (*pnSpill) by the total
+** number of bytes written to the file.
*/
-static int vdbePmaWriterFinish(PmaWriter *p, i64 *piEof){
+static int vdbePmaWriterFinish(PmaWriter *p, i64 *piEof, u64 *pnSpill){
int rc;
if( p->eFWErr==0 && ALWAYS(p->aBuffer) && p->iBufEnd>p->iBufStart ){
p->eFWErr = sqlite3OsWrite(p->pFd,
&p->aBuffer[p->iBufStart], p->iBufEnd - p->iBufStart,
p->iWriteOff + p->iBufStart
);
+ p->nPmaSpill += (p->iBufEnd - p->iBufStart);
}
*piEof = (p->iWriteOff + p->iBufEnd);
+ *pnSpill += p->nPmaSpill;
sqlite3_free(p->aBuffer);
rc = p->eFWErr;
memset(p, 0, sizeof(PmaWriter));
@@ -104879,7 +106774,7 @@ static int vdbeSorterListToPMA(SortSubtask *pTask, SorterList *pList){
if( pList->aMemory==0 ) sqlite3_free(p);
}
pList->pList = p;
- rc = vdbePmaWriterFinish(&writer, &pTask->file.iEof);
+ rc = vdbePmaWriterFinish(&writer, &pTask->file.iEof, &pTask->nSpill);
}
vdbeSorterWorkDebug(pTask, "exit");
@@ -105193,7 +107088,7 @@ static int vdbeIncrPopulate(IncrMerger *pIncr){
rc = vdbeMergeEngineStep(pIncr->pMerger, &dummy);
}
- rc2 = vdbePmaWriterFinish(&writer, &pOut->iEof);
+ rc2 = vdbePmaWriterFinish(&writer, &pOut->iEof, &pTask->nSpill);
if( rc==SQLITE_OK ) rc = rc2;
vdbeSorterPopulateDebug(pTask, "exit");
return rc;
@@ -106039,7 +107934,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterCompare(
assert( r2->nField==nKeyCol );
pKey = vdbeSorterRowkey(pSorter, &nKey);
- sqlite3VdbeRecordUnpack(pKeyInfo, nKey, pKey, r2);
+ sqlite3VdbeRecordUnpack(nKey, pKey, r2);
for(i=0; i<nKeyCol; i++){
if( r2->aMem[i].flags & MEM_Null ){
*pRes = -1;
@@ -107505,7 +109400,6 @@ static int lookupName(
Schema *pSchema = 0; /* Schema of the expression */
int eNewExprOp = TK_COLUMN; /* New value for pExpr->op on success */
Table *pTab = 0; /* Table holding the row */
- Column *pCol; /* A column of pTab */
ExprList *pFJMatch = 0; /* Matches for FULL JOIN .. USING */
const char *zCol = pRight->u.zToken;
@@ -107556,7 +109450,6 @@ static int lookupName(
if( pSrcList ){
for(i=0, pItem=pSrcList->a; i<pSrcList->nSrc; i++, pItem++){
- u8 hCol;
pTab = pItem->pSTab;
assert( pTab!=0 && pTab->zName!=0 );
assert( pTab->nCol>0 || pParse->nErr );
@@ -107586,10 +109479,13 @@ static int lookupName(
if( cnt>0 ){
if( pItem->fg.isUsing==0
|| sqlite3IdListIndex(pItem->u3.pUsing, zCol)<0
+ || pMatch==pItem
){
/* Two or more tables have the same column name which is
- ** not joined by USING. This is an error. Signal as much
- ** by clearing pFJMatch and letting cnt go above 1. */
+ ** not joined by USING. Or, a single table has two columns
+ ** that match a USING term (if pMatch==pItem). These are both
+ ** "ambiguous column name" errors. Signal as much by clearing
+ ** pFJMatch and letting cnt go above 1. */
sqlite3ExprListDelete(db, pFJMatch);
pFJMatch = 0;
}else
@@ -107644,43 +109540,38 @@ static int lookupName(
sqlite3RenameTokenRemap(pParse, 0, (void*)&pExpr->y.pTab);
}
}
- hCol = sqlite3StrIHash(zCol);
- for(j=0, pCol=pTab->aCol; j<pTab->nCol; j++, pCol++){
- if( pCol->hName==hCol
- && sqlite3StrICmp(pCol->zCnName, zCol)==0
- ){
- if( cnt>0 ){
- if( pItem->fg.isUsing==0
- || sqlite3IdListIndex(pItem->u3.pUsing, zCol)<0
- ){
- /* Two or more tables have the same column name which is
- ** not joined by USING. This is an error. Signal as much
- ** by clearing pFJMatch and letting cnt go above 1. */
- sqlite3ExprListDelete(db, pFJMatch);
- pFJMatch = 0;
- }else
- if( (pItem->fg.jointype & JT_RIGHT)==0 ){
- /* An INNER or LEFT JOIN. Use the left-most table */
- continue;
- }else
- if( (pItem->fg.jointype & JT_LEFT)==0 ){
- /* A RIGHT JOIN. Use the right-most table */
- cnt = 0;
- sqlite3ExprListDelete(db, pFJMatch);
- pFJMatch = 0;
- }else{
- /* For a FULL JOIN, we must construct a coalesce() func */
- extendFJMatch(pParse, &pFJMatch, pMatch, pExpr->iColumn);
- }
- }
- cnt++;
- pMatch = pItem;
- /* Substitute the rowid (column -1) for the INTEGER PRIMARY KEY */
- pExpr->iColumn = j==pTab->iPKey ? -1 : (i16)j;
- if( pItem->fg.isNestedFrom ){
- sqlite3SrcItemColumnUsed(pItem, j);
+ j = sqlite3ColumnIndex(pTab, zCol);
+ if( j>=0 ){
+ if( cnt>0 ){
+ if( pItem->fg.isUsing==0
+ || sqlite3IdListIndex(pItem->u3.pUsing, zCol)<0
+ ){
+ /* Two or more tables have the same column name which is
+ ** not joined by USING. This is an error. Signal as much
+ ** by clearing pFJMatch and letting cnt go above 1. */
+ sqlite3ExprListDelete(db, pFJMatch);
+ pFJMatch = 0;
+ }else
+ if( (pItem->fg.jointype & JT_RIGHT)==0 ){
+ /* An INNER or LEFT JOIN. Use the left-most table */
+ continue;
+ }else
+ if( (pItem->fg.jointype & JT_LEFT)==0 ){
+ /* A RIGHT JOIN. Use the right-most table */
+ cnt = 0;
+ sqlite3ExprListDelete(db, pFJMatch);
+ pFJMatch = 0;
+ }else{
+ /* For a FULL JOIN, we must construct a coalesce() func */
+ extendFJMatch(pParse, &pFJMatch, pMatch, pExpr->iColumn);
}
- break;
+ }
+ cnt++;
+ pMatch = pItem;
+ /* Substitute the rowid (column -1) for the INTEGER PRIMARY KEY */
+ pExpr->iColumn = j==pTab->iPKey ? -1 : (i16)j;
+ if( pItem->fg.isNestedFrom ){
+ sqlite3SrcItemColumnUsed(pItem, j);
}
}
if( 0==cnt && VisibleRowid(pTab) ){
@@ -107770,23 +109661,18 @@ static int lookupName(
if( pTab ){
int iCol;
- u8 hCol = sqlite3StrIHash(zCol);
pSchema = pTab->pSchema;
cntTab++;
- for(iCol=0, pCol=pTab->aCol; iCol<pTab->nCol; iCol++, pCol++){
- if( pCol->hName==hCol
- && sqlite3StrICmp(pCol->zCnName, zCol)==0
- ){
- if( iCol==pTab->iPKey ){
- iCol = -1;
- }
- break;
+ iCol = sqlite3ColumnIndex(pTab, zCol);
+ if( iCol>=0 ){
+ if( pTab->iPKey==iCol ) iCol = -1;
+ }else{
+ if( sqlite3IsRowid(zCol) && VisibleRowid(pTab) ){
+ iCol = -1;
+ }else{
+ iCol = pTab->nCol;
}
}
- if( iCol>=pTab->nCol && sqlite3IsRowid(zCol) && VisibleRowid(pTab) ){
- /* IMP: R-51414-32910 */
- iCol = -1;
- }
if( iCol<pTab->nCol ){
cnt++;
pMatch = 0;
@@ -108149,8 +110035,8 @@ static void notValidImpl(
/*
** Expression p should encode a floating point value between 1.0 and 0.0.
-** Return 1024 times this value. Or return -1 if p is not a floating point
-** value between 1.0 and 0.0.
+** Return 134,217,728 (2^27) times this value. Or return -1 if p is not
+** a floating point value between 1.0 and 0.0.
*/
static int exprProbability(Expr *p){
double r = -1.0;
@@ -108425,13 +110311,12 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){
** sqlite_version() that might change over time cannot be used
** in an index or generated column. Curiously, they can be used
** in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all
- ** all this. */
+ ** allow this. */
sqlite3ResolveNotValid(pParse, pNC, "non-deterministic functions",
NC_IdxExpr|NC_PartIdx|NC_GenCol, 0, pExpr);
}else{
assert( (NC_SelfRef & 0xff)==NC_SelfRef ); /* Must fit in 8 bits */
pExpr->op2 = pNC->ncFlags & NC_SelfRef;
- if( pNC->ncFlags & NC_FromDDL ) ExprSetProperty(pExpr, EP_FromDDL);
}
if( (pDef->funcFlags & SQLITE_FUNC_INTERNAL)!=0
&& pParse->nested==0
@@ -108447,6 +110332,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){
if( (pDef->funcFlags & (SQLITE_FUNC_DIRECT|SQLITE_FUNC_UNSAFE))!=0
&& !IN_RENAME_OBJECT
){
+ if( pNC->ncFlags & NC_FromDDL ) ExprSetProperty(pExpr, EP_FromDDL);
sqlite3ExprFunctionUsable(pParse, pExpr, pDef);
}
}
@@ -108581,11 +110467,13 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){
return WRC_Prune;
}
#ifndef SQLITE_OMIT_SUBQUERY
+ case TK_EXISTS:
case TK_SELECT:
- case TK_EXISTS: testcase( pExpr->op==TK_EXISTS );
#endif
case TK_IN: {
testcase( pExpr->op==TK_IN );
+ testcase( pExpr->op==TK_EXISTS );
+ testcase( pExpr->op==TK_SELECT );
if( ExprUseXSelect(pExpr) ){
int nRef = pNC->nRef;
testcase( pNC->ncFlags & NC_IsCheck );
@@ -108593,6 +110481,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){
testcase( pNC->ncFlags & NC_IdxExpr );
testcase( pNC->ncFlags & NC_GenCol );
assert( pExpr->x.pSelect );
+ if( pExpr->op==TK_EXISTS ) pParse->bHasExists = 1;
if( pNC->ncFlags & NC_SelfRef ){
notValidImpl(pParse, pNC, "subqueries", pExpr, pExpr);
}else{
@@ -109500,20 +111389,25 @@ SQLITE_PRIVATE int sqlite3ResolveSelfReference(
Expr *pExpr, /* Expression to resolve. May be NULL. */
ExprList *pList /* Expression list to resolve. May be NULL. */
){
- SrcList sSrc; /* Fake SrcList for pParse->pNewTable */
+ SrcList *pSrc; /* Fake SrcList for pParse->pNewTable */
NameContext sNC; /* Name context for pParse->pNewTable */
int rc;
+ union {
+ SrcList sSrc;
+ u8 srcSpace[SZ_SRCLIST_1]; /* Memory space for the fake SrcList */
+ } uSrc;
assert( type==0 || pTab!=0 );
assert( type==NC_IsCheck || type==NC_PartIdx || type==NC_IdxExpr
|| type==NC_GenCol || pTab==0 );
memset(&sNC, 0, sizeof(sNC));
- memset(&sSrc, 0, sizeof(sSrc));
+ memset(&uSrc, 0, sizeof(uSrc));
+ pSrc = &uSrc.sSrc;
if( pTab ){
- sSrc.nSrc = 1;
- sSrc.a[0].zName = pTab->zName;
- sSrc.a[0].pSTab = pTab;
- sSrc.a[0].iCursor = -1;
+ pSrc->nSrc = 1;
+ pSrc->a[0].zName = pTab->zName;
+ pSrc->a[0].pSTab = pTab;
+ pSrc->a[0].iCursor = -1;
if( pTab->pSchema!=pParse->db->aDb[1].pSchema ){
/* Cause EP_FromDDL to be set on TK_FUNCTION nodes of non-TEMP
** schema elements */
@@ -109521,7 +111415,7 @@ SQLITE_PRIVATE int sqlite3ResolveSelfReference(
}
}
sNC.pParse = pParse;
- sNC.pSrcList = &sSrc;
+ sNC.pSrcList = pSrc;
sNC.ncFlags = type | NC_IsDDL;
if( (rc = sqlite3ResolveExprNames(&sNC, pExpr))!=SQLITE_OK ) return rc;
if( pList ) rc = sqlite3ResolveExprListNames(&sNC, pList);
@@ -109605,7 +111499,9 @@ SQLITE_PRIVATE char sqlite3ExprAffinity(const Expr *pExpr){
pExpr->pLeft->x.pSelect->pEList->a[pExpr->iColumn].pExpr
);
}
- if( op==TK_VECTOR ){
+ if( op==TK_VECTOR
+ || (op==TK_FUNCTION && pExpr->affExpr==SQLITE_AFF_DEFER)
+ ){
assert( ExprUseXList(pExpr) );
return sqlite3ExprAffinity(pExpr->x.pList->a[0].pExpr);
}
@@ -109798,7 +111694,9 @@ SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, const Expr *pExpr){
p = p->pLeft;
continue;
}
- if( op==TK_VECTOR ){
+ if( op==TK_VECTOR
+ || (op==TK_FUNCTION && p->affExpr==SQLITE_AFF_DEFER)
+ ){
assert( ExprUseXList(p) );
p = p->x.pList->a[0].pExpr;
continue;
@@ -110672,7 +112570,7 @@ SQLITE_PRIVATE Expr *sqlite3ExprAnd(Parse *pParse, Expr *pLeft, Expr *pRight){
return pLeft;
}else{
u32 f = pLeft->flags | pRight->flags;
- if( (f&(EP_OuterON|EP_InnerON|EP_IsFalse))==EP_IsFalse
+ if( (f&(EP_OuterON|EP_InnerON|EP_IsFalse|EP_HasFunc))==EP_IsFalse
&& !IN_RENAME_OBJECT
){
sqlite3ExprDeferredDelete(pParse, pLeft);
@@ -110767,6 +112665,11 @@ SQLITE_PRIVATE void sqlite3ExprAddFunctionOrderBy(
sqlite3ExprListDelete(db, pOrderBy);
return;
}
+ if( pOrderBy->nExpr>db->aLimit[SQLITE_LIMIT_COLUMN] ){
+ sqlite3ErrorMsg(pParse, "too many terms in ORDER BY clause");
+ sqlite3ExprListDelete(db, pOrderBy);
+ return;
+ }
pOB = sqlite3ExprAlloc(db, TK_ORDER, 0, 0);
if( pOB==0 ){
@@ -111270,7 +113173,7 @@ static Expr *exprDup(
SQLITE_PRIVATE With *sqlite3WithDup(sqlite3 *db, With *p){
With *pRet = 0;
if( p ){
- sqlite3_int64 nByte = sizeof(*p) + sizeof(p->a[0]) * (p->nCte-1);
+ sqlite3_int64 nByte = SZ_WITH(p->nCte);
pRet = sqlite3DbMallocZero(db, nByte);
if( pRet ){
int i;
@@ -111381,7 +113284,6 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListDup(sqlite3 *db, const ExprList *p, int
}
pItem->zEName = sqlite3DbStrDup(db, pOldItem->zEName);
pItem->fg = pOldItem->fg;
- pItem->fg.done = 0;
pItem->u = pOldItem->u;
}
return pNew;
@@ -111398,11 +113300,9 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListDup(sqlite3 *db, const ExprList *p, int
SQLITE_PRIVATE SrcList *sqlite3SrcListDup(sqlite3 *db, const SrcList *p, int flags){
SrcList *pNew;
int i;
- int nByte;
assert( db!=0 );
if( p==0 ) return 0;
- nByte = sizeof(*p) + (p->nSrc>0 ? sizeof(p->a[0]) * (p->nSrc-1) : 0);
- pNew = sqlite3DbMallocRawNN(db, nByte );
+ pNew = sqlite3DbMallocRawNN(db, SZ_SRCLIST(p->nSrc) );
if( pNew==0 ) return 0;
pNew->nSrc = pNew->nAlloc = p->nSrc;
for(i=0; i<p->nSrc; i++){
@@ -111464,7 +113364,7 @@ SQLITE_PRIVATE IdList *sqlite3IdListDup(sqlite3 *db, const IdList *p){
int i;
assert( db!=0 );
if( p==0 ) return 0;
- pNew = sqlite3DbMallocRawNN(db, sizeof(*pNew)+(p->nId-1)*sizeof(p->a[0]) );
+ pNew = sqlite3DbMallocRawNN(db, SZ_IDLIST(p->nId));
if( pNew==0 ) return 0;
pNew->nId = p->nId;
for(i=0; i<p->nId; i++){
@@ -111496,7 +113396,7 @@ SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, const Select *pDup, int fla
pNew->pLimit = sqlite3ExprDup(db, p->pLimit, flags);
pNew->iLimit = 0;
pNew->iOffset = 0;
- pNew->selFlags = p->selFlags & ~SF_UsesEphemeral;
+ pNew->selFlags = p->selFlags & ~(u32)SF_UsesEphemeral;
pNew->addrOpenEphm[0] = -1;
pNew->addrOpenEphm[1] = -1;
pNew->nSelectRow = p->nSelectRow;
@@ -111548,7 +113448,7 @@ SQLITE_PRIVATE SQLITE_NOINLINE ExprList *sqlite3ExprListAppendNew(
struct ExprList_item *pItem;
ExprList *pList;
- pList = sqlite3DbMallocRawNN(db, sizeof(ExprList)+sizeof(pList->a[0])*4 );
+ pList = sqlite3DbMallocRawNN(db, SZ_EXPRLIST(4));
if( pList==0 ){
sqlite3ExprDelete(db, pExpr);
return 0;
@@ -111568,8 +113468,7 @@ SQLITE_PRIVATE SQLITE_NOINLINE ExprList *sqlite3ExprListAppendGrow(
struct ExprList_item *pItem;
ExprList *pNew;
pList->nAlloc *= 2;
- pNew = sqlite3DbRealloc(db, pList,
- sizeof(*pList)+(pList->nAlloc-1)*sizeof(pList->a[0]));
+ pNew = sqlite3DbRealloc(db, pList, SZ_EXPRLIST(pList->nAlloc));
if( pNew==0 ){
sqlite3ExprListDelete(db, pList);
sqlite3ExprDelete(db, pExpr);
@@ -111905,6 +113804,85 @@ SQLITE_PRIVATE Expr *sqlite3ExprSimplifiedAndOr(Expr *pExpr){
return pExpr;
}
+/*
+** Return true if it might be advantageous to compute the right operand
+** of expression pExpr first, before the left operand.
+**
+** Normally the left operand is computed before the right operand. But if
+** the left operand contains a subquery and the right does not, then it
+** might be more efficient to compute the right operand first.
+*/
+static int exprEvalRhsFirst(Expr *pExpr){
+ if( ExprHasProperty(pExpr->pLeft, EP_Subquery)
+ && !ExprHasProperty(pExpr->pRight, EP_Subquery)
+ ){
+ return 1;
+ }else{
+ return 0;
+ }
+}
+
+/*
+** Compute the two operands of a binary operator.
+**
+** If either operand contains a subquery, then the code strives to
+** compute the operand containing the subquery second. If the other
+** operand evalutes to NULL, then a jump is made. The address of the
+** IsNull operand that does this jump is returned. The caller can use
+** this to optimize the computation so as to avoid doing the potentially
+** expensive subquery.
+**
+** If no optimization opportunities exist, return 0.
+*/
+static int exprComputeOperands(
+ Parse *pParse, /* Parsing context */
+ Expr *pExpr, /* The comparison expression */
+ int *pR1, /* OUT: Register holding the left operand */
+ int *pR2, /* OUT: Register holding the right operand */
+ int *pFree1, /* OUT: Temp register to free if not zero */
+ int *pFree2 /* OUT: Another temp register to free if not zero */
+){
+ int addrIsNull;
+ int r1, r2;
+ Vdbe *v = pParse->pVdbe;
+
+ assert( v!=0 );
+ /*
+ ** If the left operand contains a (possibly expensive) subquery and the
+ ** right operand does not and the right operation might be NULL,
+ ** then compute the right operand first and do an IsNull jump if the
+ ** right operand evalutes to NULL.
+ */
+ if( exprEvalRhsFirst(pExpr) && sqlite3ExprCanBeNull(pExpr->pRight) ){
+ r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, pFree2);
+ addrIsNull = sqlite3VdbeAddOp1(v, OP_IsNull, r2);
+ VdbeComment((v, "skip left operand"));
+ VdbeCoverage(v);
+ }else{
+ r2 = 0; /* Silence a false-positive uninit-var warning in MSVC */
+ addrIsNull = 0;
+ }
+ r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, pFree1);
+ if( addrIsNull==0 ){
+ /*
+ ** If the right operand contains a subquery and the left operand does not
+ ** and the left operand might be NULL, then do an IsNull check
+ ** check on the left operand before computing the right operand.
+ */
+ if( ExprHasProperty(pExpr->pRight, EP_Subquery)
+ && sqlite3ExprCanBeNull(pExpr->pLeft)
+ ){
+ addrIsNull = sqlite3VdbeAddOp1(v, OP_IsNull, r1);
+ VdbeComment((v, "skip right operand"));
+ VdbeCoverage(v);
+ }
+ r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, pFree2);
+ }
+ *pR1 = r1;
+ *pR2 = r2;
+ return addrIsNull;
+}
+
/*
** pExpr is a TK_FUNCTION node. Try to determine whether or not the
** function is a constant function. A function is constant if all of
@@ -112498,13 +114476,7 @@ SQLITE_PRIVATE const char *sqlite3RowidAlias(Table *pTab){
int ii;
assert( VisibleRowid(pTab) );
for(ii=0; ii<ArraySize(azOpt); ii++){
- int iCol;
- for(iCol=0; iCol<pTab->nCol; iCol++){
- if( sqlite3_stricmp(azOpt[ii], pTab->aCol[iCol].zCnName)==0 ) break;
- }
- if( iCol==pTab->nCol ){
- return azOpt[ii];
- }
+ if( sqlite3ColumnIndex(pTab, azOpt[ii])<0 ) return azOpt[ii];
}
return 0;
}
@@ -112908,7 +114880,7 @@ static char *exprINAffinity(Parse *pParse, const Expr *pExpr){
char *zRet;
assert( pExpr->op==TK_IN );
- zRet = sqlite3DbMallocRaw(pParse->db, nVal+1);
+ zRet = sqlite3DbMallocRaw(pParse->db, 1+(i64)nVal);
if( zRet ){
int i;
for(i=0; i<nVal; i++){
@@ -113168,11 +115140,12 @@ SQLITE_PRIVATE void sqlite3CodeRhsOfIN(
sqlite3SelectDelete(pParse->db, pCopy);
sqlite3DbFree(pParse->db, dest.zAffSdst);
if( addrBloom ){
+ /* Remember that location of the Bloom filter in the P3 operand
+ ** of the OP_Once that began this subroutine. tag-202407032019 */
sqlite3VdbeGetOp(v, addrOnce)->p3 = dest.iSDParm2;
if( dest.iSDParm2==0 ){
- sqlite3VdbeChangeToNoop(v, addrBloom);
- }else{
- sqlite3VdbeGetOp(v, addrOnce)->p3 = dest.iSDParm2;
+ /* If the Bloom filter won't actually be used, keep it small */
+ sqlite3VdbeGetOp(v, addrBloom)->p1 = 10;
}
}
if( rc ){
@@ -113344,9 +115317,22 @@ SQLITE_PRIVATE int sqlite3CodeSubselect(Parse *pParse, Expr *pExpr){
pParse->nMem += nReg;
if( pExpr->op==TK_SELECT ){
dest.eDest = SRT_Mem;
- dest.iSdst = dest.iSDParm;
+ if( (pSel->selFlags&SF_Distinct) && pSel->pLimit && pSel->pLimit->pRight ){
+ /* If there is both a DISTINCT and an OFFSET clause, then allocate
+ ** a separate dest.iSdst array for sqlite3Select() and other
+ ** routines to populate. In this case results will be copied over
+ ** into the dest.iSDParm array only after OFFSET processing. This
+ ** ensures that in the case where OFFSET excludes all rows, the
+ ** dest.iSDParm array is not left populated with the contents of the
+ ** last row visited - it should be all NULLs if all rows were
+ ** excluded by OFFSET. */
+ dest.iSdst = pParse->nMem+1;
+ pParse->nMem += nReg;
+ }else{
+ dest.iSdst = dest.iSDParm;
+ }
dest.nSdst = nReg;
- sqlite3VdbeAddOp3(v, OP_Null, 0, dest.iSDParm, dest.iSDParm+nReg-1);
+ sqlite3VdbeAddOp3(v, OP_Null, 0, dest.iSDParm, pParse->nMem);
VdbeComment((v, "Init subquery result"));
}else{
dest.eDest = SRT_Exists;
@@ -113354,17 +115340,23 @@ SQLITE_PRIVATE int sqlite3CodeSubselect(Parse *pParse, Expr *pExpr){
VdbeComment((v, "Init EXISTS result"));
}
if( pSel->pLimit ){
- /* The subquery already has a limit. If the pre-existing limit is X
- ** then make the new limit X<>0 so that the new limit is either 1 or 0 */
- sqlite3 *db = pParse->db;
- pLimit = sqlite3Expr(db, TK_INTEGER, "0");
- if( pLimit ){
- pLimit->affExpr = SQLITE_AFF_NUMERIC;
- pLimit = sqlite3PExpr(pParse, TK_NE,
- sqlite3ExprDup(db, pSel->pLimit->pLeft, 0), pLimit);
+ /* The subquery already has a limit. If the pre-existing limit X is
+ ** not already integer value 1 or 0, then make the new limit X<>0 so that
+ ** the new limit is either 1 or 0 */
+ Expr *pLeft = pSel->pLimit->pLeft;
+ if( ExprHasProperty(pLeft, EP_IntValue)==0
+ || (pLeft->u.iValue!=1 && pLeft->u.iValue!=0)
+ ){
+ sqlite3 *db = pParse->db;
+ pLimit = sqlite3Expr(db, TK_INTEGER, "0");
+ if( pLimit ){
+ pLimit->affExpr = SQLITE_AFF_NUMERIC;
+ pLimit = sqlite3PExpr(pParse, TK_NE,
+ sqlite3ExprDup(db, pLeft, 0), pLimit);
+ }
+ sqlite3ExprDeferredDelete(pParse, pLeft);
+ pSel->pLimit->pLeft = pLimit;
}
- sqlite3ExprDeferredDelete(pParse, pSel->pLimit->pLeft);
- pSel->pLimit->pLeft = pLimit;
}else{
/* If there is no pre-existing limit add a limit of 1 */
pLimit = sqlite3Expr(pParse->db, TK_INTEGER, "1");
@@ -113452,7 +115444,6 @@ static void sqlite3ExprCodeIN(
int rRhsHasNull = 0; /* Register that is true if RHS contains NULL values */
int eType; /* Type of the RHS */
int rLhs; /* Register(s) holding the LHS values */
- int rLhsOrig; /* LHS values prior to reordering by aiMap[] */
Vdbe *v; /* Statement under construction */
int *aiMap = 0; /* Map from vector field to index column */
char *zAff = 0; /* Affinity string for comparisons */
@@ -113515,19 +115506,8 @@ static void sqlite3ExprCodeIN(
** by code generated below. */
assert( pParse->okConstFactor==okConstFactor );
pParse->okConstFactor = 0;
- rLhsOrig = exprCodeVector(pParse, pLeft, &iDummy);
+ rLhs = exprCodeVector(pParse, pLeft, &iDummy);
pParse->okConstFactor = okConstFactor;
- for(i=0; i<nVector && aiMap[i]==i; i++){} /* Are LHS fields reordered? */
- if( i==nVector ){
- /* LHS fields are not reordered */
- rLhs = rLhsOrig;
- }else{
- /* Need to reorder the LHS fields according to aiMap */
- rLhs = sqlite3GetTempRange(pParse, nVector);
- for(i=0; i<nVector; i++){
- sqlite3VdbeAddOp3(v, OP_Copy, rLhsOrig+i, rLhs+aiMap[i], 0);
- }
- }
/* If sqlite3FindInIndex() did not find or create an index that is
** suitable for evaluating the IN operator, then evaluate using a
@@ -113542,6 +115522,7 @@ static void sqlite3ExprCodeIN(
int r2, regToFree;
int regCkNull = 0;
int ii;
+ assert( nVector==1 );
assert( ExprUseXList(pExpr) );
pList = pExpr->x.pList;
pColl = sqlite3ExprCollSeq(pParse, pExpr->pLeft);
@@ -113583,6 +115564,26 @@ static void sqlite3ExprCodeIN(
goto sqlite3ExprCodeIN_finished;
}
+ if( eType!=IN_INDEX_ROWID ){
+ /* If this IN operator will use an index, then the order of columns in the
+ ** vector might be different from the order in the index. In that case,
+ ** we need to reorder the LHS values to be in index order. Run Affinity
+ ** before reordering the columns, so that the affinity is correct.
+ */
+ sqlite3VdbeAddOp4(v, OP_Affinity, rLhs, nVector, 0, zAff, nVector);
+ for(i=0; i<nVector && aiMap[i]==i; i++){} /* Are LHS fields reordered? */
+ if( i!=nVector ){
+ /* Need to reorder the LHS fields according to aiMap */
+ int rLhsOrig = rLhs;
+ rLhs = sqlite3GetTempRange(pParse, nVector);
+ for(i=0; i<nVector; i++){
+ sqlite3VdbeAddOp3(v, OP_Copy, rLhsOrig+i, rLhs+aiMap[i], 0);
+ }
+ sqlite3ReleaseTempReg(pParse, rLhsOrig);
+ }
+ }
+
+
/* Step 2: Check to see if the LHS contains any NULL columns. If the
** LHS does contain NULLs then the result must be either FALSE or NULL.
** We will then skip the binary search of the RHS.
@@ -113609,17 +115610,17 @@ static void sqlite3ExprCodeIN(
/* In this case, the RHS is the ROWID of table b-tree and so we also
** know that the RHS is non-NULL. Hence, we combine steps 3 and 4
** into a single opcode. */
+ assert( nVector==1 );
sqlite3VdbeAddOp3(v, OP_SeekRowid, iTab, destIfFalse, rLhs);
VdbeCoverage(v);
addrTruthOp = sqlite3VdbeAddOp0(v, OP_Goto); /* Return True */
}else{
- sqlite3VdbeAddOp4(v, OP_Affinity, rLhs, nVector, 0, zAff, nVector);
if( destIfFalse==destIfNull ){
/* Combine Step 3 and Step 5 into a single opcode */
if( ExprHasProperty(pExpr, EP_Subrtn) ){
const VdbeOp *pOp = sqlite3VdbeGetOp(v, pExpr->y.sub.iAddr);
assert( pOp->opcode==OP_Once || pParse->nErr );
- if( pOp->opcode==OP_Once && pOp->p3>0 ){
+ if( pOp->opcode==OP_Once && pOp->p3>0 ){ /* tag-202407032019 */
assert( OptimizationEnabled(pParse->db, SQLITE_BloomFilter) );
sqlite3VdbeAddOp4Int(v, OP_Filter, pOp->p3, destIfFalse,
rLhs, nVector); VdbeCoverage(v);
@@ -113691,7 +115692,6 @@ static void sqlite3ExprCodeIN(
sqlite3VdbeJumpHere(v, addrTruthOp);
sqlite3ExprCodeIN_finished:
- if( rLhs!=rLhsOrig ) sqlite3ReleaseTempReg(pParse, rLhs);
VdbeComment((v, "end IN expr"));
sqlite3ExprCodeIN_oom_error:
sqlite3DbFree(pParse->db, aiMap);
@@ -113806,7 +115806,12 @@ SQLITE_PRIVATE void sqlite3ExprCodeGeneratedColumn(
iAddr = 0;
}
sqlite3ExprCodeCopy(pParse, sqlite3ColumnExpr(pTab,pCol), regOut);
- if( pCol->affinity>=SQLITE_AFF_TEXT ){
+ if( (pCol->colFlags & COLFLAG_VIRTUAL)!=0
+ && (pTab->tabFlags & TF_Strict)!=0
+ ){
+ int p3 = 2+(int)(pCol - pTab->aCol);
+ sqlite3VdbeAddOp4(v, OP_TypeCheck, regOut, 1, p3, (char*)pTab, P4_TABLE);
+ }else if( pCol->affinity>=SQLITE_AFF_TEXT ){
sqlite3VdbeAddOp4(v, OP_Affinity, regOut, 1, 0, &pCol->affinity, 1);
}
if( iAddr ) sqlite3VdbeJumpHere(v, iAddr);
@@ -114211,7 +116216,7 @@ static SQLITE_NOINLINE int sqlite3IndexedExprLookup(
/*
-** Expresion pExpr is guaranteed to be a TK_COLUMN or equivalent. This
+** Expression pExpr is guaranteed to be a TK_COLUMN or equivalent. This
** function checks the Parse.pIdxPartExpr list to see if this column
** can be replaced with a constant value. If so, it generates code to
** put the constant value in a register (ideally, but not necessarily,
@@ -114244,6 +116249,80 @@ static int exprPartidxExprLookup(Parse *pParse, Expr *pExpr, int iTarget){
return 0;
}
+/*
+** Generate code that evaluates an AND or OR operator leaving a
+** boolean result in a register. pExpr is the AND/OR expression.
+** Store the result in the "target" register. Use short-circuit
+** evaluation to avoid computing both operands, if possible.
+**
+** The code generated might require the use of a temporary register.
+** If it does, then write the number of that temporary register
+** into *pTmpReg. If not, leave *pTmpReg unchanged.
+*/
+static SQLITE_NOINLINE int exprCodeTargetAndOr(
+ Parse *pParse, /* Parsing context */
+ Expr *pExpr, /* AND or OR expression to be coded */
+ int target, /* Put result in this register, guaranteed */
+ int *pTmpReg /* Write a temporary register here */
+){
+ int op; /* The opcode. TK_AND or TK_OR */
+ int skipOp; /* Opcode for the branch that skips one operand */
+ int addrSkip; /* Branch instruction that skips one of the operands */
+ int regSS = 0; /* Register holding computed operand when other omitted */
+ int r1, r2; /* Registers for left and right operands, respectively */
+ Expr *pAlt; /* Alternative, simplified expression */
+ Vdbe *v; /* statement being coded */
+
+ assert( pExpr!=0 );
+ op = pExpr->op;
+ assert( op==TK_AND || op==TK_OR );
+ assert( TK_AND==OP_And ); testcase( op==TK_AND );
+ assert( TK_OR==OP_Or ); testcase( op==TK_OR );
+ assert( pParse->pVdbe!=0 );
+ v = pParse->pVdbe;
+ pAlt = sqlite3ExprSimplifiedAndOr(pExpr);
+ if( pAlt!=pExpr ){
+ r1 = sqlite3ExprCodeTarget(pParse, pAlt, target);
+ sqlite3VdbeAddOp3(v, OP_And, r1, r1, target);
+ return target;
+ }
+ skipOp = op==TK_AND ? OP_IfNot : OP_If;
+ if( exprEvalRhsFirst(pExpr) ){
+ /* Compute the right operand first. Skip the computation of the left
+ ** operand if the right operand fully determines the result */
+ r2 = regSS = sqlite3ExprCodeTarget(pParse, pExpr->pRight, target);
+ addrSkip = sqlite3VdbeAddOp1(v, skipOp, r2);
+ VdbeComment((v, "skip left operand"));
+ VdbeCoverage(v);
+ r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, pTmpReg);
+ }else{
+ /* Compute the left operand first */
+ r1 = sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target);
+ if( ExprHasProperty(pExpr->pRight, EP_Subquery) ){
+ /* Skip over the computation of the right operand if the right
+ ** operand is a subquery and the left operand completely determines
+ ** the result */
+ regSS = r1;
+ addrSkip = sqlite3VdbeAddOp1(v, skipOp, r1);
+ VdbeComment((v, "skip right operand"));
+ VdbeCoverage(v);
+ }else{
+ addrSkip = regSS = 0;
+ }
+ r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, pTmpReg);
+ }
+ sqlite3VdbeAddOp3(v, op, r2, r1, target);
+ testcase( (*pTmpReg)==0 );
+ if( addrSkip ){
+ sqlite3VdbeAddOp2(v, OP_Goto, 0, sqlite3VdbeCurrentAddr(v)+2);
+ sqlite3VdbeJumpHere(v, addrSkip);
+ sqlite3VdbeAddOp3(v, OP_Or, regSS, regSS, target);
+ VdbeComment((v, "short-circut value"));
+ }
+ return target;
+}
+
+
/*
** Generate code into the current Vdbe to evaluate the given
@@ -114435,6 +116514,12 @@ expr_code_doover:
sqlite3VdbeLoadString(v, target, pExpr->u.zToken);
return target;
}
+ case TK_NULLS: {
+ /* Set a range of registers to NULL. pExpr->y.nReg registers starting
+ ** with target */
+ sqlite3VdbeAddOp3(v, OP_Null, 0, target, target + pExpr->y.nReg - 1);
+ return target;
+ }
default: {
/* Make NULL the default case so that if a bug causes an illegal
** Expr node to be passed into this function, it will be handled
@@ -114493,11 +116578,17 @@ expr_code_doover:
case TK_NE:
case TK_EQ: {
Expr *pLeft = pExpr->pLeft;
+ int addrIsNull = 0;
if( sqlite3ExprIsVector(pLeft) ){
codeVectorCompare(pParse, pExpr, target, op, p5);
}else{
- r1 = sqlite3ExprCodeTemp(pParse, pLeft, ®Free1);
- r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2);
+ if( ExprHasProperty(pExpr, EP_Subquery) && p5!=SQLITE_NULLEQ ){
+ addrIsNull = exprComputeOperands(pParse, pExpr,
+ &r1, &r2, ®Free1, ®Free2);
+ }else{
+ r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
+ r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2);
+ }
sqlite3VdbeAddOp2(v, OP_Integer, 1, inReg);
codeCompare(pParse, pLeft, pExpr->pRight, op, r1, r2,
sqlite3VdbeCurrentAddr(v)+2, p5,
@@ -114512,6 +116603,11 @@ expr_code_doover:
sqlite3VdbeAddOp2(v, OP_Integer, 0, inReg);
}else{
sqlite3VdbeAddOp3(v, OP_ZeroOrNull, r1, inReg, r2);
+ if( addrIsNull ){
+ sqlite3VdbeAddOp2(v, OP_Goto, 0, sqlite3VdbeCurrentAddr(v)+2);
+ sqlite3VdbeJumpHere(v, addrIsNull);
+ sqlite3VdbeAddOp2(v, OP_Null, 0, inReg);
+ }
}
testcase( regFree1==0 );
testcase( regFree2==0 );
@@ -114519,7 +116615,10 @@ expr_code_doover:
break;
}
case TK_AND:
- case TK_OR:
+ case TK_OR: {
+ inReg = exprCodeTargetAndOr(pParse, pExpr, target, ®Free1);
+ break;
+ }
case TK_PLUS:
case TK_STAR:
case TK_MINUS:
@@ -114530,8 +116629,7 @@ expr_code_doover:
case TK_LSHIFT:
case TK_RSHIFT:
case TK_CONCAT: {
- assert( TK_AND==OP_And ); testcase( op==TK_AND );
- assert( TK_OR==OP_Or ); testcase( op==TK_OR );
+ int addrIsNull;
assert( TK_PLUS==OP_Add ); testcase( op==TK_PLUS );
assert( TK_MINUS==OP_Subtract ); testcase( op==TK_MINUS );
assert( TK_REM==OP_Remainder ); testcase( op==TK_REM );
@@ -114541,11 +116639,23 @@ expr_code_doover:
assert( TK_LSHIFT==OP_ShiftLeft ); testcase( op==TK_LSHIFT );
assert( TK_RSHIFT==OP_ShiftRight ); testcase( op==TK_RSHIFT );
assert( TK_CONCAT==OP_Concat ); testcase( op==TK_CONCAT );
- r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
- r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2);
+ if( ExprHasProperty(pExpr, EP_Subquery) ){
+ addrIsNull = exprComputeOperands(pParse, pExpr,
+ &r1, &r2, ®Free1, ®Free2);
+ }else{
+ r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
+ r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2);
+ addrIsNull = 0;
+ }
sqlite3VdbeAddOp3(v, op, r2, r1, target);
testcase( regFree1==0 );
testcase( regFree2==0 );
+ if( addrIsNull ){
+ sqlite3VdbeAddOp2(v, OP_Goto, 0, sqlite3VdbeCurrentAddr(v)+2);
+ sqlite3VdbeJumpHere(v, addrIsNull);
+ sqlite3VdbeAddOp2(v, OP_Null, 0, target);
+ VdbeComment((v, "short-circut value"));
+ }
break;
}
case TK_UMINUS: {
@@ -115119,6 +117229,25 @@ SQLITE_PRIVATE int sqlite3ExprCodeRunJustOnce(
return regDest;
}
+/*
+** Make arrangements to invoke OP_Null on a range of registers
+** during initialization.
+*/
+SQLITE_PRIVATE SQLITE_NOINLINE void sqlite3ExprNullRegisterRange(
+ Parse *pParse, /* Parsing context */
+ int iReg, /* First register to set to NULL */
+ int nReg /* Number of sequential registers to NULL out */
+){
+ u8 okConstFactor = pParse->okConstFactor;
+ Expr t;
+ memset(&t, 0, sizeof(t));
+ t.op = TK_NULLS;
+ t.y.nReg = nReg;
+ pParse->okConstFactor = 1;
+ sqlite3ExprCodeRunJustOnce(pParse, &t, iReg);
+ pParse->okConstFactor = okConstFactor;
+}
+
/*
** Generate code to evaluate an expression and store the results
** into a register. Return the register number where the results
@@ -115394,17 +117523,27 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int
Expr *pAlt = sqlite3ExprSimplifiedAndOr(pExpr);
if( pAlt!=pExpr ){
sqlite3ExprIfTrue(pParse, pAlt, dest, jumpIfNull);
- }else if( op==TK_AND ){
- int d2 = sqlite3VdbeMakeLabel(pParse);
- testcase( jumpIfNull==0 );
- sqlite3ExprIfFalse(pParse, pExpr->pLeft, d2,
- jumpIfNull^SQLITE_JUMPIFNULL);
- sqlite3ExprIfTrue(pParse, pExpr->pRight, dest, jumpIfNull);
- sqlite3VdbeResolveLabel(v, d2);
}else{
- testcase( jumpIfNull==0 );
- sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, jumpIfNull);
- sqlite3ExprIfTrue(pParse, pExpr->pRight, dest, jumpIfNull);
+ Expr *pFirst, *pSecond;
+ if( exprEvalRhsFirst(pExpr) ){
+ pFirst = pExpr->pRight;
+ pSecond = pExpr->pLeft;
+ }else{
+ pFirst = pExpr->pLeft;
+ pSecond = pExpr->pRight;
+ }
+ if( op==TK_AND ){
+ int d2 = sqlite3VdbeMakeLabel(pParse);
+ testcase( jumpIfNull==0 );
+ sqlite3ExprIfFalse(pParse, pFirst, d2,
+ jumpIfNull^SQLITE_JUMPIFNULL);
+ sqlite3ExprIfTrue(pParse, pSecond, dest, jumpIfNull);
+ sqlite3VdbeResolveLabel(v, d2);
+ }else{
+ testcase( jumpIfNull==0 );
+ sqlite3ExprIfTrue(pParse, pFirst, dest, jumpIfNull);
+ sqlite3ExprIfTrue(pParse, pSecond, dest, jumpIfNull);
+ }
}
break;
}
@@ -115443,10 +117582,16 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int
case TK_GE:
case TK_NE:
case TK_EQ: {
+ int addrIsNull;
if( sqlite3ExprIsVector(pExpr->pLeft) ) goto default_expr;
- testcase( jumpIfNull==0 );
- r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
- r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2);
+ if( ExprHasProperty(pExpr, EP_Subquery) && jumpIfNull!=SQLITE_NULLEQ ){
+ addrIsNull = exprComputeOperands(pParse, pExpr,
+ &r1, &r2, ®Free1, ®Free2);
+ }else{
+ r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
+ r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2);
+ addrIsNull = 0;
+ }
codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op,
r1, r2, dest, jumpIfNull, ExprHasProperty(pExpr,EP_Commuted));
assert(TK_LT==OP_Lt); testcase(op==OP_Lt); VdbeCoverageIf(v,op==OP_Lt);
@@ -115461,6 +117606,13 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int
VdbeCoverageIf(v, op==OP_Ne && jumpIfNull!=SQLITE_NULLEQ);
testcase( regFree1==0 );
testcase( regFree2==0 );
+ if( addrIsNull ){
+ if( jumpIfNull ){
+ sqlite3VdbeChangeP2(v, addrIsNull, dest);
+ }else{
+ sqlite3VdbeJumpHere(v, addrIsNull);
+ }
+ }
break;
}
case TK_ISNULL:
@@ -115468,11 +117620,11 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int
assert( TK_ISNULL==OP_IsNull ); testcase( op==TK_ISNULL );
assert( TK_NOTNULL==OP_NotNull ); testcase( op==TK_NOTNULL );
r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
- sqlite3VdbeTypeofColumn(v, r1);
+ assert( regFree1==0 || regFree1==r1 );
+ if( regFree1 ) sqlite3VdbeTypeofColumn(v, r1);
sqlite3VdbeAddOp2(v, op, r1, dest);
VdbeCoverageIf(v, op==TK_ISNULL);
VdbeCoverageIf(v, op==TK_NOTNULL);
- testcase( regFree1==0 );
break;
}
case TK_BETWEEN: {
@@ -115568,17 +117720,27 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int
Expr *pAlt = sqlite3ExprSimplifiedAndOr(pExpr);
if( pAlt!=pExpr ){
sqlite3ExprIfFalse(pParse, pAlt, dest, jumpIfNull);
- }else if( pExpr->op==TK_AND ){
- testcase( jumpIfNull==0 );
- sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull);
- sqlite3ExprIfFalse(pParse, pExpr->pRight, dest, jumpIfNull);
}else{
- int d2 = sqlite3VdbeMakeLabel(pParse);
- testcase( jumpIfNull==0 );
- sqlite3ExprIfTrue(pParse, pExpr->pLeft, d2,
- jumpIfNull^SQLITE_JUMPIFNULL);
- sqlite3ExprIfFalse(pParse, pExpr->pRight, dest, jumpIfNull);
- sqlite3VdbeResolveLabel(v, d2);
+ Expr *pFirst, *pSecond;
+ if( exprEvalRhsFirst(pExpr) ){
+ pFirst = pExpr->pRight;
+ pSecond = pExpr->pLeft;
+ }else{
+ pFirst = pExpr->pLeft;
+ pSecond = pExpr->pRight;
+ }
+ if( pExpr->op==TK_AND ){
+ testcase( jumpIfNull==0 );
+ sqlite3ExprIfFalse(pParse, pFirst, dest, jumpIfNull);
+ sqlite3ExprIfFalse(pParse, pSecond, dest, jumpIfNull);
+ }else{
+ int d2 = sqlite3VdbeMakeLabel(pParse);
+ testcase( jumpIfNull==0 );
+ sqlite3ExprIfTrue(pParse, pFirst, d2,
+ jumpIfNull^SQLITE_JUMPIFNULL);
+ sqlite3ExprIfFalse(pParse, pSecond, dest, jumpIfNull);
+ sqlite3VdbeResolveLabel(v, d2);
+ }
}
break;
}
@@ -115620,10 +117782,16 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int
case TK_GE:
case TK_NE:
case TK_EQ: {
+ int addrIsNull;
if( sqlite3ExprIsVector(pExpr->pLeft) ) goto default_expr;
- testcase( jumpIfNull==0 );
- r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
- r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2);
+ if( ExprHasProperty(pExpr, EP_Subquery) && jumpIfNull!=SQLITE_NULLEQ ){
+ addrIsNull = exprComputeOperands(pParse, pExpr,
+ &r1, &r2, ®Free1, ®Free2);
+ }else{
+ r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
+ r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2);
+ addrIsNull = 0;
+ }
codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op,
r1, r2, dest, jumpIfNull,ExprHasProperty(pExpr,EP_Commuted));
assert(TK_LT==OP_Lt); testcase(op==OP_Lt); VdbeCoverageIf(v,op==OP_Lt);
@@ -115638,16 +117806,23 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int
VdbeCoverageIf(v, op==OP_Ne && jumpIfNull==SQLITE_NULLEQ);
testcase( regFree1==0 );
testcase( regFree2==0 );
+ if( addrIsNull ){
+ if( jumpIfNull ){
+ sqlite3VdbeChangeP2(v, addrIsNull, dest);
+ }else{
+ sqlite3VdbeJumpHere(v, addrIsNull);
+ }
+ }
break;
}
case TK_ISNULL:
case TK_NOTNULL: {
r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
- sqlite3VdbeTypeofColumn(v, r1);
+ assert( regFree1==0 || regFree1==r1 );
+ if( regFree1 ) sqlite3VdbeTypeofColumn(v, r1);
sqlite3VdbeAddOp2(v, op, r1, dest);
testcase( op==TK_ISNULL ); VdbeCoverageIf(v, op==TK_ISNULL);
testcase( op==TK_NOTNULL ); VdbeCoverageIf(v, op==TK_NOTNULL);
- testcase( regFree1==0 );
break;
}
case TK_BETWEEN: {
@@ -116547,7 +118722,9 @@ static void findOrCreateAggInfoColumn(
){
struct AggInfo_col *pCol;
int k;
+ int mxTerm = pParse->db->aLimit[SQLITE_LIMIT_COLUMN];
+ assert( mxTerm <= SMXV(i16) );
assert( pAggInfo->iFirstReg==0 );
pCol = pAggInfo->aCol;
for(k=0; k<pAggInfo->nColumn; k++, pCol++){
@@ -116565,6 +118742,10 @@ static void findOrCreateAggInfoColumn(
assert( pParse->db->mallocFailed );
return;
}
+ if( k>mxTerm ){
+ sqlite3ErrorMsg(pParse, "more than %d aggregate terms", mxTerm);
+ k = mxTerm;
+ }
pCol = &pAggInfo->aCol[k];
assert( ExprUseYTab(pExpr) );
pCol->pTab = pExpr->y.pTab;
@@ -116598,6 +118779,7 @@ fix_up_expr:
if( pExpr->op==TK_COLUMN ){
pExpr->op = TK_AGG_COLUMN;
}
+ assert( k <= SMXV(pExpr->iAgg) );
pExpr->iAgg = (i16)k;
}
@@ -116682,13 +118864,19 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){
** function that is already in the pAggInfo structure
*/
struct AggInfo_func *pItem = pAggInfo->aFunc;
+ int mxTerm = pParse->db->aLimit[SQLITE_LIMIT_COLUMN];
+ assert( mxTerm <= SMXV(i16) );
for(i=0; i<pAggInfo->nFunc; i++, pItem++){
if( NEVER(pItem->pFExpr==pExpr) ) break;
if( sqlite3ExprCompare(0, pItem->pFExpr, pExpr, -1)==0 ){
break;
}
}
- if( i>=pAggInfo->nFunc ){
+ if( i>mxTerm ){
+ sqlite3ErrorMsg(pParse, "more than %d aggregate terms", mxTerm);
+ i = mxTerm;
+ assert( i<pAggInfo->nFunc );
+ }else if( i>=pAggInfo->nFunc ){
/* pExpr is original. Make a new entry in pAggInfo->aFunc[]
*/
u8 enc = ENC(pParse->db);
@@ -116742,6 +118930,7 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){
*/
assert( !ExprHasProperty(pExpr, EP_TokenOnly|EP_Reduced) );
ExprSetVVAProperty(pExpr, EP_NoReduce);
+ assert( i <= SMXV(pExpr->iAgg) );
pExpr->iAgg = (i16)i;
pExpr->pAggInfo = pAggInfo;
return WRC_Prune;
@@ -117452,13 +119641,13 @@ SQLITE_PRIVATE void sqlite3AlterBeginAddColumn(Parse *pParse, SrcList *pSrc){
assert( pNew->nCol>0 );
nAlloc = (((pNew->nCol-1)/8)*8)+8;
assert( nAlloc>=pNew->nCol && nAlloc%8==0 && nAlloc-pNew->nCol<8 );
- pNew->aCol = (Column*)sqlite3DbMallocZero(db, sizeof(Column)*nAlloc);
+ pNew->aCol = (Column*)sqlite3DbMallocZero(db, sizeof(Column)*(u32)nAlloc);
pNew->zName = sqlite3MPrintf(db, "sqlite_altertab_%s", pTab->zName);
if( !pNew->aCol || !pNew->zName ){
assert( db->mallocFailed );
goto exit_begin_add_column;
}
- memcpy(pNew->aCol, pTab->aCol, sizeof(Column)*pNew->nCol);
+ memcpy(pNew->aCol, pTab->aCol, sizeof(Column)*(size_t)pNew->nCol);
for(i=0; i<pNew->nCol; i++){
Column *pCol = &pNew->aCol[i];
pCol->zCnName = sqlite3DbStrDup(db, pCol->zCnName);
@@ -117553,10 +119742,8 @@ SQLITE_PRIVATE void sqlite3AlterRenameColumn(
** altered. Set iCol to be the index of the column being renamed */
zOld = sqlite3NameFromToken(db, pOld);
if( !zOld ) goto exit_rename_column;
- for(iCol=0; iCol<pTab->nCol; iCol++){
- if( 0==sqlite3StrICmp(pTab->aCol[iCol].zCnName, zOld) ) break;
- }
- if( iCol==pTab->nCol ){
+ iCol = sqlite3ColumnIndex(pTab, zOld);
+ if( iCol<0 ){
sqlite3ErrorMsg(pParse, "no such column: \"%T\"", pOld);
goto exit_rename_column;
}
@@ -118059,6 +120246,7 @@ static int renameParseSql(
int bTemp /* True if SQL is from temp schema */
){
int rc;
+ u64 flags;
sqlite3ParseObjectInit(p, db);
if( zSql==0 ){
@@ -118067,11 +120255,21 @@ static int renameParseSql(
if( sqlite3StrNICmp(zSql,"CREATE ",7)!=0 ){
return SQLITE_CORRUPT_BKPT;
}
- db->init.iDb = bTemp ? 1 : sqlite3FindDbName(db, zDb);
+ if( bTemp ){
+ db->init.iDb = 1;
+ }else{
+ int iDb = sqlite3FindDbName(db, zDb);
+ assert( iDb>=0 && iDb<=0xff );
+ db->init.iDb = (u8)iDb;
+ }
p->eParseMode = PARSE_MODE_RENAME;
p->db = db;
p->nQueryLoop = 1;
+ flags = db->flags;
+ testcase( (db->flags & SQLITE_Comments)==0 && strstr(zSql," /* ")!=0 );
+ db->flags |= SQLITE_Comments;
rc = sqlite3RunParser(p, zSql);
+ db->flags = flags;
if( db->mallocFailed ) rc = SQLITE_NOMEM;
if( rc==SQLITE_OK
&& NEVER(p->pNewTable==0 && p->pNewIndex==0 && p->pNewTrigger==0)
@@ -118134,10 +120332,11 @@ static int renameEditSql(
nQuot = sqlite3Strlen30(zQuot)-1;
}
- assert( nQuot>=nNew );
- zOut = sqlite3DbMallocZero(db, nSql + pRename->nList*nQuot + 1);
+ assert( nQuot>=nNew && nSql>=0 && nNew>=0 );
+ zOut = sqlite3DbMallocZero(db, (u64)nSql + pRename->nList*(u64)nQuot + 1);
}else{
- zOut = (char*)sqlite3DbMallocZero(db, (nSql*2+1) * 3);
+ assert( nSql>0 );
+ zOut = (char*)sqlite3DbMallocZero(db, (2*(u64)nSql + 1) * 3);
if( zOut ){
zBuf1 = &zOut[nSql*2+1];
zBuf2 = &zOut[nSql*4+2];
@@ -118149,16 +120348,17 @@ static int renameEditSql(
** with the new column name, or with single-quoted versions of themselves.
** All that remains is to construct and return the edited SQL string. */
if( zOut ){
- int nOut = nSql;
- memcpy(zOut, zSql, nSql);
+ i64 nOut = nSql;
+ assert( nSql>0 );
+ memcpy(zOut, zSql, (size_t)nSql);
while( pRename->pList ){
int iOff; /* Offset of token to replace in zOut */
- u32 nReplace;
+ i64 nReplace;
const char *zReplace;
RenameToken *pBest = renameColumnTokenNext(pRename);
if( zNew ){
- if( bQuote==0 && sqlite3IsIdChar(*pBest->t.z) ){
+ if( bQuote==0 && sqlite3IsIdChar(*(u8*)pBest->t.z) ){
nReplace = nNew;
zReplace = zNew;
}else{
@@ -118176,14 +120376,15 @@ static int renameEditSql(
memcpy(zBuf1, pBest->t.z, pBest->t.n);
zBuf1[pBest->t.n] = 0;
sqlite3Dequote(zBuf1);
- sqlite3_snprintf(nSql*2, zBuf2, "%Q%s", zBuf1,
+ assert( nSql < 0x15555554 /* otherwise malloc would have failed */ );
+ sqlite3_snprintf((int)(nSql*2), zBuf2, "%Q%s", zBuf1,
pBest->t.z[pBest->t.n]=='\'' ? " " : ""
);
zReplace = zBuf2;
nReplace = sqlite3Strlen30(zReplace);
}
- iOff = pBest->t.z - zSql;
+ iOff = (int)(pBest->t.z - zSql);
if( pBest->t.n!=nReplace ){
memmove(&zOut[iOff + nReplace], &zOut[iOff + pBest->t.n],
nOut - (iOff + pBest->t.n)
@@ -118209,11 +120410,12 @@ static int renameEditSql(
** Set all pEList->a[].fg.eEName fields in the expression-list to val.
*/
static void renameSetENames(ExprList *pEList, int val){
+ assert( val==ENAME_NAME || val==ENAME_TAB || val==ENAME_SPAN );
if( pEList ){
int i;
for(i=0; i<pEList->nExpr; i++){
assert( val==ENAME_NAME || pEList->a[i].fg.eEName==ENAME_NAME );
- pEList->a[i].fg.eEName = val;
+ pEList->a[i].fg.eEName = val&0x3;
}
}
}
@@ -118470,7 +120672,7 @@ static void renameColumnFunc(
if( sParse.pNewTable ){
if( IsView(sParse.pNewTable) ){
Select *pSelect = sParse.pNewTable->u.view.pSelect;
- pSelect->selFlags &= ~SF_View;
+ pSelect->selFlags &= ~(u32)SF_View;
sParse.rc = SQLITE_OK;
sqlite3SelectPrep(&sParse, pSelect, 0);
rc = (db->mallocFailed ? SQLITE_NOMEM : sParse.rc);
@@ -118688,7 +120890,7 @@ static void renameTableFunc(
sNC.pParse = &sParse;
assert( pSelect->selFlags & SF_View );
- pSelect->selFlags &= ~SF_View;
+ pSelect->selFlags &= ~(u32)SF_View;
sqlite3SelectPrep(&sParse, pTab->u.view.pSelect, &sNC);
if( sParse.nErr ){
rc = sParse.rc;
@@ -118861,7 +121063,7 @@ static void renameQuotefixFunc(
if( sParse.pNewTable ){
if( IsView(sParse.pNewTable) ){
Select *pSelect = sParse.pNewTable->u.view.pSelect;
- pSelect->selFlags &= ~SF_View;
+ pSelect->selFlags &= ~(u32)SF_View;
sParse.rc = SQLITE_OK;
sqlite3SelectPrep(&sParse, pSelect, 0);
rc = (db->mallocFailed ? SQLITE_NOMEM : sParse.rc);
@@ -118960,10 +121162,10 @@ static void renameTableTest(
if( zDb && zInput ){
int rc;
Parse sParse;
- int flags = db->flags;
+ u64 flags = db->flags;
if( bNoDQS ) db->flags &= ~(SQLITE_DqsDML|SQLITE_DqsDDL);
rc = renameParseSql(&sParse, zDb, db, zInput, bTemp);
- db->flags |= (flags & (SQLITE_DqsDML|SQLITE_DqsDDL));
+ db->flags = flags;
if( rc==SQLITE_OK ){
if( isLegacy==0 && sParse.pNewTable && IsView(sParse.pNewTable) ){
NameContext sNC;
@@ -119455,7 +121657,8 @@ static void openStatTable(
sqlite3NestedParse(pParse,
"CREATE TABLE %Q.%s(%s)", pDb->zDbSName, zTab, aTable[i].zCols
);
- aRoot[i] = (u32)pParse->regRoot;
+ assert( pParse->isCreate || pParse->nErr );
+ aRoot[i] = (u32)pParse->u1.cr.regRoot;
aCreateTbl[i] = OPFLAG_P2ISREG;
}
}else{
@@ -119646,7 +121849,7 @@ static void statInit(
int nCol; /* Number of columns in index being sampled */
int nKeyCol; /* Number of key columns */
int nColUp; /* nCol rounded up for alignment */
- int n; /* Bytes of space to allocate */
+ i64 n; /* Bytes of space to allocate */
sqlite3 *db = sqlite3_context_db_handle(context); /* Database connection */
#ifdef SQLITE_ENABLE_STAT4
/* Maximum number of samples. 0 if STAT4 data is not collected */
@@ -119682,7 +121885,7 @@ static void statInit(
p->db = db;
p->nEst = sqlite3_value_int64(argv[2]);
p->nRow = 0;
- p->nLimit = sqlite3_value_int64(argv[3]);
+ p->nLimit = sqlite3_value_int(argv[3]);
p->nCol = nCol;
p->nKeyCol = nKeyCol;
p->nSkipAhead = 0;
@@ -120815,16 +123018,6 @@ static void decodeIntArray(
while( z[0]!=0 && z[0]!=' ' ) z++;
while( z[0]==' ' ) z++;
}
-
- /* Set the bLowQual flag if the peak number of rows obtained
- ** from a full equality match is so large that a full table scan
- ** seems likely to be faster than using the index.
- */
- if( aLog[0] > 66 /* Index has more than 100 rows */
- && aLog[0] <= aLog[nOut-1] /* And only a single value seen */
- ){
- pIndex->bLowQual = 1;
- }
}
}
@@ -121420,7 +123613,7 @@ static void attachFunc(
if( aNew==0 ) return;
memcpy(aNew, db->aDb, sizeof(db->aDb[0])*2);
}else{
- aNew = sqlite3DbRealloc(db, db->aDb, sizeof(db->aDb[0])*(db->nDb+1) );
+ aNew = sqlite3DbRealloc(db, db->aDb, sizeof(db->aDb[0])*(1+(i64)db->nDb));
if( aNew==0 ) return;
}
db->aDb = aNew;
@@ -121491,6 +123684,13 @@ static void attachFunc(
sqlite3BtreeEnterAll(db);
db->init.iDb = 0;
db->mDbFlags &= ~(DBFLAG_SchemaKnownOk);
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ if( db->setlkFlags & SQLITE_SETLK_BLOCK_ON_CONNECT ){
+ int val = 1;
+ sqlite3_file *fd = sqlite3PagerFile(sqlite3BtreePager(pNew->pBt));
+ sqlite3OsFileControlHint(fd, SQLITE_FCNTL_BLOCK_ON_CONNECT, &val);
+ }
+#endif
if( !REOPEN_AS_MEMDB(db) ){
rc = sqlite3Init(db, &zErrDyn);
}
@@ -122213,6 +124413,7 @@ static SQLITE_NOINLINE void lockTable(
}
}
+ assert( pToplevel->nTableLock < 0x7fff0000 );
nBytes = sizeof(TableLock) * (pToplevel->nTableLock+1);
pToplevel->aTableLock =
sqlite3DbReallocOrFree(pToplevel->db, pToplevel->aTableLock, nBytes);
@@ -122313,10 +124514,12 @@ SQLITE_PRIVATE void sqlite3FinishCoding(Parse *pParse){
|| sqlite3VdbeAssertMayAbort(v, pParse->mayAbort));
if( v ){
if( pParse->bReturning ){
- Returning *pReturning = pParse->u1.pReturning;
+ Returning *pReturning;
int addrRewind;
int reg;
+ assert( !pParse->isCreate );
+ pReturning = pParse->u1.d.pReturning;
if( pReturning->nRetCol ){
sqlite3VdbeAddOp0(v, OP_FkCheck);
addrRewind =
@@ -122392,7 +124595,9 @@ SQLITE_PRIVATE void sqlite3FinishCoding(Parse *pParse){
}
if( pParse->bReturning ){
- Returning *pRet = pParse->u1.pReturning;
+ Returning *pRet;
+ assert( !pParse->isCreate );
+ pRet = pParse->u1.d.pReturning;
if( pRet->nRetCol ){
sqlite3VdbeAddOp2(v, OP_OpenEphemeral, pRet->iRetCur, pRet->nRetCol);
}
@@ -122573,6 +124778,16 @@ SQLITE_PRIVATE Table *sqlite3LocateTable(
if( pMod==0 && sqlite3_strnicmp(zName, "pragma_", 7)==0 ){
pMod = sqlite3PragmaVtabRegister(db, zName);
}
+#ifndef SQLITE_OMIT_JSON
+ if( pMod==0 && sqlite3_strnicmp(zName, "json", 4)==0 ){
+ pMod = sqlite3JsonVtabRegister(db, zName);
+ }
+#endif
+#ifdef SQLITE_ENABLE_CARRAY
+ if( pMod==0 && sqlite3_stricmp(zName, "carray")==0 ){
+ pMod = sqlite3CarrayRegister(db);
+ }
+#endif
if( pMod && sqlite3VtabEponymousTableInit(pParse, pMod) ){
testcase( pMod->pEpoTab==0 );
return pMod->pEpoTab;
@@ -123207,10 +125422,16 @@ SQLITE_PRIVATE Index *sqlite3PrimaryKeyIndex(Table *pTab){
** find the (first) offset of that column in index pIdx. Or return -1
** if column iCol is not used in index pIdx.
*/
-SQLITE_PRIVATE i16 sqlite3TableColumnToIndex(Index *pIdx, i16 iCol){
+SQLITE_PRIVATE int sqlite3TableColumnToIndex(Index *pIdx, int iCol){
int i;
+ i16 iCol16;
+ assert( iCol>=(-1) && iCol<=SQLITE_MAX_COLUMN );
+ assert( pIdx->nColumn<=SQLITE_MAX_COLUMN*2 );
+ iCol16 = iCol;
for(i=0; i<pIdx->nColumn; i++){
- if( iCol==pIdx->aiColumn[i] ) return i;
+ if( iCol16==pIdx->aiColumn[i] ){
+ return i;
+ }
}
return -1;
}
@@ -123464,8 +125685,9 @@ SQLITE_PRIVATE void sqlite3StartTable(
/* If the file format and encoding in the database have not been set,
** set them now.
*/
- reg1 = pParse->regRowid = ++pParse->nMem;
- reg2 = pParse->regRoot = ++pParse->nMem;
+ assert( pParse->isCreate );
+ reg1 = pParse->u1.cr.regRowid = ++pParse->nMem;
+ reg2 = pParse->u1.cr.regRoot = ++pParse->nMem;
reg3 = ++pParse->nMem;
sqlite3VdbeAddOp3(v, OP_ReadCookie, iDb, reg3, BTREE_FILE_FORMAT);
sqlite3VdbeUsesBtree(v, iDb);
@@ -123480,8 +125702,8 @@ SQLITE_PRIVATE void sqlite3StartTable(
** The record created does not contain anything yet. It will be replaced
** by the real entry in code generated at sqlite3EndTable().
**
- ** The rowid for the new entry is left in register pParse->regRowid.
- ** The root page number of the new table is left in reg pParse->regRoot.
+ ** The rowid for the new entry is left in register pParse->u1.cr.regRowid.
+ ** The root page of the new table is left in reg pParse->u1.cr.regRoot.
** The rowid and root page number values are needed by the code that
** sqlite3EndTable will generate.
*/
@@ -123492,7 +125714,7 @@ SQLITE_PRIVATE void sqlite3StartTable(
#endif
{
assert( !pParse->bReturning );
- pParse->u1.addrCrTab =
+ pParse->u1.cr.addrCrTab =
sqlite3VdbeAddOp3(v, OP_CreateBtree, iDb, reg2, BTREE_INTKEY);
}
sqlite3OpenSchemaTable(pParse, iDb);
@@ -123501,6 +125723,9 @@ SQLITE_PRIVATE void sqlite3StartTable(
sqlite3VdbeAddOp3(v, OP_Insert, 0, reg3, reg1);
sqlite3VdbeChangeP5(v, OPFLAG_APPEND);
sqlite3VdbeAddOp0(v, OP_Close);
+ }else if( db->init.imposterTable ){
+ pTable->tabFlags |= TF_Imposter;
+ if( db->init.imposterTable>=2 ) pTable->tabFlags |= TF_Readonly;
}
/* Normal (non-error) return. */
@@ -123570,7 +125795,8 @@ SQLITE_PRIVATE void sqlite3AddReturning(Parse *pParse, ExprList *pList){
sqlite3ExprListDelete(db, pList);
return;
}
- pParse->u1.pReturning = pRet;
+ assert( !pParse->isCreate );
+ pParse->u1.d.pReturning = pRet;
pRet->pParse = pParse;
pRet->pReturnEL = pList;
sqlite3ParserAddCleanup(pParse, sqlite3DeleteReturning, pRet);
@@ -123612,7 +125838,6 @@ SQLITE_PRIVATE void sqlite3AddColumn(Parse *pParse, Token sName, Token sType){
char *zType;
Column *pCol;
sqlite3 *db = pParse->db;
- u8 hName;
Column *aNew;
u8 eType = COLTYPE_CUSTOM;
u8 szEst = 1;
@@ -123666,13 +125891,10 @@ SQLITE_PRIVATE void sqlite3AddColumn(Parse *pParse, Token sName, Token sType){
memcpy(z, sName.z, sName.n);
z[sName.n] = 0;
sqlite3Dequote(z);
- hName = sqlite3StrIHash(z);
- for(i=0; i<p->nCol; i++){
- if( p->aCol[i].hName==hName && sqlite3StrICmp(z, p->aCol[i].zCnName)==0 ){
- sqlite3ErrorMsg(pParse, "duplicate column name: %s", z);
- sqlite3DbFree(db, z);
- return;
- }
+ if( p->nCol && sqlite3ColumnIndex(p, z)>=0 ){
+ sqlite3ErrorMsg(pParse, "duplicate column name: %s", z);
+ sqlite3DbFree(db, z);
+ return;
}
aNew = sqlite3DbRealloc(db,p->aCol,((i64)p->nCol+1)*sizeof(p->aCol[0]));
if( aNew==0 ){
@@ -123683,7 +125905,7 @@ SQLITE_PRIVATE void sqlite3AddColumn(Parse *pParse, Token sName, Token sType){
pCol = &p->aCol[p->nCol];
memset(pCol, 0, sizeof(p->aCol[0]));
pCol->zCnName = z;
- pCol->hName = hName;
+ pCol->hName = sqlite3StrIHash(z);
sqlite3ColumnPropertiesFromName(p, pCol);
if( sType.n==0 ){
@@ -123707,9 +125929,14 @@ SQLITE_PRIVATE void sqlite3AddColumn(Parse *pParse, Token sName, Token sType){
pCol->affinity = sqlite3AffinityType(zType, pCol);
pCol->colFlags |= COLFLAG_HASTYPE;
}
+ if( p->nCol<=0xff ){
+ u8 h = pCol->hName % sizeof(p->aHx);
+ p->aHx[h] = p->nCol;
+ }
p->nCol++;
p->nNVCol++;
- pParse->constraintName.n = 0;
+ assert( pParse->isCreate );
+ pParse->u1.cr.constraintName.n = 0;
}
/*
@@ -123973,15 +126200,11 @@ SQLITE_PRIVATE void sqlite3AddPrimaryKey(
assert( pCExpr!=0 );
sqlite3StringToId(pCExpr);
if( pCExpr->op==TK_ID ){
- const char *zCName;
assert( !ExprHasProperty(pCExpr, EP_IntValue) );
- zCName = pCExpr->u.zToken;
- for(iCol=0; iCol<pTab->nCol; iCol++){
- if( sqlite3StrICmp(zCName, pTab->aCol[iCol].zCnName)==0 ){
- pCol = &pTab->aCol[iCol];
- makeColumnPartOfPrimaryKey(pParse, pCol);
- break;
- }
+ iCol = sqlite3ColumnIndex(pTab, pCExpr->u.zToken);
+ if( iCol>=0 ){
+ pCol = &pTab->aCol[iCol];
+ makeColumnPartOfPrimaryKey(pParse, pCol);
}
}
}
@@ -124033,8 +126256,10 @@ SQLITE_PRIVATE void sqlite3AddCheckConstraint(
&& !sqlite3BtreeIsReadonly(db->aDb[db->init.iDb].pBt)
){
pTab->pCheck = sqlite3ExprListAppend(pParse, pTab->pCheck, pCheckExpr);
- if( pParse->constraintName.n ){
- sqlite3ExprListSetName(pParse, pTab->pCheck, &pParse->constraintName, 1);
+ assert( pParse->isCreate );
+ if( pParse->u1.cr.constraintName.n ){
+ sqlite3ExprListSetName(pParse, pTab->pCheck,
+ &pParse->u1.cr.constraintName, 1);
}else{
Token t;
for(zStart++; sqlite3Isspace(zStart[0]); zStart++){}
@@ -124229,7 +126454,8 @@ static void identPut(char *z, int *pIdx, char *zSignedIdent){
** from sqliteMalloc() and must be freed by the calling function.
*/
static char *createTableStmt(sqlite3 *db, Table *p){
- int i, k, n;
+ int i, k, len;
+ i64 n;
char *zStmt;
char *zSep, *zSep2, *zEnd;
Column *pCol;
@@ -124253,8 +126479,9 @@ static char *createTableStmt(sqlite3 *db, Table *p){
sqlite3OomFault(db);
return 0;
}
- sqlite3_snprintf(n, zStmt, "CREATE TABLE ");
- k = sqlite3Strlen30(zStmt);
+ assert( n>14 && n<=0x7fffffff );
+ memcpy(zStmt, "CREATE TABLE ", 13);
+ k = 13;
identPut(zStmt, &k, p->zName);
zStmt[k++] = '(';
for(pCol=p->aCol, i=0; i<p->nCol; i++, pCol++){
@@ -124266,13 +126493,15 @@ static char *createTableStmt(sqlite3 *db, Table *p){
/* SQLITE_AFF_REAL */ " REAL",
/* SQLITE_AFF_FLEXNUM */ " NUM",
};
- int len;
const char *zType;
- sqlite3_snprintf(n-k, &zStmt[k], zSep);
- k += sqlite3Strlen30(&zStmt[k]);
+ len = sqlite3Strlen30(zSep);
+ assert( k+len<n );
+ memcpy(&zStmt[k], zSep, len);
+ k += len;
zSep = zSep2;
identPut(zStmt, &k, pCol->zCnName);
+ assert( k<n );
assert( pCol->affinity-SQLITE_AFF_BLOB >= 0 );
assert( pCol->affinity-SQLITE_AFF_BLOB < ArraySize(azType) );
testcase( pCol->affinity==SQLITE_AFF_BLOB );
@@ -124287,11 +126516,14 @@ static char *createTableStmt(sqlite3 *db, Table *p){
assert( pCol->affinity==SQLITE_AFF_BLOB
|| pCol->affinity==SQLITE_AFF_FLEXNUM
|| pCol->affinity==sqlite3AffinityType(zType, 0) );
+ assert( k+len<n );
memcpy(&zStmt[k], zType, len);
k += len;
assert( k<=n );
}
- sqlite3_snprintf(n-k, &zStmt[k], "%s", zEnd);
+ len = sqlite3Strlen30(zEnd);
+ assert( k+len<n );
+ memcpy(&zStmt[k], zEnd, len+1);
return zStmt;
}
@@ -124299,12 +126531,17 @@ static char *createTableStmt(sqlite3 *db, Table *p){
** Resize an Index object to hold N columns total. Return SQLITE_OK
** on success and SQLITE_NOMEM on an OOM error.
*/
-static int resizeIndexObject(sqlite3 *db, Index *pIdx, int N){
+static int resizeIndexObject(Parse *pParse, Index *pIdx, int N){
char *zExtra;
- int nByte;
+ u64 nByte;
+ sqlite3 *db;
if( pIdx->nColumn>=N ) return SQLITE_OK;
+ db = pParse->db;
+ assert( N>0 );
+ assert( N <= SQLITE_MAX_COLUMN*2 /* tag-20250221-1 */ );
+ testcase( N==2*pParse->db->aLimit[SQLITE_LIMIT_COLUMN] );
assert( pIdx->isResized==0 );
- nByte = (sizeof(char*) + sizeof(LogEst) + sizeof(i16) + 1)*N;
+ nByte = (sizeof(char*) + sizeof(LogEst) + sizeof(i16) + 1)*(u64)N;
zExtra = sqlite3DbMallocZero(db, nByte);
if( zExtra==0 ) return SQLITE_NOMEM_BKPT;
memcpy(zExtra, pIdx->azColl, sizeof(char*)*pIdx->nColumn);
@@ -124318,7 +126555,7 @@ static int resizeIndexObject(sqlite3 *db, Index *pIdx, int N){
zExtra += sizeof(i16)*N;
memcpy(zExtra, pIdx->aSortOrder, pIdx->nColumn);
pIdx->aSortOrder = (u8*)zExtra;
- pIdx->nColumn = N;
+ pIdx->nColumn = (u16)N; /* See tag-20250221-1 above for proof of safety */
pIdx->isResized = 1;
return SQLITE_OK;
}
@@ -124484,9 +126721,9 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){
** into BTREE_BLOBKEY.
*/
assert( !pParse->bReturning );
- if( pParse->u1.addrCrTab ){
+ if( pParse->u1.cr.addrCrTab ){
assert( v );
- sqlite3VdbeChangeP3(v, pParse->u1.addrCrTab, BTREE_BLOBKEY);
+ sqlite3VdbeChangeP3(v, pParse->u1.cr.addrCrTab, BTREE_BLOBKEY);
}
/* Locate the PRIMARY KEY index. Or, if this table was originally
@@ -124572,14 +126809,14 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){
pIdx->nColumn = pIdx->nKeyCol;
continue;
}
- if( resizeIndexObject(db, pIdx, pIdx->nKeyCol+n) ) return;
+ if( resizeIndexObject(pParse, pIdx, pIdx->nKeyCol+n) ) return;
for(i=0, j=pIdx->nKeyCol; i<nPk; i++){
if( !isDupColumn(pIdx, pIdx->nKeyCol, pPk, i) ){
testcase( hasColumn(pIdx->aiColumn, pIdx->nKeyCol, pPk->aiColumn[i]) );
pIdx->aiColumn[j] = pPk->aiColumn[i];
pIdx->azColl[j] = pPk->azColl[i];
if( pPk->aSortOrder[i] ){
- /* See ticket https://www.sqlite.org/src/info/bba7b69f9849b5bf */
+ /* See ticket https://sqlite.org/src/info/bba7b69f9849b5bf */
pIdx->bAscKeyBug = 1;
}
j++;
@@ -124596,7 +126833,7 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){
if( !hasColumn(pPk->aiColumn, nPk, i)
&& (pTab->aCol[i].colFlags & COLFLAG_VIRTUAL)==0 ) nExtra++;
}
- if( resizeIndexObject(db, pPk, nPk+nExtra) ) return;
+ if( resizeIndexObject(pParse, pPk, nPk+nExtra) ) return;
for(i=0, j=nPk; i<pTab->nCol; i++){
if( !hasColumn(pPk->aiColumn, j, i)
&& (pTab->aCol[i].colFlags & COLFLAG_VIRTUAL)==0
@@ -124926,7 +127163,7 @@ SQLITE_PRIVATE void sqlite3EndTable(
/* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT
** statement to populate the new table. The root-page number for the
- ** new table is in register pParse->regRoot.
+ ** new table is in register pParse->u1.cr.regRoot.
**
** Once the SELECT has been coded by sqlite3Select(), it is in a
** suitable state to query for the column names and types to be used
@@ -124957,7 +127194,8 @@ SQLITE_PRIVATE void sqlite3EndTable(
regRec = ++pParse->nMem;
regRowid = ++pParse->nMem;
sqlite3MayAbort(pParse);
- sqlite3VdbeAddOp3(v, OP_OpenWrite, iCsr, pParse->regRoot, iDb);
+ assert( pParse->isCreate );
+ sqlite3VdbeAddOp3(v, OP_OpenWrite, iCsr, pParse->u1.cr.regRoot, iDb);
sqlite3VdbeChangeP5(v, OPFLAG_P2ISREG);
addrTop = sqlite3VdbeCurrentAddr(v) + 1;
sqlite3VdbeAddOp3(v, OP_InitCoroutine, regYield, 0, addrTop);
@@ -125002,6 +127240,7 @@ SQLITE_PRIVATE void sqlite3EndTable(
** schema table. We just need to update that slot with all
** the information we've collected.
*/
+ assert( pParse->isCreate );
sqlite3NestedParse(pParse,
"UPDATE %Q." LEGACY_SCHEMA_TABLE
" SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q"
@@ -125010,9 +127249,9 @@ SQLITE_PRIVATE void sqlite3EndTable(
zType,
p->zName,
p->zName,
- pParse->regRoot,
+ pParse->u1.cr.regRoot,
zStmt,
- pParse->regRowid
+ pParse->u1.cr.regRowid
);
sqlite3DbFree(db, zStmt);
sqlite3ChangeCookie(pParse, iDb);
@@ -125752,7 +127991,7 @@ SQLITE_PRIVATE void sqlite3CreateForeignKey(
}else{
nCol = pFromCol->nExpr;
}
- nByte = sizeof(*pFKey) + (nCol-1)*sizeof(pFKey->aCol[0]) + pTo->n + 1;
+ nByte = SZ_FKEY(nCol) + pTo->n + 1;
if( pToCol ){
for(i=0; i<pToCol->nExpr; i++){
nByte += sqlite3Strlen30(pToCol->a[i].zEName) + 1;
@@ -125954,7 +128193,7 @@ static void sqlite3RefillIndex(Parse *pParse, Index *pIndex, int memRootPage){
** not work for UNIQUE constraint indexes on WITHOUT ROWID tables
** with DESC primary keys, since those indexes have there keys in
** a different order from the main table.
- ** See ticket: https://www.sqlite.org/src/info/bba7b69f9849b5bf
+ ** See ticket: https://sqlite.org/src/info/bba7b69f9849b5bf
*/
sqlite3VdbeAddOp1(v, OP_SeekEnd, iIdx);
}
@@ -125978,13 +128217,14 @@ static void sqlite3RefillIndex(Parse *pParse, Index *pIndex, int memRootPage){
*/
SQLITE_PRIVATE Index *sqlite3AllocateIndexObject(
sqlite3 *db, /* Database connection */
- i16 nCol, /* Total number of columns in the index */
+ int nCol, /* Total number of columns in the index */
int nExtra, /* Number of bytes of extra space to alloc */
char **ppExtra /* Pointer to the "extra" space */
){
Index *p; /* Allocated index object */
- int nByte; /* Bytes of space for Index object + arrays */
+ i64 nByte; /* Bytes of space for Index object + arrays */
+ assert( nCol <= 2*db->aLimit[SQLITE_LIMIT_COLUMN] );
nByte = ROUND8(sizeof(Index)) + /* Index structure */
ROUND8(sizeof(char*)*nCol) + /* Index.azColl */
ROUND8(sizeof(LogEst)*(nCol+1) + /* Index.aiRowLogEst */
@@ -125997,8 +128237,9 @@ SQLITE_PRIVATE Index *sqlite3AllocateIndexObject(
p->aiRowLogEst = (LogEst*)pExtra; pExtra += sizeof(LogEst)*(nCol+1);
p->aiColumn = (i16*)pExtra; pExtra += sizeof(i16)*nCol;
p->aSortOrder = (u8*)pExtra;
- p->nColumn = nCol;
- p->nKeyCol = nCol - 1;
+ assert( nCol>0 );
+ p->nColumn = (u16)nCol;
+ p->nKeyCol = (u16)(nCol - 1);
*ppExtra = ((char*)p) + nByte;
}
return p;
@@ -126809,12 +129050,11 @@ SQLITE_PRIVATE IdList *sqlite3IdListAppend(Parse *pParse, IdList *pList, Token *
sqlite3 *db = pParse->db;
int i;
if( pList==0 ){
- pList = sqlite3DbMallocZero(db, sizeof(IdList) );
+ pList = sqlite3DbMallocZero(db, SZ_IDLIST(1));
if( pList==0 ) return 0;
}else{
IdList *pNew;
- pNew = sqlite3DbRealloc(db, pList,
- sizeof(IdList) + pList->nId*sizeof(pList->a));
+ pNew = sqlite3DbRealloc(db, pList, SZ_IDLIST(pList->nId+1));
if( pNew==0 ){
sqlite3IdListDelete(db, pList);
return 0;
@@ -126913,8 +129153,7 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListEnlarge(
return 0;
}
if( nAlloc>SQLITE_MAX_SRCLIST ) nAlloc = SQLITE_MAX_SRCLIST;
- pNew = sqlite3DbRealloc(db, pSrc,
- sizeof(*pSrc) + (nAlloc-1)*sizeof(pSrc->a[0]) );
+ pNew = sqlite3DbRealloc(db, pSrc, SZ_SRCLIST(nAlloc));
if( pNew==0 ){
assert( db->mallocFailed );
return 0;
@@ -126989,7 +129228,7 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListAppend(
assert( pParse->db!=0 );
db = pParse->db;
if( pList==0 ){
- pList = sqlite3DbMallocRawNN(pParse->db, sizeof(SrcList) );
+ pList = sqlite3DbMallocRawNN(pParse->db, SZ_SRCLIST(1));
if( pList==0 ) return 0;
pList->nAlloc = 1;
pList->nSrc = 1;
@@ -127256,16 +129495,22 @@ SQLITE_PRIVATE void sqlite3SrcListIndexedBy(Parse *pParse, SrcList *p, Token *pI
** are deleted by this function.
*/
SQLITE_PRIVATE SrcList *sqlite3SrcListAppendList(Parse *pParse, SrcList *p1, SrcList *p2){
- assert( p1 && p1->nSrc==1 );
+ assert( p1 );
+ assert( p2 || pParse->nErr );
+ assert( p2==0 || p2->nSrc>=1 );
+ testcase( p1->nSrc==0 );
if( p2 ){
- SrcList *pNew = sqlite3SrcListEnlarge(pParse, p1, p2->nSrc, 1);
+ int nOld = p1->nSrc;
+ SrcList *pNew = sqlite3SrcListEnlarge(pParse, p1, p2->nSrc, nOld);
if( pNew==0 ){
sqlite3SrcListDelete(pParse->db, p2);
}else{
p1 = pNew;
- memcpy(&p1->a[1], p2->a, p2->nSrc*sizeof(SrcItem));
+ memcpy(&p1->a[nOld], p2->a, p2->nSrc*sizeof(SrcItem));
+ assert( nOld==1 || (p2->a[0].fg.jointype & JT_LTORJ)==0 );
+ assert( p1->nSrc>=1 );
+ p1->a[0].fg.jointype |= (JT_LTORJ & p2->a[0].fg.jointype);
sqlite3DbFree(pParse->db, p2);
- p1->a[0].fg.jointype |= (JT_LTORJ & p1->a[1].fg.jointype);
}
}
return p1;
@@ -127776,14 +130021,19 @@ SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoOfIndex(Parse *pParse, Index *pIdx){
}
if( pParse->nErr ){
assert( pParse->rc==SQLITE_ERROR_MISSING_COLLSEQ );
- if( pIdx->bNoQuery==0 ){
+ if( pIdx->bNoQuery==0
+ && sqlite3HashFind(&pIdx->pSchema->idxHash, pIdx->zName)
+ ){
/* Deactivate the index because it contains an unknown collating
** sequence. The only way to reactive the index is to reload the
** schema. Adding the missing collating sequence later does not
** reactive the index. The application had the chance to register
** the missing index using the collation-needed callback. For
** simplicity, SQLite will not give the application a second chance.
- */
+ **
+ ** Except, do not do this if the index is not in the schema hash
+ ** table. In this case the index is currently being constructed
+ ** by a CREATE INDEX statement, and retrying will not help. */
pIdx->bNoQuery = 1;
pParse->rc = SQLITE_ERROR_RETRY;
}
@@ -127875,10 +130125,9 @@ SQLITE_PRIVATE With *sqlite3WithAdd(
}
if( pWith ){
- sqlite3_int64 nByte = sizeof(*pWith) + (sizeof(pWith->a[1]) * pWith->nCte);
- pNew = sqlite3DbRealloc(db, pWith, nByte);
+ pNew = sqlite3DbRealloc(db, pWith, SZ_WITH(pWith->nCte+1));
}else{
- pNew = sqlite3DbMallocZero(db, sizeof(*pWith));
+ pNew = sqlite3DbMallocZero(db, SZ_WITH(1));
}
assert( (pNew!=0 && zName!=0) || db->mallocFailed );
@@ -128421,6 +130670,7 @@ SQLITE_PRIVATE void sqlite3SchemaClear(void *p){
for(pElem=sqliteHashFirst(&temp2); pElem; pElem=sqliteHashNext(pElem)){
sqlite3DeleteTrigger(&xdb, (Trigger*)sqliteHashData(pElem));
}
+
sqlite3HashClear(&temp2);
sqlite3HashInit(&pSchema->tblHash);
for(pElem=sqliteHashFirst(&temp1); pElem; pElem=sqliteHashNext(pElem)){
@@ -129852,11 +132102,6 @@ static void substrFunc(
i64 p1, p2;
assert( argc==3 || argc==2 );
- if( sqlite3_value_type(argv[1])==SQLITE_NULL
- || (argc==3 && sqlite3_value_type(argv[2])==SQLITE_NULL)
- ){
- return;
- }
p0type = sqlite3_value_type(argv[0]);
p1 = sqlite3_value_int64(argv[1]);
if( p0type==SQLITE_BLOB ){
@@ -129874,19 +132119,23 @@ static void substrFunc(
}
}
}
-#ifdef SQLITE_SUBSTR_COMPATIBILITY
- /* If SUBSTR_COMPATIBILITY is defined then substr(X,0,N) work the same as
- ** as substr(X,1,N) - it returns the first N characters of X. This
- ** is essentially a back-out of the bug-fix in check-in [5fc125d362df4b8]
- ** from 2009-02-02 for compatibility of applications that exploited the
- ** old buggy behavior. */
- if( p1==0 ) p1 = 1; /* <rdar://problem/6778339> */
-#endif
if( argc==3 ){
p2 = sqlite3_value_int64(argv[2]);
+ if( p2==0 && sqlite3_value_type(argv[2])==SQLITE_NULL ) return;
}else{
p2 = sqlite3_context_db_handle(context)->aLimit[SQLITE_LIMIT_LENGTH];
}
+ if( p1==0 ){
+#ifdef SQLITE_SUBSTR_COMPATIBILITY
+ /* If SUBSTR_COMPATIBILITY is defined then substr(X,0,N) work the same as
+ ** as substr(X,1,N) - it returns the first N characters of X. This
+ ** is essentially a back-out of the bug-fix in check-in [5fc125d362df4b8]
+ ** from 2009-02-02 for compatibility of applications that exploited the
+ ** old buggy behavior. */
+ p1 = 1; /* <rdar://problem/6778339> */
+#endif
+ if( sqlite3_value_type(argv[1])==SQLITE_NULL ) return;
+ }
if( p1<0 ){
p1 += len;
if( p1<0 ){
@@ -129982,7 +132231,7 @@ static void *contextMalloc(sqlite3_context *context, i64 nByte){
sqlite3 *db = sqlite3_context_db_handle(context);
assert( nByte>0 );
testcase( nByte==db->aLimit[SQLITE_LIMIT_LENGTH] );
- testcase( nByte==db->aLimit[SQLITE_LIMIT_LENGTH]+1 );
+ testcase( nByte==(i64)db->aLimit[SQLITE_LIMIT_LENGTH]+1 );
if( nByte>db->aLimit[SQLITE_LIMIT_LENGTH] ){
sqlite3_result_error_toobig(context);
z = 0;
@@ -130587,7 +132836,7 @@ static const char hexdigits[] = {
** Append to pStr text that is the SQL literal representation of the
** value contained in pValue.
*/
-SQLITE_PRIVATE void sqlite3QuoteValue(StrAccum *pStr, sqlite3_value *pValue){
+SQLITE_PRIVATE void sqlite3QuoteValue(StrAccum *pStr, sqlite3_value *pValue, int bEscape){
/* As currently implemented, the string must be initially empty.
** we might relax this requirement in the future, but that will
** require enhancements to the implementation. */
@@ -130635,7 +132884,7 @@ SQLITE_PRIVATE void sqlite3QuoteValue(StrAccum *pStr, sqlite3_value *pValue){
}
case SQLITE_TEXT: {
const unsigned char *zArg = sqlite3_value_text(pValue);
- sqlite3_str_appendf(pStr, "%Q", zArg);
+ sqlite3_str_appendf(pStr, bEscape ? "%#Q" : "%Q", zArg);
break;
}
default: {
@@ -130646,6 +132895,105 @@ SQLITE_PRIVATE void sqlite3QuoteValue(StrAccum *pStr, sqlite3_value *pValue){
}
}
+/*
+** Return true if z[] begins with N hexadecimal digits, and write
+** a decoding of those digits into *pVal. Or return false if any
+** one of the first N characters in z[] is not a hexadecimal digit.
+*/
+static int isNHex(const char *z, int N, u32 *pVal){
+ int i;
+ u32 v = 0;
+ for(i=0; i<N; i++){
+ if( !sqlite3Isxdigit(z[i]) ) return 0;
+ v = (v<<4) + sqlite3HexToInt(z[i]);
+ }
+ *pVal = v;
+ return 1;
+}
+
+/*
+** Implementation of the UNISTR() function.
+**
+** This is intended to be a work-alike of the UNISTR() function in
+** PostgreSQL. Quoting from the PG documentation (PostgreSQL 17 -
+** scraped on 2025-02-22):
+**
+** Evaluate escaped Unicode characters in the argument. Unicode
+** characters can be specified as \XXXX (4 hexadecimal digits),
+** \+XXXXXX (6 hexadecimal digits), \uXXXX (4 hexadecimal digits),
+** or \UXXXXXXXX (8 hexadecimal digits). To specify a backslash,
+** write two backslashes. All other characters are taken literally.
+*/
+static void unistrFunc(
+ sqlite3_context *context,
+ int argc,
+ sqlite3_value **argv
+){
+ char *zOut;
+ const char *zIn;
+ int nIn;
+ int i, j, n;
+ u32 v;
+
+ assert( argc==1 );
+ UNUSED_PARAMETER( argc );
+ zIn = (const char*)sqlite3_value_text(argv[0]);
+ if( zIn==0 ) return;
+ nIn = sqlite3_value_bytes(argv[0]);
+ zOut = sqlite3_malloc64(nIn+1);
+ if( zOut==0 ){
+ sqlite3_result_error_nomem(context);
+ return;
+ }
+ i = j = 0;
+ while( i<nIn ){
+ char *z = strchr(&zIn[i],'\\');
+ if( z==0 ){
+ n = nIn - i;
+ memmove(&zOut[j], &zIn[i], n);
+ j += n;
+ break;
+ }
+ n = z - &zIn[i];
+ if( n>0 ){
+ memmove(&zOut[j], &zIn[i], n);
+ j += n;
+ i += n;
+ }
+ if( zIn[i+1]=='\\' ){
+ i += 2;
+ zOut[j++] = '\\';
+ }else if( sqlite3Isxdigit(zIn[i+1]) ){
+ if( !isNHex(&zIn[i+1], 4, &v) ) goto unistr_error;
+ i += 5;
+ j += sqlite3AppendOneUtf8Character(&zOut[j], v);
+ }else if( zIn[i+1]=='+' ){
+ if( !isNHex(&zIn[i+2], 6, &v) ) goto unistr_error;
+ i += 8;
+ j += sqlite3AppendOneUtf8Character(&zOut[j], v);
+ }else if( zIn[i+1]=='u' ){
+ if( !isNHex(&zIn[i+2], 4, &v) ) goto unistr_error;
+ i += 6;
+ j += sqlite3AppendOneUtf8Character(&zOut[j], v);
+ }else if( zIn[i+1]=='U' ){
+ if( !isNHex(&zIn[i+2], 8, &v) ) goto unistr_error;
+ i += 10;
+ j += sqlite3AppendOneUtf8Character(&zOut[j], v);
+ }else{
+ goto unistr_error;
+ }
+ }
+ zOut[j] = 0;
+ sqlite3_result_text64(context, zOut, j, sqlite3_free, SQLITE_UTF8);
+ return;
+
+unistr_error:
+ sqlite3_free(zOut);
+ sqlite3_result_error(context, "invalid Unicode escape", -1);
+ return;
+}
+
+
/*
** Implementation of the QUOTE() function.
**
@@ -130655,6 +133003,10 @@ SQLITE_PRIVATE void sqlite3QuoteValue(StrAccum *pStr, sqlite3_value *pValue){
** as needed. BLOBs are encoded as hexadecimal literals. Strings with
** embedded NUL characters cannot be represented as string literals in SQL
** and hence the returned string literal is truncated prior to the first NUL.
+**
+** If sqlite3_user_data() is non-zero, then the UNISTR_QUOTE() function is
+** implemented instead. The difference is that UNISTR_QUOTE() uses the
+** UNISTR() function to escape control characters.
*/
static void quoteFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
sqlite3_str str;
@@ -130662,7 +133014,7 @@ static void quoteFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
assert( argc==1 );
UNUSED_PARAMETER(argc);
sqlite3StrAccumInit(&str, db, 0, 0, db->aLimit[SQLITE_LIMIT_LENGTH]);
- sqlite3QuoteValue(&str,argv[0]);
+ sqlite3QuoteValue(&str,argv[0],SQLITE_PTR_TO_INT(sqlite3_user_data(context)));
sqlite3_result_text(context, sqlite3StrAccumFinish(&str), str.nChar,
SQLITE_DYNAMIC);
if( str.accError!=SQLITE_OK ){
@@ -130917,7 +133269,7 @@ static void replaceFunc(
assert( zRep==sqlite3_value_text(argv[2]) );
nOut = nStr + 1;
assert( nOut<SQLITE_MAX_LENGTH );
- zOut = contextMalloc(context, (i64)nOut);
+ zOut = contextMalloc(context, nOut);
if( zOut==0 ){
return;
}
@@ -131061,8 +133413,9 @@ static void concatFuncCore(
int nSep,
const char *zSep
){
- i64 j, k, n = 0;
+ i64 j, n = 0;
int i;
+ int bNotNull = 0; /* True after at least NOT NULL argument seen */
char *z;
for(i=0; i<argc; i++){
n += sqlite3_value_bytes(argv[i]);
@@ -131075,16 +133428,17 @@ static void concatFuncCore(
}
j = 0;
for(i=0; i<argc; i++){
- k = sqlite3_value_bytes(argv[i]);
- if( k>0 ){
+ if( sqlite3_value_type(argv[i])!=SQLITE_NULL ){
+ int k = sqlite3_value_bytes(argv[i]);
const char *v = (const char*)sqlite3_value_text(argv[i]);
if( v!=0 ){
- if( j>0 && nSep>0 ){
+ if( bNotNull && nSep>0 ){
memcpy(&z[j], zSep, nSep);
j += nSep;
}
memcpy(&z[j], v, k);
j += k;
+ bNotNull = 1;
}
}
}
@@ -131313,7 +133667,7 @@ static void kahanBabuskaNeumaierInit(
** that it returns NULL if it sums over no inputs. TOTAL returns
** 0.0 in that case. In addition, TOTAL always returns a float where
** SUM might return an integer if it never encounters a floating point
-** value. TOTAL never fails, but SUM might through an exception if
+** value. TOTAL never fails, but SUM might throw an exception if
** it overflows an integer.
*/
static void sumStep(sqlite3_context *context, int argc, sqlite3_value **argv){
@@ -132030,6 +134384,502 @@ static void signFunc(
sqlite3_result_int(context, x<0.0 ? -1 : x>0.0 ? +1 : 0);
}
+#if defined(SQLITE_ENABLE_PERCENTILE)
+/***********************************************************************
+** This section implements the percentile(Y,P) SQL function and similar.
+** Requirements:
+**
+** (1) The percentile(Y,P) function is an aggregate function taking
+** exactly two arguments.
+**
+** (2) If the P argument to percentile(Y,P) is not the same for every
+** row in the aggregate then an error is thrown. The word "same"
+** in the previous sentence means that the value differ by less
+** than 0.001.
+**
+** (3) If the P argument to percentile(Y,P) evaluates to anything other
+** than a number in the range of 0.0 to 100.0 inclusive then an
+** error is thrown.
+**
+** (4) If any Y argument to percentile(Y,P) evaluates to a value that
+** is not NULL and is not numeric then an error is thrown.
+**
+** (5) If any Y argument to percentile(Y,P) evaluates to plus or minus
+** infinity then an error is thrown. (SQLite always interprets NaN
+** values as NULL.)
+**
+** (6) Both Y and P in percentile(Y,P) can be arbitrary expressions,
+** including CASE WHEN expressions.
+**
+** (7) The percentile(Y,P) aggregate is able to handle inputs of at least
+** one million (1,000,000) rows.
+**
+** (8) If there are no non-NULL values for Y, then percentile(Y,P)
+** returns NULL.
+**
+** (9) If there is exactly one non-NULL value for Y, the percentile(Y,P)
+** returns the one Y value.
+**
+** (10) If there N non-NULL values of Y where N is two or more and
+** the Y values are ordered from least to greatest and a graph is
+** drawn from 0 to N-1 such that the height of the graph at J is
+** the J-th Y value and such that straight lines are drawn between
+** adjacent Y values, then the percentile(Y,P) function returns
+** the height of the graph at P*(N-1)/100.
+**
+** (11) The percentile(Y,P) function always returns either a floating
+** point number or NULL.
+**
+** (12) The percentile(Y,P) is implemented as a single C99 source-code
+** file that compiles into a shared-library or DLL that can be loaded
+** into SQLite using the sqlite3_load_extension() interface.
+**
+** (13) A separate median(Y) function is the equivalent percentile(Y,50).
+**
+** (14) A separate percentile_cont(Y,P) function is equivalent to
+** percentile(Y,P/100.0). In other words, the fraction value in
+** the second argument is in the range of 0 to 1 instead of 0 to 100.
+**
+** (15) A separate percentile_disc(Y,P) function is like
+** percentile_cont(Y,P) except that instead of returning the weighted
+** average of the nearest two input values, it returns the next lower
+** value. So the percentile_disc(Y,P) will always return a value
+** that was one of the inputs.
+**
+** (16) All of median(), percentile(Y,P), percentile_cont(Y,P) and
+** percentile_disc(Y,P) can be used as window functions.
+**
+** Differences from standard SQL:
+**
+** * The percentile_cont(X,P) function is equivalent to the following in
+** standard SQL:
+**
+** (percentile_cont(P) WITHIN GROUP (ORDER BY X))
+**
+** The SQLite syntax is much more compact. The standard SQL syntax
+** is also supported if SQLite is compiled with the
+** -DSQLITE_ENABLE_ORDERED_SET_AGGREGATES option.
+**
+** * No median(X) function exists in the SQL standard. App developers
+** are expected to write "percentile_cont(0.5)WITHIN GROUP(ORDER BY X)".
+**
+** * No percentile(Y,P) function exists in the SQL standard. Instead of
+** percential(Y,P), developers must write this:
+** "percentile_cont(P/100.0) WITHIN GROUP (ORDER BY Y)". Note that
+** the fraction parameter to percentile() goes from 0 to 100 whereas
+** the fraction parameter in SQL standard percentile_cont() goes from
+** 0 to 1.
+**
+** Implementation notes as of 2024-08-31:
+**
+** * The regular aggregate-function versions of these routines work
+** by accumulating all values in an array of doubles, then sorting
+** that array using quicksort before computing the answer. Thus
+** the runtime is O(NlogN) where N is the number of rows of input.
+**
+** * For the window-function versions of these routines, the array of
+** inputs is sorted as soon as the first value is computed. Thereafter,
+** the array is kept in sorted order using an insert-sort. This
+** results in O(N*K) performance where K is the size of the window.
+** One can imagine alternative implementations that give O(N*logN*logK)
+** performance, but they require more complex logic and data structures.
+** The developers have elected to keep the asymptotically slower
+** algorithm for now, for simplicity, under the theory that window
+** functions are seldom used and when they are, the window size K is
+** often small. The developers might revisit that decision later,
+** should the need arise.
+*/
+
+/* The following object is the group context for a single percentile()
+** aggregate. Remember all input Y values until the very end.
+** Those values are accumulated in the Percentile.a[] array.
+*/
+typedef struct Percentile Percentile;
+struct Percentile {
+ u64 nAlloc; /* Number of slots allocated for a[] */
+ u64 nUsed; /* Number of slots actually used in a[] */
+ char bSorted; /* True if a[] is already in sorted order */
+ char bKeepSorted; /* True if advantageous to keep a[] sorted */
+ char bPctValid; /* True if rPct is valid */
+ double rPct; /* Fraction. 0.0 to 1.0 */
+ double *a; /* Array of Y values */
+};
+
+/*
+** Return TRUE if the input floating-point number is an infinity.
+*/
+static int percentIsInfinity(double r){
+ sqlite3_uint64 u;
+ assert( sizeof(u)==sizeof(r) );
+ memcpy(&u, &r, sizeof(u));
+ return ((u>>52)&0x7ff)==0x7ff;
+}
+
+/*
+** Return TRUE if two doubles differ by 0.001 or less.
+*/
+static int percentSameValue(double a, double b){
+ a -= b;
+ return a>=-0.001 && a<=0.001;
+}
+
+/*
+** Search p (which must have p->bSorted) looking for an entry with
+** value y. Return the index of that entry.
+**
+** If bExact is true, return -1 if the entry is not found.
+**
+** If bExact is false, return the index at which a new entry with
+** value y should be insert in order to keep the values in sorted
+** order. The smallest return value in this case will be 0, and
+** the largest return value will be p->nUsed.
+*/
+static i64 percentBinarySearch(Percentile *p, double y, int bExact){
+ i64 iFirst = 0; /* First element of search range */
+ i64 iLast = (i64)p->nUsed - 1; /* Last element of search range */
+ while( iLast>=iFirst ){
+ i64 iMid = (iFirst+iLast)/2;
+ double x = p->a[iMid];
+ if( x<y ){
+ iFirst = iMid + 1;
+ }else if( x>y ){
+ iLast = iMid - 1;
+ }else{
+ return iMid;
+ }
+ }
+ if( bExact ) return -1;
+ return iFirst;
+}
+
+/*
+** Generate an error for a percentile function.
+**
+** The error format string must have exactly one occurrence of "%%s()"
+** (with two '%' characters). That substring will be replaced by the name
+** of the function.
+*/
+static void percentError(sqlite3_context *pCtx, const char *zFormat, ...){
+ char *zMsg1;
+ char *zMsg2;
+ va_list ap;
+
+ va_start(ap, zFormat);
+ zMsg1 = sqlite3_vmprintf(zFormat, ap);
+ va_end(ap);
+ zMsg2 = zMsg1 ? sqlite3_mprintf(zMsg1, sqlite3VdbeFuncName(pCtx)) : 0;
+ sqlite3_result_error(pCtx, zMsg2, -1);
+ sqlite3_free(zMsg1);
+ sqlite3_free(zMsg2);
+}
+
+/*
+** The "step" function for percentile(Y,P) is called once for each
+** input row.
+*/
+static void percentStep(sqlite3_context *pCtx, int argc, sqlite3_value **argv){
+ Percentile *p;
+ double rPct;
+ int eType;
+ double y;
+ assert( argc==2 || argc==1 );
+
+ if( argc==1 ){
+ /* Requirement 13: median(Y) is the same as percentile(Y,50). */
+ rPct = 0.5;
+ }else{
+ /* P must be a number between 0 and 100 for percentile() or between
+ ** 0.0 and 1.0 for percentile_cont() and percentile_disc().
+ **
+ ** The user-data is an integer which is 10 times the upper bound.
+ */
+ double mxFrac = (SQLITE_PTR_TO_INT(sqlite3_user_data(pCtx))&2)? 100.0 : 1.0;
+ eType = sqlite3_value_numeric_type(argv[1]);
+ rPct = sqlite3_value_double(argv[1])/mxFrac;
+ if( (eType!=SQLITE_INTEGER && eType!=SQLITE_FLOAT)
+ || rPct<0.0 || rPct>1.0
+ ){
+ percentError(pCtx, "the fraction argument to %%s()"
+ " is not between 0.0 and %.1f",
+ (double)mxFrac);
+ return;
+ }
+ }
+
+ /* Allocate the session context. */
+ p = (Percentile*)sqlite3_aggregate_context(pCtx, sizeof(*p));
+ if( p==0 ) return;
+
+ /* Remember the P value. Throw an error if the P value is different
+ ** from any prior row, per Requirement (2). */
+ if( !p->bPctValid ){
+ p->rPct = rPct;
+ p->bPctValid = 1;
+ }else if( !percentSameValue(p->rPct,rPct) ){
+ percentError(pCtx, "the fraction argument to %%s()"
+ " is not the same for all input rows");
+ return;
+ }
+
+ /* Ignore rows for which Y is NULL */
+ eType = sqlite3_value_type(argv[0]);
+ if( eType==SQLITE_NULL ) return;
+
+ /* If not NULL, then Y must be numeric. Otherwise throw an error.
+ ** Requirement 4 */
+ if( eType!=SQLITE_INTEGER && eType!=SQLITE_FLOAT ){
+ percentError(pCtx, "input to %%s() is not numeric");
+ return;
+ }
+
+ /* Throw an error if the Y value is infinity or NaN */
+ y = sqlite3_value_double(argv[0]);
+ if( percentIsInfinity(y) ){
+ percentError(pCtx, "Inf input to %%s()");
+ return;
+ }
+
+ /* Allocate and store the Y */
+ if( p->nUsed>=p->nAlloc ){
+ u64 n = p->nAlloc*2 + 250;
+ double *a = sqlite3_realloc64(p->a, sizeof(double)*n);
+ if( a==0 ){
+ sqlite3_free(p->a);
+ memset(p, 0, sizeof(*p));
+ sqlite3_result_error_nomem(pCtx);
+ return;
+ }
+ p->nAlloc = n;
+ p->a = a;
+ }
+ if( p->nUsed==0 ){
+ p->a[p->nUsed++] = y;
+ p->bSorted = 1;
+ }else if( !p->bSorted || y>=p->a[p->nUsed-1] ){
+ p->a[p->nUsed++] = y;
+ }else if( p->bKeepSorted ){
+ i64 i;
+ i = percentBinarySearch(p, y, 0);
+ if( i<(int)p->nUsed ){
+ memmove(&p->a[i+1], &p->a[i], (p->nUsed-i)*sizeof(p->a[0]));
+ }
+ p->a[i] = y;
+ p->nUsed++;
+ }else{
+ p->a[p->nUsed++] = y;
+ p->bSorted = 0;
+ }
+}
+
+/*
+** Interchange two doubles.
+*/
+#define SWAP_DOUBLE(X,Y) {double ttt=(X);(X)=(Y);(Y)=ttt;}
+
+/*
+** Sort an array of doubles.
+**
+** Algorithm: quicksort
+**
+** This is implemented separately rather than using the qsort() routine
+** from the standard library because:
+**
+** (1) To avoid a dependency on qsort()
+** (2) To avoid the function call to the comparison routine for each
+** comparison.
+*/
+static void percentSort(double *a, unsigned int n){
+ int iLt; /* Entries before a[iLt] are less than rPivot */
+ int iGt; /* Entries at or after a[iGt] are greater than rPivot */
+ int i; /* Loop counter */
+ double rPivot; /* The pivot value */
+
+ assert( n>=2 );
+ if( a[0]>a[n-1] ){
+ SWAP_DOUBLE(a[0],a[n-1])
+ }
+ if( n==2 ) return;
+ iGt = n-1;
+ i = n/2;
+ if( a[0]>a[i] ){
+ SWAP_DOUBLE(a[0],a[i])
+ }else if( a[i]>a[iGt] ){
+ SWAP_DOUBLE(a[i],a[iGt])
+ }
+ if( n==3 ) return;
+ rPivot = a[i];
+ iLt = i = 1;
+ do{
+ if( a[i]<rPivot ){
+ if( i>iLt ) SWAP_DOUBLE(a[i],a[iLt])
+ iLt++;
+ i++;
+ }else if( a[i]>rPivot ){
+ do{
+ iGt--;
+ }while( iGt>i && a[iGt]>rPivot );
+ SWAP_DOUBLE(a[i],a[iGt])
+ }else{
+ i++;
+ }
+ }while( i<iGt );
+ if( iLt>=2 ) percentSort(a, iLt);
+ if( n-iGt>=2 ) percentSort(a+iGt, n-iGt);
+
+/* Uncomment for testing */
+#if 0
+ for(i=0; i<n-1; i++){
+ assert( a[i]<=a[i+1] );
+ }
+#endif
+}
+
+
+/*
+** The "inverse" function for percentile(Y,P) is called to remove a
+** row that was previously inserted by "step".
+*/
+static void percentInverse(sqlite3_context *pCtx,int argc,sqlite3_value **argv){
+ Percentile *p;
+ int eType;
+ double y;
+ i64 i;
+ assert( argc==2 || argc==1 );
+
+ /* Allocate the session context. */
+ p = (Percentile*)sqlite3_aggregate_context(pCtx, sizeof(*p));
+ assert( p!=0 );
+
+ /* Ignore rows for which Y is NULL */
+ eType = sqlite3_value_type(argv[0]);
+ if( eType==SQLITE_NULL ) return;
+
+ /* If not NULL, then Y must be numeric. Otherwise throw an error.
+ ** Requirement 4 */
+ if( eType!=SQLITE_INTEGER && eType!=SQLITE_FLOAT ){
+ return;
+ }
+
+ /* Ignore the Y value if it is infinity or NaN */
+ y = sqlite3_value_double(argv[0]);
+ if( percentIsInfinity(y) ){
+ return;
+ }
+ if( p->bSorted==0 ){
+ assert( p->nUsed>1 );
+ percentSort(p->a, p->nUsed);
+ p->bSorted = 1;
+ }
+ p->bKeepSorted = 1;
+
+ /* Find and remove the row */
+ i = percentBinarySearch(p, y, 1);
+ if( i>=0 ){
+ p->nUsed--;
+ if( i<(int)p->nUsed ){
+ memmove(&p->a[i], &p->a[i+1], (p->nUsed - i)*sizeof(p->a[0]));
+ }
+ }
+}
+
+/*
+** Compute the final output of percentile(). Clean up all allocated
+** memory if and only if bIsFinal is true.
+*/
+static void percentCompute(sqlite3_context *pCtx, int bIsFinal){
+ Percentile *p;
+ int settings = SQLITE_PTR_TO_INT(sqlite3_user_data(pCtx))&1; /* Discrete? */
+ unsigned i1, i2;
+ double v1, v2;
+ double ix, vx;
+ p = (Percentile*)sqlite3_aggregate_context(pCtx, 0);
+ if( p==0 ) return;
+ if( p->a==0 ) return;
+ if( p->nUsed ){
+ if( p->bSorted==0 ){
+ assert( p->nUsed>1 );
+ percentSort(p->a, p->nUsed);
+ p->bSorted = 1;
+ }
+ ix = p->rPct*(p->nUsed-1);
+ i1 = (unsigned)ix;
+ if( settings & 1 ){
+ vx = p->a[i1];
+ }else{
+ i2 = ix==(double)i1 || i1==p->nUsed-1 ? i1 : i1+1;
+ v1 = p->a[i1];
+ v2 = p->a[i2];
+ vx = v1 + (v2-v1)*(ix-i1);
+ }
+ sqlite3_result_double(pCtx, vx);
+ }
+ if( bIsFinal ){
+ sqlite3_free(p->a);
+ memset(p, 0, sizeof(*p));
+ }else{
+ p->bKeepSorted = 1;
+ }
+}
+static void percentFinal(sqlite3_context *pCtx){
+ percentCompute(pCtx, 1);
+}
+static void percentValue(sqlite3_context *pCtx){
+ percentCompute(pCtx, 0);
+}
+/****** End of percentile family of functions ******/
+#endif /* SQLITE_ENABLE_PERCENTILE */
+
+#if defined(SQLITE_DEBUG) || defined(SQLITE_ENABLE_FILESTAT)
+/*
+** Implementation of sqlite_filestat(SCHEMA).
+**
+** Return JSON text that describes low-level debug/diagnostic information
+** about the sqlite3_file object associated with SCHEMA.
+*/
+static void filestatFunc(
+ sqlite3_context *context,
+ int argc,
+ sqlite3_value **argv
+){
+ sqlite3 *db = sqlite3_context_db_handle(context);
+ const char *zDbName;
+ sqlite3_str *pStr;
+ Btree *pBtree;
+
+ zDbName = (const char*)sqlite3_value_text(argv[0]);
+ pBtree = sqlite3DbNameToBtree(db, zDbName);
+ if( pBtree ){
+ Pager *pPager;
+ sqlite3_file *fd;
+ int rc;
+ sqlite3BtreeEnter(pBtree);
+ pPager = sqlite3BtreePager(pBtree);
+ assert( pPager!=0 );
+ fd = sqlite3PagerFile(pPager);
+ pStr = sqlite3_str_new(db);
+ if( pStr==0 ){
+ sqlite3_result_error_nomem(context);
+ }else{
+ sqlite3_str_append(pStr, "{\"db\":", 6);
+ rc = sqlite3OsFileControl(fd, SQLITE_FCNTL_FILESTAT, pStr);
+ if( rc ) sqlite3_str_append(pStr, "null", 4);
+ fd = sqlite3PagerJrnlFile(pPager);
+ if( fd && fd->pMethods!=0 ){
+ sqlite3_str_appendall(pStr, ",\"journal\":");
+ rc = sqlite3OsFileControl(fd, SQLITE_FCNTL_FILESTAT, pStr);
+ if( rc ) sqlite3_str_append(pStr, "null", 4);
+ }
+ sqlite3_str_append(pStr, "}", 1);
+ sqlite3_result_text(context, sqlite3_str_finish(pStr), -1,
+ sqlite3_free);
+ }
+ sqlite3BtreeLeave(pBtree);
+ }else{
+ sqlite3_result_text(context, "{}", 2, SQLITE_STATIC);
+ }
+}
+#endif /* SQLITE_DEBUG || SQLITE_ENABLE_FILESTAT */
+
#ifdef SQLITE_DEBUG
/*
** Implementation of fpdecode(x,y,z) function.
@@ -132187,6 +135037,9 @@ SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(void){
INLINE_FUNC(likely, 1, INLINEFUNC_unlikely, SQLITE_FUNC_UNLIKELY),
#ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC
INLINE_FUNC(sqlite_offset, 1, INLINEFUNC_sqlite_offset, 0 ),
+#endif
+#if defined(SQLITE_DEBUG) || defined(SQLITE_ENABLE_FILESTAT)
+ FUNCTION(sqlite_filestat, 1, 0, 0, filestatFunc ),
#endif
FUNCTION(ltrim, 1, 1, 0, trimFunc ),
FUNCTION(ltrim, 2, 1, 0, trimFunc ),
@@ -132233,7 +135086,9 @@ SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(void){
DFUNCTION(sqlite_version, 0, 0, 0, versionFunc ),
DFUNCTION(sqlite_source_id, 0, 0, 0, sourceidFunc ),
FUNCTION(sqlite_log, 2, 0, 0, errlogFunc ),
+ FUNCTION(unistr, 1, 0, 0, unistrFunc ),
FUNCTION(quote, 1, 0, 0, quoteFunc ),
+ FUNCTION(unistr_quote, 1, 1, 0, quoteFunc ),
VFUNCTION(last_insert_rowid, 0, 0, 0, last_insert_rowid),
VFUNCTION(changes, 0, 0, 0, changes ),
VFUNCTION(total_changes, 0, 0, 0, total_changes ),
@@ -132258,6 +135113,21 @@ SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(void){
WAGGREGATE(string_agg, 2, 0, 0, groupConcatStep,
groupConcatFinalize, groupConcatValue, groupConcatInverse, 0),
+#ifdef SQLITE_ENABLE_PERCENTILE
+ WAGGREGATE(median, 1, 0,0, percentStep,
+ percentFinal, percentValue, percentInverse,
+ SQLITE_INNOCUOUS|SQLITE_SELFORDER1),
+ WAGGREGATE(percentile, 2, 0x2,0, percentStep,
+ percentFinal, percentValue, percentInverse,
+ SQLITE_INNOCUOUS|SQLITE_SELFORDER1),
+ WAGGREGATE(percentile_cont, 2, 0,0, percentStep,
+ percentFinal, percentValue, percentInverse,
+ SQLITE_INNOCUOUS|SQLITE_SELFORDER1),
+ WAGGREGATE(percentile_disc, 2, 0x1,0, percentStep,
+ percentFinal, percentValue, percentInverse,
+ SQLITE_INNOCUOUS|SQLITE_SELFORDER1),
+#endif /* SQLITE_ENABLE_PERCENTILE */
+
LIKEFUNC(glob, 2, &globInfo, SQLITE_FUNC_LIKE|SQLITE_FUNC_CASE),
#ifdef SQLITE_CASE_SENSITIVE_LIKE
LIKEFUNC(like, 2, &likeInfoAlt, SQLITE_FUNC_LIKE|SQLITE_FUNC_CASE),
@@ -134012,12 +136882,15 @@ SQLITE_PRIVATE void sqlite3TableAffinity(Vdbe *v, Table *pTab, int iReg){
** by one slot and insert a new OP_TypeCheck where the current
** OP_MakeRecord is found */
VdbeOp *pPrev;
+ int p3;
sqlite3VdbeAppendP4(v, pTab, P4_TABLE);
pPrev = sqlite3VdbeGetLastOp(v);
assert( pPrev!=0 );
assert( pPrev->opcode==OP_MakeRecord || sqlite3VdbeDb(v)->mallocFailed );
pPrev->opcode = OP_TypeCheck;
- sqlite3VdbeAddOp3(v, OP_MakeRecord, pPrev->p1, pPrev->p2, pPrev->p3);
+ p3 = pPrev->p3;
+ pPrev->p3 = 0;
+ sqlite3VdbeAddOp3(v, OP_MakeRecord, pPrev->p1, pPrev->p2, p3);
}else{
/* Insert an isolated OP_Typecheck */
sqlite3VdbeAddOp2(v, OP_TypeCheck, iReg, pTab->nNVCol);
@@ -134520,7 +137393,7 @@ SQLITE_PRIVATE Select *sqlite3MultiValues(Parse *pParse, Select *pLeft, ExprList
f = (f & pLeft->selFlags);
}
pSelect = sqlite3SelectNew(pParse, pRow, 0, 0, 0, 0, 0, f, 0);
- pLeft->selFlags &= ~SF_MultiValue;
+ pLeft->selFlags &= ~(u32)SF_MultiValue;
if( pSelect ){
pSelect->op = TK_ALL;
pSelect->pPrior = pLeft;
@@ -134902,28 +137775,22 @@ SQLITE_PRIVATE void sqlite3Insert(
aTabColMap = sqlite3DbMallocZero(db, pTab->nCol*sizeof(int));
if( aTabColMap==0 ) goto insert_cleanup;
for(i=0; i<pColumn->nId; i++){
- const char *zCName = pColumn->a[i].zName;
- u8 hName = sqlite3StrIHash(zCName);
- for(j=0; j<pTab->nCol; j++){
- if( pTab->aCol[j].hName!=hName ) continue;
- if( sqlite3StrICmp(zCName, pTab->aCol[j].zCnName)==0 ){
- if( aTabColMap[j]==0 ) aTabColMap[j] = i+1;
- if( i!=j ) bIdListInOrder = 0;
- if( j==pTab->iPKey ){
- ipkColumn = i; assert( !withoutRowid );
- }
+ j = sqlite3ColumnIndex(pTab, pColumn->a[i].zName);
+ if( j>=0 ){
+ if( aTabColMap[j]==0 ) aTabColMap[j] = i+1;
+ if( i!=j ) bIdListInOrder = 0;
+ if( j==pTab->iPKey ){
+ ipkColumn = i; assert( !withoutRowid );
+ }
#ifndef SQLITE_OMIT_GENERATED_COLUMNS
- if( pTab->aCol[j].colFlags & (COLFLAG_STORED|COLFLAG_VIRTUAL) ){
- sqlite3ErrorMsg(pParse,
- "cannot INSERT into generated column \"%s\"",
- pTab->aCol[j].zCnName);
- goto insert_cleanup;
- }
-#endif
- break;
+ if( pTab->aCol[j].colFlags & (COLFLAG_STORED|COLFLAG_VIRTUAL) ){
+ sqlite3ErrorMsg(pParse,
+ "cannot INSERT into generated column \"%s\"",
+ pTab->aCol[j].zCnName);
+ goto insert_cleanup;
}
- }
- if( j>=pTab->nCol ){
+#endif
+ }else{
if( sqlite3IsRowid(pColumn->a[i].zName) && !withoutRowid ){
ipkColumn = i;
bIdListInOrder = 0;
@@ -135221,7 +138088,7 @@ SQLITE_PRIVATE void sqlite3Insert(
continue;
}else if( pColumn==0 ){
/* Hidden columns that are not explicitly named in the INSERT
- ** get there default value */
+ ** get their default value */
sqlite3ExprCodeFactorable(pParse,
sqlite3ColumnExpr(pTab, &pTab->aCol[i]),
iRegStore);
@@ -135946,7 +138813,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks(
** could happen in any order, but they are grouped up front for
** convenience.
**
- ** 2018-08-14: Ticket https://www.sqlite.org/src/info/908f001483982c43
+ ** 2018-08-14: Ticket https://sqlite.org/src/info/908f001483982c43
** The order of constraints used to have OE_Update as (2) and OE_Abort
** and so forth as (1). But apparently PostgreSQL checks the OE_Update
** constraint before any others, so it had to be moved.
@@ -137756,6 +140623,12 @@ struct sqlite3_api_routines {
/* Version 3.44.0 and later */
void *(*get_clientdata)(sqlite3*,const char*);
int (*set_clientdata)(sqlite3*, const char*, void*, void(*)(void*));
+ /* Version 3.50.0 and later */
+ int (*setlk_timeout)(sqlite3*,int,int);
+ /* Version 3.51.0 and later */
+ int (*set_errmsg)(sqlite3*,int,const char*);
+ int (*db_status64)(sqlite3*,int,sqlite3_int64*,sqlite3_int64*,int);
+
};
/*
@@ -138089,6 +140962,11 @@ typedef int (*sqlite3_loadext_entry)(
/* Version 3.44.0 and later */
#define sqlite3_get_clientdata sqlite3_api->get_clientdata
#define sqlite3_set_clientdata sqlite3_api->set_clientdata
+/* Version 3.50.0 and later */
+#define sqlite3_setlk_timeout sqlite3_api->setlk_timeout
+/* Version 3.51.0 and later */
+#define sqlite3_set_errmsg sqlite3_api->set_errmsg
+#define sqlite3_db_status64 sqlite3_api->db_status64
#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)
@@ -138610,7 +141488,12 @@ static const sqlite3_api_routines sqlite3Apis = {
sqlite3_stmt_explain,
/* Version 3.44.0 and later */
sqlite3_get_clientdata,
- sqlite3_set_clientdata
+ sqlite3_set_clientdata,
+ /* Version 3.50.0 and later */
+ sqlite3_setlk_timeout,
+ /* Version 3.51.0 and later */
+ sqlite3_set_errmsg,
+ sqlite3_db_status64
};
/* True if x is the directory separator character
@@ -139132,48 +142015,48 @@ static const char *const pragCName[] = {
/* 13 */ "pk",
/* 14 */ "hidden",
/* table_info reuses 8 */
- /* 15 */ "schema", /* Used by: table_list */
- /* 16 */ "name",
+ /* 15 */ "name", /* Used by: function_list */
+ /* 16 */ "builtin",
/* 17 */ "type",
- /* 18 */ "ncol",
- /* 19 */ "wr",
- /* 20 */ "strict",
- /* 21 */ "seqno", /* Used by: index_xinfo */
- /* 22 */ "cid",
- /* 23 */ "name",
- /* 24 */ "desc",
- /* 25 */ "coll",
- /* 26 */ "key",
- /* 27 */ "name", /* Used by: function_list */
- /* 28 */ "builtin",
- /* 29 */ "type",
- /* 30 */ "enc",
- /* 31 */ "narg",
- /* 32 */ "flags",
- /* 33 */ "tbl", /* Used by: stats */
- /* 34 */ "idx",
- /* 35 */ "wdth",
- /* 36 */ "hght",
- /* 37 */ "flgs",
- /* 38 */ "seq", /* Used by: index_list */
- /* 39 */ "name",
- /* 40 */ "unique",
- /* 41 */ "origin",
- /* 42 */ "partial",
+ /* 18 */ "enc",
+ /* 19 */ "narg",
+ /* 20 */ "flags",
+ /* 21 */ "schema", /* Used by: table_list */
+ /* 22 */ "name",
+ /* 23 */ "type",
+ /* 24 */ "ncol",
+ /* 25 */ "wr",
+ /* 26 */ "strict",
+ /* 27 */ "seqno", /* Used by: index_xinfo */
+ /* 28 */ "cid",
+ /* 29 */ "name",
+ /* 30 */ "desc",
+ /* 31 */ "coll",
+ /* 32 */ "key",
+ /* 33 */ "seq", /* Used by: index_list */
+ /* 34 */ "name",
+ /* 35 */ "unique",
+ /* 36 */ "origin",
+ /* 37 */ "partial",
+ /* 38 */ "tbl", /* Used by: stats */
+ /* 39 */ "idx",
+ /* 40 */ "wdth",
+ /* 41 */ "hght",
+ /* 42 */ "flgs",
/* 43 */ "table", /* Used by: foreign_key_check */
/* 44 */ "rowid",
/* 45 */ "parent",
/* 46 */ "fkid",
- /* index_info reuses 21 */
- /* 47 */ "seq", /* Used by: database_list */
- /* 48 */ "name",
- /* 49 */ "file",
- /* 50 */ "busy", /* Used by: wal_checkpoint */
- /* 51 */ "log",
- /* 52 */ "checkpointed",
- /* collation_list reuses 38 */
+ /* 47 */ "busy", /* Used by: wal_checkpoint */
+ /* 48 */ "log",
+ /* 49 */ "checkpointed",
+ /* 50 */ "seq", /* Used by: database_list */
+ /* 51 */ "name",
+ /* 52 */ "file",
+ /* index_info reuses 27 */
/* 53 */ "database", /* Used by: lock_status */
/* 54 */ "status",
+ /* collation_list reuses 33 */
/* 55 */ "cache_size", /* Used by: default_cache_size */
/* module_list pragma_list reuses 9 */
/* 56 */ "timeout", /* Used by: busy_timeout */
@@ -139266,7 +142149,7 @@ static const PragmaName aPragmaName[] = {
{/* zName: */ "collation_list",
/* ePragTyp: */ PragTyp_COLLATION_LIST,
/* ePragFlg: */ PragFlg_Result0,
- /* ColNames: */ 38, 2,
+ /* ColNames: */ 33, 2,
/* iArg: */ 0 },
#endif
#if !defined(SQLITE_OMIT_COMPILEOPTION_DIAGS)
@@ -139301,7 +142184,7 @@ static const PragmaName aPragmaName[] = {
{/* zName: */ "database_list",
/* ePragTyp: */ PragTyp_DATABASE_LIST,
/* ePragFlg: */ PragFlg_Result0,
- /* ColNames: */ 47, 3,
+ /* ColNames: */ 50, 3,
/* iArg: */ 0 },
#endif
#if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && !defined(SQLITE_OMIT_DEPRECATED)
@@ -139381,7 +142264,7 @@ static const PragmaName aPragmaName[] = {
{/* zName: */ "function_list",
/* ePragTyp: */ PragTyp_FUNCTION_LIST,
/* ePragFlg: */ PragFlg_Result0,
- /* ColNames: */ 27, 6,
+ /* ColNames: */ 15, 6,
/* iArg: */ 0 },
#endif
#endif
@@ -139410,17 +142293,17 @@ static const PragmaName aPragmaName[] = {
{/* zName: */ "index_info",
/* ePragTyp: */ PragTyp_INDEX_INFO,
/* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
- /* ColNames: */ 21, 3,
+ /* ColNames: */ 27, 3,
/* iArg: */ 0 },
{/* zName: */ "index_list",
/* ePragTyp: */ PragTyp_INDEX_LIST,
/* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
- /* ColNames: */ 38, 5,
+ /* ColNames: */ 33, 5,
/* iArg: */ 0 },
{/* zName: */ "index_xinfo",
/* ePragTyp: */ PragTyp_INDEX_INFO,
/* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1|PragFlg_SchemaOpt,
- /* ColNames: */ 21, 6,
+ /* ColNames: */ 27, 6,
/* iArg: */ 1 },
#endif
#if !defined(SQLITE_OMIT_INTEGRITY_CHECK)
@@ -139599,7 +142482,7 @@ static const PragmaName aPragmaName[] = {
{/* zName: */ "stats",
/* ePragTyp: */ PragTyp_STATS,
/* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result0|PragFlg_SchemaReq,
- /* ColNames: */ 33, 5,
+ /* ColNames: */ 38, 5,
/* iArg: */ 0 },
#endif
#if !defined(SQLITE_OMIT_PAGER_PRAGMAS)
@@ -139618,7 +142501,7 @@ static const PragmaName aPragmaName[] = {
{/* zName: */ "table_list",
/* ePragTyp: */ PragTyp_TABLE_LIST,
/* ePragFlg: */ PragFlg_NeedSchema|PragFlg_Result1,
- /* ColNames: */ 15, 6,
+ /* ColNames: */ 21, 6,
/* iArg: */ 0 },
{/* zName: */ "table_xinfo",
/* ePragTyp: */ PragTyp_TABLE_INFO,
@@ -139695,7 +142578,7 @@ static const PragmaName aPragmaName[] = {
{/* zName: */ "wal_checkpoint",
/* ePragTyp: */ PragTyp_WAL_CHECKPOINT,
/* ePragFlg: */ PragFlg_NeedSchema,
- /* ColNames: */ 50, 3,
+ /* ColNames: */ 47, 3,
/* iArg: */ 0 },
#endif
#if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
@@ -139717,7 +142600,7 @@ static const PragmaName aPragmaName[] = {
** the following macro or to the actual analysis_limit if it is non-zero,
** in order to prevent PRAGMA optimize from running for too long.
**
-** The value of 2000 is chosen emperically so that the worst-case run-time
+** The value of 2000 is chosen empirically so that the worst-case run-time
** for PRAGMA optimize does not exceed 100 milliseconds against a variety
** of test databases on a RaspberryPI-4 compiled using -Os and without
** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of
@@ -140072,6 +142955,22 @@ static int integrityCheckResultRow(Vdbe *v){
return addr;
}
+/*
+** Should table pTab be skipped when doing an integrity_check?
+** Return true or false.
+**
+** If pObjTab is not null, the return true if pTab matches pObjTab.
+**
+** If pObjTab is null, then return true only if pTab is an imposter table.
+*/
+static int tableSkipIntegrityCheck(const Table *pTab, const Table *pObjTab){
+ if( pObjTab ){
+ return pTab!=pObjTab;
+ }else{
+ return (pTab->tabFlags & TF_Imposter)!=0;
+ }
+}
+
/*
** Process a pragma statement.
**
@@ -140834,7 +143733,10 @@ SQLITE_PRIVATE void sqlite3Pragma(
}
}else{
db->flags &= ~mask;
- if( mask==SQLITE_DeferFKs ) db->nDeferredImmCons = 0;
+ if( mask==SQLITE_DeferFKs ){
+ db->nDeferredImmCons = 0;
+ db->nDeferredCons = 0;
+ }
if( (mask & SQLITE_WriteSchema)!=0
&& sqlite3_stricmp(zRight, "reset")==0
){
@@ -141414,7 +144316,7 @@ SQLITE_PRIVATE void sqlite3Pragma(
Table *pTab = sqliteHashData(x); /* Current table */
Index *pIdx; /* An index on pTab */
int nIdx; /* Number of indexes on pTab */
- if( pObjTab && pObjTab!=pTab ) continue;
+ if( tableSkipIntegrityCheck(pTab,pObjTab) ) continue;
if( HasRowid(pTab) ) cnt++;
for(nIdx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, nIdx++){ cnt++; }
}
@@ -141427,7 +144329,7 @@ SQLITE_PRIVATE void sqlite3Pragma(
for(x=sqliteHashFirst(pTbls); x; x=sqliteHashNext(x)){
Table *pTab = sqliteHashData(x);
Index *pIdx;
- if( pObjTab && pObjTab!=pTab ) continue;
+ if( tableSkipIntegrityCheck(pTab,pObjTab) ) continue;
if( HasRowid(pTab) ) aRoot[++cnt] = pTab->tnum;
for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
aRoot[++cnt] = pIdx->tnum;
@@ -141458,7 +144360,7 @@ SQLITE_PRIVATE void sqlite3Pragma(
int iTab = 0;
Table *pTab = sqliteHashData(x);
Index *pIdx;
- if( pObjTab && pObjTab!=pTab ) continue;
+ if( tableSkipIntegrityCheck(pTab,pObjTab) ) continue;
if( HasRowid(pTab) ){
iTab = cnt++;
}else{
@@ -141494,7 +144396,7 @@ SQLITE_PRIVATE void sqlite3Pragma(
int r2; /* Previous key for WITHOUT ROWID tables */
int mxCol; /* Maximum non-virtual column number */
- if( pObjTab && pObjTab!=pTab ) continue;
+ if( tableSkipIntegrityCheck(pTab,pObjTab) ) continue;
if( !IsOrdinaryTable(pTab) ) continue;
if( isQuick || HasRowid(pTab) ){
pPk = 0;
@@ -141818,7 +144720,7 @@ SQLITE_PRIVATE void sqlite3Pragma(
Table *pTab = sqliteHashData(x);
sqlite3_vtab *pVTab;
int a1;
- if( pObjTab && pObjTab!=pTab ) continue;
+ if( tableSkipIntegrityCheck(pTab,pObjTab) ) continue;
if( IsOrdinaryTable(pTab) ) continue;
if( !IsVirtual(pTab) ) continue;
if( pTab->nCol<=0 ){
@@ -142050,6 +144952,8 @@ SQLITE_PRIVATE void sqlite3Pragma(
eMode = SQLITE_CHECKPOINT_RESTART;
}else if( sqlite3StrICmp(zRight, "truncate")==0 ){
eMode = SQLITE_CHECKPOINT_TRUNCATE;
+ }else if( sqlite3StrICmp(zRight, "noop")==0 ){
+ eMode = SQLITE_CHECKPOINT_NOOP;
}
}
pParse->nMem = 3;
@@ -143616,9 +146520,11 @@ static int sqlite3LockAndPrepare(
rc = sqlite3Prepare(db, zSql, nBytes, prepFlags, pOld, ppStmt, pzTail);
assert( rc==SQLITE_OK || *ppStmt==0 );
if( rc==SQLITE_OK || db->mallocFailed ) break;
- }while( (rc==SQLITE_ERROR_RETRY && (cnt++)<SQLITE_MAX_PREPARE_RETRY)
- || (rc==SQLITE_SCHEMA && (sqlite3ResetOneSchema(db,-1), cnt++)==0) );
+ cnt++;
+ }while( (rc==SQLITE_ERROR_RETRY && ALWAYS(cnt<=SQLITE_MAX_PREPARE_RETRY))
+ || (rc==SQLITE_SCHEMA && (sqlite3ResetOneSchema(db,-1), cnt)==1) );
sqlite3BtreeLeaveAll(db);
+ assert( rc!=SQLITE_ERROR_RETRY );
rc = sqlite3ApiExit(db, rc);
assert( (rc&db->errMask)==rc );
db->busyHandler.nBusy = 0;
@@ -144003,7 +146909,7 @@ SQLITE_PRIVATE Select *sqlite3SelectNew(
pNew->addrOpenEphm[0] = -1;
pNew->addrOpenEphm[1] = -1;
pNew->nSelectRow = 0;
- if( pSrc==0 ) pSrc = sqlite3DbMallocZero(pParse->db, sizeof(*pSrc));
+ if( pSrc==0 ) pSrc = sqlite3DbMallocZero(pParse->db, SZ_SRCLIST_1);
pNew->pSrc = pSrc;
pNew->pWhere = pWhere;
pNew->pGroupBy = pGroupBy;
@@ -144168,10 +147074,33 @@ SQLITE_PRIVATE int sqlite3JoinType(Parse *pParse, Token *pA, Token *pB, Token *p
*/
SQLITE_PRIVATE int sqlite3ColumnIndex(Table *pTab, const char *zCol){
int i;
- u8 h = sqlite3StrIHash(zCol);
- Column *pCol;
- for(pCol=pTab->aCol, i=0; i<pTab->nCol; pCol++, i++){
- if( pCol->hName==h && sqlite3StrICmp(pCol->zCnName, zCol)==0 ) return i;
+ u8 h;
+ const Column *aCol;
+ int nCol;
+
+ h = sqlite3StrIHash(zCol);
+ aCol = pTab->aCol;
+ nCol = pTab->nCol;
+
+ /* See if the aHx gives us a lucky match */
+ i = pTab->aHx[h % sizeof(pTab->aHx)];
+ assert( i<nCol );
+ if( aCol[i].hName==h
+ && sqlite3StrICmp(aCol[i].zCnName, zCol)==0
+ ){
+ return i;
+ }
+
+ /* No lucky match from the hash table. Do a full search. */
+ i = 0;
+ while( 1 /*exit-by-break*/ ){
+ if( aCol[i].hName==h
+ && sqlite3StrICmp(aCol[i].zCnName, zCol)==0
+ ){
+ return i;
+ }
+ i++;
+ if( i>=nCol ) break;
}
return -1;
}
@@ -144210,7 +147139,7 @@ static int tableAndColumnIndex(
int iEnd, /* Last member of pSrc->a[] to check */
const char *zCol, /* Name of the column we are looking for */
int *piTab, /* Write index of pSrc->a[] here */
- int *piCol, /* Write index of pSrc->a[*piTab].pTab->aCol[] here */
+ int *piCol, /* Write index of pSrc->a[*piTab].pSTab->aCol[] here */
int bIgnoreHidden /* Ignore hidden columns */
){
int i; /* For looping over tables in pSrc */
@@ -144269,8 +147198,7 @@ SQLITE_PRIVATE void sqlite3SetJoinExpr(Expr *p, int iTable, u32 joinFlag){
assert( !ExprHasProperty(p, EP_TokenOnly|EP_Reduced) );
ExprSetVVAProperty(p, EP_NoReduce);
p->w.iJoin = iTable;
- if( p->op==TK_FUNCTION ){
- assert( ExprUseXList(p) );
+ if( ExprUseXList(p) ){
if( p->x.pList ){
int i;
for(i=0; i<p->x.pList->nExpr; i++){
@@ -144422,7 +147350,7 @@ static int sqlite3ProcessJoin(Parse *pParse, Select *p){
}
pE1 = sqlite3CreateColumnExpr(db, pSrc, iLeft, iLeftCol);
sqlite3SrcItemColumnUsed(&pSrc->a[iLeft], iLeftCol);
- if( (pSrc->a[0].fg.jointype & JT_LTORJ)!=0 ){
+ if( (pSrc->a[0].fg.jointype & JT_LTORJ)!=0 && pParse->nErr==0 ){
/* This branch runs if the query contains one or more RIGHT or FULL
** JOINs. If only a single table on the left side of this join
** contains the zName column, then this branch is a no-op.
@@ -144438,6 +147366,8 @@ static int sqlite3ProcessJoin(Parse *pParse, Select *p){
*/
ExprList *pFuncArgs = 0; /* Arguments to the coalesce() */
static const Token tkCoalesce = { "coalesce", 8 };
+ assert( pE1!=0 );
+ ExprSetProperty(pE1, EP_CanBeNull);
while( tableAndColumnIndex(pSrc, iLeft+1, i, zName, &iLeft, &iLeftCol,
pRight->fg.isSynthUsing)!=0 ){
if( pSrc->a[iLeft].fg.isUsing==0
@@ -144454,7 +147384,13 @@ static int sqlite3ProcessJoin(Parse *pParse, Select *p){
if( pFuncArgs ){
pFuncArgs = sqlite3ExprListAppend(pParse, pFuncArgs, pE1);
pE1 = sqlite3ExprFunction(pParse, pFuncArgs, &tkCoalesce, 0);
+ if( pE1 ){
+ pE1->affExpr = SQLITE_AFF_DEFER;
+ }
}
+ }else if( (pSrc->a[i+1].fg.jointype & JT_LEFT)!=0 && pParse->nErr==0 ){
+ assert( pE1!=0 );
+ ExprSetProperty(pE1, EP_CanBeNull);
}
pE2 = sqlite3CreateColumnExpr(db, pSrc, i+1, iRightCol);
sqlite3SrcItemColumnUsed(pRight, iRightCol);
@@ -144478,6 +147414,7 @@ static int sqlite3ProcessJoin(Parse *pParse, Select *p){
p->pWhere = sqlite3ExprAnd(pParse, p->pWhere, pRight->u3.pOn);
pRight->u3.pOn = 0;
pRight->fg.isOn = 1;
+ p->selFlags |= SF_OnToWhere;
}
}
return 0;
@@ -145263,9 +148200,14 @@ static void selectInnerLoop(
assert( nResultCol<=pDest->nSdst );
pushOntoSorter(
pParse, pSort, p, regResult, regOrig, nResultCol, nPrefixReg);
+ pDest->iSDParm = regResult;
}else{
assert( nResultCol==pDest->nSdst );
- assert( regResult==iParm );
+ if( regResult!=iParm ){
+ /* This occurs in cases where the SELECT had both a DISTINCT and
+ ** an OFFSET clause. */
+ sqlite3VdbeAddOp3(v, OP_Copy, regResult, iParm, nResultCol-1);
+ }
/* The LIMIT clause will jump out of the loop for us */
}
break;
@@ -145363,8 +148305,11 @@ static void selectInnerLoop(
** X extra columns.
*/
SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoAlloc(sqlite3 *db, int N, int X){
- int nExtra = (N+X)*(sizeof(CollSeq*)+1) - sizeof(CollSeq*);
- KeyInfo *p = sqlite3DbMallocRawNN(db, sizeof(KeyInfo) + nExtra);
+ int nExtra = (N+X)*(sizeof(CollSeq*)+1);
+ KeyInfo *p;
+ assert( X>=0 );
+ if( NEVER(N+X>0xffff) ) return (KeyInfo*)sqlite3OomFault(db);
+ p = sqlite3DbMallocRawNN(db, SZ_KEYINFO(0) + nExtra);
if( p ){
p->aSortFlags = (u8*)&p->aColl[N+X];
p->nKeyField = (u16)N;
@@ -145372,7 +148317,7 @@ SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoAlloc(sqlite3 *db, int N, int X){
p->enc = ENC(db);
p->db = db;
p->nRef = 1;
- memset(&p[1], 0, nExtra);
+ memset(p->aColl, 0, nExtra);
}else{
return (KeyInfo*)sqlite3OomFault(db);
}
@@ -145931,6 +148876,10 @@ static void generateColumnTypes(
#endif
sqlite3VdbeSetColName(v, i, COLNAME_DECLTYPE, zType, SQLITE_TRANSIENT);
}
+#else
+ UNUSED_PARAMETER(pParse);
+ UNUSED_PARAMETER(pTabList);
+ UNUSED_PARAMETER(pEList);
#endif /* !defined(SQLITE_OMIT_DECLTYPE) */
}
@@ -146850,8 +149799,10 @@ static int multiSelect(
int priorOp; /* The SRT_ operation to apply to prior selects */
Expr *pLimit; /* Saved values of p->nLimit */
int addr;
+ int emptyBypass = 0; /* IfEmpty opcode to bypass RHS */
SelectDest uniondest;
+
testcase( p->op==TK_EXCEPT );
testcase( p->op==TK_UNION );
priorOp = SRT_Union;
@@ -146889,6 +149840,8 @@ static int multiSelect(
*/
if( p->op==TK_EXCEPT ){
op = SRT_Except;
+ emptyBypass = sqlite3VdbeAddOp1(v, OP_IfEmpty, unionTab);
+ VdbeCoverage(v);
}else{
assert( p->op==TK_UNION );
op = SRT_Union;
@@ -146909,6 +149862,7 @@ static int multiSelect(
if( p->op==TK_UNION ){
p->nSelectRow = sqlite3LogEstAdd(p->nSelectRow, pPrior->nSelectRow);
}
+ if( emptyBypass ) sqlite3VdbeJumpHere(v, emptyBypass);
sqlite3ExprDelete(db, p->pLimit);
p->pLimit = pLimit;
p->iLimit = 0;
@@ -146939,9 +149893,10 @@ static int multiSelect(
int tab1, tab2;
int iCont, iBreak, iStart;
Expr *pLimit;
- int addr;
+ int addr, iLimit, iOffset;
SelectDest intersectdest;
int r1;
+ int emptyBypass;
/* INTERSECT is different from the others since it requires
** two temporary tables. Hence it has its own case. Begin
@@ -146966,14 +149921,28 @@ static int multiSelect(
goto multi_select_end;
}
+ /* Initialize LIMIT counters before checking to see if the LHS
+ ** is empty, in case the jump is taken */
+ iBreak = sqlite3VdbeMakeLabel(pParse);
+ computeLimitRegisters(pParse, p, iBreak);
+ emptyBypass = sqlite3VdbeAddOp1(v, OP_IfEmpty, tab1); VdbeCoverage(v);
+
/* Code the current SELECT into temporary table "tab2"
*/
addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, tab2, 0);
assert( p->addrOpenEphm[1] == -1 );
p->addrOpenEphm[1] = addr;
- p->pPrior = 0;
+
+ /* Disable prior SELECTs and the LIMIT counters during the computation
+ ** of the RHS select */
pLimit = p->pLimit;
+ iLimit = p->iLimit;
+ iOffset = p->iOffset;
+ p->pPrior = 0;
p->pLimit = 0;
+ p->iLimit = 0;
+ p->iOffset = 0;
+
intersectdest.iSDParm = tab2;
ExplainQueryPlan((pParse, 1, "%s USING TEMP B-TREE",
sqlite3SelectOpName(p->op)));
@@ -146986,19 +149955,21 @@ static int multiSelect(
p->nSelectRow = pPrior->nSelectRow;
}
sqlite3ExprDelete(db, p->pLimit);
+
+ /* Reinstate the LIMIT counters prior to running the final intersect */
p->pLimit = pLimit;
+ p->iLimit = iLimit;
+ p->iOffset = iOffset;
/* Generate code to take the intersection of the two temporary
** tables.
*/
if( rc ) break;
assert( p->pEList );
- iBreak = sqlite3VdbeMakeLabel(pParse);
- iCont = sqlite3VdbeMakeLabel(pParse);
- computeLimitRegisters(pParse, p, iBreak);
- sqlite3VdbeAddOp2(v, OP_Rewind, tab1, iBreak); VdbeCoverage(v);
+ sqlite3VdbeAddOp1(v, OP_Rewind, tab1);
r1 = sqlite3GetTempReg(pParse);
iStart = sqlite3VdbeAddOp2(v, OP_RowData, tab1, r1);
+ iCont = sqlite3VdbeMakeLabel(pParse);
sqlite3VdbeAddOp4Int(v, OP_NotFound, tab2, iCont, r1, 0);
VdbeCoverage(v);
sqlite3ReleaseTempReg(pParse, r1);
@@ -147008,6 +149979,7 @@ static int multiSelect(
sqlite3VdbeAddOp2(v, OP_Next, tab1, iStart); VdbeCoverage(v);
sqlite3VdbeResolveLabel(v, iBreak);
sqlite3VdbeAddOp2(v, OP_Close, tab2, 0);
+ sqlite3VdbeJumpHere(v, emptyBypass);
sqlite3VdbeAddOp2(v, OP_Close, tab1, 0);
break;
}
@@ -147073,6 +150045,7 @@ static int multiSelect(
multi_select_end:
pDest->iSdst = dest.iSdst;
pDest->nSdst = dest.nSdst;
+ pDest->iSDParm2 = dest.iSDParm2;
if( pDelete ){
sqlite3ParserAddCleanup(pParse, sqlite3SelectDeleteGeneric, pDelete);
}
@@ -147655,7 +150628,7 @@ static int multiSelectOrderBy(
** ## About "isOuterJoin":
**
** The isOuterJoin column indicates that the replacement will occur into a
-** position in the parent that NULL-able due to an OUTER JOIN. Either the
+** position in the parent that is NULL-able due to an OUTER JOIN. Either the
** target slot in the parent is the right operand of a LEFT JOIN, or one of
** the left operands of a RIGHT JOIN. In either case, we need to potentially
** bypass the substituted expression with OP_IfNullRow.
@@ -147685,6 +150658,7 @@ typedef struct SubstContext {
int iTable; /* Replace references to this table */
int iNewTable; /* New table number */
int isOuterJoin; /* Add TK_IF_NULL_ROW opcodes on each replacement */
+ int nSelDepth; /* Depth of sub-query recursion. Top==1 */
ExprList *pEList; /* Replacement expressions */
ExprList *pCList; /* Collation sequences for replacement expr */
} SubstContext;
@@ -147792,6 +150766,9 @@ static Expr *substExpr(
if( pExpr->op==TK_IF_NULL_ROW && pExpr->iTable==pSubst->iTable ){
pExpr->iTable = pSubst->iNewTable;
}
+ if( pExpr->op==TK_AGG_FUNCTION && pExpr->op2>=pSubst->nSelDepth ){
+ pExpr->op2--;
+ }
pExpr->pLeft = substExpr(pSubst, pExpr->pLeft);
pExpr->pRight = substExpr(pSubst, pExpr->pRight);
if( ExprUseXSelect(pExpr) ){
@@ -147829,6 +150806,7 @@ static void substSelect(
SrcItem *pItem;
int i;
if( !p ) return;
+ pSubst->nSelDepth++;
do{
substExprList(pSubst, p->pEList);
substExprList(pSubst, p->pGroupBy);
@@ -147846,6 +150824,7 @@ static void substSelect(
}
}
}while( doPrior && (p = p->pPrior)!=0 );
+ pSubst->nSelDepth--;
}
#endif /* !defined(SQLITE_OMIT_SUBQUERY) || !defined(SQLITE_OMIT_VIEW) */
@@ -148061,9 +151040,9 @@ static int compoundHasDifferentAffinities(Select *p){
** from 2015-02-09.)
**
** (3) If the subquery is the right operand of a LEFT JOIN then
-** (3a) the subquery may not be a join and
-** (3b) the FROM clause of the subquery may not contain a virtual
-** table and
+** (3a) the subquery may not be a join
+** (**) Was (3b): "the FROM clause of the subquery may not contain
+** a virtual table"
** (**) Was: "The outer query may not have a GROUP BY." This case
** is now managed correctly
** (3d) the outer query may not be DISTINCT.
@@ -148279,7 +151258,7 @@ static int flattenSubquery(
*/
if( (pSubitem->fg.jointype & (JT_OUTER|JT_LTORJ))!=0 ){
if( pSubSrc->nSrc>1 /* (3a) */
- || IsVirtual(pSubSrc->a[0].pSTab) /* (3b) */
+ /**** || IsVirtual(pSubSrc->a[0].pSTab) (3b)-omitted */
|| (p->selFlags & SF_Distinct)!=0 /* (3d) */
|| (pSubitem->fg.jointype & JT_RIGHT)!=0 /* (26) */
){
@@ -148457,7 +151436,7 @@ static int flattenSubquery(
** complete, since there may still exist Expr.pTab entries that
** refer to the subquery even after flattening. Ticket #3346.
**
- ** pSubitem->pTab is always non-NULL by test restrictions and tests above.
+ ** pSubitem->pSTab is always non-NULL by test restrictions and tests above.
*/
if( ALWAYS(pSubitem->pSTab!=0) ){
Table *pTabToDel = pSubitem->pSTab;
@@ -148487,17 +151466,12 @@ static int flattenSubquery(
pSub = pSub1;
for(pParent=p; pParent; pParent=pParent->pPrior, pSub=pSub->pPrior){
int nSubSrc;
- u8 jointype = 0;
- u8 ltorj = pSrc->a[iFrom].fg.jointype & JT_LTORJ;
+ u8 jointype = pSubitem->fg.jointype;
assert( pSub!=0 );
pSubSrc = pSub->pSrc; /* FROM clause of subquery */
nSubSrc = pSubSrc->nSrc; /* Number of terms in subquery FROM clause */
pSrc = pParent->pSrc; /* FROM clause of the outer query */
- if( pParent==p ){
- jointype = pSubitem->fg.jointype; /* First time through the loop */
- }
-
/* The subquery uses a single slot of the FROM clause of the outer
** query. If the subquery has more than one element in its FROM clause,
** then expand the outer query to make space for it to hold all elements
@@ -148517,6 +151491,7 @@ static int flattenSubquery(
pSrc = sqlite3SrcListEnlarge(pParse, pSrc, nSubSrc-1,iFrom+1);
if( pSrc==0 ) break;
pParent->pSrc = pSrc;
+ pSubitem = &pSrc->a[iFrom];
}
/* Transfer the FROM clause terms from the subquery into the
@@ -148531,11 +151506,10 @@ static int flattenSubquery(
|| pItem->u4.zDatabase==0 );
if( pItem->fg.isUsing ) sqlite3IdListDelete(db, pItem->u3.pUsing);
*pItem = pSubSrc->a[i];
- pItem->fg.jointype |= ltorj;
+ pItem->fg.jointype |= (jointype & JT_LTORJ);
memset(&pSubSrc->a[i], 0, sizeof(pSubSrc->a[i]));
}
- pSrc->a[iFrom].fg.jointype &= JT_LTORJ;
- pSrc->a[iFrom].fg.jointype |= jointype | ltorj;
+ pSubitem->fg.jointype |= jointype;
/* Now begin substituting subquery result set expressions for
** references to the iParent in the outer query.
@@ -148587,6 +151561,7 @@ static int flattenSubquery(
x.iTable = iParent;
x.iNewTable = iNewParent;
x.isOuterJoin = isOuterJoin;
+ x.nSelDepth = 0;
x.pEList = pSub->pEList;
x.pCList = findLeftmostExprlist(pSub);
substSelect(&x, pParent, 0);
@@ -148683,7 +151658,8 @@ static void constInsert(
return; /* Already present. Return without doing anything. */
}
}
- if( sqlite3ExprAffinity(pColumn)==SQLITE_AFF_BLOB ){
+ assert( SQLITE_AFF_NONE<SQLITE_AFF_BLOB );
+ if( sqlite3ExprAffinity(pColumn)<=SQLITE_AFF_BLOB ){
pConst->bHasAffBlob = 1;
}
@@ -148758,7 +151734,8 @@ static int propagateConstantExprRewriteOne(
if( pColumn==pExpr ) continue;
if( pColumn->iTable!=pExpr->iTable ) continue;
if( pColumn->iColumn!=pExpr->iColumn ) continue;
- if( bIgnoreAffBlob && sqlite3ExprAffinity(pColumn)==SQLITE_AFF_BLOB ){
+ assert( SQLITE_AFF_NONE<SQLITE_AFF_BLOB );
+ if( bIgnoreAffBlob && sqlite3ExprAffinity(pColumn)<=SQLITE_AFF_BLOB ){
break;
}
/* A match is found. Add the EP_FixedCol property */
@@ -149170,6 +152147,7 @@ static int pushDownWhereTerms(
x.iTable = pSrc->iCursor;
x.iNewTable = pSrc->iCursor;
x.isOuterJoin = 0;
+ x.nSelDepth = 0;
x.pEList = pSubq->pEList;
x.pCList = findLeftmostExprlist(pSubq);
pNew = substExpr(&x, pNew);
@@ -149411,7 +152389,7 @@ SQLITE_PRIVATE int sqlite3IndexedByLookup(Parse *pParse, SrcItem *pFrom){
** above that generates the code for a compound SELECT with an ORDER BY clause
** uses a merge algorithm that requires the same collating sequence on the
** result columns as on the ORDER BY clause. See ticket
-** http://www.sqlite.org/src/info/6709574d2a
+** http://sqlite.org/src/info/6709574d2a
**
** This transformation is only needed for EXCEPT, INTERSECT, and UNION.
** The UNION ALL operator works fine with multiSelectOrderBy() even when
@@ -149472,7 +152450,7 @@ static int convertCompoundSelectToSubquery(Walker *pWalker, Select *p){
#ifndef SQLITE_OMIT_WINDOWFUNC
p->pWinDefn = 0;
#endif
- p->selFlags &= ~SF_Compound;
+ p->selFlags &= ~(u32)SF_Compound;
assert( (p->selFlags & SF_Converted)==0 );
p->selFlags |= SF_Converted;
assert( pNew->pPrior!=0 );
@@ -149567,7 +152545,7 @@ SQLITE_PRIVATE With *sqlite3WithPush(Parse *pParse, With *pWith, u8 bFree){
** CTE expression, through routine checks to see if the reference is
** a recursive reference to the CTE.
**
-** If pFrom matches a CTE according to either of these two above, pFrom->pTab
+** If pFrom matches a CTE according to either of these two above, pFrom->pSTab
** and other fields are populated accordingly.
**
** Return 0 if no match is found.
@@ -149888,7 +152866,7 @@ static int selectExpander(Walker *pWalker, Select *p){
pEList = p->pEList;
if( pParse->pWith && (p->selFlags & SF_View) ){
if( p->pWith==0 ){
- p->pWith = (With*)sqlite3DbMallocZero(db, sizeof(With));
+ p->pWith = (With*)sqlite3DbMallocZero(db, SZ_WITH(1) );
if( p->pWith==0 ){
return WRC_Abort;
}
@@ -150605,6 +153583,7 @@ static void resetAccumulator(Parse *pParse, AggInfo *pAggInfo){
if( pFunc->bOBPayload ){
/* extra columns for the function arguments */
assert( ExprUseXList(pFunc->pFExpr) );
+ assert( pFunc->pFExpr->x.pList!=0 );
nExtra += pFunc->pFExpr->x.pList->nExpr;
}
if( pFunc->bUseSubtype ){
@@ -151027,6 +154006,7 @@ static void agginfoFree(sqlite3 *db, void *pArg){
** * There is no WHERE or GROUP BY or HAVING clauses on the subqueries
** * The outer query is a simple count(*) with no WHERE clause or other
** extraneous syntax.
+** * None of the subqueries are DISTINCT (forumpost/a860f5fb2e 2025-03-10)
**
** Return TRUE if the optimization is undertaken.
*/
@@ -151059,7 +154039,11 @@ static int countOfViewOptimization(Parse *pParse, Select *p){
if( pSub->op!=TK_ALL && pSub->pPrior ) return 0; /* Must be UNION ALL */
if( pSub->pWhere ) return 0; /* No WHERE clause */
if( pSub->pLimit ) return 0; /* No LIMIT clause */
- if( pSub->selFlags & SF_Aggregate ) return 0; /* Not an aggregate */
+ if( pSub->selFlags & (SF_Aggregate|SF_Distinct) ){
+ testcase( pSub->selFlags & SF_Aggregate );
+ testcase( pSub->selFlags & SF_Distinct );
+ return 0; /* Not an aggregate nor DISTINCT */
+ }
assert( pSub->pHaving==0 ); /* Due to the previous */
pSub = pSub->pPrior; /* Repeat over compound */
}while( pSub );
@@ -151071,14 +154055,14 @@ static int countOfViewOptimization(Parse *pParse, Select *p){
pExpr = 0;
pSub = sqlite3SubqueryDetach(db, pFrom);
sqlite3SrcListDelete(db, p->pSrc);
- p->pSrc = sqlite3DbMallocZero(pParse->db, sizeof(*p->pSrc));
+ p->pSrc = sqlite3DbMallocZero(pParse->db, SZ_SRCLIST_1);
while( pSub ){
Expr *pTerm;
pPrior = pSub->pPrior;
pSub->pPrior = 0;
pSub->pNext = 0;
pSub->selFlags |= SF_Aggregate;
- pSub->selFlags &= ~SF_Compound;
+ pSub->selFlags &= ~(u32)SF_Compound;
pSub->nSelectRow = 0;
sqlite3ParserAddCleanup(pParse, sqlite3ExprListDeleteGeneric, pSub->pEList);
pTerm = pPrior ? sqlite3ExprDup(db, pCount, 0) : pCount;
@@ -151093,7 +154077,7 @@ static int countOfViewOptimization(Parse *pParse, Select *p){
pSub = pPrior;
}
p->pEList->a[0].pExpr = pExpr;
- p->selFlags &= ~SF_Aggregate;
+ p->selFlags &= ~(u32)SF_Aggregate;
#if TREETRACE_ENABLED
if( sqlite3TreeTrace & 0x200 ){
@@ -151189,6 +154173,205 @@ static int fromClauseTermCanBeCoroutine(
return 1;
}
+/*
+** Argument pWhere is the WHERE clause belonging to SELECT statement p. This
+** function attempts to transform expressions of the form:
+**
+** EXISTS (SELECT ...)
+**
+** into joins. For example, given
+**
+** CREATE TABLE sailors(sid INTEGER PRIMARY KEY, name TEXT);
+** CREATE TABLE reserves(sid INT, day DATE, PRIMARY KEY(sid, day));
+**
+** SELECT name FROM sailors AS S WHERE EXISTS (
+** SELECT * FROM reserves AS R WHERE S.sid = R.sid AND R.day = '2022-10-25'
+** );
+**
+** the SELECT statement may be transformed as follows:
+**
+** SELECT name FROM sailors AS S, reserves AS R
+** WHERE S.sid = R.sid AND R.day = '2022-10-25';
+**
+** **Approximately**. Really, we have to ensure that the FROM-clause term
+** that was formerly inside the EXISTS is only executed once. This is handled
+** by setting the SrcItem.fg.fromExists flag, which then causes code in
+** the where.c file to exit the corresponding loop after the first successful
+** match (if any).
+*/
+static SQLITE_NOINLINE void existsToJoin(
+ Parse *pParse, /* Parsing context */
+ Select *p, /* The SELECT statement being optimized */
+ Expr *pWhere /* part of the WHERE clause currently being examined */
+){
+ if( pParse->nErr==0
+ && pWhere!=0
+ && !ExprHasProperty(pWhere, EP_OuterON|EP_InnerON)
+ && ALWAYS(p->pSrc!=0)
+ && p->pSrc->nSrc<BMS
+ ){
+ if( pWhere->op==TK_AND ){
+ Expr *pRight = pWhere->pRight;
+ existsToJoin(pParse, p, pWhere->pLeft);
+ existsToJoin(pParse, p, pRight);
+ }
+ else if( pWhere->op==TK_EXISTS ){
+ Select *pSub = pWhere->x.pSelect;
+ Expr *pSubWhere = pSub->pWhere;
+ if( pSub->pSrc->nSrc==1
+ && (pSub->selFlags & SF_Aggregate)==0
+ && !pSub->pSrc->a[0].fg.isSubquery
+ && pSub->pLimit==0
+ && pSub->pPrior==0
+ ){
+ /* Before combining the sub-select with the parent, renumber the
+ ** cursor used by the subselect. This is because the EXISTS expression
+ ** might be a copy of another EXISTS expression from somewhere
+ ** else in the tree, and in this case it is important that it use
+ ** a unique cursor number. */
+ sqlite3 *db = pParse->db;
+ int *aCsrMap = sqlite3DbMallocZero(db, (pParse->nTab+2)*sizeof(int));
+ if( aCsrMap==0 ) return;
+ aCsrMap[0] = (pParse->nTab+1);
+ renumberCursors(pParse, pSub, -1, aCsrMap);
+ sqlite3DbFree(db, aCsrMap);
+
+ memset(pWhere, 0, sizeof(*pWhere));
+ pWhere->op = TK_INTEGER;
+ pWhere->u.iValue = 1;
+ ExprSetProperty(pWhere, EP_IntValue);
+ assert( p->pWhere!=0 );
+ pSub->pSrc->a[0].fg.fromExists = 1;
+ pSub->pSrc->a[0].fg.jointype |= JT_CROSS;
+ p->pSrc = sqlite3SrcListAppendList(pParse, p->pSrc, pSub->pSrc);
+ if( pSubWhere ){
+ p->pWhere = sqlite3PExpr(pParse, TK_AND, p->pWhere, pSubWhere);
+ pSub->pWhere = 0;
+ }
+ pSub->pSrc = 0;
+ sqlite3ParserAddCleanup(pParse, sqlite3SelectDeleteGeneric, pSub);
+#if TREETRACE_ENABLED
+ if( sqlite3TreeTrace & 0x100000 ){
+ TREETRACE(0x100000,pParse,p,
+ ("After EXISTS-to-JOIN optimization:\n"));
+ sqlite3TreeViewSelect(0, p, 0);
+ }
+#endif
+ existsToJoin(pParse, p, pSubWhere);
+ }
+ }
+ }
+}
+
+/*
+** Type used for Walker callbacks by selectCheckOnClauses().
+*/
+typedef struct CheckOnCtx CheckOnCtx;
+struct CheckOnCtx {
+ SrcList *pSrc; /* SrcList for this context */
+ int iJoin; /* Cursor numbers must be =< than this */
+ CheckOnCtx *pParent; /* Parent context */
+};
+
+/*
+** True if the SrcList passed as the only argument contains at least
+** one RIGHT or FULL JOIN. False otherwise.
+*/
+#define hasRightJoin(pSrc) (((pSrc)->a[0].fg.jointype & JT_LTORJ)!=0)
+
+/*
+** The xExpr callback for the search of invalid ON clause terms.
+*/
+static int selectCheckOnClausesExpr(Walker *pWalker, Expr *pExpr){
+ CheckOnCtx *pCtx = pWalker->u.pCheckOnCtx;
+
+ /* Check if pExpr is root or near-root of an ON clause constraint that needs
+ ** to be checked to ensure that it does not refer to tables in its FROM
+ ** clause to the right of itself. i.e. it is either:
+ **
+ ** + an ON clause on an OUTER join, or
+ ** + an ON clause on an INNER join within a FROM that features at
+ ** least one RIGHT or FULL join.
+ */
+ if( (ExprHasProperty(pExpr, EP_OuterON))
+ || (ExprHasProperty(pExpr, EP_InnerON) && hasRightJoin(pCtx->pSrc))
+ ){
+ /* If CheckOnCtx.iJoin is already set, then fall through and process
+ ** this expression node as normal. Or, if CheckOnCtx.iJoin is still 0,
+ ** set it to the cursor number of the RHS of the join to which this
+ ** ON expression was attached and then iterate through the entire
+ ** expression. */
+ assert( pCtx->iJoin==0 || pCtx->iJoin==pExpr->w.iJoin );
+ if( pCtx->iJoin==0 ){
+ pCtx->iJoin = pExpr->w.iJoin;
+ sqlite3WalkExprNN(pWalker, pExpr);
+ pCtx->iJoin = 0;
+ return WRC_Prune;
+ }
+ }
+
+ if( pExpr->op==TK_COLUMN ){
+ /* A column expression. Find the SrcList (if any) to which it refers.
+ ** Then, if CheckOnCtx.iJoin indicates that this expression is part of an
+ ** ON clause from that SrcList (i.e. if iJoin is non-zero), check that it
+ ** does not refer to a table to the right of CheckOnCtx.iJoin. */
+ do {
+ SrcList *pSrc = pCtx->pSrc;
+ int iTab = pExpr->iTable;
+ if( iTab>=pSrc->a[0].iCursor && iTab<=pSrc->a[pSrc->nSrc-1].iCursor ){
+ if( pCtx->iJoin && iTab>pCtx->iJoin ){
+ sqlite3ErrorMsg(pWalker->pParse,
+ "ON clause references tables to its right");
+ return WRC_Abort;
+ }
+ break;
+ }
+ pCtx = pCtx->pParent;
+ }while( pCtx );
+ }
+ return WRC_Continue;
+}
+
+/*
+** The xSelect callback for the search of invalid ON clause terms.
+*/
+static int selectCheckOnClausesSelect(Walker *pWalker, Select *pSelect){
+ CheckOnCtx *pCtx = pWalker->u.pCheckOnCtx;
+ if( pSelect->pSrc==pCtx->pSrc || pSelect->pSrc->nSrc==0 ){
+ return WRC_Continue;
+ }else{
+ CheckOnCtx sCtx;
+ memset(&sCtx, 0, sizeof(sCtx));
+ sCtx.pSrc = pSelect->pSrc;
+ sCtx.pParent = pCtx;
+ pWalker->u.pCheckOnCtx = &sCtx;
+ sqlite3WalkSelect(pWalker, pSelect);
+ pWalker->u.pCheckOnCtx = pCtx;
+ pSelect->selFlags &= ~SF_OnToWhere;
+ return WRC_Prune;
+ }
+}
+
+/*
+** Check all ON clauses in pSelect to verify that they do not reference
+** columns to the right.
+*/
+static void selectCheckOnClauses(Parse *pParse, Select *pSelect){
+ Walker w;
+ CheckOnCtx sCtx;
+ assert( pSelect->selFlags & SF_OnToWhere );
+ assert( pSelect->pSrc!=0 && pSelect->pSrc->nSrc>=2 );
+ memset(&w, 0, sizeof(w));
+ w.pParse = pParse;
+ w.xExprCallback = selectCheckOnClausesExpr;
+ w.xSelectCallback = selectCheckOnClausesSelect;
+ w.u.pCheckOnCtx = &sCtx;
+ memset(&sCtx, 0, sizeof(sCtx));
+ sCtx.pSrc = pSelect->pSrc;
+ sqlite3WalkExprNN(&w, pSelect->pWhere);
+ pSelect->selFlags &= ~SF_OnToWhere;
+}
+
/*
** Generate byte-code for the SELECT statement given in the p argument.
**
@@ -151300,7 +154483,7 @@ SQLITE_PRIVATE int sqlite3Select(
testcase( pParse->earlyCleanup );
p->pOrderBy = 0;
}
- p->selFlags &= ~SF_Distinct;
+ p->selFlags &= ~(u32)SF_Distinct;
p->selFlags |= SF_NoopOrderBy;
}
sqlite3SelectPrep(pParse, p, 0);
@@ -151316,6 +154499,18 @@ SQLITE_PRIVATE int sqlite3Select(
}
#endif
+ /* If the SELECT statement contains ON clauses that were moved into
+ ** the WHERE clause, go through and verify that none of the terms
+ ** in the ON clauses reference tables to the right of the ON clause.
+ ** Do this now, after name resolution, but before query flattening
+ */
+ if( p->selFlags & SF_OnToWhere ){
+ selectCheckOnClauses(pParse, p);
+ if( pParse->nErr ){
+ goto select_end;
+ }
+ }
+
/* If the SF_UFSrcCheck flag is set, then this function is being called
** as part of populating the temp table for an UPDATE...FROM statement.
** In this case, it is an error if the target object (pSrc->a[0]) name
@@ -151339,7 +154534,7 @@ SQLITE_PRIVATE int sqlite3Select(
** and leaving this flag set can cause errors if a compound sub-query
** in p->pSrc is flattened into this query and this function called
** again as part of compound SELECT processing. */
- p->selFlags &= ~SF_UFSrcCheck;
+ p->selFlags &= ~(u32)SF_UFSrcCheck;
}
if( pDest->eDest==SRT_Output ){
@@ -151557,6 +154752,13 @@ SQLITE_PRIVATE int sqlite3Select(
}
#endif
+ /* If there may be an "EXISTS (SELECT ...)" in the WHERE clause, attempt
+ ** to change it into a join. */
+ if( pParse->bHasExists && OptimizationEnabled(db,SQLITE_ExistsToJoin) ){
+ existsToJoin(pParse, p, p->pWhere);
+ pTabList = p->pSrc;
+ }
+
/* Do the WHERE-clause constant propagation optimization if this is
** a join. No need to spend time on this operation for non-join queries
** as the equivalent optimization will be handled by query planner in
@@ -151828,7 +155030,7 @@ SQLITE_PRIVATE int sqlite3Select(
&& p->pWin==0
#endif
){
- p->selFlags &= ~SF_Distinct;
+ p->selFlags &= ~(u32)SF_Distinct;
pGroupBy = p->pGroupBy = sqlite3ExprListDup(db, pEList, 0);
if( pGroupBy ){
for(i=0; i<pGroupBy->nExpr; i++){
@@ -151937,6 +155139,12 @@ SQLITE_PRIVATE int sqlite3Select(
if( pWInfo==0 ) goto select_end;
if( sqlite3WhereOutputRowCount(pWInfo) < p->nSelectRow ){
p->nSelectRow = sqlite3WhereOutputRowCount(pWInfo);
+ if( pDest->eDest<=SRT_DistQueue && pDest->eDest>=SRT_DistFifo ){
+ /* TUNING: For a UNION CTE, because UNION is implies DISTINCT,
+ ** reduce the estimated output row count by 8 (LogEst 30).
+ ** Search for tag-20250414a to see other cases */
+ p->nSelectRow -= 30;
+ }
}
if( sDistinct.isTnct && sqlite3WhereIsDistinct(pWInfo) ){
sDistinct.eTnctType = sqlite3WhereIsDistinct(pWInfo);
@@ -152167,6 +155375,7 @@ SQLITE_PRIVATE int sqlite3Select(
sqlite3VdbeAddOp2(v, OP_Integer, 0, iAbortFlag);
VdbeComment((v, "clear abort flag"));
sqlite3VdbeAddOp3(v, OP_Null, 0, iAMem, iAMem+pGroupBy->nExpr-1);
+ sqlite3ExprNullRegisterRange(pParse, iAMem, pGroupBy->nExpr);
/* Begin a loop that will extract all source rows in GROUP BY order.
** This might involve two separate loops with an OP_Sort in between, or
@@ -152310,6 +155519,10 @@ SQLITE_PRIVATE int sqlite3Select(
if( iOrderByCol ){
Expr *pX = p->pEList->a[iOrderByCol-1].pExpr;
Expr *pBase = sqlite3ExprSkipCollateAndLikely(pX);
+ while( ALWAYS(pBase!=0) && pBase->op==TK_IF_NULL_ROW ){
+ pX = pBase->pLeft;
+ pBase = sqlite3ExprSkipCollateAndLikely(pX);
+ }
if( ALWAYS(pBase!=0)
&& pBase->op!=TK_AGG_COLUMN
&& pBase->op!=TK_REGISTER
@@ -152333,12 +155546,12 @@ SQLITE_PRIVATE int sqlite3Select(
** for the next GROUP BY batch.
*/
sqlite3VdbeAddOp2(v, OP_Gosub, regOutputRow, addrOutputRow);
- VdbeComment((v, "output one row"));
+ VdbeComment((v, "output one row of %d", p->selId));
sqlite3ExprCodeMove(pParse, iBMem, iAMem, pGroupBy->nExpr);
sqlite3VdbeAddOp2(v, OP_IfPos, iAbortFlag, addrEnd); VdbeCoverage(v);
VdbeComment((v, "check abort flag"));
sqlite3VdbeAddOp2(v, OP_Gosub, regReset, addrReset);
- VdbeComment((v, "reset accumulator"));
+ VdbeComment((v, "reset accumulator %d", p->selId));
/* Update the aggregate accumulators based on the content of
** the current row
@@ -152346,7 +155559,7 @@ SQLITE_PRIVATE int sqlite3Select(
sqlite3VdbeJumpHere(v, addr1);
updateAccumulator(pParse, iUseFlag, pAggInfo, eDist);
sqlite3VdbeAddOp2(v, OP_Integer, 1, iUseFlag);
- VdbeComment((v, "indicate data in accumulator"));
+ VdbeComment((v, "indicate data in accumulator %d", p->selId));
/* End of the loop
*/
@@ -152363,7 +155576,7 @@ SQLITE_PRIVATE int sqlite3Select(
/* Output the final row of result
*/
sqlite3VdbeAddOp2(v, OP_Gosub, regOutputRow, addrOutputRow);
- VdbeComment((v, "output final row"));
+ VdbeComment((v, "output final row of %d", p->selId));
/* Jump over the subroutines
*/
@@ -152384,7 +155597,7 @@ SQLITE_PRIVATE int sqlite3Select(
addrOutputRow = sqlite3VdbeCurrentAddr(v);
sqlite3VdbeAddOp2(v, OP_IfPos, iUseFlag, addrOutputRow+2);
VdbeCoverage(v);
- VdbeComment((v, "Groupby result generator entry point"));
+ VdbeComment((v, "Groupby result generator entry point %d", p->selId));
sqlite3VdbeAddOp1(v, OP_Return, regOutputRow);
finalizeAggFunctions(pParse, pAggInfo);
sqlite3ExprIfFalse(pParse, pHaving, addrOutputRow+1, SQLITE_JUMPIFNULL);
@@ -152392,14 +155605,14 @@ SQLITE_PRIVATE int sqlite3Select(
&sDistinct, pDest,
addrOutputRow+1, addrSetAbort);
sqlite3VdbeAddOp1(v, OP_Return, regOutputRow);
- VdbeComment((v, "end groupby result generator"));
+ VdbeComment((v, "end groupby result generator %d", p->selId));
/* Generate a subroutine that will reset the group-by accumulator
*/
sqlite3VdbeResolveLabel(v, addrReset);
resetAccumulator(pParse, pAggInfo);
sqlite3VdbeAddOp2(v, OP_Integer, 0, iUseFlag);
- VdbeComment((v, "indicate accumulator empty"));
+ VdbeComment((v, "indicate accumulator %d empty", p->selId));
sqlite3VdbeAddOp1(v, OP_Return, regReset);
if( distFlag!=0 && eDist!=WHERE_DISTINCT_NOOP ){
@@ -152893,7 +156106,8 @@ SQLITE_PRIVATE Trigger *sqlite3TriggerList(Parse *pParse, Table *pTab){
assert( pParse->db->pVtabCtx==0 );
#endif
assert( pParse->bReturning );
- assert( &(pParse->u1.pReturning->retTrig) == pTrig );
+ assert( !pParse->isCreate );
+ assert( &(pParse->u1.d.pReturning->retTrig) == pTrig );
pTrig->table = pTab->zName;
pTrig->pTabSchema = pTab->pSchema;
pTrig->pNext = pList;
@@ -153861,7 +157075,11 @@ static void codeReturningTrigger(
ExprList *pNew;
Returning *pReturning;
Select sSelect;
- SrcList sFrom;
+ SrcList *pFrom;
+ union {
+ SrcList sSrc;
+ u8 fromSpace[SZ_SRCLIST_1];
+ } uSrc;
assert( v!=0 );
if( !pParse->bReturning ){
@@ -153870,19 +157088,21 @@ static void codeReturningTrigger(
return;
}
assert( db->pParse==pParse );
- pReturning = pParse->u1.pReturning;
+ assert( !pParse->isCreate );
+ pReturning = pParse->u1.d.pReturning;
if( pTrigger != &(pReturning->retTrig) ){
/* This RETURNING trigger is for a different statement */
return;
}
memset(&sSelect, 0, sizeof(sSelect));
- memset(&sFrom, 0, sizeof(sFrom));
+ memset(&uSrc, 0, sizeof(uSrc));
+ pFrom = &uSrc.sSrc;
sSelect.pEList = sqlite3ExprListDup(db, pReturning->pReturnEL, 0);
- sSelect.pSrc = &sFrom;
- sFrom.nSrc = 1;
- sFrom.a[0].pSTab = pTab;
- sFrom.a[0].zName = pTab->zName; /* tag-20240424-1 */
- sFrom.a[0].iCursor = -1;
+ sSelect.pSrc = pFrom;
+ pFrom->nSrc = 1;
+ pFrom->a[0].pSTab = pTab;
+ pFrom->a[0].zName = pTab->zName; /* tag-20240424-1 */
+ pFrom->a[0].iCursor = -1;
sqlite3SelectPrep(pParse, &sSelect, 0);
if( pParse->nErr==0 ){
assert( db->mallocFailed==0 );
@@ -154100,6 +157320,8 @@ static TriggerPrg *codeRowTrigger(
sSubParse.eTriggerOp = pTrigger->op;
sSubParse.nQueryLoop = pParse->nQueryLoop;
sSubParse.prepFlags = pParse->prepFlags;
+ sSubParse.oldmask = 0;
+ sSubParse.newmask = 0;
v = sqlite3GetVdbe(&sSubParse);
if( v ){
@@ -154854,38 +158076,32 @@ SQLITE_PRIVATE void sqlite3Update(
*/
chngRowid = chngPk = 0;
for(i=0; i<pChanges->nExpr; i++){
- u8 hCol = sqlite3StrIHash(pChanges->a[i].zEName);
/* If this is an UPDATE with a FROM clause, do not resolve expressions
** here. The call to sqlite3Select() below will do that. */
if( nChangeFrom==0 && sqlite3ResolveExprNames(&sNC, pChanges->a[i].pExpr) ){
goto update_cleanup;
}
- for(j=0; j<pTab->nCol; j++){
- if( pTab->aCol[j].hName==hCol
- && sqlite3StrICmp(pTab->aCol[j].zCnName, pChanges->a[i].zEName)==0
- ){
- if( j==pTab->iPKey ){
- chngRowid = 1;
- pRowidExpr = pChanges->a[i].pExpr;
- iRowidExpr = i;
- }else if( pPk && (pTab->aCol[j].colFlags & COLFLAG_PRIMKEY)!=0 ){
- chngPk = 1;
- }
+ j = sqlite3ColumnIndex(pTab, pChanges->a[i].zEName);
+ if( j>=0 ){
+ if( j==pTab->iPKey ){
+ chngRowid = 1;
+ pRowidExpr = pChanges->a[i].pExpr;
+ iRowidExpr = i;
+ }else if( pPk && (pTab->aCol[j].colFlags & COLFLAG_PRIMKEY)!=0 ){
+ chngPk = 1;
+ }
#ifndef SQLITE_OMIT_GENERATED_COLUMNS
- else if( pTab->aCol[j].colFlags & COLFLAG_GENERATED ){
- testcase( pTab->aCol[j].colFlags & COLFLAG_VIRTUAL );
- testcase( pTab->aCol[j].colFlags & COLFLAG_STORED );
- sqlite3ErrorMsg(pParse,
- "cannot UPDATE generated column \"%s\"",
- pTab->aCol[j].zCnName);
- goto update_cleanup;
- }
-#endif
- aXRef[j] = i;
- break;
+ else if( pTab->aCol[j].colFlags & COLFLAG_GENERATED ){
+ testcase( pTab->aCol[j].colFlags & COLFLAG_VIRTUAL );
+ testcase( pTab->aCol[j].colFlags & COLFLAG_STORED );
+ sqlite3ErrorMsg(pParse,
+ "cannot UPDATE generated column \"%s\"",
+ pTab->aCol[j].zCnName);
+ goto update_cleanup;
}
- }
- if( j>=pTab->nCol ){
+#endif
+ aXRef[j] = i;
+ }else{
if( pPk==0 && sqlite3IsRowid(pChanges->a[i].zEName) ){
j = -1;
chngRowid = 1;
@@ -156208,7 +159424,7 @@ SQLITE_PRIVATE void sqlite3Vacuum(Parse *pParse, Token *pNm, Expr *pInto){
#else
/* When SQLITE_BUG_COMPATIBLE_20160819 is defined, unrecognized arguments
** to VACUUM are silently ignored. This is a back-out of a bug fix that
- ** occurred on 2016-08-19 (https://www.sqlite.org/src/info/083f9e6270).
+ ** occurred on 2016-08-19 (https://sqlite.org/src/info/083f9e6270).
** The buggy behavior is required for binary compatibility with some
** legacy applications. */
iDb = sqlite3FindDb(pParse->db, pNm);
@@ -156287,7 +159503,8 @@ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3RunVacuum(
saved_nChange = db->nChange;
saved_nTotalChange = db->nTotalChange;
saved_mTrace = db->mTrace;
- db->flags |= SQLITE_WriteSchema | SQLITE_IgnoreChecks;
+ db->flags |= SQLITE_WriteSchema | SQLITE_IgnoreChecks | SQLITE_Comments
+ | SQLITE_AttachCreate | SQLITE_AttachWrite;
db->mDbFlags |= DBFLAG_PreferBuiltin | DBFLAG_Vacuum;
db->flags &= ~(u64)(SQLITE_ForeignKeys | SQLITE_ReverseOrder
| SQLITE_Defensive | SQLITE_CountRows);
@@ -156992,11 +160209,12 @@ SQLITE_PRIVATE void sqlite3VtabFinishParse(Parse *pParse, Token *pEnd){
** schema table. We just need to update that slot with all
** the information we've collected.
**
- ** The VM register number pParse->regRowid holds the rowid of an
+ ** The VM register number pParse->u1.cr.regRowid holds the rowid of an
** entry in the sqlite_schema table that was created for this vtab
** by sqlite3StartTable().
*/
iDb = sqlite3SchemaToIndex(db, pTab->pSchema);
+ assert( pParse->isCreate );
sqlite3NestedParse(pParse,
"UPDATE %Q." LEGACY_SCHEMA_TABLE " "
"SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q "
@@ -157005,7 +160223,7 @@ SQLITE_PRIVATE void sqlite3VtabFinishParse(Parse *pParse, Token *pEnd){
pTab->zName,
pTab->zName,
zStmt,
- pParse->regRowid
+ pParse->u1.cr.regRowid
);
v = sqlite3GetVdbe(pParse);
sqlite3ChangeCookie(pParse, iDb);
@@ -157791,9 +161009,12 @@ SQLITE_PRIVATE int sqlite3VtabEponymousTableInit(Parse *pParse, Module *pMod){
addModuleArgument(pParse, pTab, sqlite3DbStrDup(db, pTab->zName));
addModuleArgument(pParse, pTab, 0);
addModuleArgument(pParse, pTab, sqlite3DbStrDup(db, pTab->zName));
+ db->nSchemaLock++;
rc = vtabCallConstructor(db, pTab, pMod, pModule->xConnect, &zErr);
+ db->nSchemaLock--;
if( rc ){
sqlite3ErrorMsg(pParse, "%s", zErr);
+ pParse->rc = rc;
sqlite3DbFree(db, zErr);
sqlite3VtabEponymousTableClear(db, pMod);
}
@@ -157989,6 +161210,7 @@ struct WhereLevel {
int iTabCur; /* The VDBE cursor used to access the table */
int iIdxCur; /* The VDBE cursor used to access pIdx */
int addrBrk; /* Jump here to break out of the loop */
+ int addrHalt; /* Abort the query due to empty table or similar */
int addrNxt; /* Jump here to start the next IN combination */
int addrSkip; /* Jump here for next iteration of skip-scan */
int addrCont; /* Jump here to continue with the next loop cycle */
@@ -158194,6 +161416,9 @@ struct WhereTerm {
u8 eMatchOp; /* Op for vtab MATCH/LIKE/GLOB/REGEXP terms */
int iParent; /* Disable pWC->a[iParent] when this term disabled */
int leftCursor; /* Cursor number of X in "X <op> <expr>" */
+#ifdef SQLITE_DEBUG
+ int iTerm; /* Which WhereTerm is this, for debug purposes */
+#endif
union {
struct {
int leftColumn; /* Column number of X in "X <op> <expr>" */
@@ -158415,9 +161640,14 @@ struct WhereInfo {
Bitmask revMask; /* Mask of ORDER BY terms that need reversing */
WhereClause sWC; /* Decomposition of the WHERE clause */
WhereMaskSet sMaskSet; /* Map cursor numbers to bitmasks */
- WhereLevel a[1]; /* Information about each nest loop in WHERE */
+ WhereLevel a[FLEXARRAY]; /* Information about each nest loop in WHERE */
};
+/*
+** The size (in bytes) of a WhereInfo object that holds N WhereLevels.
+*/
+#define SZ_WHEREINFO(N) ROUND8(offsetof(WhereInfo,a)+(N)*sizeof(WhereLevel))
+
/*
** Private interfaces - callable only by other where.c routines.
**
@@ -158681,7 +161911,6 @@ SQLITE_PRIVATE void sqlite3WhereAddExplainText(
#endif
{
VdbeOp *pOp = sqlite3VdbeGetOp(pParse->pVdbe, addr);
-
SrcItem *pItem = &pTabList->a[pLevel->iFrom];
sqlite3 *db = pParse->db; /* Database handle */
int isSearch; /* True for a SEARCH. False for SCAN. */
@@ -158704,7 +161933,10 @@ SQLITE_PRIVATE void sqlite3WhereAddExplainText(
sqlite3StrAccumInit(&str, db, zBuf, sizeof(zBuf), SQLITE_MAX_LENGTH);
str.printfFlags = SQLITE_PRINTF_INTERNAL;
- sqlite3_str_appendf(&str, "%s %S", isSearch ? "SEARCH" : "SCAN", pItem);
+ sqlite3_str_appendf(&str, "%s %S%s",
+ isSearch ? "SEARCH" : "SCAN",
+ pItem,
+ pItem->fg.fromExists ? " EXISTS" : "");
if( (flags & (WHERE_IPK|WHERE_VIRTUALTABLE))==0 ){
const char *zFmt = 0;
Index *pIdx;
@@ -159097,7 +162329,7 @@ static void adjustOrderByCol(ExprList *pOrderBy, ExprList *pEList){
/*
** pX is an expression of the form: (vector) IN (SELECT ...)
** In other words, it is a vector IN operator with a SELECT clause on the
-** LHS. But not all terms in the vector are indexable and the terms might
+** RHS. But not all terms in the vector are indexable and the terms might
** not be in the correct order for indexing.
**
** This routine makes a copy of the input pX expression and then adjusts
@@ -159153,7 +162385,9 @@ static Expr *removeUnindexableInClauseTerms(
int iField;
assert( (pLoop->aLTerm[i]->eOperator & (WO_OR|WO_AND))==0 );
iField = pLoop->aLTerm[i]->u.x.iField - 1;
- if( pOrigRhs->a[iField].pExpr==0 ) continue; /* Duplicate PK column */
+ if( NEVER(pOrigRhs->a[iField].pExpr==0) ){
+ continue; /* Duplicate PK column */
+ }
pRhs = sqlite3ExprListAppend(pParse, pRhs, pOrigRhs->a[iField].pExpr);
pOrigRhs->a[iField].pExpr = 0;
if( pRhs ) pRhs->a[pRhs->nExpr-1].u.x.iOrderByCol = iField+1;
@@ -159250,7 +162484,7 @@ static SQLITE_NOINLINE void codeINTerm(
return;
}
}
- for(i=iEq;i<pLoop->nLTerm; i++){
+ for(i=iEq; i<pLoop->nLTerm; i++){
assert( pLoop->aLTerm[i]!=0 );
if( pLoop->aLTerm[i]->pExpr==pX ) nEq++;
}
@@ -159259,22 +162493,13 @@ static SQLITE_NOINLINE void codeINTerm(
if( !ExprUseXSelect(pX) || pX->x.pSelect->pEList->nExpr==1 ){
eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, 0, &iTab);
}else{
- Expr *pExpr = pTerm->pExpr;
- if( pExpr->iTable==0 || !ExprHasProperty(pExpr, EP_Subrtn) ){
- sqlite3 *db = pParse->db;
- pX = removeUnindexableInClauseTerms(pParse, iEq, pLoop, pX);
- if( !db->mallocFailed ){
- aiMap = (int*)sqlite3DbMallocZero(pParse->db, sizeof(int)*nEq);
- eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, aiMap,&iTab);
- pExpr->iTable = iTab;
- }
- sqlite3ExprDelete(db, pX);
- }else{
- int n = sqlite3ExprVectorSize(pX->pLeft);
- aiMap = (int*)sqlite3DbMallocZero(pParse->db, sizeof(int)*MAX(nEq,n));
- eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, aiMap, &iTab);
+ sqlite3 *db = pParse->db;
+ Expr *pXMod = removeUnindexableInClauseTerms(pParse, iEq, pLoop, pX);
+ if( !db->mallocFailed ){
+ aiMap = (int*)sqlite3DbMallocZero(db, sizeof(int)*nEq);
+ eType = sqlite3FindInIndex(pParse, pXMod, IN_INDEX_LOOP, 0, aiMap, &iTab);
}
- pX = pExpr;
+ sqlite3ExprDelete(db, pXMod);
}
if( eType==IN_INDEX_INDEX_DESC ){
@@ -159304,7 +162529,7 @@ static SQLITE_NOINLINE void codeINTerm(
if( pIn ){
int iMap = 0; /* Index in aiMap[] */
pIn += i;
- for(i=iEq;i<pLoop->nLTerm; i++){
+ for(i=iEq; i<pLoop->nLTerm; i++){
if( pLoop->aLTerm[i]->pExpr==pX ){
int iOut = iTarget + i - iEq;
if( eType==IN_INDEX_ROWID ){
@@ -159955,6 +163180,7 @@ static SQLITE_NOINLINE void filterPullDown(
int addrNxt, /* Jump here to bypass inner loops */
Bitmask notReady /* Loops that are not ready */
){
+ int saved_addrBrk;
while( ++iLevel < pWInfo->nLevel ){
WhereLevel *pLevel = &pWInfo->a[iLevel];
WhereLoop *pLoop = pLevel->pWLoop;
@@ -159963,7 +163189,7 @@ static SQLITE_NOINLINE void filterPullDown(
/* ,--- Because sqlite3ConstructBloomFilter() has will not have set
** vvvvv--' pLevel->regFilter if this were true. */
if( NEVER(pLoop->prereq & notReady) ) continue;
- assert( pLevel->addrBrk==0 );
+ saved_addrBrk = pLevel->addrBrk;
pLevel->addrBrk = addrNxt;
if( pLoop->wsFlags & WHERE_IPK ){
WhereTerm *pTerm = pLoop->aLTerm[0];
@@ -159993,7 +163219,7 @@ static SQLITE_NOINLINE void filterPullDown(
VdbeCoverage(pParse->pVdbe);
}
pLevel->regFilter = 0;
- pLevel->addrBrk = 0;
+ pLevel->addrBrk = saved_addrBrk;
}
}
@@ -160040,7 +163266,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart(
sqlite3 *db; /* Database connection */
SrcItem *pTabItem; /* FROM clause term being coded */
int addrBrk; /* Jump here to break out of the loop */
- int addrHalt; /* addrBrk for the outermost loop */
int addrCont; /* Jump here to continue with next cycle */
int iRowidReg = 0; /* Rowid is stored in this register, if not zero */
int iReleaseReg = 0; /* Temp register to free before returning */
@@ -160084,7 +163309,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart(
** there are no IN operators in the constraints, the "addrNxt" label
** is the same as "addrBrk".
*/
- addrBrk = pLevel->addrBrk = pLevel->addrNxt = sqlite3VdbeMakeLabel(pParse);
+ addrBrk = pLevel->addrNxt = pLevel->addrBrk;
addrCont = pLevel->addrCont = sqlite3VdbeMakeLabel(pParse);
/* If this is the right table of a LEFT OUTER JOIN, allocate and
@@ -160100,14 +163325,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart(
VdbeComment((v, "init LEFT JOIN match flag"));
}
- /* Compute a safe address to jump to if we discover that the table for
- ** this loop is empty and can never contribute content. */
- for(j=iLevel; j>0; j--){
- if( pWInfo->a[j].iLeftJoin ) break;
- if( pWInfo->a[j].pRJ ) break;
- }
- addrHalt = pWInfo->a[j].addrBrk;
-
/* Special case of a FROM clause subquery implemented as a co-routine */
if( pTabItem->fg.viaCoroutine ){
int regYield;
@@ -160163,6 +163380,9 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart(
}
sqlite3VdbeAddOp2(v, OP_Integer, pLoop->u.vtab.idxNum, iReg);
sqlite3VdbeAddOp2(v, OP_Integer, nConstraint, iReg+1);
+ /* The instruction immediately prior to OP_VFilter must be an OP_Integer
+ ** that sets the "argc" value for xVFilter. This is necessary for
+ ** resolveP2() to work correctly. See tag-20250207a. */
sqlite3VdbeAddOp4(v, OP_VFilter, iCur, addrNotFound, iReg,
pLoop->u.vtab.idxStr,
pLoop->u.vtab.needFree ? P4_DYNAMIC : P4_STATIC);
@@ -160343,7 +163563,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart(
VdbeCoverageIf(v, pX->op==TK_GE);
sqlite3ReleaseTempReg(pParse, rTemp);
}else{
- sqlite3VdbeAddOp2(v, bRev ? OP_Last : OP_Rewind, iCur, addrHalt);
+ sqlite3VdbeAddOp2(v, bRev ? OP_Last : OP_Rewind, iCur, pLevel->addrHalt);
VdbeCoverageIf(v, bRev==0);
VdbeCoverageIf(v, bRev!=0);
}
@@ -160383,36 +163603,36 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart(
sqlite3VdbeChangeP5(v, SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL);
}
}else if( pLoop->wsFlags & WHERE_INDEXED ){
- /* Case 4: A scan using an index.
+ /* Case 4: Search using an index.
**
- ** The WHERE clause may contain zero or more equality
- ** terms ("==" or "IN" operators) that refer to the N
- ** left-most columns of the index. It may also contain
- ** inequality constraints (>, <, >= or <=) on the indexed
- ** column that immediately follows the N equalities. Only
- ** the right-most column can be an inequality - the rest must
- ** use the "==" and "IN" operators. For example, if the
- ** index is on (x,y,z), then the following clauses are all
- ** optimized:
+ ** The WHERE clause may contain zero or more equality
+ ** terms ("==" or "IN" or "IS" operators) that refer to the N
+ ** left-most columns of the index. It may also contain
+ ** inequality constraints (>, <, >= or <=) on the indexed
+ ** column that immediately follows the N equalities. Only
+ ** the right-most column can be an inequality - the rest must
+ ** use the "==", "IN", or "IS" operators. For example, if the
+ ** index is on (x,y,z), then the following clauses are all
+ ** optimized:
**
- ** x=5
- ** x=5 AND y=10
- ** x=5 AND y<10
- ** x=5 AND y>5 AND y<10
- ** x=5 AND y=5 AND z<=10
+ ** x=5
+ ** x=5 AND y=10
+ ** x=5 AND y<10
+ ** x=5 AND y>5 AND y<10
+ ** x=5 AND y=5 AND z<=10
**
- ** The z<10 term of the following cannot be used, only
- ** the x=5 term:
+ ** The z<10 term of the following cannot be used, only
+ ** the x=5 term:
**
- ** x=5 AND z<10
+ ** x=5 AND z<10
**
- ** N may be zero if there are inequality constraints.
- ** If there are no inequality constraints, then N is at
- ** least one.
+ ** N may be zero if there are inequality constraints.
+ ** If there are no inequality constraints, then N is at
+ ** least one.
**
- ** This case is also used when there are no WHERE clause
- ** constraints but an index is selected anyway, in order
- ** to force the output order to conform to an ORDER BY.
+ ** This case is also used when there are no WHERE clause
+ ** constraints but an index is selected anyway, in order
+ ** to force the output order to conform to an ORDER BY.
*/
static const u8 aStartOp[] = {
0,
@@ -160753,12 +163973,13 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart(
if( pLevel->iLeftJoin==0 ){
/* If a partial index is driving the loop, try to eliminate WHERE clause
** terms from the query that must be true due to the WHERE clause of
- ** the partial index.
+ ** the partial index. This optimization does not work on an outer join,
+ ** as shown by:
**
- ** 2019-11-02 ticket 623eff57e76d45f6: This optimization does not work
- ** for a LEFT JOIN.
+ ** 2019-11-02 ticket 623eff57e76d45f6 (LEFT JOIN)
+ ** 2025-05-29 forum post 7dee41d32506c4ae (RIGHT JOIN)
*/
- if( pIdx->pPartIdxWhere ){
+ if( pIdx->pPartIdxWhere && pLevel->pRJ==0 ){
whereApplyPartialIndexConstraints(pIdx->pPartIdxWhere, iCur, pWC);
}
}else{
@@ -160865,8 +164086,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart(
int nNotReady; /* The number of notReady tables */
SrcItem *origSrc; /* Original list of tables */
nNotReady = pWInfo->nLevel - iLevel - 1;
- pOrTab = sqlite3DbMallocRawNN(db,
- sizeof(*pOrTab)+ nNotReady*sizeof(pOrTab->a[0]));
+ pOrTab = sqlite3DbMallocRawNN(db, SZ_SRCLIST(nNotReady+1));
if( pOrTab==0 ) return notReady;
pOrTab->nAlloc = (u8)(nNotReady + 1);
pOrTab->nSrc = pOrTab->nAlloc;
@@ -160917,7 +164137,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart(
**
** This optimization also only applies if the (x1 OR x2 OR ...) term
** is not contained in the ON clause of a LEFT JOIN.
- ** See ticket http://www.sqlite.org/src/info/f2369304e4
+ ** See ticket http://sqlite.org/src/info/f2369304e4
**
** 2022-02-04: Do not push down slices of a row-value comparison.
** In other words, "w" or "y" may not be a slice of a vector. Otherwise,
@@ -161138,7 +164358,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart(
codeCursorHint(pTabItem, pWInfo, pLevel, 0);
pLevel->op = aStep[bRev];
pLevel->p1 = iCur;
- pLevel->p2 = 1 + sqlite3VdbeAddOp2(v, aStart[bRev], iCur, addrHalt);
+ pLevel->p2 = 1 + sqlite3VdbeAddOp2(v, aStart[bRev],iCur,pLevel->addrHalt);
VdbeCoverageIf(v, bRev==0);
VdbeCoverageIf(v, bRev!=0);
pLevel->p5 = SQLITE_STMTSTATUS_FULLSCAN_STEP;
@@ -161409,7 +164629,11 @@ SQLITE_PRIVATE SQLITE_NOINLINE void sqlite3WhereRightJoinLoop(
WhereInfo *pSubWInfo;
WhereLoop *pLoop = pLevel->pWLoop;
SrcItem *pTabItem = &pWInfo->pTabList->a[pLevel->iFrom];
- SrcList sFrom;
+ SrcList *pFrom;
+ union {
+ SrcList sSrc;
+ u8 fromSpace[SZ_SRCLIST_1];
+ } uSrc;
Bitmask mAll = 0;
int k;
@@ -161453,13 +164677,14 @@ SQLITE_PRIVATE SQLITE_NOINLINE void sqlite3WhereRightJoinLoop(
sqlite3ExprDup(pParse->db, pTerm->pExpr, 0));
}
}
- sFrom.nSrc = 1;
- sFrom.nAlloc = 1;
- memcpy(&sFrom.a[0], pTabItem, sizeof(SrcItem));
- sFrom.a[0].fg.jointype = 0;
+ pFrom = &uSrc.sSrc;
+ pFrom->nSrc = 1;
+ pFrom->nAlloc = 1;
+ memcpy(&pFrom->a[0], pTabItem, sizeof(SrcItem));
+ pFrom->a[0].fg.jointype = 0;
assert( pParse->withinRJSubrtn < 100 );
pParse->withinRJSubrtn++;
- pSubWInfo = sqlite3WhereBegin(pParse, &sFrom, pSubWhere, 0, 0, 0,
+ pSubWInfo = sqlite3WhereBegin(pParse, pFrom, pSubWhere, 0, 0, 0,
WHERE_RIGHT_JOIN, 0);
if( pSubWInfo ){
int iCur = pLevel->iTabCur;
@@ -162430,30 +165655,42 @@ static void exprAnalyzeOrTerm(
** 1. The SQLITE_Transitive optimization must be enabled
** 2. Must be either an == or an IS operator
** 3. Not originating in the ON clause of an OUTER JOIN
-** 4. The affinities of A and B must be compatible
-** 5a. Both operands use the same collating sequence OR
-** 5b. The overall collating sequence is BINARY
+** 4. The operator is not IS or else the query does not contain RIGHT JOIN
+** 5. The affinities of A and B must be compatible
+** 6a. Both operands use the same collating sequence OR
+** 6b. The overall collating sequence is BINARY
** If this routine returns TRUE, that means that the RHS can be substituted
** for the LHS anyplace else in the WHERE clause where the LHS column occurs.
** This is an optimization. No harm comes from returning 0. But if 1 is
** returned when it should not be, then incorrect answers might result.
*/
-static int termIsEquivalence(Parse *pParse, Expr *pExpr){
+static int termIsEquivalence(Parse *pParse, Expr *pExpr, SrcList *pSrc){
char aff1, aff2;
CollSeq *pColl;
- if( !OptimizationEnabled(pParse->db, SQLITE_Transitive) ) return 0;
- if( pExpr->op!=TK_EQ && pExpr->op!=TK_IS ) return 0;
- if( ExprHasProperty(pExpr, EP_OuterON) ) return 0;
+ if( !OptimizationEnabled(pParse->db, SQLITE_Transitive) ) return 0; /* (1) */
+ if( pExpr->op!=TK_EQ && pExpr->op!=TK_IS ) return 0; /* (2) */
+ if( ExprHasProperty(pExpr, EP_OuterON) ) return 0; /* (3) */
+ assert( pSrc!=0 );
+ if( pExpr->op==TK_IS
+ && pSrc->nSrc>=2
+ && (pSrc->a[0].fg.jointype & JT_LTORJ)!=0
+ ){
+ return 0; /* (4) */
+ }
aff1 = sqlite3ExprAffinity(pExpr->pLeft);
aff2 = sqlite3ExprAffinity(pExpr->pRight);
if( aff1!=aff2
&& (!sqlite3IsNumericAffinity(aff1) || !sqlite3IsNumericAffinity(aff2))
){
- return 0;
+ return 0; /* (5) */
}
pColl = sqlite3ExprCompareCollSeq(pParse, pExpr);
- if( sqlite3IsBinary(pColl) ) return 1;
- return sqlite3ExprCollSeqMatch(pParse, pExpr->pLeft, pExpr->pRight);
+ if( !sqlite3IsBinary(pColl)
+ && !sqlite3ExprCollSeqMatch(pParse, pExpr->pLeft, pExpr->pRight)
+ ){
+ return 0; /* (6) */
+ }
+ return 1;
}
/*
@@ -162611,6 +165848,9 @@ static void exprAnalyze(
}
assert( pWC->nTerm > idxTerm );
pTerm = &pWC->a[idxTerm];
+#ifdef SQLITE_DEBUG
+ pTerm->iTerm = idxTerm;
+#endif
pMaskSet = &pWInfo->sMaskSet;
pExpr = pTerm->pExpr;
assert( pExpr!=0 ); /* Because malloc() has not failed */
@@ -162654,21 +165894,7 @@ static void exprAnalyze(
prereqAll |= x;
extraRight = x-1; /* ON clause terms may not be used with an index
** on left table of a LEFT JOIN. Ticket #3015 */
- if( (prereqAll>>1)>=x ){
- sqlite3ErrorMsg(pParse, "ON clause references tables to its right");
- return;
- }
}else if( (prereqAll>>1)>=x ){
- /* The ON clause of an INNER JOIN references a table to its right.
- ** Most other SQL database engines raise an error. But SQLite versions
- ** 3.0 through 3.38 just put the ON clause constraint into the WHERE
- ** clause and carried on. Beginning with 3.39, raise an error only
- ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite
- ** more like other systems, and also preserves legacy. */
- if( ALWAYS(pSrc->nSrc>0) && (pSrc->a[0].fg.jointype & JT_LTORJ)!=0 ){
- sqlite3ErrorMsg(pParse, "ON clause references tables to its right");
- return;
- }
ExprClearProperty(pExpr, EP_InnerON);
}
}
@@ -162718,8 +165944,8 @@ static void exprAnalyze(
if( op==TK_IS ) pNew->wtFlags |= TERM_IS;
pTerm = &pWC->a[idxTerm];
pTerm->wtFlags |= TERM_COPIED;
-
- if( termIsEquivalence(pParse, pDup) ){
+ assert( pWInfo->pTabList!=0 );
+ if( termIsEquivalence(pParse, pDup, pWInfo->pTabList) ){
pTerm->eOperator |= WO_EQUIV;
eExtraOp = WO_EQUIV;
}
@@ -163025,7 +166251,7 @@ static void exprAnalyze(
idxNew = whereClauseInsert(pWC, pNewExpr, TERM_VIRTUAL|TERM_DYNAMIC);
testcase( idxNew==0 );
pNewTerm = &pWC->a[idxNew];
- pNewTerm->prereqRight = prereqExpr;
+ pNewTerm->prereqRight = prereqExpr | extraRight;
pNewTerm->leftCursor = pLeft->iTable;
pNewTerm->u.x.leftColumn = pLeft->iColumn;
pNewTerm->eOperator = WO_AUX;
@@ -163136,7 +166362,7 @@ static void whereAddLimitExpr(
**
** 1. The SELECT statement has a LIMIT clause, and
** 2. The SELECT statement is not an aggregate or DISTINCT query, and
-** 3. The SELECT statement has exactly one object in its from clause, and
+** 3. The SELECT statement has exactly one object in its FROM clause, and
** that object is a virtual table, and
** 4. There are no terms in the WHERE clause that will not be passed
** to the virtual table xBestIndex method.
@@ -163173,8 +166399,22 @@ SQLITE_PRIVATE void SQLITE_NOINLINE sqlite3WhereAddLimit(WhereClause *pWC, Selec
** (leftCursor==iCsr) test below. */
continue;
}
- if( pWC->a[ii].leftCursor!=iCsr ) return;
- if( pWC->a[ii].prereqRight!=0 ) return;
+ if( pWC->a[ii].leftCursor==iCsr && pWC->a[ii].prereqRight==0 ) continue;
+
+ /* If this term has a parent with exactly one child, and the parent will
+ ** be passed through to xBestIndex, then this term can be ignored. */
+ if( pWC->a[ii].iParent>=0 ){
+ WhereTerm *pParent = &pWC->a[ pWC->a[ii].iParent ];
+ if( pParent->leftCursor==iCsr
+ && pParent->prereqRight==0
+ && pParent->nChild==1
+ ){
+ continue;
+ }
+ }
+
+ /* This term will not be passed through. Do not add a LIMIT clause. */
+ return;
}
/* Check condition (5). Return early if it is not met. */
@@ -163447,11 +166687,16 @@ struct HiddenIndexInfo {
int eDistinct; /* Value to return from sqlite3_vtab_distinct() */
u32 mIn; /* Mask of terms that are <col> IN (...) */
u32 mHandleIn; /* Terms that vtab will handle as <col> IN (...) */
- sqlite3_value *aRhs[1]; /* RHS values for constraints. MUST BE LAST
- ** because extra space is allocated to hold up
- ** to nTerm such values */
+ sqlite3_value *aRhs[FLEXARRAY]; /* RHS values for constraints. MUST BE LAST
+ ** Extra space is allocated to hold up
+ ** to nTerm such values */
};
+/* Size (in bytes) of a HiddenIndeInfo object sufficient to hold as
+** many as N constraints */
+#define SZ_HIDDENINDEXINFO(N) \
+ (offsetof(HiddenIndexInfo,aRhs) + (N)*sizeof(sqlite3_value*))
+
/* Forward declaration of methods */
static int whereLoopResize(sqlite3*, WhereLoop*, int);
@@ -163833,11 +167078,11 @@ static WhereTerm *whereScanNext(WhereScan *pScan){
pScan->pWC = pWC;
pScan->k = k+1;
#ifdef WHERETRACE_ENABLED
- if( sqlite3WhereTrace & 0x20000 ){
+ if( (sqlite3WhereTrace & 0x20000)!=0 && pScan->nEquiv>1 ){
int ii;
- sqlite3DebugPrintf("SCAN-TERM %p: nEquiv=%d",
- pTerm, pScan->nEquiv);
- for(ii=0; ii<pScan->nEquiv; ii++){
+ sqlite3DebugPrintf("EQUIVALENT TO {%d:%d} (due to TERM-%d):",
+ pScan->aiCur[0], pScan->aiColumn[0], pTerm->iTerm);
+ for(ii=1; ii<pScan->nEquiv; ii++){
sqlite3DebugPrintf(" {%d:%d}",
pScan->aiCur[ii], pScan->aiColumn[ii]);
}
@@ -164516,6 +167761,8 @@ static SQLITE_NOINLINE void constructAutomaticIndex(
}
/* Construct the Index object to describe this index */
+ assert( nKeyCol <= pTable->nCol + MAX(0, pTable->nCol - BMS + 1) );
+ /* ^-- This guarantees that the number of index columns will fit in the u16 */
pIdx = sqlite3AllocateIndexObject(pParse->db, nKeyCol+HasRowid(pTable),
0, &zNotUsed);
if( pIdx==0 ) goto end_auto_index_create;
@@ -164606,7 +167853,9 @@ static SQLITE_NOINLINE void constructAutomaticIndex(
VdbeCoverage(v);
VdbeComment((v, "next row of %s", pSrc->pSTab->zName));
}else{
- addrTop = sqlite3VdbeAddOp1(v, OP_Rewind, pLevel->iTabCur); VdbeCoverage(v);
+ assert( pLevel->addrHalt );
+ addrTop = sqlite3VdbeAddOp2(v, OP_Rewind,pLevel->iTabCur,pLevel->addrHalt);
+ VdbeCoverage(v);
}
if( pPartial ){
iContinue = sqlite3VdbeMakeLabel(pParse);
@@ -164634,11 +167883,14 @@ static SQLITE_NOINLINE void constructAutomaticIndex(
pSrc->u4.pSubq->regResult, pLevel->iIdxCur);
sqlite3VdbeGoto(v, addrTop);
pSrc->fg.viaCoroutine = 0;
+ sqlite3VdbeJumpHere(v, addrTop);
}else{
sqlite3VdbeAddOp2(v, OP_Next, pLevel->iTabCur, addrTop+1); VdbeCoverage(v);
sqlite3VdbeChangeP5(v, SQLITE_STMTSTATUS_AUTOINDEX);
+ if( (pSrc->fg.jointype & JT_LEFT)!=0 ){
+ sqlite3VdbeJumpHere(v, addrTop);
+ }
}
- sqlite3VdbeJumpHere(v, addrTop);
sqlite3ReleaseTempReg(pParse, regRecord);
/* Jump here when skipping the initialization */
@@ -164927,8 +168179,8 @@ static sqlite3_index_info *allocateIndexInfo(
*/
pIdxInfo = sqlite3DbMallocZero(pParse->db, sizeof(*pIdxInfo)
+ (sizeof(*pIdxCons) + sizeof(*pUsage))*nTerm
- + sizeof(*pIdxOrderBy)*nOrderBy + sizeof(*pHidden)
- + sizeof(sqlite3_value*)*nTerm );
+ + sizeof(*pIdxOrderBy)*nOrderBy
+ + SZ_HIDDENINDEXINFO(nTerm) );
if( pIdxInfo==0 ){
sqlite3ErrorMsg(pParse, "out of memory");
return 0;
@@ -165790,6 +169042,7 @@ SQLITE_PRIVATE void sqlite3WhereTermPrint(WhereTerm *pTerm, int iTerm){
}else{
sqlite3_snprintf(sizeof(zLeft),zLeft,"left=%d", pTerm->leftCursor);
}
+ iTerm = pTerm->iTerm = MAX(iTerm,pTerm->iTerm);
sqlite3DebugPrintf(
"TERM-%-3d %p %s %-12s op=%03x wtFlags=%04x",
iTerm, pTerm, zType, zLeft, pTerm->eOperator, pTerm->wtFlags);
@@ -166564,11 +169817,8 @@ static int whereLoopAddBtreeIndex(
assert( pNew->u.btree.nBtm==0 );
opMask = WO_EQ|WO_IN|WO_GT|WO_GE|WO_LT|WO_LE|WO_ISNULL|WO_IS;
}
- if( pProbe->bUnordered || pProbe->bLowQual ){
- if( pProbe->bUnordered ) opMask &= ~(WO_GT|WO_GE|WO_LT|WO_LE);
- if( pProbe->bLowQual && pSrc->fg.isIndexedBy==0 ){
- opMask &= ~(WO_EQ|WO_IN|WO_IS);
- }
+ if( pProbe->bUnordered ){
+ opMask &= ~(WO_GT|WO_GE|WO_LT|WO_LE);
}
assert( pNew->u.btree.nEq<pProbe->nColumn );
@@ -166641,6 +169891,7 @@ static int whereLoopAddBtreeIndex(
if( ExprUseXSelect(pExpr) ){
/* "x IN (SELECT ...)": TUNING: the SELECT returns 25 rows */
int i;
+ int bRedundant = 0;
nIn = 46; assert( 46==sqlite3LogEst(25) );
/* The expression may actually be of the form (x, y) IN (SELECT...).
@@ -166649,7 +169900,20 @@ static int whereLoopAddBtreeIndex(
** for each such term. The following loop checks that pTerm is the
** first such term in use, and sets nIn back to 0 if it is not. */
for(i=0; i<pNew->nLTerm-1; i++){
- if( pNew->aLTerm[i] && pNew->aLTerm[i]->pExpr==pExpr ) nIn = 0;
+ if( pNew->aLTerm[i] && pNew->aLTerm[i]->pExpr==pExpr ){
+ nIn = 0;
+ if( pNew->aLTerm[i]->u.x.iField == pTerm->u.x.iField ){
+ /* Detect when two or more columns of an index match the same
+ ** column of a vector IN operater, and avoid adding the column
+ ** to the WhereLoop more than once. See tag-20250707-01
+ ** in test/rowvalue.test */
+ bRedundant = 1;
+ }
+ }
+ }
+ if( bRedundant ){
+ pNew->nLTerm--;
+ continue;
}
}else if( ALWAYS(pExpr->x.pList && pExpr->x.pList->nExpr) ){
/* "x IN (value, value, ...)" */
@@ -166881,7 +170145,7 @@ static int whereLoopAddBtreeIndex(
if( (pNew->wsFlags & WHERE_TOP_LIMIT)==0
&& pNew->u.btree.nEq<pProbe->nColumn
&& (pNew->u.btree.nEq<pProbe->nKeyCol ||
- pProbe->idxType!=SQLITE_IDXTYPE_PRIMARYKEY)
+ pProbe->idxType!=SQLITE_IDXTYPE_PRIMARYKEY)
){
if( pNew->u.btree.nEq>3 ){
sqlite3ProgressCheck(pParse);
@@ -166920,6 +170184,7 @@ static int whereLoopAddBtreeIndex(
&& pProbe->hasStat1!=0
&& OptimizationEnabled(db, SQLITE_SkipScan)
&& pProbe->aiRowLogEst[saved_nEq+1]>=42 /* TUNING: Minimum for skip-scan */
+ && pSrc->fg.fromExists==0
&& (rc = whereLoopResize(db, pNew, pNew->nLTerm+1))==SQLITE_OK
){
LogEst nIter;
@@ -167010,6 +170275,7 @@ static int whereUsablePartialIndex(
if( (!ExprHasProperty(pExpr, EP_OuterON) || pExpr->w.iJoin==iTab)
&& ((jointype & JT_OUTER)==0 || ExprHasProperty(pExpr, EP_OuterON))
&& sqlite3ExprImpliesExpr(pParse, pExpr, pWhere, iTab)
+ && !sqlite3ExprImpliesExpr(pParse, pExpr, pWhere, -1)
&& (pTerm->wtFlags & TERM_VNULL)==0
){
return 1;
@@ -167423,6 +170689,7 @@ static int whereLoopAddBtree(
pNew->u.btree.nEq = 0;
pNew->u.btree.nBtm = 0;
pNew->u.btree.nTop = 0;
+ pNew->u.btree.nDistinctCol = 0;
pNew->nSkip = 0;
pNew->nLTerm = 0;
pNew->iSortIdx = 0;
@@ -167505,7 +170772,7 @@ static int whereLoopAddBtree(
&& (HasRowid(pTab) || pWInfo->pSelect!=0 || sqlite3FaultSim(700))
){
WHERETRACE(0x200,
- ("-> %s a covering index according to bitmasks\n",
+ ("-> %s is a covering index according to bitmasks\n",
pProbe->zName, m==0 ? "is" : "is not"));
pNew->wsFlags = WHERE_IDX_ONLY | WHERE_INDEXED;
}
@@ -168489,10 +171756,12 @@ static i8 wherePathSatisfiesOrderBy(
&& ((wctrlFlags&(WHERE_DISTINCTBY|WHERE_SORTBYGROUP))!=WHERE_DISTINCTBY)
){
obSat = obDone;
+ }else{
+ /* No further ORDER BY terms may be matched. So this call should
+ ** return >=0, not -1. Clear isOrderDistinct to ensure it does so. */
+ isOrderDistinct = 0;
}
break;
- }else if( wctrlFlags & WHERE_DISTINCTBY ){
- pLoop->u.btree.nDistinctCol = 0;
}
iCur = pWInfo->pTabList->a[pLoop->iTab].iCursor;
@@ -169236,8 +172505,15 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){
** mxChoice best-so-far paths.
**
** First look for an existing path among best-so-far paths
- ** that covers the same set of loops and has the same isOrdered
- ** setting as the current path candidate.
+ ** that:
+ ** (1) covers the same set of loops, and
+ ** (2) has a compatible isOrdered value.
+ **
+ ** "Compatible isOrdered value" means either
+ ** (A) both have isOrdered==-1, or
+ ** (B) both have isOrder>=0, or
+ ** (C) ordering does not matter because this is the last round
+ ** of the solver.
**
** The term "((pTo->isOrdered^isOrdered)&0x80)==0" is equivalent
** to (pTo->isOrdered==(-1))==(isOrdered==(-1))" for the range
@@ -169246,7 +172522,7 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){
testcase( nTo==0 );
for(jj=0, pTo=aTo; jj<nTo; jj++, pTo++){
if( pTo->maskLoop==maskNew
- && ((pTo->isOrdered^isOrdered)&0x80)==0
+ && ( ((pTo->isOrdered^isOrdered)&0x80)==0 || iLoop==nLoop-1 )
){
testcase( jj==nTo-1 );
break;
@@ -169401,11 +172677,10 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){
return SQLITE_ERROR;
}
- /* Find the lowest cost path. pFrom will be left pointing to that path */
+ /* Only one path is available, which is the best path */
+ assert( nFrom==1 );
pFrom = aFrom;
- for(ii=1; ii<nFrom; ii++){
- if( pFrom->rCost>aFrom[ii].rCost ) pFrom = &aFrom[ii];
- }
+
assert( pWInfo->nLevel==nLoop );
/* Load the lowest cost path into pWInfo */
for(iLoop=0; iLoop<nLoop; iLoop++){
@@ -169538,7 +172813,10 @@ static SQLITE_NOINLINE void whereInterstageHeuristic(WhereInfo *pWInfo){
for(i=0; i<pWInfo->nLevel; i++){
WhereLoop *p = pWInfo->a[i].pWLoop;
if( p==0 ) break;
- if( (p->wsFlags & WHERE_VIRTUALTABLE)!=0 ) continue;
+ if( (p->wsFlags & WHERE_VIRTUALTABLE)!=0 ){
+ /* Treat a vtab scan as similar to a full-table scan */
+ break;
+ }
if( (p->wsFlags & (WHERE_COLUMN_EQ|WHERE_COLUMN_NULL|WHERE_COLUMN_IN))!=0 ){
u8 iTab = p->iTab;
WhereLoop *pLoop;
@@ -170122,10 +173400,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin(
** field (type Bitmask) it must be aligned on an 8-byte boundary on
** some architectures. Hence the ROUND8() below.
*/
- nByteWInfo = ROUND8P(sizeof(WhereInfo));
- if( nTabList>1 ){
- nByteWInfo = ROUND8P(nByteWInfo + (nTabList-1)*sizeof(WhereLevel));
- }
+ nByteWInfo = SZ_WHEREINFO(nTabList);
pWInfo = sqlite3DbMallocRawNN(db, nByteWInfo + sizeof(WhereLoop));
if( db->mallocFailed ){
sqlite3DbFree(db, pWInfo);
@@ -170342,7 +173617,8 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin(
}
/* TUNING: Assume that a DISTINCT clause on a subquery reduces
- ** the output size by a factor of 8 (LogEst -30).
+ ** the output size by a factor of 8 (LogEst -30). Search for
+ ** tag-20250414a to see other cases.
*/
if( (pWInfo->wctrlFlags & WHERE_WANT_DISTINCT)!=0 ){
WHERETRACE(0x0080,("nRowOut reduced from %d to %d due to DISTINCT\n",
@@ -170478,6 +173754,14 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin(
pTab = pTabItem->pSTab;
iDb = sqlite3SchemaToIndex(db, pTab->pSchema);
pLoop = pLevel->pWLoop;
+ pLevel->addrBrk = sqlite3VdbeMakeLabel(pParse);
+ if( ii==0 || (pTabItem[0].fg.jointype & JT_LEFT)!=0 ){
+ pLevel->addrHalt = pLevel->addrBrk;
+ }else if( pWInfo->a[ii-1].pRJ ){
+ pLevel->addrHalt = pWInfo->a[ii-1].addrBrk;
+ }else{
+ pLevel->addrHalt = pWInfo->a[ii-1].addrHalt;
+ }
if( (pTab->tabFlags & TF_Ephemeral)!=0 || IsView(pTab) ){
/* Do nothing */
}else
@@ -170529,6 +173813,13 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin(
sqlite3VdbeAddOp4Dup8(v, OP_ColumnsUsed, pTabItem->iCursor, 0, 0,
(const u8*)&pTabItem->colUsed, P4_INT64);
#endif
+ if( ii>=2
+ && (pTabItem[0].fg.jointype & (JT_LTORJ|JT_LEFT))==0
+ && pLevel->addrHalt==pWInfo->a[0].addrHalt
+ ){
+ sqlite3VdbeAddOp2(v, OP_IfEmpty, pTabItem->iCursor, pWInfo->iBreak);
+ VdbeCoverage(v);
+ }
}else{
sqlite3TableLock(pParse, iDb, pTab->tnum, 0, pTab->zName);
}
@@ -170741,6 +174032,9 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){
sqlite3 *db = pParse->db;
int iEnd = sqlite3VdbeCurrentAddr(v);
int nRJ = 0;
+#ifndef SQLITE_DISABLE_SKIPAHEAD_DISTINCT
+ int addrSeek = 0;
+#endif
/* Generate loop termination code.
*/
@@ -170753,7 +174047,10 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){
** the RIGHT JOIN table */
WhereRightJoin *pRJ = pLevel->pRJ;
sqlite3VdbeResolveLabel(v, pLevel->addrCont);
- pLevel->addrCont = 0;
+ /* Replace addrCont with a new label that will never be used, just so
+ ** the subsequent call to resolve pLevel->addrCont will have something
+ ** to resolve. */
+ pLevel->addrCont = sqlite3VdbeMakeLabel(pParse);
pRJ->endSubrtn = sqlite3VdbeCurrentAddr(v);
sqlite3VdbeAddOp3(v, OP_Return, pRJ->regReturn, pRJ->addrSubrtn, 1);
VdbeCoverage(v);
@@ -170762,7 +174059,6 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){
pLoop = pLevel->pWLoop;
if( pLevel->op!=OP_Noop ){
#ifndef SQLITE_DISABLE_SKIPAHEAD_DISTINCT
- int addrSeek = 0;
Index *pIdx;
int n;
if( pWInfo->eDistinct==WHERE_DISTINCT_ORDERED
@@ -170785,8 +174081,26 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){
sqlite3VdbeAddOp2(v, OP_Goto, 1, pLevel->p2);
}
#endif /* SQLITE_DISABLE_SKIPAHEAD_DISTINCT */
- /* The common case: Advance to the next row */
- if( pLevel->addrCont ) sqlite3VdbeResolveLabel(v, pLevel->addrCont);
+ }
+ if( pTabList->a[pLevel->iFrom].fg.fromExists && i==pWInfo->nLevel-1 ){
+ /* If the EXISTS-to-JOIN optimization was applied, then the EXISTS
+ ** loop(s) will be the inner-most loops of the join. There might be
+ ** multiple EXISTS loops, but they will all be nested, and the join
+ ** order will not have been changed by the query planner. If the
+ ** inner-most EXISTS loop sees a single successful row, it should
+ ** break out of *all* EXISTS loops. But only the inner-most of the
+ ** nested EXISTS loops should do this breakout. */
+ int nOuter = 0; /* Nr of outer EXISTS that this one is nested within */
+ while( nOuter<i ){
+ if( !pTabList->a[pLevel[-nOuter-1].iFrom].fg.fromExists ) break;
+ nOuter++;
+ }
+ testcase( nOuter>0 );
+ sqlite3VdbeAddOp2(v, OP_Goto, 0, pLevel[-nOuter].addrBrk);
+ VdbeComment((v, "EXISTS break"));
+ }
+ sqlite3VdbeResolveLabel(v, pLevel->addrCont);
+ if( pLevel->op!=OP_Noop ){
sqlite3VdbeAddOp3(v, pLevel->op, pLevel->p1, pLevel->p2, pLevel->p3);
sqlite3VdbeChangeP5(v, pLevel->p5);
VdbeCoverage(v);
@@ -170799,10 +174113,11 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){
VdbeCoverage(v);
}
#ifndef SQLITE_DISABLE_SKIPAHEAD_DISTINCT
- if( addrSeek ) sqlite3VdbeJumpHere(v, addrSeek);
+ if( addrSeek ){
+ sqlite3VdbeJumpHere(v, addrSeek);
+ addrSeek = 0;
+ }
#endif
- }else if( pLevel->addrCont ){
- sqlite3VdbeResolveLabel(v, pLevel->addrCont);
}
if( (pLoop->wsFlags & WHERE_IN_ABLE)!=0 && pLevel->u.in.nIn>0 ){
struct InLoop *pIn;
@@ -172077,7 +175392,7 @@ SQLITE_PRIVATE int sqlite3WindowRewrite(Parse *pParse, Select *p){
p->pWhere = 0;
p->pGroupBy = 0;
p->pHaving = 0;
- p->selFlags &= ~SF_Aggregate;
+ p->selFlags &= ~(u32)SF_Aggregate;
p->selFlags |= SF_WinRewrite;
/* Create the ORDER BY clause for the sub-select. This is the concatenation
@@ -173635,7 +176950,7 @@ static int windowExprGtZero(Parse *pParse, Expr *pExpr){
**
** ROWS BETWEEN <expr1> FOLLOWING AND <expr2> FOLLOWING
**
-** ... loop started by sqlite3WhereBegin() ...
+** ... loop started by sqlite3WhereBegin() ...
** if( new partition ){
** Gosub flush
** }
@@ -174153,6 +177468,12 @@ SQLITE_PRIVATE void sqlite3WindowCodeStep(
addrBreak2 = windowCodeOp(&s, WINDOW_AGGINVERSE, 0, 1);
}else{
assert( pMWin->eEnd==TK_FOLLOWING );
+ /* assert( regStart>=0 );
+ ** regEnd = regEnd - regStart;
+ ** regStart = 0; */
+ sqlite3VdbeAddOp3(v, OP_Subtract, regStart, regEnd, regEnd);
+ sqlite3VdbeAddOp2(v, OP_Integer, 0, regStart);
+
addrStart = sqlite3VdbeCurrentAddr(v);
addrBreak1 = windowCodeOp(&s, WINDOW_RETURN_ROW, regEnd, 1);
addrBreak2 = windowCodeOp(&s, WINDOW_AGGINVERSE, regStart, 1);
@@ -174217,6 +177538,11 @@ SQLITE_PRIVATE void sqlite3WindowCodeStep(
/* #include "sqliteInt.h" */
+/*
+** Verify that the pParse->isCreate field is set
+*/
+#define ASSERT_IS_CREATE assert(pParse->isCreate)
+
/*
** Disable all error recovery processing in the parser push-down
** automaton.
@@ -174280,6 +177606,10 @@ static void parserSyntaxError(Parse *pParse, Token *p){
static void disableLookaside(Parse *pParse){
sqlite3 *db = pParse->db;
pParse->disableLookaside++;
+#ifdef SQLITE_DEBUG
+ pParse->isCreate = 1;
+#endif
+ memset(&pParse->u1.cr, 0, sizeof(pParse->u1.cr));
DisableLookaside;
}
@@ -177916,7 +181246,9 @@ static YYACTIONTYPE yy_reduce(
}
break;
case 14: /* createkw ::= CREATE */
-{disableLookaside(pParse);}
+{
+ disableLookaside(pParse);
+}
break;
case 15: /* ifnotexists ::= */
case 18: /* temp ::= */ yytestcase(yyruleno==18);
@@ -178008,7 +181340,7 @@ static YYACTIONTYPE yy_reduce(
break;
case 32: /* ccons ::= CONSTRAINT nm */
case 67: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==67);
-{pParse->constraintName = yymsp[0].minor.yy0;}
+{ASSERT_IS_CREATE; pParse->u1.cr.constraintName = yymsp[0].minor.yy0;}
break;
case 33: /* ccons ::= DEFAULT scantok term */
{sqlite3AddDefaultValue(pParse,yymsp[0].minor.yy590,yymsp[-1].minor.yy0.z,&yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]);}
@@ -178118,7 +181450,7 @@ static YYACTIONTYPE yy_reduce(
{yymsp[-1].minor.yy502 = 0;}
break;
case 66: /* tconscomma ::= COMMA */
-{pParse->constraintName.n = 0;}
+{ASSERT_IS_CREATE; pParse->u1.cr.constraintName.n = 0;}
break;
case 68: /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */
{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy402,yymsp[0].minor.yy502,yymsp[-2].minor.yy502,0);}
@@ -178205,8 +181537,8 @@ static YYACTIONTYPE yy_reduce(
if( pRhs ){
pRhs->op = (u8)yymsp[-1].minor.yy502;
pRhs->pPrior = pLhs;
- if( ALWAYS(pLhs) ) pLhs->selFlags &= ~SF_MultiValue;
- pRhs->selFlags &= ~SF_MultiValue;
+ if( ALWAYS(pLhs) ) pLhs->selFlags &= ~(u32)SF_MultiValue;
+ pRhs->selFlags &= ~(u32)SF_MultiValue;
if( yymsp[-1].minor.yy502!=TK_ALL ) pParse->hasCompound = 1;
}else{
sqlite3SelectDelete(pParse->db, pLhs);
@@ -178846,12 +182178,21 @@ static YYACTIONTYPE yy_reduce(
** expr1 IN ()
** expr1 NOT IN ()
**
- ** simplify to constants 0 (false) and 1 (true), respectively,
- ** regardless of the value of expr1.
+ ** simplify to constants 0 (false) and 1 (true), respectively.
+ **
+ ** Except, do not apply this optimization if expr1 contains a function
+ ** because that function might be an aggregate (we don't know yet whether
+ ** it is or not) and if it is an aggregate, that could change the meaning
+ ** of the whole query.
*/
- sqlite3ExprUnmapAndDelete(pParse, yymsp[-4].minor.yy590);
- yymsp[-4].minor.yy590 = sqlite3Expr(pParse->db, TK_STRING, yymsp[-3].minor.yy502 ? "true" : "false");
- if( yymsp[-4].minor.yy590 ) sqlite3ExprIdToTrueFalse(yymsp[-4].minor.yy590);
+ Expr *pB = sqlite3Expr(pParse->db, TK_STRING, yymsp[-3].minor.yy502 ? "true" : "false");
+ if( pB ) sqlite3ExprIdToTrueFalse(pB);
+ if( !ExprHasProperty(yymsp[-4].minor.yy590, EP_HasFunc) ){
+ sqlite3ExprUnmapAndDelete(pParse, yymsp[-4].minor.yy590);
+ yymsp[-4].minor.yy590 = pB;
+ }else{
+ yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, yymsp[-3].minor.yy502 ? TK_OR : TK_AND, pB, yymsp[-4].minor.yy590);
+ }
}else{
Expr *pRHS = yymsp[-1].minor.yy402->a[0].pExpr;
if( yymsp[-1].minor.yy402->nExpr==1 && sqlite3ExprIsConstant(pParse,pRHS) && yymsp[-4].minor.yy590->op!=TK_VECTOR ){
@@ -179011,6 +182352,10 @@ static YYACTIONTYPE yy_reduce(
{
sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy502, yymsp[-4].minor.yy28.a, yymsp[-4].minor.yy28.b, yymsp[-2].minor.yy563, yymsp[0].minor.yy590, yymsp[-10].minor.yy502, yymsp[-8].minor.yy502);
yymsp[-10].minor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); /*A-overwrites-T*/
+#ifdef SQLITE_DEBUG
+ assert( pParse->isCreate ); /* Set by createkw reduce action */
+ pParse->isCreate = 0; /* But, should not be set for CREATE TRIGGER */
+#endif
}
break;
case 262: /* trigger_time ::= BEFORE|AFTER */
@@ -180453,7 +183798,7 @@ static int getToken(const unsigned char **pz){
int t; /* Token type to return */
do {
z += sqlite3GetToken(z, &t);
- }while( t==TK_SPACE );
+ }while( t==TK_SPACE || t==TK_COMMENT );
if( t==TK_ID
|| t==TK_STRING
|| t==TK_JOIN_KW
@@ -180524,8 +183869,9 @@ static int analyzeFilterKeyword(const unsigned char *z, int lastToken){
** Return the length (in bytes) of the token that begins at z[0].
** Store the token type in *tokenType before returning.
*/
-SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){
- int i, c;
+SQLITE_PRIVATE i64 sqlite3GetToken(const unsigned char *z, int *tokenType){
+ i64 i;
+ int c;
switch( aiClass[*z] ){ /* Switch on the character-class of the first byte
** of the token. See the comment on the CC_ defines
** above. */
@@ -180853,7 +184199,7 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){
SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql){
int nErr = 0; /* Number of errors encountered */
void *pEngine; /* The LEMON-generated LALR(1) parser */
- int n = 0; /* Length of the next token token */
+ i64 n = 0; /* Length of the next token token */
int tokenType; /* type of the next token */
int lastTokenParsed = -1; /* type of the previous token */
sqlite3 *db = pParse->db; /* The database connection */
@@ -180946,19 +184292,23 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql){
assert( n==6 );
tokenType = analyzeFilterKeyword((const u8*)&zSql[6], lastTokenParsed);
#endif /* SQLITE_OMIT_WINDOWFUNC */
- }else if( tokenType==TK_COMMENT && (db->flags & SQLITE_Comments)!=0 ){
+ }else if( tokenType==TK_COMMENT
+ && (db->init.busy || (db->flags & SQLITE_Comments)!=0)
+ ){
+ /* Ignore SQL comments if either (1) we are reparsing the schema or
+ ** (2) SQLITE_DBCONFIG_ENABLE_COMMENTS is turned on (the default). */
zSql += n;
continue;
}else if( tokenType!=TK_QNUMBER ){
Token x;
x.z = zSql;
- x.n = n;
+ x.n = (u32)n;
sqlite3ErrorMsg(pParse, "unrecognized token: \"%T\"", &x);
break;
}
}
pParse->sLastToken.z = zSql;
- pParse->sLastToken.n = n;
+ pParse->sLastToken.n = (u32)n;
sqlite3Parser(pEngine, tokenType, pParse->sLastToken);
lastTokenParsed = tokenType;
zSql += n;
@@ -181034,7 +184384,7 @@ SQLITE_PRIVATE char *sqlite3Normalize(
){
sqlite3 *db; /* The database connection */
int i; /* Next unread byte of zSql[] */
- int n; /* length of current token */
+ i64 n; /* length of current token */
int tokenType; /* type of current token */
int prevType = 0; /* Previous non-whitespace token */
int nParen; /* Number of nested levels of parentheses */
@@ -181612,9 +184962,6 @@ static int (*const sqlite3BuiltinExtensions[])(sqlite3*) = {
sqlite3DbstatRegister,
#endif
sqlite3TestExtInit,
-#if !defined(SQLITE_OMIT_VIRTUALTABLE) && !defined(SQLITE_OMIT_JSON)
- sqlite3JsonTableFunctions,
-#endif
#ifdef SQLITE_ENABLE_STMTVTAB
sqlite3StmtVtabInit,
#endif
@@ -181841,6 +185188,14 @@ SQLITE_API int sqlite3_initialize(void){
if( rc==SQLITE_OK ){
sqlite3PCacheBufferSetup( sqlite3GlobalConfig.pPage,
sqlite3GlobalConfig.szPage, sqlite3GlobalConfig.nPage);
+#ifdef SQLITE_EXTRA_INIT_MUTEXED
+ {
+ int SQLITE_EXTRA_INIT_MUTEXED(const char*);
+ rc = SQLITE_EXTRA_INIT_MUTEXED(0);
+ }
+#endif
+ }
+ if( rc==SQLITE_OK ){
sqlite3MemoryBarrier();
sqlite3GlobalConfig.isInit = 1;
#ifdef SQLITE_EXTRA_INIT
@@ -182297,17 +185652,22 @@ SQLITE_API int sqlite3_config(int op, ...){
** If lookaside is already active, return SQLITE_BUSY.
**
** The sz parameter is the number of bytes in each lookaside slot.
-** The cnt parameter is the number of slots. If pStart is NULL the
-** space for the lookaside memory is obtained from sqlite3_malloc().
-** If pStart is not NULL then it is sz*cnt bytes of memory to use for
-** the lookaside memory.
+** The cnt parameter is the number of slots. If pBuf is NULL the
+** space for the lookaside memory is obtained from sqlite3_malloc()
+** or similar. If pBuf is not NULL then it is sz*cnt bytes of memory
+** to use for the lookaside memory.
*/
-static int setupLookaside(sqlite3 *db, void *pBuf, int sz, int cnt){
+static int setupLookaside(
+ sqlite3 *db, /* Database connection being configured */
+ void *pBuf, /* Memory to use for lookaside. May be NULL */
+ int sz, /* Desired size of each lookaside memory slot */
+ int cnt /* Number of slots to allocate */
+){
#ifndef SQLITE_OMIT_LOOKASIDE
- void *pStart;
- sqlite3_int64 szAlloc;
- int nBig; /* Number of full-size slots */
- int nSm; /* Number smaller LOOKASIDE_SMALL-byte slots */
+ void *pStart; /* Start of the lookaside buffer */
+ sqlite3_int64 szAlloc; /* Total space set aside for lookaside memory */
+ int nBig; /* Number of full-size slots */
+ int nSm; /* Number smaller LOOKASIDE_SMALL-byte slots */
if( sqlite3LookasideUsed(db,0)>0 ){
return SQLITE_BUSY;
@@ -182320,19 +185680,22 @@ static int setupLookaside(sqlite3 *db, void *pBuf, int sz, int cnt){
sqlite3_free(db->lookaside.pStart);
}
/* The size of a lookaside slot after ROUNDDOWN8 needs to be larger
- ** than a pointer to be useful.
+ ** than a pointer and small enough to fit in a u16.
*/
- sz = ROUNDDOWN8(sz); /* IMP: R-33038-09382 */
+ sz = ROUNDDOWN8(sz);
if( sz<=(int)sizeof(LookasideSlot*) ) sz = 0;
if( sz>65528 ) sz = 65528;
- if( cnt<0 ) cnt = 0;
+ /* Count must be at least 1 to be useful, but not so large as to use
+ ** more than 0x7fff0000 total bytes for lookaside. */
+ if( cnt<1 ) cnt = 0;
+ if( sz>0 && cnt>(0x7fff0000/sz) ) cnt = 0x7fff0000/sz;
szAlloc = (i64)sz*(i64)cnt;
- if( sz==0 || cnt==0 ){
+ if( szAlloc==0 ){
sz = 0;
pStart = 0;
}else if( pBuf==0 ){
sqlite3BeginBenignMalloc();
- pStart = sqlite3Malloc( szAlloc ); /* IMP: R-61949-35727 */
+ pStart = sqlite3Malloc( szAlloc );
sqlite3EndBenignMalloc();
if( pStart ) szAlloc = sqlite3MallocSize(pStart);
}else{
@@ -182919,6 +186282,7 @@ SQLITE_PRIVATE void sqlite3LeaveMutexAndCloseZombie(sqlite3 *db){
/* Clear the TEMP schema separately and last */
if( db->aDb[1].pSchema ){
sqlite3SchemaClear(db->aDb[1].pSchema);
+ assert( db->aDb[1].pSchema->trigHash.count==0 );
}
sqlite3VtabUnlockList(db);
@@ -183054,6 +186418,9 @@ SQLITE_PRIVATE const char *sqlite3ErrName(int rc){
case SQLITE_OK: zName = "SQLITE_OK"; break;
case SQLITE_ERROR: zName = "SQLITE_ERROR"; break;
case SQLITE_ERROR_SNAPSHOT: zName = "SQLITE_ERROR_SNAPSHOT"; break;
+ case SQLITE_ERROR_RETRY: zName = "SQLITE_ERROR_RETRY"; break;
+ case SQLITE_ERROR_MISSING_COLLSEQ:
+ zName = "SQLITE_ERROR_MISSING_COLLSEQ"; break;
case SQLITE_INTERNAL: zName = "SQLITE_INTERNAL"; break;
case SQLITE_PERM: zName = "SQLITE_PERM"; break;
case SQLITE_ABORT: zName = "SQLITE_ABORT"; break;
@@ -183309,6 +186676,9 @@ SQLITE_API int sqlite3_busy_handler(
db->busyHandler.pBusyArg = pArg;
db->busyHandler.nBusy = 0;
db->busyTimeout = 0;
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ db->setlkTimeout = 0;
+#endif
sqlite3_mutex_leave(db->mutex);
return SQLITE_OK;
}
@@ -183358,12 +186728,49 @@ SQLITE_API int sqlite3_busy_timeout(sqlite3 *db, int ms){
sqlite3_busy_handler(db, (int(*)(void*,int))sqliteDefaultBusyCallback,
(void*)db);
db->busyTimeout = ms;
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ db->setlkTimeout = ms;
+#endif
}else{
sqlite3_busy_handler(db, 0, 0);
}
return SQLITE_OK;
}
+/*
+** Set the setlk timeout value.
+*/
+SQLITE_API int sqlite3_setlk_timeout(sqlite3 *db, int ms, int flags){
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ int iDb;
+ int bBOC = ((flags & SQLITE_SETLK_BLOCK_ON_CONNECT) ? 1 : 0);
+#endif
+#ifdef SQLITE_ENABLE_API_ARMOR
+ if( !sqlite3SafetyCheckOk(db) ) return SQLITE_MISUSE_BKPT;
+#endif
+ if( ms<-1 ) return SQLITE_RANGE;
+#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+ sqlite3_mutex_enter(db->mutex);
+ db->setlkTimeout = ms;
+ db->setlkFlags = flags;
+ sqlite3BtreeEnterAll(db);
+ for(iDb=0; iDb<db->nDb; iDb++){
+ Btree *pBt = db->aDb[iDb].pBt;
+ if( pBt ){
+ sqlite3_file *fd = sqlite3PagerFile(sqlite3BtreePager(pBt));
+ sqlite3OsFileControlHint(fd, SQLITE_FCNTL_BLOCK_ON_CONNECT, (void*)&bBOC);
+ }
+ }
+ sqlite3BtreeLeaveAll(db);
+ sqlite3_mutex_leave(db->mutex);
+#endif
+#if !defined(SQLITE_ENABLE_API_ARMOR) && !defined(SQLITE_ENABLE_SETLK_TIMEOUT)
+ UNUSED_PARAMETER(db);
+ UNUSED_PARAMETER(flags);
+#endif
+ return SQLITE_OK;
+}
+
/*
** Cause any pending operation to stop at its earliest opportunity.
*/
@@ -184195,6 +187602,29 @@ SQLITE_API const char *sqlite3_errmsg(sqlite3 *db){
return z;
}
+/*
+** Set the error code and error message associated with the database handle.
+**
+** This routine is intended to be called by outside extensions (ex: the
+** Session extension). Internal logic should invoke sqlite3Error() or
+** sqlite3ErrorWithMsg() directly.
+*/
+SQLITE_API int sqlite3_set_errmsg(sqlite3 *db, int errcode, const char *zMsg){
+ int rc = SQLITE_OK;
+ if( !sqlite3SafetyCheckOk(db) ){
+ return SQLITE_MISUSE_BKPT;
+ }
+ sqlite3_mutex_enter(db->mutex);
+ if( zMsg ){
+ sqlite3ErrorWithMsg(db, errcode, "%s", zMsg);
+ }else{
+ sqlite3Error(db, errcode);
+ }
+ rc = sqlite3ApiExit(db, rc);
+ sqlite3_mutex_leave(db->mutex);
+ return rc;
+}
+
/*
** Return the byte offset of the most recent error
*/
@@ -185329,7 +188759,7 @@ SQLITE_API int sqlite3_set_clientdata(
return SQLITE_OK;
}else{
size_t n = strlen(zName);
- p = sqlite3_malloc64( sizeof(DbClientData)+n+1 );
+ p = sqlite3_malloc64( SZ_DBCLIENTDATA(n+1) );
if( p==0 ){
if( xDestructor ) xDestructor(pData);
sqlite3_mutex_leave(db->mutex);
@@ -185483,13 +188913,10 @@ SQLITE_API int sqlite3_table_column_metadata(
if( zColumnName==0 ){
/* Query for existence of table only */
}else{
- for(iCol=0; iCol<pTab->nCol; iCol++){
+ iCol = sqlite3ColumnIndex(pTab, zColumnName);
+ if( iCol>=0 ){
pCol = &pTab->aCol[iCol];
- if( 0==sqlite3StrICmp(pCol->zCnName, zColumnName) ){
- break;
- }
- }
- if( iCol==pTab->nCol ){
+ }else{
if( HasRowid(pTab) && sqlite3IsRowid(zColumnName) ){
iCol = pTab->iPKey;
pCol = iCol>=0 ? &pTab->aCol[iCol] : 0;
@@ -185698,8 +189125,8 @@ SQLITE_API int sqlite3_test_control(int op, ...){
/* sqlite3_test_control(SQLITE_TESTCTRL_FK_NO_ACTION, sqlite3 *db, int b);
**
** If b is true, then activate the SQLITE_FkNoAction setting. If b is
- ** false then clearn that setting. If the SQLITE_FkNoAction setting is
- ** abled, all foreign key ON DELETE and ON UPDATE actions behave as if
+ ** false then clear that setting. If the SQLITE_FkNoAction setting is
+ ** enabled, all foreign key ON DELETE and ON UPDATE actions behave as if
** they were NO ACTION, regardless of how they are defined.
**
** NB: One must usually run "PRAGMA writable_schema=RESET" after
@@ -186022,13 +189449,15 @@ SQLITE_API int sqlite3_test_control(int op, ...){
break;
}
- /* sqlite3_test_control(SQLITE_TESTCTRL_IMPOSTER, db, dbName, onOff, tnum);
+ /* sqlite3_test_control(SQLITE_TESTCTRL_IMPOSTER, db, dbName, mode, tnum);
**
** This test control is used to create imposter tables. "db" is a pointer
** to the database connection. dbName is the database name (ex: "main" or
- ** "temp") which will receive the imposter. "onOff" turns imposter mode on
- ** or off. "tnum" is the root page of the b-tree to which the imposter
- ** table should connect.
+ ** "temp") which will receive the imposter. "mode" turns imposter mode on
+ ** or off. mode==0 means imposter mode is off. mode==1 means imposter mode
+ ** is on. mode==2 means imposter mode is on but results in an imposter
+ ** table that is read-only unless writable_schema is on. "tnum" is the
+ ** root page of the b-tree to which the imposter table should connect.
**
** Enable imposter mode only when the schema has already been parsed. Then
** run a single CREATE TABLE statement to construct the imposter table in
@@ -187046,7 +190475,7 @@ SQLITE_PRIVATE void sqlite3ConnectionClosed(sqlite3 *db){
** Here, array { X } means zero or more occurrences of X, adjacent in
** memory. A "position" is an index of a token in the token stream
** generated by the tokenizer. Note that POS_END and POS_COLUMN occur
-** in the same logical place as the position element, and act as sentinals
+** in the same logical place as the position element, and act as sentinels
** ending a position list array. POS_END is 0. POS_COLUMN is 1.
** The positions numbers are not stored literally but rather as two more
** than the difference from the prior position, or the just the position plus
@@ -187265,10 +190694,20 @@ SQLITE_PRIVATE void sqlite3ConnectionClosed(sqlite3 *db){
#ifndef _FTSINT_H
#define _FTSINT_H
+/*
+** Activate assert() only if SQLITE_TEST is enabled.
+*/
#if !defined(NDEBUG) && !defined(SQLITE_DEBUG)
# define NDEBUG 1
#endif
+/* #include <assert.h> */
+/* #include <stdlib.h> */
+/* #include <stddef.h> */
+/* #include <stdio.h> */
+/* #include <string.h> */
+/* #include <stdarg.h> */
+
/* FTS3/FTS4 require virtual tables */
#ifdef SQLITE_OMIT_VIRTUALTABLE
# undef SQLITE_ENABLE_FTS3
@@ -187711,13 +191150,6 @@ typedef sqlite3_int64 i64; /* 8-byte signed integer */
*/
#define UNUSED_PARAMETER(x) (void)(x)
-/*
-** Activate assert() only if SQLITE_TEST is enabled.
-*/
-#if !defined(NDEBUG) && !defined(SQLITE_DEBUG)
-# define NDEBUG 1
-#endif
-
/*
** The TESTONLY macro is used to enclose variable declarations or
** other bits of code that are needed to support the arguments
@@ -187734,6 +191166,19 @@ typedef sqlite3_int64 i64; /* 8-byte signed integer */
#define deliberate_fall_through
+/*
+** Macros needed to provide flexible arrays in a portable way
+*/
+#ifndef offsetof
+# define offsetof(ST,M) ((size_t)((char*)&((ST*)0)->M - (char*)0))
+#endif
+#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+# define FLEXARRAY
+#else
+# define FLEXARRAY 1
+#endif
+
+
#endif /* SQLITE_AMALGAMATION */
#ifdef SQLITE_DEBUG
@@ -187838,7 +191283,7 @@ struct Fts3Table {
#endif
#if defined(SQLITE_DEBUG) || defined(SQLITE_TEST)
- /* True to disable the incremental doclist optimization. This is controled
+ /* True to disable the incremental doclist optimization. This is controlled
** by special insert command 'test-no-incr-doclist'. */
int bNoIncrDoclist;
@@ -187890,7 +191335,7 @@ struct Fts3Cursor {
/*
** The Fts3Cursor.eSearch member is always set to one of the following.
-** Actualy, Fts3Cursor.eSearch can be greater than or equal to
+** Actually, Fts3Cursor.eSearch can be greater than or equal to
** FTS3_FULLTEXT_SEARCH. If so, then Fts3Cursor.eSearch - 2 is the index
** of the column to be searched. For example, in
**
@@ -187963,9 +191408,13 @@ struct Fts3Phrase {
*/
int nToken; /* Number of tokens in the phrase */
int iColumn; /* Index of column this phrase must match */
- Fts3PhraseToken aToken[1]; /* One entry for each token in the phrase */
+ Fts3PhraseToken aToken[FLEXARRAY]; /* One for each token in the phrase */
};
+/* Size (in bytes) of an Fts3Phrase object large enough to hold N tokens */
+#define SZ_FTS3PHRASE(N) \
+ (offsetof(Fts3Phrase,aToken)+(N)*sizeof(Fts3PhraseToken))
+
/*
** A tree of these objects forms the RHS of a MATCH operator.
**
@@ -188199,12 +191648,6 @@ SQLITE_PRIVATE int sqlite3Fts3IntegrityCheck(Fts3Table *p, int *pbOk);
# define SQLITE_CORE 1
#endif
-/* #include <assert.h> */
-/* #include <stdlib.h> */
-/* #include <stddef.h> */
-/* #include <stdio.h> */
-/* #include <string.h> */
-/* #include <stdarg.h> */
/* #include "fts3.h" */
#ifndef SQLITE_CORE
@@ -190543,7 +193986,7 @@ static int fts3DoclistOrMerge(
** sizes of the two inputs, plus enough space for exactly one of the input
** docids to grow.
**
- ** A symetric argument may be made if the doclists are in descending
+ ** A symmetric argument may be made if the doclists are in descending
** order.
*/
aOut = sqlite3_malloc64((i64)n1+n2+FTS3_VARINT_MAX-1+FTS3_BUFFER_PADDING);
@@ -192342,7 +195785,7 @@ static int fts3EvalDeferredPhrase(Fts3Cursor *pCsr, Fts3Phrase *pPhrase){
nDistance = iPrev - nMaxUndeferred;
}
- aOut = (char *)sqlite3Fts3MallocZero(nPoslist+FTS3_BUFFER_PADDING);
+ aOut = (char *)sqlite3Fts3MallocZero(((i64)nPoslist)+FTS3_BUFFER_PADDING);
if( !aOut ){
sqlite3_free(aPoslist);
return SQLITE_NOMEM;
@@ -192641,7 +196084,7 @@ static int incrPhraseTokenNext(
**
** * does not contain any deferred tokens.
**
-** Advance it to the next matching documnent in the database and populate
+** Advance it to the next matching document in the database and populate
** the Fts3Doclist.pList and nList fields.
**
** If there is no "next" entry and no error occurs, then *pbEof is set to
@@ -193648,7 +197091,7 @@ static int fts3EvalNext(Fts3Cursor *pCsr){
}
/*
-** Restart interation for expression pExpr so that the next call to
+** Restart iteration for expression pExpr so that the next call to
** fts3EvalNext() visits the first row. Do not allow incremental
** loading or merging of phrase doclists for this iteration.
**
@@ -194840,6 +198283,23 @@ SQLITE_PRIVATE int sqlite3Fts3OpenTokenizer(
*/
static int fts3ExprParse(ParseContext *, const char *, int, Fts3Expr **, int *);
+/*
+** Search buffer z[], size n, for a '"' character. Or, if enable_parenthesis
+** is defined, search for '(' and ')' as well. Return the index of the first
+** such character in the buffer. If there is no such character, return -1.
+*/
+static int findBarredChar(const char *z, int n){
+ int ii;
+ for(ii=0; ii<n; ii++){
+ if( (z[ii]=='"')
+ || (sqlite3_fts3_enable_parentheses && (z[ii]=='(' || z[ii]==')'))
+ ){
+ return ii;
+ }
+ }
+ return -1;
+}
+
/*
** Extract the next token from buffer z (length n) using the tokenizer
** and other information (column names etc.) in pParse. Create an Fts3Expr
@@ -194864,16 +198324,9 @@ static int getNextToken(
int rc;
sqlite3_tokenizer_cursor *pCursor;
Fts3Expr *pRet = 0;
- int i = 0;
-
- /* Set variable i to the maximum number of bytes of input to tokenize. */
- for(i=0; i<n; i++){
- if( sqlite3_fts3_enable_parentheses && (z[i]=='(' || z[i]==')') ) break;
- if( z[i]=='"' ) break;
- }
- *pnConsumed = i;
- rc = sqlite3Fts3OpenTokenizer(pTokenizer, pParse->iLangid, z, i, &pCursor);
+ *pnConsumed = n;
+ rc = sqlite3Fts3OpenTokenizer(pTokenizer, pParse->iLangid, z, n, &pCursor);
if( rc==SQLITE_OK ){
const char *zToken;
int nToken = 0, iStart = 0, iEnd = 0, iPosition = 0;
@@ -194881,7 +198334,18 @@ static int getNextToken(
rc = pModule->xNext(pCursor, &zToken, &nToken, &iStart, &iEnd, &iPosition);
if( rc==SQLITE_OK ){
- nByte = sizeof(Fts3Expr) + sizeof(Fts3Phrase) + nToken;
+ /* Check that this tokenization did not gobble up any " characters. Or,
+ ** if enable_parenthesis is true, that it did not gobble up any
+ ** open or close parenthesis characters either. If it did, call
+ ** getNextToken() again, but pass only that part of the input buffer
+ ** up to the first such character. */
+ int iBarred = findBarredChar(z, iEnd);
+ if( iBarred>=0 ){
+ pModule->xClose(pCursor);
+ return getNextToken(pParse, iCol, z, iBarred, ppExpr, pnConsumed);
+ }
+
+ nByte = sizeof(Fts3Expr) + SZ_FTS3PHRASE(1) + nToken;
pRet = (Fts3Expr *)sqlite3Fts3MallocZero(nByte);
if( !pRet ){
rc = SQLITE_NOMEM;
@@ -194891,7 +198355,7 @@ static int getNextToken(
pRet->pPhrase->nToken = 1;
pRet->pPhrase->iColumn = iCol;
pRet->pPhrase->aToken[0].n = nToken;
- pRet->pPhrase->aToken[0].z = (char *)&pRet->pPhrase[1];
+ pRet->pPhrase->aToken[0].z = (char*)&pRet->pPhrase->aToken[1];
memcpy(pRet->pPhrase->aToken[0].z, zToken, nToken);
if( iEnd<n && z[iEnd]=='*' ){
@@ -194915,7 +198379,11 @@ static int getNextToken(
}
*pnConsumed = iEnd;
- }else if( i && rc==SQLITE_DONE ){
+ }else if( n && rc==SQLITE_DONE ){
+ int iBarred = findBarredChar(z, n);
+ if( iBarred>=0 ){
+ *pnConsumed = iBarred;
+ }
rc = SQLITE_OK;
}
@@ -194962,9 +198430,9 @@ static int getNextString(
Fts3Expr *p = 0;
sqlite3_tokenizer_cursor *pCursor = 0;
char *zTemp = 0;
- int nTemp = 0;
+ i64 nTemp = 0;
- const int nSpace = sizeof(Fts3Expr) + sizeof(Fts3Phrase);
+ const int nSpace = sizeof(Fts3Expr) + SZ_FTS3PHRASE(1);
int nToken = 0;
/* The final Fts3Expr data structure, including the Fts3Phrase,
@@ -195336,7 +198804,7 @@ static int fts3ExprParse(
/* The isRequirePhrase variable is set to true if a phrase or
** an expression contained in parenthesis is required. If a
- ** binary operator (AND, OR, NOT or NEAR) is encounted when
+ ** binary operator (AND, OR, NOT or NEAR) is encountered when
** isRequirePhrase is set, this is a syntax error.
*/
if( !isPhrase && isRequirePhrase ){
@@ -195918,7 +199386,6 @@ static void fts3ExprTestCommon(
}
if( rc!=SQLITE_OK && rc!=SQLITE_NOMEM ){
- sqlite3Fts3ExprFree(pExpr);
sqlite3_result_error(context, "Error parsing expression", -1);
}else if( rc==SQLITE_NOMEM || !(zBuf = exprToString(pExpr, 0)) ){
sqlite3_result_error_nomem(context);
@@ -196161,7 +199628,7 @@ static void fts3HashInsertElement(
}
-/* Resize the hash table so that it cantains "new_size" buckets.
+/* Resize the hash table so that it contains "new_size" buckets.
** "new_size" must be a power of 2. The hash table might fail
** to resize if sqliteMalloc() fails.
**
@@ -196616,7 +200083,7 @@ static int star_oh(const char *z){
/*
** If the word ends with zFrom and xCond() is true for the stem
-** of the word that preceeds the zFrom ending, then change the
+** of the word that precedes the zFrom ending, then change the
** ending to zTo.
**
** The input word *pz and zFrom are both in reverse order. zTo
@@ -198127,7 +201594,7 @@ static int fts3tokFilterMethod(
fts3tokResetCursor(pCsr);
if( idxNum==1 ){
const char *zByte = (const char *)sqlite3_value_text(apVal[0]);
- int nByte = sqlite3_value_bytes(apVal[0]);
+ sqlite3_int64 nByte = sqlite3_value_bytes(apVal[0]);
pCsr->zInput = sqlite3_malloc64(nByte+1);
if( pCsr->zInput==0 ){
rc = SQLITE_NOMEM;
@@ -201957,8 +205424,8 @@ struct NodeWriter {
** to an appendable b-tree segment.
*/
struct IncrmergeWriter {
- int nLeafEst; /* Space allocated for leaf blocks */
- int nWork; /* Number of leaf pages flushed */
+ i64 nLeafEst; /* Space allocated for leaf blocks */
+ i64 nWork; /* Number of leaf pages flushed */
sqlite3_int64 iAbsLevel; /* Absolute level of input segments */
int iIdx; /* Index of *output* segment in iAbsLevel+1 */
sqlite3_int64 iStart; /* Block number of first allocated block */
@@ -202199,7 +205666,7 @@ static int fts3IncrmergePush(
**
** It is assumed that the buffer associated with pNode is already large
** enough to accommodate the new entry. The buffer associated with pPrev
-** is extended by this function if requrired.
+** is extended by this function if required.
**
** If an error (i.e. OOM condition) occurs, an SQLite error code is
** returned. Otherwise, SQLITE_OK.
@@ -202704,7 +206171,7 @@ static int fts3IncrmergeWriter(
){
int rc; /* Return Code */
int i; /* Iterator variable */
- int nLeafEst = 0; /* Blocks allocated for leaf nodes */
+ i64 nLeafEst = 0; /* Blocks allocated for leaf nodes */
sqlite3_stmt *pLeafEst = 0; /* SQL used to determine nLeafEst */
sqlite3_stmt *pFirstBlock = 0; /* SQL used to determine first block */
@@ -202714,7 +206181,7 @@ static int fts3IncrmergeWriter(
sqlite3_bind_int64(pLeafEst, 1, iAbsLevel);
sqlite3_bind_int64(pLeafEst, 2, pCsr->nSegment);
if( SQLITE_ROW==sqlite3_step(pLeafEst) ){
- nLeafEst = sqlite3_column_int(pLeafEst, 0);
+ nLeafEst = sqlite3_column_int64(pLeafEst, 0);
}
rc = sqlite3_reset(pLeafEst);
}
@@ -203862,7 +207329,7 @@ SQLITE_PRIVATE int sqlite3Fts3DeferToken(
/*
** SQLite value pRowid contains the rowid of a row that may or may not be
** present in the FTS3 table. If it is, delete it and adjust the contents
-** of subsiduary data structures accordingly.
+** of subsidiary data structures accordingly.
*/
static int fts3DeleteByRowid(
Fts3Table *p,
@@ -204097,10 +207564,6 @@ SQLITE_PRIVATE int sqlite3Fts3Optimize(Fts3Table *p){
/* #include <string.h> */
/* #include <assert.h> */
-#ifndef SQLITE_AMALGAMATION
-typedef sqlite3_int64 i64;
-#endif
-
/*
** Characters that may appear in the second argument to matchinfo().
*/
@@ -204188,9 +207651,13 @@ struct MatchinfoBuffer {
int nElem;
int bGlobal; /* Set if global data is loaded */
char *zMatchinfo;
- u32 aMatchinfo[1];
+ u32 aMI[FLEXARRAY];
};
+/* Size (in bytes) of a MatchinfoBuffer sufficient for N elements */
+#define SZ_MATCHINFOBUFFER(N) \
+ (offsetof(MatchinfoBuffer,aMI)+(((N)+1)/2)*sizeof(u64))
+
/*
** The snippet() and offsets() functions both return text values. An instance
@@ -204215,13 +207682,13 @@ struct StrBuffer {
static MatchinfoBuffer *fts3MIBufferNew(size_t nElem, const char *zMatchinfo){
MatchinfoBuffer *pRet;
sqlite3_int64 nByte = sizeof(u32) * (2*(sqlite3_int64)nElem + 1)
- + sizeof(MatchinfoBuffer);
+ + SZ_MATCHINFOBUFFER(1);
sqlite3_int64 nStr = strlen(zMatchinfo);
pRet = sqlite3Fts3MallocZero(nByte + nStr+1);
if( pRet ){
- pRet->aMatchinfo[0] = (u8*)(&pRet->aMatchinfo[1]) - (u8*)pRet;
- pRet->aMatchinfo[1+nElem] = pRet->aMatchinfo[0]
+ pRet->aMI[0] = (u8*)(&pRet->aMI[1]) - (u8*)pRet;
+ pRet->aMI[1+nElem] = pRet->aMI[0]
+ sizeof(u32)*((int)nElem+1);
pRet->nElem = (int)nElem;
pRet->zMatchinfo = ((char*)pRet) + nByte;
@@ -204235,10 +207702,10 @@ static MatchinfoBuffer *fts3MIBufferNew(size_t nElem, const char *zMatchinfo){
static void fts3MIBufferFree(void *p){
MatchinfoBuffer *pBuf = (MatchinfoBuffer*)((u8*)p - ((u32*)p)[-1]);
- assert( (u32*)p==&pBuf->aMatchinfo[1]
- || (u32*)p==&pBuf->aMatchinfo[pBuf->nElem+2]
+ assert( (u32*)p==&pBuf->aMI[1]
+ || (u32*)p==&pBuf->aMI[pBuf->nElem+2]
);
- if( (u32*)p==&pBuf->aMatchinfo[1] ){
+ if( (u32*)p==&pBuf->aMI[1] ){
pBuf->aRef[1] = 0;
}else{
pBuf->aRef[2] = 0;
@@ -204255,18 +207722,18 @@ static void (*fts3MIBufferAlloc(MatchinfoBuffer *p, u32 **paOut))(void*){
if( p->aRef[1]==0 ){
p->aRef[1] = 1;
- aOut = &p->aMatchinfo[1];
+ aOut = &p->aMI[1];
xRet = fts3MIBufferFree;
}
else if( p->aRef[2]==0 ){
p->aRef[2] = 1;
- aOut = &p->aMatchinfo[p->nElem+2];
+ aOut = &p->aMI[p->nElem+2];
xRet = fts3MIBufferFree;
}else{
aOut = (u32*)sqlite3_malloc64(p->nElem * sizeof(u32));
if( aOut ){
xRet = sqlite3_free;
- if( p->bGlobal ) memcpy(aOut, &p->aMatchinfo[1], p->nElem*sizeof(u32));
+ if( p->bGlobal ) memcpy(aOut, &p->aMI[1], p->nElem*sizeof(u32));
}
}
@@ -204276,7 +207743,7 @@ static void (*fts3MIBufferAlloc(MatchinfoBuffer *p, u32 **paOut))(void*){
static void fts3MIBufferSetGlobal(MatchinfoBuffer *p){
p->bGlobal = 1;
- memcpy(&p->aMatchinfo[2+p->nElem], &p->aMatchinfo[1], p->nElem*sizeof(u32));
+ memcpy(&p->aMI[2+p->nElem], &p->aMI[1], p->nElem*sizeof(u32));
}
/*
@@ -204691,7 +208158,7 @@ static int fts3StringAppend(
}
/* If there is insufficient space allocated at StrBuffer.z, use realloc()
- ** to grow the buffer until so that it is big enough to accomadate the
+ ** to grow the buffer until so that it is big enough to accommodate the
** appended data.
*/
if( pStr->n+nAppend+1>=pStr->nAlloc ){
@@ -205103,16 +208570,16 @@ static size_t fts3MatchinfoSize(MatchInfo *pInfo, char cArg){
break;
case FTS3_MATCHINFO_LHITS:
- nVal = pInfo->nCol * pInfo->nPhrase;
+ nVal = (size_t)pInfo->nCol * pInfo->nPhrase;
break;
case FTS3_MATCHINFO_LHITS_BM:
- nVal = pInfo->nPhrase * ((pInfo->nCol + 31) / 32);
+ nVal = (size_t)pInfo->nPhrase * ((pInfo->nCol + 31) / 32);
break;
default:
assert( cArg==FTS3_MATCHINFO_HITS );
- nVal = pInfo->nCol * pInfo->nPhrase * 3;
+ nVal = (size_t)pInfo->nCol * pInfo->nPhrase * 3;
break;
}
@@ -206670,8 +210137,8 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeFold(int c, int eRemoveDiacritic){
** Beginning with version 3.45.0 (circa 2024-01-01), these routines also
** accept BLOB values that have JSON encoded using a binary representation
** called "JSONB". The name JSONB comes from PostgreSQL, however the on-disk
-** format SQLite JSONB is completely different and incompatible with
-** PostgreSQL JSONB.
+** format for SQLite-JSONB is completely different and incompatible with
+** PostgreSQL-JSONB.
**
** Decoding and interpreting JSONB is still O(N) where N is the size of
** the input, the same as text JSON. However, the constant of proportionality
@@ -206728,7 +210195,7 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeFold(int c, int eRemoveDiacritic){
**
** The payload size need not be expressed in its minimal form. For example,
** if the payload size is 10, the size can be expressed in any of 5 different
-** ways: (1) (X>>4)==10, (2) (X>>4)==12 following by on 0x0a byte,
+** ways: (1) (X>>4)==10, (2) (X>>4)==12 following by one 0x0a byte,
** (3) (X>>4)==13 followed by 0x00 and 0x0a, (4) (X>>4)==14 followed by
** 0x00 0x00 0x00 0x0a, or (5) (X>>4)==15 followed by 7 bytes of 0x00 and
** a single byte of 0x0a. The shorter forms are preferred, of course, but
@@ -206738,7 +210205,7 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeFold(int c, int eRemoveDiacritic){
** the size when it becomes known, resulting in a non-minimal encoding.
**
** The value (X>>4)==15 is not actually used in the current implementation
-** (as SQLite is currently unable handle BLOBs larger than about 2GB)
+** (as SQLite is currently unable to handle BLOBs larger than about 2GB)
** but is included in the design to allow for future enhancements.
**
** The payload follows the header. NULL, TRUE, and FALSE have no payload and
@@ -206798,23 +210265,47 @@ static const char * const jsonbType[] = {
** increase for the text-JSON parser. (Ubuntu14.10 gcc 4.8.4 x64 with -Os).
*/
static const char jsonIsSpace[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+#ifdef SQLITE_ASCII
+/*0 1 2 3 4 5 6 7 8 9 a b c d e f */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, /* 0 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1 */
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 2 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 3 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 4 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 5 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 6 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 7 */
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 8 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 9 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* a */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* b */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* c */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* d */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* e */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* f */
+#endif
+#ifdef SQLITE_EBCDIC
+/*0 1 2 3 4 5 6 7 8 9 a b c d e f */
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, /* 0 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1 */
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 2 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 3 */
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 4 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 5 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 6 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 7 */
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 8 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 9 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* a */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* b */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* c */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* d */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* e */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* f */
+#endif
+
};
#define jsonIsspace(x) (jsonIsSpace[(unsigned char)x])
@@ -206822,7 +210313,13 @@ static const char jsonIsSpace[] = {
** The set of all space characters recognized by jsonIsspace().
** Useful as the second argument to strspn().
*/
+#ifdef SQLITE_ASCII
static const char jsonSpaces[] = "\011\012\015\040";
+#endif
+#ifdef SQLITE_EBCDIC
+static const char jsonSpaces[] = "\005\045\015\100";
+#endif
+
/*
** Characters that are special to JSON. Control characters,
@@ -206831,23 +210328,46 @@ static const char jsonSpaces[] = "\011\012\015\040";
** it in the set of special characters.
*/
static const char jsonIsOk[256] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
+#ifdef SQLITE_ASCII
+/*0 1 2 3 4 5 6 7 8 9 a b c d e f */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1 */
+ 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, /* 2 */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 3 */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 4 */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, /* 5 */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 6 */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 7 */
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 8 */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 9 */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* a */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* b */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* c */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* d */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* e */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 /* f */
+#endif
+#ifdef SQLITE_EBCDIC
+/*0 1 2 3 4 5 6 7 8 9 a b c d e f */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 2 */
+ 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, /* 3 */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 4 */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 5 */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 6 */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, /* 7 */
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 8 */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 9 */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* a */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* b */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* c */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* d */
+ 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* e */
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 /* f */
+#endif
};
/* Objects */
@@ -206992,7 +210512,7 @@ struct JsonParse {
** Forward references
**************************************************************************/
static void jsonReturnStringAsBlob(JsonString*);
-static int jsonFuncArgMightBeBinary(sqlite3_value *pJson);
+static int jsonArgIsJsonb(sqlite3_value *pJson, JsonParse *p);
static u32 jsonTranslateBlobToText(const JsonParse*,u32,JsonString*);
static void jsonReturnParse(sqlite3_context*,JsonParse*);
static JsonParse *jsonParseFuncArg(sqlite3_context*,sqlite3_value*,u32);
@@ -207066,7 +210586,7 @@ static int jsonCacheInsert(
** most-recently used entry if it isn't so already.
**
** The JsonParse object returned still belongs to the Cache and might
-** be deleted at any moment. If the caller whants the JsonParse to
+** be deleted at any moment. If the caller wants the JsonParse to
** linger, it needs to increment the nPJRef reference counter.
*/
static JsonParse *jsonCacheSearch(
@@ -207410,11 +210930,9 @@ static void jsonAppendSqlValue(
break;
}
default: {
- if( jsonFuncArgMightBeBinary(pValue) ){
- JsonParse px;
- memset(&px, 0, sizeof(px));
- px.aBlob = (u8*)sqlite3_value_blob(pValue);
- px.nBlob = sqlite3_value_bytes(pValue);
+ JsonParse px;
+ memset(&px, 0, sizeof(px));
+ if( jsonArgIsJsonb(pValue, &px) ){
jsonTranslateBlobToText(&px, 0, p);
}else if( p->eErr==0 ){
sqlite3_result_error(p->pCtx, "JSON cannot hold BLOB values", -1);
@@ -207733,7 +211251,7 @@ static void jsonWrongNumArgs(
*/
static int jsonBlobExpand(JsonParse *pParse, u32 N){
u8 *aNew;
- u32 t;
+ u64 t;
assert( N>pParse->nBlobAlloc );
if( pParse->nBlobAlloc==0 ){
t = 100;
@@ -207743,8 +211261,9 @@ static int jsonBlobExpand(JsonParse *pParse, u32 N){
if( t<N ) t = N+100;
aNew = sqlite3DbRealloc(pParse->db, pParse->aBlob, t);
if( aNew==0 ){ pParse->oom = 1; return 1; }
+ assert( t<0x7fffffff );
pParse->aBlob = aNew;
- pParse->nBlobAlloc = t;
+ pParse->nBlobAlloc = (u32)t;
return 0;
}
@@ -207811,7 +211330,7 @@ static SQLITE_NOINLINE void jsonBlobExpandAndAppendNode(
}
-/* Append an node type byte together with the payload size and
+/* Append a node type byte together with the payload size and
** possibly also the payload.
**
** If aPayload is not NULL, then it is a pointer to the payload which
@@ -207880,8 +211399,10 @@ static int jsonBlobChangePayloadSize(
nExtra = 1;
}else if( szType==13 ){
nExtra = 2;
- }else{
+ }else if( szType==14 ){
nExtra = 4;
+ }else{
+ nExtra = 8;
}
if( szPayload<=11 ){
nNeeded = 0;
@@ -208351,7 +211872,12 @@ json_parse_restart:
|| c=='n' || c=='r' || c=='t'
|| (c=='u' && jsonIs4Hex(&z[j+1])) ){
if( opcode==JSONB_TEXT ) opcode = JSONB_TEXTJ;
- }else if( c=='\'' || c=='0' || c=='v' || c=='\n'
+ }else if( c=='\'' || c=='v' || c=='\n'
+#ifdef SQLITE_BUG_COMPATIBLE_20250510
+ || (c=='0') /* Legacy bug compatible */
+#else
+ || (c=='0' && !sqlite3Isdigit(z[j+1])) /* Correct implementation */
+#endif
|| (0xe2==(u8)c && 0x80==(u8)z[j+1]
&& (0xa8==(u8)z[j+2] || 0xa9==(u8)z[j+2]))
|| (c=='x' && jsonIs2Hex(&z[j+1])) ){
@@ -208701,10 +212227,7 @@ static u32 jsonbPayloadSize(const JsonParse *pParse, u32 i, u32 *pSz){
u8 x;
u32 sz;
u32 n;
- if( NEVER(i>pParse->nBlob) ){
- *pSz = 0;
- return 0;
- }
+ assert( i<=pParse->nBlob );
x = pParse->aBlob[i]>>4;
if( x<=11 ){
sz = x;
@@ -208741,15 +212264,15 @@ static u32 jsonbPayloadSize(const JsonParse *pParse, u32 i, u32 *pSz){
*pSz = 0;
return 0;
}
- sz = (pParse->aBlob[i+5]<<24) + (pParse->aBlob[i+6]<<16) +
+ sz = ((u32)pParse->aBlob[i+5]<<24) + (pParse->aBlob[i+6]<<16) +
(pParse->aBlob[i+7]<<8) + pParse->aBlob[i+8];
n = 9;
}
if( (i64)i+sz+n > pParse->nBlob
&& (i64)i+sz+n > pParse->nBlob-pParse->delta
){
- sz = 0;
- n = 0;
+ *pSz = 0;
+ return 0;
}
*pSz = sz;
return n;
@@ -208846,9 +212369,12 @@ static u32 jsonTranslateBlobToText(
}
case JSONB_TEXT:
case JSONB_TEXTJ: {
- jsonAppendChar(pOut, '"');
- jsonAppendRaw(pOut, (const char*)&pParse->aBlob[i+n], sz);
- jsonAppendChar(pOut, '"');
+ if( pOut->nUsed+sz+2<=pOut->nAlloc || jsonStringGrow(pOut, sz+2)==0 ){
+ pOut->zBuf[pOut->nUsed] = '"';
+ memcpy(pOut->zBuf+pOut->nUsed+1,(const char*)&pParse->aBlob[i+n],sz);
+ pOut->zBuf[pOut->nUsed+sz+1] = '"';
+ pOut->nUsed += sz+2;
+ }
break;
}
case JSONB_TEXT5: {
@@ -208891,7 +212417,7 @@ static u32 jsonTranslateBlobToText(
jsonAppendChar(pOut, '\'');
break;
case 'v':
- jsonAppendRawNZ(pOut, "\\u0009", 6);
+ jsonAppendRawNZ(pOut, "\\u000b", 6);
break;
case 'x':
if( sz2<4 ){
@@ -209087,33 +212613,6 @@ static u32 jsonTranslateBlobToPrettyText(
return i;
}
-
-/* Return true if the input pJson
-**
-** For performance reasons, this routine does not do a detailed check of the
-** input BLOB to ensure that it is well-formed. Hence, false positives are
-** possible. False negatives should never occur, however.
-*/
-static int jsonFuncArgMightBeBinary(sqlite3_value *pJson){
- u32 sz, n;
- const u8 *aBlob;
- int nBlob;
- JsonParse s;
- if( sqlite3_value_type(pJson)!=SQLITE_BLOB ) return 0;
- aBlob = sqlite3_value_blob(pJson);
- nBlob = sqlite3_value_bytes(pJson);
- if( nBlob<1 ) return 0;
- if( NEVER(aBlob==0) || (aBlob[0] & 0x0f)>JSONB_OBJECT ) return 0;
- memset(&s, 0, sizeof(s));
- s.aBlob = (u8*)aBlob;
- s.nBlob = nBlob;
- n = jsonbPayloadSize(&s, 0, &sz);
- if( n==0 ) return 0;
- if( sz+n!=(u32)nBlob ) return 0;
- if( (aBlob[0] & 0x0f)<=JSONB_FALSE && sz>0 ) return 0;
- return sz+n==(u32)nBlob;
-}
-
/*
** Given that a JSONB_ARRAY object starts at offset i, return
** the number of entries in that array.
@@ -209146,6 +212645,82 @@ static void jsonAfterEditSizeAdjust(JsonParse *pParse, u32 iRoot){
pParse->delta += jsonBlobChangePayloadSize(pParse, iRoot, sz);
}
+/*
+** If the JSONB at aIns[0..nIns-1] can be expanded (by denormalizing the
+** size field) by d bytes, then write the expansion into aOut[] and
+** return true. In this way, an overwrite happens without changing the
+** size of the JSONB, which reduces memcpy() operations and also make it
+** faster and easier to update the B-Tree entry that contains the JSONB
+** in the database.
+**
+** If the expansion of aIns[] by d bytes cannot be (easily) accomplished
+** then return false.
+**
+** The d parameter is guaranteed to be between 1 and 8.
+**
+** This routine is an optimization. A correct answer is obtained if it
+** always leaves the output unchanged and returns false.
+*/
+static int jsonBlobOverwrite(
+ u8 *aOut, /* Overwrite here */
+ const u8 *aIns, /* New content */
+ u32 nIns, /* Bytes of new content */
+ u32 d /* Need to expand new content by this much */
+){
+ u32 szPayload; /* Bytes of payload */
+ u32 i; /* New header size, after expansion & a loop counter */
+ u8 szHdr; /* Size of header before expansion */
+
+ /* Lookup table for finding the upper 4 bits of the first byte of the
+ ** expanded aIns[], based on the size of the expanded aIns[] header:
+ **
+ ** 2 3 4 5 6 7 8 9 */
+ static const u8 aType[] = { 0xc0, 0xd0, 0, 0xe0, 0, 0, 0, 0xf0 };
+
+ if( (aIns[0]&0x0f)<=2 ) return 0; /* Cannot enlarge NULL, true, false */
+ switch( aIns[0]>>4 ){
+ default: { /* aIns[] header size 1 */
+ if( ((1<<d)&0x116)==0 ) return 0; /* d must be 1, 2, 4, or 8 */
+ i = d + 1; /* New hdr sz: 2, 3, 5, or 9 */
+ szHdr = 1;
+ break;
+ }
+ case 12: { /* aIns[] header size is 2 */
+ if( ((1<<d)&0x8a)==0) return 0; /* d must be 1, 3, or 7 */
+ i = d + 2; /* New hdr sz: 2, 5, or 9 */
+ szHdr = 2;
+ break;
+ }
+ case 13: { /* aIns[] header size is 3 */
+ if( d!=2 && d!=6 ) return 0; /* d must be 2 or 6 */
+ i = d + 3; /* New hdr sz: 5 or 9 */
+ szHdr = 3;
+ break;
+ }
+ case 14: { /* aIns[] header size is 5 */
+ if( d!=4 ) return 0; /* d must be 4 */
+ i = 9; /* New hdr sz: 9 */
+ szHdr = 5;
+ break;
+ }
+ case 15: { /* aIns[] header size is 9 */
+ return 0; /* No solution */
+ }
+ }
+ assert( i>=2 && i<=9 && aType[i-2]!=0 );
+ aOut[0] = (aIns[0] & 0x0f) | aType[i-2];
+ memcpy(&aOut[i], &aIns[szHdr], nIns-szHdr);
+ szPayload = nIns - szHdr;
+ while( 1/*edit-by-break*/ ){
+ i--;
+ aOut[i] = szPayload & 0xff;
+ if( i==1 ) break;
+ szPayload >>= 8;
+ }
+ assert( (szPayload>>8)==0 );
+ return 1;
+}
+
/*
** Modify the JSONB blob at pParse->aBlob by removing nDel bytes of
** content beginning at iDel, and replacing them with nIns bytes of
@@ -209167,6 +212742,11 @@ static void jsonBlobEdit(
u32 nIns /* Bytes of content to insert */
){
i64 d = (i64)nIns - (i64)nDel;
+ if( d<0 && d>=(-8) && aIns!=0
+ && jsonBlobOverwrite(&pParse->aBlob[iDel], aIns, nIns, (int)-d)
+ ){
+ return;
+ }
if( d!=0 ){
if( pParse->nBlob + d > pParse->nBlobAlloc ){
jsonBlobExpand(pParse, pParse->nBlob+d);
@@ -209178,7 +212758,9 @@ static void jsonBlobEdit(
pParse->nBlob += d;
pParse->delta += d;
}
- if( nIns && aIns ) memcpy(&pParse->aBlob[iDel], aIns, nIns);
+ if( nIns && aIns ){
+ memcpy(&pParse->aBlob[iDel], aIns, nIns);
+ }
}
/*
@@ -209263,7 +212845,21 @@ static u32 jsonUnescapeOneChar(const char *z, u32 n, u32 *piOut){
case 'r': { *piOut = '\r'; return 2; }
case 't': { *piOut = '\t'; return 2; }
case 'v': { *piOut = '\v'; return 2; }
- case '0': { *piOut = 0; return 2; }
+ case '0': {
+ /* JSON5 requires that the \0 escape not be followed by a digit.
+ ** But SQLite did not enforce this restriction in versions 3.42.0
+ ** through 3.49.2. That was a bug. But some applications might have
+ ** come to depend on that bug. Use the SQLITE_BUG_COMPATIBLE_20250510
+ ** option to restore the old buggy behavior. */
+#ifdef SQLITE_BUG_COMPATIBLE_20250510
+ /* Legacy bug-compatible behavior */
+ *piOut = 0;
+#else
+ /* Correct behavior */
+ *piOut = (n>2 && sqlite3Isdigit(z[2])) ? JSON_INVALID_CHAR : 0;
+#endif
+ return 2;
+ }
case '\'':
case '"':
case '/':
@@ -209671,19 +213267,27 @@ static void jsonReturnTextJsonFromBlob(
**
** If the value is a primitive, return it as an SQL value.
** If the value is an array or object, return it as either
-** JSON text or the BLOB encoding, depending on the JSON_B flag
-** on the userdata.
+** JSON text or the BLOB encoding, depending on the eMode flag
+** as follows:
+**
+** eMode==0 JSONB if the JSON_B flag is set in userdata or
+** text if the JSON_B flag is omitted from userdata.
+**
+** eMode==1 Text
+**
+** eMode==2 JSONB
*/
static void jsonReturnFromBlob(
JsonParse *pParse, /* Complete JSON parse tree */
u32 i, /* Index of the node */
sqlite3_context *pCtx, /* Return value for this function */
- int textOnly /* return text JSON. Disregard user-data */
+ int eMode /* Format of return: text of JSONB */
){
u32 n, sz;
int rc;
sqlite3 *db = sqlite3_context_db_handle(pCtx);
+ assert( eMode>=0 && eMode<=2 );
n = jsonbPayloadSize(pParse, i, &sz);
if( n==0 ){
sqlite3_result_error(pCtx, "malformed JSON", -1);
@@ -209724,7 +213328,19 @@ static void jsonReturnFromBlob(
rc = sqlite3DecOrHexToI64(z, &iRes);
sqlite3DbFree(db, z);
if( rc==0 ){
- sqlite3_result_int64(pCtx, bNeg ? -iRes : iRes);
+ if( iRes<0 ){
+ /* A hexadecimal literal with 16 significant digits and with the
+ ** high-order bit set is a negative integer in SQLite (and hence
+ ** iRes comes back as negative) but should be interpreted as a
+ ** positive value if it occurs within JSON. The value is too
+ ** large to appear as an SQLite integer so it must be converted
+ ** into floating point. */
+ double r;
+ r = (double)*(sqlite3_uint64*)&iRes;
+ sqlite3_result_double(pCtx, bNeg ? -r : r);
+ }else{
+ sqlite3_result_int64(pCtx, bNeg ? -iRes : iRes);
+ }
}else if( rc==3 && bNeg ){
sqlite3_result_int64(pCtx, SMALLEST_INT64);
}else if( rc==1 ){
@@ -209763,7 +213379,7 @@ static void jsonReturnFromBlob(
char *zOut;
u32 nOut = sz;
z = (const char*)&pParse->aBlob[i+n];
- zOut = sqlite3DbMallocRaw(db, nOut+1);
+ zOut = sqlite3DbMallocRaw(db, ((u64)nOut)+1);
if( zOut==0 ) goto returnfromblob_oom;
for(iIn=iOut=0; iIn<sz; iIn++){
char c = z[iIn];
@@ -209802,8 +213418,14 @@ static void jsonReturnFromBlob(
}
case JSONB_ARRAY:
case JSONB_OBJECT: {
- int flags = textOnly ? 0 : SQLITE_PTR_TO_INT(sqlite3_user_data(pCtx));
- if( flags & JSON_BLOB ){
+ if( eMode==0 ){
+ if( (SQLITE_PTR_TO_INT(sqlite3_user_data(pCtx)) & JSON_BLOB)!=0 ){
+ eMode = 2;
+ }else{
+ eMode = 1;
+ }
+ }
+ if( eMode==2 ){
sqlite3_result_blob(pCtx, &pParse->aBlob[i], sz+n, SQLITE_TRANSIENT);
}else{
jsonReturnTextJsonFromBlob(pCtx, &pParse->aBlob[i], sz+n);
@@ -209858,10 +213480,7 @@ static int jsonFunctionArgToBlob(
return 0;
}
case SQLITE_BLOB: {
- if( jsonFuncArgMightBeBinary(pArg) ){
- pParse->aBlob = (u8*)sqlite3_value_blob(pArg);
- pParse->nBlob = sqlite3_value_bytes(pArg);
- }else{
+ if( !jsonArgIsJsonb(pArg, pParse) ){
sqlite3_result_error(ctx, "JSON cannot hold BLOB values", -1);
return 1;
}
@@ -209941,7 +213560,7 @@ static char *jsonBadPathError(
}
/* argv[0] is a BLOB that seems likely to be a JSONB. Subsequent
-** arguments come in parse where each pair contains a JSON path and
+** arguments come in pairs where each pair contains a JSON path and
** content to insert or set at that patch. Do the updates
** and return the result.
**
@@ -210012,27 +213631,46 @@ jsonInsertIntoBlob_patherror:
/*
** If pArg is a blob that seems like a JSONB blob, then initialize
** p to point to that JSONB and return TRUE. If pArg does not seem like
-** a JSONB blob, then return FALSE;
-**
-** This routine is only called if it is already known that pArg is a
-** blob. The only open question is whether or not the blob appears
-** to be a JSONB blob.
+** a JSONB blob, then return FALSE.
+**
+** For small BLOBs (having no more than 7 bytes of payload) a full
+** validity check is done. So for small BLOBs this routine only returns
+** true if the value is guaranteed to be a valid JSONB. For larger BLOBs
+** (8 byte or more of payload) only the size of the outermost element is
+** checked to verify that the BLOB is superficially valid JSONB.
+**
+** A full JSONB validation is done on smaller BLOBs because those BLOBs might
+** also be text JSON that has been incorrectly cast into a BLOB.
+** (See tag-20240123-a and https://sqlite.org/forum/forumpost/012136abd5)
+** If the BLOB is 9 bytes are larger, then it is not possible for the
+** superficial size check done here to pass if the input is really text
+** JSON so we do not need to look deeper in that case.
+**
+** Why we only need to do full JSONB validation for smaller BLOBs:
+**
+** The first byte of valid JSON text must be one of: '{', '[', '"', ' ', '\n',
+** '\r', '\t', '-', or a digit '0' through '9'. Of these, only a subset
+** can also be the first byte of JSONB: '{', '[', and digits '3'
+** through '9'. In every one of those cases, the payload size is 7 bytes
+** or less. So if we do full JSONB validation for every BLOB where the
+** payload is less than 7 bytes, we will never get a false positive for
+** JSONB on an input that is really text JSON.
*/
static int jsonArgIsJsonb(sqlite3_value *pArg, JsonParse *p){
u32 n, sz = 0;
+ u8 c;
+ if( sqlite3_value_type(pArg)!=SQLITE_BLOB ) return 0;
p->aBlob = (u8*)sqlite3_value_blob(pArg);
p->nBlob = (u32)sqlite3_value_bytes(pArg);
- if( p->nBlob==0 ){
- p->aBlob = 0;
- return 0;
- }
- if( NEVER(p->aBlob==0) ){
- return 0;
- }
- if( (p->aBlob[0] & 0x0f)<=JSONB_OBJECT
+ if( p->nBlob>0
+ && ALWAYS(p->aBlob!=0)
+ && ((c = p->aBlob[0]) & 0x0f)<=JSONB_OBJECT
&& (n = jsonbPayloadSize(p, 0, &sz))>0
&& sz+n==p->nBlob
- && ((p->aBlob[0] & 0x0f)>JSONB_FALSE || sz==0)
+ && ((c & 0x0f)>JSONB_FALSE || sz==0)
+ && (sz>7
+ || (c!=0x7b && c!=0x5b && !sqlite3Isdigit(c))
+ || jsonbValidityCheck(p, 0, p->nBlob, 1)==0)
){
return 1;
}
@@ -210110,7 +213748,7 @@ rebuild_from_cache:
** JSON functions were suppose to work. From the beginning, blob was
** reserved for expansion and a blob value should have raised an error.
** But it did not, due to a bug. And many applications came to depend
- ** upon this buggy behavior, espeically when using the CLI and reading
+ ** upon this buggy behavior, especially when using the CLI and reading
** JSON text using readfile(), which returns a blob. For this reason
** we will continue to support the bug moving forward.
** See for example https://sqlite.org/forum/forumpost/012136abd5292b8d
@@ -211125,21 +214763,17 @@ static void jsonValidFunc(
return;
}
case SQLITE_BLOB: {
- if( jsonFuncArgMightBeBinary(argv[0]) ){
+ JsonParse py;
+ memset(&py, 0, sizeof(py));
+ if( jsonArgIsJsonb(argv[0], &py) ){
if( flags & 0x04 ){
/* Superficial checking only - accomplished by the
- ** jsonFuncArgMightBeBinary() call above. */
+ ** jsonArgIsJsonb() call above. */
res = 1;
}else if( flags & 0x08 ){
/* Strict checking. Check by translating BLOB->TEXT->BLOB. If
** no errors occur, call that a "strict check". */
- JsonParse px;
- u32 iErr;
- memset(&px, 0, sizeof(px));
- px.aBlob = (u8*)sqlite3_value_blob(argv[0]);
- px.nBlob = sqlite3_value_bytes(argv[0]);
- iErr = jsonbValidityCheck(&px, 0, px.nBlob, 1);
- res = iErr==0;
+ res = 0==jsonbValidityCheck(&py, 0, py.nBlob, 1);
}
break;
}
@@ -211197,9 +214831,7 @@ static void jsonErrorFunc(
UNUSED_PARAMETER(argc);
memset(&s, 0, sizeof(s));
s.db = sqlite3_context_db_handle(ctx);
- if( jsonFuncArgMightBeBinary(argv[0]) ){
- s.aBlob = (u8*)sqlite3_value_blob(argv[0]);
- s.nBlob = sqlite3_value_bytes(argv[0]);
+ if( jsonArgIsJsonb(argv[0], &s) ){
iErrPos = (i64)jsonbValidityCheck(&s, 0, s.nBlob, 1);
}else{
s.zJson = (char*)sqlite3_value_text(argv[0]);
@@ -211360,18 +214992,20 @@ static void jsonObjectStep(
UNUSED_PARAMETER(argc);
pStr = (JsonString*)sqlite3_aggregate_context(ctx, sizeof(*pStr));
if( pStr ){
+ z = (const char*)sqlite3_value_text(argv[0]);
+ n = sqlite3Strlen30(z);
if( pStr->zBuf==0 ){
jsonStringInit(pStr, ctx);
jsonAppendChar(pStr, '{');
- }else if( pStr->nUsed>1 ){
+ }else if( pStr->nUsed>1 && z!=0 ){
jsonAppendChar(pStr, ',');
}
pStr->pCtx = ctx;
- z = (const char*)sqlite3_value_text(argv[0]);
- n = sqlite3Strlen30(z);
- jsonAppendString(pStr, z, n);
- jsonAppendChar(pStr, ':');
- jsonAppendSqlValue(pStr, argv[1]);
+ if( z!=0 ){
+ jsonAppendString(pStr, z, n);
+ jsonAppendChar(pStr, ':');
+ jsonAppendSqlValue(pStr, argv[1]);
+ }
}
}
static void jsonObjectCompute(sqlite3_context *ctx, int isFinal){
@@ -211438,6 +215072,7 @@ struct JsonEachCursor {
u32 nRoot; /* Size of the root path in bytes */
u8 eType; /* Type of the container for element i */
u8 bRecursive; /* True for json_tree(). False for json_each() */
+ u8 eMode; /* 1 for json_each(). 2 for jsonb_each() */
u32 nParent; /* Current nesting depth */
u32 nParentAlloc; /* Space allocated for aParent[] */
JsonParent *aParent; /* Parent elements of i */
@@ -211449,6 +215084,8 @@ typedef struct JsonEachConnection JsonEachConnection;
struct JsonEachConnection {
sqlite3_vtab base; /* Base class - must be first */
sqlite3 *db; /* Database connection */
+ u8 eMode; /* 1 for json_each(). 2 for jsonb_each() */
+ u8 bRecursive; /* True for json_tree(). False for json_each() */
};
@@ -211491,6 +215128,8 @@ static int jsonEachConnect(
if( pNew==0 ) return SQLITE_NOMEM;
sqlite3_vtab_config(db, SQLITE_VTAB_INNOCUOUS);
pNew->db = db;
+ pNew->eMode = argv[0][4]=='b' ? 2 : 1;
+ pNew->bRecursive = argv[0][4+pNew->eMode]=='t';
}
return rc;
}
@@ -211502,8 +215141,8 @@ static int jsonEachDisconnect(sqlite3_vtab *pVtab){
return SQLITE_OK;
}
-/* constructor for a JsonEachCursor object for json_each(). */
-static int jsonEachOpenEach(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){
+/* constructor for a JsonEachCursor object for json_each()/json_tree(). */
+static int jsonEachOpen(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){
JsonEachConnection *pVtab = (JsonEachConnection*)p;
JsonEachCursor *pCur;
@@ -211511,21 +215150,13 @@ static int jsonEachOpenEach(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){
pCur = sqlite3DbMallocZero(pVtab->db, sizeof(*pCur));
if( pCur==0 ) return SQLITE_NOMEM;
pCur->db = pVtab->db;
+ pCur->eMode = pVtab->eMode;
+ pCur->bRecursive = pVtab->bRecursive;
jsonStringZero(&pCur->path);
*ppCursor = &pCur->base;
return SQLITE_OK;
}
-/* constructor for a JsonEachCursor object for json_tree(). */
-static int jsonEachOpenTree(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){
- int rc = jsonEachOpenEach(p, ppCursor);
- if( rc==SQLITE_OK ){
- JsonEachCursor *pCur = (JsonEachCursor*)*ppCursor;
- pCur->bRecursive = 1;
- }
- return rc;
-}
-
/* Reset a JsonEachCursor back to its original state. Free any memory
** held. */
static void jsonEachCursorReset(JsonEachCursor *p){
@@ -211730,7 +215361,7 @@ static int jsonEachColumn(
}
case JEACH_VALUE: {
u32 i = jsonSkipLabel(p);
- jsonReturnFromBlob(&p->sParse, i, ctx, 1);
+ jsonReturnFromBlob(&p->sParse, i, ctx, p->eMode);
if( (p->sParse.aBlob[i] & 0x0f)>=JSONB_ARRAY ){
sqlite3_result_subtype(ctx, JSON_SUBTYPE);
}
@@ -211884,9 +215515,8 @@ static int jsonEachFilter(
memset(&p->sParse, 0, sizeof(p->sParse));
p->sParse.nJPRef = 1;
p->sParse.db = p->db;
- if( jsonFuncArgMightBeBinary(argv[0]) ){
- p->sParse.nBlob = sqlite3_value_bytes(argv[0]);
- p->sParse.aBlob = (u8*)sqlite3_value_blob(argv[0]);
+ if( jsonArgIsJsonb(argv[0], &p->sParse) ){
+ /* We have JSONB */
}else{
p->sParse.zJson = (char*)sqlite3_value_text(argv[0]);
p->sParse.nJson = sqlite3_value_bytes(argv[0]);
@@ -211975,36 +215605,7 @@ static sqlite3_module jsonEachModule = {
jsonEachBestIndex, /* xBestIndex */
jsonEachDisconnect, /* xDisconnect */
0, /* xDestroy */
- jsonEachOpenEach, /* xOpen - open a cursor */
- jsonEachClose, /* xClose - close a cursor */
- jsonEachFilter, /* xFilter - configure scan constraints */
- jsonEachNext, /* xNext - advance a cursor */
- jsonEachEof, /* xEof - check for end of scan */
- jsonEachColumn, /* xColumn - read data */
- jsonEachRowid, /* xRowid - read data */
- 0, /* xUpdate */
- 0, /* xBegin */
- 0, /* xSync */
- 0, /* xCommit */
- 0, /* xRollback */
- 0, /* xFindMethod */
- 0, /* xRename */
- 0, /* xSavepoint */
- 0, /* xRelease */
- 0, /* xRollbackTo */
- 0, /* xShadowName */
- 0 /* xIntegrity */
-};
-
-/* The methods of the json_tree virtual table. */
-static sqlite3_module jsonTreeModule = {
- 0, /* iVersion */
- 0, /* xCreate */
- jsonEachConnect, /* xConnect */
- jsonEachBestIndex, /* xBestIndex */
- jsonEachDisconnect, /* xDisconnect */
- 0, /* xDestroy */
- jsonEachOpenTree, /* xOpen - open a cursor */
+ jsonEachOpen, /* xOpen - open a cursor */
jsonEachClose, /* xClose - close a cursor */
jsonEachFilter, /* xFilter - configure scan constraints */
jsonEachNext, /* xNext - advance a cursor */
@@ -212093,22 +215694,21 @@ SQLITE_PRIVATE void sqlite3RegisterJsonFunctions(void){
#if !defined(SQLITE_OMIT_VIRTUALTABLE) && !defined(SQLITE_OMIT_JSON)
/*
-** Register the JSON table-valued functions
+** Register the JSON table-valued function named zName and return a
+** pointer to its Module object. Return NULL if something goes wrong.
*/
-SQLITE_PRIVATE int sqlite3JsonTableFunctions(sqlite3 *db){
- int rc = SQLITE_OK;
- static const struct {
- const char *zName;
- sqlite3_module *pModule;
- } aMod[] = {
- { "json_each", &jsonEachModule },
- { "json_tree", &jsonTreeModule },
- };
+SQLITE_PRIVATE Module *sqlite3JsonVtabRegister(sqlite3 *db, const char *zName){
unsigned int i;
- for(i=0; i<sizeof(aMod)/sizeof(aMod[0]) && rc==SQLITE_OK; i++){
- rc = sqlite3_create_module(db, aMod[i].zName, aMod[i].pModule, 0);
+ static const char *azModule[] = {
+ "json_each", "json_tree", "jsonb_each", "jsonb_tree"
+ };
+ assert( sqlite3HashFind(&db->aModule, zName)==0 );
+ for(i=0; i<sizeof(azModule)/sizeof(azModule[0]); i++){
+ if( sqlite3StrICmp(azModule[i],zName)==0 ){
+ return sqlite3VtabCreateModule(db, azModule[i], &jsonEachModule, 0, 0);
+ }
}
- return rc;
+ return 0;
}
#endif /* !defined(SQLITE_OMIT_VIRTUALTABLE) && !defined(SQLITE_OMIT_JSON) */
@@ -212178,7 +215778,9 @@ SQLITE_PRIVATE int sqlite3JsonTableFunctions(sqlite3 *db){
#else
/* #include "sqlite3.h" */
#endif
-SQLITE_PRIVATE int sqlite3GetToken(const unsigned char*,int*); /* In the SQLite core */
+SQLITE_PRIVATE sqlite3_int64 sqlite3GetToken(const unsigned char*,int*); /* In SQLite core */
+
+/* #include <stddef.h> */
/*
** If building separately, we will need some setup that is normally
@@ -212210,6 +215812,14 @@ typedef unsigned int u32;
# define ALWAYS(X) (X)
# define NEVER(X) (X)
#endif
+#ifndef offsetof
+# define offsetof(ST,M) ((size_t)((char*)&((ST*)0)->M - (char*)0))
+#endif
+#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+# define FLEXARRAY
+#else
+# define FLEXARRAY 1
+#endif
#endif /* !defined(SQLITE_AMALGAMATION) */
/* Macro to check for 4-byte alignment. Only used inside of assert() */
@@ -212530,9 +216140,13 @@ struct RtreeMatchArg {
RtreeGeomCallback cb; /* Info about the callback functions */
int nParam; /* Number of parameters to the SQL function */
sqlite3_value **apSqlParam; /* Original SQL parameter values */
- RtreeDValue aParam[1]; /* Values for parameters to the SQL function */
+ RtreeDValue aParam[FLEXARRAY]; /* Values for parameters to the SQL function */
};
+/* Size of an RtreeMatchArg object with N parameters */
+#define SZ_RTREEMATCHARG(N) \
+ (offsetof(RtreeMatchArg,aParam)+(N)*sizeof(RtreeDValue))
+
#ifndef MAX
# define MAX(x,y) ((x) < (y) ? (y) : (x))
#endif
@@ -213237,6 +216851,12 @@ static void resetCursor(RtreeCursor *pCsr){
pCsr->base.pVtab = (sqlite3_vtab*)pRtree;
pCsr->pReadAux = pStmt;
+ /* The following will only fail if the previous sqlite3_step() call failed,
+ ** in which case the error has already been caught. This statement never
+ ** encounters an error within an sqlite3_column_xxx() function, as it
+ ** calls sqlite3_column_value(), which does not use malloc(). So it is safe
+ ** to ignore the error code here. */
+ sqlite3_reset(pStmt);
}
/*
@@ -214221,7 +217841,7 @@ static int rtreeBestIndex(sqlite3_vtab *tab, sqlite3_index_info *pIdxInfo){
}
/*
-** Return the N-dimensional volumn of the cell stored in *p.
+** Return the N-dimensional volume of the cell stored in *p.
*/
static RtreeDValue cellArea(Rtree *pRtree, RtreeCell *p){
RtreeDValue area = (RtreeDValue)1;
@@ -215871,7 +219491,7 @@ static void rtreenode(sqlite3_context *ctx, int nArg, sqlite3_value **apArg){
if( node.zData==0 ) return;
nData = sqlite3_value_bytes(apArg[1]);
if( nData<4 ) return;
- if( nData<NCELL(&node)*tree.nBytesPerCell ) return;
+ if( nData<4+NCELL(&node)*tree.nBytesPerCell ) return;
pOut = sqlite3_str_new(0);
for(ii=0; ii<NCELL(&node); ii++){
@@ -215987,7 +219607,7 @@ static sqlite3_stmt *rtreeCheckPrepare(
/*
** The second and subsequent arguments to this function are a printf()
** style format string and arguments. This function formats the string and
-** appends it to the report being accumuated in pCheck.
+** appends it to the report being accumulated in pCheck.
*/
static void rtreeCheckAppendMsg(RtreeCheck *pCheck, const char *zFmt, ...){
va_list ap;
@@ -217175,7 +220795,7 @@ static void geopolyBBoxFinal(
** Determine if point (x0,y0) is beneath line segment (x1,y1)->(x2,y2).
** Returns:
**
-** +2 x0,y0 is on the line segement
+** +2 x0,y0 is on the line segment
**
** +1 x0,y0 is beneath line segment
**
@@ -217281,7 +220901,7 @@ static void geopolyWithinFunc(
sqlite3_free(p2);
}
-/* Objects used by the overlap algorihm. */
+/* Objects used by the overlap algorithm. */
typedef struct GeoEvent GeoEvent;
typedef struct GeoSegment GeoSegment;
typedef struct GeoOverlap GeoOverlap;
@@ -218328,8 +221948,7 @@ static void geomCallback(sqlite3_context *ctx, int nArg, sqlite3_value **aArg){
sqlite3_int64 nBlob;
int memErr = 0;
- nBlob = sizeof(RtreeMatchArg) + (nArg-1)*sizeof(RtreeDValue)
- + nArg*sizeof(sqlite3_value*);
+ nBlob = SZ_RTREEMATCHARG(nArg) + nArg*sizeof(sqlite3_value*);
pBlob = (RtreeMatchArg *)sqlite3_malloc64(nBlob);
if( !pBlob ){
sqlite3_result_error_nomem(ctx);
@@ -219424,7 +223043,7 @@ SQLITE_PRIVATE void sqlite3Fts3IcuTokenizerModule(
**
** "RBU" stands for "Resumable Bulk Update". As in a large database update
** transmitted via a wireless network to a mobile device. A transaction
-** applied using this extension is hence refered to as an "RBU update".
+** applied using this extension is hence referred to as an "RBU update".
**
**
** LIMITATIONS
@@ -219721,7 +223340,7 @@ SQLITE_API sqlite3rbu *sqlite3rbu_open(
** the next call to sqlite3rbu_vacuum() opens a handle that starts a
** new RBU vacuum operation.
**
-** As with sqlite3rbu_open(), Zipvfs users should rever to the comment
+** As with sqlite3rbu_open(), Zipvfs users should refer to the comment
** describing the sqlite3rbu_create_vfs() API function below for
** a description of the complications associated with using RBU with
** zipvfs databases.
@@ -219817,7 +223436,7 @@ SQLITE_API int sqlite3rbu_savestate(sqlite3rbu *pRbu);
**
** If the RBU update has been completely applied, mark the RBU database
** as fully applied. Otherwise, assuming no error has occurred, save the
-** current state of the RBU update appliation to the RBU database.
+** current state of the RBU update application to the RBU database.
**
** If an error has already occurred as part of an sqlite3rbu_step()
** or sqlite3rbu_open() call, or if one occurs within this function, an
@@ -224743,7 +228362,7 @@ static int rbuVfsFileSize(sqlite3_file *pFile, sqlite_int64 *pSize){
/* If this is an RBU vacuum operation and this is the target database,
** pretend that it has at least one page. Otherwise, SQLite will not
- ** check for the existance of a *-wal file. rbuVfsRead() contains
+ ** check for the existence of a *-wal file. rbuVfsRead() contains
** similar logic. */
if( rc==SQLITE_OK && *pSize==0
&& p->pRbu && rbuIsVacuum(p->pRbu)
@@ -226326,8 +229945,8 @@ typedef struct DbpageCursor DbpageCursor;
struct DbpageCursor {
sqlite3_vtab_cursor base; /* Base class. Must be first */
- int pgno; /* Current page number */
- int mxPgno; /* Last page to visit on this scan */
+ Pgno pgno; /* Current page number */
+ Pgno mxPgno; /* Last page to visit on this scan */
Pager *pPager; /* Pager being read/written */
DbPage *pPage1; /* Page 1 of the database */
int iDb; /* Index of database to analyze */
@@ -226464,7 +230083,7 @@ static int dbpageOpen(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor){
}else{
memset(pCsr, 0, sizeof(DbpageCursor));
pCsr->base.pVtab = pVTab;
- pCsr->pgno = -1;
+ pCsr->pgno = 0;
}
*ppCursor = (sqlite3_vtab_cursor *)pCsr;
@@ -226517,7 +230136,8 @@ static int dbpageFilter(
sqlite3 *db = pTab->db;
Btree *pBt;
- (void)idxStr;
+ UNUSED_PARAMETER(idxStr);
+ UNUSED_PARAMETER(argc);
/* Default setting is no rows of result */
pCsr->pgno = 1;
@@ -226563,12 +230183,12 @@ static int dbpageColumn(
int rc = SQLITE_OK;
switch( i ){
case 0: { /* pgno */
- sqlite3_result_int(ctx, pCsr->pgno);
+ sqlite3_result_int64(ctx, (sqlite3_int64)pCsr->pgno);
break;
}
case 1: { /* data */
DbPage *pDbPage = 0;
- if( pCsr->pgno==((PENDING_BYTE/pCsr->szPage)+1) ){
+ if( pCsr->pgno==(Pgno)((PENDING_BYTE/pCsr->szPage)+1) ){
/* The pending byte page. Assume it is zeroed out. Attempting to
** request this page from the page is an SQLITE_CORRUPT error. */
sqlite3_result_zeroblob(ctx, pCsr->szPage);
@@ -226642,10 +230262,10 @@ static int dbpageUpdate(
goto update_fail;
}
if( sqlite3_value_type(argv[0])==SQLITE_NULL ){
- pgno = (Pgno)sqlite3_value_int(argv[2]);
+ pgno = (Pgno)sqlite3_value_int64(argv[2]);
isInsert = 1;
}else{
- pgno = sqlite3_value_int(argv[0]);
+ pgno = (Pgno)sqlite3_value_int64(argv[0]);
if( (Pgno)sqlite3_value_int(argv[1])!=pgno ){
zErr = "cannot insert";
goto update_fail;
@@ -226675,8 +230295,8 @@ static int dbpageUpdate(
/* "INSERT INTO dbpage($PGNO,NULL)" causes page number $PGNO and
** all subsequent pages to be deleted. */
pTab->iDbTrunc = iDb;
- pgno--;
- pTab->pgnoTrunc = pgno;
+ pTab->pgnoTrunc = pgno-1;
+ pgno = 1;
}else{
zErr = "bad page value";
goto update_fail;
@@ -226697,7 +230317,8 @@ static int dbpageUpdate(
memcpy(aPage, pData, szPage);
pTab->pgnoTrunc = 0;
}
- }else{
+ }
+ if( rc!=SQLITE_OK ){
pTab->pgnoTrunc = 0;
}
sqlite3PagerUnref(pDbPage);
@@ -226780,6 +230401,536 @@ SQLITE_PRIVATE int sqlite3DbpageRegister(sqlite3 *db){ return SQLITE_OK; }
#endif /* SQLITE_ENABLE_DBSTAT_VTAB */
/************** End of dbpage.c **********************************************/
+/************** Begin file carray.c ******************************************/
+/*
+** 2016-06-29
+**
+** The author disclaims copyright to this source code. In place of
+** a legal notice, here is a blessing:
+**
+** May you do good and not evil.
+** May you find forgiveness for yourself and forgive others.
+** May you share freely, never taking more than you give.
+**
+*************************************************************************
+**
+** This file implements a table-valued-function that
+** returns the values in a C-language array.
+** Examples:
+**
+** SELECT * FROM carray($ptr,5)
+**
+** The query above returns 5 integers contained in a C-language array
+** at the address $ptr. $ptr is a pointer to the array of integers.
+** The pointer value must be assigned to $ptr using the
+** sqlite3_bind_pointer() interface with a pointer type of "carray".
+** For example:
+**
+** static int aX[] = { 53, 9, 17, 2231, 4, 99 };
+** int i = sqlite3_bind_parameter_index(pStmt, "$ptr");
+** sqlite3_bind_pointer(pStmt, i, aX, "carray", 0);
+**
+** There is an optional third parameter to determine the datatype of
+** the C-language array. Allowed values of the third parameter are
+** 'int32', 'int64', 'double', 'char*', 'struct iovec'. Example:
+**
+** SELECT * FROM carray($ptr,10,'char*');
+**
+** The default value of the third parameter is 'int32'.
+**
+** HOW IT WORKS
+**
+** The carray "function" is really a virtual table with the
+** following schema:
+**
+** CREATE TABLE carray(
+** value,
+** pointer HIDDEN,
+** count HIDDEN,
+** ctype TEXT HIDDEN
+** );
+**
+** If the hidden columns "pointer" and "count" are unconstrained, then
+** the virtual table has no rows. Otherwise, the virtual table interprets
+** the integer value of "pointer" as a pointer to the array and "count"
+** as the number of elements in the array. The virtual table steps through
+** the array, element by element.
+*/
+#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_CARRAY)
+/* #include "sqliteInt.h" */
+#if defined(_WIN32) || defined(__RTP__) || defined(_WRS_KERNEL)
+ struct iovec {
+ void *iov_base;
+ size_t iov_len;
+ };
+#else
+# include <sys/uio.h>
+#endif
+
+/*
+** Names of allowed datatypes
+*/
+static const char *azCarrayType[] = {
+ "int32", "int64", "double", "char*", "struct iovec"
+};
+
+/*
+** Structure used to hold the sqlite3_carray_bind() information
+*/
+typedef struct carray_bind carray_bind;
+struct carray_bind {
+ void *aData; /* The data */
+ int nData; /* Number of elements */
+ int mFlags; /* Control flags */
+ void (*xDel)(void*); /* Destructor for aData */
+};
+
+
+/* carray_cursor is a subclass of sqlite3_vtab_cursor which will
+** serve as the underlying representation of a cursor that scans
+** over rows of the result
+*/
+typedef struct carray_cursor carray_cursor;
+struct carray_cursor {
+ sqlite3_vtab_cursor base; /* Base class - must be first */
+ sqlite3_int64 iRowid; /* The rowid */
+ void *pPtr; /* Pointer to the array of values */
+ sqlite3_int64 iCnt; /* Number of integers in the array */
+ unsigned char eType; /* One of the CARRAY_type values */
+};
+
+/*
+** The carrayConnect() method is invoked to create a new
+** carray_vtab that describes the carray virtual table.
+**
+** Think of this routine as the constructor for carray_vtab objects.
+**
+** All this routine needs to do is:
+**
+** (1) Allocate the carray_vtab object and initialize all fields.
+**
+** (2) Tell SQLite (via the sqlite3_declare_vtab() interface) what the
+** result set of queries against carray will look like.
+*/
+static int carrayConnect(
+ sqlite3 *db,
+ void *pAux,
+ int argc, const char *const*argv,
+ sqlite3_vtab **ppVtab,
+ char **pzErr
+){
+ sqlite3_vtab *pNew;
+ int rc;
+
+/* Column numbers */
+#define CARRAY_COLUMN_VALUE 0
+#define CARRAY_COLUMN_POINTER 1
+#define CARRAY_COLUMN_COUNT 2
+#define CARRAY_COLUMN_CTYPE 3
+
+ rc = sqlite3_declare_vtab(db,
+ "CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)");
+ if( rc==SQLITE_OK ){
+ pNew = *ppVtab = sqlite3_malloc( sizeof(*pNew) );
+ if( pNew==0 ) return SQLITE_NOMEM;
+ memset(pNew, 0, sizeof(*pNew));
+ }
+ return rc;
+}
+
+/*
+** This method is the destructor for carray_cursor objects.
+*/
+static int carrayDisconnect(sqlite3_vtab *pVtab){
+ sqlite3_free(pVtab);
+ return SQLITE_OK;
+}
+
+/*
+** Constructor for a new carray_cursor object.
+*/
+static int carrayOpen(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){
+ carray_cursor *pCur;
+ pCur = sqlite3_malloc( sizeof(*pCur) );
+ if( pCur==0 ) return SQLITE_NOMEM;
+ memset(pCur, 0, sizeof(*pCur));
+ *ppCursor = &pCur->base;
+ return SQLITE_OK;
+}
+
+/*
+** Destructor for a carray_cursor.
+*/
+static int carrayClose(sqlite3_vtab_cursor *cur){
+ sqlite3_free(cur);
+ return SQLITE_OK;
+}
+
+
+/*
+** Advance a carray_cursor to its next row of output.
+*/
+static int carrayNext(sqlite3_vtab_cursor *cur){
+ carray_cursor *pCur = (carray_cursor*)cur;
+ pCur->iRowid++;
+ return SQLITE_OK;
+}
+
+/*
+** Return values of columns for the row at which the carray_cursor
+** is currently pointing.
+*/
+static int carrayColumn(
+ sqlite3_vtab_cursor *cur, /* The cursor */
+ sqlite3_context *ctx, /* First argument to sqlite3_result_...() */
+ int i /* Which column to return */
+){
+ carray_cursor *pCur = (carray_cursor*)cur;
+ sqlite3_int64 x = 0;
+ switch( i ){
+ case CARRAY_COLUMN_POINTER: return SQLITE_OK;
+ case CARRAY_COLUMN_COUNT: x = pCur->iCnt; break;
+ case CARRAY_COLUMN_CTYPE: {
+ sqlite3_result_text(ctx, azCarrayType[pCur->eType], -1, SQLITE_STATIC);
+ return SQLITE_OK;
+ }
+ default: {
+ switch( pCur->eType ){
+ case CARRAY_INT32: {
+ int *p = (int*)pCur->pPtr;
+ sqlite3_result_int(ctx, p[pCur->iRowid-1]);
+ return SQLITE_OK;
+ }
+ case CARRAY_INT64: {
+ sqlite3_int64 *p = (sqlite3_int64*)pCur->pPtr;
+ sqlite3_result_int64(ctx, p[pCur->iRowid-1]);
+ return SQLITE_OK;
+ }
+ case CARRAY_DOUBLE: {
+ double *p = (double*)pCur->pPtr;
+ sqlite3_result_double(ctx, p[pCur->iRowid-1]);
+ return SQLITE_OK;
+ }
+ case CARRAY_TEXT: {
+ const char **p = (const char**)pCur->pPtr;
+ sqlite3_result_text(ctx, p[pCur->iRowid-1], -1, SQLITE_TRANSIENT);
+ return SQLITE_OK;
+ }
+ default: {
+ const struct iovec *p = (struct iovec*)pCur->pPtr;
+ assert( pCur->eType==CARRAY_BLOB );
+ sqlite3_result_blob(ctx, p[pCur->iRowid-1].iov_base,
+ (int)p[pCur->iRowid-1].iov_len, SQLITE_TRANSIENT);
+ return SQLITE_OK;
+ }
+ }
+ }
+ }
+ sqlite3_result_int64(ctx, x);
+ return SQLITE_OK;
+}
+
+/*
+** Return the rowid for the current row. In this implementation, the
+** rowid is the same as the output value.
+*/
+static int carrayRowid(sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid){
+ carray_cursor *pCur = (carray_cursor*)cur;
+ *pRowid = pCur->iRowid;
+ return SQLITE_OK;
+}
+
+/*
+** Return TRUE if the cursor has been moved off of the last
+** row of output.
+*/
+static int carrayEof(sqlite3_vtab_cursor *cur){
+ carray_cursor *pCur = (carray_cursor*)cur;
+ return pCur->iRowid>pCur->iCnt;
+}
+
+/*
+** This method is called to "rewind" the carray_cursor object back
+** to the first row of output.
+*/
+static int carrayFilter(
+ sqlite3_vtab_cursor *pVtabCursor,
+ int idxNum, const char *idxStr,
+ int argc, sqlite3_value **argv
+){
+ carray_cursor *pCur = (carray_cursor *)pVtabCursor;
+ pCur->pPtr = 0;
+ pCur->iCnt = 0;
+ switch( idxNum ){
+ case 1: {
+ carray_bind *pBind = sqlite3_value_pointer(argv[0], "carray-bind");
+ if( pBind==0 ) break;
+ pCur->pPtr = pBind->aData;
+ pCur->iCnt = pBind->nData;
+ pCur->eType = pBind->mFlags & 0x07;
+ break;
+ }
+ case 2:
+ case 3: {
+ pCur->pPtr = sqlite3_value_pointer(argv[0], "carray");
+ pCur->iCnt = pCur->pPtr ? sqlite3_value_int64(argv[1]) : 0;
+ if( idxNum<3 ){
+ pCur->eType = CARRAY_INT32;
+ }else{
+ unsigned char i;
+ const char *zType = (const char*)sqlite3_value_text(argv[2]);
+ for(i=0; i<sizeof(azCarrayType)/sizeof(azCarrayType[0]); i++){
+ if( sqlite3_stricmp(zType, azCarrayType[i])==0 ) break;
+ }
+ if( i>=sizeof(azCarrayType)/sizeof(azCarrayType[0]) ){
+ pVtabCursor->pVtab->zErrMsg = sqlite3_mprintf(
+ "unknown datatype: %Q", zType);
+ return SQLITE_ERROR;
+ }else{
+ pCur->eType = i;
+ }
+ }
+ break;
+ }
+ }
+ pCur->iRowid = 1;
+ return SQLITE_OK;
+}
+
+/*
+** SQLite will invoke this method one or more times while planning a query
+** that uses the carray virtual table. This routine needs to create
+** a query plan for each invocation and compute an estimated cost for that
+** plan.
+**
+** In this implementation idxNum is used to represent the
+** query plan. idxStr is unused.
+**
+** idxNum is:
+**
+** 1 If only the pointer= constraint exists. In this case, the
+** parameter must be bound using sqlite3_carray_bind().
+**
+** 2 if the pointer= and count= constraints exist.
+**
+** 3 if the ctype= constraint also exists.
+**
+** idxNum is 0 otherwise and carray becomes an empty table.
+*/
+static int carrayBestIndex(
+ sqlite3_vtab *tab,
+ sqlite3_index_info *pIdxInfo
+){
+ int i; /* Loop over constraints */
+ int ptrIdx = -1; /* Index of the pointer= constraint, or -1 if none */
+ int cntIdx = -1; /* Index of the count= constraint, or -1 if none */
+ int ctypeIdx = -1; /* Index of the ctype= constraint, or -1 if none */
+ unsigned seen = 0; /* Bitmask of == constrainted columns */
+
+ const struct sqlite3_index_constraint *pConstraint;
+ pConstraint = pIdxInfo->aConstraint;
+ for(i=0; i<pIdxInfo->nConstraint; i++, pConstraint++){
+ if( pConstraint->op!=SQLITE_INDEX_CONSTRAINT_EQ ) continue;
+ if( pConstraint->iColumn>=0 ) seen |= 1 << pConstraint->iColumn;
+ if( pConstraint->usable==0 ) continue;
+ switch( pConstraint->iColumn ){
+ case CARRAY_COLUMN_POINTER:
+ ptrIdx = i;
+ break;
+ case CARRAY_COLUMN_COUNT:
+ cntIdx = i;
+ break;
+ case CARRAY_COLUMN_CTYPE:
+ ctypeIdx = i;
+ break;
+ }
+ }
+ if( ptrIdx>=0 ){
+ pIdxInfo->aConstraintUsage[ptrIdx].argvIndex = 1;
+ pIdxInfo->aConstraintUsage[ptrIdx].omit = 1;
+ pIdxInfo->estimatedCost = (double)1;
+ pIdxInfo->estimatedRows = 100;
+ pIdxInfo->idxNum = 1;
+ if( cntIdx>=0 ){
+ pIdxInfo->aConstraintUsage[cntIdx].argvIndex = 2;
+ pIdxInfo->aConstraintUsage[cntIdx].omit = 1;
+ pIdxInfo->idxNum = 2;
+ if( ctypeIdx>=0 ){
+ pIdxInfo->aConstraintUsage[ctypeIdx].argvIndex = 3;
+ pIdxInfo->aConstraintUsage[ctypeIdx].omit = 1;
+ pIdxInfo->idxNum = 3;
+ }else if( seen & (1<<CARRAY_COLUMN_CTYPE) ){
+ /* In a three-argument carray(), we need to know the value of all
+ ** three arguments */
+ return SQLITE_CONSTRAINT;
+ }
+ }else if( seen & (1<<CARRAY_COLUMN_COUNT) ){
+ /* In a two-argument carray(), we need to know the value of both
+ ** arguments */
+ return SQLITE_CONSTRAINT;
+ }
+ }else{
+ pIdxInfo->estimatedCost = (double)2147483647;
+ pIdxInfo->estimatedRows = 2147483647;
+ pIdxInfo->idxNum = 0;
+ }
+ return SQLITE_OK;
+}
+
+/*
+** This following structure defines all the methods for the
+** carray virtual table.
+*/
+static sqlite3_module carrayModule = {
+ 0, /* iVersion */
+ 0, /* xCreate */
+ carrayConnect, /* xConnect */
+ carrayBestIndex, /* xBestIndex */
+ carrayDisconnect, /* xDisconnect */
+ 0, /* xDestroy */
+ carrayOpen, /* xOpen - open a cursor */
+ carrayClose, /* xClose - close a cursor */
+ carrayFilter, /* xFilter - configure scan constraints */
+ carrayNext, /* xNext - advance a cursor */
+ carrayEof, /* xEof - check for end of scan */
+ carrayColumn, /* xColumn - read data */
+ carrayRowid, /* xRowid - read data */
+ 0, /* xUpdate */
+ 0, /* xBegin */
+ 0, /* xSync */
+ 0, /* xCommit */
+ 0, /* xRollback */
+ 0, /* xFindMethod */
+ 0, /* xRename */
+ 0, /* xSavepoint */
+ 0, /* xRelease */
+ 0, /* xRollbackTo */
+ 0, /* xShadow */
+ 0 /* xIntegrity */
+};
+
+/*
+** Destructor for the carray_bind object
+*/
+static void carrayBindDel(void *pPtr){
+ carray_bind *p = (carray_bind*)pPtr;
+ if( p->xDel!=SQLITE_STATIC ){
+ p->xDel(p->aData);
+ }
+ sqlite3_free(p);
+}
+
+/*
+** Invoke this interface in order to bind to the single-argument
+** version of CARRAY().
+*/
+SQLITE_API int sqlite3_carray_bind(
+ sqlite3_stmt *pStmt,
+ int idx,
+ void *aData,
+ int nData,
+ int mFlags,
+ void (*xDestroy)(void*)
+){
+ carray_bind *pNew = 0;
+ int i;
+ int rc = SQLITE_OK;
+
+ /* Ensure that the mFlags value is acceptable. */
+ assert( CARRAY_INT32==0 && CARRAY_INT64==1 && CARRAY_DOUBLE==2 );
+ assert( CARRAY_TEXT==3 && CARRAY_BLOB==4 );
+ if( mFlags<CARRAY_INT32 || mFlags>CARRAY_BLOB ){
+ rc = SQLITE_ERROR;
+ goto carray_bind_error;
+ }
+
+ pNew = sqlite3_malloc64(sizeof(*pNew));
+ if( pNew==0 ){
+ rc = SQLITE_NOMEM;
+ goto carray_bind_error;
+ }
+
+ pNew->nData = nData;
+ pNew->mFlags = mFlags;
+ if( xDestroy==SQLITE_TRANSIENT ){
+ sqlite3_int64 sz = nData;
+ switch( mFlags ){
+ case CARRAY_INT32: sz *= 4; break;
+ case CARRAY_INT64: sz *= 8; break;
+ case CARRAY_DOUBLE: sz *= 8; break;
+ case CARRAY_TEXT: sz *= sizeof(char*); break;
+ default: sz *= sizeof(struct iovec); break;
+ }
+ if( mFlags==CARRAY_TEXT ){
+ for(i=0; i<nData; i++){
+ const char *z = ((char**)aData)[i];
+ if( z ) sz += strlen(z) + 1;
+ }
+ }else if( mFlags==CARRAY_BLOB ){
+ for(i=0; i<nData; i++){
+ sz += ((struct iovec*)aData)[i].iov_len;
+ }
+ }
+
+ pNew->aData = sqlite3_malloc64( sz );
+ if( pNew->aData==0 ){
+ rc = SQLITE_NOMEM;
+ goto carray_bind_error;
+ }
+
+ if( mFlags==CARRAY_TEXT ){
+ char **az = (char**)pNew->aData;
+ char *z = (char*)&az[nData];
+ for(i=0; i<nData; i++){
+ const char *zData = ((char**)aData)[i];
+ sqlite3_int64 n;
+ if( zData==0 ){
+ az[i] = 0;
+ continue;
+ }
+ az[i] = z;
+ n = strlen(zData);
+ memcpy(z, zData, n+1);
+ z += n+1;
+ }
+ }else if( mFlags==CARRAY_BLOB ){
+ struct iovec *p = (struct iovec*)pNew->aData;
+ unsigned char *z = (unsigned char*)&p[nData];
+ for(i=0; i<nData; i++){
+ size_t n = ((struct iovec*)aData)[i].iov_len;
+ p[i].iov_len = n;
+ p[i].iov_base = z;
+ z += n;
+ memcpy(p[i].iov_base, ((struct iovec*)aData)[i].iov_base, n);
+ }
+ }else{
+ memcpy(pNew->aData, aData, sz);
+ }
+ pNew->xDel = sqlite3_free;
+ }else{
+ pNew->aData = aData;
+ pNew->xDel = xDestroy;
+ }
+ return sqlite3_bind_pointer(pStmt, idx, pNew, "carray-bind", carrayBindDel);
+
+ carray_bind_error:
+ if( xDestroy!=SQLITE_STATIC && xDestroy!=SQLITE_TRANSIENT ){
+ xDestroy(aData);
+ }
+ sqlite3_free(pNew);
+ return rc;
+}
+
+/*
+** Invoke this routine to register the carray() function.
+*/
+SQLITE_PRIVATE Module *sqlite3CarrayRegister(sqlite3 *db){
+ return sqlite3VtabCreateModule(db, "carray", &carrayModule, 0, 0);
+}
+
+#endif /* !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_CARRAY) */
+
+/************** End of carray.c **********************************************/
/************** Begin file sqlite3session.c **********************************/
#if defined(SQLITE_ENABLE_SESSION) && defined(SQLITE_ENABLE_PREUPDATE_HOOK)
@@ -227973,7 +232124,7 @@ static int sessionTableInfo(
/*
** This function is called to initialize the SessionTable.nCol, azCol[]
** abPK[] and azDflt[] members of SessionTable object pTab. If these
-** fields are already initilialized, this function is a no-op.
+** fields are already initialized, this function is a no-op.
**
** If an error occurs, an error code is stored in sqlite3_session.rc and
** non-zero returned. Or, if no error occurs but the table has no primary
@@ -227992,6 +232143,8 @@ static int sessionInitTable(
if( pTab->nCol==0 ){
u8 *abPK;
assert( pTab->azCol==0 || pTab->abPK==0 );
+ sqlite3_free(pTab->azCol);
+ pTab->abPK = 0;
rc = sessionTableInfo(pSession, db, zDb,
pTab->zName, &pTab->nCol, &pTab->nTotalCol, 0, &pTab->azCol,
&pTab->azDflt, &pTab->aiIdx, &abPK,
@@ -228999,7 +233152,9 @@ SQLITE_API int sqlite3session_diff(
SessionTable *pTo; /* Table zTbl */
/* Locate and if necessary initialize the target table object */
+ pSession->bAutoAttach++;
rc = sessionFindTable(pSession, zTbl, &pTo);
+ pSession->bAutoAttach--;
if( pTo==0 ) goto diff_out;
if( sessionInitTable(pSession, pTo, pSession->db, pSession->zDb) ){
rc = pSession->rc;
@@ -229010,17 +233165,43 @@ SQLITE_API int sqlite3session_diff(
if( rc==SQLITE_OK ){
int bHasPk = 0;
int bMismatch = 0;
- int nCol; /* Columns in zFrom.zTbl */
+ int nCol = 0; /* Columns in zFrom.zTbl */
int bRowid = 0;
- u8 *abPK;
+ u8 *abPK = 0;
const char **azCol = 0;
- rc = sessionTableInfo(0, db, zFrom, zTbl,
- &nCol, 0, 0, &azCol, 0, 0, &abPK,
- pSession->bImplicitPK ? &bRowid : 0
- );
+ char *zDbExists = 0;
+
+ /* Check that database zFrom is attached. */
+ zDbExists = sqlite3_mprintf("SELECT * FROM %Q.sqlite_schema", zFrom);
+ if( zDbExists==0 ){
+ rc = SQLITE_NOMEM;
+ }else{
+ sqlite3_stmt *pDbExists = 0;
+ rc = sqlite3_prepare_v2(db, zDbExists, -1, &pDbExists, 0);
+ if( rc==SQLITE_ERROR ){
+ rc = SQLITE_OK;
+ nCol = -1;
+ }
+ sqlite3_finalize(pDbExists);
+ sqlite3_free(zDbExists);
+ }
+
+ if( rc==SQLITE_OK && nCol==0 ){
+ rc = sessionTableInfo(0, db, zFrom, zTbl,
+ &nCol, 0, 0, &azCol, 0, 0, &abPK,
+ pSession->bImplicitPK ? &bRowid : 0
+ );
+ }
if( rc==SQLITE_OK ){
if( pTo->nCol!=nCol ){
- bMismatch = 1;
+ if( nCol<=0 ){
+ rc = SQLITE_SCHEMA;
+ if( pzErrMsg ){
+ *pzErrMsg = sqlite3_mprintf("no such table: %s.%s", zFrom, zTbl);
+ }
+ }else{
+ bMismatch = 1;
+ }
}else{
int i;
for(i=0; i<nCol; i++){
@@ -229568,6 +233749,19 @@ static int sessionAppendDelete(
return rc;
}
+static int sessionPrepare(
+ sqlite3 *db,
+ sqlite3_stmt **pp,
+ char **pzErrmsg,
+ const char *zSql
+){
+ int rc = sqlite3_prepare_v2(db, zSql, -1, pp, 0);
+ if( pzErrmsg && rc!=SQLITE_OK ){
+ *pzErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(db));
+ }
+ return rc;
+}
+
/*
** Formulate and prepare a SELECT statement to retrieve a row from table
** zTab in database zDb based on its primary key. i.e.
@@ -229589,12 +233783,12 @@ static int sessionSelectStmt(
int nCol, /* Number of columns in table */
const char **azCol, /* Names of table columns */
u8 *abPK, /* PRIMARY KEY array */
- sqlite3_stmt **ppStmt /* OUT: Prepared SELECT statement */
+ sqlite3_stmt **ppStmt, /* OUT: Prepared SELECT statement */
+ char **pzErrmsg /* OUT: Error message */
){
int rc = SQLITE_OK;
char *zSql = 0;
const char *zSep = "";
- int nSql = -1;
int i;
SessionBuffer cols = {0, 0, 0};
@@ -229674,7 +233868,7 @@ static int sessionSelectStmt(
#endif
if( rc==SQLITE_OK ){
- rc = sqlite3_prepare_v2(db, zSql, nSql, ppStmt, 0);
+ rc = sessionPrepare(db, ppStmt, pzErrmsg, zSql);
}
sqlite3_free(zSql);
sqlite3_free(nooptest.aBuf);
@@ -229796,7 +233990,7 @@ static int sessionGenerateChangeset(
){
sqlite3 *db = pSession->db; /* Source database handle */
SessionTable *pTab; /* Used to iterate through attached tables */
- SessionBuffer buf = {0,0,0}; /* Buffer in which to accumlate changeset */
+ SessionBuffer buf = {0,0,0}; /* Buffer in which to accumulate changeset */
int rc; /* Return code */
assert( xOutput==0 || (pnChangeset==0 && ppChangeset==0) );
@@ -229838,7 +234032,7 @@ static int sessionGenerateChangeset(
/* Build and compile a statement to execute: */
if( rc==SQLITE_OK ){
rc = sessionSelectStmt(db, 0, pSession->zDb,
- zName, pTab->bRowid, pTab->nCol, pTab->azCol, pTab->abPK, &pSel
+ zName, pTab->bRowid, pTab->nCol, pTab->azCol, pTab->abPK, &pSel, 0
);
}
@@ -230149,14 +234343,15 @@ SQLITE_API int sqlite3changeset_start_v2_strm(
** object and the buffer is full, discard some data to free up space.
*/
static void sessionDiscardData(SessionInput *pIn){
- if( pIn->xInput && pIn->iNext>=sessions_strm_chunk_size ){
- int nMove = pIn->buf.nBuf - pIn->iNext;
+ if( pIn->xInput && pIn->iCurrent>=sessions_strm_chunk_size ){
+ int nMove = pIn->buf.nBuf - pIn->iCurrent;
assert( nMove>=0 );
if( nMove>0 ){
- memmove(pIn->buf.aBuf, &pIn->buf.aBuf[pIn->iNext], nMove);
+ memmove(pIn->buf.aBuf, &pIn->buf.aBuf[pIn->iCurrent], nMove);
}
- pIn->buf.nBuf -= pIn->iNext;
- pIn->iNext = 0;
+ pIn->buf.nBuf -= pIn->iCurrent;
+ pIn->iNext -= pIn->iCurrent;
+ pIn->iCurrent = 0;
pIn->nData = pIn->buf.nBuf;
}
}
@@ -230510,8 +234705,8 @@ static int sessionChangesetNextOne(
p->rc = sessionInputBuffer(&p->in, 2);
if( p->rc!=SQLITE_OK ) return p->rc;
- sessionDiscardData(&p->in);
p->in.iCurrent = p->in.iNext;
+ sessionDiscardData(&p->in);
/* If the iterator is already at the end of the changeset, return DONE. */
if( p->in.iNext>=p->in.nData ){
@@ -231046,6 +235241,7 @@ struct SessionApplyCtx {
u8 bRebase; /* True to collect rebase information */
u8 bIgnoreNoop; /* True to ignore no-op conflicts */
int bRowid;
+ char *zErr; /* Error message, if any */
};
/* Number of prepared UPDATE statements to cache. */
@@ -231271,7 +235467,7 @@ static int sessionDeleteRow(
}
if( rc==SQLITE_OK ){
- rc = sqlite3_prepare_v2(db, (char *)buf.aBuf, buf.nBuf, &p->pDelete, 0);
+ rc = sessionPrepare(db, &p->pDelete, &p->zErr, (char*)buf.aBuf);
}
sqlite3_free(buf.aBuf);
@@ -231298,7 +235494,7 @@ static int sessionSelectRow(
){
/* TODO */
return sessionSelectStmt(db, p->bIgnoreNoop,
- "main", zTab, p->bRowid, p->nCol, p->azCol, p->abPK, &p->pSelect
+ "main", zTab, p->bRowid, p->nCol, p->azCol, p->abPK, &p->pSelect, &p->zErr
);
}
@@ -231335,16 +235531,12 @@ static int sessionInsertRow(
sessionAppendStr(&buf, ")", &rc);
if( rc==SQLITE_OK ){
- rc = sqlite3_prepare_v2(db, (char *)buf.aBuf, buf.nBuf, &p->pInsert, 0);
+ rc = sessionPrepare(db, &p->pInsert, &p->zErr, (char*)buf.aBuf);
}
sqlite3_free(buf.aBuf);
return rc;
}
-static int sessionPrepare(sqlite3 *db, sqlite3_stmt **pp, const char *zSql){
- return sqlite3_prepare_v2(db, zSql, -1, pp, 0);
-}
-
/*
** Prepare statements for applying changes to the sqlite_stat1 table.
** These are similar to those created by sessionSelectRow(),
@@ -231354,14 +235546,14 @@ static int sessionPrepare(sqlite3 *db, sqlite3_stmt **pp, const char *zSql){
static int sessionStat1Sql(sqlite3 *db, SessionApplyCtx *p){
int rc = sessionSelectRow(db, "sqlite_stat1", p);
if( rc==SQLITE_OK ){
- rc = sessionPrepare(db, &p->pInsert,
+ rc = sessionPrepare(db, &p->pInsert, 0,
"INSERT INTO main.sqlite_stat1 VALUES(?1, "
"CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, "
"?3)"
);
}
if( rc==SQLITE_OK ){
- rc = sessionPrepare(db, &p->pDelete,
+ rc = sessionPrepare(db, &p->pDelete, 0,
"DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS "
"CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END "
"AND (?4 OR stat IS ?3)"
@@ -231585,7 +235777,7 @@ static int sessionConflictHandler(
void *pCtx, /* First argument for conflict handler */
int *pbReplace /* OUT: Set to true if PK row is found */
){
- int res = 0; /* Value returned by conflict handler */
+ int res = SQLITE_CHANGESET_OMIT;/* Value returned by conflict handler */
int rc;
int nCol;
int op;
@@ -231606,11 +235798,9 @@ static int sessionConflictHandler(
if( rc==SQLITE_ROW ){
/* There exists another row with the new.* primary key. */
- if( p->bIgnoreNoop
- && sqlite3_column_int(p->pSelect, sqlite3_column_count(p->pSelect)-1)
+ if( 0==p->bIgnoreNoop
+ || 0==sqlite3_column_int(p->pSelect, sqlite3_column_count(p->pSelect)-1)
){
- res = SQLITE_CHANGESET_OMIT;
- }else{
pIter->pConflict = p->pSelect;
res = xConflict(pCtx, eType, pIter);
pIter->pConflict = 0;
@@ -231624,7 +235814,9 @@ static int sessionConflictHandler(
int nBlob = pIter->in.iNext - pIter->in.iCurrent;
sessionAppendBlob(&p->constraints, aBlob, nBlob, &rc);
return SQLITE_OK;
- }else{
+ }else if( p->bIgnoreNoop==0 || op!=SQLITE_DELETE
+ || eType==SQLITE_CHANGESET_CONFLICT
+ ){
/* No other row with the new.* primary key. */
res = xConflict(pCtx, eType+1, pIter);
if( res==SQLITE_CHANGESET_REPLACE ) rc = SQLITE_MISUSE;
@@ -231722,7 +235914,7 @@ static int sessionApplyOneOp(
sqlite3_step(p->pDelete);
rc = sqlite3_reset(p->pDelete);
- if( rc==SQLITE_OK && sqlite3_changes(p->db)==0 && p->bIgnoreNoop==0 ){
+ if( rc==SQLITE_OK && sqlite3_changes(p->db)==0 ){
rc = sessionConflictHandler(
SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry
);
@@ -231934,6 +236126,10 @@ static int sessionChangesetApply(
void *pCtx, /* Copy of sixth arg to _apply() */
const char *zTab /* Table name */
),
+ int(*xFilterIter)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ sqlite3_changeset_iter *p
+ ),
int(*xConflict)(
void *pCtx, /* Copy of fifth arg to _apply() */
int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */
@@ -232074,6 +236270,9 @@ static int sessionChangesetApply(
** next change. A log message has already been issued. */
if( schemaMismatch ) continue;
+ /* If this is a call to apply_v3(), invoke xFilterIter here. */
+ if( xFilterIter && 0==xFilterIter(pCtx, pIter) ) continue;
+
rc = sessionApplyOneWithRetry(db, pIter, &sApply, xConflict, pCtx);
}
@@ -232120,6 +236319,7 @@ static int sessionChangesetApply(
assert( sApply.bRebase || sApply.rebase.nBuf==0 );
if( rc==SQLITE_OK && bPatchset==0 && sApply.bRebase ){
+ assert( ppRebase!=0 && pnRebase!=0 );
*ppRebase = (void*)sApply.rebase.aBuf;
*pnRebase = sApply.rebase.nBuf;
sApply.rebase.aBuf = 0;
@@ -232137,22 +236337,74 @@ static int sessionChangesetApply(
db->flags &= ~((u64)SQLITE_FkNoAction);
db->aDb[0].pSchema->schema_cookie -= 32;
}
+
+ assert( rc!=SQLITE_OK || sApply.zErr==0 );
+ sqlite3_set_errmsg(db, rc, sApply.zErr);
+ sqlite3_free(sApply.zErr);
+
sqlite3_mutex_leave(sqlite3_db_mutex(db));
return rc;
}
/*
-** Apply the changeset passed via pChangeset/nChangeset to the main
-** database attached to handle "db".
+** This function is called by all six sqlite3changeset_apply() variants:
+**
+** + sqlite3changeset_apply()
+** + sqlite3changeset_apply_v2()
+** + sqlite3changeset_apply_v3()
+** + sqlite3changeset_apply_strm()
+** + sqlite3changeset_apply_strm_v2()
+** + sqlite3changeset_apply_strm_v3()
+**
+** Arguments passed to this function are as follows:
+**
+** db:
+** Database handle to apply changeset to main database of.
+**
+** nChangeset/pChangeset:
+** These are both passed zero for the streaming variants. For the normal
+** apply() functions, these are passed the size of and the buffer containing
+** the changeset, respectively.
+**
+** xInput/pIn:
+** These are both passed zero for the normal variants. For the streaming
+** apply() functions, these are passed the input callback and context
+** pointer, respectively.
+**
+** xFilter:
+** The filter function as passed to apply() or apply_v2() (to filter by
+** table name), if any. This is always NULL for apply_v3() calls.
+**
+** xFilterIter:
+** The filter function as passed to apply_v3(), if any.
+**
+** xConflict:
+** The conflict handler callback (must not be NULL).
+**
+** pCtx:
+** The context pointer passed to the xFilter and xConflict handler callbacks.
+**
+** ppRebase, pnRebase:
+** Zero for apply(). The rebase changeset output pointers, if any, for
+** apply_v2() and apply_v3().
+**
+** flags:
+** Zero for apply(). The flags parameter for apply_v2() and apply_v3().
*/
-SQLITE_API int sqlite3changeset_apply_v2(
+static int sessionChangesetApplyV23(
sqlite3 *db, /* Apply change to "main" db of this handle */
int nChangeset, /* Size of changeset in bytes */
void *pChangeset, /* Changeset blob */
+ int (*xInput)(void *pIn, void *pData, int *pnData), /* Input function */
+ void *pIn, /* First arg for xInput */
int(*xFilter)(
void *pCtx, /* Copy of sixth arg to _apply() */
const char *zTab /* Table name */
),
+ int(*xFilterIter)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ sqlite3_changeset_iter *p /* Handle describing current change */
+ ),
int(*xConflict)(
void *pCtx, /* Copy of sixth arg to _apply() */
int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */
@@ -232163,18 +236415,74 @@ SQLITE_API int sqlite3changeset_apply_v2(
int flags
){
sqlite3_changeset_iter *pIter; /* Iterator to skip through changeset */
- int bInv = !!(flags & SQLITE_CHANGESETAPPLY_INVERT);
- int rc = sessionChangesetStart(&pIter, 0, 0, nChangeset, pChangeset, bInv, 1);
-
+ int bInverse = !!(flags & SQLITE_CHANGESETAPPLY_INVERT);
+ int rc = sessionChangesetStart(
+ &pIter, xInput, pIn, nChangeset, pChangeset, bInverse, 1
+ );
if( rc==SQLITE_OK ){
- rc = sessionChangesetApply(
- db, pIter, xFilter, xConflict, pCtx, ppRebase, pnRebase, flags
+ rc = sessionChangesetApply(db, pIter,
+ xFilter, xFilterIter, xConflict, pCtx, ppRebase, pnRebase, flags
);
}
-
return rc;
}
+/*
+** Apply the changeset passed via pChangeset/nChangeset to the main
+** database attached to handle "db".
+*/
+SQLITE_API int sqlite3changeset_apply_v2(
+ sqlite3 *db, /* Apply change to "main" db of this handle */
+ int nChangeset, /* Size of changeset in bytes */
+ void *pChangeset, /* Changeset blob */
+ int(*xFilter)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ const char *zTab /* Table name */
+ ),
+ int(*xConflict)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */
+ sqlite3_changeset_iter *p /* Handle describing change and conflict */
+ ),
+ void *pCtx, /* First argument passed to xConflict */
+ void **ppRebase, int *pnRebase,
+ int flags
+){
+ return sessionChangesetApplyV23(db,
+ nChangeset, pChangeset, 0, 0,
+ xFilter, 0, xConflict, pCtx,
+ ppRebase, pnRebase, flags
+ );
+}
+
+/*
+** Apply the changeset passed via pChangeset/nChangeset to the main
+** database attached to handle "db".
+*/
+SQLITE_API int sqlite3changeset_apply_v3(
+ sqlite3 *db, /* Apply change to "main" db of this handle */
+ int nChangeset, /* Size of changeset in bytes */
+ void *pChangeset, /* Changeset blob */
+ int(*xFilter)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ sqlite3_changeset_iter *p /* Handle describing current change */
+ ),
+ int(*xConflict)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */
+ sqlite3_changeset_iter *p /* Handle describing change and conflict */
+ ),
+ void *pCtx, /* First argument passed to xConflict */
+ void **ppRebase, int *pnRebase,
+ int flags
+){
+ return sessionChangesetApplyV23(db,
+ nChangeset, pChangeset, 0, 0,
+ 0, xFilter, xConflict, pCtx,
+ ppRebase, pnRebase, flags
+ );
+}
+
/*
** Apply the changeset passed via pChangeset/nChangeset to the main database
** attached to handle "db". Invoke the supplied conflict handler callback
@@ -232195,8 +236503,10 @@ SQLITE_API int sqlite3changeset_apply(
),
void *pCtx /* First argument passed to xConflict */
){
- return sqlite3changeset_apply_v2(
- db, nChangeset, pChangeset, xFilter, xConflict, pCtx, 0, 0, 0
+ return sessionChangesetApplyV23(db,
+ nChangeset, pChangeset, 0, 0,
+ xFilter, 0, xConflict, pCtx,
+ 0, 0, 0
);
}
@@ -232205,6 +236515,29 @@ SQLITE_API int sqlite3changeset_apply(
** attached to handle "db". Invoke the supplied conflict handler callback
** to resolve any conflicts encountered while applying the change.
*/
+SQLITE_API int sqlite3changeset_apply_v3_strm(
+ sqlite3 *db, /* Apply change to "main" db of this handle */
+ int (*xInput)(void *pIn, void *pData, int *pnData), /* Input function */
+ void *pIn, /* First arg for xInput */
+ int(*xFilter)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ sqlite3_changeset_iter *p
+ ),
+ int(*xConflict)(
+ void *pCtx, /* Copy of sixth arg to _apply() */
+ int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */
+ sqlite3_changeset_iter *p /* Handle describing change and conflict */
+ ),
+ void *pCtx, /* First argument passed to xConflict */
+ void **ppRebase, int *pnRebase,
+ int flags
+){
+ return sessionChangesetApplyV23(db,
+ 0, 0, xInput, pIn,
+ 0, xFilter, xConflict, pCtx,
+ ppRebase, pnRebase, flags
+ );
+}
SQLITE_API int sqlite3changeset_apply_v2_strm(
sqlite3 *db, /* Apply change to "main" db of this handle */
int (*xInput)(void *pIn, void *pData, int *pnData), /* Input function */
@@ -232222,15 +236555,11 @@ SQLITE_API int sqlite3changeset_apply_v2_strm(
void **ppRebase, int *pnRebase,
int flags
){
- sqlite3_changeset_iter *pIter; /* Iterator to skip through changeset */
- int bInverse = !!(flags & SQLITE_CHANGESETAPPLY_INVERT);
- int rc = sessionChangesetStart(&pIter, xInput, pIn, 0, 0, bInverse, 1);
- if( rc==SQLITE_OK ){
- rc = sessionChangesetApply(
- db, pIter, xFilter, xConflict, pCtx, ppRebase, pnRebase, flags
- );
- }
- return rc;
+ return sessionChangesetApplyV23(db,
+ 0, 0, xInput, pIn,
+ xFilter, 0, xConflict, pCtx,
+ ppRebase, pnRebase, flags
+ );
}
SQLITE_API int sqlite3changeset_apply_strm(
sqlite3 *db, /* Apply change to "main" db of this handle */
@@ -232247,8 +236576,10 @@ SQLITE_API int sqlite3changeset_apply_strm(
),
void *pCtx /* First argument passed to xConflict */
){
- return sqlite3changeset_apply_v2_strm(
- db, xInput, pIn, xFilter, xConflict, pCtx, 0, 0, 0
+ return sessionChangesetApplyV23(db,
+ 0, 0, xInput, pIn,
+ xFilter, 0, xConflict, pCtx,
+ 0, 0, 0
);
}
@@ -232870,14 +237201,19 @@ SQLITE_API int sqlite3changegroup_add_change(
sqlite3_changegroup *pGrp,
sqlite3_changeset_iter *pIter
){
+ int rc = SQLITE_OK;
+
if( pIter->in.iCurrent==pIter->in.iNext
|| pIter->rc!=SQLITE_OK
|| pIter->bInvert
){
/* Iterator does not point to any valid entry or is an INVERT iterator. */
- return SQLITE_ERROR;
+ rc = SQLITE_ERROR;
+ }else{
+ pIter->in.bNoDiscard = 1;
+ rc = sessionOneChangeToHash(pGrp, pIter, 0);
}
- return sessionOneChangeToHash(pGrp, pIter, 0);
+ return rc;
}
/*
@@ -234175,6 +238511,7 @@ SQLITE_EXTENSION_INIT1
/* #include <string.h> */
/* #include <assert.h> */
+/* #include <stddef.h> */
#ifndef SQLITE_AMALGAMATION
@@ -234214,23 +238551,34 @@ typedef sqlite3_uint64 u64;
# define LARGEST_INT64 (0xffffffff|(((i64)0x7fffffff)<<32))
# define SMALLEST_INT64 (((i64)-1) - LARGEST_INT64)
-/* The uptr type is an unsigned integer large enough to hold a pointer
+/*
+** This macro is used in a single assert() within fts5 to check that an
+** allocation is aligned to an 8-byte boundary. But it is a complicated
+** macro to get right for multiple platforms without generating warnings.
+** So instead of reproducing the entire definition from sqliteInt.h, we
+** just do without this assert() for the rare non-amalgamation builds.
*/
-#if defined(HAVE_STDINT_H)
- typedef uintptr_t uptr;
-#elif SQLITE_PTRSIZE==4
- typedef u32 uptr;
-#else
- typedef u64 uptr;
-#endif
+#define EIGHT_BYTE_ALIGNMENT(x) 1
-#ifdef SQLITE_4_BYTE_ALIGNED_MALLOC
-# define EIGHT_BYTE_ALIGNMENT(X) ((((uptr)(X) - (uptr)0)&3)==0)
+/*
+** Macros needed to provide flexible arrays in a portable way
+*/
+#ifndef offsetof
+# define offsetof(ST,M) ((size_t)((char*)&((ST*)0)->M - (char*)0))
+#endif
+#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+# define FLEXARRAY
#else
-# define EIGHT_BYTE_ALIGNMENT(X) ((((uptr)(X) - (uptr)0)&7)==0)
+# define FLEXARRAY 1
#endif
-#endif
+#endif /* SQLITE_AMALGAMATION */
+
+/*
+** Constants for the largest and smallest possible 32-bit signed integers.
+*/
+# define LARGEST_INT32 ((int)(0x7fffffff))
+# define SMALLEST_INT32 ((int)((-1) - LARGEST_INT32))
/* Truncate very long tokens to this many bytes. Hard limit is
** (65536-1-1-4-9)==65521 bytes. The limiting factor is the 16-bit offset
@@ -234302,10 +238650,11 @@ typedef struct Fts5Colset Fts5Colset;
*/
struct Fts5Colset {
int nCol;
- int aiCol[1];
+ int aiCol[FLEXARRAY];
};
-
+/* Size (int bytes) of a complete Fts5Colset object with N columns. */
+#define SZ_FTS5COLSET(N) (sizeof(i64)*((N+2)/2))
/**************************************************************************
** Interface to code in fts5_config.c. fts5_config.c contains contains code
@@ -234963,7 +239312,7 @@ static int sqlite3Fts5ExprPattern(
** i64 iRowid = sqlite3Fts5ExprRowid(pExpr);
** }
*/
-static int sqlite3Fts5ExprFirst(Fts5Expr*, Fts5Index *pIdx, i64 iMin, int bDesc);
+static int sqlite3Fts5ExprFirst(Fts5Expr*, Fts5Index *pIdx, i64 iMin, i64, int bDesc);
static int sqlite3Fts5ExprNext(Fts5Expr*, i64 iMax);
static int sqlite3Fts5ExprEof(Fts5Expr*);
static i64 sqlite3Fts5ExprRowid(Fts5Expr*);
@@ -235134,7 +239483,7 @@ static void sqlite3Fts5UnicodeAscii(u8*, u8*);
**
** The "lemon" program processes an LALR(1) input grammar file, then uses
** this template to construct a parser. The "lemon" program inserts text
-** at each "%%" line. Also, any "P-a-r-s-e" identifer prefix (without the
+** at each "%%" line. Also, any "P-a-r-s-e" identifier prefix (without the
** interstitial "-" characters) contained in this template is changed into
** the value of the %name directive from the grammar. Otherwise, the content
** of this template is copied straight through into the generate parser
@@ -237288,7 +241637,7 @@ static int fts5Bm25GetData(
** under consideration.
**
** The problem with this is that if (N < 2*nHit), the IDF is
- ** negative. Which is undesirable. So the mimimum allowable IDF is
+ ** negative. Which is undesirable. So the minimum allowable IDF is
** (1e-6) - roughly the same as a term that appears in just over
** half of set of 5,000,000 documents. */
double idf = log( (nRow - nHit + 0.5) / (nHit + 0.5) );
@@ -237751,7 +242100,7 @@ static char *sqlite3Fts5Strndup(int *pRc, const char *pIn, int nIn){
** * The 52 upper and lower case ASCII characters, and
** * The 10 integer ASCII characters.
** * The underscore character "_" (0x5F).
-** * The unicode "subsitute" character (0x1A).
+** * The unicode "substitute" character (0x1A).
*/
static int sqlite3Fts5IsBareword(char t){
u8 aBareword[128] = {
@@ -239069,9 +243418,13 @@ struct Fts5ExprNode {
/* Child nodes. For a NOT node, this array always contains 2 entries. For
** AND or OR nodes, it contains 2 or more entries. */
int nChild; /* Number of child nodes */
- Fts5ExprNode *apChild[1]; /* Array of child nodes */
+ Fts5ExprNode *apChild[FLEXARRAY]; /* Array of child nodes */
};
+/* Size (in bytes) of an Fts5ExprNode object that holds up to N children */
+#define SZ_FTS5EXPRNODE(N) \
+ (offsetof(Fts5ExprNode,apChild) + (N)*sizeof(Fts5ExprNode*))
+
#define Fts5NodeIsString(p) ((p)->eType==FTS5_TERM || (p)->eType==FTS5_STRING)
/*
@@ -239102,9 +243455,13 @@ struct Fts5ExprPhrase {
Fts5ExprNode *pNode; /* FTS5_STRING node this phrase is part of */
Fts5Buffer poslist; /* Current position list */
int nTerm; /* Number of entries in aTerm[] */
- Fts5ExprTerm aTerm[1]; /* Terms that make up this phrase */
+ Fts5ExprTerm aTerm[FLEXARRAY]; /* Terms that make up this phrase */
};
+/* Size (in bytes) of an Fts5ExprPhrase object that holds up to N terms */
+#define SZ_FTS5EXPRPHRASE(N) \
+ (offsetof(Fts5ExprPhrase,aTerm) + (N)*sizeof(Fts5ExprTerm))
+
/*
** One or more phrases that must appear within a certain token distance of
** each other within each matching document.
@@ -239113,9 +243470,12 @@ struct Fts5ExprNearset {
int nNear; /* NEAR parameter */
Fts5Colset *pColset; /* Columns to search (NULL -> all columns) */
int nPhrase; /* Number of entries in aPhrase[] array */
- Fts5ExprPhrase *apPhrase[1]; /* Array of phrase pointers */
+ Fts5ExprPhrase *apPhrase[FLEXARRAY]; /* Array of phrase pointers */
};
+/* Size (in bytes) of an Fts5ExprNearset object covering up to N phrases */
+#define SZ_FTS5EXPRNEARSET(N) \
+ (offsetof(Fts5ExprNearset,apPhrase)+(N)*sizeof(Fts5ExprPhrase*))
/*
** Parse context.
@@ -239275,7 +243635,7 @@ static int sqlite3Fts5ExprNew(
/* If the LHS of the MATCH expression was a user column, apply the
** implicit column-filter. */
if( sParse.rc==SQLITE_OK && iCol<pConfig->nCol ){
- int n = sizeof(Fts5Colset);
+ int n = SZ_FTS5COLSET(1);
Fts5Colset *pColset = (Fts5Colset*)sqlite3Fts5MallocZero(&sParse.rc, n);
if( pColset ){
pColset->nCol = 1;
@@ -240521,7 +244881,13 @@ static int fts5ExprNodeFirst(Fts5Expr *pExpr, Fts5ExprNode *pNode){
** Return SQLITE_OK if successful, or an SQLite error code otherwise. It
** is not considered an error if the query does not match any documents.
*/
-static int sqlite3Fts5ExprFirst(Fts5Expr *p, Fts5Index *pIdx, i64 iFirst, int bDesc){
+static int sqlite3Fts5ExprFirst(
+ Fts5Expr *p,
+ Fts5Index *pIdx,
+ i64 iFirst,
+ i64 iLast,
+ int bDesc
+){
Fts5ExprNode *pRoot = p->pRoot;
int rc; /* Return code */
@@ -240543,6 +244909,9 @@ static int sqlite3Fts5ExprFirst(Fts5Expr *p, Fts5Index *pIdx, i64 iFirst, int bD
assert( pRoot->bEof==0 );
rc = fts5ExprNodeNext(p, pRoot, 0, 0);
}
+ if( fts5RowidCmp(p, pRoot->iRowid, iLast)>0 ){
+ pRoot->bEof = 1;
+ }
return rc;
}
@@ -240633,7 +245002,7 @@ static Fts5ExprNearset *sqlite3Fts5ParseNearset(
if( pParse->rc==SQLITE_OK ){
if( pNear==0 ){
sqlite3_int64 nByte;
- nByte = sizeof(Fts5ExprNearset) + SZALLOC * sizeof(Fts5ExprPhrase*);
+ nByte = SZ_FTS5EXPRNEARSET(SZALLOC+1);
pRet = sqlite3_malloc64(nByte);
if( pRet==0 ){
pParse->rc = SQLITE_NOMEM;
@@ -240644,7 +245013,7 @@ static Fts5ExprNearset *sqlite3Fts5ParseNearset(
int nNew = pNear->nPhrase + SZALLOC;
sqlite3_int64 nByte;
- nByte = sizeof(Fts5ExprNearset) + nNew * sizeof(Fts5ExprPhrase*);
+ nByte = SZ_FTS5EXPRNEARSET(nNew+1);
pRet = (Fts5ExprNearset*)sqlite3_realloc64(pNear, nByte);
if( pRet==0 ){
pParse->rc = SQLITE_NOMEM;
@@ -240735,12 +245104,12 @@ static int fts5ParseTokenize(
int nNew = SZALLOC + (pPhrase ? pPhrase->nTerm : 0);
pNew = (Fts5ExprPhrase*)sqlite3_realloc64(pPhrase,
- sizeof(Fts5ExprPhrase) + sizeof(Fts5ExprTerm) * nNew
+ SZ_FTS5EXPRPHRASE(nNew+1)
);
if( pNew==0 ){
rc = SQLITE_NOMEM;
}else{
- if( pPhrase==0 ) memset(pNew, 0, sizeof(Fts5ExprPhrase));
+ if( pPhrase==0 ) memset(pNew, 0, SZ_FTS5EXPRPHRASE(1));
pCtx->pPhrase = pPhrase = pNew;
pNew->nTerm = nNew - SZALLOC;
}
@@ -240848,7 +245217,7 @@ static Fts5ExprPhrase *sqlite3Fts5ParseTerm(
if( sCtx.pPhrase==0 ){
/* This happens when parsing a token or quoted phrase that contains
** no token characters at all. (e.g ... MATCH '""'). */
- sCtx.pPhrase = sqlite3Fts5MallocZero(&pParse->rc, sizeof(Fts5ExprPhrase));
+ sCtx.pPhrase = sqlite3Fts5MallocZero(&pParse->rc, SZ_FTS5EXPRPHRASE(1));
}else if( sCtx.pPhrase->nTerm ){
sCtx.pPhrase->aTerm[sCtx.pPhrase->nTerm-1].bPrefix = (u8)bPrefix;
}
@@ -240883,19 +245252,18 @@ static int sqlite3Fts5ExprClonePhrase(
sizeof(Fts5ExprPhrase*));
}
if( rc==SQLITE_OK ){
- pNew->pRoot = (Fts5ExprNode*)sqlite3Fts5MallocZero(&rc,
- sizeof(Fts5ExprNode));
+ pNew->pRoot = (Fts5ExprNode*)sqlite3Fts5MallocZero(&rc, SZ_FTS5EXPRNODE(1));
}
if( rc==SQLITE_OK ){
pNew->pRoot->pNear = (Fts5ExprNearset*)sqlite3Fts5MallocZero(&rc,
- sizeof(Fts5ExprNearset) + sizeof(Fts5ExprPhrase*));
+ SZ_FTS5EXPRNEARSET(2));
}
if( rc==SQLITE_OK && ALWAYS(pOrig!=0) ){
Fts5Colset *pColsetOrig = pOrig->pNode->pNear->pColset;
if( pColsetOrig ){
sqlite3_int64 nByte;
Fts5Colset *pColset;
- nByte = sizeof(Fts5Colset) + (pColsetOrig->nCol-1) * sizeof(int);
+ nByte = SZ_FTS5COLSET(pColsetOrig->nCol);
pColset = (Fts5Colset*)sqlite3Fts5MallocZero(&rc, nByte);
if( pColset ){
memcpy(pColset, pColsetOrig, (size_t)nByte);
@@ -240923,7 +245291,7 @@ static int sqlite3Fts5ExprClonePhrase(
}else{
/* This happens when parsing a token or quoted phrase that contains
** no token characters at all. (e.g ... MATCH '""'). */
- sCtx.pPhrase = sqlite3Fts5MallocZero(&rc, sizeof(Fts5ExprPhrase));
+ sCtx.pPhrase = sqlite3Fts5MallocZero(&rc, SZ_FTS5EXPRPHRASE(1));
}
}
@@ -240988,7 +245356,8 @@ static void sqlite3Fts5ParseSetDistance(
);
return;
}
- nNear = nNear * 10 + (p->p[i] - '0');
+ if( nNear<214748363 ) nNear = nNear * 10 + (p->p[i] - '0');
+ /* ^^^^^^^^^^^^^^^--- Prevent integer overflow */
}
}else{
nNear = FTS5_DEFAULT_NEARDIST;
@@ -241017,7 +245386,7 @@ static Fts5Colset *fts5ParseColset(
assert( pParse->rc==SQLITE_OK );
assert( iCol>=0 && iCol<pParse->pConfig->nCol );
- pNew = sqlite3_realloc64(p, sizeof(Fts5Colset) + sizeof(int)*nCol);
+ pNew = sqlite3_realloc64(p, SZ_FTS5COLSET(nCol+1));
if( pNew==0 ){
pParse->rc = SQLITE_NOMEM;
}else{
@@ -241052,7 +245421,7 @@ static Fts5Colset *sqlite3Fts5ParseColsetInvert(Fts5Parse *pParse, Fts5Colset *p
int nCol = pParse->pConfig->nCol;
pRet = (Fts5Colset*)sqlite3Fts5MallocZero(&pParse->rc,
- sizeof(Fts5Colset) + sizeof(int)*nCol
+ SZ_FTS5COLSET(nCol+1)
);
if( pRet ){
int i;
@@ -241113,7 +245482,7 @@ static Fts5Colset *sqlite3Fts5ParseColset(
static Fts5Colset *fts5CloneColset(int *pRc, Fts5Colset *pOrig){
Fts5Colset *pRet;
if( pOrig ){
- sqlite3_int64 nByte = sizeof(Fts5Colset) + (pOrig->nCol-1) * sizeof(int);
+ sqlite3_int64 nByte = SZ_FTS5COLSET(pOrig->nCol);
pRet = (Fts5Colset*)sqlite3Fts5MallocZero(pRc, nByte);
if( pRet ){
memcpy(pRet, pOrig, (size_t)nByte);
@@ -241281,7 +245650,7 @@ static Fts5ExprNode *fts5ParsePhraseToAnd(
assert( pNear->nPhrase==1 );
assert( pParse->bPhraseToAnd );
- nByte = sizeof(Fts5ExprNode) + nTerm*sizeof(Fts5ExprNode*);
+ nByte = SZ_FTS5EXPRNODE(nTerm+1);
pRet = (Fts5ExprNode*)sqlite3Fts5MallocZero(&pParse->rc, nByte);
if( pRet ){
pRet->eType = FTS5_AND;
@@ -241291,7 +245660,7 @@ static Fts5ExprNode *fts5ParsePhraseToAnd(
pParse->nPhrase--;
for(ii=0; ii<nTerm; ii++){
Fts5ExprPhrase *pPhrase = (Fts5ExprPhrase*)sqlite3Fts5MallocZero(
- &pParse->rc, sizeof(Fts5ExprPhrase)
+ &pParse->rc, SZ_FTS5EXPRPHRASE(1)
);
if( pPhrase ){
if( parseGrowPhraseArray(pParse) ){
@@ -241360,7 +245729,7 @@ static Fts5ExprNode *sqlite3Fts5ParseNode(
if( pRight->eType==eType ) nChild += pRight->nChild-1;
}
- nByte = sizeof(Fts5ExprNode) + sizeof(Fts5ExprNode*)*(nChild-1);
+ nByte = SZ_FTS5EXPRNODE(nChild);
pRet = (Fts5ExprNode*)sqlite3Fts5MallocZero(&pParse->rc, nByte);
if( pRet ){
@@ -242235,7 +246604,7 @@ static int sqlite3Fts5ExprInstToken(
}
/*
-** Clear the token mappings for all Fts5IndexIter objects mannaged by
+** Clear the token mappings for all Fts5IndexIter objects managed by
** the expression passed as the only argument.
*/
static void sqlite3Fts5ExprClearTokens(Fts5Expr *pExpr){
@@ -242270,7 +246639,7 @@ typedef struct Fts5HashEntry Fts5HashEntry;
/*
** This file contains the implementation of an in-memory hash table used
-** to accumuluate "term -> doclist" content before it is flused to a level-0
+** to accumulate "term -> doclist" content before it is flushed to a level-0
** segment.
*/
@@ -242327,7 +246696,7 @@ struct Fts5HashEntry {
};
/*
-** Eqivalent to:
+** Equivalent to:
**
** char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; }
*/
@@ -243263,9 +247632,13 @@ struct Fts5Structure {
u64 nOriginCntr; /* Origin value for next top-level segment */
int nSegment; /* Total segments in this structure */
int nLevel; /* Number of levels in this index */
- Fts5StructureLevel aLevel[1]; /* Array of nLevel level objects */
+ Fts5StructureLevel aLevel[FLEXARRAY]; /* Array of nLevel level objects */
};
+/* Size (in bytes) of an Fts5Structure object holding up to N levels */
+#define SZ_FTS5STRUCTURE(N) \
+ (offsetof(Fts5Structure,aLevel) + (N)*sizeof(Fts5StructureLevel))
+
/*
** An object of type Fts5SegWriter is used to write to segments.
*/
@@ -243391,15 +247764,49 @@ struct Fts5SegIter {
u8 bDel; /* True if the delete flag is set */
};
+static int fts5IndexCorruptRowid(Fts5Index *pIdx, i64 iRowid){
+ pIdx->rc = FTS5_CORRUPT;
+ sqlite3Fts5ConfigErrmsg(pIdx->pConfig,
+ "fts5: corruption found reading blob %lld from table \"%s\"",
+ iRowid, pIdx->pConfig->zName
+ );
+ return SQLITE_CORRUPT_VTAB;
+}
+#define FTS5_CORRUPT_ROWID(pIdx, iRowid) fts5IndexCorruptRowid(pIdx, iRowid)
+
+static int fts5IndexCorruptIter(Fts5Index *pIdx, Fts5SegIter *pIter){
+ pIdx->rc = FTS5_CORRUPT;
+ sqlite3Fts5ConfigErrmsg(pIdx->pConfig,
+ "fts5: corruption on page %d, segment %d, table \"%s\"",
+ pIter->iLeafPgno, pIter->pSeg->iSegid, pIdx->pConfig->zName
+ );
+ return SQLITE_CORRUPT_VTAB;
+}
+#define FTS5_CORRUPT_ITER(pIdx, pIter) fts5IndexCorruptIter(pIdx, pIter)
+
+static int fts5IndexCorruptIdx(Fts5Index *pIdx){
+ pIdx->rc = FTS5_CORRUPT;
+ sqlite3Fts5ConfigErrmsg(pIdx->pConfig,
+ "fts5: corruption in table \"%s\"", pIdx->pConfig->zName
+ );
+ return SQLITE_CORRUPT_VTAB;
+}
+#define FTS5_CORRUPT_IDX(pIdx) fts5IndexCorruptIdx(pIdx)
+
+
/*
** Array of tombstone pages. Reference counted.
*/
struct Fts5TombstoneArray {
- int nRef; /* Number of pointers to this object */
+ int nRef; /* Number of pointers to this object */
int nTombstone;
- Fts5Data *apTombstone[1]; /* Array of tombstone pages */
+ Fts5Data *apTombstone[FLEXARRAY]; /* Array of tombstone pages */
};
+/* Size (in bytes) of an Fts5TombstoneArray holding up to N tombstones */
+#define SZ_FTS5TOMBSTONEARRAY(N) \
+ (offsetof(Fts5TombstoneArray,apTombstone)+(N)*sizeof(Fts5Data*))
+
/*
** Argument is a pointer to an Fts5Data structure that contains a
** leaf page.
@@ -243468,9 +247875,12 @@ struct Fts5Iter {
i64 iSwitchRowid; /* Firstest rowid of other than aFirst[1] */
Fts5CResult *aFirst; /* Current merge state (see above) */
- Fts5SegIter aSeg[1]; /* Array of segment iterators */
+ Fts5SegIter aSeg[FLEXARRAY]; /* Array of segment iterators */
};
+/* Size (in bytes) of an Fts5Iter object holding up to N segment iterators */
+#define SZ_FTS5ITER(N) (offsetof(Fts5Iter,aSeg)+(N)*sizeof(Fts5SegIter))
+
/*
** An instance of the following type is used to iterate through the contents
** of a doclist-index record.
@@ -243497,9 +247907,13 @@ struct Fts5DlidxLvl {
struct Fts5DlidxIter {
int nLvl;
int iSegid;
- Fts5DlidxLvl aLvl[1];
+ Fts5DlidxLvl aLvl[FLEXARRAY];
};
+/* Size (in bytes) of an Fts5DlidxIter object with up to N levels */
+#define SZ_FTS5DLIDXITER(N) \
+ (offsetof(Fts5DlidxIter,aLvl)+(N)*sizeof(Fts5DlidxLvl))
+
static void fts5PutU16(u8 *aOut, u16 iVal){
aOut[0] = (iVal>>8);
aOut[1] = (iVal&0xFF);
@@ -243669,13 +248083,13 @@ static Fts5Data *fts5DataRead(Fts5Index *p, i64 iRowid){
** All the reasons those functions might return SQLITE_ERROR - missing
** table, missing row, non-blob/text in block column - indicate
** backing store corruption. */
- if( rc==SQLITE_ERROR ) rc = FTS5_CORRUPT;
+ if( rc==SQLITE_ERROR ) rc = FTS5_CORRUPT_ROWID(p, iRowid);
if( rc==SQLITE_OK ){
u8 *aOut = 0; /* Read blob data into this buffer */
- int nByte = sqlite3_blob_bytes(p->pReader);
- int szData = (sizeof(Fts5Data) + 7) & ~7;
- sqlite3_int64 nAlloc = szData + nByte + FTS5_DATA_PADDING;
+ i64 nByte = sqlite3_blob_bytes(p->pReader);
+ i64 szData = (sizeof(Fts5Data) + 7) & ~7;
+ i64 nAlloc = szData + nByte + FTS5_DATA_PADDING;
pRet = (Fts5Data*)sqlite3_malloc64(nAlloc);
if( pRet ){
pRet->nn = nByte;
@@ -243719,7 +248133,7 @@ static Fts5Data *fts5LeafRead(Fts5Index *p, i64 iRowid){
Fts5Data *pRet = fts5DataRead(p, iRowid);
if( pRet ){
if( pRet->nn<4 || pRet->szLeaf>pRet->nn ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ROWID(p, iRowid);
fts5DataRelease(pRet);
pRet = 0;
}
@@ -243867,7 +248281,7 @@ static int sqlite3Fts5StructureTest(Fts5Index *p, void *pStruct){
static void fts5StructureMakeWritable(int *pRc, Fts5Structure **pp){
Fts5Structure *p = *pp;
if( *pRc==SQLITE_OK && p->nRef>1 ){
- i64 nByte = sizeof(Fts5Structure)+(p->nLevel-1)*sizeof(Fts5StructureLevel);
+ i64 nByte = SZ_FTS5STRUCTURE(p->nLevel);
Fts5Structure *pNew;
pNew = (Fts5Structure*)sqlite3Fts5MallocZero(pRc, nByte);
if( pNew ){
@@ -243941,10 +248355,7 @@ static int fts5StructureDecode(
){
return FTS5_CORRUPT;
}
- nByte = (
- sizeof(Fts5Structure) + /* Main structure */
- sizeof(Fts5StructureLevel) * (nLevel-1) /* aLevel[] array */
- );
+ nByte = SZ_FTS5STRUCTURE(nLevel);
pRet = (Fts5Structure*)sqlite3Fts5MallocZero(&rc, nByte);
if( pRet ){
@@ -244024,10 +248435,7 @@ static void fts5StructureAddLevel(int *pRc, Fts5Structure **ppStruct){
if( *pRc==SQLITE_OK ){
Fts5Structure *pStruct = *ppStruct;
int nLevel = pStruct->nLevel;
- sqlite3_int64 nByte = (
- sizeof(Fts5Structure) + /* Main structure */
- sizeof(Fts5StructureLevel) * (nLevel+1) /* aLevel[] array */
- );
+ sqlite3_int64 nByte = SZ_FTS5STRUCTURE(nLevel+2);
pStruct = sqlite3_realloc64(pStruct, nByte);
if( pStruct ){
@@ -244084,8 +248492,14 @@ static Fts5Structure *fts5StructureReadUncached(Fts5Index *p){
/* TODO: Do we need this if the leaf-index is appended? Probably... */
memset(&pData->p[pData->nn], 0, FTS5_DATA_PADDING);
p->rc = fts5StructureDecode(pData->p, pData->nn, &iCookie, &pRet);
- if( p->rc==SQLITE_OK && (pConfig->pgsz==0 || pConfig->iCookie!=iCookie) ){
- p->rc = sqlite3Fts5ConfigLoad(pConfig, iCookie);
+ if( p->rc==SQLITE_OK ){
+ if( (pConfig->pgsz==0 || pConfig->iCookie!=iCookie) ){
+ p->rc = sqlite3Fts5ConfigLoad(pConfig, iCookie);
+ }
+ }else if( p->rc==SQLITE_CORRUPT_VTAB ){
+ sqlite3Fts5ConfigErrmsg(p->pConfig,
+ "fts5: corrupt structure record for table \"%s\"", p->pConfig->zName
+ );
}
fts5DataRelease(pData);
if( p->rc!=SQLITE_OK ){
@@ -244566,7 +248980,7 @@ static Fts5DlidxIter *fts5DlidxIterInit(
int bDone = 0;
for(i=0; p->rc==SQLITE_OK && bDone==0; i++){
- sqlite3_int64 nByte = sizeof(Fts5DlidxIter) + i * sizeof(Fts5DlidxLvl);
+ sqlite3_int64 nByte = SZ_FTS5DLIDXITER(i+1);
Fts5DlidxIter *pNew;
pNew = (Fts5DlidxIter*)sqlite3_realloc64(pIter, nByte);
@@ -244708,7 +249122,7 @@ static void fts5SegIterLoadRowid(Fts5Index *p, Fts5SegIter *pIter){
while( iOff>=pIter->pLeaf->szLeaf ){
fts5SegIterNextPage(p, pIter);
if( pIter->pLeaf==0 ){
- if( p->rc==SQLITE_OK ) p->rc = FTS5_CORRUPT;
+ if( p->rc==SQLITE_OK ) FTS5_CORRUPT_ITER(p, pIter);
return;
}
iOff = 4;
@@ -244740,7 +249154,7 @@ static void fts5SegIterLoadTerm(Fts5Index *p, Fts5SegIter *pIter, int nKeep){
iOff += fts5GetVarint32(&a[iOff], nNew);
if( iOff+nNew>pIter->pLeaf->szLeaf || nKeep>pIter->term.n || nNew==0 ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ITER(p, pIter);
return;
}
pIter->term.n = nKeep;
@@ -244782,9 +249196,9 @@ static void fts5SegIterSetNext(Fts5Index *p, Fts5SegIter *pIter){
** leave an error in the Fts5Index object.
*/
static void fts5SegIterAllocTombstone(Fts5Index *p, Fts5SegIter *pIter){
- const int nTomb = pIter->pSeg->nPgTombstone;
+ const i64 nTomb = (i64)pIter->pSeg->nPgTombstone;
if( nTomb>0 ){
- int nByte = nTomb * sizeof(Fts5Data*) + sizeof(Fts5TombstoneArray);
+ i64 nByte = SZ_FTS5TOMBSTONEARRAY(nTomb+1);
Fts5TombstoneArray *pNew;
pNew = (Fts5TombstoneArray*)sqlite3Fts5MallocZero(&p->rc, nByte);
if( pNew ){
@@ -244870,6 +249284,7 @@ static void fts5SegIterReverseInitPage(Fts5Index *p, Fts5SegIter *pIter){
while( 1 ){
u64 iDelta = 0;
+ if( i>=n ) break;
if( eDetail==FTS5_DETAIL_NONE ){
/* todo */
if( i<n && a[i]==0 ){
@@ -244935,7 +249350,7 @@ static void fts5SegIterReverseNewPage(Fts5Index *p, Fts5SegIter *pIter){
iRowidOff = fts5LeafFirstRowidOff(pNew);
if( iRowidOff ){
if( iRowidOff>=pNew->szLeaf ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ITER(p, pIter);
}else{
pIter->pLeaf = pNew;
pIter->iLeafOffset = iRowidOff;
@@ -245169,7 +249584,7 @@ static void fts5SegIterNext(
}
assert_nc( iOff<pLeaf->szLeaf );
if( iOff>pLeaf->szLeaf ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ITER(p, pIter);
return;
}
}
@@ -245277,18 +249692,20 @@ static void fts5SegIterReverse(Fts5Index *p, Fts5SegIter *pIter){
fts5DataRelease(pIter->pLeaf);
pIter->pLeaf = pLast;
pIter->iLeafPgno = pgnoLast;
- iOff = fts5LeafFirstRowidOff(pLast);
- if( iOff>pLast->szLeaf ){
- p->rc = FTS5_CORRUPT;
- return;
- }
- iOff += fts5GetVarint(&pLast->p[iOff], (u64*)&pIter->iRowid);
- pIter->iLeafOffset = iOff;
+ if( p->rc==SQLITE_OK ){
+ iOff = fts5LeafFirstRowidOff(pLast);
+ if( iOff>pLast->szLeaf ){
+ FTS5_CORRUPT_ITER(p, pIter);
+ return;
+ }
+ iOff += fts5GetVarint(&pLast->p[iOff], (u64*)&pIter->iRowid);
+ pIter->iLeafOffset = iOff;
- if( fts5LeafIsTermless(pLast) ){
- pIter->iEndofDoclist = pLast->nn+1;
- }else{
- pIter->iEndofDoclist = fts5LeafFirstTermOff(pLast);
+ if( fts5LeafIsTermless(pLast) ){
+ pIter->iEndofDoclist = pLast->nn+1;
+ }else{
+ pIter->iEndofDoclist = fts5LeafFirstTermOff(pLast);
+ }
}
}
@@ -245358,7 +249775,7 @@ static void fts5LeafSeek(
iPgidx += fts5GetVarint32(&a[iPgidx], iTermOff);
iOff = iTermOff;
if( iOff>n ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ITER(p, pIter);
return;
}
@@ -245401,7 +249818,7 @@ static void fts5LeafSeek(
iOff = iTermOff;
if( iOff>=n ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ITER(p, pIter);
return;
}
@@ -245423,7 +249840,7 @@ static void fts5LeafSeek(
iPgidx = (u32)pIter->pLeaf->szLeaf;
iPgidx += fts5GetVarint32(&pIter->pLeaf->p[iPgidx], iOff);
if( iOff<4 || (i64)iOff>=pIter->pLeaf->szLeaf ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ITER(p, pIter);
return;
}else{
nKeep = 0;
@@ -245438,7 +249855,7 @@ static void fts5LeafSeek(
search_success:
if( (i64)iOff+nNew>n || nNew<1 ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ITER(p, pIter);
return;
}
pIter->iLeafOffset = iOff + nNew;
@@ -245903,7 +250320,7 @@ static void fts5SegIterGotoPage(
assert( iLeafPgno>pIter->iLeafPgno );
if( iLeafPgno>pIter->pSeg->pgnoLast ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_IDX(p);
}else{
fts5DataRelease(pIter->pNextLeaf);
pIter->pNextLeaf = 0;
@@ -245918,7 +250335,7 @@ static void fts5SegIterGotoPage(
u8 *a = pIter->pLeaf->p;
int n = pIter->pLeaf->szLeaf;
if( iOff<4 || iOff>=n ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_IDX(p);
}else{
iOff += fts5GetVarint(&a[iOff], (u64*)&pIter->iRowid);
pIter->iLeafOffset = iOff;
@@ -246245,8 +250662,7 @@ static Fts5Iter *fts5MultiIterAlloc(
for(nSlot=2; nSlot<nSeg; nSlot=nSlot*2);
pNew = fts5IdxMalloc(p,
- sizeof(Fts5Iter) + /* pNew */
- sizeof(Fts5SegIter) * (nSlot-1) + /* pNew->aSeg[] */
+ SZ_FTS5ITER(nSlot) + /* pNew + pNew->aSeg[] */
sizeof(Fts5CResult) * nSlot /* pNew->aFirst[] */
);
if( pNew ){
@@ -246398,7 +250814,7 @@ static void fts5ChunkIterate(
if( nRem<=0 ){
break;
}else if( pSeg->pSeg==0 ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_IDX(p);
return;
}else{
pgno++;
@@ -247501,7 +251917,7 @@ static void fts5TrimSegments(Fts5Index *p, Fts5Iter *pIter){
** a single page has been assigned to more than one segment. In
** this case a prior iteration of this loop may have corrupted the
** segment currently being trimmed. */
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ROWID(p, iLeafRowid);
}else{
fts5BufferZero(&buf);
fts5BufferGrow(&p->rc, &buf, pData->nn);
@@ -247968,7 +252384,7 @@ static void fts5SecureDeleteOverflow(
}else if( bDetailNone ){
break;
}else if( iNext>=pLeaf->szLeaf || pLeaf->nn<pLeaf->szLeaf || iNext<4 ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ROWID(p, iRowid);
break;
}else{
int nShift = iNext - 4;
@@ -247988,7 +252404,7 @@ static void fts5SecureDeleteOverflow(
i1 += fts5GetVarint32(&aPg[i1], iFirst);
if( iFirst<iNext ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ROWID(p, iRowid);
break;
}
aIdx = sqlite3Fts5MallocZero(&p->rc, (pLeaf->nn-pLeaf->szLeaf)+2);
@@ -248047,7 +252463,7 @@ static void fts5DoSecureDelete(
int iDelKeyOff = 0; /* Offset of deleted key, if any */
nIdx = nPg-iPgIdx;
- aIdx = sqlite3Fts5MallocZero(&p->rc, nIdx+16);
+ aIdx = sqlite3Fts5MallocZero(&p->rc, ((i64)nIdx)+16);
if( p->rc ) return;
memcpy(aIdx, &aPg[iPgIdx], nIdx);
@@ -248211,14 +252627,14 @@ static void fts5DoSecureDelete(
nSuffix = (nPrefix2 + nSuffix2) - nPrefix;
if( (iKeyOff+nSuffix)>iPgIdx || (iNextOff+nSuffix2)>iPgIdx ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_IDX(p);
}else{
if( iKey!=1 ){
iOff += sqlite3Fts5PutVarint(&aPg[iOff], nPrefix);
}
iOff += sqlite3Fts5PutVarint(&aPg[iOff], nSuffix);
if( nPrefix2>pSeg->term.n ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_IDX(p);
}else if( nPrefix2>nPrefix ){
memcpy(&aPg[iOff], &pSeg->term.p[nPrefix], nPrefix2-nPrefix);
iOff += (nPrefix2-nPrefix);
@@ -248612,7 +253028,7 @@ static Fts5Structure *fts5IndexOptimizeStruct(
Fts5Structure *pStruct
){
Fts5Structure *pNew = 0;
- sqlite3_int64 nByte = sizeof(Fts5Structure);
+ sqlite3_int64 nByte = SZ_FTS5STRUCTURE(1);
int nSeg = pStruct->nSegment;
int i;
@@ -248641,7 +253057,8 @@ static Fts5Structure *fts5IndexOptimizeStruct(
assert( pStruct->aLevel[i].nMerge<=nThis );
}
- nByte += (pStruct->nLevel+1) * sizeof(Fts5StructureLevel);
+ nByte += (((i64)pStruct->nLevel)+1) * sizeof(Fts5StructureLevel);
+ assert( nByte==(i64)SZ_FTS5STRUCTURE(pStruct->nLevel+2) );
pNew = (Fts5Structure*)sqlite3Fts5MallocZero(&p->rc, nByte);
if( pNew ){
@@ -248724,7 +253141,7 @@ static int sqlite3Fts5IndexMerge(Fts5Index *p, int nMerge){
fts5StructureRelease(pStruct);
pStruct = pNew;
nMin = 1;
- nMerge = nMerge*-1;
+ nMerge = (nMerge==SMALLEST_INT32 ? LARGEST_INT32 : (nMerge*-1));
}
if( pStruct && pStruct->nLevel ){
if( fts5IndexMerge(p, &pStruct, nMerge, nMin) ){
@@ -249010,7 +253427,7 @@ static void fts5MergePrefixLists(
}
if( pHead==0 || pHead->pNext==0 ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_IDX(p);
break;
}
@@ -249047,7 +253464,7 @@ static void fts5MergePrefixLists(
assert_nc( tmp.n+nTail<=nTmp );
assert( tmp.n+nTail<=nTmp+nMerge*10 );
if( tmp.n+nTail>nTmp-FTS5_DATA_ZERO_PADDING ){
- if( p->rc==SQLITE_OK ) p->rc = FTS5_CORRUPT;
+ if( p->rc==SQLITE_OK ) FTS5_CORRUPT_IDX(p);
break;
}
fts5BufferSafeAppendVarint(&out, (tmp.n+nTail) * 2);
@@ -249218,9 +253635,13 @@ struct Fts5TokenDataIter {
int nIterAlloc;
Fts5PoslistReader *aPoslistReader;
int *aPoslistToIter;
- Fts5Iter *apIter[1];
+ Fts5Iter *apIter[FLEXARRAY];
};
+/* Size in bytes of an Fts5TokenDataIter object holding up to N iterators */
+#define SZ_FTS5TOKENDATAITER(N) \
+ (offsetof(Fts5TokenDataIter,apIter) + (N)*sizeof(Fts5Iter))
+
/*
** The two input arrays - a1[] and a2[] - are in sorted order. This function
** merges the two arrays together and writes the result to output array
@@ -249292,7 +253713,7 @@ static void fts5TokendataIterAppendMap(
/*
** Sort the contents of the pT->aMap[] array.
**
-** The sorting algorithm requries a malloc(). If this fails, an error code
+** The sorting algorithm requires a malloc(). If this fails, an error code
** is left in Fts5Index.rc before returning.
*/
static void fts5TokendataIterSortMap(Fts5Index *p, Fts5TokenDataIter *pT){
@@ -249483,7 +253904,7 @@ static void fts5SetupPrefixIter(
&& p->pConfig->bPrefixInsttoken
){
s.pTokendata = &s2;
- s2.pT = (Fts5TokenDataIter*)fts5IdxMalloc(p, sizeof(*s2.pT));
+ s2.pT = (Fts5TokenDataIter*)fts5IdxMalloc(p, SZ_FTS5TOKENDATAITER(1));
}
if( p->pConfig->eDetail==FTS5_DETAIL_NONE ){
@@ -249529,7 +253950,8 @@ static void fts5SetupPrefixIter(
}
}
- pData = fts5IdxMalloc(p, sizeof(*pData)+s.doclist.n+FTS5_DATA_ZERO_PADDING);
+ pData = fts5IdxMalloc(p, sizeof(*pData)
+ + ((i64)s.doclist.n)+FTS5_DATA_ZERO_PADDING);
assert( pData!=0 || p->rc!=SQLITE_OK );
if( pData ){
pData->p = (u8*)&pData[1];
@@ -249610,15 +254032,20 @@ static int sqlite3Fts5IndexRollback(Fts5Index *p){
** and the initial version of the "averages" record (a zero-byte blob).
*/
static int sqlite3Fts5IndexReinit(Fts5Index *p){
- Fts5Structure s;
+ Fts5Structure *pTmp;
+ union {
+ Fts5Structure sFts;
+ u8 tmpSpace[SZ_FTS5STRUCTURE(1)];
+ } uFts;
fts5StructureInvalidate(p);
fts5IndexDiscardData(p);
- memset(&s, 0, sizeof(Fts5Structure));
+ pTmp = &uFts.sFts;
+ memset(uFts.tmpSpace, 0, sizeof(uFts.tmpSpace));
if( p->pConfig->bContentlessDelete ){
- s.nOriginCntr = 1;
+ pTmp->nOriginCntr = 1;
}
fts5DataWrite(p, FTS5_AVERAGES_ROWID, (const u8*)"", 0);
- fts5StructureWrite(p, &s);
+ fts5StructureWrite(p, pTmp);
return fts5IndexReturn(p);
}
@@ -249826,7 +254253,7 @@ static Fts5TokenDataIter *fts5AppendTokendataIter(
if( p->rc==SQLITE_OK ){
if( pIn==0 || pIn->nIter==pIn->nIterAlloc ){
int nAlloc = pIn ? pIn->nIterAlloc*2 : 16;
- int nByte = nAlloc * sizeof(Fts5Iter*) + sizeof(Fts5TokenDataIter);
+ int nByte = SZ_FTS5TOKENDATAITER(nAlloc+1);
Fts5TokenDataIter *pNew = (Fts5TokenDataIter*)sqlite3_realloc(pIn, nByte);
if( pNew==0 ){
@@ -250342,7 +254769,8 @@ static int fts5SetupPrefixIterTokendata(
fts5BufferGrow(&p->rc, &token, nToken+1);
assert( token.p!=0 || p->rc!=SQLITE_OK );
- ctx.pT = (Fts5TokenDataIter*)sqlite3Fts5MallocZero(&p->rc, sizeof(*ctx.pT));
+ ctx.pT = (Fts5TokenDataIter*)sqlite3Fts5MallocZero(&p->rc,
+ SZ_FTS5TOKENDATAITER(1));
if( p->rc==SQLITE_OK ){
@@ -250473,7 +254901,8 @@ static int sqlite3Fts5IndexIterWriteTokendata(
if( pIter->nSeg>0 ){
/* This is a prefix term iterator. */
if( pT==0 ){
- pT = (Fts5TokenDataIter*)sqlite3Fts5MallocZero(&p->rc, sizeof(*pT));
+ pT = (Fts5TokenDataIter*)sqlite3Fts5MallocZero(&p->rc,
+ SZ_FTS5TOKENDATAITER(1));
pIter->pTokenDataIter = pT;
}
if( pT ){
@@ -251071,19 +255500,27 @@ static int fts5TestUtf8(const char *z, int n){
/*
** This function is also purely an internal test. It does not contribute to
** FTS functionality, or even the integrity-check, in any way.
+**
+** This function sets output variable (*pbFail) to true if the test fails. Or
+** leaves it unchanged if the test succeeds.
*/
static void fts5TestTerm(
Fts5Index *p,
Fts5Buffer *pPrev, /* Previous term */
const char *z, int n, /* Possibly new term to test */
u64 expected,
- u64 *pCksum
+ u64 *pCksum,
+ int *pbFail
){
int rc = p->rc;
if( pPrev->n==0 ){
fts5BufferSet(&rc, pPrev, n, (const u8*)z);
}else
- if( rc==SQLITE_OK && (pPrev->n!=n || memcmp(pPrev->p, z, n)) ){
+ if( *pbFail==0
+ && rc==SQLITE_OK
+ && (pPrev->n!=n || memcmp(pPrev->p, z, n))
+ && (p->pHash==0 || p->pHash->nEntry==0)
+ ){
u64 cksum3 = *pCksum;
const char *zTerm = (const char*)&pPrev->p[1]; /* term sans prefix-byte */
int nTerm = pPrev->n-1; /* Size of zTerm in bytes */
@@ -251133,7 +255570,7 @@ static void fts5TestTerm(
fts5BufferSet(&rc, pPrev, n, (const u8*)z);
if( rc==SQLITE_OK && cksum3!=expected ){
- rc = FTS5_CORRUPT;
+ *pbFail = 1;
}
*pCksum = cksum3;
}
@@ -251142,7 +255579,7 @@ static void fts5TestTerm(
#else
# define fts5TestDlidxReverse(x,y,z)
-# define fts5TestTerm(u,v,w,x,y,z)
+# define fts5TestTerm(t,u,v,w,x,y,z)
#endif
/*
@@ -251167,14 +255604,17 @@ static void fts5IndexIntegrityCheckEmpty(
for(i=iFirst; p->rc==SQLITE_OK && i<=iLast; i++){
Fts5Data *pLeaf = fts5DataRead(p, FTS5_SEGMENT_ROWID(pSeg->iSegid, i));
if( pLeaf ){
- if( !fts5LeafIsTermless(pLeaf) ) p->rc = FTS5_CORRUPT;
- if( i>=iNoRowid && 0!=fts5LeafFirstRowidOff(pLeaf) ) p->rc = FTS5_CORRUPT;
+ if( !fts5LeafIsTermless(pLeaf)
+ || (i>=iNoRowid && 0!=fts5LeafFirstRowidOff(pLeaf))
+ ){
+ FTS5_CORRUPT_ROWID(p, FTS5_SEGMENT_ROWID(pSeg->iSegid, i));
+ }
}
fts5DataRelease(pLeaf);
}
}
-static void fts5IntegrityCheckPgidx(Fts5Index *p, Fts5Data *pLeaf){
+static void fts5IntegrityCheckPgidx(Fts5Index *p, i64 iRowid, Fts5Data *pLeaf){
i64 iTermOff = 0;
int ii;
@@ -251192,12 +255632,12 @@ static void fts5IntegrityCheckPgidx(Fts5Index *p, Fts5Data *pLeaf){
iOff = iTermOff;
if( iOff>=pLeaf->szLeaf ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ROWID(p, iRowid);
}else if( iTermOff==nIncr ){
int nByte;
iOff += fts5GetVarint32(&pLeaf->p[iOff], nByte);
if( (iOff+nByte)>pLeaf->szLeaf ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ROWID(p, iRowid);
}else{
fts5BufferSet(&p->rc, &buf1, nByte, &pLeaf->p[iOff]);
}
@@ -251206,7 +255646,7 @@ static void fts5IntegrityCheckPgidx(Fts5Index *p, Fts5Data *pLeaf){
iOff += fts5GetVarint32(&pLeaf->p[iOff], nKeep);
iOff += fts5GetVarint32(&pLeaf->p[iOff], nByte);
if( nKeep>buf1.n || (iOff+nByte)>pLeaf->szLeaf ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ROWID(p, iRowid);
}else{
buf1.n = nKeep;
fts5BufferAppendBlob(&p->rc, &buf1, nByte, &pLeaf->p[iOff]);
@@ -251214,7 +255654,7 @@ static void fts5IntegrityCheckPgidx(Fts5Index *p, Fts5Data *pLeaf){
if( p->rc==SQLITE_OK ){
res = fts5BufferCompare(&buf1, &buf2);
- if( res<=0 ) p->rc = FTS5_CORRUPT;
+ if( res<=0 ) FTS5_CORRUPT_ROWID(p, iRowid);
}
}
fts5BufferSet(&p->rc, &buf2, buf1.n, buf1.p);
@@ -251275,7 +255715,7 @@ static void fts5IndexIntegrityCheckSegment(
** entry even if all the terms are removed from it by secure-delete
** operations. */
}else{
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ROWID(p, iRow);
}
}else{
@@ -251287,15 +255727,15 @@ static void fts5IndexIntegrityCheckSegment(
iOff = fts5LeafFirstTermOff(pLeaf);
iRowidOff = fts5LeafFirstRowidOff(pLeaf);
if( iRowidOff>=iOff || iOff>=pLeaf->szLeaf ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ROWID(p, iRow);
}else{
iOff += fts5GetVarint32(&pLeaf->p[iOff], nTerm);
res = fts5Memcmp(&pLeaf->p[iOff], zIdxTerm, MIN(nTerm, nIdxTerm));
if( res==0 ) res = nTerm - nIdxTerm;
- if( res<0 ) p->rc = FTS5_CORRUPT;
+ if( res<0 ) FTS5_CORRUPT_ROWID(p, iRow);
}
- fts5IntegrityCheckPgidx(p, pLeaf);
+ fts5IntegrityCheckPgidx(p, iRow, pLeaf);
}
fts5DataRelease(pLeaf);
if( p->rc ) break;
@@ -251325,7 +255765,7 @@ static void fts5IndexIntegrityCheckSegment(
iKey = FTS5_SEGMENT_ROWID(iSegid, iPg);
pLeaf = fts5DataRead(p, iKey);
if( pLeaf ){
- if( fts5LeafFirstRowidOff(pLeaf)!=0 ) p->rc = FTS5_CORRUPT;
+ if( fts5LeafFirstRowidOff(pLeaf)!=0 ) FTS5_CORRUPT_ROWID(p, iKey);
fts5DataRelease(pLeaf);
}
}
@@ -251340,12 +255780,12 @@ static void fts5IndexIntegrityCheckSegment(
int iRowidOff = fts5LeafFirstRowidOff(pLeaf);
ASSERT_SZLEAF_OK(pLeaf);
if( iRowidOff>=pLeaf->szLeaf ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ROWID(p, iKey);
}else if( bSecureDelete==0 || iRowidOff>0 ){
i64 iDlRowid = fts5DlidxIterRowid(pDlidx);
fts5GetVarint(&pLeaf->p[iRowidOff], (u64*)&iRowid);
if( iRowid<iDlRowid || (bSecureDelete==0 && iRowid!=iDlRowid) ){
- p->rc = FTS5_CORRUPT;
+ FTS5_CORRUPT_ROWID(p, iKey);
}
}
fts5DataRelease(pLeaf);
@@ -251397,6 +255837,7 @@ static int sqlite3Fts5IndexIntegrityCheck(Fts5Index *p, u64 cksum, int bUseCksum
/* Used by extra internal tests only run if NDEBUG is not defined */
u64 cksum3 = 0; /* Checksum based on contents of indexes */
Fts5Buffer term = {0,0,0}; /* Buffer used to hold most recent term */
+ int bTestFail = 0;
#endif
const int flags = FTS5INDEX_QUERY_NOOUTPUT;
@@ -251439,7 +255880,7 @@ static int sqlite3Fts5IndexIntegrityCheck(Fts5Index *p, u64 cksum, int bUseCksum
char *z = (char*)fts5MultiIterTerm(pIter, &n);
/* If this is a new term, query for it. Update cksum3 with the results. */
- fts5TestTerm(p, &term, z, n, cksum2, &cksum3);
+ fts5TestTerm(p, &term, z, n, cksum2, &cksum3, &bTestFail);
if( p->rc ) break;
if( eDetail==FTS5_DETAIL_NONE ){
@@ -251457,15 +255898,26 @@ static int sqlite3Fts5IndexIntegrityCheck(Fts5Index *p, u64 cksum, int bUseCksum
}
}
}
- fts5TestTerm(p, &term, 0, 0, cksum2, &cksum3);
+ fts5TestTerm(p, &term, 0, 0, cksum2, &cksum3, &bTestFail);
fts5MultiIterFree(pIter);
- if( p->rc==SQLITE_OK && bUseCksum && cksum!=cksum2 ) p->rc = FTS5_CORRUPT;
-
- fts5StructureRelease(pStruct);
+ if( p->rc==SQLITE_OK && bUseCksum && cksum!=cksum2 ){
+ p->rc = FTS5_CORRUPT;
+ sqlite3Fts5ConfigErrmsg(p->pConfig,
+ "fts5: checksum mismatch for table \"%s\"", p->pConfig->zName
+ );
+ }
#ifdef SQLITE_DEBUG
+ /* In SQLITE_DEBUG builds, expensive extra checks were run as part of
+ ** the integrity-check above. If no other errors were detected, but one
+ ** of these tests failed, set the result to SQLITE_CORRUPT_VTAB here. */
+ if( p->rc==SQLITE_OK && bTestFail ){
+ p->rc = FTS5_CORRUPT;
+ }
fts5BufferFree(&term);
#endif
+
+ fts5StructureRelease(pStruct);
fts5BufferFree(&poslist);
return fts5IndexReturn(p);
}
@@ -251507,7 +255959,7 @@ static void fts5DecodeRowid(
#if defined(SQLITE_TEST) || defined(SQLITE_FTS5_DEBUG)
static void fts5DebugRowid(int *pRc, Fts5Buffer *pBuf, i64 iKey){
- int iSegid, iHeight, iPgno, bDlidx, bTomb; /* Rowid compenents */
+ int iSegid, iHeight, iPgno, bDlidx, bTomb; /* Rowid components */
fts5DecodeRowid(iKey, &bTomb, &iSegid, &bDlidx, &iHeight, &iPgno);
if( iSegid==0 ){
@@ -251753,7 +256205,7 @@ static void fts5DecodeFunction(
** buffer overreads even if the record is corrupt. */
n = sqlite3_value_bytes(apVal[1]);
aBlob = sqlite3_value_blob(apVal[1]);
- nSpace = n + FTS5_DATA_ZERO_PADDING;
+ nSpace = ((i64)n) + FTS5_DATA_ZERO_PADDING;
a = (u8*)sqlite3Fts5MallocZero(&rc, nSpace);
if( a==0 ) goto decode_out;
if( n>0 ) memcpy(a, aBlob, n);
@@ -252468,9 +256920,11 @@ struct Fts5Sorter {
i64 iRowid; /* Current rowid */
const u8 *aPoslist; /* Position lists for current row */
int nIdx; /* Number of entries in aIdx[] */
- int aIdx[1]; /* Offsets into aPoslist for current row */
+ int aIdx[FLEXARRAY]; /* Offsets into aPoslist for current row */
};
+/* Size (int bytes) of an Fts5Sorter object with N indexes */
+#define SZ_FTS5SORTER(N) (offsetof(Fts5Sorter,nIdx)+((N+2)/2)*sizeof(i64))
/*
** Virtual-table cursor object.
@@ -252807,6 +257261,17 @@ static void fts5SetUniqueFlag(sqlite3_index_info *pIdxInfo){
#endif
}
+static void fts5SetEstimatedRows(sqlite3_index_info *pIdxInfo, i64 nRow){
+#if SQLITE_VERSION_NUMBER>=3008002
+#ifndef SQLITE_CORE
+ if( sqlite3_libversion_number()>=3008002 )
+#endif
+ {
+ pIdxInfo->estimatedRows = nRow;
+ }
+#endif
+}
+
static int fts5UsePatternMatch(
Fts5Config *pConfig,
struct sqlite3_index_constraint *p
@@ -252942,7 +257407,7 @@ static int fts5BestIndexMethod(sqlite3_vtab *pVTab, sqlite3_index_info *pInfo){
nSeenMatch++;
idxStr[iIdxStr++] = 'M';
sqlite3_snprintf(6, &idxStr[iIdxStr], "%d", iCol);
- idxStr += strlen(&idxStr[iIdxStr]);
+ iIdxStr += (int)strlen(&idxStr[iIdxStr]);
assert( idxStr[iIdxStr]=='\0' );
}
pInfo->aConstraintUsage[i].argvIndex = ++iCons;
@@ -252961,6 +257426,7 @@ static int fts5BestIndexMethod(sqlite3_vtab *pVTab, sqlite3_index_info *pInfo){
idxStr[iIdxStr++] = '=';
bSeenEq = 1;
pInfo->aConstraintUsage[i].argvIndex = ++iCons;
+ pInfo->aConstraintUsage[i].omit = 1;
}
}
}
@@ -253008,17 +257474,21 @@ static int fts5BestIndexMethod(sqlite3_vtab *pVTab, sqlite3_index_info *pInfo){
/* Calculate the estimated cost based on the flags set in idxFlags. */
if( bSeenEq ){
- pInfo->estimatedCost = nSeenMatch ? 1000.0 : 10.0;
- if( nSeenMatch==0 ) fts5SetUniqueFlag(pInfo);
- }else if( bSeenLt && bSeenGt ){
- pInfo->estimatedCost = nSeenMatch ? 5000.0 : 250000.0;
- }else if( bSeenLt || bSeenGt ){
- pInfo->estimatedCost = nSeenMatch ? 7500.0 : 750000.0;
- }else{
- pInfo->estimatedCost = nSeenMatch ? 10000.0 : 1000000.0;
- }
- for(i=1; i<nSeenMatch; i++){
- pInfo->estimatedCost *= 0.4;
+ pInfo->estimatedCost = nSeenMatch ? 1000.0 : 25.0;
+ fts5SetUniqueFlag(pInfo);
+ fts5SetEstimatedRows(pInfo, 1);
+ }else{
+ if( bSeenLt && bSeenGt ){
+ pInfo->estimatedCost = nSeenMatch ? 5000.0 : 750000.0;
+ }else if( bSeenLt || bSeenGt ){
+ pInfo->estimatedCost = nSeenMatch ? 7500.0 : 2250000.0;
+ }else{
+ pInfo->estimatedCost = nSeenMatch ? 10000.0 : 3000000.0;
+ }
+ for(i=1; i<nSeenMatch; i++){
+ pInfo->estimatedCost *= 0.4;
+ }
+ fts5SetEstimatedRows(pInfo, (i64)(pInfo->estimatedCost / 4.0));
}
pInfo->idxNum = idxFlags;
@@ -253217,7 +257687,9 @@ static int fts5CursorReseek(Fts5Cursor *pCsr, int *pbSkip){
int bDesc = pCsr->bDesc;
i64 iRowid = sqlite3Fts5ExprRowid(pCsr->pExpr);
- rc = sqlite3Fts5ExprFirst(pCsr->pExpr, pTab->p.pIndex, iRowid, bDesc);
+ rc = sqlite3Fts5ExprFirst(
+ pCsr->pExpr, pTab->p.pIndex, iRowid, pCsr->iLastRowid, bDesc
+ );
if( rc==SQLITE_OK && iRowid!=sqlite3Fts5ExprRowid(pCsr->pExpr) ){
*pbSkip = 1;
}
@@ -253348,7 +257820,7 @@ static int fts5CursorFirstSorted(
const char *zRankArgs = pCsr->zRankArgs;
nPhrase = sqlite3Fts5ExprPhraseCount(pCsr->pExpr);
- nByte = sizeof(Fts5Sorter) + sizeof(int) * (nPhrase-1);
+ nByte = SZ_FTS5SORTER(nPhrase);
pSorter = (Fts5Sorter*)sqlite3_malloc64(nByte);
if( pSorter==0 ) return SQLITE_NOMEM;
memset(pSorter, 0, (size_t)nByte);
@@ -253389,7 +257861,9 @@ static int fts5CursorFirstSorted(
static int fts5CursorFirst(Fts5FullTable *pTab, Fts5Cursor *pCsr, int bDesc){
int rc;
Fts5Expr *pExpr = pCsr->pExpr;
- rc = sqlite3Fts5ExprFirst(pExpr, pTab->p.pIndex, pCsr->iFirstRowid, bDesc);
+ rc = sqlite3Fts5ExprFirst(
+ pExpr, pTab->p.pIndex, pCsr->iFirstRowid, pCsr->iLastRowid, bDesc
+ );
if( sqlite3Fts5ExprEof(pExpr) ){
CsrFlagSet(pCsr, FTS5CSR_EOF);
}
@@ -255874,7 +260348,7 @@ static void fts5SourceIdFunc(
){
assert( nArg==0 );
UNUSED_PARAM2(nArg, apUnused);
- sqlite3_result_text(pCtx, "fts5: 2025-02-18 13:38:58 873d4e274b4988d260ba8354a9718324a1c26187a4ab4c1cc0227c03d0f10e70", -1, SQLITE_TRANSIENT);
+ sqlite3_result_text(pCtx, "fts5: 2026-01-09 17:27:48 b270f8339eb13b504d0b2ba154ebca966b7dde08e40c3ed7d559749818cb2075", -1, SQLITE_TRANSIENT);
}
/*
@@ -255897,9 +260371,9 @@ static void fts5LocaleFunc(
sqlite3_value **apArg /* Function arguments */
){
const char *zLocale = 0;
- int nLocale = 0;
+ i64 nLocale = 0;
const char *zText = 0;
- int nText = 0;
+ i64 nText = 0;
assert( nArg==2 );
UNUSED_PARAM(nArg);
@@ -255916,10 +260390,10 @@ static void fts5LocaleFunc(
Fts5Global *p = (Fts5Global*)sqlite3_user_data(pCtx);
u8 *pBlob = 0;
u8 *pCsr = 0;
- int nBlob = 0;
+ i64 nBlob = 0;
nBlob = FTS5_LOCALE_HDR_SIZE + nLocale + 1 + nText;
- pBlob = (u8*)sqlite3_malloc(nBlob);
+ pBlob = (u8*)sqlite3_malloc64(nBlob);
if( pBlob==0 ){
sqlite3_result_error_nomem(pCtx);
return;
@@ -255997,8 +260471,9 @@ static int fts5IntegrityMethod(
" FTS5 table %s.%s: %s",
zSchema, zTabname, sqlite3_errstr(rc));
}
+ }else if( (rc&0xff)==SQLITE_CORRUPT ){
+ rc = SQLITE_OK;
}
-
sqlite3Fts5IndexCloseReader(pTab->p.pIndex);
pTab->p.pConfig->pzErrmsg = 0;
@@ -256099,8 +260574,8 @@ static int fts5Init(sqlite3 *db){
** its entry point to enable the matchinfo() demo. */
#ifdef SQLITE_FTS5_ENABLE_TEST_MI
if( rc==SQLITE_OK ){
- extern int sqlite3Fts5TestRegisterMatchinfo(sqlite3*);
- rc = sqlite3Fts5TestRegisterMatchinfo(db);
+ extern int sqlite3Fts5TestRegisterMatchinfoAPI(fts5_api*);
+ rc = sqlite3Fts5TestRegisterMatchinfoAPI(&pGlobal->api);
}
#endif
@@ -256689,6 +261164,7 @@ static int fts5StorageDeleteFromIndex(
for(iCol=1; rc==SQLITE_OK && iCol<=pConfig->nCol; iCol++){
if( pConfig->abUnindexed[iCol-1]==0 ){
sqlite3_value *pVal = 0;
+ sqlite3_value *pFree = 0;
const char *pText = 0;
int nText = 0;
const char *pLoc = 0;
@@ -256705,11 +261181,22 @@ static int fts5StorageDeleteFromIndex(
if( pConfig->bLocale && sqlite3Fts5IsLocaleValue(pConfig, pVal) ){
rc = sqlite3Fts5DecodeLocaleValue(pVal, &pText, &nText, &pLoc, &nLoc);
}else{
- pText = (const char*)sqlite3_value_text(pVal);
- nText = sqlite3_value_bytes(pVal);
- if( pConfig->bLocale && pSeek ){
- pLoc = (const char*)sqlite3_column_text(pSeek, iCol + pConfig->nCol);
- nLoc = sqlite3_column_bytes(pSeek, iCol + pConfig->nCol);
+ if( sqlite3_value_type(pVal)!=SQLITE_TEXT ){
+ /* Make a copy of the value to work with. This is because the call
+ ** to sqlite3_value_text() below forces the type of the value to
+ ** SQLITE_TEXT, and we may need to use it again later. */
+ pFree = pVal = sqlite3_value_dup(pVal);
+ if( pVal==0 ){
+ rc = SQLITE_NOMEM;
+ }
+ }
+ if( rc==SQLITE_OK ){
+ pText = (const char*)sqlite3_value_text(pVal);
+ nText = sqlite3_value_bytes(pVal);
+ if( pConfig->bLocale && pSeek ){
+ pLoc = (const char*)sqlite3_column_text(pSeek, iCol+pConfig->nCol);
+ nLoc = sqlite3_column_bytes(pSeek, iCol + pConfig->nCol);
+ }
}
}
@@ -256725,6 +261212,7 @@ static int fts5StorageDeleteFromIndex(
}
sqlite3Fts5ClearLocale(pConfig);
}
+ sqlite3_value_free(pFree);
}
}
if( rc==SQLITE_OK && p->nTotalRow<1 ){
@@ -259938,7 +264426,6 @@ static void sqlite3Fts5UnicodeAscii(u8 *aArray, u8 *aAscii){
aAscii[0] = 0; /* 0x00 is never a token character */
}
-
/*
** 2015 May 30
**
@@ -260479,12 +264966,12 @@ static int fts5VocabInitVtab(
*pzErr = sqlite3_mprintf("wrong number of vtable arguments");
rc = SQLITE_ERROR;
}else{
- int nByte; /* Bytes of space to allocate */
+ i64 nByte; /* Bytes of space to allocate */
const char *zDb = bDb ? argv[3] : argv[1];
const char *zTab = bDb ? argv[4] : argv[3];
const char *zType = bDb ? argv[5] : argv[4];
- int nDb = (int)strlen(zDb)+1;
- int nTab = (int)strlen(zTab)+1;
+ i64 nDb = strlen(zDb)+1;
+ i64 nTab = strlen(zTab)+1;
int eType = 0;
rc = fts5VocabTableType(zType, pzErr, &eType);
@@ -260682,7 +265169,12 @@ static int fts5VocabOpenMethod(
return rc;
}
+/*
+** Restore cursor pCsr to the state it was in immediately after being
+** created by the xOpen() method.
+*/
static void fts5VocabResetCursor(Fts5VocabCursor *pCsr){
+ int nCol = pCsr->pFts5->pConfig->nCol;
pCsr->rowid = 0;
sqlite3Fts5IterClose(pCsr->pIter);
sqlite3Fts5StructureRelease(pCsr->pStruct);
@@ -260692,6 +265184,12 @@ static void fts5VocabResetCursor(Fts5VocabCursor *pCsr){
pCsr->nLeTerm = -1;
pCsr->zLeTerm = 0;
pCsr->bEof = 0;
+ pCsr->iCol = 0;
+ pCsr->iInstPos = 0;
+ pCsr->iInstOff = 0;
+ pCsr->colUsed = 0;
+ memset(pCsr->aCnt, 0, sizeof(i64)*nCol);
+ memset(pCsr->aDoc, 0, sizeof(i64)*nCol);
}
/*
diff --git a/Sources/c_snikket/src/sys/FileSystem.cpp b/Sources/c_borogove/src/sys/FileSystem.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/FileSystem.cpp
rename to Sources/c_borogove/src/sys/FileSystem.cpp
diff --git a/Sources/c_snikket/src/sys/Http.cpp b/Sources/c_borogove/src/sys/Http.cpp
similarity index 95%
rename from Sources/c_snikket/src/sys/Http.cpp
rename to Sources/c_borogove/src/sys/Http.cpp
index d2b2b9f..a6bed2b 100644
--- a/Sources/c_snikket/src/sys/Http.cpp
+++ b/Sources/c_borogove/src/sys/Http.cpp
@@ -641,23 +641,20 @@ HXLINE( 248) sock->close();
HXLINE( 249) {
HXLINE( 249) null();
}
-HXDLIN( 249) ::Dynamic e = _g6;
-HXDLIN( 249) {
-HXLINE( 250) try {
- HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 251) sock->close();
- } catch( ::Dynamic _hx_e) {
- if (_hx_e.IsClass< ::Dynamic >() ){
- HX_STACK_BEGIN_CATCH
- ::Dynamic _g7 = _hx_e;
- }
- else {
- HX_STACK_DO_THROW(_hx_e);
- }
+HXLINE( 250) try {
+ HX_STACK_CATCHABLE( ::Dynamic, 0);
+HXLINE( 251) sock->close();
+ } catch( ::Dynamic _hx_e) {
+ if (_hx_e.IsClass< ::Dynamic >() ){
+ HX_STACK_BEGIN_CATCH
+ ::Dynamic _g7 = _hx_e;
+ }
+ else {
+ HX_STACK_DO_THROW(_hx_e);
}
-HXLINE( 253) ::Dynamic _hx_tmp4 = this->onError;
-HXDLIN( 253) _hx_tmp4(::Std_obj::string(e));
}
+HXLINE( 253) ::Dynamic _hx_tmp4 = this->onError;
+HXDLIN( 253) _hx_tmp4(::Std_obj::string(_g6));
}
else {
HX_STACK_DO_THROW(_hx_e);
@@ -675,12 +672,11 @@ HXLINE( 276) ::haxe::io::Bytes bytes = body->getBytes();
HXLINE( 277) sock->output->writeFullBytes(bytes,0,bytes->length);
}
HXLINE( 279) if (::hx::IsNotNull( boundary )) {
-HXLINE( 280) int bufsize = 4096;
-HXLINE( 281) ::haxe::io::Bytes buf = ::haxe::io::Bytes_obj::alloc(bufsize);
+HXLINE( 281) ::haxe::io::Bytes buf = ::haxe::io::Bytes_obj::alloc(4096);
HXLINE( 282) while((fileSize > 0)){
HXLINE( 283) int size;
-HXDLIN( 283) if ((fileSize > bufsize)) {
-HXLINE( 283) size = bufsize;
+HXDLIN( 283) if ((fileSize > 4096)) {
+HXLINE( 283) size = 4096;
}
else {
HXLINE( 283) size = fileSize;
@@ -771,15 +767,13 @@ HXLINE( 313) _hx_tmp = true;
HXDLIN( 313) if (_hx_tmp) {
HXLINE( 313) HX_STACK_DO_THROW(::haxe::io::Error_obj::OutsideBounds_dyn());
}
-HXDLIN( 313) ::Array< unsigned char > b1 = b->b;
HXDLIN( 313) ::Array< unsigned char > b2 = s->b;
HXDLIN( 313) {
HXLINE( 313) int _g1 = 0;
HXDLIN( 313) int _g2 = k;
HXDLIN( 313) while((_g1 < _g2)){
HXLINE( 313) _g1 = (_g1 + 1);
-HXDLIN( 313) int i = (_g1 - 1);
-HXDLIN( 313) b->b->push(b2->__get(i));
+HXDLIN( 313) b->b->push(b2->__get((_g1 - 1)));
}
}
}
@@ -962,19 +956,13 @@ HXLINE( 413) this->onStatus(status);
HXLINE( 415) ::EReg chunk_re = ::EReg_obj::__alloc( HX_CTX ,HX_("^([0-9A-Fa-f]+)[ ]*\r\n",df,97,ed,19),HX_("m",6d,00,00,00));
HXLINE( 416) this->chunk_size = null();
HXLINE( 417) this->chunk_buf = null();
-HXLINE( 419) int bufsize = 1024;
-HXLINE( 420) ::haxe::io::Bytes buf = ::haxe::io::Bytes_obj::alloc(bufsize);
+HXLINE( 420) ::haxe::io::Bytes buf = ::haxe::io::Bytes_obj::alloc(1024);
HXLINE( 421) if (chunked) {
HXLINE( 422) try {
HX_STACK_CATCHABLE( ::haxe::io::Eof, 0);
HX_STACK_CATCHABLE( ::haxe::ValueException, 1);
-HXLINE( 423) while(true){
-HXLINE( 424) int len = sock->input->readBytes(buf,0,bufsize);
-HXLINE( 425) if (!(this->readChunk(chunk_re,api,buf,len))) {
-HXLINE( 426) goto _hx_goto_30;
- }
+HXLINE( 423) while(this->readChunk(chunk_re,api,buf,sock->input->readBytes(buf,0,1024))){
}
- _hx_goto_30:;
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::haxe::io::Eof >() ){
HX_STACK_BEGIN_CATCH
@@ -1008,11 +996,11 @@ HXLINE( 434) try {
HX_STACK_CATCHABLE( ::haxe::io::Eof, 0);
HX_STACK_CATCHABLE( ::haxe::ValueException, 1);
HXLINE( 435) while(true){
-HXLINE( 436) int len1 = sock->input->readBytes(buf,0,bufsize);
-HXLINE( 437) if ((len1 == 0)) {
+HXLINE( 436) int len = sock->input->readBytes(buf,0,1024);
+HXLINE( 437) if ((len == 0)) {
HXLINE( 438) goto _hx_goto_31;
}
-HXLINE( 439) api->writeBytes(buf,0,len1);
+HXLINE( 439) api->writeBytes(buf,0,len);
}
_hx_goto_31:;
} catch( ::Dynamic _hx_e) {
@@ -1041,16 +1029,16 @@ HXLINE( 444) try {
HX_STACK_CATCHABLE( ::haxe::io::Eof, 0);
HX_STACK_CATCHABLE( ::haxe::ValueException, 1);
HXLINE( 445) while(::hx::IsGreater( size,0 )){
-HXLINE( 446) int len2;
-HXDLIN( 446) if (::hx::IsGreater( size,bufsize )) {
-HXLINE( 446) len2 = bufsize;
+HXLINE( 446) int len1;
+HXDLIN( 446) if (::hx::IsGreater( size,1024 )) {
+HXLINE( 446) len1 = 1024;
}
else {
-HXLINE( 446) len2 = ( (int)(size) );
+HXLINE( 446) len1 = ( (int)(size) );
}
-HXDLIN( 446) int len3 = sock->input->readBytes(buf,0,len2);
-HXLINE( 447) api->writeBytes(buf,0,len3);
-HXLINE( 448) size = (size - len3);
+HXDLIN( 446) int len2 = sock->input->readBytes(buf,0,len1);
+HXLINE( 447) api->writeBytes(buf,0,len2);
+HXLINE( 448) size = (size - len2);
}
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::haxe::io::Eof >() ){
@@ -1115,15 +1103,13 @@ HXLINE( 463) if (::hx::IsNotNull( this->chunk_buf )) {
HXLINE( 464) ::haxe::io::BytesBuffer b = ::haxe::io::BytesBuffer_obj::__alloc( HX_CTX );
HXLINE( 465) {
HXLINE( 465) ::haxe::io::Bytes src = this->chunk_buf;
-HXDLIN( 465) ::Array< unsigned char > b1 = b->b;
HXDLIN( 465) ::Array< unsigned char > b2 = src->b;
HXDLIN( 465) {
HXLINE( 465) int _g = 0;
HXDLIN( 465) int _g1 = src->length;
HXDLIN( 465) while((_g < _g1)){
HXLINE( 465) _g = (_g + 1);
-HXDLIN( 465) int i = (_g - 1);
-HXDLIN( 465) b->b->push(b2->__get(i));
+HXDLIN( 465) b->b->push(b2->__get((_g - 1)));
}
}
}
@@ -1138,15 +1124,13 @@ HXLINE( 466) _hx_tmp = true;
HXDLIN( 466) if (_hx_tmp) {
HXLINE( 466) HX_STACK_DO_THROW(::haxe::io::Error_obj::OutsideBounds_dyn());
}
-HXDLIN( 466) ::Array< unsigned char > b11 = b->b;
HXDLIN( 466) ::Array< unsigned char > b21 = buf->b;
HXDLIN( 466) {
HXLINE( 466) int _g2 = 0;
HXDLIN( 466) int _g3 = len;
HXDLIN( 466) while((_g2 < _g3)){
HXLINE( 466) _g2 = (_g2 + 1);
-HXDLIN( 466) int i1 = (_g2 - 1);
-HXDLIN( 466) b->b->push(b21->__get(i1));
+HXDLIN( 466) b->b->push(b21->__get((_g2 - 1)));
}
}
}
@@ -1157,8 +1141,7 @@ HXLINE( 469) this->chunk_buf = null();
HXLINE( 474) if (chunk_re->match(buf->toString())) {
HXLINE( 476) ::Dynamic p = chunk_re->matchedPos();
HXLINE( 477) if (::hx::IsLessEq( p->__Field(HX_("len",d5,4b,52,00),::hx::paccDynamic),len )) {
-HXLINE( 478) ::String cstr = chunk_re->matched(1);
-HXLINE( 479) this->chunk_size = ::Std_obj::parseInt((HX_("0x",48,2a,00,00) + cstr));
+HXLINE( 479) this->chunk_size = ::Std_obj::parseInt((HX_("0x",48,2a,00,00) + chunk_re->matched(1)));
HXLINE( 480) if (::hx::IsEq( this->chunk_size,0 )) {
HXLINE( 481) this->chunk_size = null();
HXLINE( 482) this->chunk_buf = null();
@@ -1176,8 +1159,7 @@ HXLINE( 494) this->chunk_buf = buf->sub(0,len);
HXLINE( 495) return true;
}
HXLINE( 498) if (::hx::IsGreater( this->chunk_size,len )) {
-HXLINE( 499) ::sys::Http _hx_tmp1 = ::hx::ObjectPtr<OBJ_>(this);
-HXDLIN( 499) _hx_tmp1->chunk_size = (_hx_tmp1->chunk_size - len);
+HXLINE( 499) this->chunk_size = (this->chunk_size - len);
HXLINE( 500) api->writeBytes(buf,0,len);
HXLINE( 501) return true;
}
@@ -1196,8 +1178,7 @@ HXLINE( 511) return this->readChunk(chunk_re,api,buf->sub(end,len),len);
HXLINE( 513) if (::hx::IsGreater( this->chunk_size,0 )) {
HXLINE( 514) api->writeBytes(buf,0,( (int)(this->chunk_size) ));
}
-HXLINE( 515) ::sys::Http _hx_tmp2 = ::hx::ObjectPtr<OBJ_>(this);
-HXDLIN( 515) _hx_tmp2->chunk_size = (_hx_tmp2->chunk_size - len);
+HXLINE( 515) this->chunk_size = (this->chunk_size - len);
HXLINE( 516) return true;
}
diff --git a/Sources/c_snikket/src/sys/db/Connection.cpp b/Sources/c_borogove/src/sys/db/Connection.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/db/Connection.cpp
rename to Sources/c_borogove/src/sys/db/Connection.cpp
diff --git a/Sources/c_snikket/src/sys/db/ResultSet.cpp b/Sources/c_borogove/src/sys/db/ResultSet.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/db/ResultSet.cpp
rename to Sources/c_borogove/src/sys/db/ResultSet.cpp
diff --git a/Sources/c_snikket/src/sys/db/Sqlite.cpp b/Sources/c_borogove/src/sys/db/Sqlite.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/db/Sqlite.cpp
rename to Sources/c_borogove/src/sys/db/Sqlite.cpp
diff --git a/Sources/c_snikket/src/sys/db/_Sqlite/SqliteConnection.cpp b/Sources/c_borogove/src/sys/db/_Sqlite/SqliteConnection.cpp
similarity index 98%
rename from Sources/c_snikket/src/sys/db/_Sqlite/SqliteConnection.cpp
rename to Sources/c_borogove/src/sys/db/_Sqlite/SqliteConnection.cpp
index ea40b38..53fa034 100644
--- a/Sources/c_snikket/src/sys/db/_Sqlite/SqliteConnection.cpp
+++ b/Sources/c_borogove/src/sys/db/_Sqlite/SqliteConnection.cpp
@@ -114,8 +114,7 @@ HXLINE( 51) int _g = 0;
HXDLIN( 51) int _g1 = s.length;
HXDLIN( 51) while((_g < _g1)){
HXLINE( 51) _g = (_g + 1);
-HXDLIN( 51) int i = (_g - 1);
-HXLINE( 52) hexChars->push(::StringTools_obj::hex(s.cca(i),2));
+HXLINE( 52) hexChars->push(::StringTools_obj::hex(s.cca((_g - 1)),2));
}
}
HXLINE( 53) return ((HX_("x'",af,68,00,00) + hexChars->join(HX_("",00,00,00,00))) + HX_("'",27,00,00,00));
diff --git a/Sources/c_snikket/src/sys/db/_Sqlite/SqliteResultSet.cpp b/Sources/c_borogove/src/sys/db/_Sqlite/SqliteResultSet.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/db/_Sqlite/SqliteResultSet.cpp
rename to Sources/c_borogove/src/sys/db/_Sqlite/SqliteResultSet.cpp
diff --git a/Sources/c_snikket/src/sys/io/File.cpp b/Sources/c_borogove/src/sys/io/File.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/io/File.cpp
rename to Sources/c_borogove/src/sys/io/File.cpp
diff --git a/Sources/c_snikket/src/sys/io/FileInput.cpp b/Sources/c_borogove/src/sys/io/FileInput.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/io/FileInput.cpp
rename to Sources/c_borogove/src/sys/io/FileInput.cpp
diff --git a/Sources/c_snikket/src/sys/io/FileOutput.cpp b/Sources/c_borogove/src/sys/io/FileOutput.cpp
similarity index 98%
rename from Sources/c_snikket/src/sys/io/FileOutput.cpp
rename to Sources/c_borogove/src/sys/io/FileOutput.cpp
index ebaeacc..a5b2173 100644
--- a/Sources/c_snikket/src/sys/io/FileOutput.cpp
+++ b/Sources/c_borogove/src/sys/io/FileOutput.cpp
@@ -57,8 +57,7 @@ HXLINE( 38) _hx_std_file_write_char(this->_hx___f,c);
HXLINE( 39) {
HXLINE( 39) null();
}
-HXDLIN( 39) ::Dynamic e = _g;
-HXLINE( 40) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(e));
+HXLINE( 40) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(_g));
}
else {
HX_STACK_DO_THROW(_hx_e);
@@ -79,8 +78,7 @@ HXDLIN( 44) return _hx_std_file_write(this->_hx___f,s->b,p,l);
HXDLIN( 44) {
HXDLIN( 44) null();
}
-HXDLIN( 44) ::Dynamic e = _g;
-HXDLIN( 44) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(e));
+HXDLIN( 44) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(_g));
}
else {
HX_STACK_DO_THROW(_hx_e);
diff --git a/Sources/c_snikket/src/sys/io/Process.cpp b/Sources/c_borogove/src/sys/io/Process.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/io/Process.cpp
rename to Sources/c_borogove/src/sys/io/Process.cpp
diff --git a/Sources/c_snikket/src/sys/io/_Process/Stdin.cpp b/Sources/c_borogove/src/sys/io/_Process/Stdin.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/io/_Process/Stdin.cpp
rename to Sources/c_borogove/src/sys/io/_Process/Stdin.cpp
diff --git a/Sources/c_snikket/src/sys/io/_Process/Stdout.cpp b/Sources/c_borogove/src/sys/io/_Process/Stdout.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/io/_Process/Stdout.cpp
rename to Sources/c_borogove/src/sys/io/_Process/Stdout.cpp
diff --git a/Sources/c_snikket/src/sys/net/Host.cpp b/Sources/c_borogove/src/sys/net/Host.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/net/Host.cpp
rename to Sources/c_borogove/src/sys/net/Host.cpp
diff --git a/Sources/c_snikket/src/sys/net/Socket.cpp b/Sources/c_borogove/src/sys/net/Socket.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/net/Socket.cpp
rename to Sources/c_borogove/src/sys/net/Socket.cpp
diff --git a/Sources/c_snikket/src/sys/net/_Socket/SocketInput.cpp b/Sources/c_borogove/src/sys/net/_Socket/SocketInput.cpp
similarity index 97%
rename from Sources/c_snikket/src/sys/net/_Socket/SocketInput.cpp
rename to Sources/c_borogove/src/sys/net/_Socket/SocketInput.cpp
index c41665b..8de7af7 100644
--- a/Sources/c_snikket/src/sys/net/_Socket/SocketInput.cpp
+++ b/Sources/c_borogove/src/sys/net/_Socket/SocketInput.cpp
@@ -61,13 +61,12 @@ HXLINE( 39) return _hx_std_socket_recv_char(this->__s);
HXLINE( 40) {
HXLINE( 40) null();
}
-HXDLIN( 40) ::Dynamic e = _g;
-HXLINE( 41) if (::hx::IsEq( e,HX_("Blocking",d5,e1,61,f3) )) {
+HXLINE( 41) if (::hx::IsEq( _g,HX_("Blocking",d5,e1,61,f3) )) {
HXLINE( 42) HX_STACK_DO_THROW(::haxe::io::Error_obj::Blocked_dyn());
}
else {
HXLINE( 43) if (::hx::IsNull( this->__s )) {
-HXLINE( 44) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(e));
+HXLINE( 44) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(_g));
}
else {
HXLINE( 46) HX_STACK_DO_THROW( ::haxe::io::Eof_obj::__alloc( HX_CTX ));
@@ -98,12 +97,11 @@ HXLINE( 55) r = _hx_std_socket_recv(this->__s,buf->b,pos,len);
HXLINE( 56) {
HXLINE( 56) null();
}
-HXDLIN( 56) ::Dynamic e = _g;
-HXLINE( 57) if (::hx::IsEq( e,HX_("Blocking",d5,e1,61,f3) )) {
+HXLINE( 57) if (::hx::IsEq( _g,HX_("Blocking",d5,e1,61,f3) )) {
HXLINE( 58) HX_STACK_DO_THROW(::haxe::io::Error_obj::Blocked_dyn());
}
else {
-HXLINE( 60) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(e));
+HXLINE( 60) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(_g));
}
}
else {
diff --git a/Sources/c_snikket/src/sys/net/_Socket/SocketOutput.cpp b/Sources/c_borogove/src/sys/net/_Socket/SocketOutput.cpp
similarity index 96%
rename from Sources/c_snikket/src/sys/net/_Socket/SocketOutput.cpp
rename to Sources/c_borogove/src/sys/net/_Socket/SocketOutput.cpp
index e7defe8..60e2176 100644
--- a/Sources/c_snikket/src/sys/net/_Socket/SocketOutput.cpp
+++ b/Sources/c_borogove/src/sys/net/_Socket/SocketOutput.cpp
@@ -64,12 +64,11 @@ HXLINE( 85) _hx_std_socket_send_char(this->__s,c);
HXLINE( 86) {
HXLINE( 86) null();
}
-HXDLIN( 86) ::Dynamic e = _g;
-HXLINE( 87) if (::hx::IsEq( e,HX_("Blocking",d5,e1,61,f3) )) {
+HXLINE( 87) if (::hx::IsEq( _g,HX_("Blocking",d5,e1,61,f3) )) {
HXLINE( 88) HX_STACK_DO_THROW(::haxe::io::Error_obj::Blocked_dyn());
}
else {
-HXLINE( 90) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(e));
+HXLINE( 90) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(_g));
}
}
else {
@@ -91,16 +90,15 @@ HXLINE( 96) return _hx_std_socket_send(this->__s,buf->b,pos,len);
HXLINE( 97) {
HXLINE( 97) null();
}
-HXDLIN( 97) ::Dynamic e = _g;
-HXLINE( 98) if (::hx::IsEq( e,HX_("Blocking",d5,e1,61,f3) )) {
+HXLINE( 98) if (::hx::IsEq( _g,HX_("Blocking",d5,e1,61,f3) )) {
HXLINE( 99) HX_STACK_DO_THROW(::haxe::io::Error_obj::Blocked_dyn());
}
else {
-HXLINE( 100) if (::hx::IsEq( e,HX_("EOF",9c,a0,34,00) )) {
+HXLINE( 100) if (::hx::IsEq( _g,HX_("EOF",9c,a0,34,00) )) {
HXLINE( 101) HX_STACK_DO_THROW( ::haxe::io::Eof_obj::__alloc( HX_CTX ));
}
else {
-HXLINE( 103) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(e));
+HXLINE( 103) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(_g));
}
}
}
diff --git a/Sources/c_snikket/src/sys/ssl/Certificate.cpp b/Sources/c_borogove/src/sys/ssl/Certificate.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/ssl/Certificate.cpp
rename to Sources/c_borogove/src/sys/ssl/Certificate.cpp
diff --git a/Sources/c_snikket/src/sys/ssl/Key.cpp b/Sources/c_borogove/src/sys/ssl/Key.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/ssl/Key.cpp
rename to Sources/c_borogove/src/sys/ssl/Key.cpp
diff --git a/Sources/c_snikket/src/sys/ssl/Socket.cpp b/Sources/c_borogove/src/sys/ssl/Socket.cpp
similarity index 99%
rename from Sources/c_snikket/src/sys/ssl/Socket.cpp
rename to Sources/c_borogove/src/sys/ssl/Socket.cpp
index 33ee9d4..26ee5a7 100644
--- a/Sources/c_snikket/src/sys/ssl/Socket.cpp
+++ b/Sources/c_borogove/src/sys/ssl/Socket.cpp
@@ -174,8 +174,7 @@ HXDLIN( 152) HX_STACK_DO_THROW(_g);
HXLINE( 168) {
HXLINE( 168) null();
}
-HXDLIN( 168) ::Dynamic e = _g1;
-HXLINE( 169) HX_STACK_DO_RETHROW(e);
+HXLINE( 169) HX_STACK_DO_RETHROW(_g1);
}
else {
HX_STACK_DO_THROW(_hx_e);
@@ -198,12 +197,11 @@ HXLINE( 177) this->handshakeDone = true;
HXLINE( 178) {
HXLINE( 178) null();
}
-HXDLIN( 178) ::Dynamic e = _g;
-HXLINE( 179) if (::hx::IsEq( e,HX_("Blocking",d5,e1,61,f3) )) {
+HXLINE( 179) if (::hx::IsEq( _g,HX_("Blocking",d5,e1,61,f3) )) {
HXLINE( 180) HX_STACK_DO_THROW(::haxe::io::Error_obj::Blocked_dyn());
}
else {
-HXLINE( 182) HX_STACK_DO_RETHROW(e);
+HXLINE( 182) HX_STACK_DO_RETHROW(_g);
}
}
else {
diff --git a/Sources/c_snikket/src/sys/ssl/_Socket/SocketInput.cpp b/Sources/c_borogove/src/sys/ssl/_Socket/SocketInput.cpp
similarity index 97%
rename from Sources/c_snikket/src/sys/ssl/_Socket/SocketInput.cpp
rename to Sources/c_borogove/src/sys/ssl/_Socket/SocketInput.cpp
index abedf2e..c71d835 100644
--- a/Sources/c_snikket/src/sys/ssl/_Socket/SocketInput.cpp
+++ b/Sources/c_borogove/src/sys/ssl/_Socket/SocketInput.cpp
@@ -68,13 +68,12 @@ HXLINE( 42) return _hx_ssl_recv_char(this->__s->ssl);
HXLINE( 43) {
HXLINE( 43) null();
}
-HXDLIN( 43) ::Dynamic e = _g;
-HXLINE( 44) if (::hx::IsEq( e,HX_("Blocking",d5,e1,61,f3) )) {
+HXLINE( 44) if (::hx::IsEq( _g,HX_("Blocking",d5,e1,61,f3) )) {
HXLINE( 45) HX_STACK_DO_THROW(::haxe::io::Error_obj::Blocked_dyn());
}
else {
HXLINE( 46) if (::hx::IsNull( this->__s )) {
-HXLINE( 47) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(e));
+HXLINE( 47) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(_g));
}
else {
HXLINE( 49) HX_STACK_DO_THROW( ::haxe::io::Eof_obj::__alloc( HX_CTX ));
@@ -106,12 +105,11 @@ HXLINE( 59) r = _hx_ssl_recv(this->__s->ssl,buf->b,pos,len);
HXLINE( 60) {
HXLINE( 60) null();
}
-HXDLIN( 60) ::Dynamic e = _g;
-HXLINE( 61) if (::hx::IsEq( e,HX_("Blocking",d5,e1,61,f3) )) {
+HXLINE( 61) if (::hx::IsEq( _g,HX_("Blocking",d5,e1,61,f3) )) {
HXLINE( 62) HX_STACK_DO_THROW(::haxe::io::Error_obj::Blocked_dyn());
}
else {
-HXLINE( 64) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(e));
+HXLINE( 64) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(_g));
}
}
else {
diff --git a/Sources/c_snikket/src/sys/ssl/_Socket/SocketOutput.cpp b/Sources/c_borogove/src/sys/ssl/_Socket/SocketOutput.cpp
similarity index 97%
rename from Sources/c_snikket/src/sys/ssl/_Socket/SocketOutput.cpp
rename to Sources/c_borogove/src/sys/ssl/_Socket/SocketOutput.cpp
index 768875b..7ab7560 100644
--- a/Sources/c_snikket/src/sys/ssl/_Socket/SocketOutput.cpp
+++ b/Sources/c_borogove/src/sys/ssl/_Socket/SocketOutput.cpp
@@ -68,12 +68,11 @@ HXLINE( 90) _hx_ssl_send_char(this->__s->ssl,c);
HXLINE( 91) {
HXLINE( 91) null();
}
-HXDLIN( 91) ::Dynamic e = _g;
-HXLINE( 92) if (::hx::IsEq( e,HX_("Blocking",d5,e1,61,f3) )) {
+HXLINE( 92) if (::hx::IsEq( _g,HX_("Blocking",d5,e1,61,f3) )) {
HXLINE( 93) HX_STACK_DO_THROW(::haxe::io::Error_obj::Blocked_dyn());
}
else {
-HXLINE( 95) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(e));
+HXLINE( 95) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(_g));
}
}
else {
@@ -96,12 +95,11 @@ HXLINE( 102) return _hx_ssl_send(this->__s->ssl,buf->b,pos,len);
HXLINE( 103) {
HXLINE( 103) null();
}
-HXDLIN( 103) ::Dynamic e = _g;
-HXLINE( 104) if (::hx::IsEq( e,HX_("Blocking",d5,e1,61,f3) )) {
+HXLINE( 104) if (::hx::IsEq( _g,HX_("Blocking",d5,e1,61,f3) )) {
HXLINE( 105) HX_STACK_DO_THROW(::haxe::io::Error_obj::Blocked_dyn());
}
else {
-HXLINE( 107) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(e));
+HXLINE( 107) HX_STACK_DO_THROW(::haxe::io::Error_obj::Custom(_g));
}
}
else {
diff --git a/Sources/c_snikket/src/sys/thread/Deque.cpp b/Sources/c_borogove/src/sys/thread/Deque.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/thread/Deque.cpp
rename to Sources/c_borogove/src/sys/thread/Deque.cpp
diff --git a/Sources/c_snikket/src/sys/thread/ElasticThreadPool.cpp b/Sources/c_borogove/src/sys/thread/ElasticThreadPool.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/thread/ElasticThreadPool.cpp
rename to Sources/c_borogove/src/sys/thread/ElasticThreadPool.cpp
diff --git a/Sources/c_snikket/src/sys/thread/EventLoop.cpp b/Sources/c_borogove/src/sys/thread/EventLoop.cpp
similarity index 88%
rename from Sources/c_snikket/src/sys/thread/EventLoop.cpp
rename to Sources/c_borogove/src/sys/thread/EventLoop.cpp
index a506125..d71e5b5 100644
--- a/Sources/c_snikket/src/sys/thread/EventLoop.cpp
+++ b/Sources/c_borogove/src/sys/thread/EventLoop.cpp
@@ -122,15 +122,13 @@ HXLINE( 91) this->regularEvents = event->next;
HXLINE( 93) {
HXLINE( 93) ::sys::thread::_EventLoop::RegularEvent _g = event->next;
HXLINE( 94) if (::hx::IsNotNull( _g )) {
-HXLINE( 95) ::sys::thread::_EventLoop::RegularEvent e = _g;
-HXDLIN( 95) e->previous = event->previous;
+HXLINE( 95) _g->previous = event->previous;
}
}
HXLINE( 97) {
HXLINE( 97) ::sys::thread::_EventLoop::RegularEvent _g1 = event->previous;
HXLINE( 98) if (::hx::IsNotNull( _g1 )) {
-HXLINE( 99) ::sys::thread::_EventLoop::RegularEvent e1 = _g1;
-HXDLIN( 99) e1->next = event->next;
+HXLINE( 99) _g1->next = event->next;
}
}
HXLINE( 101) event->next = (event->previous = null());
@@ -165,7 +163,6 @@ HXLINE( 180) ::Array< ::Dynamic> recycleRegular = ::Array_obj< ::Dynamic>::__ne
HXLINE( 181) ::Array< ::Dynamic> recycleOneTimers = ::Array_obj< ::Dynamic>::__new(0);
HXLINE( 182) while(true){
HXLINE( 183) Float now = ::Sys_obj::time();
-HXDLIN( 183) ::Array< ::Dynamic> regularsToRun = recycleRegular;
HXDLIN( 183) int eventsToRunIdx = 0;
HXDLIN( 183) Float nextEventAt = ( (Float)(-1) );
HXDLIN( 183) this->mutex->acquire();
@@ -175,7 +172,7 @@ HXLINE( 183) ::sys::thread::_EventLoop::RegularEvent current = this->regularE
HXDLIN( 183) while(::hx::IsNotNull( current )){
HXLINE( 183) if ((current->nextRunTime <= now)) {
HXLINE( 183) eventsToRunIdx = (eventsToRunIdx + 1);
-HXDLIN( 183) regularsToRun[(eventsToRunIdx - 1)] = current;
+HXDLIN( 183) recycleRegular[(eventsToRunIdx - 1)] = current;
HXDLIN( 183) ::sys::thread::_EventLoop::RegularEvent current1 = current;
HXDLIN( 183) current1->nextRunTime = (current1->nextRunTime + current->interval);
HXLINE( 220) nextEventAt = ( (Float)(-2) );
@@ -200,29 +197,25 @@ HXDLIN( 183) int _g1 = eventsToRunIdx;
HXDLIN( 183) while((_g < _g1)){
HXLINE( 183) _g = (_g + 1);
HXDLIN( 183) int i = (_g - 1);
-HXDLIN( 183) if (!(regularsToRun->__get(i).StaticCast< ::sys::thread::_EventLoop::RegularEvent >()->cancelled)) {
-HXLINE( 183) regularsToRun->__get(i).StaticCast< ::sys::thread::_EventLoop::RegularEvent >()->run();
+HXDLIN( 183) if (!(recycleRegular->__get(i).StaticCast< ::sys::thread::_EventLoop::RegularEvent >()->cancelled)) {
+HXLINE( 183) recycleRegular->__get(i).StaticCast< ::sys::thread::_EventLoop::RegularEvent >()->run();
}
-HXDLIN( 183) regularsToRun[i] = null();
+HXDLIN( 183) recycleRegular[i] = null();
}
HXLINE( 234) eventsToRunIdx = 0;
-HXLINE( 183) ::Array< ::Dynamic> oneTimersToRun = recycleOneTimers;
-HXDLIN( 183) this->mutex->acquire();
+HXLINE( 183) this->mutex->acquire();
+HXDLIN( 183) ::Array< ::Dynamic> _this = this->oneTimeEvents;
HXDLIN( 183) int _g_current = 0;
-HXDLIN( 183) ::Array< ::Dynamic> _g_array = this->oneTimeEvents;
-HXDLIN( 183) while((_g_current < _g_array->length)){
-HXLINE( 183) ::Dynamic _g_value = _g_array->__get(_g_current);
+HXDLIN( 183) while((_g_current < _this->length)){
+HXLINE( 183) ::Dynamic _g_value = _this->__get(_g_current);
HXDLIN( 183) _g_current = (_g_current + 1);
-HXDLIN( 183) int _g_key = (_g_current - 1);
-HXDLIN( 183) int i1 = _g_key;
-HXDLIN( 183) ::Dynamic event = _g_value;
-HXDLIN( 183) if (::hx::IsNull( event )) {
+HXDLIN( 183) if (::hx::IsNull( _g_value )) {
HXLINE( 183) goto _hx_goto_10;
}
else {
HXLINE( 183) eventsToRunIdx = (eventsToRunIdx + 1);
-HXDLIN( 183) oneTimersToRun[(eventsToRunIdx - 1)] = event;
-HXDLIN( 183) this->oneTimeEvents[i1] = null();
+HXDLIN( 183) recycleOneTimers[(eventsToRunIdx - 1)] = _g_value;
+HXDLIN( 183) this->oneTimeEvents[(_g_current - 1)] = null();
}
}
_hx_goto_10:;
@@ -233,9 +226,9 @@ HXDLIN( 183) int _g2 = 0;
HXDLIN( 183) int _g3 = eventsToRunIdx;
HXDLIN( 183) while((_g2 < _g3)){
HXLINE( 183) _g2 = (_g2 + 1);
-HXDLIN( 183) int i2 = (_g2 - 1);
-HXDLIN( 183) oneTimersToRun->__get(i2)();
-HXDLIN( 183) oneTimersToRun[i2] = null();
+HXDLIN( 183) int i1 = (_g2 - 1);
+HXDLIN( 183) recycleOneTimers->__get(i1)();
+HXDLIN( 183) recycleOneTimers[i1] = null();
}
HXDLIN( 183) if (this->isMainThread) {
HXLINE( 183) Float next = ::haxe::MainLoop_obj::tick();
@@ -250,32 +243,24 @@ HXLINE( 183) if ((eventsToRunIdx > 0)) {
HXLINE( 270) nextEventAt = ( (Float)(-2) );
}
HXLINE( 183) Float r_nextEventAt = nextEventAt;
-HXDLIN( 183) bool r_anyTime = hasPromisedEvents;
-HXLINE( 184) {
-HXLINE( 184) bool _g4 = r_anyTime;
-HXDLIN( 184) Float _g5 = r_nextEventAt;
-HXDLIN( 184) Float _hx_switch_0 = _g5;
- if ( (_hx_switch_0==( (Float)(-2) )) ){
-HXLINE( 185) goto _hx_goto_12;
- }
- if ( (_hx_switch_0==( (Float)(-1) )) ){
-HXLINE( 184) if (_g4) {
-HXLINE( 189) this->waitLock->wait(null());
- }
- else {
-HXLINE( 187) goto _hx_goto_6;
- }
-HXLINE( 184) goto _hx_goto_12;
+HXLINE( 184) Float _hx_switch_0 = r_nextEventAt;
+ if ( (_hx_switch_0==( (Float)(-2) )) ){
+HXLINE( 185) goto _hx_goto_12;
+ }
+ if ( (_hx_switch_0==( (Float)(-1) )) ){
+HXLINE( 184) if (hasPromisedEvents) {
+HXLINE( 189) this->waitLock->wait(null());
}
- /* default */{
-HXLINE( 190) Float time = _g5;
-HXDLIN( 190) {
-HXLINE( 191) Float timeout = (time - ::Sys_obj::time());
-HXLINE( 192) this->waitLock->wait(::Math_obj::max(( (Float)(0) ),timeout));
- }
+ else {
+HXLINE( 187) goto _hx_goto_6;
}
- _hx_goto_12:;
+HXLINE( 184) goto _hx_goto_12;
+ }
+ /* default */{
+HXLINE( 191) Float timeout = (r_nextEventAt - ::Sys_obj::time());
+HXLINE( 192) this->waitLock->wait(::Math_obj::max(( (Float)(0) ),timeout));
}
+ _hx_goto_12:;
}
_hx_goto_6:;
}
diff --git a/Sources/c_snikket/src/sys/thread/FixedThreadPool.cpp b/Sources/c_borogove/src/sys/thread/FixedThreadPool.cpp
similarity index 98%
rename from Sources/c_snikket/src/sys/thread/FixedThreadPool.cpp
rename to Sources/c_borogove/src/sys/thread/FixedThreadPool.cpp
index 2455b78..86b7626 100644
--- a/Sources/c_snikket/src/sys/thread/FixedThreadPool.cpp
+++ b/Sources/c_borogove/src/sys/thread/FixedThreadPool.cpp
@@ -36,10 +36,8 @@ HXLINE( 56) this->threadsCount = threadsCount;
HXLINE( 57) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 57) {
HXLINE( 57) int _g1 = 0;
-HXDLIN( 57) int _g2 = threadsCount;
-HXDLIN( 57) while((_g1 < _g2)){
+HXDLIN( 57) while((_g1 < threadsCount)){
HXLINE( 57) _g1 = (_g1 + 1);
-HXDLIN( 57) int i = (_g1 - 1);
HXDLIN( 57) _g->push( ::sys::thread::_FixedThreadPool::Worker_obj::__alloc( HX_CTX ,this->queue));
}
}
diff --git a/Sources/c_snikket/src/sys/thread/IThreadPool.cpp b/Sources/c_borogove/src/sys/thread/IThreadPool.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/thread/IThreadPool.cpp
rename to Sources/c_borogove/src/sys/thread/IThreadPool.cpp
diff --git a/Sources/c_snikket/src/sys/thread/Lock.cpp b/Sources/c_borogove/src/sys/thread/Lock.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/thread/Lock.cpp
rename to Sources/c_borogove/src/sys/thread/Lock.cpp
diff --git a/Sources/c_snikket/src/sys/thread/Mutex.cpp b/Sources/c_borogove/src/sys/thread/Mutex.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/thread/Mutex.cpp
rename to Sources/c_borogove/src/sys/thread/Mutex.cpp
diff --git a/Sources/c_snikket/src/sys/thread/NoEventLoopException.cpp b/Sources/c_borogove/src/sys/thread/NoEventLoopException.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/thread/NoEventLoopException.cpp
rename to Sources/c_borogove/src/sys/thread/NoEventLoopException.cpp
diff --git a/Sources/c_snikket/src/sys/thread/ThreadPoolException.cpp b/Sources/c_borogove/src/sys/thread/ThreadPoolException.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/thread/ThreadPoolException.cpp
rename to Sources/c_borogove/src/sys/thread/ThreadPoolException.cpp
diff --git a/Sources/c_snikket/src/sys/thread/_ElasticThreadPool/Worker.cpp b/Sources/c_borogove/src/sys/thread/_ElasticThreadPool/Worker.cpp
similarity index 94%
rename from Sources/c_snikket/src/sys/thread/_ElasticThreadPool/Worker.cpp
rename to Sources/c_borogove/src/sys/thread/_ElasticThreadPool/Worker.cpp
index 7dbfc1f..f807b19 100644
--- a/Sources/c_snikket/src/sys/thread/_ElasticThreadPool/Worker.cpp
+++ b/Sources/c_borogove/src/sys/thread/_ElasticThreadPool/Worker.cpp
@@ -89,22 +89,18 @@ HXLINE( 172) goto _hx_goto_3;
}
}
else {
-HXLINE( 173) ::Dynamic fn = _g;
-HXDLIN( 173) {
-HXLINE( 174) fn();
-HXLINE( 176) while(true){
-HXLINE( 177) ::Dynamic _g1 = this->queue->pop(false);
-HXLINE( 178) if (::hx::IsNull( _g1 )) {
-HXLINE( 178) goto _hx_goto_4;
- }
- else {
-HXLINE( 179) ::Dynamic fn1 = _g1;
-HXDLIN( 179) fn1();
- }
+HXLINE( 174) _g();
+HXLINE( 176) while(true){
+HXLINE( 177) ::Dynamic _g1 = this->queue->pop(false);
+HXLINE( 178) if (::hx::IsNull( _g1 )) {
+HXLINE( 178) goto _hx_goto_4;
+ }
+ else {
+HXLINE( 179) _g1();
}
- _hx_goto_4:;
-HXLINE( 182) this->task = null();
}
+ _hx_goto_4:;
+HXLINE( 182) this->task = null();
}
}
_hx_goto_3:;
@@ -120,10 +116,12 @@ HXLINE( 191) this->deathMutex->release();
if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
::Dynamic _g2 = _hx_e;
-HXLINE( 192) ::haxe::Exception e = ::haxe::Exception_obj::caught(_g2);
-HXLINE( 193) this->task = null();
-HXLINE( 194) this->start();
-HXLINE( 195) HX_STACK_DO_THROW(e);
+HXLINE( 192) ::haxe::Exception _g3 = ::haxe::Exception_obj::caught(_g2);
+HXDLIN( 192) {
+HXLINE( 193) this->task = null();
+HXLINE( 194) this->start();
+HXLINE( 195) HX_STACK_DO_THROW(_g3);
+ }
}
else {
HX_STACK_DO_THROW(_hx_e);
diff --git a/Sources/c_snikket/src/sys/thread/_EventLoop/RegularEvent.cpp b/Sources/c_borogove/src/sys/thread/_EventLoop/RegularEvent.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/thread/_EventLoop/RegularEvent.cpp
rename to Sources/c_borogove/src/sys/thread/_EventLoop/RegularEvent.cpp
diff --git a/Sources/c_snikket/src/sys/thread/_FixedThreadPool/ShutdownException.cpp b/Sources/c_borogove/src/sys/thread/_FixedThreadPool/ShutdownException.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/thread/_FixedThreadPool/ShutdownException.cpp
rename to Sources/c_borogove/src/sys/thread/_FixedThreadPool/ShutdownException.cpp
diff --git a/Sources/c_snikket/src/sys/thread/_FixedThreadPool/Worker.cpp b/Sources/c_borogove/src/sys/thread/_FixedThreadPool/Worker.cpp
similarity index 95%
rename from Sources/c_snikket/src/sys/thread/_FixedThreadPool/Worker.cpp
rename to Sources/c_borogove/src/sys/thread/_FixedThreadPool/Worker.cpp
index ad7d1a2..29b0da1 100644
--- a/Sources/c_snikket/src/sys/thread/_FixedThreadPool/Worker.cpp
+++ b/Sources/c_borogove/src/sys/thread/_FixedThreadPool/Worker.cpp
@@ -50,8 +50,7 @@ HXDLIN( 105) try {
HX_STACK_CATCHABLE( ::sys::thread::_FixedThreadPool::ShutdownException, 0);
HX_STACK_CATCHABLE( ::Dynamic, 1);
HXLINE( 106) while(true){
-HXLINE( 107) ::Dynamic task = this->queue->pop(true);
-HXLINE( 108) task();
+HXLINE( 108) this->queue->pop(true)();
}
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::sys::thread::_FixedThreadPool::ShutdownException >() ){
@@ -61,9 +60,11 @@ HXLINE( 108) task();
else if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
::Dynamic _g = _hx_e;
-HXLINE( 111) ::haxe::Exception e = ::haxe::Exception_obj::caught(_g);
-HXLINE( 112) this->thread = ::sys::thread::_Thread::HaxeThread_obj::create(this->loop_dyn(),false);
-HXLINE( 113) HX_STACK_DO_THROW(e);
+HXLINE( 111) ::haxe::Exception _g1 = ::haxe::Exception_obj::caught(_g);
+HXDLIN( 111) {
+HXLINE( 112) this->thread = ::sys::thread::_Thread::HaxeThread_obj::create(this->loop_dyn(),false);
+HXLINE( 113) HX_STACK_DO_THROW(_g1);
+ }
}
else {
HX_STACK_DO_THROW(_hx_e);
diff --git a/Sources/c_snikket/src/sys/thread/_Thread/HaxeThread.cpp b/Sources/c_borogove/src/sys/thread/_Thread/HaxeThread.cpp
similarity index 95%
rename from Sources/c_snikket/src/sys/thread/_Thread/HaxeThread.cpp
rename to Sources/c_borogove/src/sys/thread/_Thread/HaxeThread.cpp
index 38868ea..f2c6cbd 100644
--- a/Sources/c_snikket/src/sys/thread/_Thread/HaxeThread.cpp
+++ b/Sources/c_borogove/src/sys/thread/_Thread/HaxeThread.cpp
@@ -114,9 +114,11 @@ HXLINE( 127) ( ( ::sys::thread::_Thread::HaxeThread)(item->__Field(HX_("thre
if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
::Dynamic _g = _hx_e;
-HXLINE( 128) ::haxe::Exception e = ::haxe::Exception_obj::caught(_g);
-HXLINE( 129) ::sys::thread::_Thread::HaxeThread_obj::dropThread(item,index);
-HXLINE( 130) HX_STACK_DO_THROW(e);
+HXLINE( 128) ::haxe::Exception _g1 = ::haxe::Exception_obj::caught(_g);
+HXDLIN( 128) {
+HXLINE( 129) ::sys::thread::_Thread::HaxeThread_obj::dropThread(item,index);
+HXLINE( 130) HX_STACK_DO_THROW(_g1);
+ }
}
else {
HX_STACK_DO_THROW(_hx_e);
@@ -151,16 +153,13 @@ HXLINE( 157) if (::hx::IsEq( ::sys::thread::_Thread::HaxeThread_obj::threads->_
HXLINE( 158) ::sys::thread::_Thread::HaxeThread_obj::threads->removeRange(probableIndex,1);
}
else {
-HXLINE( 160) int _g_current = 0;
-HXDLIN( 160) ::Array< ::Dynamic> _g_array = ::sys::thread::_Thread::HaxeThread_obj::threads;
-HXDLIN( 160) while((_g_current < _g_array->length)){
-HXLINE( 160) ::Dynamic _g_value = _g_array->__get(_g_current);
+HXLINE( 160) ::Array< ::Dynamic> _this = ::sys::thread::_Thread::HaxeThread_obj::threads;
+HXDLIN( 160) int _g_current = 0;
+HXDLIN( 160) while((_g_current < _this->length)){
+HXLINE( 160) ::Dynamic _g_value = _this->__get(_g_current);
HXDLIN( 160) _g_current = (_g_current + 1);
-HXDLIN( 160) int _g_key = (_g_current - 1);
-HXDLIN( 160) int i = _g_key;
-HXDLIN( 160) ::Dynamic item2 = _g_value;
-HXLINE( 161) if (::hx::IsEq( item2,item )) {
-HXLINE( 162) ::sys::thread::_Thread::HaxeThread_obj::threads->removeRange(i,1);
+HXLINE( 161) if (::hx::IsEq( _g_value,item )) {
+HXLINE( 162) ::sys::thread::_Thread::HaxeThread_obj::threads->removeRange((_g_current - 1),1);
HXLINE( 163) goto _hx_goto_5;
}
}
diff --git a/Sources/c_snikket/src/sys/thread/_Thread/Thread_Impl_.cpp b/Sources/c_borogove/src/sys/thread/_Thread/Thread_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/sys/thread/_Thread/Thread_Impl_.cpp
rename to Sources/c_borogove/src/sys/thread/_Thread/Thread_Impl_.cpp
diff --git a/Sources/c_snikket/src/thenshim/PromiseFactory.cpp b/Sources/c_borogove/src/thenshim/PromiseFactory.cpp
similarity index 100%
rename from Sources/c_snikket/src/thenshim/PromiseFactory.cpp
rename to Sources/c_borogove/src/thenshim/PromiseFactory.cpp
diff --git a/Sources/c_snikket/src/thenshim/PromiseTools.cpp b/Sources/c_borogove/src/thenshim/PromiseTools.cpp
similarity index 95%
rename from Sources/c_snikket/src/thenshim/PromiseTools.cpp
rename to Sources/c_borogove/src/thenshim/PromiseTools.cpp
index 723e253..f9ca8bd 100644
--- a/Sources/c_snikket/src/thenshim/PromiseTools.cpp
+++ b/Sources/c_borogove/src/thenshim/PromiseTools.cpp
@@ -55,8 +55,7 @@ HXDLIN( 31) while((_g < _g1)){
HX_STACKFRAME(&_hx_pos_8256b4c619c94f9f_34_all)
HXLINE( 35) values->set(index,value);
HXLINE( 36) ::Array< int > remaining1 = remaining;
-HXDLIN( 36) int aggregatePromise = 0;
-HXDLIN( 36) remaining1[aggregatePromise] = (remaining1->__get(aggregatePromise) - 1);
+HXDLIN( 36) remaining1[0] = (remaining1->__get(0) - 1);
HXLINE( 38) if ((remaining->__get(0) == 0)) {
HXLINE( 39) resolve(values);
}
@@ -72,8 +71,7 @@ HXLINE( 42) reject(reason);
HXLINE( 31) _g = (_g + 1);
HXDLIN( 31) int index = (_g - 1);
-HXLINE( 32) ::Dynamic promise = promises_->__get(index);
-HXLINE( 34) ::thenshim::_Promise::Promise_Impl__obj::then(promise, ::Dynamic(new _hx_Closure_0(remaining,resolve,index,values)), ::Dynamic(new _hx_Closure_1(reject)));
+HXLINE( 34) ::thenshim::_Promise::Promise_Impl__obj::then(promises_->__get(index), ::Dynamic(new _hx_Closure_0(remaining,resolve,index,values)), ::Dynamic(new _hx_Closure_1(reject)));
}
}
HXLINE( 46) if ((promises_->length == 0)) {
diff --git a/Sources/c_snikket/src/thenshim/Thenable.cpp b/Sources/c_borogove/src/thenshim/Thenable.cpp
similarity index 100%
rename from Sources/c_snikket/src/thenshim/Thenable.cpp
rename to Sources/c_borogove/src/thenshim/Thenable.cpp
diff --git a/Sources/c_snikket/src/thenshim/_Promise/Promise_Impl_.cpp b/Sources/c_borogove/src/thenshim/_Promise/Promise_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/thenshim/_Promise/Promise_Impl_.cpp
rename to Sources/c_borogove/src/thenshim/_Promise/Promise_Impl_.cpp
diff --git a/Sources/c_snikket/src/thenshim/fallback/FallbackPromise.cpp b/Sources/c_borogove/src/thenshim/fallback/FallbackPromise.cpp
similarity index 100%
rename from Sources/c_snikket/src/thenshim/fallback/FallbackPromise.cpp
rename to Sources/c_borogove/src/thenshim/fallback/FallbackPromise.cpp
diff --git a/Sources/c_snikket/src/thenshim/fallback/FallbackPromiseFactory.cpp b/Sources/c_borogove/src/thenshim/fallback/FallbackPromiseFactory.cpp
similarity index 97%
rename from Sources/c_snikket/src/thenshim/fallback/FallbackPromiseFactory.cpp
rename to Sources/c_borogove/src/thenshim/fallback/FallbackPromiseFactory.cpp
index f8d3c2d..e6cdd36 100644
--- a/Sources/c_snikket/src/thenshim/fallback/FallbackPromiseFactory.cpp
+++ b/Sources/c_borogove/src/thenshim/fallback/FallbackPromiseFactory.cpp
@@ -114,8 +114,7 @@ HXLINE( 46) ::thenshim::Thenable_obj::then(thenable,promise->resolve_dyn(),pr
HXLINE( 47) {
HXLINE( 47) null();
}
-HXDLIN( 47) ::Dynamic exception = _g;
-HXLINE( 48) promise->reject(exception);
+HXLINE( 48) promise->reject(_g);
}
else {
HX_STACK_DO_THROW(_hx_e);
@@ -140,8 +139,7 @@ HXLINE( 58) then = ::Reflect_obj::getProperty(object,HX_("then",dd,02,fc,4c))
HXLINE( 59) {
HXLINE( 59) null();
}
-HXDLIN( 59) ::Dynamic exception = _g;
-HXLINE( 60) return this->asRejected(exception);
+HXLINE( 60) return this->asRejected(_g);
}
else {
HX_STACK_DO_THROW(_hx_e);
@@ -159,8 +157,7 @@ HXLINE( 68) ::Reflect_obj::callMethod(null(),then,::cpp::VirtualArray_obj::_
HXLINE( 69) {
HXLINE( 69) null();
}
-HXDLIN( 69) ::Dynamic exception1 = _g1;
-HXLINE( 70) promise->reject(exception1);
+HXLINE( 70) promise->reject(_g1);
}
else {
HX_STACK_DO_THROW(_hx_e);
diff --git a/Sources/c_snikket/src/thenshim/fallback/HandlerSession.cpp b/Sources/c_borogove/src/thenshim/fallback/HandlerSession.cpp
similarity index 97%
rename from Sources/c_snikket/src/thenshim/fallback/HandlerSession.cpp
rename to Sources/c_borogove/src/thenshim/fallback/HandlerSession.cpp
index 61e019b..61d07cd 100644
--- a/Sources/c_snikket/src/thenshim/fallback/HandlerSession.cpp
+++ b/Sources/c_borogove/src/thenshim/fallback/HandlerSession.cpp
@@ -103,8 +103,7 @@ HXLINE( 43) handlerValue = ::Reflect_obj::callMethod(null(),this->fulfilledCa
HXLINE( 45) {
HXLINE( 45) null();
}
-HXDLIN( 45) ::Dynamic exception = _g;
-HXLINE( 46) this->promise->reject(exception);
+HXLINE( 46) this->promise->reject(_g);
HXLINE( 47) return;
}
else {
@@ -153,8 +152,7 @@ HXLINE( 66) handlerValue = ::Reflect_obj::callMethod(null(),this->rejectedCal
HXLINE( 68) {
HXLINE( 68) null();
}
-HXDLIN( 68) ::Dynamic exception = _g;
-HXLINE( 69) this->promise->reject(exception);
+HXLINE( 69) this->promise->reject(_g);
HXLINE( 70) return;
}
else {
@@ -203,9 +201,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC2(HandlerSession_obj,resolvePromise,(void))
bool HandlerSession_obj::rejectIfSame( ::thenshim::fallback::FallbackPromise promise, ::Dynamic value){
HX_STACKFRAME(&_hx_pos_9516bab8bbbe470a_92_rejectIfSame)
HXDLIN( 92) if (::hx::IsInstanceEq( promise,value )) {
-HXLINE( 93) ::String errorMsg = HX_("promise and result is same object",18,c2,f4,1c);
-HXLINE( 97) ::String reason = errorMsg;
-HXLINE( 99) promise->reject(reason);
+HXLINE( 99) promise->reject(HX_("promise and result is same object",18,c2,f4,1c));
HXLINE( 100) return true;
}
else {
@@ -252,10 +248,9 @@ HXLINE( 126) ::thenshim::Thenable_obj::then(thenable,_resolve,_reject);
HXLINE( 127) {
HXLINE( 127) null();
}
-HXDLIN( 127) ::Dynamic exception = _g;
HXLINE( 128) if (!(fulfilled->__get(0))) {
HXLINE( 129) fulfilled[0] = true;
-HXLINE( 130) promise->reject(exception);
+HXLINE( 130) promise->reject(_g);
}
}
else {
@@ -300,8 +295,7 @@ HXLINE( 138) then = ::Reflect_obj::getProperty(object,HX_("then",dd,02,fc,4c))
HXLINE( 139) {
HXLINE( 139) null();
}
-HXDLIN( 139) ::Dynamic exception = _g;
-HXLINE( 140) promise->reject(exception);
+HXLINE( 140) promise->reject(_g);
HXLINE( 141) return;
}
else {
@@ -325,10 +319,9 @@ HXLINE( 166) ::Reflect_obj::callMethod(object,then,::cpp::VirtualArray_obj::__
HXLINE( 167) {
HXLINE( 167) null();
}
-HXDLIN( 167) ::Dynamic exception1 = _g1;
HXLINE( 168) if (!(fulfilled->__get(0))) {
HXLINE( 169) fulfilled[0] = true;
-HXLINE( 170) promise->reject(exception1);
+HXLINE( 170) promise->reject(_g1);
}
}
else {
diff --git a/Sources/c_snikket/src/thenshim/fallback/PromiseState.cpp b/Sources/c_borogove/src/thenshim/fallback/PromiseState.cpp
similarity index 100%
rename from Sources/c_snikket/src/thenshim/fallback/PromiseState.cpp
rename to Sources/c_borogove/src/thenshim/fallback/PromiseState.cpp
diff --git a/Sources/c_snikket/src/thenshim/fallback/TaskScheduler.cpp b/Sources/c_borogove/src/thenshim/fallback/TaskScheduler.cpp
similarity index 100%
rename from Sources/c_snikket/src/thenshim/fallback/TaskScheduler.cpp
rename to Sources/c_borogove/src/thenshim/fallback/TaskScheduler.cpp
diff --git a/Sources/c_snikket/src/tink/_Chunk/Chunk_Impl_.cpp b/Sources/c_borogove/src/tink/_Chunk/Chunk_Impl_.cpp
similarity index 95%
rename from Sources/c_snikket/src/tink/_Chunk/Chunk_Impl_.cpp
rename to Sources/c_borogove/src/tink/_Chunk/Chunk_Impl_.cpp
index 898eb5c..0a251f0 100644
--- a/Sources/c_snikket/src/tink/_Chunk/Chunk_Impl_.cpp
+++ b/Sources/c_borogove/src/tink/_Chunk/Chunk_Impl_.cpp
@@ -60,20 +60,17 @@ HXLINE( 95) return ::tink::_Chunk::Chunk_Impl__obj::EMPTY;
}
break;
case (int)1: {
-HXLINE( 96) ::Dynamic v = chunks->__get(0);
-HXDLIN( 96) return v;
+HXLINE( 96) return chunks->__get(0);
}
break;
default:{
-HXLINE( 97) ::Array< ::Dynamic> v1 = chunks;
-HXLINE( 98) ::Dynamic ret = ::tink::_Chunk::Chunk_Impl__obj::concat(v1->__get(0),v1->__get(1));
+HXLINE( 98) ::Dynamic ret = ::tink::_Chunk::Chunk_Impl__obj::concat(chunks->__get(0),chunks->__get(1));
HXLINE( 99) {
HXLINE( 99) int _g = 2;
-HXDLIN( 99) int _g1 = v1->length;
+HXDLIN( 99) int _g1 = chunks->length;
HXDLIN( 99) while((_g < _g1)){
HXLINE( 99) _g = (_g + 1);
-HXDLIN( 99) int i = (_g - 1);
-HXLINE( 100) ret = ::tink::_Chunk::Chunk_Impl__obj::concat(ret,v1->__get(i));
+HXLINE( 100) ret = ::tink::_Chunk::Chunk_Impl__obj::concat(ret,chunks->__get((_g - 1)));
}
}
HXLINE( 101) return ret;
diff --git a/Sources/c_snikket/src/tink/_Chunk/EmptyChunk.cpp b/Sources/c_borogove/src/tink/_Chunk/EmptyChunk.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/_Chunk/EmptyChunk.cpp
rename to Sources/c_borogove/src/tink/_Chunk/EmptyChunk.cpp
diff --git a/Sources/c_snikket/src/tink/_Url/Url_Impl_.cpp b/Sources/c_borogove/src/tink/_Url/Url_Impl_.cpp
similarity index 65%
rename from Sources/c_snikket/src/tink/_Url/Url_Impl_.cpp
rename to Sources/c_borogove/src/tink/_Url/Url_Impl_.cpp
index 485aab5..111e617 100644
--- a/Sources/c_snikket/src/tink/_Url/Url_Impl_.cpp
+++ b/Sources/c_borogove/src/tink/_Url/Url_Impl_.cpp
@@ -91,51 +91,42 @@ void Url_Impl__obj::makePayload( ::Dynamic parts){
HXLINE( 64) ::String payload = HX_("",00,00,00,00);
HXLINE( 66) {
HXLINE( 66) ::String _g = ( (::String)(parts->__Field(HX_("auth",68,df,76,40),::hx::paccDynamic)) );
-HXDLIN( 66) ::String _g1 = ( (::String)(parts->__Field(HX_("hash",ce,2f,08,45),::hx::paccDynamic)) );
-HXDLIN( 66) ::Array< ::String > _g2 = ( (::Array< ::String >)(parts->__Field(HX_("hosts",0b,ac,62,2b),::hx::paccDynamic)) );
-HXDLIN( 66) ::String _g3 = ( (::String)(parts->__Field(HX_("path",a5,e5,51,4a),::hx::paccDynamic)) );
-HXDLIN( 66) ::String _g4 = ( (::String)(parts->__Field(HX_("payload",8e,bf,35,ed),::hx::paccDynamic)) );
-HXDLIN( 66) ::String _g5 = ( (::String)(parts->__Field(HX_("query",08,8b,ea,5d),::hx::paccDynamic)) );
-HXDLIN( 66) ::String _g6 = ( (::String)(parts->__Field(HX_("scheme",25,20,c1,40),::hx::paccDynamic)) );
+HXDLIN( 66) ::Array< ::String > _g1 = ( (::Array< ::String >)(parts->__Field(HX_("hosts",0b,ac,62,2b),::hx::paccDynamic)) );
HXDLIN( 66) if (::hx::IsNull( _g )) {
-HXLINE( 66) if ((_g2->length != 0)) {
-HXLINE( 68) ::Array< ::String > v = _g2;
-HXLINE( 69) payload = (payload + (HX_("//",20,29,00,00) + v->join(HX_(",",2c,00,00,00))));
+HXLINE( 66) if ((_g1->length != 0)) {
+HXLINE( 69) payload = (HX_("",00,00,00,00) + (HX_("//",20,29,00,00) + _g1->join(HX_(",",2c,00,00,00))));
}
}
else {
-HXLINE( 66) if ((_g2->length == 0)) {
-HXLINE( 70) ::String auth = _g;
+HXLINE( 66) if ((_g1->length == 0)) {
HXLINE( 71) ::String payload1;
-HXDLIN( 71) if (::hx::IsNull( auth )) {
+HXDLIN( 71) if (::hx::IsNull( _g )) {
HXLINE( 71) payload1 = HX_("null",87,9e,0e,49);
}
else {
-HXLINE( 71) if (::hx::IsNull( auth )) {
+HXLINE( 71) if (::hx::IsNull( _g )) {
HXLINE( 71) payload1 = HX_("",00,00,00,00);
}
else {
-HXLINE( 71) payload1 = ((HX_("",00,00,00,00) + auth) + HX_("@",40,00,00,00));
+HXLINE( 71) payload1 = ((HX_("",00,00,00,00) + _g) + HX_("@",40,00,00,00));
}
}
-HXDLIN( 71) payload = (payload + (HX_("//",20,29,00,00) + payload1));
+HXDLIN( 71) payload = (HX_("",00,00,00,00) + (HX_("//",20,29,00,00) + payload1));
}
else {
-HXLINE( 72) ::String auth1 = _g;
-HXDLIN( 72) ::Array< ::String > v1 = _g2;
HXLINE( 73) ::String payload2;
-HXDLIN( 73) if (::hx::IsNull( auth1 )) {
+HXDLIN( 73) if (::hx::IsNull( _g )) {
HXLINE( 73) payload2 = HX_("null",87,9e,0e,49);
}
else {
-HXLINE( 73) if (::hx::IsNull( auth1 )) {
+HXLINE( 73) if (::hx::IsNull( _g )) {
HXLINE( 73) payload2 = HX_("",00,00,00,00);
}
else {
-HXLINE( 73) payload2 = ((HX_("",00,00,00,00) + auth1) + HX_("@",40,00,00,00));
+HXLINE( 73) payload2 = ((HX_("",00,00,00,00) + _g) + HX_("@",40,00,00,00));
}
}
-HXDLIN( 73) payload = (payload + ((HX_("//",20,29,00,00) + payload2) + v1->join(HX_(",",2c,00,00,00))));
+HXDLIN( 73) payload = (HX_("",00,00,00,00) + ((HX_("//",20,29,00,00) + payload2) + _g1->join(HX_(",",2c,00,00,00))));
}
}
}
@@ -148,24 +139,22 @@ HXLINE( 76) payload3 = ( (::String)(parts->__Field(HX_("path",a5,e5,51,4a),::
}
HXDLIN( 76) payload = (payload + payload3);
HXLINE( 78) {
-HXLINE( 78) ::String _g7 = ( (::String)(parts->__Field(HX_("query",08,8b,ea,5d),::hx::paccDynamic)) );
-HXLINE( 79) if (::hx::IsNotNull( _g7 )) {
-HXLINE( 80) ::String v2 = _g7;
-HXDLIN( 80) ::String payload4;
-HXDLIN( 80) if (::hx::IsNull( v2 )) {
+HXLINE( 78) ::String _g2 = ( (::String)(parts->__Field(HX_("query",08,8b,ea,5d),::hx::paccDynamic)) );
+HXLINE( 79) if (::hx::IsNotNull( _g2 )) {
+HXLINE( 80) ::String payload4;
+HXDLIN( 80) if (::hx::IsNull( _g2 )) {
HXLINE( 80) payload4 = HX_("null",87,9e,0e,49);
}
else {
-HXLINE( 80) payload4 = v2;
+HXLINE( 80) payload4 = _g2;
}
HXDLIN( 80) payload = (payload + (HX_("?",3f,00,00,00) + payload4));
}
}
HXLINE( 83) {
-HXLINE( 83) ::String _g8 = ( (::String)(parts->__Field(HX_("hash",ce,2f,08,45),::hx::paccDynamic)) );
-HXLINE( 84) if (::hx::IsNotNull( _g8 )) {
-HXLINE( 85) ::String v3 = _g8;
-HXDLIN( 85) payload = (payload + (HX_("#",23,00,00,00) + v3));
+HXLINE( 83) ::String _g3 = ( (::String)(parts->__Field(HX_("hash",ce,2f,08,45),::hx::paccDynamic)) );
+HXLINE( 84) if (::hx::IsNotNull( _g3 )) {
+HXLINE( 85) payload = (payload + (HX_("#",23,00,00,00) + _g3));
}
}
HXLINE( 88) parts->__SetField(HX_("payload",8e,bf,35,ed),payload.toString(),::hx::paccDynamic);
@@ -205,100 +194,101 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(Url_Impl__obj,noop,(void))
::Dynamic Url_Impl__obj::parse(::String s, ::Dynamic onError){
HX_GC_STACKFRAME(&_hx_pos_0918bb212228a32b_99_parse)
-HXLINE( 101) if (::hx::IsNull( s )) {
-HXLINE( 102) return ::tink::_Url::Url_Impl__obj::parse(HX_("",00,00,00,00),null());
- }
-HXLINE( 104) if (::hx::IsNull( onError )) {
-HXLINE( 105) onError = ::tink::_Url::Url_Impl__obj::noop_dyn();
- }
-HXLINE( 107) s = ::StringTools_obj::trim(s);
-HXLINE( 109) if (::StringTools_obj::startsWith(s,HX_("data:",d0,0e,88,d4))) {
-HXLINE( 110) return ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("payload",8e,bf,35,ed),s.substr(5,null()))
- ->setFixed(1,HX_("hosts",0b,ac,62,2b),::Array_obj< ::String >::__new(0))
- ->setFixed(2,HX_("scheme",25,20,c1,40),HX_("data",2a,56,63,42)));
- }
-HXLINE( 112) ::EReg FORMAT = ::EReg_obj::__alloc( HX_CTX ,HX_("^(([a-zA-Z][a-zA-Z0-9\\-+.]*):)?((//(([^@/]+)@)?([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?)$",01,fd,14,be),HX_("",00,00,00,00));
-HXLINE( 113) ::EReg HOST = ::EReg_obj::__alloc( HX_CTX ,HX_("^(\\[(.*)\\]|([^:]*))(:(.*))?$",ae,83,22,ec),HX_("",00,00,00,00));
-HXLINE( 116) FORMAT->match(s);
-HXLINE( 118) ::Array< ::String > hosts;
-HXDLIN( 118) ::String _g = FORMAT->matched(7);
-HXLINE( 119) if (::hx::IsNull( _g )) {
-HXLINE( 118) hosts = ::Array_obj< ::String >::__new(0);
- }
- else {
-HXLINE( 120) ::String v = _g;
-HXLINE( 121) ::Array< ::String > _g1 = ::Array_obj< ::String >::__new(0);
-HXDLIN( 121) {
-HXLINE( 121) int _g2 = 0;
-HXDLIN( 121) ::Array< ::String > _g3 = v.split(HX_(",",2c,00,00,00));
-HXDLIN( 121) while((_g2 < _g3->length)){
-HXLINE( 121) ::String host = _g3->__get(_g2);
-HXDLIN( 121) _g2 = (_g2 + 1);
-HXLINE( 122) HOST->match(host);
-HXLINE( 123) ::String host1;
-HXDLIN( 123) ::String _g4 = HOST->matched(3);
-HXDLIN( 123) ::String _g5 = HOST->matched(2);
-HXLINE( 124) if (::hx::IsNull( _g5 )) {
-HXLINE( 124) ::String ipv4 = _g4;
-HXLINE( 123) host1 = ipv4;
- }
- else {
-HXLINE( 125) if (::hx::IsNull( _g4 )) {
-HXLINE( 125) ::String ipv6 = _g5;
-HXLINE( 123) host1 = ((HX_("[",5b,00,00,00) + ipv6) + HX_("]",5d,00,00,00));
+HXDLIN( 99) while(true){
+HXLINE( 101) if (::hx::IsNull( s )) {
+HXLINE( 102) ::Dynamic _gtmp = null();
+HXDLIN( 102) s = HX_("",00,00,00,00);
+HXDLIN( 102) onError = _gtmp;
+HXLINE( 1) continue;
+ }
+HXLINE( 104) if (::hx::IsNull( onError )) {
+HXLINE( 105) onError = ::tink::_Url::Url_Impl__obj::noop_dyn();
+ }
+HXLINE( 107) s = ::StringTools_obj::trim(s);
+HXLINE( 109) if (::StringTools_obj::startsWith(s,HX_("data:",d0,0e,88,d4))) {
+HXLINE( 110) return ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("payload",8e,bf,35,ed),s.substr(5,null()))
+ ->setFixed(1,HX_("hosts",0b,ac,62,2b),::Array_obj< ::String >::__new(0))
+ ->setFixed(2,HX_("scheme",25,20,c1,40),HX_("data",2a,56,63,42)));
+ }
+HXLINE( 112) ::EReg FORMAT = ::EReg_obj::__alloc( HX_CTX ,HX_("^(([a-zA-Z][a-zA-Z0-9\\-+.]*):)?((//(([^@/]+)@)?([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?)$",01,fd,14,be),HX_("",00,00,00,00));
+HXLINE( 113) ::EReg HOST = ::EReg_obj::__alloc( HX_CTX ,HX_("^(\\[(.*)\\]|([^:]*))(:(.*))?$",ae,83,22,ec),HX_("",00,00,00,00));
+HXLINE( 116) FORMAT->match(s);
+HXLINE( 118) ::Array< ::String > hosts;
+HXDLIN( 118) ::String _g = FORMAT->matched(7);
+HXLINE( 119) if (::hx::IsNull( _g )) {
+HXLINE( 118) hosts = ::Array_obj< ::String >::__new(0);
+ }
+ else {
+HXLINE( 121) ::Array< ::String > _g1 = ::Array_obj< ::String >::__new(0);
+HXDLIN( 121) {
+HXLINE( 121) int _g2 = 0;
+HXDLIN( 121) ::Array< ::String > _g3 = _g.split(HX_(",",2c,00,00,00));
+HXDLIN( 121) while((_g2 < _g3->length)){
+HXLINE( 121) ::String host = _g3->__get(_g2);
+HXDLIN( 121) _g2 = (_g2 + 1);
+HXLINE( 122) HOST->match(host);
+HXLINE( 123) ::String host1;
+HXDLIN( 123) ::String _g4 = HOST->matched(3);
+HXDLIN( 123) ::String _g5 = HOST->matched(2);
+HXLINE( 124) if (::hx::IsNull( _g5 )) {
+HXLINE( 123) host1 = _g4;
}
else {
-HXLINE( 127) onError((HX_("invalid host ",cf,25,ab,c7) + host));
-HXLINE( 123) host1 = null();
+HXLINE( 125) if (::hx::IsNull( _g4 )) {
+HXLINE( 123) host1 = ((HX_("[",5b,00,00,00) + _g5) + HX_("]",5d,00,00,00));
+ }
+ else {
+HXLINE( 127) onError((HX_("invalid host ",cf,25,ab,c7) + host));
+HXLINE( 123) host1 = null();
+ }
}
- }
-HXLINE( 130) ::Dynamic port;
-HXDLIN( 130) ::String _g6 = HOST->matched(5);
-HXLINE( 131) if (::hx::IsNull( _g6 )) {
-HXLINE( 130) port = null();
- }
- else {
-HXLINE( 132) ::String v1 = _g6;
-HXLINE( 133) ::Dynamic _g7 = ::Std_obj::parseInt(v1);
-HXLINE( 134) if (::hx::IsNull( _g7 )) {
-HXLINE( 135) onError((HX_("invalid port ",96,07,df,62) + v1));
+HXLINE( 130) ::Dynamic port;
+HXDLIN( 130) ::String _g6 = HOST->matched(5);
+HXLINE( 131) if (::hx::IsNull( _g6 )) {
HXLINE( 130) port = null();
}
else {
-HXLINE( 137) ::Dynamic p = _g7;
-HXLINE( 130) port = p;
+HXLINE( 133) ::Dynamic _g7 = ::Std_obj::parseInt(_g6);
+HXLINE( 134) if (::hx::IsNull( _g7 )) {
+HXLINE( 135) onError((HX_("invalid port ",96,07,df,62) + _g6));
+HXLINE( 130) port = null();
+ }
+ else {
+HXLINE( 130) port = _g7;
+ }
}
+HXLINE( 140) _g1->push(::tink::url::_Host::Host_Impl__obj::_new(host1,port));
}
-HXLINE( 140) _g1->push(::tink::url::_Host::Host_Impl__obj::_new(host1,port));
}
+HXLINE( 118) hosts = _g1;
}
-HXLINE( 118) hosts = _g1;
- }
-HXLINE( 143) ::String path = FORMAT->matched(8);
-HXLINE( 145) bool _hx_tmp;
-HXDLIN( 145) if ((hosts->length > 0)) {
-HXLINE( 145) _hx_tmp = (path.charAt(0) != HX_("/",2f,00,00,00));
- }
- else {
-HXLINE( 145) _hx_tmp = false;
- }
-HXDLIN( 145) if (_hx_tmp) {
-HXLINE( 146) path = (HX_("/",2f,00,00,00) + path);
+HXLINE( 143) ::String path = FORMAT->matched(8);
+HXLINE( 145) bool _hx_tmp;
+HXDLIN( 145) if ((hosts->length > 0)) {
+HXLINE( 145) _hx_tmp = (path.charAt(0) != HX_("/",2f,00,00,00));
+ }
+ else {
+HXLINE( 145) _hx_tmp = false;
+ }
+HXDLIN( 145) if (_hx_tmp) {
+HXLINE( 146) path = (HX_("/",2f,00,00,00) + path);
+ }
+HXLINE( 149) ::String parts = FORMAT->matched(2);
+HXLINE( 150) ::String parts1 = FORMAT->matched(3);
+HXLINE( 152) ::String parts2 = FORMAT->matched(6);
+HXLINE( 153) ::String parts3 = ::tink::url::_Path::Path_Impl__obj::ofString(path);
+HXLINE( 154) ::String parts4 = FORMAT->matched(10);
+HXLINE( 148) return ::Dynamic(::hx::Anon_obj::Create(7)
+ ->setFixed(0,HX_("payload",8e,bf,35,ed),parts1)
+ ->setFixed(1,HX_("hosts",0b,ac,62,2b),hosts)
+ ->setFixed(2,HX_("auth",68,df,76,40),parts2)
+ ->setFixed(3,HX_("scheme",25,20,c1,40),parts)
+ ->setFixed(4,HX_("hash",ce,2f,08,45),FORMAT->matched(12))
+ ->setFixed(5,HX_("path",a5,e5,51,4a),parts3)
+ ->setFixed(6,HX_("query",08,8b,ea,5d),parts4));
}
-HXLINE( 149) ::String parts = FORMAT->matched(2);
-HXLINE( 150) ::String parts1 = FORMAT->matched(3);
-HXLINE( 152) ::String parts2 = FORMAT->matched(6);
-HXLINE( 153) ::String parts3 = ::tink::url::_Path::Path_Impl__obj::ofString(path);
-HXLINE( 154) ::String parts4 = FORMAT->matched(10);
-HXLINE( 148) return ::Dynamic(::hx::Anon_obj::Create(7)
- ->setFixed(0,HX_("payload",8e,bf,35,ed),parts1)
- ->setFixed(1,HX_("hosts",0b,ac,62,2b),hosts)
- ->setFixed(2,HX_("auth",68,df,76,40),parts2)
- ->setFixed(3,HX_("scheme",25,20,c1,40),parts)
- ->setFixed(4,HX_("hash",ce,2f,08,45),FORMAT->matched(12))
- ->setFixed(5,HX_("path",a5,e5,51,4a),parts3)
- ->setFixed(6,HX_("query",08,8b,ea,5d),parts4));
+HXLINE( 99) return null();
}
diff --git a/Sources/c_snikket/src/tink/chunk/ByteChunk.cpp b/Sources/c_borogove/src/tink/chunk/ByteChunk.cpp
similarity index 99%
rename from Sources/c_snikket/src/tink/chunk/ByteChunk.cpp
rename to Sources/c_borogove/src/tink/chunk/ByteChunk.cpp
index 55cd245..1223177 100644
--- a/Sources/c_snikket/src/tink/chunk/ByteChunk.cpp
+++ b/Sources/c_borogove/src/tink/chunk/ByteChunk.cpp
@@ -128,8 +128,7 @@ HXLINE( 54) if (::hx::IsNull( _g )) {
HXLINE( 54) return ::tink::_Chunk::Chunk_Impl__obj::EMPTY;
}
else {
-HXLINE( 55) ::tink::chunk::ByteChunk v = _g;
-HXDLIN( 55) return v;
+HXLINE( 55) return _g;
}
HXLINE( 54) return null();
}
diff --git a/Sources/c_snikket/src/tink/chunk/ChunkBase.cpp b/Sources/c_borogove/src/tink/chunk/ChunkBase.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/chunk/ChunkBase.cpp
rename to Sources/c_borogove/src/tink/chunk/ChunkBase.cpp
diff --git a/Sources/c_snikket/src/tink/chunk/ChunkCursor.cpp b/Sources/c_borogove/src/tink/chunk/ChunkCursor.cpp
similarity index 91%
rename from Sources/c_snikket/src/tink/chunk/ChunkCursor.cpp
rename to Sources/c_borogove/src/tink/chunk/ChunkCursor.cpp
index f55bb5c..ee3803f 100644
--- a/Sources/c_snikket/src/tink/chunk/ChunkCursor.cpp
+++ b/Sources/c_borogove/src/tink/chunk/ChunkCursor.cpp
@@ -67,11 +67,11 @@ HXDLIN( 50) ::Array< ::Dynamic> _g1 = this->parts;
HXDLIN( 50) while((_g < _g1->length)){
HXLINE( 50) ::tink::chunk::ByteChunk p = _g1->__get(_g).StaticCast< ::tink::chunk::ByteChunk >();
HXDLIN( 50) _g = (_g + 1);
-HXLINE( 51) ::tink::chunk::ChunkCursor _hx_tmp = ::hx::ObjectPtr<OBJ_>(this);
-HXDLIN( 51) _hx_tmp->length = (_hx_tmp->length + (p->to - p->from));
+HXLINE( 51) this->length = (this->length + (p->to - p->from));
}
}
-HXLINE( 53) this->curPart = this->parts->__get((this->curPartIndex = 0)).StaticCast< ::tink::chunk::ByteChunk >();
+HXLINE( 53) this->curPartIndex = 0;
+HXDLIN( 53) this->curPart = this->parts->__get(0).StaticCast< ::tink::chunk::ByteChunk >();
HXLINE( 54) if (::hx::IsNotNull( this->curPart )) {
HXLINE( 55) ::tink::chunk::ByteChunk _this = this->curPart;
HXDLIN( 55) this->curLength = (_this->to - _this->from);
@@ -108,16 +108,12 @@ HXLINE( 92) this->parts->removeRange(0,this->curPartIndex);
HXLINE( 94) {
HXLINE( 94) ::tink::chunk::ByteChunk _g = this->parts->__get(0).StaticCast< ::tink::chunk::ByteChunk >();
HXLINE( 95) if (::hx::IsNotNull( _g )) {
-HXLINE( 96) ::tink::chunk::ByteChunk chunk1 = _g;
-HXLINE( 97) {
-HXLINE( 97) ::tink::chunk::ByteChunk _g1 = chunk1->getSlice(this->curOffset,this->curLength);
-HXLINE( 98) if (::hx::IsNull( _g1 )) {
-HXLINE( 99) this->parts->shift().StaticCast< ::tink::chunk::ByteChunk >();
- }
- else {
-HXLINE( 100) ::tink::chunk::ByteChunk rest = _g1;
-HXLINE( 101) this->parts[0] = rest;
- }
+HXLINE( 97) ::tink::chunk::ByteChunk _g1 = _g->getSlice(this->curOffset,this->curLength);
+HXLINE( 98) if (::hx::IsNull( _g1 )) {
+HXLINE( 99) this->parts->shift().StaticCast< ::tink::chunk::ByteChunk >();
+ }
+ else {
+HXLINE( 101) this->parts[0] = _g1;
}
}
}
@@ -143,13 +139,11 @@ HXLINE( 124) int _g1 = 0;
HXDLIN( 124) int _g2 = this->curPartIndex;
HXDLIN( 124) while((_g1 < _g2)){
HXLINE( 124) _g1 = (_g1 + 1);
-HXDLIN( 124) int i = (_g1 - 1);
-HXDLIN( 124) _g->push(this->parts->__get(i).StaticCast< ::tink::chunk::ByteChunk >());
+HXDLIN( 124) _g->push(this->parts->__get((_g1 - 1)).StaticCast< ::tink::chunk::ByteChunk >());
}
}
-HXDLIN( 124) ::Array< ::Dynamic> left = _g;
-HXLINE( 125) left->push(this->curPart->slice(0,this->curOffset));
-HXLINE( 126) return ::tink::_Chunk::Chunk_Impl__obj::join(left);
+HXLINE( 125) _g->push(this->curPart->slice(0,this->curOffset));
+HXLINE( 126) return ::tink::_Chunk::Chunk_Impl__obj::join(_g);
}
@@ -166,15 +160,13 @@ HXLINE( 134) int _g1 = this->curPartIndex;
HXDLIN( 134) int _g2 = this->parts->length;
HXDLIN( 134) while((_g1 < _g2)){
HXLINE( 134) _g1 = (_g1 + 1);
-HXDLIN( 134) int i = (_g1 - 1);
-HXDLIN( 134) _g->push(this->parts->__get(i).StaticCast< ::tink::chunk::ByteChunk >());
+HXDLIN( 134) _g->push(this->parts->__get((_g1 - 1)).StaticCast< ::tink::chunk::ByteChunk >());
}
}
-HXDLIN( 134) ::Array< ::Dynamic> right = _g;
-HXLINE( 135) if ((right->length > 0)) {
-HXLINE( 136) right[0] = this->curPart->slice(this->curOffset,this->curLength);
+HXLINE( 135) if ((_g->length > 0)) {
+HXLINE( 136) _g[0] = this->curPart->slice(this->curOffset,this->curLength);
}
-HXLINE( 138) return ::tink::_Chunk::Chunk_Impl__obj::join(right);
+HXLINE( 138) return ::tink::_Chunk::Chunk_Impl__obj::join(_g);
}
diff --git a/Sources/c_snikket/src/tink/chunk/ChunkObject.cpp b/Sources/c_borogove/src/tink/chunk/ChunkObject.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/chunk/ChunkObject.cpp
rename to Sources/c_borogove/src/tink/chunk/ChunkObject.cpp
diff --git a/Sources/c_snikket/src/tink/chunk/CompoundChunk.cpp b/Sources/c_borogove/src/tink/chunk/CompoundChunk.cpp
similarity index 93%
rename from Sources/c_snikket/src/tink/chunk/CompoundChunk.cpp
rename to Sources/c_borogove/src/tink/chunk/CompoundChunk.cpp
index ab4df2b..d4cb650 100644
--- a/Sources/c_snikket/src/tink/chunk/CompoundChunk.cpp
+++ b/Sources/c_borogove/src/tink/chunk/CompoundChunk.cpp
@@ -128,13 +128,10 @@ HXLINE( 90) int offset = this->offsets->__get(idxFrom);
HXLINE( 91) return ::tink::chunk::ChunkObject_obj::slice(this->chunks->__get(idxFrom),(from - offset),(to - offset));
}
HXLINE( 94) ::Array< ::Dynamic> ret = this->chunks->slice(idxFrom,(idxTo + 1));
-HXLINE( 95) {
-HXLINE( 96) ::Dynamic c = ret->__get(0);
-HXLINE( 97) ret[0] = ::tink::chunk::ChunkObject_obj::slice(c,(from - this->offsets->__get(idxFrom)),this->offsets->__get((idxFrom + 1)));
- }
+HXLINE( 97) ret[0] = ::tink::chunk::ChunkObject_obj::slice(ret->__get(0),(from - this->offsets->__get(idxFrom)),this->offsets->__get((idxFrom + 1)));
HXLINE( 99) {
-HXLINE( 100) ::Dynamic c1 = ret->__get((ret->length - 1));
-HXLINE( 101) ret[(ret->length - 1)] = ::tink::chunk::ChunkObject_obj::slice(c1,0,(to - this->offsets->__get(idxTo)));
+HXLINE( 100) ::Dynamic c = ret->__get((ret->length - 1));
+HXLINE( 101) ret[(ret->length - 1)] = ::tink::chunk::ChunkObject_obj::slice(c,0,(to - this->offsets->__get(idxTo)));
}
HXLINE( 104) return ::tink::chunk::CompoundChunk_obj::create(ret,this->depth);
}
@@ -199,8 +196,6 @@ HXDLIN( 23) if ((_g1 == 0)) {
HXLINE( 26) return a;
}
else {
-HXLINE( 27) int la = _g;
-HXDLIN( 27) int lb = _g1;
HXLINE( 28) ::tink::chunk::CompoundChunk _g2 = ::tink::chunk::CompoundChunk_obj::asCompound(a);
HXDLIN( 28) ::tink::chunk::CompoundChunk _g3 = ::tink::chunk::CompoundChunk_obj::asCompound(b);
HXLINE( 29) if (::hx::IsNull( _g2 )) {
@@ -208,13 +203,12 @@ HXLINE( 29) if (::hx::IsNull( _g3 )) {
HXLINE( 29) return ::tink::chunk::CompoundChunk_obj::create(::Array_obj< ::Dynamic>::__new(2)->init(0,a)->init(1,b),2);
}
else {
-HXLINE( 30) ::tink::chunk::CompoundChunk v = _g3;
-HXLINE( 31) if ((v->depth < 100)) {
-HXLINE( 32) return ::tink::chunk::CompoundChunk_obj::create(::Array_obj< ::Dynamic>::__new(2)->init(0,a)->init(1,b),(v->depth + 1));
+HXLINE( 31) if ((_g3->depth < 100)) {
+HXLINE( 32) return ::tink::chunk::CompoundChunk_obj::create(::Array_obj< ::Dynamic>::__new(2)->init(0,a)->init(1,b),(_g3->depth + 1));
}
else {
HXLINE( 34) ::Array< ::Dynamic> flat = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 35) v->flatten(flat);
+HXLINE( 35) _g3->flatten(flat);
HXLINE( 36) ::tink::chunk::ChunkObject_obj::flatten(b,flat);
HXLINE( 37) return ::tink::chunk::CompoundChunk_obj::create(flat,2);
}
@@ -222,28 +216,25 @@ HXLINE( 37) return ::tink::chunk::CompoundChunk_obj::create(flat,2);
}
else {
HXLINE( 30) if (::hx::IsNull( _g3 )) {
-HXLINE( 30) ::tink::chunk::CompoundChunk v1 = _g2;
-HXLINE( 31) if ((v1->depth < 100)) {
-HXLINE( 32) return ::tink::chunk::CompoundChunk_obj::create(::Array_obj< ::Dynamic>::__new(2)->init(0,a)->init(1,b),(v1->depth + 1));
+HXLINE( 31) if ((_g2->depth < 100)) {
+HXLINE( 32) return ::tink::chunk::CompoundChunk_obj::create(::Array_obj< ::Dynamic>::__new(2)->init(0,a)->init(1,b),(_g2->depth + 1));
}
else {
HXLINE( 34) ::Array< ::Dynamic> flat1 = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 35) v1->flatten(flat1);
+HXLINE( 35) _g2->flatten(flat1);
HXLINE( 36) ::tink::chunk::ChunkObject_obj::flatten(b,flat1);
HXLINE( 37) return ::tink::chunk::CompoundChunk_obj::create(flat1,2);
}
}
else {
-HXLINE( 39) ::tink::chunk::CompoundChunk a1 = _g2;
-HXDLIN( 39) ::tink::chunk::CompoundChunk b1 = _g3;
HXLINE( 40) int depth;
-HXDLIN( 40) if ((a1->depth > b1->depth)) {
-HXLINE( 40) depth = a1->depth;
+HXDLIN( 40) if ((_g2->depth > _g3->depth)) {
+HXLINE( 40) depth = _g2->depth;
}
else {
-HXLINE( 40) depth = b1->depth;
+HXLINE( 40) depth = _g3->depth;
}
-HXLINE( 41) return ::tink::chunk::CompoundChunk_obj::create(a1->chunks->concat(b1->chunks),depth);
+HXLINE( 41) return ::tink::chunk::CompoundChunk_obj::create(_g2->chunks->concat(_g3->chunks),depth);
}
}
}
diff --git a/Sources/c_snikket/src/tink/core/CallbackLinkRef.cpp b/Sources/c_borogove/src/tink/core/CallbackLinkRef.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/CallbackLinkRef.cpp
rename to Sources/c_borogove/src/tink/core/CallbackLinkRef.cpp
diff --git a/Sources/c_snikket/src/tink/core/CallbackList.cpp b/Sources/c_borogove/src/tink/core/CallbackList.cpp
similarity index 95%
rename from Sources/c_snikket/src/tink/core/CallbackList.cpp
rename to Sources/c_borogove/src/tink/core/CallbackList.cpp
index ac73cf9..bb84baf 100644
--- a/Sources/c_snikket/src/tink/core/CallbackList.cpp
+++ b/Sources/c_borogove/src/tink/core/CallbackList.cpp
@@ -154,12 +154,10 @@ HXLINE( 227) _gthis->dispose();
HXLINE( 229) int length = _gthis->cells->length;
HXLINE( 230) {
HXLINE( 230) int _g1 = 0;
-HXDLIN( 230) int _g2 = length;
-HXDLIN( 230) while((_g1 < _g2)){
+HXDLIN( 230) while((_g1 < length)){
HXLINE( 230) _g1 = (_g1 + 1);
-HXDLIN( 230) int i = (_g1 - 1);
HXLINE( 231) {
-HXLINE( 231) ::tink::core::_Callback::ListCell _this = _gthis->cells->__get(i).StaticCast< ::tink::core::_Callback::ListCell >();
+HXLINE( 231) ::tink::core::_Callback::ListCell _this = _gthis->cells->__get((_g1 - 1)).StaticCast< ::tink::core::_Callback::ListCell >();
HXDLIN( 231) if (::hx::IsNotNull( _this->list )) {
HXLINE( 231) _this->cb(data);
}
@@ -210,12 +208,10 @@ HXLINE( 227) _gthis->dispose();
HXLINE( 229) int length = _gthis->cells->length;
HXLINE( 230) {
HXLINE( 230) int _g1 = 0;
-HXDLIN( 230) int _g2 = length;
-HXDLIN( 230) while((_g1 < _g2)){
+HXDLIN( 230) while((_g1 < length)){
HXLINE( 230) _g1 = (_g1 + 1);
-HXDLIN( 230) int i = (_g1 - 1);
HXLINE( 231) {
-HXLINE( 231) ::tink::core::_Callback::ListCell _this = _gthis->cells->__get(i).StaticCast< ::tink::core::_Callback::ListCell >();
+HXLINE( 231) ::tink::core::_Callback::ListCell _this = _gthis->cells->__get((_g1 - 1)).StaticCast< ::tink::core::_Callback::ListCell >();
HXDLIN( 231) if (::hx::IsNotNull( _this->list )) {
HXLINE( 231) _this->cb(data);
}
@@ -276,19 +272,13 @@ HXLINE( 256) _g = (_g + 1);
HXDLIN( 256) int i = (_g - 1);
HXLINE( 257) {
HXLINE( 257) ::tink::core::_Callback::ListCell _g2 = this->cells->__get(i).StaticCast< ::tink::core::_Callback::ListCell >();
-HXLINE( 258) {
-HXLINE( 257) ::tink::core::CallbackList _g3 = _g2->list;
-HXLINE( 258) if (::hx::IsNotNull( _g2->cb )) {
-HXLINE( 259) ::tink::core::_Callback::ListCell v = _g2;
-HXDLIN( 259) {
-HXLINE( 260) if ((compacted != i)) {
-HXLINE( 261) this->cells[compacted] = v;
- }
-HXLINE( 262) compacted = (compacted + 1);
-HXDLIN( 262) if ((compacted == this->used)) {
-HXLINE( 262) goto _hx_goto_12;
- }
- }
+HXLINE( 258) if (::hx::IsNotNull( _g2->cb )) {
+HXLINE( 260) if ((compacted != i)) {
+HXLINE( 261) this->cells[compacted] = _g2;
+ }
+HXLINE( 262) compacted = (compacted + 1);
+HXDLIN( 262) if ((compacted == this->used)) {
+HXLINE( 262) goto _hx_goto_12;
}
}
}
diff --git a/Sources/c_snikket/src/tink/core/Disposable.cpp b/Sources/c_borogove/src/tink/core/Disposable.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/Disposable.cpp
rename to Sources/c_borogove/src/tink/core/Disposable.cpp
diff --git a/Sources/c_snikket/src/tink/core/FutureStatus.cpp b/Sources/c_borogove/src/tink/core/FutureStatus.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/FutureStatus.cpp
rename to Sources/c_borogove/src/tink/core/FutureStatus.cpp
diff --git a/Sources/c_snikket/src/tink/core/LinkObject.cpp b/Sources/c_borogove/src/tink/core/LinkObject.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/LinkObject.cpp
rename to Sources/c_borogove/src/tink/core/LinkObject.cpp
diff --git a/Sources/c_snikket/src/tink/core/MPair.cpp b/Sources/c_borogove/src/tink/core/MPair.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/MPair.cpp
rename to Sources/c_borogove/src/tink/core/MPair.cpp
diff --git a/Sources/c_snikket/src/tink/core/NamedWith.cpp b/Sources/c_borogove/src/tink/core/NamedWith.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/NamedWith.cpp
rename to Sources/c_borogove/src/tink/core/NamedWith.cpp
diff --git a/Sources/c_snikket/src/tink/core/Outcome.cpp b/Sources/c_borogove/src/tink/core/Outcome.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/Outcome.cpp
rename to Sources/c_borogove/src/tink/core/Outcome.cpp
diff --git a/Sources/c_snikket/src/tink/core/OwnedDisposable.cpp b/Sources/c_borogove/src/tink/core/OwnedDisposable.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/OwnedDisposable.cpp
rename to Sources/c_borogove/src/tink/core/OwnedDisposable.cpp
diff --git a/Sources/c_snikket/src/tink/core/SimpleDisposable.cpp b/Sources/c_borogove/src/tink/core/SimpleDisposable.cpp
similarity index 93%
rename from Sources/c_snikket/src/tink/core/SimpleDisposable.cpp
rename to Sources/c_borogove/src/tink/core/SimpleDisposable.cpp
index 06aa2b8..d91d9cf 100644
--- a/Sources/c_snikket/src/tink/core/SimpleDisposable.cpp
+++ b/Sources/c_borogove/src/tink/core/SimpleDisposable.cpp
@@ -60,19 +60,16 @@ void SimpleDisposable_obj::dispose(){
HX_STACKFRAME(&_hx_pos_80b59e63b7a8554e_63_dispose)
HXDLIN( 63) ::Array< ::Dynamic> _g = this->disposeHandlers;
HXLINE( 64) if (::hx::IsNotNull( _g )) {
-HXLINE( 65) ::Array< ::Dynamic> v = _g;
-HXDLIN( 65) {
-HXLINE( 66) this->disposeHandlers = null();
-HXLINE( 67) ::Dynamic f = this->f;
-HXLINE( 68) this->f = ::tink::core::SimpleDisposable_obj::noop_dyn();
-HXLINE( 69) f();
-HXLINE( 70) {
-HXLINE( 70) int _g1 = 0;
-HXDLIN( 70) while((_g1 < v->length)){
-HXLINE( 70) ::Dynamic h = v->__get(_g1);
-HXDLIN( 70) _g1 = (_g1 + 1);
-HXLINE( 71) h();
- }
+HXLINE( 66) this->disposeHandlers = null();
+HXLINE( 67) ::Dynamic f = this->f;
+HXLINE( 68) this->f = ::tink::core::SimpleDisposable_obj::noop_dyn();
+HXLINE( 69) f();
+HXLINE( 70) {
+HXLINE( 70) int _g1 = 0;
+HXDLIN( 70) while((_g1 < _g->length)){
+HXLINE( 70) ::Dynamic h = _g->__get(_g1);
+HXDLIN( 70) _g1 = (_g1 + 1);
+HXLINE( 71) h();
}
}
}
diff --git a/Sources/c_snikket/src/tink/core/TypedError.cpp b/Sources/c_borogove/src/tink/core/TypedError.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/TypedError.cpp
rename to Sources/c_borogove/src/tink/core/TypedError.cpp
diff --git a/Sources/c_snikket/src/tink/core/_Callback/Callback_Impl_.cpp b/Sources/c_borogove/src/tink/core/_Callback/Callback_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/_Callback/Callback_Impl_.cpp
rename to Sources/c_borogove/src/tink/core/_Callback/Callback_Impl_.cpp
diff --git a/Sources/c_snikket/src/tink/core/_Callback/LinkPair.cpp b/Sources/c_borogove/src/tink/core/_Callback/LinkPair.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/_Callback/LinkPair.cpp
rename to Sources/c_borogove/src/tink/core/_Callback/LinkPair.cpp
diff --git a/Sources/c_snikket/src/tink/core/_Callback/ListCell.cpp b/Sources/c_borogove/src/tink/core/_Callback/ListCell.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/_Callback/ListCell.cpp
rename to Sources/c_borogove/src/tink/core/_Callback/ListCell.cpp
diff --git a/Sources/c_snikket/src/tink/core/_Future/FutureObject.cpp b/Sources/c_borogove/src/tink/core/_Future/FutureObject.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/_Future/FutureObject.cpp
rename to Sources/c_borogove/src/tink/core/_Future/FutureObject.cpp
diff --git a/Sources/c_snikket/src/tink/core/_Future/Future_Impl_.cpp b/Sources/c_borogove/src/tink/core/_Future/Future_Impl_.cpp
similarity index 99%
rename from Sources/c_snikket/src/tink/core/_Future/Future_Impl_.cpp
rename to Sources/c_borogove/src/tink/core/_Future/Future_Impl_.cpp
index 5b3ab82..238c643 100644
--- a/Sources/c_snikket/src/tink/core/_Future/Future_Impl_.cpp
+++ b/Sources/c_borogove/src/tink/core/_Future/Future_Impl_.cpp
@@ -93,8 +93,7 @@ HXDLIN( 97) return f(::tink::core::_Lazy::LazyObject_obj::get(this2));
}
HX_END_LOCAL_FUNC0(return)
-HXLINE( 97) ::Dynamic l = _g->_hx_getObject(0);
-HXDLIN( 97) ::Dynamic this2 = l;
+HXLINE( 97) ::Dynamic this2 = _g->_hx_getObject(0);
HXDLIN( 97) ::Dynamic f1 = f;
HXDLIN( 97) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyFunc_obj::__alloc( HX_CTX , ::Dynamic(new _hx_Closure_2(this2,f1)),this2));
}
diff --git a/Sources/c_snikket/src/tink/core/_Future/SuspendableFuture.cpp b/Sources/c_borogove/src/tink/core/_Future/SuspendableFuture.cpp
similarity index 97%
rename from Sources/c_snikket/src/tink/core/_Future/SuspendableFuture.cpp
rename to Sources/c_borogove/src/tink/core/_Future/SuspendableFuture.cpp
index a0eb628..408a0d7 100644
--- a/Sources/c_snikket/src/tink/core/_Future/SuspendableFuture.cpp
+++ b/Sources/c_borogove/src/tink/core/_Future/SuspendableFuture.cpp
@@ -120,11 +120,7 @@ HXDLIN( 497) return this->status;
void SuspendableFuture_obj::trigger( ::Dynamic value){
HX_GC_STACKFRAME(&_hx_pos_abe9d8f11a71fd1d_516_trigger)
-HXDLIN( 516) ::tink::core::FutureStatus _g = this->status;
-HXDLIN( 516) if ((_g->_hx_getIndex() == 3)) {
-HXLINE( 517) ::Dynamic _g1 = _g->_hx_getObject(0);
- }
- else {
+HXDLIN( 516) if ((this->status->_hx_getIndex() != 3)) {
HXLINE( 519) this->status = ::tink::core::FutureStatus_obj::Ready( ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,value));
HXLINE( 520) ::Dynamic link = this->link;
HXLINE( 521) this->link = null();
@@ -143,8 +139,7 @@ HX_DEFINE_DYNAMIC_FUNC1(SuspendableFuture_obj,trigger,(void))
HX_GC_STACKFRAME(&_hx_pos_abe9d8f11a71fd1d_528_handle)
HXDLIN( 528) ::tink::core::FutureStatus _g = this->status;
HXDLIN( 528) if ((_g->_hx_getIndex() == 3)) {
-HXLINE( 529) ::Dynamic result = _g->_hx_getObject(0);
-HXLINE( 530) ::tink::core::_Callback::Callback_Impl__obj::invoke(callback,::tink::core::_Lazy::Lazy_Impl__obj::get(result));
+HXLINE( 530) ::tink::core::_Callback::Callback_Impl__obj::invoke(callback,::tink::core::_Lazy::Lazy_Impl__obj::get(_g->_hx_getObject(0)));
HXLINE( 531) return null();
}
else {
diff --git a/Sources/c_snikket/src/tink/core/_Future/SyncFuture.cpp b/Sources/c_borogove/src/tink/core/_Future/SyncFuture.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/_Future/SyncFuture.cpp
rename to Sources/c_borogove/src/tink/core/_Future/SyncFuture.cpp
diff --git a/Sources/c_snikket/src/tink/core/_Lazy/Computable.cpp b/Sources/c_borogove/src/tink/core/_Lazy/Computable.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/_Lazy/Computable.cpp
rename to Sources/c_borogove/src/tink/core/_Lazy/Computable.cpp
diff --git a/Sources/c_snikket/src/tink/core/_Lazy/LazyConst.cpp b/Sources/c_borogove/src/tink/core/_Lazy/LazyConst.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/_Lazy/LazyConst.cpp
rename to Sources/c_borogove/src/tink/core/_Lazy/LazyConst.cpp
diff --git a/Sources/c_snikket/src/tink/core/_Lazy/LazyFunc.cpp b/Sources/c_borogove/src/tink/core/_Lazy/LazyFunc.cpp
similarity index 86%
rename from Sources/c_snikket/src/tink/core/_Lazy/LazyFunc.cpp
rename to Sources/c_borogove/src/tink/core/_Lazy/LazyFunc.cpp
index 2008526..4728372 100644
--- a/Sources/c_snikket/src/tink/core/_Lazy/LazyFunc.cpp
+++ b/Sources/c_borogove/src/tink/core/_Lazy/LazyFunc.cpp
@@ -94,45 +94,42 @@ void LazyFunc_obj::compute(){
HX_STACKFRAME(&_hx_pos_abecf4c8a88f2d81_86_compute)
HXDLIN( 86) ::Dynamic _g = this->f;
HXLINE( 87) if (::hx::IsNotNull( _g )) {
-HXLINE( 88) ::Dynamic v = _g;
-HXDLIN( 88) {
-HXLINE( 90) this->f = null();
-HXLINE( 91) {
-HXLINE( 91) ::Dynamic _g1 = this->from;
-HXLINE( 92) if (::hx::IsNotNull( _g1 )) {
-HXLINE( 93) ::Dynamic cur = _g1;
-HXDLIN( 93) {
-HXLINE( 94) this->from = null();
-HXLINE( 95) ::Array< ::Dynamic> stack = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 96) while(true){
-HXLINE( 96) bool _hx_tmp;
-HXDLIN( 96) if (::hx::IsNotNull( cur )) {
-HXLINE( 96) _hx_tmp = !(::tink::core::_Lazy::Computable_obj::isComputed(cur));
- }
- else {
-HXLINE( 96) _hx_tmp = false;
- }
-HXDLIN( 96) if (!(_hx_tmp)) {
-HXLINE( 96) goto _hx_goto_4;
- }
-HXLINE( 97) stack->push(cur);
-HXLINE( 98) cur = ::tink::core::_Lazy::Computable_obj::underlying(cur);
+HXLINE( 90) this->f = null();
+HXLINE( 91) {
+HXLINE( 91) ::Dynamic _g1 = this->from;
+HXLINE( 92) if (::hx::IsNotNull( _g1 )) {
+HXLINE( 93) ::Dynamic cur = _g1;
+HXDLIN( 93) {
+HXLINE( 94) this->from = null();
+HXLINE( 95) ::Array< ::Dynamic> stack = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 96) while(true){
+HXLINE( 96) bool _hx_tmp;
+HXDLIN( 96) if (::hx::IsNotNull( cur )) {
+HXLINE( 96) _hx_tmp = !(::tink::core::_Lazy::Computable_obj::isComputed(cur));
}
- _hx_goto_4:;
-HXLINE( 100) stack->reverse();
-HXLINE( 101) {
-HXLINE( 101) int _g2 = 0;
-HXDLIN( 101) while((_g2 < stack->length)){
-HXLINE( 101) ::Dynamic c = stack->__get(_g2);
-HXDLIN( 101) _g2 = (_g2 + 1);
-HXLINE( 102) ::tink::core::_Lazy::Computable_obj::compute(c);
- }
+ else {
+HXLINE( 96) _hx_tmp = false;
+ }
+HXDLIN( 96) if (!(_hx_tmp)) {
+HXLINE( 96) goto _hx_goto_4;
+ }
+HXLINE( 97) stack->push(cur);
+HXLINE( 98) cur = ::tink::core::_Lazy::Computable_obj::underlying(cur);
+ }
+ _hx_goto_4:;
+HXLINE( 100) stack->reverse();
+HXLINE( 101) {
+HXLINE( 101) int _g2 = 0;
+HXDLIN( 101) while((_g2 < stack->length)){
+HXLINE( 101) ::Dynamic c = stack->__get(_g2);
+HXDLIN( 101) _g2 = (_g2 + 1);
+HXLINE( 102) ::tink::core::_Lazy::Computable_obj::compute(c);
}
}
}
}
-HXLINE( 106) this->result = v();
}
+HXLINE( 106) this->result = _g();
}
}
diff --git a/Sources/c_snikket/src/tink/core/_Lazy/LazyObject.cpp b/Sources/c_borogove/src/tink/core/_Lazy/LazyObject.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/_Lazy/LazyObject.cpp
rename to Sources/c_borogove/src/tink/core/_Lazy/LazyObject.cpp
diff --git a/Sources/c_snikket/src/tink/core/_Lazy/Lazy_Impl_.cpp b/Sources/c_borogove/src/tink/core/_Lazy/Lazy_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/core/_Lazy/Lazy_Impl_.cpp
rename to Sources/c_borogove/src/tink/core/_Lazy/Lazy_Impl_.cpp
diff --git a/Sources/c_snikket/src/tink/core/_Promise/Promise_Impl_.cpp b/Sources/c_borogove/src/tink/core/_Promise/Promise_Impl_.cpp
similarity index 92%
rename from Sources/c_snikket/src/tink/core/_Promise/Promise_Impl_.cpp
rename to Sources/c_borogove/src/tink/core/_Promise/Promise_Impl_.cpp
index fb65f15..827659d 100644
--- a/Sources/c_snikket/src/tink/core/_Promise/Promise_Impl_.cpp
+++ b/Sources/c_borogove/src/tink/core/_Promise/Promise_Impl_.cpp
@@ -57,13 +57,11 @@ bool Promise_Impl__obj::_hx_isInstanceOf(int inClassId) {
HX_GC_STACKFRAME(&_hx_pos_113c0f6d76f4dafd_85_next)
HXDLIN( 85) switch((int)(o->_hx_getIndex())){
case (int)0: {
-HXLINE( 86) ::Dynamic d = o->_hx_getObject(0);
-HXDLIN( 86) return ( ( ::tink::core::_Future::FutureObject)(f(d)) );
+HXLINE( 86) return ( ( ::tink::core::_Future::FutureObject)(f(o->_hx_getObject(0))) );
}
break;
case (int)1: {
-HXLINE( 87) ::tink::core::TypedError f1 = ( ( ::tink::core::TypedError)(o->_hx_getObject(0)) );
-HXDLIN( 87) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::core::Outcome_obj::Failure(f1)));
+HXLINE( 87) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::core::Outcome_obj::Failure(o->_hx_getObject(0))));
}
break;
}
diff --git a/Sources/c_snikket/src/tink/http/BodyPart.cpp b/Sources/c_borogove/src/tink/http/BodyPart.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/BodyPart.cpp
rename to Sources/c_borogove/src/tink/http/BodyPart.cpp
diff --git a/Sources/c_snikket/src/tink/http/ClientObject.cpp b/Sources/c_borogove/src/tink/http/ClientObject.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/ClientObject.cpp
rename to Sources/c_borogove/src/tink/http/ClientObject.cpp
diff --git a/Sources/c_snikket/src/tink/http/ClientType.cpp b/Sources/c_borogove/src/tink/http/ClientType.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/ClientType.cpp
rename to Sources/c_borogove/src/tink/http/ClientType.cpp
diff --git a/Sources/c_snikket/src/tink/http/Container.cpp b/Sources/c_borogove/src/tink/http/Container.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/Container.cpp
rename to Sources/c_borogove/src/tink/http/Container.cpp
diff --git a/Sources/c_snikket/src/tink/http/Fetch.cpp b/Sources/c_borogove/src/tink/http/Fetch.cpp
similarity index 86%
rename from Sources/c_snikket/src/tink/http/Fetch.cpp
rename to Sources/c_borogove/src/tink/http/Fetch.cpp
index 5cd1d53..268ba24 100644
--- a/Sources/c_snikket/src/tink/http/Fetch.cpp
+++ b/Sources/c_borogove/src/tink/http/Fetch.cpp
@@ -148,12 +148,12 @@ bool Fetch_obj::_hx_isInstanceOf(int inClassId) {
HX_GC_STACKFRAME(&_hx_pos_f48f5e3cc0066c7c_54_fetch)
HXLINE( 54) switch((int)(res->_hx_getIndex())){
case (int)0: {
-HXLINE( 55) ::tink::http::IncomingResponse res1 = ( ( ::tink::http::IncomingResponse)(res->_hx_getObject(0)) );
+HXLINE( 55) ::tink::http::IncomingResponse _g = ( ( ::tink::http::IncomingResponse)(res->_hx_getObject(0)) );
HXLINE( 56) {
-HXLINE( 56) int _g = ( ( ::tink::http::ResponseHeaderBase)(res1->header) )->statusCode;
-HXDLIN( 56) switch((int)(_g)){
+HXLINE( 56) int _g1 = ( ( ::tink::http::ResponseHeaderBase)(_g->header) )->statusCode;
+HXDLIN( 56) switch((int)(_g1)){
case (int)301: case (int)302: case (int)303: case (int)307: case (int)308: {
-HXLINE( 57) int code = _g;
+HXLINE( 57) int code = _g1;
HXDLIN( 57) if (followRedirect->__get(0)) {
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,options,int,code, ::Dynamic,url) HXARGC(1)
::tink::core::_Future::FutureObject _hx_run(::String location){
@@ -168,36 +168,31 @@ HXDLIN( 59) ::Dynamic _hx___tink_tmp0 = ::Dynamic(::hx::Anon_obj::
HXLINE( 238) {
HXLINE( 59) ::Array< ::Dynamic> _g = ( (::Array< ::Dynamic>)(_hx___o0->__Field(HX_("headers",46,52,08,63),::hx::paccDynamic)) );
HXLINE( 1) if (::hx::IsNotNull( _g )) {
-HXLINE( 240) ::Array< ::Dynamic> v = _g;
-HXDLIN( 240) _hx___tink_tmp0->__SetField(HX_("headers",46,52,08,63),v,::hx::paccDynamic);
+HXLINE( 240) _hx___tink_tmp0->__SetField(HX_("headers",46,52,08,63),_g,::hx::paccDynamic);
}
}
HXLINE( 238) {
HXLINE( 59) ::Dynamic _g1 = _hx___o0->__Field(HX_("followRedirect",ad,9d,29,cf),::hx::paccDynamic);
HXLINE( 1) if (::hx::IsNotNull( _g1 )) {
-HXLINE( 240) ::Dynamic v1 = _g1;
-HXDLIN( 240) _hx___tink_tmp0->__SetField(HX_("followRedirect",ad,9d,29,cf),v1,::hx::paccDynamic);
+HXLINE( 240) _hx___tink_tmp0->__SetField(HX_("followRedirect",ad,9d,29,cf),_g1,::hx::paccDynamic);
}
}
HXLINE( 238) {
HXLINE( 59) ::tink::http::ClientType _g2 = _hx___o0->__Field(HX_("client",4b,ca,4f,0a),::hx::paccDynamic);
HXLINE( 1) if (::hx::IsNotNull( _g2 )) {
-HXLINE( 240) ::tink::http::ClientType v2 = _g2;
-HXDLIN( 240) _hx___tink_tmp0->__SetField(HX_("client",4b,ca,4f,0a),v2,::hx::paccDynamic);
+HXLINE( 240) _hx___tink_tmp0->__SetField(HX_("client",4b,ca,4f,0a),_g2,::hx::paccDynamic);
}
}
HXLINE( 238) {
HXLINE( 59) ::Dynamic _g3 = ::Dynamic(_hx___o0->__Field(HX_("body",a2,7a,1b,41),::hx::paccDynamic));
HXLINE( 1) if (::hx::IsNotNull( _g3 )) {
-HXLINE( 240) ::Dynamic v3 = _g3;
-HXDLIN( 240) _hx___tink_tmp0->__SetField(HX_("body",a2,7a,1b,41),v3,::hx::paccDynamic);
+HXLINE( 240) _hx___tink_tmp0->__SetField(HX_("body",a2,7a,1b,41),_g3,::hx::paccDynamic);
}
}
HXLINE( 238) {
HXLINE( 59) ::Dynamic _g4 = _hx___o0->__Field(HX_("augment",11,3c,02,20),::hx::paccDynamic);
HXLINE( 1) if (::hx::IsNotNull( _g4 )) {
-HXLINE( 240) ::Dynamic v4 = _g4;
-HXDLIN( 240) _hx___tink_tmp0->__SetField(HX_("augment",11,3c,02,20),v4,::hx::paccDynamic);
+HXLINE( 240) _hx___tink_tmp0->__SetField(HX_("augment",11,3c,02,20),_g4,::hx::paccDynamic);
}
}
HXLINE( 59) this2 = _hx___tink_tmp0;
@@ -209,25 +204,24 @@ HXDLIN( 59) return ::tink::http::Fetch_obj::fetch(this1,this2);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 58) ::tink::http::ResponseHeaderBase res2 = ( ( ::tink::http::ResponseHeaderBase)(res1->header) );
-HXDLIN( 58) ::tink::core::_Future::FutureObject this1 = ::tink::core::_Promise::Promise_Impl__obj::next(( ( ::tink::core::_Future::FutureObject)( ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,res2->byName(HX_("location",35,6e,46,e5).toLowerCase())))) ), ::Dynamic(new _hx_Closure_0(options,code,url)),null());
+HXLINE( 58) ::tink::http::ResponseHeaderBase res1 = ( ( ::tink::http::ResponseHeaderBase)(_g->header) );
+HXDLIN( 58) ::tink::core::_Future::FutureObject this1 = ::tink::core::_Promise::Promise_Impl__obj::next(( ( ::tink::core::_Future::FutureObject)( ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,res1->byName(HX_("location",35,6e,46,e5).toLowerCase())))) ), ::Dynamic(new _hx_Closure_0(options,code,url)),null());
HXDLIN( 58) this1->handle(cb);
}
else {
-HXLINE( 61) cb(::tink::core::Outcome_obj::Success(res1));
+HXLINE( 61) cb(::tink::core::Outcome_obj::Success(_g));
}
}
break;
default:{
-HXLINE( 61) cb(::tink::core::Outcome_obj::Success(res1));
+HXLINE( 61) cb(::tink::core::Outcome_obj::Success(_g));
}
}
}
}
break;
case (int)1: {
-HXLINE( 63) ::tink::core::TypedError e = ( ( ::tink::core::TypedError)(res->_hx_getObject(0)) );
-HXLINE( 64) cb(::tink::core::Outcome_obj::Failure(e));
+HXLINE( 64) cb(::tink::core::Outcome_obj::Failure(res->_hx_getObject(0)));
}
break;
}
@@ -235,17 +229,6 @@ HXLINE( 64) cb(::tink::core::Outcome_obj::Failure(e));
HX_END_LOCAL_FUNC1((void))
HX_GC_STACKFRAME(&_hx_pos_f48f5e3cc0066c7c_26_fetch)
-HXLINE( 28) ::String uri = ( (::String)(url->__Field(HX_("path",a5,e5,51,4a),::hx::paccDynamic)) );
-HXLINE( 29) if (::hx::IsNotNull( url->__Field(HX_("query",08,8b,ea,5d),::hx::paccDynamic) )) {
-HXLINE( 29) ::String uri1;
-HXDLIN( 29) if (::hx::IsNull( url->__Field(HX_("query",08,8b,ea,5d),::hx::paccDynamic) )) {
-HXLINE( 29) uri1 = HX_("null",87,9e,0e,49);
- }
- else {
-HXLINE( 29) uri1 = ( (::String)(url->__Field(HX_("query",08,8b,ea,5d),::hx::paccDynamic)) );
- }
-HXDLIN( 29) uri = (uri + (HX_("?",3f,00,00,00) + uri1));
- }
HXLINE( 31) ::String method = HX_("GET",76,1c,36,00);
HXLINE( 32) ::Array< ::Dynamic> headers = null();
HXLINE( 33) ::Dynamic body = ::tink::io::_Source::Source_Impl__obj::EMPTY;
@@ -301,8 +284,7 @@ HXLINE( 72) c = ::tink::http::clients::SocketClient_obj::__alloc( HX_CTX ,
}
break;
case (int)1: {
-HXLINE( 79) ::tink::http::containers::LocalContainer c1 = type->_hx_getObject(0).StaticCast< ::tink::http::containers::LocalContainer >();
-HXLINE( 72) c = ::tink::http::clients::LocalContainerClient_obj::__alloc( HX_CTX ,c1);
+HXLINE( 72) c = ::tink::http::clients::LocalContainerClient_obj::__alloc( HX_CTX ,type->_hx_getObject(0).StaticCast< ::tink::http::containers::LocalContainer >());
}
break;
case (int)2: {
@@ -314,8 +296,7 @@ HXLINE( 72) c = ::tink::http::clients::StdClient_obj::__alloc( HX_CTX ,nul
}
break;
case (int)4: {
-HXLINE( 82) ::Dynamic c2 = type->_hx_getObject(0);
-HXLINE( 72) c = c2;
+HXLINE( 72) c = type->_hx_getObject(0);
}
break;
}
diff --git a/Sources/c_snikket/src/tink/http/HandlerObject.cpp b/Sources/c_borogove/src/tink/http/HandlerObject.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/HandlerObject.cpp
rename to Sources/c_borogove/src/tink/http/HandlerObject.cpp
diff --git a/Sources/c_snikket/src/tink/http/Header.cpp b/Sources/c_borogove/src/tink/http/Header.cpp
similarity index 94%
rename from Sources/c_snikket/src/tink/http/Header.cpp
rename to Sources/c_borogove/src/tink/http/Header.cpp
index 64ffccb..07c6675 100644
--- a/Sources/c_snikket/src/tink/http/Header.cpp
+++ b/Sources/c_borogove/src/tink/http/Header.cpp
@@ -35,8 +35,7 @@ HXDLIN( 70) if (::hx::IsNull( fields )) {
HXDLIN( 70) _hx_tmp = ::Array_obj< ::Dynamic>::__new(0);
}
else {
-HXLINE( 72) ::Array< ::Dynamic> v = fields;
-HXLINE( 70) _hx_tmp = v;
+HXDLIN( 70) _hx_tmp = fields;
}
HXDLIN( 70) this->fields = _hx_tmp;
}
@@ -85,12 +84,10 @@ HXLINE( 91) return ::tink::core::Outcome_obj::Failure( ::tink::core::TypedEr
}
break;
case (int)1: {
-HXLINE( 92) ::String v = _g->__get(0);
-HXLINE( 93) return ::tink::core::Outcome_obj::Success(v);
+HXLINE( 93) return ::tink::core::Outcome_obj::Success(_g->__get(0));
}
break;
default:{
-HXLINE( 94) ::Array< ::String > v1 = _g;
HXLINE( 95) return ::tink::core::Outcome_obj::Failure( ::tink::core::TypedError_obj::__alloc( HX_CTX ,422,((HX_("Multiple entries for ",b7,75,a3,59) + name) + HX_(" header",ad,e1,ae,2f)),::hx::SourceInfo(HX_("tink/http/Header.hx",67,0e,72,f5),95,HX_("tink.http.Header",57,5c,5a,bd),HX_("byName",c2,2b,4e,0e))));
}
}
@@ -110,14 +107,12 @@ HXDLIN( 120) if (::hx::IsNull( _hx_tmp )) {
HXLINE( 120) return ::tink::core::Outcome_obj::Failure( ::tink::core::TypedError_obj::__alloc( HX_CTX ,422,HX_("Invalid Content-Length Header",0a,38,79,18),::hx::SourceInfo(HX_("tink/http/Header.hx",67,0e,72,f5),120,HX_("tink.http.Header",57,5c,5a,bd),HX_("getContentLength",89,70,23,df))));
}
else {
-HXLINE( 121) ::Dynamic v = _hx_tmp;
-HXDLIN( 121) return ::tink::core::Outcome_obj::Success(v);
+HXLINE( 121) return ::tink::core::Outcome_obj::Success(_hx_tmp);
}
}
break;
case (int)1: {
-HXLINE( 122) ::tink::core::TypedError e = ( ( ::tink::core::TypedError)(_g->_hx_getObject(0)) );
-HXDLIN( 122) return ::tink::core::Outcome_obj::Failure(e);
+HXLINE( 122) return ::tink::core::Outcome_obj::Failure(_g->_hx_getObject(0));
}
break;
}
diff --git a/Sources/c_snikket/src/tink/http/HeaderField.cpp b/Sources/c_borogove/src/tink/http/HeaderField.cpp
similarity index 96%
rename from Sources/c_snikket/src/tink/http/HeaderField.cpp
rename to Sources/c_borogove/src/tink/http/HeaderField.cpp
index f61857b..87bf00f 100644
--- a/Sources/c_snikket/src/tink/http/HeaderField.cpp
+++ b/Sources/c_borogove/src/tink/http/HeaderField.cpp
@@ -62,9 +62,8 @@ HXDLIN( 257) if ((_g == -1)) {
HXLINE( 259) return ::tink::http::HeaderField_obj::__alloc( HX_CTX ,s.toLowerCase(),null());
}
else {
-HXLINE( 260) int v = _g;
-HXLINE( 261) ::String this1 = s.substr(0,v).toLowerCase();
-HXDLIN( 261) return ::tink::http::HeaderField_obj::__alloc( HX_CTX ,this1,::StringTools_obj::trim(s.substr((v + 1),null())));
+HXLINE( 261) ::String _hx_tmp = s.substr(0,_g).toLowerCase();
+HXDLIN( 261) return ::tink::http::HeaderField_obj::__alloc( HX_CTX ,_hx_tmp,::StringTools_obj::trim(s.substr((_g + 1),null())));
}
HXLINE( 257) return null();
}
diff --git a/Sources/c_snikket/src/tink/http/HeaderParser.cpp b/Sources/c_borogove/src/tink/http/HeaderParser.cpp
similarity index 94%
rename from Sources/c_snikket/src/tink/http/HeaderParser.cpp
rename to Sources/c_borogove/src/tink/http/HeaderParser.cpp
index b6db3c4..acd5efd 100644
--- a/Sources/c_snikket/src/tink/http/HeaderParser.cpp
+++ b/Sources/c_borogove/src/tink/http/HeaderParser.cpp
@@ -77,12 +77,11 @@ HXLINE( 314) if ((_g == 13)) {
HXLINE( 321) return this->nextLine();
}
else {
-HXLINE( 340) int other = c;
-HXLINE( 342) this->last = other;
+HXLINE( 342) this->last = c;
HXLINE( 343) {
HXLINE( 343) ::StringBuf _this = this->buf;
-HXDLIN( 343) if ((other >= 127)) {
-HXLINE( 343) ::String x = ::String::fromCharCode(other);
+HXDLIN( 343) if ((c >= 127)) {
+HXLINE( 343) ::String x = ::String::fromCharCode(c);
HXDLIN( 343) if (::hx::IsNotNull( _this->charBuf )) {
HXLINE( 343) _this->flush();
}
@@ -98,7 +97,7 @@ HXDLIN( 343) _this1->push(::Std_obj::string(x));
HXLINE( 343) if (::hx::IsNull( _this->charBuf )) {
HXLINE( 343) _this->charBuf = ::Array_obj< char >::__new();
}
-HXDLIN( 343) _this->charBuf->push(other);
+HXDLIN( 343) _this->charBuf->push(c);
}
}
HXLINE( 344) return ::tink::io::ParseStep_obj::Progressed_dyn();
@@ -140,7 +139,6 @@ HXLINE( 338) return ::tink::io::ParseStep_obj::Progressed_dyn();
break;
default:{
HXLINE( 314) if ((_g == 13)) {
-HXLINE( 328) int other1 = c;
HXLINE( 330) {
HXLINE( 330) ::StringBuf _this4 = this->buf;
HXDLIN( 330) int c2 = this->last;
@@ -166,8 +164,8 @@ HXDLIN( 330) _this4->charBuf->push(c2);
}
HXLINE( 331) {
HXLINE( 331) ::StringBuf _this6 = this->buf;
-HXDLIN( 331) if ((other1 >= 127)) {
-HXLINE( 331) ::String x3 = ::String::fromCharCode(other1);
+HXDLIN( 331) if ((c >= 127)) {
+HXLINE( 331) ::String x3 = ::String::fromCharCode(c);
HXDLIN( 331) if (::hx::IsNotNull( _this6->charBuf )) {
HXLINE( 331) _this6->flush();
}
@@ -183,19 +181,18 @@ HXDLIN( 331) _this7->push(::Std_obj::string(x3));
HXLINE( 331) if (::hx::IsNull( _this6->charBuf )) {
HXLINE( 331) _this6->charBuf = ::Array_obj< char >::__new();
}
-HXDLIN( 331) _this6->charBuf->push(other1);
+HXDLIN( 331) _this6->charBuf->push(c);
}
}
HXLINE( 332) this->last = -1;
HXLINE( 333) return ::tink::io::ParseStep_obj::Progressed_dyn();
}
else {
-HXLINE( 340) int other2 = c;
-HXLINE( 342) this->last = other2;
+HXLINE( 342) this->last = c;
HXLINE( 343) {
HXLINE( 343) ::StringBuf _this8 = this->buf;
-HXDLIN( 343) if ((other2 >= 127)) {
-HXLINE( 343) ::String x4 = ::String::fromCharCode(other2);
+HXDLIN( 343) if ((c >= 127)) {
+HXLINE( 343) ::String x4 = ::String::fromCharCode(c);
HXDLIN( 343) if (::hx::IsNotNull( _this8->charBuf )) {
HXLINE( 343) _this8->flush();
}
@@ -211,7 +208,7 @@ HXDLIN( 343) _this9->push(::Std_obj::string(x4));
HXLINE( 343) if (::hx::IsNull( _this8->charBuf )) {
HXLINE( 343) _this8->charBuf = ::Array_obj< char >::__new();
}
-HXDLIN( 343) _this8->charBuf->push(other2);
+HXDLIN( 343) _this8->charBuf->push(c);
}
}
HXLINE( 344) return ::tink::io::ParseStep_obj::Progressed_dyn();
@@ -245,15 +242,13 @@ HXLINE( 363) if (::hx::IsNull( _g1 )) {
HXLINE( 364) return ::tink::io::ParseStep_obj::Done((this->header = null()));
}
else {
-HXLINE( 365) ::Dynamic v = _g1;
-HXLINE( 366) this->header = v;
+HXLINE( 366) this->header = _g1;
HXLINE( 367) return ::tink::io::ParseStep_obj::Progressed_dyn();
}
}
break;
case (int)1: {
-HXLINE( 368) ::tink::core::TypedError e = ( ( ::tink::core::TypedError)(_g->_hx_getObject(0)) );
-HXLINE( 369) return ::tink::io::ParseStep_obj::Failed(e);
+HXLINE( 369) return ::tink::io::ParseStep_obj::Failed(_g->_hx_getObject(0));
}
break;
}
diff --git a/Sources/c_snikket/src/tink/http/IncomingRequest.cpp b/Sources/c_borogove/src/tink/http/IncomingRequest.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/IncomingRequest.cpp
rename to Sources/c_borogove/src/tink/http/IncomingRequest.cpp
diff --git a/Sources/c_snikket/src/tink/http/IncomingRequestBody.cpp b/Sources/c_borogove/src/tink/http/IncomingRequestBody.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/IncomingRequestBody.cpp
rename to Sources/c_borogove/src/tink/http/IncomingRequestBody.cpp
diff --git a/Sources/c_snikket/src/tink/http/IncomingRequestHeader.cpp b/Sources/c_borogove/src/tink/http/IncomingRequestHeader.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/IncomingRequestHeader.cpp
rename to Sources/c_borogove/src/tink/http/IncomingRequestHeader.cpp
diff --git a/Sources/c_snikket/src/tink/http/IncomingResponse.cpp b/Sources/c_borogove/src/tink/http/IncomingResponse.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/IncomingResponse.cpp
rename to Sources/c_borogove/src/tink/http/IncomingResponse.cpp
diff --git a/Sources/c_snikket/src/tink/http/Message.cpp b/Sources/c_borogove/src/tink/http/Message.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/Message.cpp
rename to Sources/c_borogove/src/tink/http/Message.cpp
diff --git a/Sources/c_snikket/src/tink/http/OutgoingRequest.cpp b/Sources/c_borogove/src/tink/http/OutgoingRequest.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/OutgoingRequest.cpp
rename to Sources/c_borogove/src/tink/http/OutgoingRequest.cpp
diff --git a/Sources/c_snikket/src/tink/http/OutgoingRequestHeader.cpp b/Sources/c_borogove/src/tink/http/OutgoingRequestHeader.cpp
similarity index 95%
rename from Sources/c_snikket/src/tink/http/OutgoingRequestHeader.cpp
rename to Sources/c_borogove/src/tink/http/OutgoingRequestHeader.cpp
index af3ac02..5ca1448 100644
--- a/Sources/c_snikket/src/tink/http/OutgoingRequestHeader.cpp
+++ b/Sources/c_borogove/src/tink/http/OutgoingRequestHeader.cpp
@@ -39,10 +39,10 @@ void OutgoingRequestHeader_obj::__construct(::String method, ::Dynamic url,::Str
HXLINE( 119) {
HXLINE( 119) ::haxe::ds::Option _g = ::tink::http::OutgoingRequestHeader_obj::extractAuth(url);
HXDLIN( 119) if ((_g->_hx_getIndex() == 0)) {
-HXLINE( 120) ::Dynamic v = _g->_hx_getObject(0);
+HXLINE( 120) ::Dynamic _g1 = _g->_hx_getObject(0);
HXDLIN( 120) {
-HXLINE( 121) url = v->__Field(HX_("url",6f,2b,59,00),::hx::paccDynamic);
-HXLINE( 122) fields = fields->concat(( (::Array< ::Dynamic>)(v->__Field(HX_("headers",46,52,08,63),::hx::paccDynamic)) ));
+HXLINE( 121) url = _g1->__Field(HX_("url",6f,2b,59,00),::hx::paccDynamic);
+HXLINE( 122) fields = fields->concat(( (::Array< ::Dynamic>)(_g1->__Field(HX_("headers",46,52,08,63),::hx::paccDynamic)) ));
}
}
}
@@ -90,20 +90,19 @@ HXLINE( 130) if (::hx::IsNull( _g )) {
HXLINE( 130) return ::haxe::ds::Option_obj::None_dyn();
}
else {
-HXLINE( 131) ::String v = _g;
HXLINE( 133) ::String _hx_tmp;
-HXDLIN( 133) if (::hx::IsNull( v )) {
+HXDLIN( 133) if (::hx::IsNull( _g )) {
HXLINE( 133) _hx_tmp = null();
}
else {
-HXLINE( 133) _hx_tmp = v.split(HX_(":",3a,00,00,00))->__get(0);
+HXLINE( 133) _hx_tmp = _g.split(HX_(":",3a,00,00,00))->__get(0);
}
HXDLIN( 133) ::String _hx_tmp1;
-HXDLIN( 133) if (::hx::IsNull( v )) {
+HXDLIN( 133) if (::hx::IsNull( _g )) {
HXLINE( 133) _hx_tmp1 = null();
}
else {
-HXLINE( 133) _hx_tmp1 = v.split(HX_(":",3a,00,00,00))->__get(1);
+HXLINE( 133) _hx_tmp1 = _g.split(HX_(":",3a,00,00,00))->__get(1);
}
HXDLIN( 133) ::Array< ::Dynamic> _hx_tmp2 = ::Array_obj< ::Dynamic>::__new(1)->init(0, ::tink::http::HeaderField_obj::__alloc( HX_CTX ,HX_("authorization",f9,19,4c,e9),::tink::http::_Header::HeaderValue_Impl__obj::basicAuth(_hx_tmp,_hx_tmp1)));
HXLINE( 135) ::String url1 = ( (::String)(url->__Field(HX_("scheme",25,20,c1,40),::hx::paccDynamic)) );
diff --git a/Sources/c_snikket/src/tink/http/RequestHeader.cpp b/Sources/c_borogove/src/tink/http/RequestHeader.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/RequestHeader.cpp
rename to Sources/c_borogove/src/tink/http/RequestHeader.cpp
diff --git a/Sources/c_snikket/src/tink/http/ResponseHeaderBase.cpp b/Sources/c_borogove/src/tink/http/ResponseHeaderBase.cpp
similarity index 96%
rename from Sources/c_snikket/src/tink/http/ResponseHeaderBase.cpp
rename to Sources/c_borogove/src/tink/http/ResponseHeaderBase.cpp
index 091ad47..26da349 100644
--- a/Sources/c_snikket/src/tink/http/ResponseHeaderBase.cpp
+++ b/Sources/c_borogove/src/tink/http/ResponseHeaderBase.cpp
@@ -89,11 +89,11 @@ HXDLIN( 48) return (_hx_tmp + this->super::toString());
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
::tink::core::Outcome _hx_run(::String line,::Array< ::Dynamic> headers){
HX_GC_STACKFRAME(&_hx_pos_ceafa2a18ff2acf0_52_parser)
-HXLINE( 53) ::Array< ::String > v = line.split(HX_(" ",20,00,00,00));
-HXDLIN( 53) if ((v->length >= 3)) {
-HXLINE( 54) int statusCode = ( (int)(::Std_obj::parseInt(v->__get(1))) );
-HXDLIN( 54) ::String reason = v->slice(2,null())->join(HX_(" ",20,00,00,00));
-HXDLIN( 54) ::String protocol = v->__get(0);
+HXLINE( 52) ::Array< ::String > _g = line.split(HX_(" ",20,00,00,00));
+HXLINE( 53) if ((_g->length >= 3)) {
+HXLINE( 54) int statusCode = ( (int)(::Std_obj::parseInt(_g->__get(1))) );
+HXDLIN( 54) ::String reason = _g->slice(2,null())->join(HX_(" ",20,00,00,00));
+HXDLIN( 54) ::String protocol = _g->__get(0);
HXDLIN( 54) if (::hx::IsNull( protocol )) {
HXLINE( 54) protocol = HX_("HTTP/1.1",6d,25,7a,80);
}
diff --git a/Sources/c_snikket/src/tink/http/_Client/CustomClient.cpp b/Sources/c_borogove/src/tink/http/_Client/CustomClient.cpp
similarity index 97%
rename from Sources/c_snikket/src/tink/http/_Client/CustomClient.cpp
rename to Sources/c_borogove/src/tink/http/_Client/CustomClient.cpp
index 617071e..74e42f6 100644
--- a/Sources/c_snikket/src/tink/http/_Client/CustomClient.cpp
+++ b/Sources/c_borogove/src/tink/http/_Client/CustomClient.cpp
@@ -169,13 +169,11 @@ HX_DEFINE_DYNAMIC_FUNC1(CustomClient_obj,request,return )
::cpp::VirtualArray CustomClient_obj::concat(::cpp::VirtualArray a,::cpp::VirtualArray b){
HX_STACKFRAME(&_hx_pos_983447f51cb5207c_72_concat)
HXDLIN( 72) if (::hx::IsNull( a )) {
-HXLINE( 73) ::cpp::VirtualArray v = b;
-HXDLIN( 73) return v;
+HXLINE( 73) return b;
}
else {
HXLINE( 73) if (::hx::IsNull( b )) {
-HXLINE( 73) ::cpp::VirtualArray v1 = a;
-HXDLIN( 73) return v1;
+HXLINE( 73) return a;
}
else {
HXLINE( 74) return a->concat(b);
@@ -194,10 +192,9 @@ HXLINE( 79) if (::hx::IsNull( _g )) {
HXLINE( 79) return ::tink::http::_Client::CustomClient_obj::__alloc( HX_CTX ,preprocessors,postprocessors,c);
}
else {
-HXLINE( 80) ::tink::http::_Client::CustomClient v = _g;
-HXDLIN( 80) ::Array< ::Dynamic> _hx_tmp = ::tink::http::_Client::CustomClient_obj::concat(preprocessors,v->preprocessors);
-HXDLIN( 80) ::Array< ::Dynamic> _hx_tmp1 = ::tink::http::_Client::CustomClient_obj::concat(v->postprocessors,postprocessors);
-HXDLIN( 80) return ::tink::http::_Client::CustomClient_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,v->real);
+HXLINE( 80) ::Array< ::Dynamic> _hx_tmp = ::tink::http::_Client::CustomClient_obj::concat(preprocessors,_g->preprocessors);
+HXDLIN( 80) ::Array< ::Dynamic> _hx_tmp1 = ::tink::http::_Client::CustomClient_obj::concat(_g->postprocessors,postprocessors);
+HXDLIN( 80) return ::tink::http::_Client::CustomClient_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,_g->real);
}
HXLINE( 79) return null();
}
diff --git a/Sources/c_snikket/src/tink/http/_Fetch/FetchResponse_Impl_.cpp b/Sources/c_borogove/src/tink/http/_Fetch/FetchResponse_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/_Fetch/FetchResponse_Impl_.cpp
rename to Sources/c_borogove/src/tink/http/_Fetch/FetchResponse_Impl_.cpp
diff --git a/Sources/c_snikket/src/tink/http/_Header/HeaderValue_Impl_.cpp b/Sources/c_borogove/src/tink/http/_Header/HeaderValue_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/_Header/HeaderValue_Impl_.cpp
rename to Sources/c_borogove/src/tink/http/_Header/HeaderValue_Impl_.cpp
diff --git a/Sources/c_snikket/src/tink/http/_Response/OutgoingResponseData.cpp b/Sources/c_borogove/src/tink/http/_Response/OutgoingResponseData.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/_Response/OutgoingResponseData.cpp
rename to Sources/c_borogove/src/tink/http/_Response/OutgoingResponseData.cpp
diff --git a/Sources/c_snikket/src/tink/http/clients/CurlClient.cpp b/Sources/c_borogove/src/tink/http/clients/CurlClient.cpp
similarity index 92%
rename from Sources/c_snikket/src/tink/http/clients/CurlClient.cpp
rename to Sources/c_borogove/src/tink/http/clients/CurlClient.cpp
index 9d3f803..186db04 100644
--- a/Sources/c_snikket/src/tink/http/clients/CurlClient.cpp
+++ b/Sources/c_borogove/src/tink/http/clients/CurlClient.cpp
@@ -166,8 +166,7 @@ void *CurlClient_obj::_hx_getInterface(int inHash) {
HXDLIN( 20) ::haxe::ds::Option _g = ::tink::http::clients::Helpers_obj::checkScheme(( (::String)(( ( ::tink::http::RequestHeader)(req->header) )->url->__Field(HX_("scheme",25,20,c1,40),::hx::paccDynamic)) ));
HXDLIN( 20) switch((int)(_g->_hx_getIndex())){
case (int)0: {
-HXLINE( 21) ::tink::core::TypedError e = ( ( ::tink::core::TypedError)(_g->_hx_getObject(0)) );
-HXLINE( 22) return ( ( ::tink::core::_Future::FutureObject)( ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::core::Outcome_obj::Failure(e)))) );
+HXLINE( 22) return ( ( ::tink::core::_Future::FutureObject)( ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::core::Outcome_obj::Failure(_g->_hx_getObject(0))))) );
}
break;
case (int)1: {
@@ -199,11 +198,11 @@ HXDLIN( 34) goto _hx_goto_1;
}
_hx_goto_1:;
HXLINE( 38) {
-HXLINE( 38) int _g_current = 0;
-HXDLIN( 38) ::Array< ::Dynamic> _g_array = ( ( ::tink::http::Header)(req->header) )->fields;
-HXDLIN( 38) while((_g_current < _g_array->length)){
+HXLINE( 38) ::Array< ::Dynamic> _this = ( ( ::tink::http::Header)(req->header) )->fields;
+HXDLIN( 38) int _g_current = 0;
+HXDLIN( 38) while((_g_current < _this->length)){
HXLINE( 38) _g_current = (_g_current + 1);
-HXDLIN( 38) ::tink::http::HeaderField header = _g_array->__get((_g_current - 1)).StaticCast< ::tink::http::HeaderField >();
+HXDLIN( 38) ::tink::http::HeaderField header = _this->__get((_g_current - 1)).StaticCast< ::tink::http::HeaderField >();
HXLINE( 39) args->push(HX_("-H",7b,27,00,00));
HXLINE( 40) args->push((((HX_("",00,00,00,00) + header->name) + HX_(": ",a6,32,00,00)) + header->value));
}
@@ -231,17 +230,14 @@ HXLINE( 67) ::tink::io::_Source::Source_Impl__obj::pipeTo(body,sink, ::Dynamic
->setFixed(0,HX_("end",db,03,4d,00),true)))->eager();
HXLINE( 68) ::Dynamic _g = process->exitCode(null());
HXDLIN( 68) if (::hx::IsNull( _g )) {
-HXLINE( 70) ::Dynamic v = _g;
-HXDLIN( 70) ::String _hx_tmp = process->_hx_stderr->readAll(null())->toString();
-HXDLIN( 70) return ::tink::io::_Source::Source_Impl__obj::ofError( ::tink::core::TypedError_obj::__alloc( HX_CTX ,v,_hx_tmp,::hx::SourceInfo(HX_("tink/http/clients/CurlClient.hx",16,ad,5c,b4),70,HX_("tink.http.clients.CurlClient",07,cf,5a,a4),HX_("curl",ec,4a,c9,41))));
+HXLINE( 70) ::String _hx_tmp = process->_hx_stderr->readAll(null())->toString();
+HXDLIN( 70) return ::tink::io::_Source::Source_Impl__obj::ofError( ::tink::core::TypedError_obj::__alloc( HX_CTX ,_g,_hx_tmp,::hx::SourceInfo(HX_("tink/http/clients/CurlClient.hx",16,ad,5c,b4),70,HX_("tink.http.clients.CurlClient",07,cf,5a,a4),HX_("curl",ec,4a,c9,41))));
}
else {
HXLINE( 68) if (::hx::IsEq( _g,0 )) {
HXLINE( 69) ::haxe::io::Input input = process->_hx_stdout;
HXDLIN( 69) ::Dynamic options = null();
-HXDLIN( 69) if (::hx::IsNull( options )) {
-HXLINE( 69) options = ::Dynamic(::hx::Anon_obj::Create(0));
- }
+HXDLIN( 69) options = ::Dynamic(::hx::Anon_obj::Create(0));
HXDLIN( 69) ::Dynamic _hx_tmp1 = ::tink::io::_Worker::Worker_Impl__obj::ensure( ::Dynamic(options->__Field(HX_("worker",7e,30,9e,c9),::hx::paccDynamic)));
HXDLIN( 69) ::Dynamic _g1 = options->__Field(HX_("chunkSize",ce,cd,77,9f),::hx::paccDynamic);
HXDLIN( 69) int _hx_tmp2;
@@ -249,15 +245,13 @@ HXDLIN( 69) if (::hx::IsNull( _g1 )) {
HXLINE( 69) _hx_tmp2 = 65536;
}
else {
-HXLINE( 69) ::Dynamic v1 = _g1;
-HXDLIN( 69) _hx_tmp2 = ( (int)(v1) );
+HXLINE( 69) _hx_tmp2 = ( (int)(_g1) );
}
HXDLIN( 69) return ::tink::io::std::InputSource_obj::__alloc( HX_CTX ,HX_("stdout",cb,bf,f3,07),input,_hx_tmp1,::haxe::io::Bytes_obj::alloc(_hx_tmp2),0);
}
else {
-HXLINE( 70) ::Dynamic v2 = _g;
-HXDLIN( 70) ::String _hx_tmp3 = process->_hx_stderr->readAll(null())->toString();
-HXDLIN( 70) return ::tink::io::_Source::Source_Impl__obj::ofError( ::tink::core::TypedError_obj::__alloc( HX_CTX ,v2,_hx_tmp3,::hx::SourceInfo(HX_("tink/http/clients/CurlClient.hx",16,ad,5c,b4),70,HX_("tink.http.clients.CurlClient",07,cf,5a,a4),HX_("curl",ec,4a,c9,41))));
+HXLINE( 70) ::String _hx_tmp3 = process->_hx_stderr->readAll(null())->toString();
+HXDLIN( 70) return ::tink::io::_Source::Source_Impl__obj::ofError( ::tink::core::TypedError_obj::__alloc( HX_CTX ,_g,_hx_tmp3,::hx::SourceInfo(HX_("tink/http/clients/CurlClient.hx",16,ad,5c,b4),70,HX_("tink.http.clients.CurlClient",07,cf,5a,a4),HX_("curl",ec,4a,c9,41))));
}
}
HXLINE( 68) return null();
diff --git a/Sources/c_snikket/src/tink/http/clients/Helpers.cpp b/Sources/c_borogove/src/tink/http/clients/Helpers.cpp
similarity index 95%
rename from Sources/c_snikket/src/tink/http/clients/Helpers.cpp
rename to Sources/c_borogove/src/tink/http/clients/Helpers.cpp
index 8181a5b..e0a7408 100644
--- a/Sources/c_snikket/src/tink/http/clients/Helpers.cpp
+++ b/Sources/c_borogove/src/tink/http/clients/Helpers.cpp
@@ -45,8 +45,7 @@ HXLINE( 9) return ::haxe::ds::Option_obj::None_dyn();
HXDLIN( 9) goto _hx_goto_0;
}
/* default */{
-HXLINE( 10) ::String v = s;
-HXDLIN( 10) return ::haxe::ds::Option_obj::Some( ::tink::core::TypedError_obj::__alloc( HX_CTX ,400,((HX_("Invalid Scheme \"",f0,95,05,b3) + v) + HX_("\" (expected http/https)",c7,d4,d0,02)),::hx::SourceInfo(HX_("tink/http/clients/Helpers.hx",ea,44,04,cb),17,HX_("tink.http.clients.Helpers",95,28,6d,fc),HX_("invalidSchemeError",ac,37,0e,04))));
+HXLINE( 10) return ::haxe::ds::Option_obj::Some( ::tink::core::TypedError_obj::__alloc( HX_CTX ,400,((HX_("Invalid Scheme \"",f0,95,05,b3) + s) + HX_("\" (expected http/https)",c7,d4,d0,02)),::hx::SourceInfo(HX_("tink/http/clients/Helpers.hx",ea,44,04,cb),17,HX_("tink.http.clients.Helpers",95,28,6d,fc),HX_("invalidSchemeError",ac,37,0e,04))));
}
_hx_goto_0:;
}
diff --git a/Sources/c_snikket/src/tink/http/clients/LocalContainerClient.cpp b/Sources/c_borogove/src/tink/http/clients/LocalContainerClient.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/http/clients/LocalContainerClient.cpp
rename to Sources/c_borogove/src/tink/http/clients/LocalContainerClient.cpp
diff --git a/Sources/c_snikket/src/tink/http/clients/SocketClient.cpp b/Sources/c_borogove/src/tink/http/clients/SocketClient.cpp
similarity index 57%
rename from Sources/c_snikket/src/tink/http/clients/SocketClient.cpp
rename to Sources/c_borogove/src/tink/http/clients/SocketClient.cpp
index 50591fb..f3d6c48 100644
--- a/Sources/c_snikket/src/tink/http/clients/SocketClient.cpp
+++ b/Sources/c_borogove/src/tink/http/clients/SocketClient.cpp
@@ -203,8 +203,7 @@ void *SocketClient_obj::_hx_getInterface(int inHash) {
HXLINE( 23) ::haxe::ds::Option _g = ::tink::http::clients::Helpers_obj::checkScheme(( (::String)(( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url->__Field(HX_("scheme",25,20,c1,40),::hx::paccDynamic)) ));
HXDLIN( 23) switch((int)(_g->_hx_getIndex())){
case (int)0: {
-HXLINE( 24) ::tink::core::TypedError e = ( ( ::tink::core::TypedError)(_g->_hx_getObject(0)) );
-HXLINE( 25) cb(::tink::core::Outcome_obj::Failure(e));
+HXLINE( 25) cb(::tink::core::Outcome_obj::Failure(_g->_hx_getObject(0)));
}
break;
case (int)1: {
@@ -217,6 +216,137 @@ HXDLIN( 29) req[0] = ::tink::http::OutgoingRequest_obj::__alloc( HX_CTX ,
}
HX_END_LOCAL_FUNC1((void))
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1,::Array< ::Dynamic>,req1, ::sys::net::Socket,socket, ::Dynamic,port) HXARGC(0)
+ ::tink::core::Outcome _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_97c1c174291a2ab6_63_request)
+HXLINE( 63) try {
+ HX_STACK_CATCHABLE( ::Dynamic, 0);
+HXLINE( 63) ::sys::net::Socket socket1 = socket;
+HXDLIN( 63) ::String this1 = ::tink::url::_Host::Host_Impl__obj::get_name(( (::Array< ::String >)(( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url->__Field(HX_("hosts",0b,ac,62,2b),::hx::paccDynamic)) )->__get(0));
+HXDLIN( 63) socket1->connect( ::sys::net::Host_obj::__alloc( HX_CTX ,this1),( (int)(port) ));
+HXDLIN( 63) return ::tink::core::Outcome_obj::Success(null());
+ } catch( ::Dynamic _hx_e) {
+ if (_hx_e.IsClass< ::Dynamic >() ){
+ HX_STACK_BEGIN_CATCH
+ ::Dynamic _g = _hx_e;
+HXLINE( 64) {
+HXLINE( 64) null();
+ }
+HXDLIN( 64) ::String this2 = ::Std_obj::string(_g);
+HXDLIN( 64) return ::tink::core::Outcome_obj::Failure( ::tink::core::TypedError_obj::__alloc( HX_CTX ,null(),this2,::hx::SourceInfo(HX_("tink/http/clients/SocketClient.hx",2f,8d,d5,e0),64,HX_("tink.http.clients.SocketClient",0e,eb,a7,43),HX_("request",4f,df,84,44))));
+ }
+ else {
+ HX_STACK_DO_THROW(_hx_e);
+ }
+ }
+HXLINE( 63) return null();
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_4, ::tink::http::clients::SocketClient,_gthis,::Array< ::Dynamic>,req1, ::sys::net::Socket,socket, ::Dynamic,cb) HXARGC(1)
+ void _hx_run( ::tink::core::Outcome outcome){
+ HX_GC_STACKFRAME(&_hx_pos_97c1c174291a2ab6_65_request)
+HXLINE( 66) switch((int)(outcome->_hx_getIndex())){
+ case (int)0: {
+ }
+ break;
+ case (int)1: {
+HXLINE( 68) cb(::tink::core::Outcome_obj::Failure(outcome->_hx_getObject(0)));
+HXDLIN( 68) return;
+ }
+ break;
+ }
+HXLINE( 71) ::String sink;
+HXDLIN( 71) if (::hx::IsNull( ( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url )) {
+HXLINE( 71) sink = HX_("null",87,9e,0e,49);
+ }
+ else {
+HXLINE( 71) sink = ::tink::_Url::Url_Impl__obj::toString(( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url);
+ }
+HXDLIN( 71) ::Dynamic sink1 = ::tink::io::_Sink::SinkYielding_Impl__obj::ofOutput((HX_("Request to ",d4,04,3a,a8) + sink),socket->output, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("worker",7e,30,9e,c9),_gthis->worker)));
+HXLINE( 72) ::String name;
+HXDLIN( 72) if (::hx::IsNull( ( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url )) {
+HXLINE( 72) name = HX_("null",87,9e,0e,49);
+ }
+ else {
+HXLINE( 72) name = ::tink::_Url::Url_Impl__obj::toString(( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url);
+ }
+HXDLIN( 72) ::haxe::io::Input input = socket->input;
+HXDLIN( 72) ::Dynamic options = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("worker",7e,30,9e,c9),_gthis->worker));
+HXDLIN( 72) if (::hx::IsNull( options )) {
+HXLINE( 72) options = ::Dynamic(::hx::Anon_obj::Create(0));
+ }
+HXDLIN( 72) ::Dynamic source = ::tink::io::_Worker::Worker_Impl__obj::ensure( ::Dynamic(options->__Field(HX_("worker",7e,30,9e,c9),::hx::paccDynamic)));
+HXDLIN( 72) ::Dynamic _g = options->__Field(HX_("chunkSize",ce,cd,77,9f),::hx::paccDynamic);
+HXDLIN( 72) int source1;
+HXDLIN( 72) if (::hx::IsNull( _g )) {
+HXLINE( 72) source1 = 65536;
+ }
+ else {
+HXLINE( 72) source1 = ( (int)(_g) );
+ }
+HXDLIN( 72) ::Dynamic source2 = ::tink::io::std::InputSource_obj::__alloc( HX_CTX ,(HX_("Response from ",b7,3c,63,ba) + name),input,source,::haxe::io::Bytes_obj::alloc(source1),0);
+HXLINE( 74) {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3,::Dynamic,source2, ::Dynamic,cb) HXARGC(1)
+ void _hx_run( ::tink::io::PipeResult r){
+ HX_GC_STACKFRAME(&_hx_pos_97c1c174291a2ab6_75_request)
+HXLINE( 75) switch((int)(r->_hx_getIndex())){
+ case (int)0: {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::Dynamic,cb) HXARGC(1)
+ void _hx_run( ::tink::core::Outcome o){
+ HX_GC_STACKFRAME(&_hx_pos_97c1c174291a2ab6_77_request)
+HXLINE( 77) switch((int)(o->_hx_getIndex())){
+ case (int)0: {
+HXLINE( 78) ::tink::core::MPair _g = ( ( ::tink::core::MPair)(o->_hx_getObject(0)) );
+HXLINE( 79) {
+HXLINE( 79) ::tink::core::Outcome _g1 = ( ( ::tink::http::ResponseHeaderBase)(_g->a) )->getContentLength();
+HXDLIN( 79) switch((int)(_g1->_hx_getIndex())){
+ case (int)0: {
+HXLINE( 80) ::Dynamic cb1 = cb;
+HXDLIN( 80) ::tink::http::ResponseHeaderBase parsed = ( ( ::tink::http::ResponseHeaderBase)(_g->a) );
+HXDLIN( 80) cb1(::tink::core::Outcome_obj::Success( ::tink::http::IncomingResponse_obj::__alloc( HX_CTX ,parsed,::tink::io::_Source::Source_Impl__obj::limit(_g->b,( (int)(_g1->_hx_getObject(0)) )))));
+ }
+ break;
+ case (int)1: {
+HXLINE( 81) cb(::tink::core::Outcome_obj::Failure( ::tink::core::TypedError_obj::__alloc( HX_CTX ,null(),HX_("Chunked encoding is not supported and the content-length header is required.",7a,e4,4f,2a),::hx::SourceInfo(HX_("tink/http/clients/SocketClient.hx",2f,8d,d5,e0),81,HX_("tink.http.clients.SocketClient",0e,eb,a7,43),HX_("request",4f,df,84,44)))));
+ }
+ break;
+ }
+ }
+ }
+ break;
+ case (int)1: {
+HXLINE( 83) cb(::tink::core::Outcome_obj::Failure(o->_hx_getObject(0)));
+ }
+ break;
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 77) ::Dynamic source = source2;
+HXDLIN( 77) ::tink::io::RealSourceTools_obj::parse(source,::tink::http::ResponseHeaderBase_obj::parser())->handle( ::Dynamic(new _hx_Closure_2(cb)));
+ }
+ break;
+ case (int)1: {
+HXLINE( 86) cb(::tink::core::Outcome_obj::Failure( ::tink::core::TypedError_obj::__alloc( HX_CTX ,null(),HX_("Sink ended unexpectedly",11,17,7b,75),::hx::SourceInfo(HX_("tink/http/clients/SocketClient.hx",2f,8d,d5,e0),86,HX_("tink.http.clients.SocketClient",0e,eb,a7,43),HX_("request",4f,df,84,44)))));
+ }
+ break;
+ case (int)2: {
+HXLINE( 87) cb(::tink::core::Outcome_obj::Failure(r->_hx_getObject(0).StaticCast< ::tink::core::TypedError >()));
+ }
+ break;
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 74) ::Dynamic this1 = req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->body;
+HXDLIN( 74) ::tink::io::_Source::Source_Impl__obj::pipeTo(::tink::streams::StreamObject_obj::prepend(this1, ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::chunk::ByteChunk_obj::of(::haxe::io::Bytes_obj::ofString(( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->toString(),null()))))),sink1,null())->handle( ::Dynamic(new _hx_Closure_3(source2,cb)));
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
HXLINE( 28) ::Dynamic addHeaders = ::Dynamic(new _hx_Closure_0(req1));
HXLINE( 31) {
HXLINE( 31) ::tink::http::OutgoingRequestHeader req = ( ( ::tink::http::OutgoingRequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) );
@@ -225,15 +355,12 @@ HXDLIN( 31) switch((int)(_g1->_hx_getIndex())){
case (int)0: {
HXLINE( 34) ::String _g2 = ( (::String)(_g1->_hx_getObject(0)) );
HXLINE( 32) if ((_g2.toLowerCase() != HX_("close",b8,17,63,48))) {
-HXLINE( 34) ::String v = _g2;
-HXLINE( 35) ::Dynamic cb1 = cb;
-HXDLIN( 35) cb1(::tink::core::Outcome_obj::Failure( ::tink::core::TypedError_obj::__alloc( HX_CTX ,null(),((HX_("Only \"Connection: Close\" is supported. But specified as \"",51,75,09,61) + v) + HX_("\"",22,00,00,00)),::hx::SourceInfo(HX_("tink/http/clients/SocketClient.hx",2f,8d,d5,e0),35,HX_("tink.http.clients.SocketClient",0e,eb,a7,43),HX_("request",4f,df,84,44)))));
+HXLINE( 35) cb(::tink::core::Outcome_obj::Failure( ::tink::core::TypedError_obj::__alloc( HX_CTX ,null(),((HX_("Only \"Connection: Close\" is supported. But specified as \"",51,75,09,61) + _g2) + HX_("\"",22,00,00,00)),::hx::SourceInfo(HX_("tink/http/clients/SocketClient.hx",2f,8d,d5,e0),35,HX_("tink.http.clients.SocketClient",0e,eb,a7,43),HX_("request",4f,df,84,44)))));
HXLINE( 36) return;
}
}
break;
case (int)1: {
-HXLINE( 37) ::tink::core::TypedError _g3 = ( ( ::tink::core::TypedError)(_g1->_hx_getObject(0)) );
HXLINE( 38) ::Dynamic addHeaders1 = addHeaders;
HXDLIN( 38) addHeaders1(::Array_obj< ::Dynamic>::__new(1)->init(0, ::tink::http::HeaderField_obj::__alloc( HX_CTX ,HX_("connection",1e,a0,12,f5).toLowerCase(),HX_("close",b8,17,63,48))));
}
@@ -242,17 +369,14 @@ HXDLIN( 38) addHeaders1(::Array_obj< ::Dynamic>::__new(1)->init(0, ::tin
}
HXLINE( 41) {
HXLINE( 41) ::tink::http::OutgoingRequestHeader req2 = ( ( ::tink::http::OutgoingRequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) );
-HXDLIN( 41) ::tink::core::Outcome _g4 = req2->byName(HX_("host",68,cf,12,45).toLowerCase());
-HXDLIN( 41) switch((int)(_g4->_hx_getIndex())){
+HXDLIN( 41) switch((int)(req2->byName(HX_("host",68,cf,12,45).toLowerCase())->_hx_getIndex())){
case (int)0: {
-HXLINE( 42) ::String _g5 = ( (::String)(_g4->_hx_getObject(0)) );
}
break;
case (int)1: {
-HXLINE( 43) ::tink::core::TypedError _g6 = ( ( ::tink::core::TypedError)(_g4->_hx_getObject(0)) );
-HXDLIN( 43) ::Dynamic addHeaders2 = addHeaders;
-HXDLIN( 43) ::String this1 = HX_("host",68,cf,12,45).toLowerCase();
-HXDLIN( 43) addHeaders2(::Array_obj< ::Dynamic>::__new(1)->init(0, ::tink::http::HeaderField_obj::__alloc( HX_CTX ,this1,::tink::url::_Host::Host_Impl__obj::get_name(( (::Array< ::String >)(( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url->__Field(HX_("hosts",0b,ac,62,2b),::hx::paccDynamic)) )->__get(0)))));
+HXLINE( 43) ::Dynamic addHeaders2 = addHeaders;
+HXDLIN( 43) ::String _hx_tmp = HX_("host",68,cf,12,45).toLowerCase();
+HXDLIN( 43) addHeaders2(::Array_obj< ::Dynamic>::__new(1)->init(0, ::tink::http::HeaderField_obj::__alloc( HX_CTX ,_hx_tmp,::tink::url::_Host::Host_Impl__obj::get_name(( (::Array< ::String >)(( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url->__Field(HX_("hosts",0b,ac,62,2b),::hx::paccDynamic)) )->__get(0)))));
}
break;
}
@@ -265,8 +389,8 @@ HXLINE( 46) socket = ::sys::ssl::Socket_obj::__alloc( HX_CTX );
HXLINE( 46) socket = ::sys::net::Socket_obj::__alloc( HX_CTX );
}
HXLINE( 57) ::Dynamic port;
-HXDLIN( 57) ::Dynamic _g7 = ::tink::url::_Host::Host_Impl__obj::get_port(( (::Array< ::String >)(( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url->__Field(HX_("hosts",0b,ac,62,2b),::hx::paccDynamic)) )->__get(0));
-HXLINE( 58) if (::hx::IsNull( _g7 )) {
+HXDLIN( 57) ::Dynamic _g3 = ::tink::url::_Host::Host_Impl__obj::get_port(( (::Array< ::String >)(( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url->__Field(HX_("hosts",0b,ac,62,2b),::hx::paccDynamic)) )->__get(0));
+HXLINE( 58) if (::hx::IsNull( _g3 )) {
HXLINE( 58) if (::hx::IsEq( ( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url->__Field(HX_("scheme",25,20,c1,40),::hx::paccDynamic),HX_("https",eb,7b,b1,2e) )) {
HXLINE( 57) port = 443;
}
@@ -275,159 +399,9 @@ HXLINE( 57) port = 80;
}
}
else {
-HXLINE( 59) ::Dynamic v1 = _g7;
-HXLINE( 57) port = v1;
- }
-HXLINE( 62) {
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1,::Array< ::Dynamic>,req1, ::sys::net::Socket,socket, ::Dynamic,port) HXARGC(0)
- ::tink::core::Outcome _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_97c1c174291a2ab6_63_request)
-HXLINE( 63) try {
- HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 63) ::sys::net::Socket socket1 = socket;
-HXDLIN( 63) ::String this1 = ::tink::url::_Host::Host_Impl__obj::get_name(( (::Array< ::String >)(( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url->__Field(HX_("hosts",0b,ac,62,2b),::hx::paccDynamic)) )->__get(0));
-HXDLIN( 63) socket1->connect( ::sys::net::Host_obj::__alloc( HX_CTX ,this1),( (int)(port) ));
-HXDLIN( 63) return ::tink::core::Outcome_obj::Success(null());
- } catch( ::Dynamic _hx_e) {
- if (_hx_e.IsClass< ::Dynamic >() ){
- HX_STACK_BEGIN_CATCH
- ::Dynamic _g = _hx_e;
-HXLINE( 64) {
-HXLINE( 64) null();
- }
-HXDLIN( 64) ::Dynamic e = _g;
-HXDLIN( 64) ::String this2 = ::Std_obj::string(e);
-HXDLIN( 64) return ::tink::core::Outcome_obj::Failure( ::tink::core::TypedError_obj::__alloc( HX_CTX ,null(),this2,::hx::SourceInfo(HX_("tink/http/clients/SocketClient.hx",2f,8d,d5,e0),64,HX_("tink.http.clients.SocketClient",0e,eb,a7,43),HX_("request",4f,df,84,44))));
- }
- else {
- HX_STACK_DO_THROW(_hx_e);
- }
- }
-HXLINE( 63) return null();
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_4, ::tink::http::clients::SocketClient,_gthis,::Array< ::Dynamic>,req1, ::sys::net::Socket,socket, ::Dynamic,cb) HXARGC(1)
- void _hx_run( ::tink::core::Outcome outcome){
- HX_GC_STACKFRAME(&_hx_pos_97c1c174291a2ab6_65_request)
-HXLINE( 66) switch((int)(outcome->_hx_getIndex())){
- case (int)0: {
-HXLINE( 67) ::Dynamic _g = outcome->_hx_getObject(0);
- }
- break;
- case (int)1: {
-HXLINE( 68) ::tink::core::TypedError e = ( ( ::tink::core::TypedError)(outcome->_hx_getObject(0)) );
-HXDLIN( 68) cb(::tink::core::Outcome_obj::Failure(e));
-HXDLIN( 68) return;
- }
- break;
- }
-HXLINE( 71) ::String sink;
-HXDLIN( 71) if (::hx::IsNull( ( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url )) {
-HXLINE( 71) sink = HX_("null",87,9e,0e,49);
- }
- else {
-HXLINE( 71) sink = ::tink::_Url::Url_Impl__obj::toString(( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url);
- }
-HXDLIN( 71) ::Dynamic sink1 = ::tink::io::_Sink::SinkYielding_Impl__obj::ofOutput((HX_("Request to ",d4,04,3a,a8) + sink),socket->output, ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("worker",7e,30,9e,c9),_gthis->worker)));
-HXLINE( 72) ::String name;
-HXDLIN( 72) if (::hx::IsNull( ( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url )) {
-HXLINE( 72) name = HX_("null",87,9e,0e,49);
- }
- else {
-HXLINE( 72) name = ::tink::_Url::Url_Impl__obj::toString(( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->url);
- }
-HXDLIN( 72) ::haxe::io::Input input = socket->input;
-HXDLIN( 72) ::Dynamic options = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("worker",7e,30,9e,c9),_gthis->worker));
-HXDLIN( 72) if (::hx::IsNull( options )) {
-HXLINE( 72) options = ::Dynamic(::hx::Anon_obj::Create(0));
- }
-HXDLIN( 72) ::Dynamic source = ::tink::io::_Worker::Worker_Impl__obj::ensure( ::Dynamic(options->__Field(HX_("worker",7e,30,9e,c9),::hx::paccDynamic)));
-HXDLIN( 72) ::Dynamic _g1 = options->__Field(HX_("chunkSize",ce,cd,77,9f),::hx::paccDynamic);
-HXDLIN( 72) int source1;
-HXDLIN( 72) if (::hx::IsNull( _g1 )) {
-HXLINE( 72) source1 = 65536;
- }
- else {
-HXLINE( 72) ::Dynamic v = _g1;
-HXDLIN( 72) source1 = ( (int)(v) );
- }
-HXDLIN( 72) ::Dynamic source2 = ::tink::io::std::InputSource_obj::__alloc( HX_CTX ,(HX_("Response from ",b7,3c,63,ba) + name),input,source,::haxe::io::Bytes_obj::alloc(source1),0);
-HXLINE( 74) {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3,::Dynamic,source2, ::Dynamic,cb) HXARGC(1)
- void _hx_run( ::tink::io::PipeResult r){
- HX_GC_STACKFRAME(&_hx_pos_97c1c174291a2ab6_75_request)
-HXLINE( 75) switch((int)(r->_hx_getIndex())){
- case (int)0: {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::Dynamic,cb) HXARGC(1)
- void _hx_run( ::tink::core::Outcome o){
- HX_GC_STACKFRAME(&_hx_pos_97c1c174291a2ab6_77_request)
-HXLINE( 77) switch((int)(o->_hx_getIndex())){
- case (int)0: {
-HXLINE( 78) ::tink::core::MPair parsed = ( ( ::tink::core::MPair)(o->_hx_getObject(0)) );
-HXLINE( 79) {
-HXLINE( 79) ::tink::core::Outcome _g = ( ( ::tink::http::ResponseHeaderBase)(parsed->a) )->getContentLength();
-HXDLIN( 79) switch((int)(_g->_hx_getIndex())){
- case (int)0: {
-HXLINE( 80) ::Dynamic len = _g->_hx_getObject(0);
-HXDLIN( 80) ::Dynamic cb1 = cb;
-HXDLIN( 80) ::tink::http::ResponseHeaderBase parsed1 = ( ( ::tink::http::ResponseHeaderBase)(parsed->a) );
-HXDLIN( 80) cb1(::tink::core::Outcome_obj::Success( ::tink::http::IncomingResponse_obj::__alloc( HX_CTX ,parsed1,::tink::io::_Source::Source_Impl__obj::limit(parsed->b,( (int)(len) )))));
- }
- break;
- case (int)1: {
-HXLINE( 81) ::tink::core::TypedError e = ( ( ::tink::core::TypedError)(_g->_hx_getObject(0)) );
-HXDLIN( 81) ::Dynamic cb2 = cb;
-HXDLIN( 81) cb2(::tink::core::Outcome_obj::Failure( ::tink::core::TypedError_obj::__alloc( HX_CTX ,null(),HX_("Chunked encoding is not supported and the content-length header is required.",7a,e4,4f,2a),::hx::SourceInfo(HX_("tink/http/clients/SocketClient.hx",2f,8d,d5,e0),81,HX_("tink.http.clients.SocketClient",0e,eb,a7,43),HX_("request",4f,df,84,44)))));
- }
- break;
- }
- }
- }
- break;
- case (int)1: {
-HXLINE( 83) ::tink::core::TypedError e1 = ( ( ::tink::core::TypedError)(o->_hx_getObject(0)) );
-HXDLIN( 83) cb(::tink::core::Outcome_obj::Failure(e1));
- }
- break;
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 77) ::Dynamic source = source2;
-HXDLIN( 77) ::tink::io::RealSourceTools_obj::parse(source,::tink::http::ResponseHeaderBase_obj::parser())->handle( ::Dynamic(new _hx_Closure_2(cb)));
- }
- break;
- case (int)1: {
-HXLINE( 86) ::Dynamic _g = r->_hx_getObject(0);
-HXDLIN( 86) ::Dynamic _g1 = r->_hx_getObject(1);
-HXDLIN( 86) ::Dynamic cb1 = cb;
-HXDLIN( 86) cb1(::tink::core::Outcome_obj::Failure( ::tink::core::TypedError_obj::__alloc( HX_CTX ,null(),HX_("Sink ended unexpectedly",11,17,7b,75),::hx::SourceInfo(HX_("tink/http/clients/SocketClient.hx",2f,8d,d5,e0),86,HX_("tink.http.clients.SocketClient",0e,eb,a7,43),HX_("request",4f,df,84,44)))));
- }
- break;
- case (int)2: {
-HXLINE( 87) ::Dynamic _g2 = r->_hx_getObject(1);
-HXDLIN( 87) {
-HXLINE( 87) ::tink::core::TypedError e = r->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 87) cb(::tink::core::Outcome_obj::Failure(e));
- }
- }
- break;
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 74) ::Dynamic this1 = req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->body;
-HXDLIN( 74) ::tink::io::_Source::Source_Impl__obj::pipeTo(::tink::streams::StreamObject_obj::prepend(this1, ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::chunk::ByteChunk_obj::of(::haxe::io::Bytes_obj::ofString(( ( ::tink::http::RequestHeader)(req1->__get(0).StaticCast< ::tink::http::OutgoingRequest >()->header) )->toString(),null()))))),sink1,null())->handle( ::Dynamic(new _hx_Closure_3(source2,cb)));
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 62) ::Dynamic _gthis1 = _gthis->worker;
-HXDLIN( 62) ::tink::io::_Worker::Worker_Impl__obj::work(_gthis1, ::tink::core::_Lazy::LazyFunc_obj::__alloc( HX_CTX , ::Dynamic(new _hx_Closure_1(req1,socket,port)),null()))->handle( ::Dynamic(new _hx_Closure_4(_gthis,req1,socket,cb)));
+HXLINE( 57) port = _g3;
}
+HXLINE( 62) ::tink::io::_Worker::Worker_Impl__obj::work(_gthis->worker, ::tink::core::_Lazy::LazyFunc_obj::__alloc( HX_CTX , ::Dynamic(new _hx_Closure_1(req1,socket,port)),null()))->handle( ::Dynamic(new _hx_Closure_4(_gthis,req1,socket,cb)));
}
break;
}
diff --git a/Sources/c_snikket/src/tink/http/clients/StdClient.cpp b/Sources/c_borogove/src/tink/http/clients/StdClient.cpp
similarity index 92%
rename from Sources/c_snikket/src/tink/http/clients/StdClient.cpp
rename to Sources/c_borogove/src/tink/http/clients/StdClient.cpp
index ea6e2de..788d465 100644
--- a/Sources/c_snikket/src/tink/http/clients/StdClient.cpp
+++ b/Sources/c_borogove/src/tink/http/clients/StdClient.cpp
@@ -184,14 +184,13 @@ HXLINE( 31) if (::hx::IsNull( _g )) {
HXLINE( 31) return ::Array_obj< ::Dynamic>::__new(0);
}
else {
-HXLINE( 32) ::haxe::ds::StringMap v = _g;
HXLINE( 33) ::Array< ::Dynamic> _g1 = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 33) {
-HXLINE( 33) ::Dynamic name = v->keys();
+HXLINE( 33) ::Dynamic name = _g->keys();
HXDLIN( 33) while(( (bool)(name->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
HXLINE( 33) ::String name1 = ( (::String)(name->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXLINE( 34) ::String this1 = name1.toLowerCase();
-HXDLIN( 34) _g1->push( ::tink::http::HeaderField_obj::__alloc( HX_CTX ,this1,v->get_string(name1)));
+HXLINE( 34) ::String headers = name1.toLowerCase();
+HXDLIN( 34) _g1->push( ::tink::http::HeaderField_obj::__alloc( HX_CTX ,headers,_g->get_string(name1)));
}
}
HXLINE( 33) return _g1;
@@ -210,8 +209,7 @@ HXLINE( 43) {
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_2,::String,msg,::Array< int >,code, ::Dynamic,cb) HXARGC(0)
void _hx_run(){
HX_GC_STACKFRAME(&_hx_pos_de403852eb8a7eba_44_request)
-HXLINE( 44) ::Dynamic cb1 = cb;
-HXDLIN( 44) cb1(::tink::core::Outcome_obj::Failure( ::tink::core::TypedError_obj::__alloc( HX_CTX ,code->__get(0),msg,::hx::SourceInfo(HX_("tink/http/clients/StdClient.hx",c1,66,4a,74),44,HX_("tink.http.clients.StdClient",9e,5c,e2,f1),HX_("request",4f,df,84,44)))));
+HXLINE( 44) cb(::tink::core::Outcome_obj::Failure( ::tink::core::TypedError_obj::__alloc( HX_CTX ,code->__get(0),msg,::hx::SourceInfo(HX_("tink/http/clients/StdClient.hx",c1,66,4a,74),44,HX_("tink.http.clients.StdClient",9e,5c,e2,f1),HX_("request",4f,df,84,44)))));
}
HX_END_LOCAL_FUNC0((void))
@@ -222,10 +220,9 @@ HXLINE( 43) f();
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 43) ::Dynamic _gthis1 = _gthis->worker;
-HXDLIN( 43) ::Dynamic f = ::Dynamic(new _hx_Closure_2(msg,code,cb));
+HXLINE( 43) ::Dynamic f = ::Dynamic(new _hx_Closure_2(msg,code,cb));
HXDLIN( 43) ::Dynamic send = ::Dynamic(new _hx_Closure_3(f));
-HXDLIN( 43) ::tink::io::_Worker::Worker_Impl__obj::work(_gthis1, ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,true))->handle(send);
+HXDLIN( 43) ::tink::io::_Worker::Worker_Impl__obj::work(_gthis->worker, ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,true))->handle(send);
}
}
HX_END_LOCAL_FUNC1((void))
@@ -250,10 +247,9 @@ HXLINE( 50) f();
HX_END_LOCAL_FUNC1((void))
HX_GC_STACKFRAME(&_hx_pos_de403852eb8a7eba_50_request)
-HXLINE( 50) ::Dynamic _gthis1 = _gthis->worker;
-HXDLIN( 50) ::Dynamic f = ::Dynamic(new _hx_Closure_5(data,code,headers,cb));
+HXLINE( 50) ::Dynamic f = ::Dynamic(new _hx_Closure_5(data,code,headers,cb));
HXDLIN( 50) ::Dynamic send = ::Dynamic(new _hx_Closure_6(f));
-HXDLIN( 50) ::tink::io::_Worker::Worker_Impl__obj::work(_gthis1, ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,true))->handle(send);
+HXDLIN( 50) ::tink::io::_Worker::Worker_Impl__obj::work(_gthis->worker, ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,true))->handle(send);
}
HX_END_LOCAL_FUNC1((void))
@@ -270,8 +266,7 @@ HXLINE( 25) r->onStatus = ::Dynamic(new _hx_Closure_0(code));
HXLINE( 27) ::Dynamic headers = ::Dynamic(new _hx_Closure_1(r));
HXLINE( 41) r->onError = ::Dynamic(new _hx_Closure_4(_gthis,code,cb));
HXLINE( 48) r->onData = ::Dynamic(new _hx_Closure_7(_gthis,code,headers,cb));
-HXLINE( 55) ::Dynamic _gthis1 = _gthis->worker;
-HXDLIN( 55) ::tink::io::_Worker::Worker_Impl__obj::work(_gthis1, ::tink::core::_Lazy::LazyFunc_obj::__alloc( HX_CTX , ::Dynamic(new _hx_Closure_8(post,r)),null()));
+HXLINE( 55) ::tink::io::_Worker::Worker_Impl__obj::work(_gthis->worker, ::tink::core::_Lazy::LazyFunc_obj::__alloc( HX_CTX , ::Dynamic(new _hx_Closure_8(post,r)),null()));
}
HX_END_LOCAL_FUNC1((void))
@@ -279,11 +274,11 @@ HXDLIN( 55) ::tink::io::_Worker::Worker_Impl__obj::work(_gthis1, ::tink::cor
HXLINE( 21) ::sys::Http r = ::sys::Http_obj::__alloc( HX_CTX ,::tink::_Url::Url_Impl__obj::toString(( ( ::tink::http::RequestHeader)(req->header) )->url));
HXLINE( 23) ::Dynamic send = ::Dynamic(new _hx_Closure_9(_gthis,r,cb));
HXLINE( 58) {
-HXLINE( 58) int _g_current = 0;
-HXDLIN( 58) ::Array< ::Dynamic> _g_array = ( ( ::tink::http::Header)(req->header) )->fields;
-HXDLIN( 58) while((_g_current < _g_array->length)){
+HXLINE( 58) ::Array< ::Dynamic> _this = ( ( ::tink::http::Header)(req->header) )->fields;
+HXDLIN( 58) int _g_current = 0;
+HXDLIN( 58) while((_g_current < _this->length)){
HXLINE( 58) _g_current = (_g_current + 1);
-HXDLIN( 58) ::tink::http::HeaderField h = _g_array->__get((_g_current - 1)).StaticCast< ::tink::http::HeaderField >();
+HXDLIN( 58) ::tink::http::HeaderField h = _this->__get((_g_current - 1)).StaticCast< ::tink::http::HeaderField >();
HXLINE( 59) r->setHeader(( (::String)(h->name) ),( (::String)(h->value) ));
}
}
diff --git a/Sources/c_snikket/src/tink/http/containers/LocalContainer.cpp b/Sources/c_borogove/src/tink/http/containers/LocalContainer.cpp
similarity index 96%
rename from Sources/c_snikket/src/tink/http/containers/LocalContainer.cpp
rename to Sources/c_borogove/src/tink/http/containers/LocalContainer.cpp
index 0e13758..f30e64e 100644
--- a/Sources/c_snikket/src/tink/http/containers/LocalContainer.cpp
+++ b/Sources/c_borogove/src/tink/http/containers/LocalContainer.cpp
@@ -95,8 +95,7 @@ void *LocalContainer_obj::_hx_getInterface(int inHash) {
::tink::core::_Future::FutureObject LocalContainer_obj::serve( ::tink::http::IncomingRequest req){
HX_GC_STACKFRAME(&_hx_pos_b7b671b15c8cf7cf_29_serve)
HXLINE( 30) if (!(this->running)) {
-HXLINE( 31) ::tink::http::ResponseHeaderBase this1 = ::tink::http::ResponseHeaderBase_obj::__alloc( HX_CTX ,503,HX_("Server stopped",d0,ef,79,87),::Array_obj< ::Dynamic>::__new(0),HX_("HTTP/1.1",6d,25,7a,80));
-HXLINE( 30) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX , ::tink::http::_Response::OutgoingResponseData_obj::__alloc( HX_CTX ,this1,::tink::io::_Source::Source_Impl__obj::EMPTY)));
+HXLINE( 30) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX , ::tink::http::_Response::OutgoingResponseData_obj::__alloc( HX_CTX , ::tink::http::ResponseHeaderBase_obj::__alloc( HX_CTX ,503,HX_("Server stopped",d0,ef,79,87),::Array_obj< ::Dynamic>::__new(0),HX_("HTTP/1.1",6d,25,7a,80)),::tink::io::_Source::Source_Impl__obj::EMPTY)));
}
HXLINE( 34) return ::tink::http::HandlerObject_obj::process(this->handler,req);
}
diff --git a/Sources/c_snikket/src/tink/io/BytewiseParser.cpp b/Sources/c_borogove/src/tink/io/BytewiseParser.cpp
similarity index 91%
rename from Sources/c_snikket/src/tink/io/BytewiseParser.cpp
rename to Sources/c_borogove/src/tink/io/BytewiseParser.cpp
index bf9db20..0ea0b49 100644
--- a/Sources/c_snikket/src/tink/io/BytewiseParser.cpp
+++ b/Sources/c_borogove/src/tink/io/BytewiseParser.cpp
@@ -77,14 +77,12 @@ HXDLIN( 166) switch((int)(_g->_hx_getIndex())){
}
break;
case (int)1: {
-HXLINE( 168) ::Dynamic r = _g->_hx_getObject(0);
HXLINE( 169) cursor->next();
-HXLINE( 170) return ::tink::io::ParseStep_obj::Done(r);
+HXLINE( 170) return ::tink::io::ParseStep_obj::Done(_g->_hx_getObject(0));
}
break;
case (int)2: {
-HXLINE( 171) ::tink::core::TypedError e = _g->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXLINE( 172) return ::tink::io::ParseStep_obj::Failed(e);
+HXLINE( 172) return ::tink::io::ParseStep_obj::Failed(_g->_hx_getObject(0).StaticCast< ::tink::core::TypedError >());
}
break;
}
@@ -105,13 +103,11 @@ HXLINE( 180) return ::tink::core::Outcome_obj::Failure( ::tink::core::TypedEr
}
break;
case (int)1: {
-HXLINE( 181) ::Dynamic r = _g->_hx_getObject(0);
-HXDLIN( 181) return ::tink::core::Outcome_obj::Success(r);
+HXLINE( 181) return ::tink::core::Outcome_obj::Success(_g->_hx_getObject(0));
}
break;
case (int)2: {
-HXLINE( 182) ::tink::core::TypedError e = _g->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 182) return ::tink::core::Outcome_obj::Failure(e);
+HXLINE( 182) return ::tink::core::Outcome_obj::Failure(_g->_hx_getObject(0).StaticCast< ::tink::core::TypedError >());
}
break;
}
diff --git a/Sources/c_snikket/src/tink/io/IdealSourceTools.cpp b/Sources/c_borogove/src/tink/io/IdealSourceTools.cpp
similarity index 93%
rename from Sources/c_snikket/src/tink/io/IdealSourceTools.cpp
rename to Sources/c_borogove/src/tink/io/IdealSourceTools.cpp
index 5f9dd1f..bf72a82 100644
--- a/Sources/c_snikket/src/tink/io/IdealSourceTools.cpp
+++ b/Sources/c_borogove/src/tink/io/IdealSourceTools.cpp
@@ -23,6 +23,7 @@
#include <tink/streams/StreamObject.h>
#endif
+HX_LOCAL_STACK_FRAME(_hx_pos_9b8251c0835d69cc_236_all,"tink.io.IdealSourceTools","all",0xf5d8a70a,"tink.io.IdealSourceTools.all","tink/io/Source.hx",236,0x6a783477)
HX_LOCAL_STACK_FRAME(_hx_pos_9b8251c0835d69cc_235_all,"tink.io.IdealSourceTools","all",0xf5d8a70a,"tink.io.IdealSourceTools.all","tink/io/Source.hx",235,0x6a783477)
namespace tink{
namespace io{
@@ -47,9 +48,8 @@ bool IdealSourceTools_obj::_hx_isInstanceOf(int inClassId) {
::tink::core::_Future::FutureObject IdealSourceTools_obj::all(::Dynamic s){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
::Dynamic _hx_run( ::tink::streams::Reduction o){
- HX_STACKFRAME(&_hx_pos_9b8251c0835d69cc_235_all)
-HXLINE( 236) ::Dynamic c = o->_hx_getObject(0);
-HXDLIN( 236) return c;
+ HX_STACKFRAME(&_hx_pos_9b8251c0835d69cc_236_all)
+HXLINE( 236) return o->_hx_getObject(0);
}
HX_END_LOCAL_FUNC1(return)
diff --git a/Sources/c_snikket/src/tink/io/ParseResult.cpp b/Sources/c_borogove/src/tink/io/ParseResult.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/io/ParseResult.cpp
rename to Sources/c_borogove/src/tink/io/ParseResult.cpp
diff --git a/Sources/c_snikket/src/tink/io/ParseStep.cpp b/Sources/c_borogove/src/tink/io/ParseStep.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/io/ParseStep.cpp
rename to Sources/c_borogove/src/tink/io/ParseStep.cpp
diff --git a/Sources/c_snikket/src/tink/io/PipeResult.cpp b/Sources/c_borogove/src/tink/io/PipeResult.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/io/PipeResult.cpp
rename to Sources/c_borogove/src/tink/io/PipeResult.cpp
diff --git a/Sources/c_snikket/src/tink/io/PipeResultTools.cpp b/Sources/c_borogove/src/tink/io/PipeResultTools.cpp
similarity index 87%
rename from Sources/c_snikket/src/tink/io/PipeResultTools.cpp
rename to Sources/c_borogove/src/tink/io/PipeResultTools.cpp
index 6b01719..8b95cf3 100644
--- a/Sources/c_snikket/src/tink/io/PipeResultTools.cpp
+++ b/Sources/c_borogove/src/tink/io/PipeResultTools.cpp
@@ -65,8 +65,7 @@ HXLINE( 32) if (::hx::IsNull( buffered )) {
HXLINE( 33) return s;
}
else {
-HXLINE( 34) ::Dynamic v = buffered;
-HXDLIN( 34) return ::tink::streams::StreamObject_obj::prepend(s, ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,v)));
+HXLINE( 34) return ::tink::streams::StreamObject_obj::prepend(s, ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,buffered)));
}
HXLINE( 32) return null();
}
@@ -76,19 +75,15 @@ HXLINE( 32) return null();
HXLINE( 31) ::Dynamic mk = ::Dynamic(new _hx_Closure_0(buffered));
HXLINE( 37) switch((int)(c->_hx_getIndex())){
case (int)0: {
-HXLINE( 41) ::Dynamic rest = c->_hx_getObject(0);
-HXDLIN( 41) return ::tink::io::PipeResult_obj::SinkEnded(result,mk(rest));
+HXLINE( 41) return ::tink::io::PipeResult_obj::SinkEnded(result,mk(c->_hx_getObject(0)));
}
break;
case (int)1: {
-HXLINE( 39) ::tink::core::TypedError e = c->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 39) ::Dynamic rest1 = c->_hx_getObject(1);
-HXDLIN( 39) return ::tink::io::PipeResult_obj::SinkFailed(e,mk(rest1));
+HXLINE( 39) return ::tink::io::PipeResult_obj::SinkFailed(c->_hx_getObject(0).StaticCast< ::tink::core::TypedError >(),mk(c->_hx_getObject(1)));
}
break;
case (int)2: {
-HXLINE( 38) ::tink::core::TypedError e1 = c->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 38) return ::tink::io::PipeResult_obj::SourceFailed(e1);
+HXLINE( 38) return ::tink::io::PipeResult_obj::SourceFailed(c->_hx_getObject(0).StaticCast< ::tink::core::TypedError >());
}
break;
case (int)3: {
diff --git a/Sources/c_snikket/src/tink/io/RealSourceTools.cpp b/Sources/c_borogove/src/tink/io/RealSourceTools.cpp
similarity index 87%
rename from Sources/c_snikket/src/tink/io/RealSourceTools.cpp
rename to Sources/c_borogove/src/tink/io/RealSourceTools.cpp
index 95484d2..711c5f9 100644
--- a/Sources/c_snikket/src/tink/io/RealSourceTools.cpp
+++ b/Sources/c_borogove/src/tink/io/RealSourceTools.cpp
@@ -70,13 +70,11 @@ bool RealSourceTools_obj::_hx_isInstanceOf(int inClassId) {
HX_STACKFRAME(&_hx_pos_9bced4a60a0ff5b6_192_all)
HXDLIN( 192) switch((int)(o->_hx_getIndex())){
case (int)1: {
-HXLINE( 194) ::tink::core::TypedError e = o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 194) return ::tink::core::Outcome_obj::Failure(e);
+HXLINE( 194) return ::tink::core::Outcome_obj::Failure(o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >());
}
break;
case (int)2: {
-HXLINE( 193) ::Dynamic c = o->_hx_getObject(0);
-HXDLIN( 193) return ::tink::core::Outcome_obj::Success(c);
+HXLINE( 193) return ::tink::core::Outcome_obj::Success(o->_hx_getObject(0));
}
break;
}
@@ -97,20 +95,15 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(RealSourceTools_obj,all,return )
HX_GC_STACKFRAME(&_hx_pos_9bced4a60a0ff5b6_198_parse)
HXDLIN( 198) switch((int)(r->_hx_getIndex())){
case (int)0: {
-HXLINE( 199) ::Dynamic data = r->_hx_getObject(0);
-HXDLIN( 199) ::Dynamic rest = r->_hx_getObject(1);
-HXDLIN( 199) return ::tink::core::Outcome_obj::Success( ::tink::core::MPair_obj::__alloc( HX_CTX ,data,rest));
+HXLINE( 199) return ::tink::core::Outcome_obj::Success( ::tink::core::MPair_obj::__alloc( HX_CTX ,r->_hx_getObject(0),r->_hx_getObject(1)));
}
break;
case (int)1: {
-HXLINE( 200) ::Dynamic _g = r->_hx_getObject(1);
-HXDLIN( 200) ::tink::core::TypedError e = r->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 200) return ::tink::core::Outcome_obj::Failure(e);
+HXLINE( 200) return ::tink::core::Outcome_obj::Failure(r->_hx_getObject(0).StaticCast< ::tink::core::TypedError >());
}
break;
case (int)2: {
-HXLINE( 200) ::tink::core::TypedError e1 = r->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 200) return ::tink::core::Outcome_obj::Failure(e1);
+HXLINE( 200) return ::tink::core::Outcome_obj::Failure(r->_hx_getObject(0).StaticCast< ::tink::core::TypedError >());
}
break;
}
diff --git a/Sources/c_snikket/src/tink/io/SinkBase.cpp b/Sources/c_borogove/src/tink/io/SinkBase.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/io/SinkBase.cpp
rename to Sources/c_borogove/src/tink/io/SinkBase.cpp
diff --git a/Sources/c_snikket/src/tink/io/SinkObject.cpp b/Sources/c_borogove/src/tink/io/SinkObject.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/io/SinkObject.cpp
rename to Sources/c_borogove/src/tink/io/SinkObject.cpp
diff --git a/Sources/c_snikket/src/tink/io/StreamParserObject.cpp b/Sources/c_borogove/src/tink/io/StreamParserObject.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/io/StreamParserObject.cpp
rename to Sources/c_borogove/src/tink/io/StreamParserObject.cpp
diff --git a/Sources/c_snikket/src/tink/io/WorkerObject.cpp b/Sources/c_borogove/src/tink/io/WorkerObject.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/io/WorkerObject.cpp
rename to Sources/c_borogove/src/tink/io/WorkerObject.cpp
diff --git a/Sources/c_snikket/src/tink/io/_Sink/SinkYielding_Impl_.cpp b/Sources/c_borogove/src/tink/io/_Sink/SinkYielding_Impl_.cpp
similarity index 98%
rename from Sources/c_snikket/src/tink/io/_Sink/SinkYielding_Impl_.cpp
rename to Sources/c_borogove/src/tink/io/_Sink/SinkYielding_Impl_.cpp
index 5092b28..b401b3d 100644
--- a/Sources/c_snikket/src/tink/io/_Sink/SinkYielding_Impl_.cpp
+++ b/Sources/c_borogove/src/tink/io/_Sink/SinkYielding_Impl_.cpp
@@ -57,8 +57,7 @@ HXLINE( 60) if (::hx::IsNull( _g )) {
HXDLIN( 59) _hx_tmp = ::tink::io::_Worker::Worker_Impl__obj::get();
}
else {
-HXLINE( 61) ::Dynamic w = _g;
-HXLINE( 59) _hx_tmp = w;
+HXDLIN( 59) _hx_tmp = _g;
}
}
HXDLIN( 59) return ::tink::io::std::OutputSink_obj::__alloc( HX_CTX ,name,target,_hx_tmp);
diff --git a/Sources/c_snikket/src/tink/io/_Source/Source_Impl_.cpp b/Sources/c_borogove/src/tink/io/_Source/Source_Impl_.cpp
similarity index 99%
rename from Sources/c_snikket/src/tink/io/_Source/Source_Impl_.cpp
rename to Sources/c_borogove/src/tink/io/_Source/Source_Impl_.cpp
index 10c52bf..65ad214 100644
--- a/Sources/c_snikket/src/tink/io/_Source/Source_Impl_.cpp
+++ b/Sources/c_borogove/src/tink/io/_Source/Source_Impl_.cpp
@@ -133,8 +133,7 @@ HXLINE( 139) out1 = chunk;
HXLINE( 135) out = ::tink::streams::RegroupResult_obj::Converted(::tink::streams::_Stream::Stream_Impl__obj::single(out1),null());
}
HXLINE( 140) ::Array< int > len = len1;
-HXDLIN( 140) int _hx_tmp = 0;
-HXDLIN( 140) len[_hx_tmp] = (len->__get(_hx_tmp) - length);
+HXDLIN( 140) len[0] = (len->__get(0) - length);
HXLINE( 141) return out;
}
HX_END_LOCAL_FUNC1(return)
diff --git a/Sources/c_snikket/src/tink/io/_StreamParser/StreamParser_Impl_.cpp b/Sources/c_borogove/src/tink/io/_StreamParser/StreamParser_Impl_.cpp
similarity index 90%
rename from Sources/c_snikket/src/tink/io/_StreamParser/StreamParser_Impl_.cpp
rename to Sources/c_borogove/src/tink/io/_StreamParser/StreamParser_Impl_.cpp
index a2ed48e..3bf3119 100644
--- a/Sources/c_snikket/src/tink/io/_StreamParser/StreamParser_Impl_.cpp
+++ b/Sources/c_borogove/src/tink/io/_StreamParser/StreamParser_Impl_.cpp
@@ -125,13 +125,11 @@ HXLINE( 29) return null();
::Dynamic _hx_run(){
HX_GC_STACKFRAME(&_hx_pos_9b1a752f869763fd_36_doParse)
HXLINE( 36) ::Dynamic _g = cursor->flush();
-HXLINE( 37) ::Dynamic c = _g;
-HXDLIN( 37) if ((::tink::chunk::ChunkObject_obj::getLength(c) == 0)) {
+HXLINE( 37) if ((::tink::chunk::ChunkObject_obj::getLength(_g) == 0)) {
HXLINE( 37) return ::tink::io::_Source::Source_Impl__obj::EMPTY;
}
else {
-HXLINE( 38) ::Dynamic c1 = _g;
-HXDLIN( 38) return ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,c1));
+HXLINE( 38) return ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,_g));
}
HXLINE( 37) return null();
}
@@ -191,13 +189,11 @@ HXLINE( 58) cb(::tink::streams::Handled_obj::Finish_dyn());
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 52) ::Dynamic v = _g->_hx_getObject(0);
-HXLINE( 53) ( ( ::tink::core::_Future::FutureObject)(consume(v)) )->handle( ::Dynamic(new _hx_Closure_2(resume,cursor,next,cb,lastPos)));
+HXLINE( 53) ( ( ::tink::core::_Future::FutureObject)(consume(_g->_hx_getObject(0))) )->handle( ::Dynamic(new _hx_Closure_2(resume,cursor,next,cb,lastPos)));
}
break;
case (int)2: {
-HXLINE( 60) ::tink::core::TypedError e = _g->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXLINE( 61) cb(::tink::streams::Handled_obj::Clog(e));
+HXLINE( 61) cb(::tink::streams::Handled_obj::Clog(_g->_hx_getObject(0).StaticCast< ::tink::core::TypedError >()));
}
break;
}
@@ -226,27 +222,22 @@ HXLINE( 45) return ::tink::core::_Future::Future_Impl__obj::async( ::Dynamic(
HX_GC_STACKFRAME(&_hx_pos_9b1a752f869763fd_66_doParse)
HXLINE( 66) switch((int)(c->_hx_getIndex())){
case (int)0: {
-HXLINE( 67) ::Dynamic rest = c->_hx_getObject(0);
HXLINE( 68) ::Dynamic v = finish();
-HXDLIN( 68) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::io::ParseResult_obj::Parsed(v,mk(rest))));
+HXDLIN( 68) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::io::ParseResult_obj::Parsed(v,mk(c->_hx_getObject(0)))));
}
break;
case (int)1: {
-HXLINE( 69) ::tink::core::TypedError e = c->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 69) ::Dynamic rest1 = c->_hx_getObject(1);
-HXLINE( 70) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::io::ParseResult_obj::Invalid(e,mk(rest1))));
+HXLINE( 70) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::io::ParseResult_obj::Invalid(c->_hx_getObject(0).StaticCast< ::tink::core::TypedError >(),mk(c->_hx_getObject(1)))));
}
break;
case (int)2: {
-HXLINE( 71) ::tink::core::TypedError e1 = c->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXLINE( 72) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::io::ParseResult_obj::Broke(e1)));
+HXLINE( 72) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::io::ParseResult_obj::Broke(c->_hx_getObject(0).StaticCast< ::tink::core::TypedError >())));
}
break;
case (int)3: {
HXLINE( 73) if ((cursor->currentPos < cursor->length)) {
HXLINE( 74) ::Dynamic v1 = finish();
-HXDLIN( 74) ::Dynamic mk1 = mk;
-HXDLIN( 74) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::io::ParseResult_obj::Parsed(v1,mk1( ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::_Chunk::Chunk_Impl__obj::EMPTY))))));
+HXDLIN( 74) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::io::ParseResult_obj::Parsed(v1,mk( ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::_Chunk::Chunk_Impl__obj::EMPTY))))));
}
else {
HXLINE( 75) if (!(resume->__get(0))) {
@@ -265,13 +256,11 @@ HXDLIN( 80) return ::tink::io::ParseResult_obj::Parsed(_hx_tmp,flush()
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 79) ::Dynamic result = _g->_hx_getObject(0);
-HXLINE( 80) return ::tink::core::_Future::Future_Impl__obj::map(( ( ::tink::core::_Future::FutureObject)(consume(result)) ), ::Dynamic(new _hx_Closure_6(flush,finish)),null());
+HXLINE( 80) return ::tink::core::_Future::Future_Impl__obj::map(( ( ::tink::core::_Future::FutureObject)(consume(_g->_hx_getObject(0))) ), ::Dynamic(new _hx_Closure_6(flush,finish)),null());
}
break;
case (int)1: {
-HXLINE( 81) ::tink::core::TypedError e2 = ( ( ::tink::core::TypedError)(_g->_hx_getObject(0)) );
-HXLINE( 82) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::io::ParseResult_obj::Invalid(e2,flush())));
+HXLINE( 82) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::io::ParseResult_obj::Invalid(_g->_hx_getObject(0),flush())));
}
break;
}
@@ -314,8 +303,7 @@ HXLINE( 92) return res->__get(0);
HX_STACKFRAME(&_hx_pos_9b1a752f869763fd_86_parse)
HXLINE( 87) ::cpp::VirtualArray res = ::cpp::VirtualArray_obj::__new(1)->init(0,null());
-HXLINE( 88) ::Dynamic onResult = ::Dynamic(new _hx_Closure_0(res));
-HXLINE( 92) return ::tink::io::_StreamParser::StreamParser_Impl__obj::doParse(s,p,onResult, ::Dynamic(new _hx_Closure_1(res)));
+HXLINE( 92) return ::tink::io::_StreamParser::StreamParser_Impl__obj::doParse(s,p, ::Dynamic(new _hx_Closure_0(res)), ::Dynamic(new _hx_Closure_1(res)));
}
diff --git a/Sources/c_snikket/src/tink/io/_Worker/EagerWorker.cpp b/Sources/c_borogove/src/tink/io/_Worker/EagerWorker.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/io/_Worker/EagerWorker.cpp
rename to Sources/c_borogove/src/tink/io/_Worker/EagerWorker.cpp
diff --git a/Sources/c_snikket/src/tink/io/_Worker/Worker_Impl_.cpp b/Sources/c_borogove/src/tink/io/_Worker/Worker_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/io/_Worker/Worker_Impl_.cpp
rename to Sources/c_borogove/src/tink/io/_Worker/Worker_Impl_.cpp
diff --git a/Sources/c_snikket/src/tink/io/std/InputSource.cpp b/Sources/c_borogove/src/tink/io/std/InputSource.cpp
similarity index 95%
rename from Sources/c_snikket/src/tink/io/std/InputSource.cpp
rename to Sources/c_borogove/src/tink/io/std/InputSource.cpp
index 4ce9170..a961329 100644
--- a/Sources/c_snikket/src/tink/io/std/InputSource.cpp
+++ b/Sources/c_borogove/src/tink/io/std/InputSource.cpp
@@ -144,8 +144,7 @@ HXDLIN( 44) return ::tink::streams::Step_obj::Link(this4,next(buf,offset
break;
case (int)3: {
HXLINE( 46) ::Dynamic _g2 = e11->_hx_getObject(0);
-HXDLIN( 46) ::Dynamic v1 = _g2;
-HXDLIN( 46) if ((::Std_obj::string(v1) == HX_("ssl_recv",b9,fd,10,8d))) {
+HXDLIN( 46) if ((::Std_obj::string(_g2) == HX_("ssl_recv",b9,fd,10,8d))) {
HXLINE( 47) return ::tink::streams::Step_obj::End_dyn();
}
else {
@@ -174,8 +173,7 @@ HXDLIN( 44) return ::tink::streams::Step_obj::Link(this5,next(buf,offse
break;
case (int)3: {
HXLINE( 46) ::Dynamic _g2 = e11->_hx_getObject(0);
-HXDLIN( 46) ::Dynamic v1 = _g2;
-HXDLIN( 46) if ((::Std_obj::string(v1) == HX_("ssl_recv",b9,fd,10,8d))) {
+HXDLIN( 46) if ((::Std_obj::string(_g2) == HX_("ssl_recv",b9,fd,10,8d))) {
HXLINE( 47) return ::tink::streams::Step_obj::End_dyn();
}
else {
@@ -210,14 +208,13 @@ HXDLIN( 17) return null();
HX_GC_STACKFRAME(&_hx_pos_537d19b9570ca5ac_52_new)
HXLINE( 53) switch((int)(step->_hx_getIndex())){
case (int)1: {
-HXLINE( 54) ::tink::core::TypedError _g = step->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
HXLINE( 55) try {
HX_STACK_CATCHABLE( ::Dynamic, 0);
HXLINE( 55) target->close();
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
- ::Dynamic _g1 = _hx_e;
+ ::Dynamic _g = _hx_e;
HXLINE( 56) {
HXLINE( 56) null();
}
@@ -235,7 +232,7 @@ HXLINE( 55) target->close();
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
- ::Dynamic _g2 = _hx_e;
+ ::Dynamic _g1 = _hx_e;
HXLINE( 56) {
HXLINE( 56) null();
}
@@ -254,8 +251,7 @@ HXLINE( 59) cb(step);
HX_END_LOCAL_FUNC1((void))
HX_GC_STACKFRAME(&_hx_pos_537d19b9570ca5ac_16_new)
-HXLINE( 16) ::Dynamic worker1 = worker;
-HXDLIN( 16) ::tink::io::_Worker::Worker_Impl__obj::work(worker1, ::tink::core::_Lazy::LazyFunc_obj::__alloc( HX_CTX , ::Dynamic(new _hx_Closure_1(name,offset,next,buf,free,target)),null()))->handle( ::Dynamic(new _hx_Closure_2(cb,target)));
+HXLINE( 16) ::tink::io::_Worker::Worker_Impl__obj::work(worker, ::tink::core::_Lazy::LazyFunc_obj::__alloc( HX_CTX , ::Dynamic(new _hx_Closure_1(name,offset,next,buf,free,target)),null()))->handle( ::Dynamic(new _hx_Closure_2(cb,target)));
}
HX_END_LOCAL_FUNC1((void))
diff --git a/Sources/c_snikket/src/tink/io/std/OutputSink.cpp b/Sources/c_borogove/src/tink/io/std/OutputSink.cpp
similarity index 94%
rename from Sources/c_snikket/src/tink/io/std/OutputSink.cpp
rename to Sources/c_borogove/src/tink/io/std/OutputSink.cpp
index 1c055aa..d9b1d02 100644
--- a/Sources/c_snikket/src/tink/io/std/OutputSink.cpp
+++ b/Sources/c_borogove/src/tink/io/std/OutputSink.cpp
@@ -212,8 +212,7 @@ HXLINE( 32) HX_STACK_DO_THROW(_g);
HXLINE( 45) {
HXLINE( 45) null();
}
-HXDLIN( 45) ::Dynamic e3 = _g1;
-HXLINE( 46) return ::tink::core::Outcome_obj::Failure(::tink::core::TypedError_obj::withData(null(),(HX_("Error writing to ",89,2f,c5,6d) + _gthis->name),e3,::hx::SourceInfo(HX_("tink/io/std/OutputSink.hx",52,87,55,92),46,HX_("tink.io.std.OutputSink",0b,dd,57,20),HX_("consume",bc,79,da,18))));
+HXLINE( 46) return ::tink::core::Outcome_obj::Failure(::tink::core::TypedError_obj::withData(null(),(HX_("Error writing to ",89,2f,c5,6d) + _gthis->name),_g1,::hx::SourceInfo(HX_("tink/io/std/OutputSink.hx",52,87,55,92),46,HX_("tink.io.std.OutputSink",0b,dd,57,20),HX_("consume",bc,79,da,18))));
}
else {
HX_STACK_DO_THROW(_hx_e);
@@ -236,32 +235,26 @@ HXDLIN( 50) rest1[0] = ::tink::chunk::ChunkObject_obj::slice(this1,pos
HXLINE( 51) cb(::tink::streams::Handled_obj::Finish_dyn());
}
else {
-HXLINE( 52) int v = _g;
-HXDLIN( 52) {
-HXLINE( 53) ::Array< int > pos1 = pos;
-HXDLIN( 53) int ret = 0;
-HXDLIN( 53) pos1[ret] = (pos1->__get(ret) + v);
-HXLINE( 54) if ((pos->__get(0) == bytes->length)) {
-HXLINE( 54) cb(::tink::streams::Handled_obj::Resume_dyn());
- }
- else {
-HXLINE( 55) write->__get(0)();
- }
+HXLINE( 53) ::Array< int > pos1 = pos;
+HXDLIN( 53) pos1[0] = (pos1->__get(0) + _g);
+HXLINE( 54) if ((pos->__get(0) == bytes->length)) {
+HXLINE( 54) cb(::tink::streams::Handled_obj::Resume_dyn());
+ }
+ else {
+HXLINE( 55) write->__get(0)();
}
}
}
break;
case (int)1: {
-HXLINE( 56) ::tink::core::TypedError e = ( ( ::tink::core::TypedError)(o->_hx_getObject(0)) );
-HXLINE( 57) cb(::tink::streams::Handled_obj::Clog(e));
+HXLINE( 57) cb(::tink::streams::Handled_obj::Clog(o->_hx_getObject(0)));
}
break;
}
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 30) ::Dynamic _gthis1 = _gthis->worker;
-HXDLIN( 30) ::tink::io::_Worker::Worker_Impl__obj::work(_gthis1, ::tink::core::_Lazy::LazyFunc_obj::__alloc( HX_CTX , ::Dynamic(new _hx_Closure_0(_gthis,bytes,pos)),null()))->handle( ::Dynamic(new _hx_Closure_1(rest,bytes,cb,write,pos)));
+HXLINE( 30) ::tink::io::_Worker::Worker_Impl__obj::work(_gthis->worker, ::tink::core::_Lazy::LazyFunc_obj::__alloc( HX_CTX , ::Dynamic(new _hx_Closure_0(_gthis,bytes,pos)),null()))->handle( ::Dynamic(new _hx_Closure_1(rest,bytes,cb,write,pos)));
}
}
HX_END_LOCAL_FUNC0((void))
diff --git a/Sources/c_snikket/src/tink/streams/Conclusion.cpp b/Sources/c_borogove/src/tink/streams/Conclusion.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/Conclusion.cpp
rename to Sources/c_borogove/src/tink/streams/Conclusion.cpp
diff --git a/Sources/c_snikket/src/tink/streams/Empty.cpp b/Sources/c_borogove/src/tink/streams/Empty.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/Empty.cpp
rename to Sources/c_borogove/src/tink/streams/Empty.cpp
diff --git a/Sources/c_snikket/src/tink/streams/FutureStream.cpp b/Sources/c_borogove/src/tink/streams/FutureStream.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/FutureStream.cpp
rename to Sources/c_borogove/src/tink/streams/FutureStream.cpp
diff --git a/Sources/c_snikket/src/tink/streams/Generator.cpp b/Sources/c_borogove/src/tink/streams/Generator.cpp
similarity index 94%
rename from Sources/c_snikket/src/tink/streams/Generator.cpp
rename to Sources/c_borogove/src/tink/streams/Generator.cpp
index 6cf7065..4e97d61 100644
--- a/Sources/c_snikket/src/tink/streams/Generator.cpp
+++ b/Sources/c_borogove/src/tink/streams/Generator.cpp
@@ -90,22 +90,19 @@ HXDLIN( 705) this1->handle(cb);
}
break;
case (int)3: {
-HXLINE( 706) ::tink::core::TypedError e = s->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXLINE( 707) cb(::tink::streams::Conclusion_obj::Clogged(e,_gthis));
+HXLINE( 707) cb(::tink::streams::Conclusion_obj::Clogged(s->_hx_getObject(0).StaticCast< ::tink::core::TypedError >(),_gthis));
}
break;
}
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 698) ::Dynamic v = e->_hx_getObject(0);
-HXDLIN( 698) ::Dynamic then = e->_hx_getObject(1);
-HXLINE( 699) ( ( ::tink::core::_Future::FutureObject)(handler(v)) )->handle( ::Dynamic(new _hx_Closure_0(_gthis,then,handler,cb)));
+HXLINE( 698) ::Dynamic then = e->_hx_getObject(1);
+HXLINE( 699) ( ( ::tink::core::_Future::FutureObject)(handler(e->_hx_getObject(0))) )->handle( ::Dynamic(new _hx_Closure_0(_gthis,then,handler,cb)));
}
break;
case (int)1: {
-HXLINE( 709) ::tink::core::TypedError e1 = e->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXLINE( 710) cb(::tink::streams::Conclusion_obj::Failed(e1));
+HXLINE( 710) cb(::tink::streams::Conclusion_obj::Failed(e->_hx_getObject(0).StaticCast< ::tink::core::TypedError >()));
}
break;
case (int)2: {
diff --git a/Sources/c_snikket/src/tink/streams/Handled.cpp b/Sources/c_borogove/src/tink/streams/Handled.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/Handled.cpp
rename to Sources/c_borogove/src/tink/streams/Handled.cpp
diff --git a/Sources/c_snikket/src/tink/streams/IdealStreamBase.cpp b/Sources/c_borogove/src/tink/streams/IdealStreamBase.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/IdealStreamBase.cpp
rename to Sources/c_borogove/src/tink/streams/IdealStreamBase.cpp
diff --git a/Sources/c_snikket/src/tink/streams/IdealizeStream.cpp b/Sources/c_borogove/src/tink/streams/IdealizeStream.cpp
similarity index 91%
rename from Sources/c_snikket/src/tink/streams/IdealizeStream.cpp
rename to Sources/c_borogove/src/tink/streams/IdealizeStream.cpp
index 7e94c64..1b220a7 100644
--- a/Sources/c_snikket/src/tink/streams/IdealizeStream.cpp
+++ b/Sources/c_borogove/src/tink/streams/IdealizeStream.cpp
@@ -80,24 +80,18 @@ HXDLIN( 438) return ::tink::streams::StreamObject_obj::get_depleted(this->targe
HX_STACKFRAME(&_hx_pos_a4300c9cb57232d7_449_forEach)
HXLINE( 449) switch((int)(end->_hx_getIndex())){
case (int)0: {
-HXLINE( 452) ::Dynamic rest = end->_hx_getObject(0);
HXLINE( 453) ::Dynamic cb1 = cb;
-HXDLIN( 453) cb1(::tink::streams::Conclusion_obj::Halted(::tink::streams::StreamObject_obj::idealize(rest,_gthis->rescue)));
+HXDLIN( 453) cb1(::tink::streams::Conclusion_obj::Halted(::tink::streams::StreamObject_obj::idealize(end->_hx_getObject(0),_gthis->rescue)));
}
break;
case (int)1: {
-HXLINE( 454) ::tink::core::TypedError e = end->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 454) ::Dynamic at = end->_hx_getObject(1);
HXLINE( 455) ::Dynamic cb2 = cb;
-HXDLIN( 455) cb2(::tink::streams::Conclusion_obj::Clogged(e,::tink::streams::StreamObject_obj::idealize(at,_gthis->rescue)));
+HXDLIN( 455) cb2(::tink::streams::Conclusion_obj::Clogged(end->_hx_getObject(0).StaticCast< ::tink::core::TypedError >(),::tink::streams::StreamObject_obj::idealize(end->_hx_getObject(1),_gthis->rescue)));
}
break;
case (int)2: {
-HXLINE( 456) ::tink::core::TypedError e1 = end->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXLINE( 457) {
-HXLINE( 457) ::tink::core::_Future::FutureObject this1 = ::tink::streams::StreamObject_obj::forEach(::tink::streams::StreamObject_obj::idealize(_gthis->rescue(e1),_gthis->rescue),handler);
-HXDLIN( 457) this1->handle(cb);
- }
+HXLINE( 457) ::tink::core::_Future::FutureObject this1 = ::tink::streams::StreamObject_obj::forEach(::tink::streams::StreamObject_obj::idealize(_gthis->rescue(end->_hx_getObject(0).StaticCast< ::tink::core::TypedError >()),_gthis->rescue),handler);
+HXDLIN( 457) this1->handle(cb);
}
break;
case (int)3: {
diff --git a/Sources/c_snikket/src/tink/streams/Reduction.cpp b/Sources/c_borogove/src/tink/streams/Reduction.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/Reduction.cpp
rename to Sources/c_borogove/src/tink/streams/Reduction.cpp
diff --git a/Sources/c_snikket/src/tink/streams/ReductionStep.cpp b/Sources/c_borogove/src/tink/streams/ReductionStep.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/ReductionStep.cpp
rename to Sources/c_borogove/src/tink/streams/ReductionStep.cpp
diff --git a/Sources/c_snikket/src/tink/streams/RegroupResult.cpp b/Sources/c_borogove/src/tink/streams/RegroupResult.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/RegroupResult.cpp
rename to Sources/c_borogove/src/tink/streams/RegroupResult.cpp
diff --git a/Sources/c_snikket/src/tink/streams/RegroupStatus.cpp b/Sources/c_borogove/src/tink/streams/RegroupStatus.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/RegroupStatus.cpp
rename to Sources/c_borogove/src/tink/streams/RegroupStatus.cpp
diff --git a/Sources/c_snikket/src/tink/streams/Single.cpp b/Sources/c_borogove/src/tink/streams/Single.cpp
similarity index 98%
rename from Sources/c_snikket/src/tink/streams/Single.cpp
rename to Sources/c_borogove/src/tink/streams/Single.cpp
index 7d42619..e2082be 100644
--- a/Sources/c_snikket/src/tink/streams/Single.cpp
+++ b/Sources/c_borogove/src/tink/streams/Single.cpp
@@ -86,8 +86,7 @@ HXLINE( 479) return ::tink::streams::Conclusion_obj::Depleted_dyn();
}
break;
case (int)3: {
-HXLINE( 480) ::tink::core::TypedError e = step->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXLINE( 481) return ::tink::streams::Conclusion_obj::Clogged(e,_gthis);
+HXLINE( 481) return ::tink::streams::Conclusion_obj::Clogged(step->_hx_getObject(0).StaticCast< ::tink::core::TypedError >(),_gthis);
}
break;
}
diff --git a/Sources/c_snikket/src/tink/streams/Step.cpp b/Sources/c_borogove/src/tink/streams/Step.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/Step.cpp
rename to Sources/c_borogove/src/tink/streams/Step.cpp
diff --git a/Sources/c_snikket/src/tink/streams/StreamBase.cpp b/Sources/c_borogove/src/tink/streams/StreamBase.cpp
similarity index 92%
rename from Sources/c_snikket/src/tink/streams/StreamBase.cpp
rename to Sources/c_borogove/src/tink/streams/StreamBase.cpp
index 75dd013..380c66e 100644
--- a/Sources/c_snikket/src/tink/streams/StreamBase.cpp
+++ b/Sources/c_borogove/src/tink/streams/StreamBase.cpp
@@ -169,14 +169,12 @@ HX_DEFINE_DYNAMIC_FUNC1(StreamBase_obj,idealize,return )
HX_STACKFRAME(&_hx_pos_8f94e574d4603fbe_411_reduce)
HXLINE( 411) switch((int)(o->_hx_getIndex())){
case (int)0: {
-HXLINE( 412) ::Dynamic v = o->_hx_getObject(0);
-HXDLIN( 412) initial1->set(0,v);
+HXLINE( 412) initial1->set(0,o->_hx_getObject(0));
HXDLIN( 412) return ::tink::streams::Handled_obj::Resume_dyn();
}
break;
case (int)1: {
-HXLINE( 413) ::tink::core::TypedError e = o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 413) return ::tink::streams::Handled_obj::Clog(e);
+HXLINE( 413) return ::tink::streams::Handled_obj::Clog(o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >());
}
break;
}
@@ -194,19 +192,15 @@ HXLINE( 410) return ::tink::core::_Future::Future_Impl__obj::map(( ( ::tink::
HX_STACKFRAME(&_hx_pos_8f94e574d4603fbe_415_reduce)
HXLINE( 415) switch((int)(c->_hx_getIndex())){
case (int)0: {
-HXLINE( 418) ::Dynamic _g = c->_hx_getObject(0);
-HXDLIN( 418) HX_STACK_DO_THROW(HX_("assert",c6,46,03,4c));
+HXLINE( 418) HX_STACK_DO_THROW(HX_("assert",c6,46,03,4c));
}
break;
case (int)1: {
-HXLINE( 419) ::tink::core::TypedError e = c->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 419) ::Dynamic rest = c->_hx_getObject(1);
-HXDLIN( 419) cb(::tink::streams::Reduction_obj::Crashed(e,rest));
+HXLINE( 419) cb(::tink::streams::Reduction_obj::Crashed(c->_hx_getObject(0).StaticCast< ::tink::core::TypedError >(),c->_hx_getObject(1)));
}
break;
case (int)2: {
-HXLINE( 416) ::tink::core::TypedError e1 = c->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 416) cb(::tink::streams::Reduction_obj::Failed(e1));
+HXLINE( 416) cb(::tink::streams::Reduction_obj::Failed(c->_hx_getObject(0).StaticCast< ::tink::core::TypedError >()));
}
break;
case (int)3: {
@@ -218,8 +212,7 @@ HXLINE( 417) cb(::tink::streams::Reduction_obj::Reduced(initial1->__get(0))
HX_END_LOCAL_FUNC1((void))
HX_STACKFRAME(&_hx_pos_8f94e574d4603fbe_409_reduce)
-HXLINE( 409) ::tink::streams::StreamBase _gthis1 = _gthis;
-HXDLIN( 409) _gthis1->forEach(::tink::streams::_Stream::Handler_Impl__obj::ofUnknown( ::Dynamic(new _hx_Closure_1(initial1,reducer))))->handle( ::Dynamic(new _hx_Closure_2(initial1,cb)));
+HXLINE( 409) _gthis->forEach(::tink::streams::_Stream::Handler_Impl__obj::ofUnknown( ::Dynamic(new _hx_Closure_1(initial1,reducer))))->handle( ::Dynamic(new _hx_Closure_2(initial1,cb)));
}
HX_END_LOCAL_FUNC1((void))
diff --git a/Sources/c_snikket/src/tink/streams/StreamObject.cpp b/Sources/c_borogove/src/tink/streams/StreamObject.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/StreamObject.cpp
rename to Sources/c_borogove/src/tink/streams/StreamObject.cpp
diff --git a/Sources/c_snikket/src/tink/streams/_Stream/CompoundStream.cpp b/Sources/c_borogove/src/tink/streams/_Stream/CompoundStream.cpp
similarity index 91%
rename from Sources/c_snikket/src/tink/streams/_Stream/CompoundStream.cpp
rename to Sources/c_borogove/src/tink/streams/_Stream/CompoundStream.cpp
index 6c5c8e3..9687941 100644
--- a/Sources/c_snikket/src/tink/streams/_Stream/CompoundStream.cpp
+++ b/Sources/c_borogove/src/tink/streams/_Stream/CompoundStream.cpp
@@ -123,34 +123,27 @@ HXLINE( 597) cb(::tink::streams::Conclusion_obj::Depleted_dyn());
HX_GC_STACKFRAME(&_hx_pos_354245b0a59af6d5_599_consumeParts)
HXLINE( 599) switch((int)(o->_hx_getIndex())){
case (int)0: {
-HXLINE( 604) ::Dynamic rest = o->_hx_getObject(0);
-HXDLIN( 604) {
-HXLINE( 606) parts1[0] = parts1->__get(0).StaticCast< ::Array< ::Dynamic> >()->copy();
-HXLINE( 607) parts1->__get(0).StaticCast< ::Array< ::Dynamic> >()[0] = rest;
-HXLINE( 608) ::Dynamic cb1 = cb;
-HXDLIN( 608) cb1(::tink::streams::Conclusion_obj::Halted( ::tink::streams::_Stream::CompoundStream_obj::__alloc( HX_CTX ,parts1->__get(0).StaticCast< ::Array< ::Dynamic> >())));
- }
+HXLINE( 606) parts1[0] = parts1->__get(0).StaticCast< ::Array< ::Dynamic> >()->copy();
+HXLINE( 607) parts1->__get(0).StaticCast< ::Array< ::Dynamic> >()[0] = o->_hx_getObject(0);
+HXLINE( 608) cb(::tink::streams::Conclusion_obj::Halted( ::tink::streams::_Stream::CompoundStream_obj::__alloc( HX_CTX ,parts1->__get(0).StaticCast< ::Array< ::Dynamic> >())));
}
break;
case (int)1: {
-HXLINE( 610) ::tink::core::TypedError e = o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 610) ::Dynamic at = o->_hx_getObject(1);
+HXLINE( 610) ::Dynamic _g = o->_hx_getObject(1);
HXDLIN( 610) {
-HXLINE( 612) if (::tink::streams::StreamObject_obj::get_depleted(at)) {
+HXLINE( 612) if (::tink::streams::StreamObject_obj::get_depleted(_g)) {
HXLINE( 613) parts1[0] = parts1->__get(0).StaticCast< ::Array< ::Dynamic> >()->slice(1,null());
}
else {
HXLINE( 615) parts1[0] = parts1->__get(0).StaticCast< ::Array< ::Dynamic> >()->copy();
-HXLINE( 616) parts1->__get(0).StaticCast< ::Array< ::Dynamic> >()[0] = at;
+HXLINE( 616) parts1->__get(0).StaticCast< ::Array< ::Dynamic> >()[0] = _g;
}
-HXLINE( 619) ::Dynamic cb2 = cb;
-HXDLIN( 619) cb2(::tink::streams::Conclusion_obj::Clogged(e, ::tink::streams::_Stream::CompoundStream_obj::__alloc( HX_CTX ,parts1->__get(0).StaticCast< ::Array< ::Dynamic> >())));
+HXLINE( 619) cb(::tink::streams::Conclusion_obj::Clogged(o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >(), ::tink::streams::_Stream::CompoundStream_obj::__alloc( HX_CTX ,parts1->__get(0).StaticCast< ::Array< ::Dynamic> >())));
}
}
break;
case (int)2: {
-HXLINE( 621) ::tink::core::TypedError e1 = o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXLINE( 623) cb(::tink::streams::Conclusion_obj::Failed(e1));
+HXLINE( 623) cb(::tink::streams::Conclusion_obj::Failed(o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >()));
}
break;
case (int)3: {
diff --git a/Sources/c_snikket/src/tink/streams/_Stream/ErrorStream.cpp b/Sources/c_borogove/src/tink/streams/_Stream/ErrorStream.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/_Stream/ErrorStream.cpp
rename to Sources/c_borogove/src/tink/streams/_Stream/ErrorStream.cpp
diff --git a/Sources/c_snikket/src/tink/streams/_Stream/Handler_Impl_.cpp b/Sources/c_borogove/src/tink/streams/_Stream/Handler_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/_Stream/Handler_Impl_.cpp
rename to Sources/c_borogove/src/tink/streams/_Stream/Handler_Impl_.cpp
diff --git a/Sources/c_snikket/src/tink/streams/_Stream/Reducer_Impl_.cpp b/Sources/c_borogove/src/tink/streams/_Stream/Reducer_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/_Stream/Reducer_Impl_.cpp
rename to Sources/c_borogove/src/tink/streams/_Stream/Reducer_Impl_.cpp
diff --git a/Sources/c_snikket/src/tink/streams/_Stream/RegroupStream.cpp b/Sources/c_borogove/src/tink/streams/_Stream/RegroupStream.cpp
similarity index 84%
rename from Sources/c_snikket/src/tink/streams/_Stream/RegroupStream.cpp
rename to Sources/c_borogove/src/tink/streams/_Stream/RegroupStream.cpp
index b4385a0..b770e69 100644
--- a/Sources/c_snikket/src/tink/streams/_Stream/RegroupStream.cpp
+++ b/Sources/c_borogove/src/tink/streams/_Stream/RegroupStream.cpp
@@ -82,24 +82,20 @@ void RegroupStream_obj::__construct(::Dynamic source, ::Dynamic f,::Dynamic prev
HX_GC_STACKFRAME(&_hx_pos_466eda33af4d343c_114_new)
HXLINE( 114) switch((int)(o->_hx_getIndex())){
case (int)0: {
-HXLINE( 115) ::Dynamic v = o->_hx_getObject(0);
-HXDLIN( 115) ::cpp::VirtualArray untouched = o->_hx_getObject(1).StaticCast< ::cpp::VirtualArray >();
-HXLINE( 116) ret[0] = v;
-HXLINE( 117) buf1[0] = untouched;
+HXLINE( 116) ret[0] = o->_hx_getObject(0);
+HXLINE( 117) buf1[0] = o->_hx_getObject(1).StaticCast< ::cpp::VirtualArray >();
HXLINE( 118) return ::tink::streams::Handled_obj::Finish_dyn();
}
break;
case (int)1: {
-HXLINE( 119) ::haxe::ds::Option v1 = o->_hx_getObject(0).StaticCast< ::haxe::ds::Option >();
+HXLINE( 119) ::haxe::ds::Option _g = o->_hx_getObject(0).StaticCast< ::haxe::ds::Option >();
HXLINE( 120) ::Array< ::Dynamic> ret1 = ret;
-HXDLIN( 120) ::Dynamic l = ::tink::core::_Lazy::LazyFunc_obj::__alloc( HX_CTX ,::tink::streams::Empty_obj::make_dyn(),null());
HXDLIN( 120) ::Dynamic next;
-HXDLIN( 120) if ((v1->_hx_getIndex() == 0)) {
-HXLINE( 120) ::Dynamic v2 = v1->_hx_getObject(0);
-HXDLIN( 120) next = v2;
+HXDLIN( 120) if ((_g->_hx_getIndex() == 0)) {
+HXLINE( 120) next = _g->_hx_getObject(0);
}
else {
-HXLINE( 120) next = ::tink::core::_Lazy::Lazy_Impl__obj::get(l);
+HXLINE( 120) next = ::tink::core::_Lazy::Lazy_Impl__obj::get( ::tink::core::_Lazy::LazyFunc_obj::__alloc( HX_CTX ,::tink::streams::Empty_obj::make_dyn(),null()));
}
HXDLIN( 120) ret1[0] = next;
HXLINE( 121) terminated[0] = true;
@@ -111,8 +107,7 @@ HXLINE( 124) return ::tink::streams::Handled_obj::Resume_dyn();
}
break;
case (int)3: {
-HXLINE( 125) ::tink::core::TypedError e = o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXLINE( 126) return ::tink::streams::Handled_obj::Clog(e);
+HXLINE( 126) return ::tink::streams::Handled_obj::Clog(o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >());
}
break;
}
@@ -135,20 +130,16 @@ HXLINE( 138) if (terminated->__get(0)) {
HXLINE( 138) return ret->__get(0);
}
else {
-HXLINE( 139) ::Dynamic rest = o->_hx_getObject(0);
-HXDLIN( 139) return ::tink::streams::_Stream::RegroupStream_obj::__alloc( HX_CTX ,rest,f,ret->__get(0),::cpp::VirtualArray( buf1->__get(0)));
+HXLINE( 139) return ::tink::streams::_Stream::RegroupStream_obj::__alloc( HX_CTX ,o->_hx_getObject(0),f,ret->__get(0),::cpp::VirtualArray( buf1->__get(0)));
}
}
break;
case (int)1: {
-HXLINE( 140) ::Dynamic _g = o->_hx_getObject(1);
-HXDLIN( 140) ::tink::core::TypedError e = o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 140) return ::tink::streams::_Stream::ErrorStream_obj::__alloc( HX_CTX ,e);
+HXLINE( 140) return ::tink::streams::_Stream::ErrorStream_obj::__alloc( HX_CTX ,o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >());
}
break;
case (int)2: {
-HXLINE( 129) ::tink::core::TypedError e1 = o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 129) return ::tink::streams::_Stream::Stream_Impl__obj::ofError(e1);
+HXLINE( 129) return ::tink::streams::_Stream::Stream_Impl__obj::ofError(o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >());
}
break;
case (int)3: {
@@ -161,20 +152,16 @@ HXLINE( 130) return ::tink::streams::Empty_obj::inst;
HX_GC_STACKFRAME(&_hx_pos_466eda33af4d343c_132_new)
HXLINE( 132) switch((int)(o->_hx_getIndex())){
case (int)0: {
-HXLINE( 133) ::cpp::VirtualArray _g = o->_hx_getObject(1).StaticCast< ::cpp::VirtualArray >();
-HXDLIN( 133) ::Dynamic v = o->_hx_getObject(0);
-HXDLIN( 133) return v;
+HXLINE( 133) return o->_hx_getObject(0);
}
break;
case (int)1: {
-HXLINE( 134) ::haxe::ds::Option v1 = o->_hx_getObject(0).StaticCast< ::haxe::ds::Option >();
-HXDLIN( 134) ::Dynamic l = ::tink::core::_Lazy::LazyFunc_obj::__alloc( HX_CTX ,::tink::streams::Empty_obj::make_dyn(),null());
-HXDLIN( 134) if ((v1->_hx_getIndex() == 0)) {
-HXLINE( 134) ::Dynamic v2 = v1->_hx_getObject(0);
-HXDLIN( 134) return v2;
+HXLINE( 134) ::haxe::ds::Option _g = o->_hx_getObject(0).StaticCast< ::haxe::ds::Option >();
+HXDLIN( 134) if ((_g->_hx_getIndex() == 0)) {
+HXLINE( 134) return _g->_hx_getObject(0);
}
else {
-HXLINE( 134) return ::tink::core::_Lazy::Lazy_Impl__obj::get(l);
+HXLINE( 134) return ::tink::core::_Lazy::Lazy_Impl__obj::get( ::tink::core::_Lazy::LazyFunc_obj::__alloc( HX_CTX ,::tink::streams::Empty_obj::make_dyn(),null()));
}
}
break;
@@ -183,8 +170,7 @@ HXLINE( 135) return ::tink::streams::Empty_obj::inst;
}
break;
case (int)3: {
-HXLINE( 136) ::tink::core::TypedError e = o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >();
-HXDLIN( 136) return ::tink::streams::_Stream::Stream_Impl__obj::ofError(e);
+HXLINE( 136) return ::tink::streams::_Stream::Stream_Impl__obj::ofError(o->_hx_getObject(0).StaticCast< ::tink::core::TypedError >());
}
break;
}
diff --git a/Sources/c_snikket/src/tink/streams/_Stream/Regrouper_Impl_.cpp b/Sources/c_borogove/src/tink/streams/_Stream/Regrouper_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/_Stream/Regrouper_Impl_.cpp
rename to Sources/c_borogove/src/tink/streams/_Stream/Regrouper_Impl_.cpp
diff --git a/Sources/c_snikket/src/tink/streams/_Stream/Stream_Impl_.cpp b/Sources/c_borogove/src/tink/streams/_Stream/Stream_Impl_.cpp
similarity index 100%
rename from Sources/c_snikket/src/tink/streams/_Stream/Stream_Impl_.cpp
rename to Sources/c_borogove/src/tink/streams/_Stream/Stream_Impl_.cpp
diff --git a/Sources/c_snikket/src/tink/url/_Host/Host_Impl_.cpp b/Sources/c_borogove/src/tink/url/_Host/Host_Impl_.cpp
similarity index 88%
rename from Sources/c_snikket/src/tink/url/_Host/Host_Impl_.cpp
rename to Sources/c_borogove/src/tink/url/_Host/Host_Impl_.cpp
index 7b9e704..02dd4ee 100644
--- a/Sources/c_snikket/src/tink/url/_Host/Host_Impl_.cpp
+++ b/Sources/c_borogove/src/tink/url/_Host/Host_Impl_.cpp
@@ -68,14 +68,11 @@ HXDLIN( 21) return null();
HXLINE( 22) ::Array< ::String > _g = this1.split(HX_("]",5d,00,00,00));
HXDLIN( 22) switch((int)(_g->length)){
case (int)1: {
-HXLINE( 23) ::String v = _g->__get(0);
-HXDLIN( 23) return v.split(HX_(":",3a,00,00,00))->__get(0);
+HXLINE( 23) return _g->__get(0).split(HX_(":",3a,00,00,00))->__get(0);
}
break;
case (int)2: {
-HXLINE( 22) ::String _g1 = _g->__get(1);
-HXLINE( 24) ::String v1 = _g->__get(0);
-HXDLIN( 24) return (v1 + HX_("]",5d,00,00,00));
+HXLINE( 24) return (_g->__get(0) + HX_("]",5d,00,00,00));
}
break;
default:{
@@ -98,27 +95,22 @@ HXDLIN( 30) return null();
HXLINE( 32) ::Array< ::String > _g = this1.split(HX_("]",5d,00,00,00));
HXDLIN( 32) switch((int)(_g->length)){
case (int)1: {
-HXLINE( 33) ::String v = _g->__get(0);
-HXLINE( 34) ::String _g1 = v.split(HX_(":",3a,00,00,00))->__get(1);
+HXLINE( 34) ::String _g1 = _g->__get(0).split(HX_(":",3a,00,00,00))->__get(1);
HXLINE( 35) if (::hx::IsNull( _g1 )) {
HXLINE( 35) return null();
}
else {
-HXLINE( 36) ::String p = _g1;
-HXDLIN( 36) return ::Std_obj::parseInt(p);
+HXLINE( 36) return ::Std_obj::parseInt(_g1);
}
}
break;
case (int)2: {
-HXLINE( 32) ::String _g2 = _g->__get(0);
-HXLINE( 33) ::String v1 = _g->__get(1);
-HXLINE( 34) ::String _g3 = v1.split(HX_(":",3a,00,00,00))->__get(1);
-HXLINE( 35) if (::hx::IsNull( _g3 )) {
+HXLINE( 34) ::String _g2 = _g->__get(1).split(HX_(":",3a,00,00,00))->__get(1);
+HXLINE( 35) if (::hx::IsNull( _g2 )) {
HXLINE( 35) return null();
}
else {
-HXLINE( 36) ::String p1 = _g3;
-HXDLIN( 36) return ::Std_obj::parseInt(p1);
+HXLINE( 36) return ::Std_obj::parseInt(_g2);
}
}
break;
diff --git a/Sources/c_snikket/src/tink/url/_Path/Path_Impl_.cpp b/Sources/c_borogove/src/tink/url/_Path/Path_Impl_.cpp
similarity index 97%
rename from Sources/c_snikket/src/tink/url/_Path/Path_Impl_.cpp
rename to Sources/c_borogove/src/tink/url/_Path/Path_Impl_.cpp
index 9abe26b..a81f128 100644
--- a/Sources/c_snikket/src/tink/url/_Path/Path_Impl_.cpp
+++ b/Sources/c_borogove/src/tink/url/_Path/Path_Impl_.cpp
@@ -51,8 +51,7 @@ HXDLIN( 28) if ((_g == -1)) {
HXLINE( 29) return that;
}
else {
-HXLINE( 30) int v = _g;
-HXDLIN( 30) ::String _hx_tmp = this1.substr(0,(v + 1));
+HXLINE( 30) ::String _hx_tmp = this1.substr(0,(_g + 1));
HXDLIN( 30) ::String _hx_tmp1;
HXDLIN( 30) if (::hx::IsNull( that )) {
HXLINE( 30) _hx_tmp1 = HX_("null",87,9e,0e,49);
@@ -124,8 +123,7 @@ HXLINE( 53) up = (up + 1);
HXDLIN( 53) goto _hx_goto_3;
}
/* default */{
-HXLINE( 54) ::String v = _g2;
-HXDLIN( 54) parts->push(v);
+HXLINE( 54) parts->push(_g2);
}
_hx_goto_3:;
}
@@ -139,7 +137,6 @@ HXLINE( 60) int _g3 = 0;
HXDLIN( 60) int _g4 = up;
HXDLIN( 60) while((_g3 < _g4)){
HXLINE( 60) _g3 = (_g3 + 1);
-HXDLIN( 60) int i = (_g3 - 1);
HXLINE( 61) parts->unshift(HX_("..",40,28,00,00));
}
}
diff --git a/Sources/c_snikket/iinclude/_HaxeCBridge/Int64Map_Impl_.h b/Sources/c_snikket/iinclude/_HaxeCBridge/Int64Map_Impl_.h
deleted file mode 100644
index cf001a9..0000000
--- a/Sources/c_snikket/iinclude/_HaxeCBridge/Int64Map_Impl_.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED__HaxeCBridge_Int64Map_Impl_
-#define INCLUDED__HaxeCBridge_Int64Map_Impl_
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS1(_HaxeCBridge,Int64Map_Impl_)
-HX_DECLARE_CLASS1(haxe,IMap)
-HX_DECLARE_CLASS2(haxe,ds,IntMap)
-
-namespace _HaxeCBridge{
-
-
-class HXCPP_CLASS_ATTRIBUTES Int64Map_Impl__obj : public ::hx::Object
-{
- public:
- typedef ::hx::Object super;
- typedef Int64Map_Impl__obj OBJ_;
- Int64Map_Impl__obj();
-
- public:
- enum { _hx_ClassId = 0x09ceba9e };
-
- void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="_HaxeCBridge.Int64Map_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,"_HaxeCBridge.Int64Map_Impl_"); }
-
- inline static ::hx::ObjectPtr< Int64Map_Impl__obj > __new() {
- ::hx::ObjectPtr< Int64Map_Impl__obj > __this = new Int64Map_Impl__obj();
- __this->__construct();
- return __this;
- }
-
- inline static ::hx::ObjectPtr< Int64Map_Impl__obj > __alloc(::hx::Ctx *_hx_ctx) {
- Int64Map_Impl__obj *__this = (Int64Map_Impl__obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Int64Map_Impl__obj), false, "_HaxeCBridge.Int64Map_Impl_"));
- *(void **)__this = Int64Map_Impl__obj::_hx_vtable;
- return __this;
- }
-
- static void * _hx_vtable;
- static Dynamic __CreateEmpty();
- static Dynamic __Create(::hx::DynamicArray inArgs);
- //~Int64Map_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_("Int64Map_Impl_",af,5c,92,21); }
-
- static ::haxe::ds::IntMap _new();
- static ::Dynamic _new_dyn();
-
-};
-
-} // end namespace _HaxeCBridge
-
-#endif /* INCLUDED__HaxeCBridge_Int64Map_Impl_ */
diff --git a/Sources/c_snikket/iinclude/haxe/ds/_List/ListIterator.h b/Sources/c_snikket/iinclude/haxe/ds/_List/ListIterator.h
deleted file mode 100644
index 8b742fa..0000000
--- a/Sources/c_snikket/iinclude/haxe/ds/_List/ListIterator.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_haxe_ds__List_ListIterator
-#define INCLUDED_haxe_ds__List_ListIterator
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS3(haxe,ds,_List,ListIterator)
-HX_DECLARE_CLASS3(haxe,ds,_List,ListNode)
-
-namespace haxe{
-namespace ds{
-namespace _List{
-
-
-class HXCPP_CLASS_ATTRIBUTES ListIterator_obj : public ::hx::Object
-{
- public:
- typedef ::hx::Object super;
- typedef ListIterator_obj OBJ_;
- ListIterator_obj();
-
- public:
- enum { _hx_ClassId = 0x7cc93b54 };
-
- void __construct( ::haxe::ds::_List::ListNode head);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="haxe.ds._List.ListIterator")
- { 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.ds._List.ListIterator"); }
- static ::hx::ObjectPtr< ListIterator_obj > __new( ::haxe::ds::_List::ListNode head);
- static ::hx::ObjectPtr< ListIterator_obj > __alloc(::hx::Ctx *_hx_ctx, ::haxe::ds::_List::ListNode head);
- static void * _hx_vtable;
- static Dynamic __CreateEmpty();
- static Dynamic __Create(::hx::DynamicArray inArgs);
- //~ListIterator_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_("ListIterator",8c,fc,31,c4); }
-
- ::haxe::ds::_List::ListNode head;
- bool hasNext();
- ::Dynamic hasNext_dyn();
-
- ::Dynamic next();
- ::Dynamic next_dyn();
-
-};
-
-} // end namespace haxe
-} // end namespace ds
-} // end namespace _List
-
-#endif /* INCLUDED_haxe_ds__List_ListIterator */
diff --git a/Sources/c_snikket/iinclude/haxe/xml/Parser.h b/Sources/c_snikket/iinclude/haxe/xml/Parser.h
deleted file mode 100644
index b6ef3d6..0000000
--- a/Sources/c_snikket/iinclude/haxe/xml/Parser.h
+++ /dev/null
@@ -1,71 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_haxe_xml_Parser
-#define INCLUDED_haxe_xml_Parser
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS0(Xml)
-HX_DECLARE_CLASS1(haxe,IMap)
-HX_DECLARE_CLASS2(haxe,ds,StringMap)
-HX_DECLARE_CLASS2(haxe,xml,Parser)
-
-namespace haxe{
-namespace xml{
-
-
-class HXCPP_CLASS_ATTRIBUTES Parser_obj : public ::hx::Object
-{
- public:
- typedef ::hx::Object super;
- typedef Parser_obj OBJ_;
- Parser_obj();
-
- public:
- enum { _hx_ClassId = 0x1c6f1730 };
-
- void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.xml.Parser")
- { 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.xml.Parser"); }
-
- inline static ::hx::ObjectPtr< Parser_obj > __new() {
- ::hx::ObjectPtr< Parser_obj > __this = new Parser_obj();
- __this->__construct();
- return __this;
- }
-
- inline static ::hx::ObjectPtr< Parser_obj > __alloc(::hx::Ctx *_hx_ctx) {
- Parser_obj *__this = (Parser_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Parser_obj), false, "haxe.xml.Parser"));
- *(void **)__this = Parser_obj::_hx_vtable;
- return __this;
- }
-
- static void * _hx_vtable;
- static Dynamic __CreateEmpty();
- static Dynamic __Create(::hx::DynamicArray inArgs);
- //~Parser_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_("Parser",ff,10,1d,22); }
-
- static void __boot();
- static ::haxe::ds::StringMap escapes;
- static ::Xml parse(::String str,::hx::Null< bool > strict);
- static ::Dynamic parse_dyn();
-
- static int doParse(::String str,bool strict,::hx::Null< int > p, ::Xml parent);
- static ::Dynamic doParse_dyn();
-
-};
-
-} // end namespace haxe
-} // end namespace xml
-
-#endif /* INCLUDED_haxe_xml_Parser */
diff --git a/Sources/c_snikket/iinclude/haxe/xml/XmlParserException.h b/Sources/c_snikket/iinclude/haxe/xml/XmlParserException.h
deleted file mode 100644
index a842951..0000000
--- a/Sources/c_snikket/iinclude/haxe/xml/XmlParserException.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_haxe_xml_XmlParserException
-#define INCLUDED_haxe_xml_XmlParserException
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS2(haxe,xml,XmlParserException)
-
-namespace haxe{
-namespace xml{
-
-
-class HXCPP_CLASS_ATTRIBUTES XmlParserException_obj : public ::hx::Object
-{
- public:
- typedef ::hx::Object super;
- typedef XmlParserException_obj OBJ_;
- XmlParserException_obj();
-
- public:
- enum { _hx_ClassId = 0x75f2332a };
-
- void __construct(::String message,::String xml,int position);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="haxe.xml.XmlParserException")
- { 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.xml.XmlParserException"); }
- static ::hx::ObjectPtr< XmlParserException_obj > __new(::String message,::String xml,int position);
- static ::hx::ObjectPtr< XmlParserException_obj > __alloc(::hx::Ctx *_hx_ctx,::String message,::String xml,int position);
- static void * _hx_vtable;
- static Dynamic __CreateEmpty();
- static Dynamic __Create(::hx::DynamicArray inArgs);
- //~XmlParserException_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_("XmlParserException",79,27,d7,6b); }
-
- ::String message;
- int lineNumber;
- int positionAtLine;
- int position;
- ::String xml;
- virtual ::String toString();
- ::Dynamic toString_dyn();
-
-};
-
-} // end namespace haxe
-} // end namespace xml
-
-#endif /* INCLUDED_haxe_xml_XmlParserException */
diff --git a/Sources/c_snikket/iinclude/snikket/Channel.h b/Sources/c_snikket/iinclude/snikket/Channel.h
deleted file mode 100644
index fe12a4d..0000000
--- a/Sources/c_snikket/iinclude/snikket/Channel.h
+++ /dev/null
@@ -1,146 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Channel
-#define INCLUDED_snikket_Channel
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
-#endif
-HX_DECLARE_CLASS1(snikket,Caps)
-HX_DECLARE_CLASS1(snikket,Channel)
-HX_DECLARE_CLASS1(snikket,Chat)
-HX_DECLARE_CLASS1(snikket,ChatMessage)
-HX_DECLARE_CLASS1(snikket,ChatMessageBuilder)
-HX_DECLARE_CLASS1(snikket,Client)
-HX_DECLARE_CLASS1(snikket,EventEmitter)
-HX_DECLARE_CLASS1(snikket,GenericStream)
-HX_DECLARE_CLASS1(snikket,JID)
-HX_DECLARE_CLASS1(snikket,MessageSync)
-HX_DECLARE_CLASS1(snikket,Participant)
-HX_DECLARE_CLASS1(snikket,Persistence)
-HX_DECLARE_CLASS1(snikket,Presence)
-HX_DECLARE_CLASS1(snikket,Reaction)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-
-namespace snikket{
-
-
-class HXCPP_CLASS_ATTRIBUTES Channel_obj : public ::snikket::Chat_obj
-{
- public:
- typedef ::snikket::Chat_obj super;
- typedef Channel_obj OBJ_;
- Channel_obj();
-
- public:
- enum { _hx_ClassId = 0x23f2b886 };
-
- void __construct( ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy, ::snikket::Caps disco);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Channel")
- { 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,"snikket.Channel"); }
- static ::hx::ObjectPtr< Channel_obj > __new( ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy, ::snikket::Caps disco);
- static ::hx::ObjectPtr< Channel_obj > __alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy, ::snikket::Caps disco);
- static void * _hx_vtable;
- static Dynamic __CreateEmpty();
- static Dynamic __Create(::hx::DynamicArray inArgs);
- //~Channel_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_("Channel",a3,28,23,9a); }
-
- static void __boot();
- static ::Dynamic __meta__;
- ::snikket::Caps disco;
- bool inSync;
- ::snikket::MessageSync sync;
- bool forceLive;
- ::String _nickInUse;
- void selfPing(bool refresh);
- ::Dynamic selfPing_dyn();
-
- void join();
- ::Dynamic join_dyn();
-
- void selfPingSuccess();
- ::Dynamic selfPingSuccess_dyn();
-
- ::Dynamic getCaps();
-
- void setPresence(::String resource, ::snikket::Presence presence);
-
- void doSync(::String lastId);
- ::Dynamic doSync_dyn();
-
- bool isTrusted();
-
- bool isPrivate();
- ::Dynamic isPrivate_dyn();
-
- void refreshDisco( ::Dynamic callback);
- ::Dynamic refreshDisco_dyn();
-
- ::String preview();
-
- bool livePresence();
-
- bool syncing();
-
- bool canAudioCall();
-
- bool canVideoCall();
-
- ::String nickInUse();
- ::Dynamic nickInUse_dyn();
-
- ::snikket::JID getFullJid();
- ::Dynamic getFullJid_dyn();
-
- ::Array< ::String > getParticipants();
-
- ::snikket::Participant getParticipantDetails(::String participantId);
-
- void getMessagesBefore(::String beforeId,::String beforeTime, ::Dynamic handler);
-
- void getMessagesAfter(::String afterId,::String afterTime, ::Dynamic handler);
-
- void getMessagesAround(::String aroundId,::String aroundTime, ::Dynamic handler);
-
- ::snikket::ChatMessageBuilder prepareIncomingMessage( ::snikket::ChatMessageBuilder message, ::snikket::Stanza stanza);
-
- ::snikket::ChatMessageBuilder prepareOutgoingMessage( ::snikket::ChatMessageBuilder message);
- ::Dynamic prepareOutgoingMessage_dyn();
-
- void correctMessage(::String localId, ::snikket::ChatMessageBuilder message);
-
- void sendMessage( ::snikket::ChatMessageBuilder message);
-
- void removeReaction( ::snikket::ChatMessage m, ::snikket::Reaction reaction);
-
- ::String lastMessageId();
-
- void markReadUpTo( ::snikket::ChatMessage message);
-
- void bookmark();
-
- void sendChatState(::String state,::String threadId);
-
- void close();
-
-};
-
-} // end namespace snikket
-
-#endif /* INCLUDED_snikket_Channel */
diff --git a/Sources/c_snikket/iinclude/snikket/Client.h b/Sources/c_snikket/iinclude/snikket/Client.h
deleted file mode 100644
index 06fff47..0000000
--- a/Sources/c_snikket/iinclude/snikket/Client.h
+++ /dev/null
@@ -1,305 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Client
-#define INCLUDED_snikket_Client
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-HX_DECLARE_CLASS1(haxe,IMap)
-HX_DECLARE_CLASS2(haxe,ds,StringMap)
-HX_DECLARE_CLASS1(snikket,AttachmentSource)
-HX_DECLARE_CLASS1(snikket,AvailableChat)
-HX_DECLARE_CLASS1(snikket,Caps)
-HX_DECLARE_CLASS1(snikket,Chat)
-HX_DECLARE_CLASS1(snikket,ChatAttachment)
-HX_DECLARE_CLASS1(snikket,ChatMessage)
-HX_DECLARE_CLASS1(snikket,Client)
-HX_DECLARE_CLASS1(snikket,DirectChat)
-HX_DECLARE_CLASS1(snikket,EventEmitter)
-HX_DECLARE_CLASS1(snikket,EventResult)
-HX_DECLARE_CLASS1(snikket,GenericStream)
-HX_DECLARE_CLASS1(snikket,Hash)
-HX_DECLARE_CLASS1(snikket,JID)
-HX_DECLARE_CLASS1(snikket,ModerationAction)
-HX_DECLARE_CLASS1(snikket,Persistence)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,jingle,InitiatedSession)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStream)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStreamTrack)
-HX_DECLARE_CLASS2(snikket,jingle,Session)
-HX_DECLARE_CLASS2(snikket,queries,GenericQuery)
-HX_DECLARE_CLASS1(thenshim,Thenable)
-
-namespace snikket{
-
-
-class HXCPP_CLASS_ATTRIBUTES Client_obj : public ::snikket::EventEmitter_obj
-{
- public:
- typedef ::snikket::EventEmitter_obj super;
- typedef Client_obj OBJ_;
- Client_obj();
-
- public:
- enum { _hx_ClassId = 0x668a7be8 };
-
- void __construct(::String address,::Dynamic persistence);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.Client")
- { 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,"snikket.Client"); }
- static ::hx::ObjectPtr< Client_obj > __new(::String address,::Dynamic persistence);
- static ::hx::ObjectPtr< Client_obj > __alloc(::hx::Ctx *_hx_ctx,::String address,::Dynamic persistence);
- static void * _hx_vtable;
- static Dynamic __CreateEmpty();
- static Dynamic __Create(::hx::DynamicArray inArgs);
- //~Client_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_("Client",6b,3e,e4,3e); }
-
- static void __boot();
- static ::Dynamic __meta__;
- bool sendAvailable;
- void set_sendAvailable__fromC(bool value);
- ::Dynamic set_sendAvailable__fromC_dyn();
-
- ::snikket::GenericStream stream;
- ::Array< ::Dynamic> chatMessageHandlers;
- ::Array< ::Dynamic> syncMessageHandlers;
- ::Array< ::Dynamic> chatStateHandlers;
- ::snikket::JID jid;
- ::Array< ::Dynamic> chats;
- ::Dynamic persistence;
- ::snikket::Caps caps;
- ::String _displayName;
- ::String fastMechanism;
- ::String token;
- ::Dynamic fastCount;
- ::haxe::ds::StringMap pendingCaps;
- bool inSync;
- void start();
- ::Dynamic start_dyn();
-
- void startOffline( ::Dynamic ready);
- ::Dynamic startOffline_dyn();
-
- void startOffline__fromC(::cpp::Function< void (void*) > ready,void* ready__context);
-
- void logout(bool completely);
- ::Dynamic logout_dyn();
-
- void usePassword(::String password);
- ::Dynamic usePassword_dyn();
-
- ::String accountId();
- ::Dynamic accountId_dyn();
-
- ::String displayName();
- ::Dynamic displayName_dyn();
-
- void setDisplayName(::String displayName);
- ::Dynamic setDisplayName_dyn();
-
- bool updateDisplayName(::String fn);
- ::Dynamic updateDisplayName_dyn();
-
- ::snikket::EventResult onConnected( ::Dynamic data);
- ::Dynamic onConnected_dyn();
-
- void prepareAttachment( ::snikket::AttachmentSource source, ::Dynamic callback);
- ::Dynamic prepareAttachment_dyn();
-
- void prepareAttachment__fromC( ::snikket::AttachmentSource source,::cpp::Function< void (void*,void*) > callback,void* callback__context);
-
- void prepareAttachmentFor( ::snikket::AttachmentSource source,::Array< ::Dynamic> services,::Array< ::Dynamic> hashes, ::Dynamic callback);
- ::Dynamic prepareAttachmentFor_dyn();
-
- ::Array< ::Dynamic> getChats();
- ::Dynamic getChats_dyn();
-
- size_t getChats__fromC(void*** outPtr);
-
- void findAvailableChats(::String q, ::Dynamic callback);
- ::Dynamic findAvailableChats_dyn();
-
- void findAvailableChats__fromC(::String q,::cpp::Function< void (const char*,void**,size_t,void*) > callback,void* callback__context);
-
- ::snikket::Chat startChat( ::snikket::AvailableChat availableChat);
- ::Dynamic startChat_dyn();
-
- ::snikket::Chat getChat(::String chatId);
- ::Dynamic getChat_dyn();
-
- ::Dynamic moderateMessage( ::snikket::ModerationAction action);
- ::Dynamic moderateMessage_dyn();
-
- ::snikket::DirectChat getDirectChat(::String chatId,::hx::Null< bool > triggerIfNew);
- ::Dynamic getDirectChat_dyn();
-
- ::Dynamic enabledPushData;
- void 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);
- ::Dynamic enablePush_dyn();
-
- void enablePush__fromC(::String push_service,::String endpoint,::cpp::Pointer< unsigned char > p256dh,size_t p256dh__len,::cpp::Pointer< unsigned char > auth,size_t auth__len,int grace,::cpp::Pointer< unsigned char > vapid_private_pkcs8,size_t vapid_private_pkcs8__len,::cpp::Pointer< const char* > claims,size_t claims__len);
- ::Dynamic enablePush__fromC_dyn();
-
- void updatePushIfEnabled();
- ::Dynamic updatePushIfEnabled_dyn();
-
- void addPasswordNeededListener( ::Dynamic handler);
- ::Dynamic addPasswordNeededListener_dyn();
-
- void addPasswordNeededListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
-
- void addStatusOnlineListener( ::Dynamic handler);
- ::Dynamic addStatusOnlineListener_dyn();
-
- void addStatusOnlineListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context);
-
- void addStatusOfflineListener( ::Dynamic handler);
- ::Dynamic addStatusOfflineListener_dyn();
-
- void addStatusOfflineListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context);
-
- void addConnectionFailedListener( ::Dynamic handler);
- ::Dynamic addConnectionFailedListener_dyn();
-
- void addConnectionFailedListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context);
-
- void addTlsCheckListener( ::Dynamic handler);
- ::Dynamic addTlsCheckListener_dyn();
-
- void addTlsCheckListener__fromC(::cpp::Function< bool (const char*,const char**,size_t,void*) > handler,void* handler__context);
-
- void addChatMessageListener( ::Dynamic handler);
- ::Dynamic addChatMessageListener_dyn();
-
- void addChatMessageListener__fromC(::cpp::Function< void (void*,int,void*) > handler,void* handler__context);
-
- void addSyncMessageListener( ::Dynamic handler);
- ::Dynamic addSyncMessageListener_dyn();
-
- void addSyncMessageListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
-
- void addChatsUpdatedListener( ::Dynamic handler);
- ::Dynamic addChatsUpdatedListener_dyn();
-
- void addChatsUpdatedListener__fromC(::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context);
-
- void addCallRingListener( ::Dynamic handler);
- ::Dynamic addCallRingListener_dyn();
-
- void addCallRingListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
-
- void addCallRetractListener( ::Dynamic handler);
- ::Dynamic addCallRetractListener_dyn();
-
- void addCallRetractListener__fromC(::cpp::Function< void (const char*,const char*,void*) > handler,void* handler__context);
-
- void addCallRingingListener( ::Dynamic handler);
- ::Dynamic addCallRingingListener_dyn();
-
- void addCallRingingListener__fromC(::cpp::Function< void (const char*,const char*,void*) > handler,void* handler__context);
-
- void addCallUpdateStatusListener( ::Dynamic handler);
- ::Dynamic addCallUpdateStatusListener_dyn();
-
- void addCallUpdateStatusListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
-
- void addCallMediaListener( ::Dynamic handler);
- ::Dynamic addCallMediaListener_dyn();
-
- void addCallMediaListener__fromC(::cpp::Function< void (void*,bool,bool,void*) > handler,void* handler__context);
-
- void addCallTrackListener( ::Dynamic handler);
- ::Dynamic addCallTrackListener_dyn();
-
- void addCallTrackListener__fromC(::cpp::Function< void (const char*,void*,void**,size_t,void*) > handler,void* handler__context);
-
- void setInForeground();
- ::Dynamic setInForeground_dyn();
-
- void setNotInForeground();
- ::Dynamic setNotInForeground_dyn();
-
- ::Dynamic fetchMediaByHash(::Array< ::Dynamic> hashes,::Array< ::Dynamic> counterparts);
- ::Dynamic fetchMediaByHash_dyn();
-
- ::Dynamic fetchMediaByHashOneCounterpart(::Array< ::Dynamic> hashes, ::snikket::JID counterpart);
- ::Dynamic fetchMediaByHashOneCounterpart_dyn();
-
- void chatActivity( ::snikket::Chat chat,::hx::Null< bool > trigger);
- ::Dynamic chatActivity_dyn();
-
- void sortChats();
- ::Dynamic sortChats_dyn();
-
- void storeMessages(::Array< ::Dynamic> messages, ::Dynamic callback);
- ::Dynamic storeMessages_dyn();
-
- void sendQuery( ::snikket::queries::GenericQuery query);
- ::Dynamic sendQuery_dyn();
-
- void sendStanza( ::snikket::Stanza stanza);
- ::Dynamic sendStanza_dyn();
-
- void sendPresence(::String to, ::Dynamic augment);
- ::Dynamic sendPresence_dyn();
-
- void getIceServers( ::Dynamic callback);
- ::Dynamic getIceServers_dyn();
-
- void discoverServices( ::snikket::JID target,::String node, ::Dynamic callback);
- ::Dynamic discoverServices_dyn();
-
- void notifyMessageHandlers( ::snikket::ChatMessage message,int event);
- ::Dynamic notifyMessageHandlers_dyn();
-
- void notifySyncMessageHandlers( ::snikket::ChatMessage message);
- ::Dynamic notifySyncMessageHandlers_dyn();
-
- void rosterGet();
- ::Dynamic rosterGet_dyn();
-
- void startChatWith(::String jid, ::Dynamic handleCaps, ::Dynamic handleChat);
- ::Dynamic startChatWith_dyn();
-
- void serverBlocked(::String blocked);
- ::Dynamic serverBlocked_dyn();
-
- void bookmarksGet( ::Dynamic callback);
- ::Dynamic bookmarksGet_dyn();
-
- void sync( ::Dynamic callback);
- ::Dynamic sync_dyn();
-
- void onMAMJMI(::String sid, ::snikket::Stanza stanza);
- ::Dynamic onMAMJMI_dyn();
-
- void doSync( ::Dynamic callback,::String lastId);
- ::Dynamic doSync_dyn();
-
- void pingAllChannels(bool refresh);
- ::Dynamic pingAllChannels_dyn();
-
- void joinAllChannels();
- ::Dynamic joinAllChannels_dyn();
-
-};
-
-} // end namespace snikket
-
-#endif /* INCLUDED_snikket_Client */
diff --git a/Sources/c_snikket/iinclude/snikket/DirectChat.h b/Sources/c_snikket/iinclude/snikket/DirectChat.h
deleted file mode 100644
index e8a37c4..0000000
--- a/Sources/c_snikket/iinclude/snikket/DirectChat.h
+++ /dev/null
@@ -1,96 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_DirectChat
-#define INCLUDED_snikket_DirectChat
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
-#endif
-HX_DECLARE_CLASS1(snikket,Chat)
-HX_DECLARE_CLASS1(snikket,ChatMessage)
-HX_DECLARE_CLASS1(snikket,ChatMessageBuilder)
-HX_DECLARE_CLASS1(snikket,Client)
-HX_DECLARE_CLASS1(snikket,DirectChat)
-HX_DECLARE_CLASS1(snikket,EventEmitter)
-HX_DECLARE_CLASS1(snikket,GenericStream)
-HX_DECLARE_CLASS1(snikket,Participant)
-HX_DECLARE_CLASS1(snikket,Persistence)
-HX_DECLARE_CLASS1(snikket,Reaction)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-
-namespace snikket{
-
-
-class HXCPP_CLASS_ATTRIBUTES DirectChat_obj : public ::snikket::Chat_obj
-{
- public:
- typedef ::snikket::Chat_obj super;
- typedef DirectChat_obj OBJ_;
- DirectChat_obj();
-
- public:
- enum { _hx_ClassId = 0x62c262be };
-
- void __construct( ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.DirectChat")
- { 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,"snikket.DirectChat"); }
- static ::hx::ObjectPtr< DirectChat_obj > __new( ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy);
- static ::hx::ObjectPtr< DirectChat_obj > __alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy);
- static void * _hx_vtable;
- static Dynamic __CreateEmpty();
- static Dynamic __Create(::hx::DynamicArray inArgs);
- //~DirectChat_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_("DirectChat",c1,22,a3,05); }
-
- static void __boot();
- static ::Dynamic __meta__;
- ::Array< ::String > getParticipants();
-
- ::Array< ::String > counterparts();
- ::Dynamic counterparts_dyn();
-
- ::snikket::Participant getParticipantDetails(::String participantId);
-
- void getMessagesBefore(::String beforeId,::String beforeTime, ::Dynamic handler);
-
- void getMessagesAfter(::String afterId,::String afterTime, ::Dynamic handler);
-
- void getMessagesAround(::String aroundId,::String aroundTime, ::Dynamic handler);
-
- ::snikket::ChatMessageBuilder prepareIncomingMessage( ::snikket::ChatMessageBuilder message, ::snikket::Stanza stanza);
-
- ::snikket::ChatMessageBuilder prepareOutgoingMessage( ::snikket::ChatMessageBuilder message);
- ::Dynamic prepareOutgoingMessage_dyn();
-
- void correctMessage(::String localId, ::snikket::ChatMessageBuilder message);
-
- void sendMessage( ::snikket::ChatMessageBuilder message);
-
- void removeReaction( ::snikket::ChatMessage m, ::snikket::Reaction reaction);
-
- ::String lastMessageId();
-
- void markReadUpTo( ::snikket::ChatMessage message);
-
- void bookmark();
-
- void sendChatState(::String state,::String threadId);
-
- void close();
-
-};
-
-} // end namespace snikket
-
-#endif /* INCLUDED_snikket_DirectChat */
diff --git a/Sources/c_snikket/iinclude/snikket/EventResult.h b/Sources/c_snikket/iinclude/snikket/EventResult.h
deleted file mode 100644
index b3b5504..0000000
--- a/Sources/c_snikket/iinclude/snikket/EventResult.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_EventResult
-#define INCLUDED_snikket_EventResult
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS1(snikket,EventResult)
-namespace snikket{
-
-
-class EventResult_obj : public ::hx::EnumBase_obj
-{
- typedef ::hx::EnumBase_obj super;
- typedef EventResult_obj OBJ_;
-
- public:
- EventResult_obj() {};
- HX_DO_ENUM_RTTI;
- static void __boot();
- static void __register();
- static bool __GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
- ::String GetEnumName( ) const { return HX_("snikket.EventResult",06,97,23,e2); }
- ::String __ToString() const { return HX_("EventResult.",d7,9b,be,c3) + _hx_tag; }
-
- static ::snikket::EventResult EventHandled;
- static inline ::snikket::EventResult EventHandled_dyn() { return EventHandled; }
- static ::snikket::EventResult EventStop;
- static inline ::snikket::EventResult EventStop_dyn() { return EventStop; }
- static ::snikket::EventResult EventUnhandled;
- static inline ::snikket::EventResult EventUnhandled_dyn() { return EventUnhandled; }
- static ::snikket::EventResult EventValue( ::Dynamic result);
- static ::Dynamic EventValue_dyn();
-};
-
-} // end namespace snikket
-
-#endif /* INCLUDED_snikket_EventResult */
diff --git a/Sources/c_snikket/iinclude/snikket/IqRequestType.h b/Sources/c_snikket/iinclude/snikket/IqRequestType.h
deleted file mode 100644
index b4f759d..0000000
--- a/Sources/c_snikket/iinclude/snikket/IqRequestType.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_IqRequestType
-#define INCLUDED_snikket_IqRequestType
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS1(snikket,IqRequestType)
-namespace snikket{
-
-
-class IqRequestType_obj : public ::hx::EnumBase_obj
-{
- typedef ::hx::EnumBase_obj super;
- typedef IqRequestType_obj OBJ_;
-
- public:
- IqRequestType_obj() {};
- HX_DO_ENUM_RTTI;
- static void __boot();
- static void __register();
- static bool __GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
- ::String GetEnumName( ) const { return HX_("snikket.IqRequestType",d0,62,72,94); }
- ::String __ToString() const { return HX_("IqRequestType.",8d,9a,13,cc) + _hx_tag; }
-
- static ::snikket::IqRequestType Get;
- static inline ::snikket::IqRequestType Get_dyn() { return Get; }
- static ::snikket::IqRequestType Set;
- static inline ::snikket::IqRequestType Set_dyn() { return Set; }
-};
-
-} // end namespace snikket
-
-#endif /* INCLUDED_snikket_IqRequestType */
diff --git a/Sources/c_snikket/iinclude/snikket/IqResult.h b/Sources/c_snikket/iinclude/snikket/IqResult.h
deleted file mode 100644
index 81b0271..0000000
--- a/Sources/c_snikket/iinclude/snikket/IqResult.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_IqResult
-#define INCLUDED_snikket_IqResult
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS1(snikket,IqResult)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-namespace snikket{
-
-
-class IqResult_obj : public ::hx::EnumBase_obj
-{
- typedef ::hx::EnumBase_obj super;
- typedef IqResult_obj OBJ_;
-
- public:
- IqResult_obj() {};
- HX_DO_ENUM_RTTI;
- static void __boot();
- static void __register();
- static bool __GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
- ::String GetEnumName( ) const { return HX_("snikket.IqResult",16,e9,a3,c2); }
- ::String __ToString() const { return HX_("IqResult.",89,d1,c3,9e) + _hx_tag; }
-
- static ::snikket::IqResult IqNoResult;
- static inline ::snikket::IqResult IqNoResult_dyn() { return IqNoResult; }
- static ::snikket::IqResult IqResult;
- static inline ::snikket::IqResult IqResult_dyn() { return IqResult; }
- static ::snikket::IqResult IqResultElement( ::snikket::Stanza element);
- static ::Dynamic IqResultElement_dyn();
-};
-
-} // end namespace snikket
-
-#endif /* INCLUDED_snikket_IqResult */
diff --git a/Sources/c_snikket/iinclude/snikket/MessageStanza.h b/Sources/c_snikket/iinclude/snikket/MessageStanza.h
deleted file mode 100644
index 486e5a6..0000000
--- a/Sources/c_snikket/iinclude/snikket/MessageStanza.h
+++ /dev/null
@@ -1,46 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_MessageStanza
-#define INCLUDED_snikket_MessageStanza
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS1(snikket,ChatMessage)
-HX_DECLARE_CLASS1(snikket,MessageStanza)
-HX_DECLARE_CLASS1(snikket,ModerationAction)
-HX_DECLARE_CLASS1(snikket,ReactionUpdate)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-namespace snikket{
-
-
-class MessageStanza_obj : public ::hx::EnumBase_obj
-{
- typedef ::hx::EnumBase_obj super;
- typedef MessageStanza_obj OBJ_;
-
- public:
- MessageStanza_obj() {};
- HX_DO_ENUM_RTTI;
- static void __boot();
- static void __register();
- static bool __GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
- ::String GetEnumName( ) const { return HX_("snikket.MessageStanza",4b,b3,84,a4); }
- ::String __ToString() const { return HX_("MessageStanza.",b2,b5,07,cc) + _hx_tag; }
-
- static ::snikket::MessageStanza ChatMessageStanza( ::snikket::ChatMessage message);
- static ::Dynamic ChatMessageStanza_dyn();
- static ::snikket::MessageStanza ErrorMessageStanza( ::snikket::Stanza stanza);
- static ::Dynamic ErrorMessageStanza_dyn();
- static ::snikket::MessageStanza ModerateMessageStanza( ::snikket::ModerationAction action);
- static ::Dynamic ModerateMessageStanza_dyn();
- static ::snikket::MessageStanza ReactionUpdateStanza( ::snikket::ReactionUpdate update);
- static ::Dynamic ReactionUpdateStanza_dyn();
- static ::snikket::MessageStanza UnknownMessageStanza( ::snikket::Stanza stanza);
- static ::Dynamic UnknownMessageStanza_dyn();
-};
-
-} // end namespace snikket
-
-#endif /* INCLUDED_snikket_MessageStanza */
diff --git a/Sources/c_snikket/iinclude/snikket/Persistence.h b/Sources/c_snikket/iinclude/snikket/Persistence.h
deleted file mode 100644
index b3621d1..0000000
--- a/Sources/c_snikket/iinclude/snikket/Persistence.h
+++ /dev/null
@@ -1,129 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_Persistence
-#define INCLUDED_snikket_Persistence
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS1(snikket,Caps)
-HX_DECLARE_CLASS1(snikket,Chat)
-HX_DECLARE_CLASS1(snikket,ChatMessage)
-HX_DECLARE_CLASS1(snikket,Persistence)
-HX_DECLARE_CLASS1(snikket,ReactionUpdate)
-HX_DECLARE_CLASS1(snikket,SerializedChat)
-
-namespace snikket{
-
-
-class HXCPP_CLASS_ATTRIBUTES Persistence_obj {
- public:
- typedef ::hx::Object super;
- HX_DO_INTERFACE_RTTI;
-
- static void __boot();
- void (::hx::Object :: *_hx_lastId)(::String accountId,::String chatId, ::Dynamic callback);
- static inline void lastId( ::Dynamic _hx_,::String accountId,::String chatId, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_lastId)(accountId,chatId,callback);
- }
- void (::hx::Object :: *_hx_storeChats)(::String accountId,::Array< ::Dynamic> chats);
- static inline void storeChats( ::Dynamic _hx_,::String accountId,::Array< ::Dynamic> chats) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_storeChats)(accountId,chats);
- }
- void (::hx::Object :: *_hx_getChats)(::String accountId, ::Dynamic callback);
- static inline void getChats( ::Dynamic _hx_,::String accountId, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_getChats)(accountId,callback);
- }
- void (::hx::Object :: *_hx_getChatsUnreadDetails)(::String accountId,::Array< ::Dynamic> chats, ::Dynamic callback);
- static inline void getChatsUnreadDetails( ::Dynamic _hx_,::String accountId,::Array< ::Dynamic> chats, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_getChatsUnreadDetails)(accountId,chats,callback);
- }
- void (::hx::Object :: *_hx_storeReaction)(::String accountId, ::snikket::ReactionUpdate update, ::Dynamic callback);
- static inline void storeReaction( ::Dynamic _hx_,::String accountId, ::snikket::ReactionUpdate update, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_storeReaction)(accountId,update,callback);
- }
- void (::hx::Object :: *_hx_storeMessages)(::String accountId,::Array< ::Dynamic> message, ::Dynamic callback);
- static inline void storeMessages( ::Dynamic _hx_,::String accountId,::Array< ::Dynamic> message, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_storeMessages)(accountId,message,callback);
- }
- void (::hx::Object :: *_hx_updateMessage)(::String accountId, ::snikket::ChatMessage message);
- static inline void updateMessage( ::Dynamic _hx_,::String accountId, ::snikket::ChatMessage message) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_updateMessage)(accountId,message);
- }
- void (::hx::Object :: *_hx_updateMessageStatus)(::String accountId,::String localId,int status, ::Dynamic callback);
- static inline void updateMessageStatus( ::Dynamic _hx_,::String accountId,::String localId,int status, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_updateMessageStatus)(accountId,localId,status,callback);
- }
- void (::hx::Object :: *_hx_getMessage)(::String accountId,::String chatId,::String serverId,::String localId, ::Dynamic callback);
- static inline void getMessage( ::Dynamic _hx_,::String accountId,::String chatId,::String serverId,::String localId, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_getMessage)(accountId,chatId,serverId,localId,callback);
- }
- void (::hx::Object :: *_hx_getMessagesBefore)(::String accountId,::String chatId,::String beforeId,::String beforeTime, ::Dynamic callback);
- static inline void getMessagesBefore( ::Dynamic _hx_,::String accountId,::String chatId,::String beforeId,::String beforeTime, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_getMessagesBefore)(accountId,chatId,beforeId,beforeTime,callback);
- }
- void (::hx::Object :: *_hx_getMessagesAfter)(::String accountId,::String chatId,::String afterId,::String afterTime, ::Dynamic callback);
- static inline void getMessagesAfter( ::Dynamic _hx_,::String accountId,::String chatId,::String afterId,::String afterTime, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_getMessagesAfter)(accountId,chatId,afterId,afterTime,callback);
- }
- void (::hx::Object :: *_hx_getMessagesAround)(::String accountId,::String chatId,::String aroundId,::String aroundTime, ::Dynamic callback);
- static inline void getMessagesAround( ::Dynamic _hx_,::String accountId,::String chatId,::String aroundId,::String aroundTime, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_getMessagesAround)(accountId,chatId,aroundId,aroundTime,callback);
- }
- void (::hx::Object :: *_hx_hasMedia)(::String hashAlgorithm,::Array< unsigned char > hash, ::Dynamic callback);
- static inline void hasMedia( ::Dynamic _hx_,::String hashAlgorithm,::Array< unsigned char > hash, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_hasMedia)(hashAlgorithm,hash,callback);
- }
- void (::hx::Object :: *_hx_storeMedia)(::String mime,::Array< unsigned char > bytes, ::Dynamic callback);
- static inline void storeMedia( ::Dynamic _hx_,::String mime,::Array< unsigned char > bytes, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_storeMedia)(mime,bytes,callback);
- }
- void (::hx::Object :: *_hx_removeMedia)(::String hashAlgorithm,::Array< unsigned char > hash);
- static inline void removeMedia( ::Dynamic _hx_,::String hashAlgorithm,::Array< unsigned char > hash) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_removeMedia)(hashAlgorithm,hash);
- }
- void (::hx::Object :: *_hx_storeCaps)( ::snikket::Caps caps);
- static inline void storeCaps( ::Dynamic _hx_, ::snikket::Caps caps) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_storeCaps)(caps);
- }
- void (::hx::Object :: *_hx_getCaps)(::String ver, ::Dynamic callback);
- static inline void getCaps( ::Dynamic _hx_,::String ver, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_getCaps)(ver,callback);
- }
- void (::hx::Object :: *_hx_storeLogin)(::String login,::String clientId,::String displayName,::String token);
- static inline void storeLogin( ::Dynamic _hx_,::String login,::String clientId,::String displayName,::String token) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_storeLogin)(login,clientId,displayName,token);
- }
- void (::hx::Object :: *_hx_getLogin)(::String login, ::Dynamic callback);
- static inline void getLogin( ::Dynamic _hx_,::String login, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_getLogin)(login,callback);
- }
- void (::hx::Object :: *_hx_removeAccount)(::String accountId,bool completely);
- static inline void removeAccount( ::Dynamic _hx_,::String accountId,bool completely) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_removeAccount)(accountId,completely);
- }
- void (::hx::Object :: *_hx_listAccounts)( ::Dynamic callback);
- static inline void listAccounts( ::Dynamic _hx_, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_listAccounts)(callback);
- }
- void (::hx::Object :: *_hx_storeStreamManagement)(::String accountId,::Array< unsigned char > data);
- static inline void storeStreamManagement( ::Dynamic _hx_,::String accountId,::Array< unsigned char > data) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_storeStreamManagement)(accountId,data);
- }
- void (::hx::Object :: *_hx_getStreamManagement)(::String accountId, ::Dynamic callback);
- static inline void getStreamManagement( ::Dynamic _hx_,::String accountId, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_getStreamManagement)(accountId,callback);
- }
- void (::hx::Object :: *_hx_storeService)(::String accountId,::String serviceId,::String name,::String node, ::snikket::Caps caps);
- static inline void storeService( ::Dynamic _hx_,::String accountId,::String serviceId,::String name,::String node, ::snikket::Caps caps) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_storeService)(accountId,serviceId,name,node,caps);
- }
- void (::hx::Object :: *_hx_findServicesWithFeature)(::String accountId,::String feature, ::Dynamic callback);
- static inline void findServicesWithFeature( ::Dynamic _hx_,::String accountId,::String feature, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0x3e9d59e2)))->_hx_findServicesWithFeature)(accountId,feature,callback);
- }
-};
-
-} // end namespace snikket
-
-#endif /* INCLUDED_snikket_Persistence */
diff --git a/Sources/c_snikket/iinclude/snikket/TextNode.h b/Sources/c_snikket/iinclude/snikket/TextNode.h
deleted file mode 100644
index f290844..0000000
--- a/Sources/c_snikket/iinclude/snikket/TextNode.h
+++ /dev/null
@@ -1,67 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_TextNode
-#define INCLUDED_snikket_TextNode
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS1(snikket,TextNode)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-
-namespace snikket{
-
-
-class HXCPP_CLASS_ATTRIBUTES TextNode_obj : public ::hx::Object
-{
- public:
- typedef ::hx::Object super;
- typedef TextNode_obj OBJ_;
- TextNode_obj();
-
- public:
- enum { _hx_ClassId = 0x3185702c };
-
- void __construct(::String content);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.TextNode")
- { 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,"snikket.TextNode"); }
- static ::hx::ObjectPtr< TextNode_obj > __new(::String content);
- static ::hx::ObjectPtr< TextNode_obj > __alloc(::hx::Ctx *_hx_ctx,::String content);
- static void * _hx_vtable;
- static Dynamic __CreateEmpty();
- static Dynamic __Create(::hx::DynamicArray inArgs);
- //~TextNode_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);
- void *_hx_getInterface(int inHash);
- ::Dynamic traverse_881a854a( ::Dynamic f);
- ::String __ToString() const { return HX_("TextNode",6f,19,b7,25); }
-
- ::String content;
- ::String serialize();
- ::Dynamic serialize_dyn();
-
- ::snikket::TextNode clone();
- ::Dynamic clone_dyn();
-
- ::snikket::TextNode traverse( ::Dynamic f);
- ::Dynamic traverse_dyn();
-
-};
-
-} // end namespace snikket
-
-#endif /* INCLUDED_snikket_TextNode */
diff --git a/Sources/c_snikket/iinclude/snikket/UnicodeSet.h b/Sources/c_snikket/iinclude/snikket/UnicodeSet.h
deleted file mode 100644
index 1f6c00a..0000000
--- a/Sources/c_snikket/iinclude/snikket/UnicodeSet.h
+++ /dev/null
@@ -1,27 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_UnicodeSet
-#define INCLUDED_snikket_UnicodeSet
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS1(snikket,UnicodeSet)
-
-namespace snikket{
-
-
-class HXCPP_CLASS_ATTRIBUTES UnicodeSet_obj {
- public:
- typedef ::hx::Object super;
- HX_DO_INTERFACE_RTTI;
-
- bool (::hx::Object :: *_hx_contains)(int codepoint);
- static inline bool contains( ::Dynamic _hx_,int codepoint) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::UnicodeSet_obj *>(_hx_.mPtr->_hx_getInterface(0x29205162)))->_hx_contains)(codepoint);
- }
-};
-
-} // end namespace snikket
-
-#endif /* INCLUDED_snikket_UnicodeSet */
diff --git a/Sources/c_snikket/iinclude/snikket/_Push/Push_Fields_.h b/Sources/c_snikket/iinclude/snikket/_Push/Push_Fields_.h
deleted file mode 100644
index 27e14f5..0000000
--- a/Sources/c_snikket/iinclude/snikket/_Push/Push_Fields_.h
+++ /dev/null
@@ -1,64 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket__Push_Push_Fields_
-#define INCLUDED_snikket__Push_Push_Fields_
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS1(snikket,Notification)
-HX_DECLARE_CLASS1(snikket,Persistence)
-HX_DECLARE_CLASS2(snikket,_Push,Push_Fields_)
-
-namespace snikket{
-namespace _Push{
-
-
-class HXCPP_CLASS_ATTRIBUTES Push_Fields__obj : public ::hx::Object
-{
- public:
- typedef ::hx::Object super;
- typedef Push_Fields__obj OBJ_;
- Push_Fields__obj();
-
- public:
- enum { _hx_ClassId = 0x1c9e72a5 };
-
- void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket._Push.Push_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,"snikket._Push.Push_Fields_"); }
-
- inline static ::hx::ObjectPtr< Push_Fields__obj > __new() {
- ::hx::ObjectPtr< Push_Fields__obj > __this = new Push_Fields__obj();
- __this->__construct();
- return __this;
- }
-
- inline static ::hx::ObjectPtr< Push_Fields__obj > __alloc(::hx::Ctx *_hx_ctx) {
- Push_Fields__obj *__this = (Push_Fields__obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Push_Fields__obj), false, "snikket._Push.Push_Fields_"));
- *(void **)__this = Push_Fields__obj::_hx_vtable;
- return __this;
- }
-
- static void * _hx_vtable;
- static Dynamic __CreateEmpty();
- static Dynamic __Create(::hx::DynamicArray inArgs);
- //~Push_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_("Push_Fields_",21,65,37,88); }
-
- static ::snikket::Notification receive(::String data,::Dynamic persistence);
- static ::Dynamic receive_dyn();
-
-};
-
-} // end namespace snikket
-} // end namespace _Push
-
-#endif /* INCLUDED_snikket__Push_Push_Fields_ */
diff --git a/Sources/c_snikket/iinclude/snikket/_Stanza/NodeInterface.h b/Sources/c_snikket/iinclude/snikket/_Stanza/NodeInterface.h
deleted file mode 100644
index 8a96ae8..0000000
--- a/Sources/c_snikket/iinclude/snikket/_Stanza/NodeInterface.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#define INCLUDED_snikket__Stanza_NodeInterface
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-
-namespace snikket{
-namespace _Stanza{
-
-
-class HXCPP_CLASS_ATTRIBUTES NodeInterface_obj {
- public:
- typedef ::hx::Object super;
- HX_DO_INTERFACE_RTTI;
-
- ::String (::hx::Object :: *_hx_serialize)();
- static inline ::String serialize( ::Dynamic _hx_) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::_Stanza::NodeInterface_obj *>(_hx_.mPtr->_hx_getInterface(0xc837e580)))->_hx_serialize)();
- }
- ::Dynamic (::hx::Object :: *_hx_traverse)( ::Dynamic f);
- static inline ::Dynamic traverse( ::Dynamic _hx_, ::Dynamic f) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::_Stanza::NodeInterface_obj *>(_hx_.mPtr->_hx_getInterface(0xc837e580)))->_hx_traverse)(f);
- }
-};
-
-} // end namespace snikket
-} // end namespace _Stanza
-
-#endif /* INCLUDED_snikket__Stanza_NodeInterface */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/OutgoingSession.h b/Sources/c_snikket/iinclude/snikket/jingle/OutgoingSession.h
deleted file mode 100644
index 80cffde..0000000
--- a/Sources/c_snikket/iinclude/snikket/jingle/OutgoingSession.h
+++ /dev/null
@@ -1,63 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_OutgoingSession
-#define INCLUDED_snikket_jingle_OutgoingSession
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-#ifndef INCLUDED_snikket_jingle_InitiatedSession
-#include <snikket/jingle/InitiatedSession.h>
-#endif
-HX_DECLARE_CLASS1(snikket,Client)
-HX_DECLARE_CLASS1(snikket,EventEmitter)
-HX_DECLARE_CLASS1(snikket,JID)
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,jingle,InitiatedSession)
-HX_DECLARE_CLASS2(snikket,jingle,OutgoingSession)
-HX_DECLARE_CLASS2(snikket,jingle,Session)
-HX_DECLARE_CLASS1(thenshim,Thenable)
-
-namespace snikket{
-namespace jingle{
-
-
-class HXCPP_CLASS_ATTRIBUTES OutgoingSession_obj : public ::snikket::jingle::InitiatedSession_obj
-{
- public:
- typedef ::snikket::jingle::InitiatedSession_obj super;
- typedef OutgoingSession_obj OBJ_;
- OutgoingSession_obj();
-
- public:
- enum { _hx_ClassId = 0x43b8b0fc };
-
- void __construct( ::snikket::Client client, ::snikket::JID counterpart,::String sid);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="snikket.jingle.OutgoingSession")
- { 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,"snikket.jingle.OutgoingSession"); }
- static ::hx::ObjectPtr< OutgoingSession_obj > __new( ::snikket::Client client, ::snikket::JID counterpart,::String sid);
- static ::hx::ObjectPtr< OutgoingSession_obj > __alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::JID counterpart,::String sid);
- static void * _hx_vtable;
- static Dynamic __CreateEmpty();
- static Dynamic __Create(::hx::DynamicArray inArgs);
- //~OutgoingSession_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_("OutgoingSession",2a,54,07,c9); }
-
- ::Dynamic onPeerConnection();
-
- ::snikket::jingle::OutgoingSession initiate( ::snikket::Stanza stanza);
-
-};
-
-} // end namespace snikket
-} // end namespace jingle
-
-#endif /* INCLUDED_snikket_jingle_OutgoingSession */
diff --git a/Sources/c_snikket/iinclude/snikket/jingle/Session.h b/Sources/c_snikket/iinclude/snikket/jingle/Session.h
deleted file mode 100644
index 020db7b..0000000
--- a/Sources/c_snikket/iinclude/snikket/jingle/Session.h
+++ /dev/null
@@ -1,88 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_jingle_Session
-#define INCLUDED_snikket_jingle_Session
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS1(snikket,Stanza)
-HX_DECLARE_CLASS2(snikket,_Stanza,NodeInterface)
-HX_DECLARE_CLASS2(snikket,jingle,DTMFSender)
-HX_DECLARE_CLASS2(snikket,jingle,InitiatedSession)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStream)
-HX_DECLARE_CLASS2(snikket,jingle,MediaStreamTrack)
-HX_DECLARE_CLASS2(snikket,jingle,Session)
-HX_DECLARE_CLASS1(thenshim,Thenable)
-
-namespace snikket{
-namespace jingle{
-
-
-class HXCPP_CLASS_ATTRIBUTES Session_obj {
- public:
- typedef ::hx::Object super;
- HX_DO_INTERFACE_RTTI;
-
- ::String (::hx::Object :: *_hx_get_sid)();
- static inline ::String get_sid( ::Dynamic _hx_) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_get_sid)();
- }
- ::String (::hx::Object :: *_hx_get_chatId)();
- static inline ::String get_chatId( ::Dynamic _hx_) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_get_chatId)();
- }
- ::snikket::jingle::InitiatedSession (::hx::Object :: *_hx_initiate)( ::snikket::Stanza stanza);
- static inline ::snikket::jingle::InitiatedSession initiate( ::Dynamic _hx_, ::snikket::Stanza stanza) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_initiate)(stanza);
- }
- void (::hx::Object :: *_hx_accept)();
- static inline void accept( ::Dynamic _hx_) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_accept)();
- }
- void (::hx::Object :: *_hx_hangup)();
- static inline void hangup( ::Dynamic _hx_) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_hangup)();
- }
- void (::hx::Object :: *_hx_retract)();
- static inline void retract( ::Dynamic _hx_) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_retract)();
- }
- void (::hx::Object :: *_hx_terminate)();
- static inline void terminate( ::Dynamic _hx_) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_terminate)();
- }
- void (::hx::Object :: *_hx_contentAdd)( ::snikket::Stanza stanza);
- static inline void contentAdd( ::Dynamic _hx_, ::snikket::Stanza stanza) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_contentAdd)(stanza);
- }
- void (::hx::Object :: *_hx_contentAccept)( ::snikket::Stanza stanza);
- static inline void contentAccept( ::Dynamic _hx_, ::snikket::Stanza stanza) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_contentAccept)(stanza);
- }
- ::Dynamic (::hx::Object :: *_hx_transportInfo)( ::snikket::Stanza stanza);
- static inline ::Dynamic transportInfo( ::Dynamic _hx_, ::snikket::Stanza stanza) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_transportInfo)(stanza);
- }
- void (::hx::Object :: *_hx_addMedia)(::Array< ::Dynamic> streams);
- static inline void addMedia( ::Dynamic _hx_,::Array< ::Dynamic> streams) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_addMedia)(streams);
- }
- int (::hx::Object :: *_hx_callStatus)();
- static inline int callStatus( ::Dynamic _hx_) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_callStatus)();
- }
- ::Array< ::Dynamic> (::hx::Object :: *_hx_videoTracks)();
- static inline ::Array< ::Dynamic> videoTracks( ::Dynamic _hx_) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_videoTracks)();
- }
- ::snikket::jingle::DTMFSender (::hx::Object :: *_hx_dtmf)();
- static inline ::snikket::jingle::DTMFSender dtmf( ::Dynamic _hx_) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::jingle::Session_obj *>(_hx_.mPtr->_hx_getInterface(0x79d60748)))->_hx_dtmf)();
- }
-};
-
-} // end namespace snikket
-} // end namespace jingle
-
-#endif /* INCLUDED_snikket_jingle_Session */
diff --git a/Sources/c_snikket/iinclude/snikket/persistence/Dummy.h b/Sources/c_snikket/iinclude/snikket/persistence/Dummy.h
deleted file mode 100644
index 6b7e275..0000000
--- a/Sources/c_snikket/iinclude/snikket/persistence/Dummy.h
+++ /dev/null
@@ -1,138 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_persistence_Dummy
-#define INCLUDED_snikket_persistence_Dummy
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-#ifndef INCLUDED_snikket_Persistence
-#include <snikket/Persistence.h>
-#endif
-HX_DECLARE_CLASS1(snikket,Caps)
-HX_DECLARE_CLASS1(snikket,Chat)
-HX_DECLARE_CLASS1(snikket,ChatMessage)
-HX_DECLARE_CLASS1(snikket,Persistence)
-HX_DECLARE_CLASS1(snikket,ReactionUpdate)
-HX_DECLARE_CLASS1(snikket,SerializedChat)
-HX_DECLARE_CLASS2(snikket,persistence,Dummy)
-
-namespace snikket{
-namespace persistence{
-
-
-class HXCPP_CLASS_ATTRIBUTES Dummy_obj : public ::hx::Object
-{
- public:
- typedef ::hx::Object super;
- typedef Dummy_obj OBJ_;
- Dummy_obj();
-
- public:
- enum { _hx_ClassId = 0x130a03e2 };
-
- void __construct();
- inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="snikket.persistence.Dummy")
- { 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,"snikket.persistence.Dummy"); }
- static ::hx::ObjectPtr< Dummy_obj > __new();
- static ::hx::ObjectPtr< Dummy_obj > __alloc(::hx::Ctx *_hx_ctx);
- static void * _hx_vtable;
- static Dynamic __CreateEmpty();
- static Dynamic __Create(::hx::DynamicArray inArgs);
- //~Dummy_obj();
-
- HX_DO_RTTI_ALL;
- ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
- static void __register();
- bool _hx_isInstanceOf(int inClassId);
- void *_hx_getInterface(int inHash);
- ::String __ToString() const { return HX_("Dummy",08,7e,e8,74); }
-
- static void __boot();
- static ::Dynamic __meta__;
- void lastId(::String accountId,::String chatId, ::Dynamic callback);
- ::Dynamic lastId_dyn();
-
- void storeChats(::String accountId,::Array< ::Dynamic> chat);
- ::Dynamic storeChats_dyn();
-
- void getChats(::String accountId, ::Dynamic callback);
- ::Dynamic getChats_dyn();
-
- void storeMessages(::String accountId,::Array< ::Dynamic> messages, ::Dynamic callback);
- ::Dynamic storeMessages_dyn();
-
- void updateMessage(::String accountId, ::snikket::ChatMessage message);
- ::Dynamic updateMessage_dyn();
-
- void getMessage(::String accountId,::String chatId,::String serverId,::String localId, ::Dynamic callback);
- ::Dynamic getMessage_dyn();
-
- void getMessagesBefore(::String accountId,::String chatId,::String beforeId,::String beforeTime, ::Dynamic callback);
- ::Dynamic getMessagesBefore_dyn();
-
- void getMessagesAfter(::String accountId,::String chatId,::String afterId,::String afterTime, ::Dynamic callback);
- ::Dynamic getMessagesAfter_dyn();
-
- void getMessagesAround(::String accountId,::String chatId,::String aroundId,::String aroundTime, ::Dynamic callback);
- ::Dynamic getMessagesAround_dyn();
-
- void getChatsUnreadDetails(::String accountId,::Array< ::Dynamic> chats, ::Dynamic callback);
- ::Dynamic getChatsUnreadDetails_dyn();
-
- void storeReaction(::String accountId, ::snikket::ReactionUpdate update, ::Dynamic callback);
- ::Dynamic storeReaction_dyn();
-
- void updateMessageStatus(::String accountId,::String localId,int status, ::Dynamic callback);
- ::Dynamic updateMessageStatus_dyn();
-
- void getMediaUri(::String hashAlgorithm,::Array< unsigned char > hash, ::Dynamic callback);
- ::Dynamic getMediaUri_dyn();
-
- void hasMedia(::String hashAlgorithm,::Array< unsigned char > hash, ::Dynamic callback);
- ::Dynamic hasMedia_dyn();
-
- void storeMedia(::String mime,::Array< unsigned char > bd, ::Dynamic callback);
- ::Dynamic storeMedia_dyn();
-
- void removeMedia(::String hashAlgorithm,::Array< unsigned char > hash);
- ::Dynamic removeMedia_dyn();
-
- void storeCaps( ::snikket::Caps caps);
- ::Dynamic storeCaps_dyn();
-
- void getCaps(::String ver, ::Dynamic callback);
- ::Dynamic getCaps_dyn();
-
- void storeLogin(::String login,::String clientId,::String displayName,::String token);
- ::Dynamic storeLogin_dyn();
-
- void getLogin(::String login, ::Dynamic callback);
- ::Dynamic getLogin_dyn();
-
- void removeAccount(::String accountId,bool completely);
- ::Dynamic removeAccount_dyn();
-
- void listAccounts( ::Dynamic callback);
- ::Dynamic listAccounts_dyn();
-
- void storeStreamManagement(::String accountId,::Array< unsigned char > sm);
- ::Dynamic storeStreamManagement_dyn();
-
- void getStreamManagement(::String accountId, ::Dynamic callback);
- ::Dynamic getStreamManagement_dyn();
-
- void storeService(::String accountId,::String serviceId,::String name,::String node, ::snikket::Caps caps);
- ::Dynamic storeService_dyn();
-
- void findServicesWithFeature(::String accountId,::String feature, ::Dynamic callback);
- ::Dynamic findServicesWithFeature_dyn();
-
-};
-
-} // end namespace snikket
-} // end namespace persistence
-
-#endif /* INCLUDED_snikket_persistence_Dummy */
diff --git a/Sources/c_snikket/iinclude/snikket/persistence/KeyValueStore.h b/Sources/c_snikket/iinclude/snikket/persistence/KeyValueStore.h
deleted file mode 100644
index 33fa468..0000000
--- a/Sources/c_snikket/iinclude/snikket/persistence/KeyValueStore.h
+++ /dev/null
@@ -1,33 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_persistence_KeyValueStore
-#define INCLUDED_snikket_persistence_KeyValueStore
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS2(snikket,persistence,KeyValueStore)
-
-namespace snikket{
-namespace persistence{
-
-
-class HXCPP_CLASS_ATTRIBUTES KeyValueStore_obj {
- public:
- typedef ::hx::Object super;
- HX_DO_INTERFACE_RTTI;
-
- void (::hx::Object :: *_hx_get)(::String k, ::Dynamic callback);
- static inline void get( ::Dynamic _hx_,::String k, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::persistence::KeyValueStore_obj *>(_hx_.mPtr->_hx_getInterface(0x42160a8d)))->_hx_get)(k,callback);
- }
- void (::hx::Object :: *_hx_set)(::String k,::String v, ::Dynamic callback);
- static inline void set( ::Dynamic _hx_,::String k,::String v, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::persistence::KeyValueStore_obj *>(_hx_.mPtr->_hx_getInterface(0x42160a8d)))->_hx_set)(k,v,callback);
- }
-};
-
-} // end namespace snikket
-} // end namespace persistence
-
-#endif /* INCLUDED_snikket_persistence_KeyValueStore */
diff --git a/Sources/c_snikket/iinclude/snikket/persistence/MediaStore.h b/Sources/c_snikket/iinclude/snikket/persistence/MediaStore.h
deleted file mode 100644
index 911ceff..0000000
--- a/Sources/c_snikket/iinclude/snikket/persistence/MediaStore.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_snikket_persistence_MediaStore
-#define INCLUDED_snikket_persistence_MediaStore
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS2(snikket,persistence,KeyValueStore)
-HX_DECLARE_CLASS2(snikket,persistence,MediaStore)
-
-namespace snikket{
-namespace persistence{
-
-
-class HXCPP_CLASS_ATTRIBUTES MediaStore_obj {
- public:
- typedef ::hx::Object super;
- HX_DO_INTERFACE_RTTI;
-
- void (::hx::Object :: *_hx_hasMedia)(::String hashAlgorithm,::Array< unsigned char > hash, ::Dynamic callback);
- static inline void hasMedia( ::Dynamic _hx_,::String hashAlgorithm,::Array< unsigned char > hash, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::persistence::MediaStore_obj *>(_hx_.mPtr->_hx_getInterface(0x2952283f)))->_hx_hasMedia)(hashAlgorithm,hash,callback);
- }
- void (::hx::Object :: *_hx_removeMedia)(::String hashAlgorithm,::Array< unsigned char > hash);
- static inline void removeMedia( ::Dynamic _hx_,::String hashAlgorithm,::Array< unsigned char > hash) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::persistence::MediaStore_obj *>(_hx_.mPtr->_hx_getInterface(0x2952283f)))->_hx_removeMedia)(hashAlgorithm,hash);
- }
- void (::hx::Object :: *_hx_storeMedia)(::String mime,::Array< unsigned char > bytes, ::Dynamic callback);
- static inline void storeMedia( ::Dynamic _hx_,::String mime,::Array< unsigned char > bytes, ::Dynamic callback) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::persistence::MediaStore_obj *>(_hx_.mPtr->_hx_getInterface(0x2952283f)))->_hx_storeMedia)(mime,bytes,callback);
- }
- void (::hx::Object :: *_hx_setKV)(::Dynamic kv);
- static inline void setKV( ::Dynamic _hx_,::Dynamic kv) {
- (_hx_.mPtr->*( ::hx::interface_cast< ::snikket::persistence::MediaStore_obj *>(_hx_.mPtr->_hx_getInterface(0x2952283f)))->_hx_setKV)(kv);
- }
-};
-
-} // end namespace snikket
-} // end namespace persistence
-
-#endif /* INCLUDED_snikket_persistence_MediaStore */
diff --git a/Sources/c_snikket/iinclude/sys/thread/NextEventTime.h b/Sources/c_snikket/iinclude/sys/thread/NextEventTime.h
deleted file mode 100644
index 735a071..0000000
--- a/Sources/c_snikket/iinclude/sys/thread/NextEventTime.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_sys_thread_NextEventTime
-#define INCLUDED_sys_thread_NextEventTime
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS2(sys,thread,NextEventTime)
-namespace sys{
-namespace thread{
-
-
-class NextEventTime_obj : public ::hx::EnumBase_obj
-{
- typedef ::hx::EnumBase_obj super;
- typedef NextEventTime_obj OBJ_;
-
- public:
- NextEventTime_obj() {};
- HX_DO_ENUM_RTTI;
- static void __boot();
- static void __register();
- static bool __GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
- ::String GetEnumName( ) const { return HX_("sys.thread.NextEventTime",11,32,a7,e0); }
- ::String __ToString() const { return HX_("NextEventTime.",fa,b3,86,8f) + _hx_tag; }
-
- static ::sys::thread::NextEventTime AnyTime( ::Dynamic time);
- static ::Dynamic AnyTime_dyn();
- static ::sys::thread::NextEventTime At(Float time);
- static ::Dynamic At_dyn();
- static ::sys::thread::NextEventTime Never;
- static inline ::sys::thread::NextEventTime Never_dyn() { return Never; }
- static ::sys::thread::NextEventTime Now;
- static inline ::sys::thread::NextEventTime Now_dyn() { return Now; }
-};
-
-} // end namespace sys
-} // end namespace thread
-
-#endif /* INCLUDED_sys_thread_NextEventTime */
diff --git a/Sources/c_snikket/include/snikket.h b/Sources/c_snikket/include/snikket.h
deleted file mode 100644
index 437e79a..0000000
--- a/Sources/c_snikket/include/snikket.h
+++ /dev/null
@@ -1,1113 +0,0 @@
-/**
- * \file snikket.h the Snikket SDK for C
- *
- * Everything returned from an SDK procedure or passed to a function
- * pointer, both strings and opaque types, must be passed to
- * snikket_release when you are done with it.
- */
-
-#ifndef __SNIKKET_H
-#define __SNIKKET_H
-
-#ifndef MKDOCS
-#include <stdbool.h>
-#include <stddef.h>
-
-#ifndef API_PREFIX
- #ifdef _WIN32
- #define API_PREFIX __declspec(dllimport)
- #else
- #define API_PREFIX
- #endif
-#endif
-
-#endif
-
-typedef void (*snikket_panic_callback) (const char *info);
-
-enum
-#ifdef __clang__
-__attribute__((enum_extensibility(closed)))
-#endif
-snikket_message_type {
- MessageChat = 0,
- MessageCall = 1,
- MessageChannel = 2,
- MessageChannelPrivate = 3
-};
-
-enum
-#ifdef __clang__
-__attribute__((enum_extensibility(closed)))
-#endif
-snikket_message_direction {
- MessageReceived = 0,
- MessageSent = 1
-};
-
-enum
-#ifdef __clang__
-__attribute__((enum_extensibility(closed)))
-#endif
-snikket_message_status {
- MessagePending = 0,
- MessageDeliveredToServer = 1,
- MessageDeliveredToDevice = 2,
- MessageFailedToSend = 3
-};
-
-enum
-#ifdef __clang__
-__attribute__((enum_extensibility(closed)))
-#endif
-snikket_ui_state {
- Pinned = 0,
- Open = 1,
- Closed = 2
-};
-
-enum
-#ifdef __clang__
-__attribute__((enum_extensibility(closed)))
-#endif
-snikket_jingle_call_status {
- NoCall = 0,
- Incoming = 1,
- Outgoing = 2,
- Connecting = 3,
- Ongoing = 4,
- Failed = 5
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Initializes the SDK
- *
- * This must be first before calling SDK functions (otherwise those calls will hang waiting for a response).
- *
- * @param panicCallback a callback to execute if the SDK panics. The SDK will continue processing events after a panic and you may want to stop it after receiving this callback. Use `NULL` for no callback
- * @returns `NULL` if the thread initializes successfully or a null-terminated C string if an error occurs during initialization
- */
-API_PREFIX const char *snikket_setup(snikket_panic_callback panic_callback);
-
-/**
- * Stops the SDK, blocking until the main thread has completed. Once ended, it cannot be restarted (this is because static variable state will be retained from the last run).
- *
- * It can be safely called any number of times – if the SDK is not running this function will just return.
- *
- * After executing no more calls to SDK functions can be made (as these will hang waiting for a response).
- *
- * Thread-safety: Can be called safely called on any thread.
- *
- * @param wait If `true`, this function will wait for all events scheduled to execute in the future on the SDK thread to complete. If `false`, immediate pending events will be finished and the SDK stopped without executing events scheduled in the future
- */
-API_PREFIX void snikket_stop(bool wait);
-
-/**
- * Informs the garbage collector that object is no longer needed by the C code.
- *
- * If the object has no remaining reference the garbage collector can free the associated memory (which can happen at any time in the future). It does not free the memory immediately.
- *
- * Thread-safety: can be called on any thread.
- *
- * @param ptr a handle to an arbitrary SDK object returned from an SDK function
- */
-API_PREFIX void snikket_release(const void *ptr);
-
-API_PREFIX void *snikket_persistence_media_store_f_s_new(const char *path);
-
-API_PREFIX void snikket_persistence_media_store_f_s_get_media_path(void *media_store_fs, const char *uri, void (*callback) (const char*, void*), void *callback__context);
-
-/**
- * Create a basic persistence layer based on sqlite
- *
- * @param dbfile path to sqlite database
- * @params media a MediaStore to use for media
- * @returns new persistence layer
- */
-API_PREFIX void *snikket_persistence_sqlite_new(const char *dbfile, void *media);
-
-API_PREFIX void snikket_persistence_sqlite_get_message(void *sqlite, const char *accountId, const char *chatId, const char *serverId, const char *localId, void (*callback) (void*, void*), void *callback__context);
-
-API_PREFIX void snikket_persistence_sqlite_remove_account(void *sqlite, const char *accountId, bool completely);
-
-API_PREFIX void snikket_persistence_sqlite_list_accounts(void *sqlite, void (*callback) (const char**, size_t, void*), void *callback__context);
-
-/**
- * The ID as set by the creator of this message
- */
-API_PREFIX const char *snikket_chat_message_local_id(void *chat_message);
-
-/**
- * The ID as set by the authoritative server
- */
-API_PREFIX const char *snikket_chat_message_server_id(void *chat_message);
-
-/**
- * The ID of the server which set the serverId
- */
-API_PREFIX const char *snikket_chat_message_server_id_by(void *chat_message);
-
-/**
- * The type of this message (Chat, Call, etc)
- */
-API_PREFIX enum snikket_message_type snikket_chat_message_type(void *chat_message);
-
-/**
- * The timestamp of this message, in format YYYY-MM-DDThh:mm:ss[.sss]Z
- */
-API_PREFIX const char *snikket_chat_message_timestamp(void *chat_message);
-
-/**
- * The ID of the sender of this message
- */
-API_PREFIX const char *snikket_chat_message_sender_id(void *chat_message);
-
-/**
- * Message this one is in reply to, or NULL
- */
-API_PREFIX void *snikket_chat_message_reply_to_message(void *chat_message);
-
-/**
- * ID of the thread this message is in, or NULL
- */
-API_PREFIX const char *snikket_chat_message_thread_id(void *chat_message);
-
-/**
- * Array of attachments to this message
- */
-API_PREFIX size_t snikket_chat_message_attachments(void *chat_message, void ***outPtr);
-
-/**
- * List of reactions to this message
- */
-API_PREFIX size_t snikket_chat_message_reaction_keys(void *chat_message, const char ***outPtr);
-
-/**
- * Details of a set of reaction to this message
- */
-API_PREFIX size_t snikket_chat_message_reaction_details(void *chat_message, const char *reactionKey, void ***outPtr);
-
-/**
- * Body text of this message or NULL
- */
-API_PREFIX const char *snikket_chat_message_text(void *chat_message);
-
-/**
- * Language code for the body text
- */
-API_PREFIX const char *snikket_chat_message_lang(void *chat_message);
-
-/**
- * Direction of this message
- */
-API_PREFIX enum snikket_message_direction snikket_chat_message_direction(void *chat_message);
-
-/**
- * Status of this message
- */
-API_PREFIX enum snikket_message_status snikket_chat_message_status(void *chat_message);
-
-/**
- * Status of this message
- */
-API_PREFIX void snikket_chat_message_set_status(void *chat_message, enum snikket_message_status value);
-
-/**
- * Array of past versions of this message, if it has been edited
- */
-API_PREFIX size_t snikket_chat_message_versions(void *chat_message, void ***outPtr);
-
-/**
- * Create a new ChatMessage in reply to this one
- */
-API_PREFIX void *snikket_chat_message_reply(void *chat_message);
-
-API_PREFIX const char *snikket_chat_message_get_reply_id(void *chat_message);
-
-/**
- * Get HTML version of the message body
- *
- * WARNING: this is possibly untrusted HTML. You must parse or sanitize appropriately!
- */
-API_PREFIX const char *snikket_chat_message_html(void *chat_message);
-
-/**
- * The ID of the Chat this message is associated with
- */
-API_PREFIX const char *snikket_chat_message_chat_id(void *chat_message);
-
-/**
- * The ID of the account associated with this message
- */
-API_PREFIX const char *snikket_chat_message_account(void *chat_message);
-
-/**
- * Is this an incoming message?
- */
-API_PREFIX bool snikket_chat_message_is_incoming(void *chat_message);
-
-/**
- * The URI of an icon for the thread associated with this message, or NULL
- */
-API_PREFIX const char *snikket_chat_message_thread_icon(void *chat_message);
-
-/**
- * The last status of the call if this message is related to a call
- */
-API_PREFIX const char *snikket_chat_message_call_status(void *chat_message);
-
-/**
- * The session id of the call if this message is related to a call
- */
-API_PREFIX const char *snikket_chat_message_call_sid(void *chat_message);
-
-/**
- * The duration of the call if this message is related to a call
- */
-API_PREFIX const char *snikket_chat_message_call_duration(void *chat_message);
-
-API_PREFIX void *snikket_chat_attachment_create(const char *name, const char *mime, int size, const char *uri);
-
-API_PREFIX const char *snikket_chat_attachment_name(void *chat_attachment);
-
-API_PREFIX const char *snikket_chat_attachment_mime(void *chat_attachment);
-
-API_PREFIX int snikket_chat_attachment_size(void *chat_attachment);
-
-API_PREFIX size_t snikket_chat_attachment_uris(void *chat_attachment, const char ***outPtr);
-
-API_PREFIX size_t snikket_chat_attachment_hashes(void *chat_attachment, void ***outPtr);
-
-API_PREFIX void *snikket_hash_from_hex(const char *algorithm, const char *hash);
-
-API_PREFIX void *snikket_hash_from_uri(const char *uri);
-
-API_PREFIX const char *snikket_hash_algorithm(void *hash);
-
-API_PREFIX const char *snikket_hash_to_uri(void *hash);
-
-API_PREFIX const char *snikket_hash_to_hex(void *hash);
-
-API_PREFIX const char *snikket_hash_to_base_64(void *hash);
-
-API_PREFIX const char *snikket_hash_to_base_64_url(void *hash);
-
-API_PREFIX const char *snikket_reaction_sender_id(void *reaction);
-
-API_PREFIX const char *snikket_reaction_timestamp(void *reaction);
-
-API_PREFIX const char *snikket_reaction_text(void *reaction);
-
-API_PREFIX const char *snikket_reaction_key(void *reaction);
-
-API_PREFIX const char *snikket_reaction_envelope_id(void *reaction);
-
-/**
- * @returns a new blank ChatMessageBuilder
- */
-API_PREFIX void *snikket_chat_message_builder_new();
-
-/**
- * The ID as set by the creator of this message
- */
-API_PREFIX const char *snikket_chat_message_builder_local_id(void *chat_message_builder);
-
-/**
- * The ID as set by the creator of this message
- */
-API_PREFIX void snikket_chat_message_builder_set_local_id(void *chat_message_builder, const char *value);
-
-/**
- * The ID as set by the authoritative server
- */
-API_PREFIX const char *snikket_chat_message_builder_server_id(void *chat_message_builder);
-
-/**
- * The ID as set by the authoritative server
- */
-API_PREFIX void snikket_chat_message_builder_set_server_id(void *chat_message_builder, const char *value);
-
-/**
- * The ID of the server which set the serverId
- */
-API_PREFIX const char *snikket_chat_message_builder_server_id_by(void *chat_message_builder);
-
-/**
- * The ID of the server which set the serverId
- */
-API_PREFIX void snikket_chat_message_builder_set_server_id_by(void *chat_message_builder, const char *value);
-
-/**
- * The type of this message (Chat, Call, etc)
- */
-API_PREFIX enum snikket_message_type snikket_chat_message_builder_type(void *chat_message_builder);
-
-/**
- * The type of this message (Chat, Call, etc)
- */
-API_PREFIX void snikket_chat_message_builder_set_type(void *chat_message_builder, enum snikket_message_type value);
-
-/**
- * The timestamp of this message, in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
- */
-API_PREFIX const char *snikket_chat_message_builder_timestamp(void *chat_message_builder);
-
-/**
- * The timestamp of this message, in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
- */
-API_PREFIX void snikket_chat_message_builder_set_timestamp(void *chat_message_builder, const char *value);
-
-API_PREFIX const char *snikket_chat_message_builder_sender_id(void *chat_message_builder);
-
-API_PREFIX void snikket_chat_message_builder_set_sender_id(void *chat_message_builder, const char *value);
-
-/**
- * Message this one is in reply to, or NULL
- */
-API_PREFIX void *snikket_chat_message_builder_reply_to_message(void *chat_message_builder);
-
-/**
- * Message this one is in reply to, or NULL
- */
-API_PREFIX void snikket_chat_message_builder_set_reply_to_message(void *chat_message_builder, void *value);
-
-/**
- * ID of the thread this message is in, or NULL
- */
-API_PREFIX const char *snikket_chat_message_builder_thread_id(void *chat_message_builder);
-
-/**
- * ID of the thread this message is in, or NULL
- */
-API_PREFIX void snikket_chat_message_builder_set_thread_id(void *chat_message_builder, const char *value);
-
-/**
- * Array of attachments to this message
- */
-API_PREFIX size_t snikket_chat_message_builder_attachments(void *chat_message_builder, void ***outPtr);
-
-/**
- * Body text of this message or NULL
- */
-API_PREFIX const char *snikket_chat_message_builder_text(void *chat_message_builder);
-
-/**
- * Body text of this message or NULL
- */
-API_PREFIX void snikket_chat_message_builder_set_text(void *chat_message_builder, const char *value);
-
-/**
- * Language code for the body text
- */
-API_PREFIX const char *snikket_chat_message_builder_lang(void *chat_message_builder);
-
-/**
- * Language code for the body text
- */
-API_PREFIX void snikket_chat_message_builder_set_lang(void *chat_message_builder, const char *value);
-
-/**
- * Direction of this message
- */
-API_PREFIX enum snikket_message_direction snikket_chat_message_builder_direction(void *chat_message_builder);
-
-/**
- * Direction of this message
- */
-API_PREFIX void snikket_chat_message_builder_set_direction(void *chat_message_builder, enum snikket_message_direction value);
-
-/**
- * Status of this message
- */
-API_PREFIX enum snikket_message_status snikket_chat_message_builder_status(void *chat_message_builder);
-
-/**
- * Status of this message
- */
-API_PREFIX void snikket_chat_message_builder_set_status(void *chat_message_builder, enum snikket_message_status value);
-
-/**
- * Array of past versions of this message, if it has been edited
- */
-API_PREFIX void snikket_chat_message_builder_set_versions(void *chat_message_builder, void *const *inPtr, size_t count);
-
-/**
- * Array of past versions of this message, if it has been edited
- */
-API_PREFIX size_t snikket_chat_message_builder_versions(void *chat_message_builder, void ***outPtr);
-
-API_PREFIX void snikket_chat_message_builder_add_attachment(void *chat_message_builder, void *attachment);
-
-/**
- * Set rich text using an HTML string
- * Also sets the plain text body appropriately
- */
-API_PREFIX void snikket_chat_message_builder_set_html(void *chat_message_builder, const char *html);
-
-/**
- * The ID of the Chat this message is associated with
- */
-API_PREFIX const char *snikket_chat_message_builder_chat_id(void *chat_message_builder);
-
-/**
- * The ID of the sender of this message
- */
-API_PREFIX const char *snikket_chat_message_builder_get_sender_id(void *chat_message_builder);
-
-API_PREFIX bool snikket_chat_message_builder_is_incoming(void *chat_message_builder);
-
-API_PREFIX void *snikket_chat_message_builder_build(void *chat_message_builder);
-
-/**
- * Create a basic persistence layer that persists nothing
- *
- * @returns new persistence layer
- */
-API_PREFIX void *snikket_persistence_dummy_new();
-
-API_PREFIX void *snikket_push_receive(const char *data, void *persistence);
-
-API_PREFIX const char *snikket_notification_title(void *notification);
-
-API_PREFIX const char *snikket_notification_body(void *notification);
-
-API_PREFIX const char *snikket_notification_account_id(void *notification);
-
-API_PREFIX const char *snikket_notification_chat_id(void *notification);
-
-API_PREFIX const char *snikket_notification_sender_id(void *notification);
-
-API_PREFIX const char *snikket_notification_message_id(void *notification);
-
-API_PREFIX enum snikket_message_type snikket_notification_type(void *notification);
-
-API_PREFIX const char *snikket_notification_call_status(void *notification);
-
-API_PREFIX const char *snikket_notification_call_sid(void *notification);
-
-API_PREFIX const char *snikket_notification_image_uri(void *notification);
-
-API_PREFIX const char *snikket_notification_lang(void *notification);
-
-API_PREFIX const char *snikket_notification_timestamp(void *notification);
-
-/**
- * Create a new Client to connect to a particular account
- *
- * @param address the account to connect to
- * @param persistence the persistence layer to use for storage
- */
-API_PREFIX void *snikket_client_new(const char *address, void *persistence);
-
-/**
- * Set to false to suppress sending available presence
- */
-API_PREFIX void snikket_client_set_send_available(void *client, bool value);
-
-/**
- * Start this client running and trying to connect to the server
- */
-API_PREFIX void snikket_client_start(void *client);
-
-/**
- * Gets the client ready to use but does not connect to the server
- */
-API_PREFIX void snikket_client_start_offline(void *client, void (*ready) (void*), void *ready__context);
-
-/**
- * Destroy local data for this account
- *
- * @param completely if true chats, messages, etc will be deleted as well
- */
-API_PREFIX void snikket_client_logout(void *client, bool completely);
-
-/**
- * Sets the password to be used in response to the password needed event
- *
- * @param password
- */
-API_PREFIX void snikket_client_use_password(void *client, const char *password);
-
-/**
- * Get the account ID for this Client
- *
- * @returns account id
- */
-API_PREFIX const char *snikket_client_account_id(void *client);
-
-/**
- * Get the current display name for this account
- *
- * @returns display name
- */
-API_PREFIX const char *snikket_client_display_name(void *client);
-
-/**
- * Set the current display name for this account on the server
- *
- * @param display name to set (ignored if empty or NULL)
- */
-API_PREFIX void snikket_client_set_display_name(void *client, const char *displayName);
-
-/**
- * Turn a file into a ChatAttachment for attaching to a ChatMessage
- */
-API_PREFIX void snikket_client_prepare_attachment(void *client, void *source, void (*callback) (void*, void*), void *callback__context);
-
-/**
- * @returns array of open chats, sorted by last activity
- */
-API_PREFIX size_t snikket_client_get_chats(void *client, void ***outPtr);
-
-/**
- * Search for chats the user can start or join
- *
- * @param q the search query to use
- * @param callback takes two arguments, the query that was used and the array of results
- */
-API_PREFIX void snikket_client_find_available_chats(void *client, const char *q, void (*callback) (const char*, void**, size_t, void*), void *callback__context);
-
-/**
- * Start or join a chat from the search results
- *
- * @returns the chat that was started
- */
-API_PREFIX void *snikket_client_start_chat(void *client, void *availableChat);
-
-/**
- * Find a chat by id
- *
- * @returns the chat if known, or NULL
- */
-API_PREFIX void *snikket_client_get_chat(void *client, const char *chatId);
-
-/**
- * Enable push notifications
- *
- * @param push_service the address of a push proxy
- * @param vapid_private_pkcs8 the private key for signing JWT of the push service
- * @param endpoint the final target for the push proxy to forward to
- * @param p256dh A P-256 uncompressed point in ANSI X9.62 format
- * @param auth Random 16 octed value
- * @param grace Grace period during which not to generate push if another app is active for same account, in seconds (negative for none)
- * @param claims Optional additional JWT claims as key then value
- */
-API_PREFIX void snikket_client_enable_push(void *client, const char *push_service, const char *endpoint, const unsigned char *p256dh, size_t p256dh__len, const unsigned char *auth, size_t auth__len, int grace, const unsigned char *vapid_private_pkcs8, size_t vapid_private_pkcs8__len, const char *const *claims, size_t claims__len);
-
-/**
- * Event fired when client needs a password for authentication
- *
- * @param handler takes one argument, the Client that needs a password
- */
-API_PREFIX void snikket_client_add_password_needed_listener(void *client, void (*handler) (void*, void*), void *handler__context);
-
-/**
- * Event fired when client is connected and fully synchronized
- *
- * @param handler takes no arguments
- */
-API_PREFIX void snikket_client_add_status_online_listener(void *client, void (*handler) (void*), void *handler__context);
-
-/**
- * Event fired when client is disconnected
- *
- * @param handler takes no arguments
- */
-API_PREFIX void snikket_client_add_status_offline_listener(void *client, void (*handler) (void*), void *handler__context);
-
-/**
- * Event fired when connection fails with a fatal error and will not be retried
- *
- * @param handler takes no arguments
- */
-API_PREFIX void snikket_client_add_connection_failed_listener(void *client, void (*handler) (void*), void *handler__context);
-
-/**
- * Event fired when TLS checks fail, to give client the chance to override
- *
- * @param handler takes two arguments, the PEM of the cert and an array of DNS names, and must return true to accept or false to reject
- */
-API_PREFIX void snikket_client_add_tls_check_listener(void *client, bool (*handler) (const char*, const char**, size_t, void*), void *handler__context);
-
-/**
- * Event fired when a new ChatMessage comes in on any Chat
- * Also fires when status of a ChatMessage changes,
- * when a ChatMessage is edited, or when a reaction is added
- *
- * @param handler takes two arguments, the ChatMessage and ChatMessageEvent enum describing what happened
- */
-API_PREFIX void snikket_client_add_chat_message_listener(void *client, void (*handler) (void*, int, void*), void *handler__context);
-
-/**
- * Event fired when syncing a new ChatMessage that was send when offline.
- * Normally you don't want this, but it may be useful if you want to notify on app start.
- *
- * @param handler takes one argument, the ChatMessage
- */
-API_PREFIX void snikket_client_add_sync_message_listener(void *client, void (*handler) (void*, void*), void *handler__context);
-
-/**
- * Event fired when a Chat's metadata is updated, or when a new Chat is added
- *
- * @param handler takes one argument, an array of Chats that were updated
- */
-API_PREFIX void snikket_client_add_chats_updated_listener(void *client, void (*handler) (void**, size_t, void*), void *handler__context);
-
-/**
- * Event fired when a new call comes in
- *
- * @param handler takes one argument, the call Session
- */
-API_PREFIX void snikket_client_add_call_ring_listener(void *client, void (*handler) (void*, void*), void *handler__context);
-
-/**
- * Event fired when a call is retracted or hung up
- *
- * @param handler takes two arguments, the associated Chat ID and Session ID
- */
-API_PREFIX void snikket_client_add_call_retract_listener(void *client, void (*handler) (const char*, const char*, void*), void *handler__context);
-
-/**
- * Event fired when an outgoing call starts ringing
- *
- * @param handler takes two arguments, the associated Chat ID and Session ID
- */
-API_PREFIX void snikket_client_add_call_ringing_listener(void *client, void (*handler) (const char*, const char*, void*), void *handler__context);
-
-/**
- * Event fired when an existing call changes status (connecting, failed, etc)
- *
- * @param handler takes one argument, the associated Session
- */
-API_PREFIX void snikket_client_add_call_update_status_listener(void *client, void (*handler) (void*, void*), void *handler__context);
-
-/**
- * Event fired when a call is asking for media to send
- *
- * @param handler takes three arguments, the call Session,
- * a boolean indicating if audio is desired,
- * and a boolean indicating if video is desired
- */
-API_PREFIX void snikket_client_add_call_media_listener(void *client, void (*handler) (void*, bool, bool, void*), void *handler__context);
-
-/**
- * Event fired when call has a new MediaStreamTrack to play
- *
- * @param handler takes three arguments, the associated Chat ID,
- * the new MediaStreamTrack, and an array of any associated MediaStreams
- */
-API_PREFIX void snikket_client_add_call_track_listener(void *client, void (*handler) (const char*, void*, void**, size_t, void*), void *handler__context);
-
-/**
- * Let the SDK know the UI is in the foreground
- */
-API_PREFIX void snikket_client_set_in_foreground(void *client);
-
-/**
- * Let the SDK know the UI is in the foreground
- */
-API_PREFIX void snikket_client_set_not_in_foreground(void *client);
-
-/**
- * ID of this Chat
- */
-API_PREFIX const char *snikket_chat_chat_id(void *chat);
-
-/**
- * Current state of this chat
- */
-API_PREFIX enum snikket_ui_state snikket_chat_ui_state(void *chat);
-
-API_PREFIX bool snikket_chat_is_blocked(void *chat);
-
-/**
- * Fetch a page of messages before some point
- *
- * @param beforeId id of the message to look before
- * @param beforeTime timestamp of the message to look before,
- * String in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
- * @param handler takes one argument, an array of ChatMessage that are found
- */
-API_PREFIX void snikket_chat_get_messages_before(void *chat, const char *beforeId, const char *beforeTime, void (*handler) (void**, size_t, void*), void *handler__context);
-
-/**
- * Fetch a page of messages after some point
- *
- * @param afterId id of the message to look after
- * @param afterTime timestamp of the message to look after,
- * String in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
- * @param handler takes one argument, an array of ChatMessage that are found
- */
-API_PREFIX void snikket_chat_get_messages_after(void *chat, const char *afterId, const char *afterTime, void (*handler) (void**, size_t, void*), void *handler__context);
-
-/**
- * Fetch a page of messages around (before, including, and after) some point
- *
- * @param aroundId id of the message to look around
- * @param aroundTime timestamp of the message to look around,
- * String in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
- * @param handler takes one argument, an array of ChatMessage that are found
- */
-API_PREFIX void snikket_chat_get_messages_around(void *chat, const char *aroundId, const char *aroundTime, void (*handler) (void**, size_t, void*), void *handler__context);
-
-/**
- * Send a ChatMessage to this Chat
- *
- * @param message the ChatMessage to send
- */
-API_PREFIX void snikket_chat_send_message(void *chat, void *message);
-
-/**
- * Signals that all messages up to and including this one have probably
- * been displayed to the user
- *
- * @param message the ChatMessage most recently displayed
- */
-API_PREFIX void snikket_chat_mark_read_up_to(void *chat, void *message);
-
-/**
- * Save this Chat on the server
- */
-API_PREFIX void snikket_chat_bookmark(void *chat);
-
-/**
- * Get the list of IDs of participants in this Chat
- *
- * @returns array of IDs
- */
-API_PREFIX size_t snikket_chat_get_participants(void *chat, const char ***outPtr);
-
-/**
- * Get the details for one participant in this Chat
- *
- * @param participantId the ID of the participant to look up
- */
-API_PREFIX void *snikket_chat_get_participant_details(void *chat, const char *participantId);
-
-/**
- * Correct an already-send message by replacing it with a new one
- *
- * @param localId the localId of the message to correct
- * must be the localId of the first version ever sent, not a subsequent correction
- * @param message the new ChatMessage to replace it with
- */
-API_PREFIX void snikket_chat_correct_message(void *chat, const char *localId, void *message);
-
-/**
- * Add new reaction to a message in this Chat
- *
- * @param m ChatMessage to react to
- * @param reaction emoji of the reaction
- */
-API_PREFIX void snikket_chat_add_reaction(void *chat, void *m, void *reaction);
-
-/**
- * Remove an already-sent reaction from a message
- *
- * @param m ChatMessage to remove the reaction from
- * @param reaction the emoji to remove
- */
-API_PREFIX void snikket_chat_remove_reaction(void *chat, void *m, void *reaction);
-
-/**
- * Call this whenever the user is typing, can call on every keystroke
- *
- * @param threadId optional, what thread the user has selected if any
- * @param content optional, what the user has typed so far
- */
-API_PREFIX void snikket_chat_typing(void *chat, const char *threadId, const char *content);
-
-/**
- * Call this whenever the user makes a chat or thread "active" in your UX
- * If you call this with true you MUST later call it will false
- *
- * @param active true if the chat is "active", false otherwise
- * @param threadId optional, what thread the user has selected if any
- */
-API_PREFIX void snikket_chat_set_active(void *chat, bool active, const char *threadId);
-
-/**
- * Archive this chat
- */
-API_PREFIX void snikket_chat_close(void *chat);
-
-/**
- * Pin or unpin this chat
- */
-API_PREFIX void snikket_chat_toggle_pinned(void *chat);
-
-/**
- * Block this chat so it will not re-open
- */
-API_PREFIX void snikket_chat_block(void *chat, void *reportSpam, bool onServer);
-
-/**
- * Unblock this chat so it will open again
- */
-API_PREFIX void snikket_chat_unblock(void *chat, bool onServer);
-
-/**
- * Update notification preferences
- */
-API_PREFIX void snikket_chat_set_notifications(void *chat, bool filtered, bool mention, bool reply);
-
-/**
- * Should notifications be filtered?
- */
-API_PREFIX bool snikket_chat_notifications_filtered(void *chat);
-
-/**
- * Should a mention produce a notification?
- */
-API_PREFIX bool snikket_chat_notify_mention(void *chat);
-
-/**
- * Should a reply produce a notification?
- */
-API_PREFIX bool snikket_chat_notify_reply(void *chat);
-
-/**
- * An ID of the most recent message in this chat
- */
-API_PREFIX const char *snikket_chat_last_message_id(void *chat);
-
-/**
- * The timestamp of the most recent message in this chat
- */
-API_PREFIX const char *snikket_chat_last_message_timestamp(void *chat);
-
-/**
- * Get the URI image to represent this Chat, or null
- */
-API_PREFIX const char *snikket_chat_get_photo(void *chat);
-
-/**
- * Get the URI to a placeholder image to represent this Chat
- */
-API_PREFIX const char *snikket_chat_get_placeholder(void *chat);
-
-/**
- * An ID of the last message displayed to the user
- */
-API_PREFIX const char *snikket_chat_read_up_to(void *chat);
-
-/**
- * The number of message that have not yet been displayed to the user
- */
-API_PREFIX int snikket_chat_unread_count(void *chat);
-
-/**
- * A preview of the chat, such as the most recent message body
- */
-API_PREFIX const char *snikket_chat_preview(void *chat);
-
-API_PREFIX void snikket_chat_set_display_name(void *chat, const char *fn);
-
-/**
- * The display name of this Chat
- */
-API_PREFIX const char *snikket_chat_get_display_name(void *chat);
-
-API_PREFIX void snikket_chat_set_trusted(void *chat, bool trusted);
-
-/**
- * Is this a chat with an entity we trust to see our online status?
- */
-API_PREFIX bool snikket_chat_is_trusted(void *chat);
-
-API_PREFIX bool snikket_chat_syncing(void *chat);
-
-/**
- * Can audio calls be started in this Chat?
- */
-API_PREFIX bool snikket_chat_can_audio_call(void *chat);
-
-/**
- * Can video calls be started in this Chat?
- */
-API_PREFIX bool snikket_chat_can_video_call(void *chat);
-
-/**
- * Start a new call in this Chat
- *
- * @param audio do we want audio in this call
- * @param video do we want video in this call
- */
-API_PREFIX void snikket_chat_start_call(void *chat, bool audio, bool video);
-
-/**
- * Accept any incoming calls in this Chat
- */
-API_PREFIX void snikket_chat_accept_call(void *chat);
-
-/**
- * Hangup or reject any calls in this chat
- */
-API_PREFIX void snikket_chat_hangup(void *chat);
-
-/**
- * The current status of a call in this chat
- */
-API_PREFIX enum snikket_jingle_call_status snikket_chat_call_status(void *chat);
-
-/**
- * A DTMFSender for a call in this chat, or NULL
- */
-API_PREFIX void *snikket_chat_dtmf(void *chat);
-
-/**
- * All video tracks in all active calls in this chat
- */
-API_PREFIX size_t snikket_chat_video_tracks(void *chat, void ***outPtr);
-
-API_PREFIX const char *snikket_jingle_media_stream_track_id(void *media_stream_track);
-
-API_PREFIX bool snikket_jingle_media_stream_track_muted(void *media_stream_track);
-
-API_PREFIX const char *snikket_jingle_media_stream_track_kind(void *media_stream_track);
-
-API_PREFIX size_t snikket_jingle_media_stream_track_supported_audio_formats(void *media_stream_track, void ***outPtr);
-
-/**
- * Event fired for new inbound audio frame
- *
- * @param callback takes three arguments, the Signed 16-bit PCM data, the clock rate, and the number of channels
- */
-API_PREFIX void snikket_jingle_media_stream_track_add_pcm_listener(void *media_stream_track, void (*callback) (short*, size_t, int, int, void*), void *callback__context);
-
-/**
- * Event fired when ready for next outbound audio frame
- *
- * @param callback
- */
-API_PREFIX void snikket_jingle_media_stream_track_add_ready_for_pcm_listener(void *media_stream_track, void (*callback) (void*), void *callback__context);
-
-/**
- * Send new audio to this track
- *
- * @param pcm 16-bit signed linear PCM data (interleaved)
- * @param clockRate the sampling rate of the data
- * @param channels the number of audio channels
- */
-API_PREFIX void snikket_jingle_media_stream_track_write_pcm(void *media_stream_track, const short *pcm, size_t pcm__len, int clockRate, int channels);
-
-API_PREFIX void snikket_jingle_media_stream_track_stop(void *media_stream_track);
-
-API_PREFIX void *snikket_jingle_audio_format_new(const char *format, unsigned char payloadType, int clockRate, int channels);
-
-API_PREFIX int snikket_jingle_audio_format_clock_rate(void *audio_format);
-
-API_PREFIX int snikket_jingle_audio_format_channels(void *audio_format);
-
-/**
- * The ID of the Chat this search result represents
- */
-API_PREFIX const char *snikket_available_chat_chat_id(void *available_chat);
-
-/**
- * The display name of this search result
- */
-API_PREFIX const char *snikket_available_chat_display_name(void *available_chat);
-
-/**
- * A human-readable note associated with this search result
- */
-API_PREFIX const char *snikket_available_chat_note(void *available_chat);
-
-/**
- * Is this search result a channel?
- */
-API_PREFIX bool snikket_available_chat_is_channel(void *available_chat);
-
-API_PREFIX const char *snikket_jingle_initiated_session_sid(void *initiated_session);
-
-API_PREFIX const char *snikket_jingle_initiated_session_chat_id(void *initiated_session);
-
-API_PREFIX void snikket_jingle_initiated_session_accept(void *initiated_session);
-
-API_PREFIX void snikket_jingle_initiated_session_hangup(void *initiated_session);
-
-API_PREFIX void snikket_jingle_initiated_session_add_media(void *initiated_session, void *const *streams, size_t streams__len);
-
-API_PREFIX enum snikket_jingle_call_status snikket_jingle_initiated_session_call_status(void *initiated_session);
-
-API_PREFIX size_t snikket_jingle_initiated_session_video_tracks(void *initiated_session, void ***outPtr);
-
-API_PREFIX void *snikket_jingle_initiated_session_dtmf(void *initiated_session);
-
-API_PREFIX void snikket_jingle_initiated_session_supply_media(void *initiated_session, void *const *streams, size_t streams__len);
-
-API_PREFIX void *snikket_jingle_media_stream_new();
-
-/**
- * Create default bidirectional audio track
- */
-API_PREFIX void *snikket_jingle_media_stream_make_audio();
-
-API_PREFIX void snikket_jingle_media_stream_add_track(void *media_stream, void *track);
-
-API_PREFIX size_t snikket_jingle_media_stream_get_tracks(void *media_stream, void ***outPtr);
-
-API_PREFIX const char *snikket_participant_display_name(void *participant);
-
-API_PREFIX const char *snikket_participant_photo_uri(void *participant);
-
-API_PREFIX const char *snikket_participant_placeholder_uri(void *participant);
-
-API_PREFIX bool snikket_participant_is_self(void *participant);
-
-API_PREFIX void *snikket_attachment_source_new(const char *path, const char *mime);
-
-API_PREFIX const char *snikket_attachment_source_path(void *attachment_source);
-
-API_PREFIX const char *snikket_attachment_source_type(void *attachment_source);
-
-API_PREFIX const char *snikket_attachment_source_name(void *attachment_source);
-
-API_PREFIX int snikket_attachment_source_size(void *attachment_source);
-
-API_PREFIX bool snikket_channel_is_private(void *channel);
-
-API_PREFIX const char *snikket_custom_emoji_reaction_uri(void *custom_emoji_reaction);
-
-API_PREFIX const char *snikket_identicon_svg(const char *source);
-
-/**
- * Produce /.well-known/ni/ paths instead of ni:/// URIs
- * for referencing media by hash.
- *
- * This can be useful eg for intercepting with a Service Worker.
- */
-API_PREFIX bool snikket_config_relative_hash_uri();
-
-/**
- * Produce /.well-known/ni/ paths instead of ni:/// URIs
- * for referencing media by hash.
- *
- * This can be useful eg for intercepting with a Service Worker.
- */
-API_PREFIX void snikket_config_set_relative_hash_uri(bool value);
-
-/**
- * Trades off some performance for lower / more consistent memory usage
- */
-API_PREFIX void snikket_config_enable_constrained_memory_mode();
-
-/**
- * Schedule DTMF events to be sent
- *
- * @param tones can be any number of 0123456789#*ABCD,
- */
-API_PREFIX void snikket_jingle_dtmf_sender_insert_dtmf(void *dtmf_sender, const char *tones);
-
-#ifdef __cplusplus
-}
-#endif
-
-#undef API_PREFIX
-
-#endif
diff --git a/Sources/c_snikket/src/HaxeCBridge.cpp b/Sources/c_snikket/src/HaxeCBridge.cpp
deleted file mode 100644
index 3c20897..0000000
--- a/Sources/c_snikket/src/HaxeCBridge.cpp
+++ /dev/null
@@ -1,389 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_cbce7ceea2d0df24
-#define INCLUDED_cbce7ceea2d0df24
-#include "HaxeCBridge.h"
-#endif
-#ifndef INCLUDED_95f339a1d026d52c
-#define INCLUDED_95f339a1d026d52c
-#include "hxMath.h"
-#endif
-#ifndef INCLUDED_Std
-#include <Std.h>
-#endif
-#ifndef INCLUDED_Sys
-#include <Sys.h>
-#endif
-#ifndef INCLUDED__HaxeCBridge_Internal
-#include <_HaxeCBridge/Internal.h>
-#endif
-#ifndef INCLUDED_cpp_Int64Map
-#include <cpp/Int64Map.h>
-#endif
-#ifndef INCLUDED_haxe_Exception
-#include <haxe/Exception.h>
-#endif
-#ifndef INCLUDED_haxe_IMap
-#include <haxe/IMap.h>
-#endif
-#ifndef INCLUDED_haxe_Log
-#include <haxe/Log.h>
-#endif
-#ifndef INCLUDED_haxe_MainLoop
-#include <haxe/MainLoop.h>
-#endif
-#ifndef INCLUDED_haxe_StackItem
-#include <haxe/StackItem.h>
-#endif
-#ifndef INCLUDED_haxe__CallStack_CallStack_Impl_
-#include <haxe/_CallStack/CallStack_Impl_.h>
-#endif
-#ifndef INCLUDED_sys_thread_EventLoop
-#include <sys/thread/EventLoop.h>
-#endif
-#ifndef INCLUDED_sys_thread_Lock
-#include <sys/thread/Lock.h>
-#endif
-#ifndef INCLUDED_sys_thread_Mutex
-#include <sys/thread/Mutex.h>
-#endif
-#ifndef INCLUDED_sys_thread__EventLoop_RegularEvent
-#include <sys/thread/_EventLoop/RegularEvent.h>
-#endif
-#ifndef INCLUDED_sys_thread__Thread_HaxeThread
-#include <sys/thread/_Thread/HaxeThread.h>
-#endif
-#ifndef INCLUDED_sys_thread__Thread_Thread_Impl_
-#include <sys/thread/_Thread/Thread_Impl_.h>
-#endif
-
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_1975_mainThreadInit,"HaxeCBridge","mainThreadInit",0x6f09ae5b,"HaxeCBridge.mainThreadInit","HaxeCBridge.hx",1975,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_1990_mainThreadRun,"HaxeCBridge","mainThreadRun",0xa4afa660,"HaxeCBridge.mainThreadRun","HaxeCBridge.hx",1990,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2080_retainHaxeArray,"HaxeCBridge","retainHaxeArray",0x7373bc46,"HaxeCBridge.retainHaxeArray","HaxeCBridge.hx",2080,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2089_retainHaxeObject,"HaxeCBridge","retainHaxeObject",0xef200772,"HaxeCBridge.retainHaxeObject","HaxeCBridge.hx",2089,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2099_retainHaxeString,"HaxeCBridge","retainHaxeString",0xeb10b184,"HaxeCBridge.retainHaxeString","HaxeCBridge.hx",2099,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2106_retainPtr,"HaxeCBridge","retainPtr",0x2c61e661,"HaxeCBridge.retainPtr","HaxeCBridge.hx",2106,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2119_releaseHaxePtr,"HaxeCBridge","releaseHaxePtr",0x5df2fc29,"HaxeCBridge.releaseHaxePtr","HaxeCBridge.hx",2119,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2132_isMainThread,"HaxeCBridge","isMainThread",0x6f71c035,"HaxeCBridge.isMainThread","HaxeCBridge.hx",2132,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2137_endMainThread,"HaxeCBridge","endMainThread",0x0d9deed6,"HaxeCBridge.endMainThread","HaxeCBridge.hx",2137,0xa18550d8)
-
-void HaxeCBridge::mainThreadInit(::cpp::Function< bool () > isMainThreadCb){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_1975_mainThreadInit)
-HXLINE(1981) ::_HaxeCBridge::Internal_obj::isMainThreadCb = isMainThreadCb;
-HXLINE(1982) ::_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_1990_mainThreadRun)
-HXLINE(1991) try {
- HX_STACK_CATCHABLE( ::Dynamic, 0);
- } catch( ::Dynamic _hx_e) {
- if (_hx_e.IsClass< ::Dynamic >() ){
- HX_STACK_BEGIN_CATCH
- ::Dynamic _g = _hx_e;
-HXLINE(1993) {
-HXLINE(1993) null();
- }
-HXDLIN(1993) ::haxe::Exception e = ::haxe::Exception_obj::caught(_g);
-HXDLIN(1993) {
-HXLINE(1994) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN(1994) ::Array< ::Dynamic> tmp = e->get_stack();
-HXDLIN(1994) ::String _hx_tmp1;
-HXDLIN(1994) if (::hx::IsNull( tmp )) {
-HXLINE(1994) _hx_tmp1 = HX_("null",87,9e,0e,49);
- }
- else {
-HXLINE(1994) _hx_tmp1 = ::haxe::_CallStack::CallStack_Impl__obj::toString(tmp);
- }
-HXDLIN(1994) _hx_tmp(e, ::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),1994)));
-HXLINE(1995) onUnhandledException(::Std_obj::string(e).utf8_str());
- }
- }
- else {
- HX_STACK_DO_THROW(_hx_e);
- }
- }
-HXLINE(2002) ::sys::thread::EventLoop eventLoop = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current());
-HXLINE(2004) ::Array< ::Dynamic> recycleRegular = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(2005) ::Array< ::Dynamic> recycleOneTimers = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(2006) while(::_HaxeCBridge::Internal_obj::mainThreadLoopActive){
-HXLINE(2007) try {
- HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE(2009) processNativeCalls();
-HXLINE(2012) Float now = ::Sys_obj::time();
-HXDLIN(2012) ::Array< ::Dynamic> regularsToRun = recycleRegular;
-HXDLIN(2012) int eventsToRunIdx = 0;
-HXDLIN(2012) Float nextEventAt = ( (Float)(-1) );
-HXDLIN(2012) eventLoop->mutex->acquire();
-HXDLIN(2012) while(eventLoop->waitLock->wait(((Float)0.0))){
- }
-HXLINE(2012) ::sys::thread::_EventLoop::RegularEvent current = eventLoop->regularEvents;
-HXDLIN(2012) while(::hx::IsNotNull( current )){
-HXLINE(2012) if ((current->nextRunTime <= now)) {
-HXLINE(2012) eventsToRunIdx = (eventsToRunIdx + 1);
-HXDLIN(2012) regularsToRun[(eventsToRunIdx - 1)] = current;
-HXDLIN(2012) ::sys::thread::_EventLoop::RegularEvent current1 = current;
-HXDLIN(2012) current1->nextRunTime = (current1->nextRunTime + current->interval);
-HXLINE( 220) nextEventAt = ( (Float)(-2) );
- }
- else {
-HXLINE(2012) bool _hx_tmp2;
-HXDLIN(2012) if ((nextEventAt != -1)) {
-HXLINE(2012) _hx_tmp2 = (current->nextRunTime < nextEventAt);
- }
- else {
-HXLINE(2012) _hx_tmp2 = true;
- }
-HXDLIN(2012) if (_hx_tmp2) {
-HXLINE( 222) nextEventAt = current->nextRunTime;
- }
- }
-HXLINE( 224) current = current->next;
- }
-HXLINE(2012) eventLoop->mutex->release();
-HXDLIN(2012) int _g1 = 0;
-HXDLIN(2012) int _g2 = eventsToRunIdx;
-HXDLIN(2012) while((_g1 < _g2)){
-HXLINE(2012) _g1 = (_g1 + 1);
-HXDLIN(2012) int i = (_g1 - 1);
-HXDLIN(2012) if (!(regularsToRun->__get(i).StaticCast< ::sys::thread::_EventLoop::RegularEvent >()->cancelled)) {
-HXLINE(2012) regularsToRun->__get(i).StaticCast< ::sys::thread::_EventLoop::RegularEvent >()->run();
- }
-HXDLIN(2012) regularsToRun[i] = null();
- }
-HXLINE( 234) eventsToRunIdx = 0;
-HXLINE(2012) ::Array< ::Dynamic> oneTimersToRun = recycleOneTimers;
-HXDLIN(2012) eventLoop->mutex->acquire();
-HXDLIN(2012) int _g_current = 0;
-HXDLIN(2012) ::Array< ::Dynamic> _g_array = eventLoop->oneTimeEvents;
-HXDLIN(2012) while((_g_current < _g_array->length)){
-HXLINE(2012) ::Dynamic _g_value = _g_array->__get(_g_current);
-HXDLIN(2012) _g_current = (_g_current + 1);
-HXDLIN(2012) int _g_key = (_g_current - 1);
-HXDLIN(2012) int i1 = _g_key;
-HXDLIN(2012) ::Dynamic event = _g_value;
-HXDLIN(2012) if (::hx::IsNull( event )) {
-HXLINE(2012) goto _hx_goto_5;
- }
- else {
-HXLINE(2012) eventsToRunIdx = (eventsToRunIdx + 1);
-HXDLIN(2012) oneTimersToRun[(eventsToRunIdx - 1)] = event;
-HXDLIN(2012) eventLoop->oneTimeEvents[i1] = null();
- }
- }
- _hx_goto_5:;
-HXDLIN(2012) eventLoop->oneTimeEventsIdx = 0;
-HXDLIN(2012) bool hasPromisedEvents = (eventLoop->promisedEventsCount > 0);
-HXDLIN(2012) eventLoop->mutex->release();
-HXDLIN(2012) int _g3 = 0;
-HXDLIN(2012) int _g4 = eventsToRunIdx;
-HXDLIN(2012) while((_g3 < _g4)){
-HXLINE(2012) _g3 = (_g3 + 1);
-HXDLIN(2012) int i2 = (_g3 - 1);
-HXDLIN(2012) oneTimersToRun->__get(i2)();
-HXDLIN(2012) oneTimersToRun[i2] = null();
- }
-HXDLIN(2012) if (eventLoop->isMainThread) {
-HXLINE(2012) Float next = ::haxe::MainLoop_obj::tick();
-HXDLIN(2012) if (::haxe::MainLoop_obj::hasEvents()) {
-HXLINE(2012) eventsToRunIdx = (eventsToRunIdx + 1);
-HXDLIN(2012) if ((nextEventAt > next)) {
-HXLINE( 264) nextEventAt = next;
- }
- }
- }
-HXLINE(2012) if ((eventsToRunIdx > 0)) {
-HXLINE( 270) nextEventAt = ( (Float)(-2) );
- }
-HXLINE(2012) Float eventTickInfo_nextEventAt = nextEventAt;
-HXDLIN(2012) bool eventTickInfo_anyTime = hasPromisedEvents;
-HXLINE(2013) if (hasPendingNativeCalls()) {
-HXLINE(2014) continue;
- }
-HXLINE(2016) {
-HXLINE(2016) Float _g5 = eventTickInfo_nextEventAt;
-HXDLIN(2016) Float _hx_switch_0 = _g5;
- if ( (_hx_switch_0==( (Float)(-2) )) ){
-HXLINE(2017) goto _hx_goto_7;
- }
- if ( (_hx_switch_0==( (Float)(-1) )) ){
-HXLINE(2019) bool _hx_tmp3;
-HXDLIN(2019) if (::_HaxeCBridge::Internal_obj::mainThreadEndIfNoPending) {
-HXLINE(2019) _hx_tmp3 = !(eventTickInfo_anyTime);
- }
- else {
-HXLINE(2019) _hx_tmp3 = false;
- }
-HXDLIN(2019) if (_hx_tmp3) {
-HXLINE(2021) goto _hx_goto_1;
- }
-HXLINE(2023) ::_HaxeCBridge::Internal_obj::mainThreadWaitLock->wait(null());
-HXLINE(2018) goto _hx_goto_7;
- }
- /* default */{
-HXLINE(2024) Float time = _g5;
-HXDLIN(2024) {
-HXLINE(2025) Float timeout = (time - ::Sys_obj::time());
-HXLINE(2026) ::_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(2028) {
-HXLINE(2028) null();
- }
-HXDLIN(2028) ::Dynamic e1 = _g6;
-HXLINE(2029) {
-HXLINE(2029) ::String s;
-HXDLIN(2029) if (::hx::IsNull( e1 )) {
-HXLINE(2029) s = HX_("null",87,9e,0e,49);
- }
- else {
-HXLINE(2029) s = ::Std_obj::string(e1);
- }
-HXDLIN(2029) onUnhandledException(s.utf8_str());
- }
- }
- else {
- HX_STACK_DO_THROW(_hx_e);
- }
- }
- }
- _hx_goto_1:;
-HXLINE(2034) __hxcpp_collect(true);
- }
-
-
-void** HaxeCBridge::retainHaxeArray(::cpp::VirtualArray haxeArray){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2080_retainHaxeArray)
-HXLINE(2083) void** ptr = (void**)haxeArray->getBase();
-HXLINE(2084) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXLINE(2085) {
-HXLINE(2085) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN(2085) if (::hx::IsNull( store )) {
-HXLINE(2085) 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(2085) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE(2085) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE(2086) return ptr;
- }
-
-
-void* HaxeCBridge::retainHaxeObject( ::Dynamic haxeObject){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2089_retainHaxeObject)
-HXLINE(2091) void* ptr = haxeObject.mPtr;
-HXLINE(2094) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXLINE(2095) {
-HXLINE(2095) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN(2095) if (::hx::IsNull( store )) {
-HXLINE(2095) 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(2095) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE(2095) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE(2096) return ptr;
- }
-
-
-const char* HaxeCBridge::retainHaxeString(::String haxeString){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2099_retainHaxeString)
-HXLINE(2100) const char* cStrPtr = haxeString.utf8_str();
-HXLINE(2101) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
-HXLINE(2102) {
-HXLINE(2102) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN(2102) if (::hx::IsNull( store )) {
-HXLINE(2102) 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(2102) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE(2102) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE(2103) return cStrPtr;
- }
-
-
-void HaxeCBridge::retainPtr(::cpp::Int64 ptrInt64, ::Dynamic haxeObject){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2106_retainPtr)
-HXLINE(2108) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXLINE(2109) if (::hx::IsNull( store )) {
-HXLINE(2111) 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(2112) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE(2115) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-
-
-void HaxeCBridge::releaseHaxePtr(void * haxePtr){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2119_releaseHaxePtr)
-HXLINE(2120) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(haxePtr);
-HXLINE(2121) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXLINE(2122) bool _hx_tmp;
-HXDLIN(2122) if (::hx::IsNotNull( store )) {
-HXLINE(2122) _hx_tmp = ::hx::IsGreater( store->__Field(HX_("refCount",7c,2e,66,86),::hx::paccDynamic),0 );
- }
- else {
-HXLINE(2122) _hx_tmp = false;
- }
-HXDLIN(2122) if (_hx_tmp) {
-HXLINE(2123) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))--;
-HXLINE(2124) if (::hx::IsLessEq( store->__Field(HX_("refCount",7c,2e,66,86),::hx::paccDynamic),0 )) {
-HXLINE(2125) ::_HaxeCBridge::Internal_obj::gcRetainMap->remove(ptrInt64);
- }
- }
- }
-
-
-bool HaxeCBridge::isMainThread(){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2132_isMainThread)
-HXDLIN(2132) return ::_HaxeCBridge::Internal_obj::isMainThreadCb();
- }
-
-
-void HaxeCBridge::endMainThread(bool waitOnScheduledEvents){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2137_endMainThread)
-HXLINE(2138) ::_HaxeCBridge::Internal_obj::mainThreadEndIfNoPending = true;
-HXLINE(2139) bool _hx_tmp;
-HXDLIN(2139) if (::_HaxeCBridge::Internal_obj::mainThreadLoopActive) {
-HXLINE(2139) _hx_tmp = waitOnScheduledEvents;
- }
- else {
-HXLINE(2139) _hx_tmp = false;
- }
-HXDLIN(2139) ::_HaxeCBridge::Internal_obj::mainThreadLoopActive = _hx_tmp;
-HXLINE(2140) ::__hxcpp_lock_release(::_HaxeCBridge::Internal_obj::mainThreadWaitLock->l);
- }
-
-
-void HaxeCBridge::wakeMainThread(){
- ::__hxcpp_lock_release(::_HaxeCBridge::Internal_obj::mainThreadWaitLock->l);
-}
-
-
-
diff --git a/Sources/c_snikket/src/_HaxeCBridge/Int64Map_Impl_.cpp b/Sources/c_snikket/src/_HaxeCBridge/Int64Map_Impl_.cpp
deleted file mode 100644
index 22a3e75..0000000
--- a/Sources/c_snikket/src/_HaxeCBridge/Int64Map_Impl_.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED__HaxeCBridge_Int64Map_Impl_
-#include <_HaxeCBridge/Int64Map_Impl_.h>
-#endif
-#ifndef INCLUDED_haxe_IMap
-#include <haxe/IMap.h>
-#endif
-#ifndef INCLUDED_haxe_ds_IntMap
-#include <haxe/ds/IntMap.h>
-#endif
-
-HX_LOCAL_STACK_FRAME(_hx_pos_d939fa764c7c1922_2147__new,"_HaxeCBridge.Int64Map_Impl_","_new",0x93ec2b39,"_HaxeCBridge.Int64Map_Impl_._new","HaxeCBridge.hx",2147,0xa18550d8)
-namespace _HaxeCBridge{
-
-void Int64Map_Impl__obj::__construct() { }
-
-Dynamic Int64Map_Impl__obj::__CreateEmpty() { return new Int64Map_Impl__obj; }
-
-void *Int64Map_Impl__obj::_hx_vtable = 0;
-
-Dynamic Int64Map_Impl__obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Int64Map_Impl__obj > _hx_result = new Int64Map_Impl__obj();
- _hx_result->__construct();
- return _hx_result;
-}
-
-bool Int64Map_Impl__obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x09ceba9e;
-}
-
- ::haxe::ds::IntMap Int64Map_Impl__obj::_new(){
- HX_GC_STACKFRAME(&_hx_pos_d939fa764c7c1922_2147__new)
-HXDLIN(2147) return ::haxe::ds::IntMap_obj::__alloc( HX_CTX );
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC0(Int64Map_Impl__obj,_new,return )
-
-
-Int64Map_Impl__obj::Int64Map_Impl__obj()
-{
-}
-
-bool Int64Map_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; }
- }
- return false;
-}
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo *Int64Map_Impl__obj_sMemberStorageInfo = 0;
-static ::hx::StaticInfo *Int64Map_Impl__obj_sStaticStorageInfo = 0;
-#endif
-
-::hx::Class Int64Map_Impl__obj::__mClass;
-
-static ::String Int64Map_Impl__obj_sStaticFields[] = {
- HX_("_new",61,15,1f,3f),
- ::String(null())
-};
-
-void Int64Map_Impl__obj::__register()
-{
- Int64Map_Impl__obj _hx_dummy;
- Int64Map_Impl__obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("_HaxeCBridge.Int64Map_Impl_",96,19,cf,fe);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &Int64Map_Impl__obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(Int64Map_Impl__obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
- __mClass->mCanCast = ::hx::TCanCast< Int64Map_Impl__obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Int64Map_Impl__obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Int64Map_Impl__obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace _HaxeCBridge
diff --git a/Sources/c_snikket/src/haxe/ds/_List/ListIterator.cpp b/Sources/c_snikket/src/haxe/ds/_List/ListIterator.cpp
deleted file mode 100644
index 8daf465..0000000
--- a/Sources/c_snikket/src/haxe/ds/_List/ListIterator.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_haxe_ds__List_ListIterator
-#include <haxe/ds/_List/ListIterator.h>
-#endif
-#ifndef INCLUDED_haxe_ds__List_ListNode
-#include <haxe/ds/_List/ListNode.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_cf70c3c8515bddec_281_new,"haxe.ds._List.ListIterator","new",0x2a47d966,"haxe.ds._List.ListIterator.new","/usr/local/lib/haxe/std/haxe/ds/List.hx",281,0x54f95eac)
-HX_LOCAL_STACK_FRAME(_hx_pos_cf70c3c8515bddec_285_hasNext,"haxe.ds._List.ListIterator","hasNext",0x5bdaa973,"haxe.ds._List.ListIterator.hasNext","/usr/local/lib/haxe/std/haxe/ds/List.hx",285,0x54f95eac)
-HX_LOCAL_STACK_FRAME(_hx_pos_cf70c3c8515bddec_288_next,"haxe.ds._List.ListIterator","next",0xd496612d,"haxe.ds._List.ListIterator.next","/usr/local/lib/haxe/std/haxe/ds/List.hx",288,0x54f95eac)
-namespace haxe{
-namespace ds{
-namespace _List{
-
-void ListIterator_obj::__construct( ::haxe::ds::_List::ListNode head){
- HX_STACKFRAME(&_hx_pos_cf70c3c8515bddec_281_new)
-HXDLIN( 281) this->head = head;
- }
-
-Dynamic ListIterator_obj::__CreateEmpty() { return new ListIterator_obj; }
-
-void *ListIterator_obj::_hx_vtable = 0;
-
-Dynamic ListIterator_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< ListIterator_obj > _hx_result = new ListIterator_obj();
- _hx_result->__construct(inArgs[0]);
- return _hx_result;
-}
-
-bool ListIterator_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x7cc93b54;
-}
-
-bool ListIterator_obj::hasNext(){
- HX_STACKFRAME(&_hx_pos_cf70c3c8515bddec_285_hasNext)
-HXDLIN( 285) return ::hx::IsNotNull( this->head );
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ListIterator_obj,hasNext,return )
-
- ::Dynamic ListIterator_obj::next(){
- HX_STACKFRAME(&_hx_pos_cf70c3c8515bddec_288_next)
-HXLINE( 289) ::Dynamic val = this->head->item;
-HXLINE( 290) this->head = this->head->next;
-HXLINE( 291) return val;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ListIterator_obj,next,return )
-
-
-::hx::ObjectPtr< ListIterator_obj > ListIterator_obj::__new( ::haxe::ds::_List::ListNode head) {
- ::hx::ObjectPtr< ListIterator_obj > __this = new ListIterator_obj();
- __this->__construct(head);
- return __this;
-}
-
-::hx::ObjectPtr< ListIterator_obj > ListIterator_obj::__alloc(::hx::Ctx *_hx_ctx, ::haxe::ds::_List::ListNode head) {
- ListIterator_obj *__this = (ListIterator_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ListIterator_obj), true, "haxe.ds._List.ListIterator"));
- *(void **)__this = ListIterator_obj::_hx_vtable;
- __this->__construct(head);
- return __this;
-}
-
-ListIterator_obj::ListIterator_obj()
-{
-}
-
-void ListIterator_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(ListIterator);
- HX_MARK_MEMBER_NAME(head,"head");
- HX_MARK_END_CLASS();
-}
-
-void ListIterator_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(head,"head");
-}
-
-::hx::Val ListIterator_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 4:
- if (HX_FIELD_EQ(inName,"head") ) { return ::hx::Val( head ); }
- 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);
-}
-
-::hx::Val ListIterator_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 4:
- if (HX_FIELD_EQ(inName,"head") ) { head=inValue.Cast< ::haxe::ds::_List::ListNode >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void ListIterator_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("head",20,29,0b,45));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo ListIterator_obj_sMemberStorageInfo[] = {
- {::hx::fsObject /* ::haxe::ds::_List::ListNode */ ,(int)offsetof(ListIterator_obj,head),HX_("head",20,29,0b,45)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *ListIterator_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String ListIterator_obj_sMemberFields[] = {
- HX_("head",20,29,0b,45),
- HX_("hasNext",6d,a5,46,18),
- HX_("next",f3,84,02,49),
- ::String(null()) };
-
-::hx::Class ListIterator_obj::__mClass;
-
-void ListIterator_obj::__register()
-{
- ListIterator_obj _hx_dummy;
- ListIterator_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("haxe.ds._List.ListIterator",74,ee,81,0e);
- __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(ListIterator_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< ListIterator_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = ListIterator_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = ListIterator_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace haxe
-} // end namespace ds
-} // end namespace _List
diff --git a/Sources/c_snikket/src/haxe/format/JsonPrinter.cpp b/Sources/c_snikket/src/haxe/format/JsonPrinter.cpp
deleted file mode 100644
index 3dc30e1..0000000
--- a/Sources/c_snikket/src/haxe/format/JsonPrinter.cpp
+++ /dev/null
@@ -1,822 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_95f339a1d026d52c
-#define INCLUDED_95f339a1d026d52c
-#include "hxMath.h"
-#endif
-#ifndef INCLUDED_Date
-#include <Date.h>
-#endif
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
-#ifndef INCLUDED_Std
-#include <Std.h>
-#endif
-#ifndef INCLUDED_StringBuf
-#include <StringBuf.h>
-#endif
-#ifndef INCLUDED_StringTools
-#include <StringTools.h>
-#endif
-#ifndef INCLUDED_Type
-#include <Type.h>
-#endif
-#ifndef INCLUDED_ValueType
-#include <ValueType.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_format_JsonPrinter
-#include <haxe/format/JsonPrinter.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_9c6ac6b04494726e_56_new,"haxe.format.JsonPrinter","new",0xeb68de75,"haxe.format.JsonPrinter.new","/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",56,0xce74b8b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9c6ac6b04494726e_81_write,"haxe.format.JsonPrinter","write",0x755dea34,"haxe.format.JsonPrinter.write","/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",81,0xce74b8b8)
-static const ::String _hx_array_data_f7b98003_4[] = {
- HX_("null",87,9e,0e,49),
-};
-static const ::String _hx_array_data_f7b98003_5[] = {
- HX_("\"<fun>\"",09,3c,cc,8b),
-};
-static const ::String _hx_array_data_f7b98003_6[] = {
- HX_("\"???\"",45,2f,74,bd),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_9c6ac6b04494726e_158_classString,"haxe.format.JsonPrinter","classString",0x9219ba3e,"haxe.format.JsonPrinter.classString","/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",158,0xce74b8b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9c6ac6b04494726e_165_fieldsString,"haxe.format.JsonPrinter","fieldsString",0x974bd375,"haxe.format.JsonPrinter.fieldsString","/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",165,0xce74b8b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9c6ac6b04494726e_196_quote,"haxe.format.JsonPrinter","quote",0x02f6a091,"haxe.format.JsonPrinter.quote","/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",196,0xce74b8b8)
-static const ::String _hx_array_data_f7b98003_12[] = {
- HX_("\\b",86,50,00,00),
-};
-static const ::String _hx_array_data_f7b98003_13[] = {
- HX_("\\t",98,50,00,00),
-};
-static const ::String _hx_array_data_f7b98003_14[] = {
- HX_("\\n",92,50,00,00),
-};
-static const ::String _hx_array_data_f7b98003_15[] = {
- HX_("\\f",8a,50,00,00),
-};
-static const ::String _hx_array_data_f7b98003_16[] = {
- HX_("\\r",96,50,00,00),
-};
-static const ::String _hx_array_data_f7b98003_17[] = {
- HX_("\\\"",46,50,00,00),
-};
-static const ::String _hx_array_data_f7b98003_18[] = {
- HX_("\\\\",80,50,00,00),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_9c6ac6b04494726e_44_print,"haxe.format.JsonPrinter","print",0x6d8fd582,"haxe.format.JsonPrinter.print","/usr/local/lib/haxe/std/haxe/format/JsonPrinter.hx",44,0xce74b8b8)
-namespace haxe{
-namespace format{
-
-void JsonPrinter_obj::__construct( ::Dynamic replacer,::String space){
- HX_GC_STACKFRAME(&_hx_pos_9c6ac6b04494726e_56_new)
-HXLINE( 57) this->replacer = replacer;
-HXLINE( 58) this->indent = space;
-HXLINE( 59) this->pretty = ::hx::IsNotNull( space );
-HXLINE( 60) this->nind = 0;
-HXLINE( 67) this->buf = ::StringBuf_obj::__alloc( HX_CTX );
- }
-
-Dynamic JsonPrinter_obj::__CreateEmpty() { return new JsonPrinter_obj; }
-
-void *JsonPrinter_obj::_hx_vtable = 0;
-
-Dynamic JsonPrinter_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< JsonPrinter_obj > _hx_result = new JsonPrinter_obj();
- _hx_result->__construct(inArgs[0],inArgs[1]);
- return _hx_result;
-}
-
-bool JsonPrinter_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x385642d1;
-}
-
-void JsonPrinter_obj::write( ::Dynamic k, ::Dynamic v){
- HX_STACKFRAME(&_hx_pos_9c6ac6b04494726e_81_write)
-HXLINE( 82) if (::hx::IsNotNull( this->replacer )) {
-HXLINE( 83) v = this->replacer(k,v);
- }
-HXLINE( 84) {
-HXLINE( 84) ::ValueType _g = ::Type_obj::_hx_typeof(v);
-HXDLIN( 84) switch((int)(_g->_hx_getIndex())){
- case (int)0: {
-HXLINE( 136) ::StringBuf _this = this->buf;
-HXDLIN( 136) if (::hx::IsNotNull( _this->charBuf )) {
-HXLINE( 136) _this->flush();
- }
-HXDLIN( 136) if (::hx::IsNull( _this->b )) {
-HXLINE( 136) _this->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_4,1);
- }
- else {
-HXLINE( 136) _this->b->push(HX_("null",87,9e,0e,49));
- }
- }
- break;
- case (int)1: {
-HXLINE( 90) ::String v1 = ( (::String)(v) );
-HXDLIN( 90) {
-HXLINE( 90) ::StringBuf _this1 = this->buf;
-HXDLIN( 90) if (::hx::IsNotNull( _this1->charBuf )) {
-HXLINE( 90) _this1->flush();
- }
-HXDLIN( 90) if (::hx::IsNull( _this1->b )) {
-HXLINE( 90) _this1->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v1));
- }
- else {
-HXLINE( 90) ::Array< ::String > _this2 = _this1->b;
-HXDLIN( 90) _this2->push(::Std_obj::string(v1));
- }
- }
- }
- break;
- case (int)2: {
-HXLINE( 92) ::String v2;
-HXDLIN( 92) if (::Math_obj::isFinite(( (Float)(v) ))) {
-HXLINE( 92) v2 = ::Std_obj::string(v);
- }
- else {
-HXLINE( 92) v2 = HX_("null",87,9e,0e,49);
- }
-HXDLIN( 92) {
-HXLINE( 92) ::StringBuf _this3 = this->buf;
-HXDLIN( 92) if (::hx::IsNotNull( _this3->charBuf )) {
-HXLINE( 92) _this3->flush();
- }
-HXDLIN( 92) if (::hx::IsNull( _this3->b )) {
-HXLINE( 92) _this3->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v2));
- }
- else {
-HXLINE( 92) ::Array< ::String > _this4 = _this3->b;
-HXDLIN( 92) _this4->push(::Std_obj::string(v2));
- }
- }
- }
- break;
- case (int)3: {
-HXLINE( 134) ::String v3 = ( (::String)(v) );
-HXDLIN( 134) {
-HXLINE( 134) ::StringBuf _this5 = this->buf;
-HXDLIN( 134) if (::hx::IsNotNull( _this5->charBuf )) {
-HXLINE( 134) _this5->flush();
- }
-HXDLIN( 134) if (::hx::IsNull( _this5->b )) {
-HXLINE( 134) _this5->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v3));
- }
- else {
-HXLINE( 134) ::Array< ::String > _this6 = _this5->b;
-HXDLIN( 134) _this6->push(::Std_obj::string(v3));
- }
- }
- }
- break;
- case (int)4: {
-HXLINE( 88) this->fieldsString(v,::Reflect_obj::fields(v));
- }
- break;
- case (int)5: {
-HXLINE( 94) ::StringBuf _this7 = this->buf;
-HXDLIN( 94) if (::hx::IsNotNull( _this7->charBuf )) {
-HXLINE( 94) _this7->flush();
- }
-HXDLIN( 94) if (::hx::IsNull( _this7->b )) {
-HXLINE( 94) _this7->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_5,1);
- }
- else {
-HXLINE( 94) _this7->b->push(HX_("\"<fun>\"",09,3c,cc,8b));
- }
- }
- break;
- case (int)6: {
-HXLINE( 95) ::hx::Class c = _g->_hx_getObject(0).StaticCast< ::hx::Class >();
-HXLINE( 96) if (::hx::IsPointerEq( c,::hx::ClassOf< ::String >() )) {
-HXLINE( 97) this->quote(( (::String)(v) ));
- }
- else {
-HXLINE( 98) if (::hx::IsPointerEq( c,::hx::ArrayBase::__mClass )) {
-HXLINE( 99) ::cpp::VirtualArray v4 = ( (::cpp::VirtualArray)(v) );
-HXLINE( 100) {
-HXLINE( 100) ::StringBuf _this8 = this->buf;
-HXDLIN( 100) {
-HXLINE( 100) if (::hx::IsNull( _this8->charBuf )) {
-HXLINE( 100) _this8->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 100) _this8->charBuf->push(91);
- }
- }
-HXLINE( 102) int len = v4->get_length();
-HXLINE( 103) int last = (len - 1);
-HXLINE( 104) {
-HXLINE( 104) int _g1 = 0;
-HXDLIN( 104) int _g2 = len;
-HXDLIN( 104) while((_g1 < _g2)){
-HXLINE( 104) _g1 = (_g1 + 1);
-HXDLIN( 104) int i = (_g1 - 1);
-HXLINE( 105) if ((i > 0)) {
-HXLINE( 106) ::StringBuf _this9 = this->buf;
-HXDLIN( 106) {
-HXLINE( 106) if (::hx::IsNull( _this9->charBuf )) {
-HXLINE( 106) _this9->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 106) _this9->charBuf->push(44);
- }
- }
- else {
-HXLINE( 108) this->nind++;
- }
-HXLINE( 109) if (this->pretty) {
-HXLINE( 109) ::StringBuf _this10 = this->buf;
-HXDLIN( 109) {
-HXLINE( 109) if (::hx::IsNull( _this10->charBuf )) {
-HXLINE( 109) _this10->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 109) _this10->charBuf->push(10);
- }
- }
-HXLINE( 110) if (this->pretty) {
-HXLINE( 110) ::String v5 = ::StringTools_obj::lpad(HX_("",00,00,00,00),this->indent,(this->nind * this->indent.length));
-HXDLIN( 110) {
-HXLINE( 110) ::StringBuf _this11 = this->buf;
-HXDLIN( 110) if (::hx::IsNotNull( _this11->charBuf )) {
-HXLINE( 110) _this11->flush();
- }
-HXDLIN( 110) if (::hx::IsNull( _this11->b )) {
-HXLINE( 110) _this11->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v5));
- }
- else {
-HXLINE( 110) ::Array< ::String > _this12 = _this11->b;
-HXDLIN( 110) _this12->push(::Std_obj::string(v5));
- }
- }
- }
-HXLINE( 111) this->write(i,v4->__get(i));
-HXLINE( 112) if ((i == last)) {
-HXLINE( 113) this->nind--;
-HXLINE( 114) if (this->pretty) {
-HXLINE( 114) ::StringBuf _this13 = this->buf;
-HXDLIN( 114) {
-HXLINE( 114) if (::hx::IsNull( _this13->charBuf )) {
-HXLINE( 114) _this13->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 114) _this13->charBuf->push(10);
- }
- }
-HXLINE( 115) if (this->pretty) {
-HXLINE( 115) ::String v6 = ::StringTools_obj::lpad(HX_("",00,00,00,00),this->indent,(this->nind * this->indent.length));
-HXDLIN( 115) {
-HXLINE( 115) ::StringBuf _this14 = this->buf;
-HXDLIN( 115) if (::hx::IsNotNull( _this14->charBuf )) {
-HXLINE( 115) _this14->flush();
- }
-HXDLIN( 115) if (::hx::IsNull( _this14->b )) {
-HXLINE( 115) _this14->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v6));
- }
- else {
-HXLINE( 115) ::Array< ::String > _this15 = _this14->b;
-HXDLIN( 115) _this15->push(::Std_obj::string(v6));
- }
- }
- }
- }
- }
- }
-HXLINE( 118) {
-HXLINE( 118) ::StringBuf _this16 = this->buf;
-HXDLIN( 118) {
-HXLINE( 118) if (::hx::IsNull( _this16->charBuf )) {
-HXLINE( 118) _this16->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 118) _this16->charBuf->push(93);
- }
- }
- }
- else {
-HXLINE( 119) if (::hx::IsPointerEq( c,::hx::ClassOf< ::haxe::ds::StringMap >() )) {
-HXLINE( 120) ::haxe::ds::StringMap v7 = ( ( ::haxe::ds::StringMap)(v) );
-HXLINE( 121) ::Dynamic o = ::Dynamic(::hx::Anon_obj::Create(0));
-HXLINE( 122) {
-HXLINE( 122) ::Dynamic k1 = v7->keys();
-HXDLIN( 122) while(( (bool)(k1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 122) ::String k2 = ( (::String)(k1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXLINE( 123) ::Reflect_obj::setField(o,k2,v7->get(k2));
- }
- }
-HXLINE( 124) {
-HXLINE( 124) ::Dynamic v8 = o;
-HXDLIN( 124) this->fieldsString(v8,::Reflect_obj::fields(v8));
- }
- }
- else {
-HXLINE( 125) if (::hx::IsPointerEq( c,::hx::ClassOf< ::Date >() )) {
-HXLINE( 126) ::Date v9 = ( ( ::Date)(v) );
-HXLINE( 127) this->quote(v9->toString());
- }
- else {
-HXLINE( 129) this->classString(v);
- }
- }
- }
- }
- }
- break;
- case (int)7: {
-HXLINE( 130) ::hx::Class _g3 = _g->_hx_getObject(0).StaticCast< ::hx::Class >();
-HXDLIN( 130) {
-HXLINE( 131) int i1 = _hx_getEnumValueIndex(v);
-HXLINE( 132) {
-HXLINE( 132) ::String v10 = ::Std_obj::string(i1);
-HXDLIN( 132) {
-HXLINE( 132) ::StringBuf _this17 = this->buf;
-HXDLIN( 132) if (::hx::IsNotNull( _this17->charBuf )) {
-HXLINE( 132) _this17->flush();
- }
-HXDLIN( 132) if (::hx::IsNull( _this17->b )) {
-HXLINE( 132) _this17->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v10));
- }
- else {
-HXLINE( 132) ::Array< ::String > _this18 = _this17->b;
-HXDLIN( 132) _this18->push(::Std_obj::string(v10));
- }
- }
- }
- }
- }
- break;
- case (int)8: {
-HXLINE( 86) ::StringBuf _this19 = this->buf;
-HXDLIN( 86) if (::hx::IsNotNull( _this19->charBuf )) {
-HXLINE( 86) _this19->flush();
- }
-HXDLIN( 86) if (::hx::IsNull( _this19->b )) {
-HXLINE( 86) _this19->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_6,1);
- }
- else {
-HXLINE( 86) _this19->b->push(HX_("\"???\"",45,2f,74,bd));
- }
- }
- break;
- }
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(JsonPrinter_obj,write,(void))
-
-void JsonPrinter_obj::classString( ::Dynamic v){
- HX_STACKFRAME(&_hx_pos_9c6ac6b04494726e_158_classString)
-HXDLIN( 158) this->fieldsString(v,::Type_obj::getInstanceFields(::Type_obj::getClass(v)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(JsonPrinter_obj,classString,(void))
-
-void JsonPrinter_obj::fieldsString( ::Dynamic v,::Array< ::String > fields){
- HX_STACKFRAME(&_hx_pos_9c6ac6b04494726e_165_fieldsString)
-HXLINE( 166) {
-HXLINE( 166) ::StringBuf _this = this->buf;
-HXDLIN( 166) {
-HXLINE( 166) if (::hx::IsNull( _this->charBuf )) {
-HXLINE( 166) _this->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 166) _this->charBuf->push(123);
- }
- }
-HXLINE( 167) int len = fields->length;
-HXLINE( 168) int last = (len - 1);
-HXLINE( 169) bool first = true;
-HXLINE( 170) {
-HXLINE( 170) int _g = 0;
-HXDLIN( 170) int _g1 = len;
-HXDLIN( 170) while((_g < _g1)){
-HXLINE( 170) _g = (_g + 1);
-HXDLIN( 170) int i = (_g - 1);
-HXLINE( 171) ::String f = fields->__get(i);
-HXLINE( 172) ::Dynamic value = ::Reflect_obj::field(v,f);
-HXLINE( 173) if (::Reflect_obj::isFunction(value)) {
-HXLINE( 174) continue;
- }
-HXLINE( 175) if (first) {
-HXLINE( 176) this->nind++;
-HXLINE( 177) first = false;
- }
- else {
-HXLINE( 179) ::StringBuf _this1 = this->buf;
-HXDLIN( 179) {
-HXLINE( 179) if (::hx::IsNull( _this1->charBuf )) {
-HXLINE( 179) _this1->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 179) _this1->charBuf->push(44);
- }
- }
-HXLINE( 180) if (this->pretty) {
-HXLINE( 180) ::StringBuf _this2 = this->buf;
-HXDLIN( 180) {
-HXLINE( 180) if (::hx::IsNull( _this2->charBuf )) {
-HXLINE( 180) _this2->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 180) _this2->charBuf->push(10);
- }
- }
-HXLINE( 181) if (this->pretty) {
-HXLINE( 181) ::String v1 = ::StringTools_obj::lpad(HX_("",00,00,00,00),this->indent,(this->nind * this->indent.length));
-HXDLIN( 181) {
-HXLINE( 181) ::StringBuf _this3 = this->buf;
-HXDLIN( 181) if (::hx::IsNotNull( _this3->charBuf )) {
-HXLINE( 181) _this3->flush();
- }
-HXDLIN( 181) if (::hx::IsNull( _this3->b )) {
-HXLINE( 181) _this3->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v1));
- }
- else {
-HXLINE( 181) ::Array< ::String > _this4 = _this3->b;
-HXDLIN( 181) _this4->push(::Std_obj::string(v1));
- }
- }
- }
-HXLINE( 182) this->quote(f);
-HXLINE( 183) {
-HXLINE( 183) ::StringBuf _this5 = this->buf;
-HXDLIN( 183) {
-HXLINE( 183) if (::hx::IsNull( _this5->charBuf )) {
-HXLINE( 183) _this5->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 183) _this5->charBuf->push(58);
- }
- }
-HXLINE( 184) if (this->pretty) {
-HXLINE( 185) ::StringBuf _this6 = this->buf;
-HXDLIN( 185) {
-HXLINE( 185) if (::hx::IsNull( _this6->charBuf )) {
-HXLINE( 185) _this6->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 185) _this6->charBuf->push(32);
- }
- }
-HXLINE( 186) this->write(f,value);
-HXLINE( 187) if ((i == last)) {
-HXLINE( 188) this->nind--;
-HXLINE( 189) if (this->pretty) {
-HXLINE( 189) ::StringBuf _this7 = this->buf;
-HXDLIN( 189) {
-HXLINE( 189) if (::hx::IsNull( _this7->charBuf )) {
-HXLINE( 189) _this7->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 189) _this7->charBuf->push(10);
- }
- }
-HXLINE( 190) if (this->pretty) {
-HXLINE( 190) ::String v2 = ::StringTools_obj::lpad(HX_("",00,00,00,00),this->indent,(this->nind * this->indent.length));
-HXDLIN( 190) {
-HXLINE( 190) ::StringBuf _this8 = this->buf;
-HXDLIN( 190) if (::hx::IsNotNull( _this8->charBuf )) {
-HXLINE( 190) _this8->flush();
- }
-HXDLIN( 190) if (::hx::IsNull( _this8->b )) {
-HXLINE( 190) _this8->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(v2));
- }
- else {
-HXLINE( 190) ::Array< ::String > _this9 = _this8->b;
-HXDLIN( 190) _this9->push(::Std_obj::string(v2));
- }
- }
- }
- }
- }
- }
-HXLINE( 193) {
-HXLINE( 193) ::StringBuf _this10 = this->buf;
-HXDLIN( 193) {
-HXLINE( 193) if (::hx::IsNull( _this10->charBuf )) {
-HXLINE( 193) _this10->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 193) _this10->charBuf->push(125);
- }
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(JsonPrinter_obj,fieldsString,(void))
-
-void JsonPrinter_obj::quote(::String s){
- HX_STACKFRAME(&_hx_pos_9c6ac6b04494726e_196_quote)
-HXLINE( 203) {
-HXLINE( 203) ::StringBuf _this = this->buf;
-HXDLIN( 203) {
-HXLINE( 203) if (::hx::IsNull( _this->charBuf )) {
-HXLINE( 203) _this->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 203) _this->charBuf->push(34);
- }
- }
-HXLINE( 204) int i = 0;
-HXLINE( 205) int length = s.length;
-HXLINE( 209) while((i < length)){
-HXLINE( 210) i = (i + 1);
-HXDLIN( 210) int c = s.cca((i - 1));
-HXLINE( 211) switch((int)(c)){
- case (int)8: {
-HXLINE( 223) ::StringBuf _this1 = this->buf;
-HXDLIN( 223) if (::hx::IsNotNull( _this1->charBuf )) {
-HXLINE( 223) _this1->flush();
- }
-HXDLIN( 223) if (::hx::IsNull( _this1->b )) {
-HXLINE( 223) _this1->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_12,1);
- }
- else {
-HXLINE( 223) _this1->b->push(HX_("\\b",86,50,00,00));
- }
- }
- break;
- case (int)9: {
-HXLINE( 221) ::StringBuf _this2 = this->buf;
-HXDLIN( 221) if (::hx::IsNotNull( _this2->charBuf )) {
-HXLINE( 221) _this2->flush();
- }
-HXDLIN( 221) if (::hx::IsNull( _this2->b )) {
-HXLINE( 221) _this2->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_13,1);
- }
- else {
-HXLINE( 221) _this2->b->push(HX_("\\t",98,50,00,00));
- }
- }
- break;
- case (int)10: {
-HXLINE( 217) ::StringBuf _this3 = this->buf;
-HXDLIN( 217) if (::hx::IsNotNull( _this3->charBuf )) {
-HXLINE( 217) _this3->flush();
- }
-HXDLIN( 217) if (::hx::IsNull( _this3->b )) {
-HXLINE( 217) _this3->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_14,1);
- }
- else {
-HXLINE( 217) _this3->b->push(HX_("\\n",92,50,00,00));
- }
- }
- break;
- case (int)12: {
-HXLINE( 225) ::StringBuf _this4 = this->buf;
-HXDLIN( 225) if (::hx::IsNotNull( _this4->charBuf )) {
-HXLINE( 225) _this4->flush();
- }
-HXDLIN( 225) if (::hx::IsNull( _this4->b )) {
-HXLINE( 225) _this4->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_15,1);
- }
- else {
-HXLINE( 225) _this4->b->push(HX_("\\f",8a,50,00,00));
- }
- }
- break;
- case (int)13: {
-HXLINE( 219) ::StringBuf _this5 = this->buf;
-HXDLIN( 219) if (::hx::IsNotNull( _this5->charBuf )) {
-HXLINE( 219) _this5->flush();
- }
-HXDLIN( 219) if (::hx::IsNull( _this5->b )) {
-HXLINE( 219) _this5->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_16,1);
- }
- else {
-HXLINE( 219) _this5->b->push(HX_("\\r",96,50,00,00));
- }
- }
- break;
- case (int)34: {
-HXLINE( 213) ::StringBuf _this6 = this->buf;
-HXDLIN( 213) if (::hx::IsNotNull( _this6->charBuf )) {
-HXLINE( 213) _this6->flush();
- }
-HXDLIN( 213) if (::hx::IsNull( _this6->b )) {
-HXLINE( 213) _this6->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_17,1);
- }
- else {
-HXLINE( 213) _this6->b->push(HX_("\\\"",46,50,00,00));
- }
- }
- break;
- case (int)92: {
-HXLINE( 215) ::StringBuf _this7 = this->buf;
-HXDLIN( 215) if (::hx::IsNotNull( _this7->charBuf )) {
-HXLINE( 215) _this7->flush();
- }
-HXDLIN( 215) if (::hx::IsNull( _this7->b )) {
-HXLINE( 215) _this7->b = ::Array_obj< ::String >::fromData( _hx_array_data_f7b98003_18,1);
- }
- else {
-HXLINE( 215) _this7->b->push(HX_("\\\\",80,50,00,00));
- }
- }
- break;
- default:{
-HXLINE( 248) ::StringBuf _this8 = this->buf;
-HXDLIN( 248) if ((c >= 127)) {
-HXLINE( 248) ::String x = ::String::fromCharCode(c);
-HXDLIN( 248) if (::hx::IsNotNull( _this8->charBuf )) {
-HXLINE( 248) _this8->flush();
- }
-HXDLIN( 248) if (::hx::IsNull( _this8->b )) {
-HXLINE( 248) _this8->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x));
- }
- else {
-HXLINE( 248) ::Array< ::String > _this9 = _this8->b;
-HXDLIN( 248) _this9->push(::Std_obj::string(x));
- }
- }
- else {
-HXLINE( 248) if (::hx::IsNull( _this8->charBuf )) {
-HXLINE( 248) _this8->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 248) _this8->charBuf->push(c);
- }
- }
- }
- }
-HXLINE( 256) {
-HXLINE( 256) ::StringBuf _this10 = this->buf;
-HXDLIN( 256) {
-HXLINE( 256) if (::hx::IsNull( _this10->charBuf )) {
-HXLINE( 256) _this10->charBuf = ::Array_obj< char >::__new();
- }
-HXDLIN( 256) _this10->charBuf->push(34);
- }
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(JsonPrinter_obj,quote,(void))
-
-::String JsonPrinter_obj::print( ::Dynamic o, ::Dynamic replacer,::String space){
- HX_GC_STACKFRAME(&_hx_pos_9c6ac6b04494726e_44_print)
-HXLINE( 45) ::haxe::format::JsonPrinter printer = ::haxe::format::JsonPrinter_obj::__alloc( HX_CTX ,replacer,space);
-HXLINE( 46) printer->write(HX_("",00,00,00,00),o);
-HXLINE( 47) return printer->buf->toString();
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC3(JsonPrinter_obj,print,return )
-
-
-::hx::ObjectPtr< JsonPrinter_obj > JsonPrinter_obj::__new( ::Dynamic replacer,::String space) {
- ::hx::ObjectPtr< JsonPrinter_obj > __this = new JsonPrinter_obj();
- __this->__construct(replacer,space);
- return __this;
-}
-
-::hx::ObjectPtr< JsonPrinter_obj > JsonPrinter_obj::__alloc(::hx::Ctx *_hx_ctx, ::Dynamic replacer,::String space) {
- JsonPrinter_obj *__this = (JsonPrinter_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(JsonPrinter_obj), true, "haxe.format.JsonPrinter"));
- *(void **)__this = JsonPrinter_obj::_hx_vtable;
- __this->__construct(replacer,space);
- return __this;
-}
-
-JsonPrinter_obj::JsonPrinter_obj()
-{
-}
-
-void JsonPrinter_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(JsonPrinter);
- HX_MARK_MEMBER_NAME(buf,"buf");
- HX_MARK_MEMBER_NAME(replacer,"replacer");
- HX_MARK_MEMBER_NAME(indent,"indent");
- HX_MARK_MEMBER_NAME(pretty,"pretty");
- HX_MARK_MEMBER_NAME(nind,"nind");
- HX_MARK_END_CLASS();
-}
-
-void JsonPrinter_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(buf,"buf");
- HX_VISIT_MEMBER_NAME(replacer,"replacer");
- HX_VISIT_MEMBER_NAME(indent,"indent");
- HX_VISIT_MEMBER_NAME(pretty,"pretty");
- HX_VISIT_MEMBER_NAME(nind,"nind");
-}
-
-::hx::Val JsonPrinter_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"buf") ) { return ::hx::Val( buf ); }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"nind") ) { return ::hx::Val( nind ); }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"write") ) { return ::hx::Val( write_dyn() ); }
- if (HX_FIELD_EQ(inName,"quote") ) { return ::hx::Val( quote_dyn() ); }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"indent") ) { return ::hx::Val( indent ); }
- if (HX_FIELD_EQ(inName,"pretty") ) { return ::hx::Val( pretty ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"replacer") ) { return ::hx::Val( replacer ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"classString") ) { return ::hx::Val( classString_dyn() ); }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"fieldsString") ) { return ::hx::Val( fieldsString_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-bool JsonPrinter_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 5:
- if (HX_FIELD_EQ(inName,"print") ) { outValue = print_dyn(); return true; }
- }
- return false;
-}
-
-::hx::Val JsonPrinter_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"buf") ) { buf=inValue.Cast< ::StringBuf >(); return inValue; }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"nind") ) { nind=inValue.Cast< int >(); return inValue; }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"indent") ) { indent=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"pretty") ) { pretty=inValue.Cast< bool >(); return inValue; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"replacer") ) { replacer=inValue.Cast< ::Dynamic >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void JsonPrinter_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("buf",33,c3,4a,00));
- outFields->push(HX_("indent",6c,0c,f3,93));
- outFields->push(HX_("pretty",b6,82,c1,ae));
- outFields->push(HX_("nind",31,85,05,49));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo JsonPrinter_obj_sMemberStorageInfo[] = {
- {::hx::fsObject /* ::StringBuf */ ,(int)offsetof(JsonPrinter_obj,buf),HX_("buf",33,c3,4a,00)},
- {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(JsonPrinter_obj,replacer),HX_("replacer",be,e5,16,18)},
- {::hx::fsString,(int)offsetof(JsonPrinter_obj,indent),HX_("indent",6c,0c,f3,93)},
- {::hx::fsBool,(int)offsetof(JsonPrinter_obj,pretty),HX_("pretty",b6,82,c1,ae)},
- {::hx::fsInt,(int)offsetof(JsonPrinter_obj,nind),HX_("nind",31,85,05,49)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *JsonPrinter_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String JsonPrinter_obj_sMemberFields[] = {
- HX_("buf",33,c3,4a,00),
- HX_("replacer",be,e5,16,18),
- HX_("indent",6c,0c,f3,93),
- HX_("pretty",b6,82,c1,ae),
- HX_("nind",31,85,05,49),
- HX_("write",df,6c,59,d0),
- HX_("classString",29,0f,79,88),
- HX_("fieldsString",2a,cc,56,34),
- HX_("quote",3c,23,f2,5d),
- ::String(null()) };
-
-::hx::Class JsonPrinter_obj::__mClass;
-
-static ::String JsonPrinter_obj_sStaticFields[] = {
- HX_("print",2d,58,8b,c8),
- ::String(null())
-};
-
-void JsonPrinter_obj::__register()
-{
- JsonPrinter_obj _hx_dummy;
- JsonPrinter_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("haxe.format.JsonPrinter",03,80,b9,f7);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &JsonPrinter_obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(JsonPrinter_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(JsonPrinter_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< JsonPrinter_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = JsonPrinter_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = JsonPrinter_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace haxe
-} // end namespace format
diff --git a/Sources/c_snikket/src/haxe/xml/XmlParserException.cpp b/Sources/c_snikket/src/haxe/xml/XmlParserException.cpp
deleted file mode 100644
index d304181..0000000
--- a/Sources/c_snikket/src/haxe/xml/XmlParserException.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_Type
-#include <Type.h>
-#endif
-#ifndef INCLUDED_haxe_xml_XmlParserException
-#include <haxe/xml/XmlParserException.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_6a0d351bb43bf432_75_new,"haxe.xml.XmlParserException","new",0xcd6fdfea,"haxe.xml.XmlParserException.new","/usr/local/lib/haxe/std/haxe/xml/Parser.hx",75,0x9bd139bb)
-HX_LOCAL_STACK_FRAME(_hx_pos_6a0d351bb43bf432_95_toString,"haxe.xml.XmlParserException","toString",0xed7c2ce2,"haxe.xml.XmlParserException.toString","/usr/local/lib/haxe/std/haxe/xml/Parser.hx",95,0x9bd139bb)
-namespace haxe{
-namespace xml{
-
-void XmlParserException_obj::__construct(::String message,::String xml,int position){
- HX_STACKFRAME(&_hx_pos_6a0d351bb43bf432_75_new)
-HXLINE( 76) this->xml = xml;
-HXLINE( 77) this->message = message;
-HXLINE( 78) this->position = position;
-HXLINE( 79) this->lineNumber = 1;
-HXLINE( 80) this->positionAtLine = 0;
-HXLINE( 82) {
-HXLINE( 82) int _g = 0;
-HXDLIN( 82) int _g1 = position;
-HXDLIN( 82) while((_g < _g1)){
-HXLINE( 82) _g = (_g + 1);
-HXDLIN( 82) int i = (_g - 1);
-HXLINE( 83) int c = xml.cca(i);
-HXLINE( 84) if ((c == 10)) {
-HXLINE( 85) this->lineNumber++;
-HXLINE( 86) this->positionAtLine = 0;
- }
- else {
-HXLINE( 88) if ((c != 13)) {
-HXLINE( 89) this->positionAtLine++;
- }
- }
- }
- }
- }
-
-Dynamic XmlParserException_obj::__CreateEmpty() { return new XmlParserException_obj; }
-
-void *XmlParserException_obj::_hx_vtable = 0;
-
-Dynamic XmlParserException_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< XmlParserException_obj > _hx_result = new XmlParserException_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2]);
- return _hx_result;
-}
-
-bool XmlParserException_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x75f2332a;
-}
-
-::String XmlParserException_obj::toString(){
- HX_STACKFRAME(&_hx_pos_6a0d351bb43bf432_95_toString)
-HXDLIN( 95) ::String _hx_tmp = (::Type_obj::getClassName(::Type_obj::getClass(::hx::ObjectPtr<OBJ_>(this))) + HX_(": ",a6,32,00,00));
-HXDLIN( 95) return (((((_hx_tmp + this->message) + HX_(" at line ",df,96,71,22)) + this->lineNumber) + HX_(" char ",6a,28,1f,11)) + this->positionAtLine);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(XmlParserException_obj,toString,return )
-
-
-::hx::ObjectPtr< XmlParserException_obj > XmlParserException_obj::__new(::String message,::String xml,int position) {
- ::hx::ObjectPtr< XmlParserException_obj > __this = new XmlParserException_obj();
- __this->__construct(message,xml,position);
- return __this;
-}
-
-::hx::ObjectPtr< XmlParserException_obj > XmlParserException_obj::__alloc(::hx::Ctx *_hx_ctx,::String message,::String xml,int position) {
- XmlParserException_obj *__this = (XmlParserException_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(XmlParserException_obj), true, "haxe.xml.XmlParserException"));
- *(void **)__this = XmlParserException_obj::_hx_vtable;
- __this->__construct(message,xml,position);
- return __this;
-}
-
-XmlParserException_obj::XmlParserException_obj()
-{
-}
-
-void XmlParserException_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(XmlParserException);
- HX_MARK_MEMBER_NAME(message,"message");
- HX_MARK_MEMBER_NAME(lineNumber,"lineNumber");
- HX_MARK_MEMBER_NAME(positionAtLine,"positionAtLine");
- HX_MARK_MEMBER_NAME(position,"position");
- HX_MARK_MEMBER_NAME(xml,"xml");
- HX_MARK_END_CLASS();
-}
-
-void XmlParserException_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(message,"message");
- HX_VISIT_MEMBER_NAME(lineNumber,"lineNumber");
- HX_VISIT_MEMBER_NAME(positionAtLine,"positionAtLine");
- HX_VISIT_MEMBER_NAME(position,"position");
- HX_VISIT_MEMBER_NAME(xml,"xml");
-}
-
-::hx::Val XmlParserException_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"xml") ) { return ::hx::Val( xml ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"message") ) { return ::hx::Val( message ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"position") ) { return ::hx::Val( position ); }
- if (HX_FIELD_EQ(inName,"toString") ) { return ::hx::Val( toString_dyn() ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"lineNumber") ) { return ::hx::Val( lineNumber ); }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"positionAtLine") ) { return ::hx::Val( positionAtLine ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-::hx::Val XmlParserException_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"xml") ) { xml=inValue.Cast< ::String >(); return inValue; }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"message") ) { message=inValue.Cast< ::String >(); return inValue; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"position") ) { position=inValue.Cast< int >(); return inValue; }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"lineNumber") ) { lineNumber=inValue.Cast< int >(); return inValue; }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"positionAtLine") ) { positionAtLine=inValue.Cast< int >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void XmlParserException_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("message",c7,35,11,9a));
- outFields->push(HX_("lineNumber",dd,81,22,76));
- outFields->push(HX_("positionAtLine",10,08,98,1a));
- outFields->push(HX_("position",a9,a0,fa,ca));
- outFields->push(HX_("xml",d7,6d,5b,00));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo XmlParserException_obj_sMemberStorageInfo[] = {
- {::hx::fsString,(int)offsetof(XmlParserException_obj,message),HX_("message",c7,35,11,9a)},
- {::hx::fsInt,(int)offsetof(XmlParserException_obj,lineNumber),HX_("lineNumber",dd,81,22,76)},
- {::hx::fsInt,(int)offsetof(XmlParserException_obj,positionAtLine),HX_("positionAtLine",10,08,98,1a)},
- {::hx::fsInt,(int)offsetof(XmlParserException_obj,position),HX_("position",a9,a0,fa,ca)},
- {::hx::fsString,(int)offsetof(XmlParserException_obj,xml),HX_("xml",d7,6d,5b,00)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *XmlParserException_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String XmlParserException_obj_sMemberFields[] = {
- HX_("message",c7,35,11,9a),
- HX_("lineNumber",dd,81,22,76),
- HX_("positionAtLine",10,08,98,1a),
- HX_("position",a9,a0,fa,ca),
- HX_("xml",d7,6d,5b,00),
- HX_("toString",ac,d0,6e,38),
- ::String(null()) };
-
-::hx::Class XmlParserException_obj::__mClass;
-
-void XmlParserException_obj::__register()
-{
- XmlParserException_obj _hx_dummy;
- XmlParserException_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("haxe.xml.XmlParserException",f8,62,fb,04);
- __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(XmlParserException_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< XmlParserException_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = XmlParserException_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = XmlParserException_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace haxe
-} // end namespace xml
diff --git a/Sources/c_snikket/src/snikket/Caps.cpp b/Sources/c_snikket/src/snikket/Caps.cpp
deleted file mode 100644
index abb29ae..0000000
--- a/Sources/c_snikket/src/snikket/Caps.cpp
+++ /dev/null
@@ -1,449 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_Lambda
-#include <Lambda.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_snikket_Caps
-#include <snikket/Caps.h>
-#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
-#endif
-#ifndef INCLUDED_snikket_Identity
-#include <snikket/Identity.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_a541ea7d0210a2a3_11_new,"snikket.Caps","new",0xb2cdb3c4,"snikket.Caps.new","snikket/Caps.hx",11,0xee3b624b)
-HX_LOCAL_STACK_FRAME(_hx_pos_a541ea7d0210a2a3_57_isChannel,"snikket.Caps","isChannel",0xeab9045d,"snikket.Caps.isChannel","snikket/Caps.hx",57,0xee3b624b)
-HX_LOCAL_STACK_FRAME(_hx_pos_a541ea7d0210a2a3_59_isChannel,"snikket.Caps","isChannel",0xeab9045d,"snikket.Caps.isChannel","snikket/Caps.hx",59,0xee3b624b)
-HX_LOCAL_STACK_FRAME(_hx_pos_a541ea7d0210a2a3_62_discoReply,"snikket.Caps","discoReply",0xd5aeac6c,"snikket.Caps.discoReply","snikket/Caps.hx",62,0xee3b624b)
-HX_LOCAL_STACK_FRAME(_hx_pos_a541ea7d0210a2a3_73_addC,"snikket.Caps","addC",0xb896ff1e,"snikket.Caps.addC","snikket/Caps.hx",73,0xee3b624b)
-HX_LOCAL_STACK_FRAME(_hx_pos_a541ea7d0210a2a3_84_computeVer,"snikket.Caps","computeVer",0xc6252848,"snikket.Caps.computeVer","snikket/Caps.hx",84,0xee3b624b)
-HX_LOCAL_STACK_FRAME(_hx_pos_a541ea7d0210a2a3_85_computeVer,"snikket.Caps","computeVer",0xc6252848,"snikket.Caps.computeVer","snikket/Caps.hx",85,0xee3b624b)
-HX_LOCAL_STACK_FRAME(_hx_pos_a541ea7d0210a2a3_83_computeVer,"snikket.Caps","computeVer",0xc6252848,"snikket.Caps.computeVer","snikket/Caps.hx",83,0xee3b624b)
-HX_LOCAL_STACK_FRAME(_hx_pos_a541ea7d0210a2a3_96_verRaw,"snikket.Caps","verRaw",0x4ddd5e61,"snikket.Caps.verRaw","snikket/Caps.hx",96,0xee3b624b)
-HX_LOCAL_STACK_FRAME(_hx_pos_a541ea7d0210a2a3_102_ver,"snikket.Caps","ver",0xb2d3c5c7,"snikket.Caps.ver","snikket/Caps.hx",102,0xee3b624b)
-HX_LOCAL_STACK_FRAME(_hx_pos_a541ea7d0210a2a3_19_withIdentity,"snikket.Caps","withIdentity",0xadb07d80,"snikket.Caps.withIdentity","snikket/Caps.hx",19,0xee3b624b)
-HX_LOCAL_STACK_FRAME(_hx_pos_a541ea7d0210a2a3_34_withFeature,"snikket.Caps","withFeature",0x4980f8b4,"snikket.Caps.withFeature","snikket/Caps.hx",34,0xee3b624b)
-namespace snikket{
-
-void Caps_obj::__construct(::String node,::Array< ::Dynamic> identities,::Array< ::String > features,::Array< unsigned char > ver){
- HX_GC_STACKFRAME(&_hx_pos_a541ea7d0210a2a3_11_new)
-HXLINE( 15) this->_ver = null();
-HXLINE( 49) this->node = node;
-HXLINE( 50) this->identities = identities;
-HXLINE( 51) this->features = features;
-HXLINE( 52) if (::hx::IsNotNull( ver )) {
-HXLINE( 53) this->_ver = ::snikket::Hash_obj::__alloc( HX_CTX ,HX_("sha-1",90,a8,1c,7c),ver);
- }
- }
-
-Dynamic Caps_obj::__CreateEmpty() { return new Caps_obj; }
-
-void *Caps_obj::_hx_vtable = 0;
-
-Dynamic Caps_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Caps_obj > _hx_result = new Caps_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3]);
- return _hx_result;
-}
-
-bool Caps_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x02663c7e;
-}
-
-bool Caps_obj::isChannel(::String chatId){
- HX_STACKFRAME(&_hx_pos_a541ea7d0210a2a3_57_isChannel)
-HXLINE( 58) if ((chatId.indexOf(HX_("@",40,00,00,00),null()) < 0)) {
-HXLINE( 58) return false;
- }
-HXLINE( 59) 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( ::snikket::Identity identity){
- HX_STACKFRAME(&_hx_pos_a541ea7d0210a2a3_59_isChannel)
-HXLINE( 59) return (identity->category == HX_("conference",1c,2b,83,41));
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 59) return ::hx::IsNotNull( ::Lambda_obj::find(this->identities, ::Dynamic(new _hx_Closure_0())) );
- }
- else {
-HXLINE( 59) return false;
- }
-HXDLIN( 59) return false;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Caps_obj,isChannel,return )
-
- ::snikket::Stanza Caps_obj::discoReply(){
- HX_GC_STACKFRAME(&_hx_pos_a541ea7d0210a2a3_62_discoReply)
-HXLINE( 63) ::snikket::Stanza query = ::snikket::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( 64) {
-HXLINE( 64) int _g = 0;
-HXDLIN( 64) ::Array< ::Dynamic> _g1 = this->identities;
-HXDLIN( 64) while((_g < _g1->length)){
-HXLINE( 64) ::snikket::Identity identity = _g1->__get(_g).StaticCast< ::snikket::Identity >();
-HXDLIN( 64) _g = (_g + 1);
-HXLINE( 65) identity->addToDisco(query);
- }
- }
-HXLINE( 67) {
-HXLINE( 67) int _g2 = 0;
-HXDLIN( 67) ::Array< ::String > _g3 = this->features;
-HXDLIN( 67) while((_g2 < _g3->length)){
-HXLINE( 67) ::String feature = _g3->__get(_g2);
-HXDLIN( 67) _g2 = (_g2 + 1);
-HXLINE( 68) 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( 70) return query;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Caps_obj,discoReply,return )
-
- ::snikket::Stanza Caps_obj::addC( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_a541ea7d0210a2a3_73_addC)
-HXLINE( 77) ::String _hx_tmp = this->node;
-HXLINE( 74) 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( 80) return stanza;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Caps_obj,addC,return )
-
- ::snikket::Hash Caps_obj::computeVer(){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
- int _hx_run(::String x,::String y){
- HX_STACKFRAME(&_hx_pos_a541ea7d0210a2a3_84_computeVer)
-HXLINE( 84) if ((x == y)) {
-HXLINE( 84) return 0;
- }
- else {
-HXLINE( 84) if ((x < y)) {
-HXLINE( 84) return -1;
- }
- else {
-HXLINE( 84) return 1;
- }
- }
-HXDLIN( 84) return 0;
- }
- HX_END_LOCAL_FUNC2(return)
-
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(2)
- int _hx_run( ::snikket::Identity x, ::snikket::Identity y){
- HX_STACKFRAME(&_hx_pos_a541ea7d0210a2a3_85_computeVer)
-HXLINE( 85) ::String _hx_tmp = x->ver();
-HXDLIN( 85) if ((_hx_tmp == y->ver())) {
-HXLINE( 85) return 0;
- }
- else {
-HXLINE( 85) ::String _hx_tmp1 = x->ver();
-HXDLIN( 85) if ((_hx_tmp1 < y->ver())) {
-HXLINE( 85) return -1;
- }
- else {
-HXLINE( 85) return 1;
- }
- }
-HXDLIN( 85) return 0;
- }
- HX_END_LOCAL_FUNC2(return)
-
- HX_STACKFRAME(&_hx_pos_a541ea7d0210a2a3_83_computeVer)
-HXLINE( 84) this->features->sort( ::Dynamic(new _hx_Closure_0()));
-HXLINE( 85) this->identities->sort( ::Dynamic(new _hx_Closure_1()));
-HXLINE( 86) ::String s = HX_("",00,00,00,00);
-HXLINE( 87) {
-HXLINE( 87) int _g = 0;
-HXDLIN( 87) ::Array< ::Dynamic> _g1 = this->identities;
-HXDLIN( 87) while((_g < _g1->length)){
-HXLINE( 87) ::snikket::Identity identity = _g1->__get(_g).StaticCast< ::snikket::Identity >();
-HXDLIN( 87) _g = (_g + 1);
-HXLINE( 88) s = (s + (identity->ver() + HX_("<",3c,00,00,00)));
- }
- }
-HXLINE( 90) {
-HXLINE( 90) int _g2 = 0;
-HXDLIN( 90) ::Array< ::String > _g3 = this->features;
-HXDLIN( 90) while((_g2 < _g3->length)){
-HXLINE( 90) ::String feature = _g3->__get(_g2);
-HXDLIN( 90) _g2 = (_g2 + 1);
-HXLINE( 91) s = (s + (feature + HX_("<",3c,00,00,00)));
- }
- }
-HXLINE( 93) return ::snikket::Hash_obj::sha1(::haxe::io::Bytes_obj::ofString(s,null()));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Caps_obj,computeVer,return )
-
- ::snikket::Hash Caps_obj::verRaw(){
- HX_STACKFRAME(&_hx_pos_a541ea7d0210a2a3_96_verRaw)
-HXLINE( 97) if (::hx::IsNull( this->_ver )) {
-HXLINE( 97) this->_ver = this->computeVer();
- }
-HXLINE( 98) return this->_ver;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Caps_obj,verRaw,return )
-
-::String Caps_obj::ver(){
- HX_STACKFRAME(&_hx_pos_a541ea7d0210a2a3_102_ver)
-HXDLIN( 102) return this->verRaw()->toBase64();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Caps_obj,ver,return )
-
-::Array< ::String > Caps_obj::withIdentity( ::Dynamic caps,::String category,::String type){
- HX_STACKFRAME(&_hx_pos_a541ea7d0210a2a3_19_withIdentity)
-HXLINE( 20) ::Array< ::String > result = ::Array_obj< ::String >::__new(0);
-HXLINE( 21) {
-HXLINE( 21) ::Dynamic cap = caps;
-HXDLIN( 21) while(( (bool)(cap->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 21) ::Dynamic cap1 = cap->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 22) if (::hx::IsNotNull( cap1->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic) )) {
-HXLINE( 23) int _g = 0;
-HXDLIN( 23) ::Array< ::Dynamic> _g1 = ( ( ::snikket::Caps)(cap1->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) )->identities;
-HXDLIN( 23) while((_g < _g1->length)){
-HXLINE( 23) ::snikket::Identity identity = _g1->__get(_g).StaticCast< ::snikket::Identity >();
-HXDLIN( 23) _g = (_g + 1);
-HXLINE( 24) bool _hx_tmp;
-HXDLIN( 24) bool _hx_tmp1;
-HXDLIN( 24) if (::hx::IsNotNull( category )) {
-HXLINE( 24) _hx_tmp1 = (category == identity->category);
- }
- else {
-HXLINE( 24) _hx_tmp1 = true;
- }
-HXDLIN( 24) if (_hx_tmp1) {
-HXLINE( 24) if (::hx::IsNotNull( type )) {
-HXLINE( 24) _hx_tmp = (type == identity->type);
- }
- else {
-HXLINE( 24) _hx_tmp = true;
- }
- }
- else {
-HXLINE( 24) _hx_tmp = false;
- }
-HXDLIN( 24) if (_hx_tmp) {
-HXLINE( 25) result->push( ::Dynamic(cap1->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)));
- }
- }
- }
- }
- }
-HXLINE( 30) return result;
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC3(Caps_obj,withIdentity,return )
-
-::Array< ::String > Caps_obj::withFeature( ::Dynamic caps,::String feature){
- HX_STACKFRAME(&_hx_pos_a541ea7d0210a2a3_34_withFeature)
-HXLINE( 35) ::Array< ::String > result = ::Array_obj< ::String >::__new(0);
-HXLINE( 36) {
-HXLINE( 36) ::Dynamic cap = caps;
-HXDLIN( 36) while(( (bool)(cap->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 36) ::Dynamic cap1 = cap->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 37) if (::hx::IsNotNull( cap1->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic) )) {
-HXLINE( 38) int _g = 0;
-HXDLIN( 38) ::Array< ::String > _g1 = ( ( ::snikket::Caps)(cap1->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) )->features;
-HXDLIN( 38) while((_g < _g1->length)){
-HXLINE( 38) ::String feat = _g1->__get(_g);
-HXDLIN( 38) _g = (_g + 1);
-HXLINE( 39) if ((feature == feat)) {
-HXLINE( 40) result->push( ::Dynamic(cap1->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)));
- }
- }
- }
- }
- }
-HXLINE( 45) return result;
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC2(Caps_obj,withFeature,return )
-
-
-::hx::ObjectPtr< Caps_obj > Caps_obj::__new(::String node,::Array< ::Dynamic> identities,::Array< ::String > features,::Array< unsigned char > ver) {
- ::hx::ObjectPtr< Caps_obj > __this = new Caps_obj();
- __this->__construct(node,identities,features,ver);
- return __this;
-}
-
-::hx::ObjectPtr< Caps_obj > Caps_obj::__alloc(::hx::Ctx *_hx_ctx,::String node,::Array< ::Dynamic> identities,::Array< ::String > features,::Array< unsigned char > ver) {
- Caps_obj *__this = (Caps_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Caps_obj), true, "snikket.Caps"));
- *(void **)__this = Caps_obj::_hx_vtable;
- __this->__construct(node,identities,features,ver);
- return __this;
-}
-
-Caps_obj::Caps_obj()
-{
-}
-
-void Caps_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(Caps);
- HX_MARK_MEMBER_NAME(node,"node");
- HX_MARK_MEMBER_NAME(identities,"identities");
- HX_MARK_MEMBER_NAME(features,"features");
- HX_MARK_MEMBER_NAME(_ver,"_ver");
- HX_MARK_END_CLASS();
-}
-
-void Caps_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(node,"node");
- HX_VISIT_MEMBER_NAME(identities,"identities");
- HX_VISIT_MEMBER_NAME(features,"features");
- HX_VISIT_MEMBER_NAME(_ver,"_ver");
-}
-
-::hx::Val Caps_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"ver") ) { return ::hx::Val( ver_dyn() ); }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"node") ) { return ::hx::Val( node ); }
- if (HX_FIELD_EQ(inName,"_ver") ) { return ::hx::Val( _ver ); }
- if (HX_FIELD_EQ(inName,"addC") ) { return ::hx::Val( addC_dyn() ); }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"verRaw") ) { return ::hx::Val( verRaw_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"features") ) { return ::hx::Val( features ); }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"isChannel") ) { return ::hx::Val( isChannel_dyn() ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"identities") ) { return ::hx::Val( identities ); }
- if (HX_FIELD_EQ(inName,"discoReply") ) { return ::hx::Val( discoReply_dyn() ); }
- if (HX_FIELD_EQ(inName,"computeVer") ) { return ::hx::Val( computeVer_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-bool Caps_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 11:
- if (HX_FIELD_EQ(inName,"withFeature") ) { outValue = withFeature_dyn(); return true; }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"withIdentity") ) { outValue = withIdentity_dyn(); return true; }
- }
- return false;
-}
-
-::hx::Val Caps_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 4:
- if (HX_FIELD_EQ(inName,"node") ) { node=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"_ver") ) { _ver=inValue.Cast< ::snikket::Hash >(); return inValue; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"features") ) { features=inValue.Cast< ::Array< ::String > >(); return inValue; }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"identities") ) { identities=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void Caps_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("node",02,0a,0a,49));
- outFields->push(HX_("identities",1c,c5,6d,d7));
- outFields->push(HX_("features",fd,6c,d7,12));
- outFields->push(HX_("_ver",64,27,25,3f));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo Caps_obj_sMemberStorageInfo[] = {
- {::hx::fsString,(int)offsetof(Caps_obj,node),HX_("node",02,0a,0a,49)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(Caps_obj,identities),HX_("identities",1c,c5,6d,d7)},
- {::hx::fsObject /* ::Array< ::String > */ ,(int)offsetof(Caps_obj,features),HX_("features",fd,6c,d7,12)},
- {::hx::fsObject /* ::snikket::Hash */ ,(int)offsetof(Caps_obj,_ver),HX_("_ver",64,27,25,3f)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *Caps_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String Caps_obj_sMemberFields[] = {
- HX_("node",02,0a,0a,49),
- HX_("identities",1c,c5,6d,d7),
- HX_("features",fd,6c,d7,12),
- HX_("_ver",64,27,25,3f),
- HX_("isChannel",f9,7d,d0,d0),
- HX_("discoReply",50,9b,21,44),
- HX_("addC",02,eb,69,40),
- HX_("computeVer",2c,17,98,34),
- HX_("verRaw",45,0b,2e,a1),
- HX_("ver",63,e2,59,00),
- ::String(null()) };
-
-::hx::Class Caps_obj::__mClass;
-
-static ::String Caps_obj_sStaticFields[] = {
- HX_("withIdentity",64,ed,e7,d1),
- HX_("withFeature",50,11,9f,7f),
- ::String(null())
-};
-
-void Caps_obj::__register()
-{
- Caps_obj _hx_dummy;
- Caps_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Caps",d2,c1,77,4c);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &Caps_obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(Caps_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(Caps_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< Caps_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Caps_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Caps_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/Channel.cpp b/Sources/c_snikket/src/snikket/Channel.cpp
deleted file mode 100644
index 938f930..0000000
--- a/Sources/c_snikket/src/snikket/Channel.cpp
+++ /dev/null
@@ -1,1797 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_Date
-#include <Date.h>
-#endif
-#ifndef INCLUDED_Lambda
-#include <Lambda.h>
-#endif
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
-#ifndef INCLUDED_Std
-#include <Std.h>
-#endif
-#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
-#ifndef INCLUDED_haxe_ds_StringMap
-#include <haxe/ds/StringMap.h>
-#endif
-#ifndef INCLUDED_snikket_Caps
-#include <snikket/Caps.h>
-#endif
-#ifndef INCLUDED_snikket_Channel
-#include <snikket/Channel.h>
-#endif
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#include <snikket/ChatMessageBuilder.h>
-#endif
-#ifndef INCLUDED_snikket_Client
-#include <snikket/Client.h>
-#endif
-#ifndef INCLUDED_snikket_Color
-#include <snikket/Color.h>
-#endif
-#ifndef INCLUDED_snikket_CustomEmojiReaction
-#include <snikket/CustomEmojiReaction.h>
-#endif
-#ifndef INCLUDED_snikket_Date
-#include <snikket/Date.h>
-#endif
-#ifndef INCLUDED_snikket_DirectChat
-#include <snikket/DirectChat.h>
-#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
-#endif
-#ifndef INCLUDED_snikket_GenericStream
-#include <snikket/GenericStream.h>
-#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
-#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
-#endif
-#ifndef INCLUDED_snikket_Identity
-#include <snikket/Identity.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Message
-#include <snikket/Message.h>
-#endif
-#ifndef INCLUDED_snikket_MessageStanza
-#include <snikket/MessageStanza.h>
-#endif
-#ifndef INCLUDED_snikket_MessageSync
-#include <snikket/MessageSync.h>
-#endif
-#ifndef INCLUDED_snikket_ModerationAction
-#include <snikket/ModerationAction.h>
-#endif
-#ifndef INCLUDED_snikket_Participant
-#include <snikket/Participant.h>
-#endif
-#ifndef INCLUDED_snikket_Persistence
-#include <snikket/Persistence.h>
-#endif
-#ifndef INCLUDED_snikket_Presence
-#include <snikket/Presence.h>
-#endif
-#ifndef INCLUDED_snikket_Reaction
-#include <snikket/Reaction.h>
-#endif
-#ifndef INCLUDED_snikket_ReactionUpdate
-#include <snikket/ReactionUpdate.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket_queries_DiscoInfoGet
-#include <snikket/queries/DiscoInfoGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.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_5e4df8d46126c981_990_new,"snikket.Channel","new",0x8a02a1a4,"snikket.Channel.new","snikket/Chat.hx",990,0x18616bf4)
-static const ::String _hx_array_data_db683fb2_1[] = {
- HX_("http://jabber.org/protocol/muc",07,b2,7f,c6),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1033_selfPing,"snikket.Channel","selfPing",0x9e7c785a,"snikket.Channel.selfPing","snikket/Chat.hx",1033,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1023_selfPing,"snikket.Channel","selfPing",0x9e7c785a,"snikket.Channel.selfPing","snikket/Chat.hx",1023,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1011_selfPing,"snikket.Channel","selfPing",0x9e7c785a,"snikket.Channel.selfPing","snikket/Chat.hx",1011,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1015_selfPing,"snikket.Channel","selfPing",0x9e7c785a,"snikket.Channel.selfPing","snikket/Chat.hx",1015,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1057_join,"snikket.Channel","join",0x35ad7e26,"snikket.Channel.join","snikket/Chat.hx",1057,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1049_join,"snikket.Channel","join",0x35ad7e26,"snikket.Channel.join","snikket/Chat.hx",1049,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1068_selfPingSuccess,"snikket.Channel","selfPingSuccess",0xafddf489,"snikket.Channel.selfPingSuccess","snikket/Chat.hx",1068,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1082_getCaps,"snikket.Channel","getCaps",0xf3678f1b,"snikket.Channel.getCaps","snikket/Chat.hx",1082,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1084_getCaps,"snikket.Channel","getCaps",0xf3678f1b,"snikket.Channel.getCaps","snikket/Chat.hx",1084,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1081_getCaps,"snikket.Channel","getCaps",0xf3678f1b,"snikket.Channel.getCaps","snikket/Chat.hx",1081,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1089_setPresence,"snikket.Channel","setPresence",0x9dbfd141,"snikket.Channel.setPresence","snikket/Chat.hx",1089,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1090_setPresence,"snikket.Channel","setPresence",0x9dbfd141,"snikket.Channel.setPresence","snikket/Chat.hx",1090,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1098_setPresence,"snikket.Channel","setPresence",0x9dbfd141,"snikket.Channel.setPresence","snikket/Chat.hx",1098,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1105_setPresence,"snikket.Channel","setPresence",0x9dbfd141,"snikket.Channel.setPresence","snikket/Chat.hx",1105,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1128_doSync,"snikket.Channel","doSync",0xa5ffb0c2,"snikket.Channel.doSync","snikket/Chat.hx",1128,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1157_doSync,"snikket.Channel","doSync",0xa5ffb0c2,"snikket.Channel.doSync","snikket/Chat.hx",1157,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1159_doSync,"snikket.Channel","doSync",0xa5ffb0c2,"snikket.Channel.doSync","snikket/Chat.hx",1159,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1188_doSync,"snikket.Channel","doSync",0xa5ffb0c2,"snikket.Channel.doSync","snikket/Chat.hx",1188,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1134_doSync,"snikket.Channel","doSync",0xa5ffb0c2,"snikket.Channel.doSync","snikket/Chat.hx",1134,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1150_doSync,"snikket.Channel","doSync",0xa5ffb0c2,"snikket.Channel.doSync","snikket/Chat.hx",1150,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1146_doSync,"snikket.Channel","doSync",0xa5ffb0c2,"snikket.Channel.doSync","snikket/Chat.hx",1146,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1198_doSync,"snikket.Channel","doSync",0xa5ffb0c2,"snikket.Channel.doSync","snikket/Chat.hx",1198,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1111_doSync,"snikket.Channel","doSync",0xa5ffb0c2,"snikket.Channel.doSync","snikket/Chat.hx",1111,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1211_isTrusted,"snikket.Channel","isTrusted",0x2c7a5171,"snikket.Channel.isTrusted","snikket/Chat.hx",1211,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1215_isPrivate,"snikket.Channel","isPrivate",0x9f42c67d,"snikket.Channel.isPrivate","snikket/Chat.hx",1215,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1221_refreshDisco,"snikket.Channel","refreshDisco",0x9d89e5db,"snikket.Channel.refreshDisco","snikket/Chat.hx",1221,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1219_refreshDisco,"snikket.Channel","refreshDisco",0x9d89e5db,"snikket.Channel.refreshDisco","snikket/Chat.hx",1219,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1234_preview,"snikket.Channel","preview",0x1b05a34c,"snikket.Channel.preview","snikket/Chat.hx",1234,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1241_livePresence,"snikket.Channel","livePresence",0x644ddf83,"snikket.Channel.livePresence","snikket/Chat.hx",1241,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1248_syncing,"snikket.Channel","syncing",0x8651c0ab,"snikket.Channel.syncing","snikket/Chat.hx",1248,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1252_canAudioCall,"snikket.Channel","canAudioCall",0x94c730a0,"snikket.Channel.canAudioCall","snikket/Chat.hx",1252,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1256_canVideoCall,"snikket.Channel","canVideoCall",0x9aca02c5,"snikket.Channel.canVideoCall","snikket/Chat.hx",1256,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1260_nickInUse,"snikket.Channel","nickInUse",0x59744703,"snikket.Channel.nickInUse","snikket/Chat.hx",1260,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1264_getFullJid,"snikket.Channel","getFullJid",0xa835e1bc,"snikket.Channel.getFullJid","snikket/Chat.hx",1264,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1270_getParticipants,"snikket.Channel","getParticipants",0x390cb25a,"snikket.Channel.getParticipants","snikket/Chat.hx",1270,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1268_getParticipants,"snikket.Channel","getParticipants",0x390cb25a,"snikket.Channel.getParticipants","snikket/Chat.hx",1268,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1275_getParticipantDetails,"snikket.Channel","getParticipantDetails",0xdfad9dc9,"snikket.Channel.getParticipantDetails","snikket/Chat.hx",1275,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1288_getMessagesBefore,"snikket.Channel","getMessagesBefore",0xefb5f1e5,"snikket.Channel.getMessagesBefore","snikket/Chat.hx",1288,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1294_getMessagesBefore,"snikket.Channel","getMessagesBefore",0xefb5f1e5,"snikket.Channel.getMessagesBefore","snikket/Chat.hx",1294,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1286_getMessagesBefore,"snikket.Channel","getMessagesBefore",0xefb5f1e5,"snikket.Channel.getMessagesBefore","snikket/Chat.hx",1286,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1311_getMessagesAfter,"snikket.Channel","getMessagesAfter",0x103df776,"snikket.Channel.getMessagesAfter","snikket/Chat.hx",1311,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1317_getMessagesAfter,"snikket.Channel","getMessagesAfter",0x103df776,"snikket.Channel.getMessagesAfter","snikket/Chat.hx",1317,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1305_getMessagesAfter,"snikket.Channel","getMessagesAfter",0x103df776,"snikket.Channel.getMessagesAfter","snikket/Chat.hx",1305,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1330_getMessagesAround,"snikket.Channel","getMessagesAround",0x0b8795b3,"snikket.Channel.getMessagesAround","snikket/Chat.hx",1330,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1329_getMessagesAround,"snikket.Channel","getMessagesAround",0x0b8795b3,"snikket.Channel.getMessagesAround","snikket/Chat.hx",1329,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1340_prepareIncomingMessage,"snikket.Channel","prepareIncomingMessage",0x3bfa74f6,"snikket.Channel.prepareIncomingMessage","snikket/Chat.hx",1340,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1351_prepareOutgoingMessage,"snikket.Channel","prepareOutgoingMessage",0xa2273a30,"snikket.Channel.prepareOutgoingMessage","snikket/Chat.hx",1351,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1369_correctMessage,"snikket.Channel","correctMessage",0x4d2d23b9,"snikket.Channel.correctMessage","snikket/Chat.hx",1369,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1364_correctMessage,"snikket.Channel","correctMessage",0x4d2d23b9,"snikket.Channel.correctMessage","snikket/Chat.hx",1364,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1382_sendMessage,"snikket.Channel","sendMessage",0x2aa53ea3,"snikket.Channel.sendMessage","snikket/Chat.hx",1382,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1398_sendMessage,"snikket.Channel","sendMessage",0x2aa53ea3,"snikket.Channel.sendMessage","snikket/Chat.hx",1398,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1405_sendMessage,"snikket.Channel","sendMessage",0x2aa53ea3,"snikket.Channel.sendMessage","snikket/Chat.hx",1405,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1436_removeReaction,"snikket.Channel","removeReaction",0x19751149,"snikket.Channel.removeReaction","snikket/Chat.hx",1436,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1416_removeReaction,"snikket.Channel","removeReaction",0x19751149,"snikket.Channel.removeReaction","snikket/Chat.hx",1416,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1431_removeReaction,"snikket.Channel","removeReaction",0x19751149,"snikket.Channel.removeReaction","snikket/Chat.hx",1431,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1446_lastMessageId,"snikket.Channel","lastMessageId",0xa72b1e90,"snikket.Channel.lastMessageId","snikket/Chat.hx",1446,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1451_markReadUpTo,"snikket.Channel","markReadUpTo",0x9e644e95,"snikket.Channel.markReadUpTo","snikket/Chat.hx",1451,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1450_markReadUpTo,"snikket.Channel","markReadUpTo",0x9e644e95,"snikket.Channel.markReadUpTo","snikket/Chat.hx",1450,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1486_bookmark,"snikket.Channel","bookmark",0x9931a4f2,"snikket.Channel.bookmark","snikket/Chat.hx",1486,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1504_bookmark,"snikket.Channel","bookmark",0x9931a4f2,"snikket.Channel.bookmark","snikket/Chat.hx",1504,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1465_bookmark,"snikket.Channel","bookmark",0x9931a4f2,"snikket.Channel.bookmark","snikket/Chat.hx",1465,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1515_sendChatState,"snikket.Channel","sendChatState",0xee67aff5,"snikket.Channel.sendChatState","snikket/Chat.hx",1515,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_1531_close,"snikket.Channel","close",0xb85bc1fc,"snikket.Channel.close","snikket/Chat.hx",1531,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_5e4df8d46126c981_990_boot,"snikket.Channel","boot",0x3063ce6e,"snikket.Channel.boot","snikket/Chat.hx",990,0x18616bf4)
-namespace snikket{
-
-void Channel_obj::__construct( ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy, ::snikket::Caps disco){
- int uiState = __o_uiState.Default(1);
- bool isBlocked = __o_isBlocked.Default(false);
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_990_new)
-HXLINE( 996) this->_nickInUse = null();
-HXLINE( 995) this->forceLive = false;
-HXLINE( 994) this->sync = null();
-HXLINE( 993) this->inSync = true;
-HXLINE( 992) this->disco = ::snikket::Caps_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::fromData( _hx_array_data_db683fb2_1,1),null());
-HXLINE(1000) super::__construct(client,stream,persistence,chatId,uiState,isBlocked,extensions,readUpToId,readUpToBy);
-HXLINE(1001) if (::hx::IsNotNull( disco )) {
-HXLINE(1002) this->disco = disco;
-HXLINE(1003) if (!(disco->features->contains(HX_("http://jabber.org/protocol/muc",07,b2,7f,c6)))) {
-HXLINE(1005) this->forceLive = true;
- }
- }
- }
-
-Dynamic Channel_obj::__CreateEmpty() { return new Channel_obj; }
-
-void *Channel_obj::_hx_vtable = 0;
-
-Dynamic Channel_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Channel_obj > _hx_result = new Channel_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4],inArgs[5],inArgs[6],inArgs[7],inArgs[8],inArgs[9]);
- return _hx_result;
-}
-
-bool Channel_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x026b7f35) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x026b7f35;
- } else {
- return inClassId==(int)0x23f2b886;
- }
-}
-
-void Channel_obj::selfPing(bool refresh){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::snikket::Channel,_gthis) HXARGC(0)
- void _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::snikket::Channel,_gthis) HXARGC(1)
- void _hx_run( ::snikket::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1033_selfPing)
-HXLINE(1033) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE(1034) ::snikket::Stanza tmp = response->getChild(HX_("error",c8,cb,29,73),null());
-HXDLIN(1034) ::snikket::Stanza err;
-HXDLIN(1034) if (::hx::IsNotNull( tmp )) {
-HXLINE(1034) err = tmp->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
- }
- else {
-HXLINE(1034) err = null();
- }
-HXLINE(1035) bool _hx_tmp;
-HXDLIN(1035) if ((err->name != HX_("service-unavailable",f8,3c,11,1c))) {
-HXLINE(1035) _hx_tmp = (err->name == HX_("feature-not-implemented",71,20,2e,96));
- }
- else {
-HXLINE(1035) _hx_tmp = true;
- }
-HXDLIN(1035) if (_hx_tmp) {
-HXLINE(1035) _gthis->selfPingSuccess();
-HXDLIN(1035) return;
- }
-HXLINE(1036) bool _hx_tmp1;
-HXDLIN(1036) if ((err->name != HX_("remote-server-not-found",e5,4f,ca,aa))) {
-HXLINE(1036) _hx_tmp1 = (err->name == HX_("remote-server-timeout",fe,b0,ee,1a));
- }
- else {
-HXLINE(1036) _hx_tmp1 = true;
- }
-HXDLIN(1036) if (_hx_tmp1) {
-HXLINE(1036) _gthis->selfPingSuccess();
-HXDLIN(1036) return;
- }
-HXLINE(1037) if ((err->name == HX_("item-not-found",4e,b5,9b,5b))) {
-HXLINE(1037) _gthis->selfPingSuccess();
-HXDLIN(1037) return;
- }
-HXLINE(1038) ::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_("snikket.Channel",b2,3f,68,db))
- ->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_("snikket/Chat.hx",f4,6b,61,18))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),1038)));
-HXLINE(1039) _gthis->join();
- }
- else {
-HXLINE(1041) _gthis->selfPingSuccess();
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1023_selfPing)
-HXLINE(1024) if (!(_gthis->disco->features->contains(HX_("http://jabber.org/protocol/muc",07,b2,7f,c6)))) {
-HXLINE(1026) _gthis->forceLive = true;
-HXLINE(1027) return;
- }
-HXLINE(1029) ::snikket::GenericStream _gthis1 = _gthis->stream;
-HXLINE(1030) ::String _hx_tmp = _gthis->getFullJid()->asString();
-HXLINE(1029) _gthis1->sendIq( ::snikket::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)));
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1011_selfPing)
-HXDLIN(1011) ::snikket::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1012) if ((this->uiState == 2)) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- ::snikket::Stanza _hx_run( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1015_selfPing)
-HXLINE(1016) ::Reflect_obj::setField(stanza->attr,HX_("type",ba,f2,08,4d),HX_("unavailable",50,e0,29,fd));
-HXLINE(1017) return stanza;
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE(1013) ::snikket::Client _hx_tmp = this->client;
-HXDLIN(1013) _hx_tmp->sendPresence(this->getFullJid()->asString(), ::Dynamic(new _hx_Closure_0()));
-HXLINE(1020) return;
- }
-HXLINE(1023) ::Dynamic _hx_tmp1;
-HXDLIN(1023) if (refresh) {
-HXLINE(1023) _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_5e4df8d46126c981_1023_selfPing)
-HXLINE(1023) cb();
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE(1023) _hx_tmp1 = ::Dynamic(new _hx_Closure_1());
- }
-HXDLIN(1023) _hx_tmp1( ::Dynamic(new _hx_Closure_3(_gthis)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Channel_obj,selfPing,(void))
-
-void Channel_obj::join(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::Channel,_gthis) HXARGC(1)
- ::snikket::Stanza _hx_run( ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1057_join)
-HXLINE(1058) 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))));
-HXLINE(1059) if (_gthis->disco->features->contains(HX_("urn:xmpp:mam:2",f5,ef,8c,da))) {
-HXLINE(1059) 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(1061) stanza->up();
-HXLINE(1062) return stanza;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1049_join)
-HXDLIN(1049) ::snikket::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1050) this->presence = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1051) this->_nickInUse = null();
-HXLINE(1052) this->inSync = false;
-HXLINE(1053) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE(1054) ::snikket::JID desiredFullJid = ::snikket::JID_obj::parse(this->chatId);
-HXDLIN(1054) ::snikket::JID desiredFullJid1 = desiredFullJid->withResource(this->client->displayName());
-HXLINE(1055) ::snikket::Client _hx_tmp = this->client;
-HXDLIN(1055) _hx_tmp->sendPresence(desiredFullJid1->asString(), ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE(1065) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN(1065) ::String _hx_tmp2 = this->client->accountId();
-HXDLIN(1065) ::snikket::Persistence_obj::lastId(_hx_tmp1,_hx_tmp2,this->chatId,this->doSync_dyn());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,join,(void))
-
-void Channel_obj::selfPingSuccess(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1068_selfPingSuccess)
-HXLINE(1069) ::String _hx_tmp = this->nickInUse();
-HXDLIN(1069) if ((_hx_tmp != this->client->displayName())) {
-HXLINE(1070) ::snikket::JID desiredFullJid = ::snikket::JID_obj::parse(this->chatId);
-HXDLIN(1070) ::snikket::JID desiredFullJid1 = desiredFullJid->withResource(this->client->displayName());
-HXLINE(1071) ::snikket::Client _hx_tmp1 = this->client;
-HXDLIN(1071) _hx_tmp1->sendPresence(desiredFullJid1->asString(),null());
- }
-HXLINE(1075) this->inSync = false;
-HXLINE(1076) ::Dynamic _hx_tmp2 = this->persistence;
-HXDLIN(1076) ::String _hx_tmp3 = this->client->accountId();
-HXDLIN(1076) ::snikket::Persistence_obj::lastId(_hx_tmp2,_hx_tmp3,this->chatId,this->doSync_dyn());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,selfPingSuccess,(void))
-
- ::Dynamic Channel_obj::getCaps(){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(0)
- bool _hx_run(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1082_getCaps)
-HXLINE(1082) return false;
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(0)
- ::Dynamic _hx_run(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1084_getCaps)
-HXLINE(1084) return ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("key",9f,89,51,00),HX_("",00,00,00,00))
- ->setFixed(1,HX_("value",71,7f,b8,31),null()));
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1081_getCaps)
-HXDLIN(1081) return ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("hasNext",6d,a5,46,18), ::Dynamic(new _hx_Closure_0()))
- ->setFixed(1,HX_("next",f3,84,02,49), ::Dynamic(new _hx_Closure_1())));
- }
-
-
-void Channel_obj::setPresence(::String resource, ::snikket::Presence presence){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1089_setPresence)
-HXLINE(1090) ::snikket::Stanza tmp;
-HXDLIN(1090) if (::hx::IsNotNull( presence )) {
-HXLINE(1090) tmp = presence->mucUser;
- }
- else {
-HXLINE(1090) tmp = null();
- }
-HXDLIN(1090) ::snikket::Stanza oneTen;
-HXDLIN(1090) if (::hx::IsNotNull( tmp )) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run( ::snikket::Stanza status){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1090_setPresence)
-HXLINE(1090) return (( (::String)(::Reflect_obj::field(status->attr,HX_("code",2d,b1,c4,41))) ) == HX_("110",50,59,25,00));
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE(1090) oneTen = ( ( ::snikket::Stanza)(::Lambda_obj::find(tmp->allTags(HX_("status",32,e7,fb,05),null()), ::Dynamic(new _hx_Closure_0()))) );
- }
- else {
-HXLINE(1090) oneTen = null();
- }
-HXLINE(1091) if (::hx::IsNotNull( oneTen )) {
-HXLINE(1092) this->_nickInUse = resource;
- }
- else {
-HXLINE(1093) if ((resource == this->_nickInUse)) {
-HXLINE(1094) this->_nickInUse = null();
- }
- }
-HXLINE(1096) bool _hx_tmp;
-HXDLIN(1096) bool _hx_tmp1;
-HXDLIN(1096) if (::hx::IsNotNull( presence )) {
-HXLINE(1096) _hx_tmp1 = ::hx::IsNotNull( presence->mucUser );
- }
- else {
-HXLINE(1096) _hx_tmp1 = false;
- }
-HXDLIN(1096) if (_hx_tmp1) {
-HXLINE(1096) _hx_tmp = ::hx::IsNull( oneTen );
- }
- else {
-HXLINE(1096) _hx_tmp = false;
- }
-HXDLIN(1096) if (_hx_tmp) {
-HXLINE(1097) ::snikket::Presence existing = ( ( ::snikket::Presence)(this->presence->get(resource)) );
-HXLINE(1098) bool _hx_tmp2;
-HXDLIN(1098) if (::hx::IsNotNull( existing )) {
-HXLINE(1098) ::snikket::Stanza tmp1;
-HXDLIN(1098) if (::hx::IsNotNull( existing )) {
-HXLINE(1098) tmp1 = existing->mucUser;
- }
- else {
-HXLINE(1098) tmp1 = null();
- }
-HXDLIN(1098) ::snikket::Stanza _hx_tmp3;
-HXDLIN(1098) if (::hx::IsNotNull( tmp1 )) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
- bool _hx_run( ::snikket::Stanza status){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1098_setPresence)
-HXLINE(1098) return (( (::String)(::Reflect_obj::field(status->attr,HX_("code",2d,b1,c4,41))) ) == HX_("110",50,59,25,00));
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE(1098) _hx_tmp3 = ( ( ::snikket::Stanza)(::Lambda_obj::find(tmp1->allTags(HX_("status",32,e7,fb,05),null()), ::Dynamic(new _hx_Closure_1()))) );
- }
- else {
-HXLINE(1098) _hx_tmp3 = null();
- }
-HXDLIN(1098) _hx_tmp2 = ::hx::IsNotNull( _hx_tmp3 );
- }
- else {
-HXLINE(1098) _hx_tmp2 = false;
- }
-HXDLIN(1098) if (_hx_tmp2) {
-HXLINE(1099) presence->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))));
-HXLINE(1100) this->setPresence(resource,presence);
-HXLINE(1101) return;
- }
- }
-HXLINE(1104) this->super::setPresence(resource,presence);
-HXLINE(1105) ::snikket::Stanza tmp2;
-HXDLIN(1105) if (::hx::IsNotNull( presence )) {
-HXLINE(1105) tmp2 = presence->mucUser;
- }
- else {
-HXLINE(1105) tmp2 = null();
- }
-HXDLIN(1105) ::snikket::Stanza tripleThree;
-HXDLIN(1105) if (::hx::IsNotNull( tmp2 )) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
- bool _hx_run( ::snikket::Stanza status){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1105_setPresence)
-HXLINE(1105) return (( (::String)(::Reflect_obj::field(status->attr,HX_("code",2d,b1,c4,41))) ) == HX_("333",93,df,26,00));
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE(1105) tripleThree = ( ( ::snikket::Stanza)(::Lambda_obj::find(tmp2->allTags(HX_("status",32,e7,fb,05),null()), ::Dynamic(new _hx_Closure_2()))) );
- }
- else {
-HXLINE(1105) tripleThree = null();
- }
-HXLINE(1106) bool _hx_tmp4;
-HXDLIN(1106) if (::hx::IsNotNull( oneTen )) {
-HXLINE(1106) _hx_tmp4 = ::hx::IsNotNull( tripleThree );
- }
- else {
-HXLINE(1106) _hx_tmp4 = false;
- }
-HXDLIN(1106) if (_hx_tmp4) {
-HXLINE(1107) this->selfPing(true);
- }
- }
-
-
-void Channel_obj::doSync(::String lastId){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::Channel,_gthis) HXARGC(2)
- ::snikket::ChatMessageBuilder _hx_run( ::snikket::ChatMessageBuilder builder, ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1128_doSync)
-HXLINE(1129) builder = _gthis->prepareIncomingMessage(builder,stanza);
-HXLINE(1130) builder->syncPoint = true;
-HXLINE(1131) return builder;
- }
- HX_END_LOCAL_FUNC2(return)
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_8, ::snikket::Channel,_gthis,::Array< ::Dynamic>,chatMessages) HXARGC(1)
- void _hx_run( ::Dynamic messageList){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_5, ::snikket::Channel,_gthis,::Array< ::Dynamic>,pageChatMessages) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1157_doSync)
-HXLINE(1157) _gthis->client->storeMessages(pageChatMessages,resolve);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_7, ::snikket::Channel,_gthis,::Array< ::Dynamic>,chatMessages) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1159_doSync)
-HXLINE(1160) {
-HXLINE(1160) int _g = 0;
-HXDLIN(1160) while((_g < stored->length)){
-HXLINE(1160) ::Array< ::Dynamic> messages = stored->__get(_g).StaticCast< ::Array< ::Dynamic> >();
-HXDLIN(1160) _g = (_g + 1);
-HXLINE(1161) if (::hx::IsNotNull( messages )) {
-HXLINE(1162) int _g1 = 0;
-HXDLIN(1162) while((_g1 < messages->length)){
-HXLINE(1162) ::snikket::ChatMessage message = messages->__get(_g1).StaticCast< ::snikket::ChatMessage >();
-HXDLIN(1162) _g1 = (_g1 + 1);
-HXLINE(1163) _gthis->client->notifySyncMessageHandlers(message);
-HXLINE(1164) bool _hx_tmp;
-HXDLIN(1164) if (::hx::IsNotNull( message )) {
-HXLINE(1164) ::String _hx_tmp1 = message->chatId();
-HXDLIN(1164) _hx_tmp = (_hx_tmp1 == _gthis->chatId);
- }
- else {
-HXLINE(1164) _hx_tmp = false;
- }
-HXDLIN(1164) if (_hx_tmp) {
-HXLINE(1164) chatMessages->push(message);
- }
-HXLINE(1165) if ((chatMessages->length > 1000)) {
-HXLINE(1165) chatMessages->shift().StaticCast< ::snikket::ChatMessage >();
- }
- }
- }
- }
- }
-HXLINE(1169) if (_gthis->sync->hasMore()) {
-HXLINE(1170) _gthis->sync->fetchNext();
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_6, ::snikket::Channel,_gthis) HXARGC(1)
- bool _hx_run( ::snikket::ChatMessage m){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1188_doSync)
-HXLINE(1188) ::String m1 = m->serverId;
-HXDLIN(1188) if ((m1 != _gthis->readUpTo())) {
-HXLINE(1188) return !(m->isIncoming());
- }
- else {
-HXLINE(1188) return true;
- }
-HXDLIN(1188) return false;
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE(1172) _gthis->inSync = true;
-HXLINE(1173) _gthis->sync = null();
-HXLINE(1174) ::snikket::ChatMessage lastFromSync = chatMessages->__get((chatMessages->length - 1)).StaticCast< ::snikket::ChatMessage >();
-HXLINE(1175) bool _hx_tmp2;
-HXDLIN(1175) if (::hx::IsNotNull( lastFromSync )) {
-HXLINE(1175) if (::hx::IsNotNull( _gthis->lastMessageTimestamp() )) {
-HXLINE(1175) ::String lastFromSync1 = lastFromSync->timestamp;
-HXDLIN(1175) _hx_tmp2 = (::Reflect_obj::compare(lastFromSync1,_gthis->lastMessageTimestamp()) > 0);
- }
- else {
-HXLINE(1175) _hx_tmp2 = true;
- }
- }
- else {
-HXLINE(1175) _hx_tmp2 = false;
- }
-HXDLIN(1175) if (_hx_tmp2) {
-HXLINE(1176) _gthis->setLastMessage(lastFromSync);
-HXLINE(1177) _gthis->client->sortChats();
- }
-HXLINE(1179) ::haxe::ds::StringMap serverIds = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1180) ::Array< ::Dynamic> dedupedMessages = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1181) chatMessages->reverse();
-HXLINE(1182) {
-HXLINE(1182) int _g2 = 0;
-HXDLIN(1182) while((_g2 < chatMessages->length)){
-HXLINE(1182) ::snikket::ChatMessage m = chatMessages->__get(_g2).StaticCast< ::snikket::ChatMessage >();
-HXDLIN(1182) _g2 = (_g2 + 1);
-HXLINE(1183) ::Dynamic tmp = serverIds->get(m->serverId);
-HXDLIN(1183) bool _hx_tmp3;
-HXDLIN(1183) if (::hx::IsNotNull( tmp )) {
-HXLINE(1183) _hx_tmp3 = ( (bool)(tmp) );
- }
- else {
-HXLINE(1183) _hx_tmp3 = false;
- }
-HXDLIN(1183) if (!(_hx_tmp3)) {
-HXLINE(1184) dedupedMessages->unshift(m);
-HXLINE(1185) serverIds->set(m->serverId,true);
- }
- }
- }
-HXLINE(1188) int readIndex = ::Lambda_obj::findIndex(dedupedMessages, ::Dynamic(new _hx_Closure_6(_gthis)));
-HXLINE(1189) if ((readIndex < 0)) {
-HXLINE(1190) ::snikket::Channel _gthis1 = _gthis;
-HXDLIN(1190) int _hx_tmp4 = _gthis->unreadCount();
-HXDLIN(1190) _gthis1->setUnreadCount((_hx_tmp4 + dedupedMessages->length));
- }
- else {
-HXLINE(1192) _gthis->setUnreadCount(((dedupedMessages->length - readIndex) - 1));
- }
-HXLINE(1194) _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_5e4df8d46126c981_1134_doSync)
-HXLINE(1135) ::Array< ::Dynamic> promises = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1136) ::Array< ::Dynamic> pageChatMessages = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1137) {
-HXLINE(1137) int _g = 0;
-HXDLIN(1137) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(messageList->__Field(HX_("messages",cc,d8,fd,34),::hx::paccDynamic)) );
-HXDLIN(1137) while((_g < _g1->length)){
-HXLINE(1137) ::snikket::MessageStanza m = _g1->__get(_g).StaticCast< ::snikket::MessageStanza >();
-HXDLIN(1137) _g = (_g + 1);
-HXLINE(1138) switch((int)(m->_hx_getIndex())){
- case (int)1: {
-HXLINE(1139) ::snikket::ChatMessage message = m->_hx_getObject(0).StaticCast< ::snikket::ChatMessage >();
-HXDLIN(1139) {
-HXLINE(1140) {
-HXLINE(1140) int _g2 = 0;
-HXDLIN(1140) ::Array< ::Dynamic> _g3 = message->inlineHashReferences();
-HXDLIN(1140) while((_g2 < _g3->length)){
-HXLINE(1140) ::snikket::Hash hash = _g3->__get(_g2).StaticCast< ::snikket::Hash >();
-HXDLIN(1140) _g2 = (_g2 + 1);
-HXLINE(1141) _gthis->client->fetchMediaByHash(::Array_obj< ::Dynamic>::__new(1)->init(0,hash),::Array_obj< ::Dynamic>::__new(1)->init(0,message->from));
- }
- }
-HXLINE(1143) pageChatMessages->push(message);
- }
- }
- break;
- case (int)2: {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::snikket::Channel,_gthis, ::snikket::ModerationAction,action) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,resolve) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage _){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1150_doSync)
-HXLINE(1150) resolve(null());
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1150_doSync)
-HXLINE(1150) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->client->moderateMessage(action), ::Dynamic(new _hx_Closure_1(resolve)),null());
- }
- HX_END_LOCAL_FUNC2((void))
-
-HXLINE(1148) ::snikket::ModerationAction action = m->_hx_getObject(0).StaticCast< ::snikket::ModerationAction >();
-HXLINE(1149) promises->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_2(_gthis,action))));
- }
- break;
- case (int)3: {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_4, ::snikket::Channel,_gthis, ::snikket::ReactionUpdate,update) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::Dynamic,resolve) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage _){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1146_doSync)
-HXLINE(1146) resolve(null());
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1146_doSync)
-HXLINE(1146) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN(1146) ::String _hx_tmp = _gthis->client->accountId();
-HXDLIN(1146) ::snikket::Persistence_obj::storeReaction(_gthis1,_hx_tmp,update, ::Dynamic(new _hx_Closure_3(resolve)));
- }
- HX_END_LOCAL_FUNC2((void))
-
-HXLINE(1144) ::snikket::ReactionUpdate update = m->_hx_getObject(0).StaticCast< ::snikket::ReactionUpdate >();
-HXLINE(1145) promises->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_4(_gthis,update))));
- }
- break;
- default:{
- }
- }
- }
- }
-HXLINE(1156) promises->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_5(_gthis,pageChatMessages))));
-HXLINE(1159) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(promises), ::Dynamic(new _hx_Closure_7(_gthis,chatMessages)),null());
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_9, ::snikket::Channel,_gthis,::String,lastId) HXARGC(1)
- void _hx_run( ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1198_doSync)
-HXLINE(1199) _gthis->sync = null();
-HXLINE(1200) if (::hx::IsNotNull( lastId )) {
-HXLINE(1202) _gthis->doSync(null());
- }
- else {
-HXLINE(1204) ::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_("snikket.Channel",b2,3f,68,db))
- ->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_("snikket/Chat.hx",f4,6b,61,18))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),1204)));
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1111_doSync)
-HXDLIN(1111) ::snikket::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1112) if (!(this->disco->features->contains(HX_("urn:xmpp:mam:2",f5,ef,8c,da)))) {
-HXLINE(1113) this->inSync = true;
-HXLINE(1114) return;
- }
-HXLINE(1116) if (::hx::IsNotNull( this->sync )) {
-HXLINE(1116) return;
- }
-HXLINE(1118) ::String threeDaysAgo = ::snikket::Date_obj::format(::Date_obj::fromTime((::Date_obj::now()->getTime() + ((Float)-259200000.))));
-HXLINE(1124) ::Dynamic _hx_tmp;
-HXDLIN(1124) if (::hx::IsNull( lastId )) {
-HXLINE(1124) _hx_tmp = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("startTime",8f,45,f0,05),threeDaysAgo));
- }
- else {
-HXLINE(1124) _hx_tmp = ::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),lastId))));
- }
-HXLINE(1121) this->sync = ::snikket::MessageSync_obj::__alloc( HX_CTX ,this->client,this->stream,_hx_tmp,this->chatId);
-HXLINE(1127) this->sync->setNewestPageFirst(false);
-HXLINE(1128) this->sync->addContext( ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE(1133) ::Array< ::Dynamic> chatMessages = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1134) this->sync->onMessages( ::Dynamic(new _hx_Closure_8(_gthis,chatMessages)));
-HXLINE(1198) this->sync->onError( ::Dynamic(new _hx_Closure_9(_gthis,lastId)));
-HXLINE(1207) this->sync->fetchNext();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Channel_obj,doSync,(void))
-
-bool Channel_obj::isTrusted(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1211_isTrusted)
-HXDLIN(1211) return (this->uiState != 2);
- }
-
-
-bool Channel_obj::isPrivate(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1215_isPrivate)
-HXDLIN(1215) return this->disco->features->contains(HX_("muc_membersonly",41,e9,70,b7));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,isPrivate,return )
-
-void Channel_obj::refreshDisco( ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::Channel,_gthis, ::snikket::queries::DiscoInfoGet,discoGet, ::Dynamic,callback) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1221_refreshDisco)
-HXLINE(1222) if (::hx::IsNotNull( discoGet->getResult() )) {
-HXLINE(1223) bool setupNotifications;
-HXDLIN(1223) if (::hx::IsNull( _gthis->disco )) {
-HXLINE(1223) setupNotifications = ::hx::IsNull( _gthis->notificationSettings );
- }
- else {
-HXLINE(1223) setupNotifications = false;
- }
-HXLINE(1224) _gthis->disco = discoGet->getResult();
-HXLINE(1225) bool _hx_tmp;
-HXDLIN(1225) if (setupNotifications) {
-HXLINE(1225) _hx_tmp = !(_gthis->isPrivate());
- }
- else {
-HXLINE(1225) _hx_tmp = false;
- }
-HXDLIN(1225) if (_hx_tmp) {
-HXLINE(1225) _gthis->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));
- }
-HXLINE(1226) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN(1226) ::snikket::Persistence_obj::storeCaps(_gthis1,discoGet->getResult());
-HXLINE(1227) ::Dynamic _gthis2 = _gthis->persistence;
-HXDLIN(1227) ::String _hx_tmp1 = _gthis->client->accountId();
-HXDLIN(1227) ::snikket::Persistence_obj::storeChats(_gthis2,_hx_tmp1,::Array_obj< ::Dynamic>::__new(1)->init(0,_gthis));
- }
-HXLINE(1229) if (::hx::IsNotNull( callback )) {
-HXLINE(1229) callback();
- }
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1219_refreshDisco)
-HXDLIN(1219) ::snikket::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1220) ::snikket::queries::DiscoInfoGet discoGet = ::snikket::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,this->chatId,null());
-HXLINE(1221) discoGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,discoGet,callback)));
-HXLINE(1231) this->client->sendQuery(discoGet);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Channel_obj,refreshDisco,(void))
-
-::String Channel_obj::preview(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1234_preview)
-HXLINE(1235) if (::hx::IsNull( this->lastMessage )) {
-HXLINE(1235) return this->super::preview();
- }
-HXLINE(1237) ::String _hx_tmp = (this->getParticipantDetails(this->lastMessage->senderId)->displayName + HX_(": ",a6,32,00,00));
-HXDLIN(1237) return (_hx_tmp + this->super::preview());
- }
-
-
-bool Channel_obj::livePresence(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1241_livePresence)
-HXLINE(1242) if (this->forceLive) {
-HXLINE(1242) return true;
- }
-HXLINE(1244) return ::hx::IsNotNull( this->_nickInUse );
- }
-
-
-bool Channel_obj::syncing(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1248_syncing)
-HXDLIN(1248) if (this->inSync) {
-HXDLIN(1248) return !(this->livePresence());
- }
- else {
-HXDLIN(1248) return true;
- }
-HXDLIN(1248) return false;
- }
-
-
-bool Channel_obj::canAudioCall(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1252_canAudioCall)
-HXDLIN(1252) ::snikket::Caps tmp = this->disco;
-HXDLIN(1252) ::Array< ::String > tmp1;
-HXDLIN(1252) if (::hx::IsNotNull( tmp )) {
-HXDLIN(1252) tmp1 = tmp->features;
- }
- else {
-HXDLIN(1252) tmp1 = null();
- }
-HXDLIN(1252) ::Dynamic tmp2;
-HXDLIN(1252) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN(1252) tmp2 = tmp1->contains(HX_("urn:xmpp:jingle:apps:rtp:audio",0f,8b,54,6c));
- }
- else {
-HXDLIN(1252) tmp2 = null();
- }
-HXDLIN(1252) if (::hx::IsNotNull( tmp2 )) {
-HXDLIN(1252) return ( (bool)(tmp2) );
- }
- else {
-HXDLIN(1252) return false;
- }
-HXDLIN(1252) return false;
- }
-
-
-bool Channel_obj::canVideoCall(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1256_canVideoCall)
-HXDLIN(1256) ::snikket::Caps tmp = this->disco;
-HXDLIN(1256) ::Array< ::String > tmp1;
-HXDLIN(1256) if (::hx::IsNotNull( tmp )) {
-HXDLIN(1256) tmp1 = tmp->features;
- }
- else {
-HXDLIN(1256) tmp1 = null();
- }
-HXDLIN(1256) ::Dynamic tmp2;
-HXDLIN(1256) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN(1256) tmp2 = tmp1->contains(HX_("urn:xmpp:jingle:apps:rtp:video",b4,26,d0,7b));
- }
- else {
-HXDLIN(1256) tmp2 = null();
- }
-HXDLIN(1256) if (::hx::IsNotNull( tmp2 )) {
-HXDLIN(1256) return ( (bool)(tmp2) );
- }
- else {
-HXDLIN(1256) return false;
- }
-HXDLIN(1256) return false;
- }
-
-
-::String Channel_obj::nickInUse(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1260_nickInUse)
-HXDLIN(1260) ::String tmp = this->_nickInUse;
-HXDLIN(1260) if (::hx::IsNotNull( tmp )) {
-HXDLIN(1260) return tmp;
- }
- else {
-HXDLIN(1260) return this->client->displayName();
- }
-HXDLIN(1260) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,nickInUse,return )
-
- ::snikket::JID Channel_obj::getFullJid(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1264_getFullJid)
-HXDLIN(1264) ::snikket::JID _hx_tmp = ::snikket::JID_obj::parse(this->chatId);
-HXDLIN(1264) return _hx_tmp->withResource(this->nickInUse());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,getFullJid,return )
-
-::Array< ::String > Channel_obj::getParticipants(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::Channel,_gthis) HXARGC(0)
- ::Dynamic _hx_run(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1270_getParticipants)
-HXLINE(1270) return _gthis->presence->keys();
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
- bool _hx_run(::String resource){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1270_getParticipants)
-HXLINE(1270) return ::hx::IsNotNull( resource );
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1268_getParticipants)
-HXDLIN(1268) ::snikket::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1269) ::snikket::JID jid = ::snikket::JID_obj::parse(this->chatId);
-HXLINE(1270) ::Array< ::String > _this = ::Lambda_obj::filter( ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(_gthis)))), ::Dynamic(new _hx_Closure_1()));
-HXDLIN(1270) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN(1270) {
-HXLINE(1270) int _g = 0;
-HXDLIN(1270) int _g1 = _this->length;
-HXDLIN(1270) while((_g < _g1)){
-HXLINE(1270) _g = (_g + 1);
-HXDLIN(1270) int i = (_g - 1);
-HXDLIN(1270) {
-HXLINE(1270) ::String resource = ( (::String)(_hx_array_unsafe_get(_this,i)) );
-HXDLIN(1270) ::String inValue = ::snikket::JID_obj::__alloc( HX_CTX ,jid->node,jid->domain,resource,null())->asString();
-HXDLIN(1270) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN(1270) return result;
- }
-
-
- ::snikket::Participant Channel_obj::getParticipantDetails(::String participantId){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1275_getParticipantDetails)
-HXDLIN(1275) if ((participantId == this->getFullJid()->asString())) {
-HXLINE(1276) ::snikket::Client chat = this->client;
-HXDLIN(1276) ::snikket::DirectChat chat1 = chat->getDirectChat(this->client->accountId(),false);
-HXLINE(1277) ::String _hx_tmp = this->client->displayName();
-HXDLIN(1277) ::String _hx_tmp1 = chat1->getPhoto();
-HXDLIN(1277) return ::snikket::Participant_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,chat1->getPlaceholder(),true);
- }
- else {
-HXLINE(1279) ::String nick = ::snikket::JID_obj::parse(participantId)->resource;
-HXLINE(1280) ::String placeholderUri;
-HXDLIN(1280) if (::hx::IsNull( nick )) {
-HXLINE(1280) placeholderUri = HX_(" ",20,00,00,00);
- }
- else {
-HXLINE(1280) placeholderUri = nick.charAt(0);
- }
-HXDLIN(1280) ::String placeholderUri1 = ::snikket::Color_obj::defaultPhoto(participantId,placeholderUri);
-HXLINE(1281) ::String tmp = nick;
-HXDLIN(1281) ::String _hx_tmp2;
-HXDLIN(1281) if (::hx::IsNotNull( tmp )) {
-HXLINE(1281) _hx_tmp2 = tmp;
- }
- else {
-HXLINE(1281) _hx_tmp2 = HX_("",00,00,00,00);
- }
-HXDLIN(1281) return ::snikket::Participant_obj::__alloc( HX_CTX ,_hx_tmp2,null(),placeholderUri1,false);
- }
-HXLINE(1275) return null();
- }
-
-
-void Channel_obj::getMessagesBefore(::String beforeId,::String beforeTime, ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::snikket::Channel,_gthis,::String,beforeId, ::Dynamic,handler) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> messages){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1288_getMessagesBefore)
-HXLINE(1288) if ((messages->length > 0)) {
-HXLINE(1289) handler(messages);
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::Channel,_gthis) HXARGC(2)
- ::snikket::ChatMessageBuilder _hx_run( ::snikket::ChatMessageBuilder builder, ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1294_getMessagesBefore)
-HXLINE(1295) builder = _gthis->prepareIncomingMessage(builder,stanza);
-HXLINE(1296) builder->syncPoint = false;
-HXLINE(1297) return builder;
- }
- HX_END_LOCAL_FUNC2(return)
-
-HXLINE(1291) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(0));
-HXLINE(1292) if (::hx::IsNotNull( beforeId )) {
-HXLINE(1292) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("before",7f,54,32,9a),beforeId)),::hx::paccDynamic);
- }
-HXLINE(1293) ::snikket::MessageSync sync = ::snikket::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,_gthis->chatId);
-HXLINE(1294) sync->addContext( ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE(1299) _gthis->fetchFromSync(sync,handler);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1286_getMessagesBefore)
-HXDLIN(1286) ::snikket::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1287) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(1287) ::String _hx_tmp1 = this->client->accountId();
-HXDLIN(1287) ::snikket::Persistence_obj::getMessagesBefore(_hx_tmp,_hx_tmp1,this->chatId,beforeId,beforeTime, ::Dynamic(new _hx_Closure_1(_gthis,beforeId,handler)));
- }
-
-
-void Channel_obj::getMessagesAfter(::String afterId,::String afterTime, ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::snikket::Channel,_gthis,::String,afterId, ::Dynamic,handler) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> messages){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1311_getMessagesAfter)
-HXLINE(1311) if ((messages->length > 0)) {
-HXLINE(1312) handler(messages);
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::Channel,_gthis) HXARGC(2)
- ::snikket::ChatMessageBuilder _hx_run( ::snikket::ChatMessageBuilder builder, ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1317_getMessagesAfter)
-HXLINE(1318) builder = _gthis->prepareIncomingMessage(builder,stanza);
-HXLINE(1319) builder->syncPoint = false;
-HXLINE(1320) return builder;
- }
- HX_END_LOCAL_FUNC2(return)
-
-HXLINE(1314) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(0));
-HXLINE(1315) if (::hx::IsNotNull( afterId )) {
-HXLINE(1315) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("after",1c,66,a2,1d),afterId)),::hx::paccDynamic);
- }
-HXLINE(1316) ::snikket::MessageSync sync = ::snikket::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,_gthis->chatId);
-HXLINE(1317) sync->addContext( ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE(1322) _gthis->fetchFromSync(sync,handler);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1305_getMessagesAfter)
-HXDLIN(1305) ::snikket::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1306) bool _hx_tmp;
-HXDLIN(1306) ::String afterId1 = afterId;
-HXDLIN(1306) if ((afterId1 == this->lastMessageId())) {
-HXLINE(1306) _hx_tmp = !(this->syncing());
- }
- else {
-HXLINE(1306) _hx_tmp = false;
- }
-HXDLIN(1306) if (_hx_tmp) {
-HXLINE(1307) handler(::Array_obj< ::Dynamic>::__new(0));
-HXLINE(1308) return;
- }
-HXLINE(1310) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN(1310) ::String _hx_tmp2 = this->client->accountId();
-HXDLIN(1310) ::snikket::Persistence_obj::getMessagesAfter(_hx_tmp1,_hx_tmp2,this->chatId,afterId,afterTime, ::Dynamic(new _hx_Closure_1(_gthis,afterId,handler)));
- }
-
-
-void Channel_obj::getMessagesAround(::String aroundId,::String aroundTime, ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1330_getMessagesAround)
-HXLINE(1330) if ((messages->length > 0)) {
-HXLINE(1331) handler(messages);
- }
- else {
-HXLINE(1334) handler(::Array_obj< ::Dynamic>::__new(0));
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1329_getMessagesAround)
-HXDLIN(1329) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(1329) ::String _hx_tmp1 = this->client->accountId();
-HXDLIN(1329) ::snikket::Persistence_obj::getMessagesAround(_hx_tmp,_hx_tmp1,this->chatId,aroundId,aroundTime, ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
- ::snikket::ChatMessageBuilder Channel_obj::prepareIncomingMessage( ::snikket::ChatMessageBuilder message, ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1340_prepareIncomingMessage)
-HXLINE(1341) message->syncPoint = !(this->syncing());
-HXLINE(1342) if ((message->type == 0)) {
-HXLINE(1342) message->type = 3;
- }
-HXLINE(1343) message->senderId = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXLINE(1344) ::String _hx_tmp = message->get_senderId();
-HXDLIN(1344) if ((_hx_tmp == this->getFullJid()->asString())) {
-HXLINE(1345) message->recipients = message->replyTo;
-HXLINE(1346) message->direction = 1;
- }
-HXLINE(1348) return message;
- }
-
-
- ::snikket::ChatMessageBuilder Channel_obj::prepareOutgoingMessage( ::snikket::ChatMessageBuilder message){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1351_prepareOutgoingMessage)
-HXLINE(1352) message->type = 2;
-HXLINE(1353) ::String tmp = message->timestamp;
-HXDLIN(1353) ::String _hx_tmp;
-HXDLIN(1353) if (::hx::IsNotNull( tmp )) {
-HXLINE(1353) _hx_tmp = tmp;
- }
- else {
-HXLINE(1353) _hx_tmp = ::snikket::Date_obj::format(::Date_obj::now());
- }
-HXDLIN(1353) message->timestamp = _hx_tmp;
-HXLINE(1354) message->direction = 1;
-HXLINE(1355) message->from = this->client->jid;
-HXLINE(1356) message->sender = this->getFullJid();
-HXLINE(1357) message->replyTo = ::Array_obj< ::Dynamic>::__new(1)->init(0,message->sender);
-HXLINE(1358) message->to = ::snikket::JID_obj::parse(this->chatId);
-HXLINE(1359) message->recipients = ::Array_obj< ::Dynamic>::__new(1)->init(0,message->to);
-HXLINE(1360) return message;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Channel_obj,prepareOutgoingMessage,return )
-
-void Channel_obj::correctMessage(::String localId, ::snikket::ChatMessageBuilder message){
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_0, ::snikket::Channel,_gthis,::Array< ::Dynamic>,message1,::String,localId,::String,toSendId) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> corrected){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1369_correctMessage)
-HXLINE(1370) ::Array< ::Dynamic> _hx_tmp;
-HXDLIN(1370) ::snikket::ChatMessage tmp = corrected->__get(0).StaticCast< ::snikket::ChatMessage >()->versions->__get(0).StaticCast< ::snikket::ChatMessage >();
-HXDLIN(1370) ::String _hx_tmp1;
-HXDLIN(1370) if (::hx::IsNotNull( tmp )) {
-HXLINE(1370) _hx_tmp1 = tmp->localId;
- }
- else {
-HXLINE(1370) _hx_tmp1 = null();
- }
-HXDLIN(1370) if ((_hx_tmp1 == localId)) {
-HXLINE(1370) _hx_tmp = corrected->__get(0).StaticCast< ::snikket::ChatMessage >()->versions;
- }
- else {
-HXLINE(1370) _hx_tmp = ::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->build());
- }
-HXDLIN(1370) message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->versions = _hx_tmp;
-HXLINE(1371) message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->localId = toSendId;
-HXLINE(1372) ::snikket::Client _gthis1 = _gthis->client;
-HXDLIN(1372) _gthis1->sendStanza(message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->build()->asStanza());
-HXLINE(1373) _gthis->client->notifyMessageHandlers(corrected->__get(0).StaticCast< ::snikket::ChatMessage >(),1);
-HXLINE(1374) ::snikket::ChatMessage tmp1 = _gthis->lastMessage;
-HXDLIN(1374) ::String _hx_tmp2;
-HXDLIN(1374) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1374) _hx_tmp2 = tmp1->localId;
- }
- else {
-HXLINE(1374) _hx_tmp2 = null();
- }
-HXDLIN(1374) if ((localId == _hx_tmp2)) {
-HXLINE(1375) _gthis->setLastMessage(corrected->__get(0).StaticCast< ::snikket::ChatMessage >());
-HXLINE(1376) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1364_correctMessage)
-HXDLIN(1364) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
-HXDLIN(1364) ::snikket::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1365) ::String toSendId = message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->localId;
-HXLINE(1366) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >());
-HXLINE(1367) ::snikket::ChatMessage _hx_tmp = message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->build();
-HXDLIN(1367) message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,_hx_tmp);
-HXLINE(1368) message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->localId = localId;
-HXLINE(1369) ::snikket::Client _hx_tmp1 = this->client;
-HXDLIN(1369) _hx_tmp1->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->build()), ::Dynamic(new _hx_Closure_0(_gthis,message1,localId,toSendId)));
- }
-
-
-void Channel_obj::sendMessage( ::snikket::ChatMessageBuilder message){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1382_sendMessage)
-HXDLIN(1382) ::snikket::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1383) if (::hx::IsNotNull( this->typingTimer )) {
-HXLINE(1383) this->typingTimer->stop();
- }
-HXLINE(1384) this->client->chatActivity(::hx::ObjectPtr<OBJ_>(this),null());
-HXLINE(1385) message = this->prepareOutgoingMessage(message);
-HXLINE(1386) ::snikket::Stanza stanza = message->build()->asStanza();
-HXLINE(1388) {
-HXLINE(1388) ::Dynamic this1 = stanza->attr;
-HXDLIN(1388) ::String value = this->getFullJid()->asString();
-HXDLIN(1388) ::Reflect_obj::setField(this1,HX_("from",6a,a5,c2,43),value);
- }
-HXLINE(1389) ::snikket::MessageStanza fromStanza = ::snikket::Message_obj::fromStanza(stanza,this->client->jid,null())->parsed;
-HXLINE(1390) {
-HXLINE(1390) ::Dynamic this2 = stanza->attr;
-HXDLIN(1390) ::String value1 = this->client->jid->asString();
-HXDLIN(1390) ::Reflect_obj::setField(this2,HX_("from",6a,a5,c2,43),value1);
- }
-HXLINE(1391) switch((int)(fromStanza->_hx_getIndex())){
- case (int)1: {
-HXLINE(1392) ::snikket::ChatMessage _g = fromStanza->_hx_getObject(0).StaticCast< ::snikket::ChatMessage >();
-HXDLIN(1392) {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::Channel,_gthis, ::snikket::Stanza,stanza) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> stored){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1398_sendMessage)
-HXLINE(1399) _gthis->client->sendStanza(stanza);
-HXLINE(1400) _gthis->setLastMessage(stored->__get(0).StaticCast< ::snikket::ChatMessage >());
-HXLINE(1401) int _hx_tmp;
-HXDLIN(1401) if ((stored->__get(0).StaticCast< ::snikket::ChatMessage >()->versions->length > 1)) {
-HXLINE(1401) _hx_tmp = 1;
- }
- else {
-HXLINE(1401) _hx_tmp = 0;
- }
-HXDLIN(1401) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::snikket::ChatMessage >(),_hx_tmp);
-HXLINE(1402) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE(1393) if (::hx::IsNotNull( this->isActive )) {
-HXLINE(1394) this->isActive = true;
-HXLINE(1395) this->activeThread = message->threadId;
-HXLINE(1396) 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(1398) ::snikket::Client _hx_tmp = this->client;
-HXDLIN(1398) _hx_tmp->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,message->build()), ::Dynamic(new _hx_Closure_0(_gthis,stanza)));
- }
- }
- break;
- case (int)3: {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::snikket::Channel,_gthis, ::snikket::Stanza,stanza) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage stored){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1405_sendMessage)
-HXLINE(1406) _gthis->client->sendStanza(stanza);
-HXLINE(1407) if (::hx::IsNotNull( stored )) {
-HXLINE(1407) _gthis->client->notifyMessageHandlers(stored,2);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE(1404) ::snikket::ReactionUpdate update = fromStanza->_hx_getObject(0).StaticCast< ::snikket::ReactionUpdate >();
-HXLINE(1405) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN(1405) ::snikket::Persistence_obj::storeReaction(_hx_tmp1,this->client->accountId(),update, ::Dynamic(new _hx_Closure_1(_gthis,stanza)));
- }
- break;
- default:{
-HXLINE(1410) ::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_("snikket.Channel",b2,3f,68,db))
- ->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_("snikket/Chat.hx",f4,6b,61,18))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),1410)));
-HXLINE(1411) HX_STACK_DO_THROW(HX_("Trying to send invalid message.",dc,74,a0,91));
- }
- }
- }
-
-
-void Channel_obj::removeReaction( ::snikket::ChatMessage m, ::snikket::Reaction reaction){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::snikket::Channel,_gthis, ::snikket::ReactionUpdate,update4) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage stored){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1436_removeReaction)
-HXLINE(1437) ::snikket::Stanza stanza = update4->asStanza();
-HXLINE(1438) {
-HXLINE(1438) ::String value = _gthis->chatId;
-HXDLIN(1438) ::Reflect_obj::setField(stanza->attr,HX_("to",7b,65,00,00),value);
- }
-HXLINE(1439) _gthis->client->sendStanza(stanza);
-HXLINE(1440) if (::hx::IsNotNull( stored )) {
-HXLINE(1440) _gthis->client->notifyMessageHandlers(stored,2);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1416_removeReaction)
-HXDLIN(1416) ::snikket::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1417) if (::Std_obj::isOfType(reaction,::hx::ClassOf< ::snikket::CustomEmojiReaction >())) {
-HXLINE(1418) if (::hx::IsNull( reaction->envelopeId )) {
-HXLINE(1418) HX_STACK_DO_THROW(HX_("Cannot remove custom emoji reaction without envelopeId",90,e6,80,fb));
- }
-HXLINE(1419) ::snikket::ChatMessageBuilder correct = m->reply();
-HXLINE(1420) correct->localId = ::snikket::ID_obj::_hx_long();
-HXLINE(1421) correct->setHtml(HX_("",00,00,00,00));
-HXLINE(1422) correct->text = null();
-HXLINE(1423) this->correctMessage(reaction->envelopeId,correct);
-HXLINE(1424) return;
- }
-HXLINE(1428) ::Array< ::Dynamic> reactions = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1429) {
-HXLINE(1429) ::Dynamic map = m->reactions;
-HXDLIN(1429) ::Dynamic _g_map = map;
-HXDLIN(1429) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN(1429) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(1429) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN(1429) ::Array< ::Dynamic> _g_value = ( (::Array< ::Dynamic>)(::haxe::IMap_obj::get(_g_map,key)) );
-HXDLIN(1429) ::String _g_key = key;
-HXDLIN(1429) ::String areaction = _g_key;
-HXDLIN(1429) ::Array< ::Dynamic> reacts = _g_value;
-HXLINE(1430) if ((areaction != reaction->key)) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::Channel,_gthis) HXARGC(1)
- bool _hx_run( ::snikket::Reaction r){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1431_removeReaction)
-HXLINE(1431) ::String r1 = r->senderId;
-HXDLIN(1431) return (r1 == _gthis->getFullJid()->asString());
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE(1431) ::snikket::Reaction react = ( ( ::snikket::Reaction)(::Lambda_obj::find(reacts, ::Dynamic(new _hx_Closure_0(_gthis)))) );
-HXLINE(1432) bool _hx_tmp;
-HXDLIN(1432) if (::hx::IsNotNull( react )) {
-HXLINE(1432) _hx_tmp = !(::Std_obj::isOfType(react,::hx::ClassOf< ::snikket::CustomEmojiReaction >()));
- }
- else {
-HXLINE(1432) _hx_tmp = false;
- }
-HXDLIN(1432) if (_hx_tmp) {
-HXLINE(1432) reactions->push(react);
- }
- }
- }
- }
-HXLINE(1435) ::String update = ::snikket::ID_obj::_hx_long();
-HXDLIN(1435) ::String m1 = m->serverId;
-HXDLIN(1435) ::String update1 = m->chatId();
-HXDLIN(1435) ::String update2 = m->chatId();
-HXDLIN(1435) ::String update3 = this->getFullJid()->asString();
-HXDLIN(1435) ::snikket::ReactionUpdate update4 = ::snikket::ReactionUpdate_obj::__alloc( HX_CTX ,update,m1,update1,null(),update2,update3,::snikket::Date_obj::format(::Date_obj::now()),reactions,0);
-HXLINE(1436) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN(1436) ::String _hx_tmp2 = this->client->accountId();
-HXDLIN(1436) ::snikket::Persistence_obj::storeReaction(_hx_tmp1,_hx_tmp2,update4, ::Dynamic(new _hx_Closure_1(_gthis,update4)));
- }
-
-
-::String Channel_obj::lastMessageId(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1446_lastMessageId)
-HXDLIN(1446) ::snikket::ChatMessage tmp = this->lastMessage;
-HXDLIN(1446) if (::hx::IsNotNull( tmp )) {
-HXDLIN(1446) return tmp->serverId;
- }
- else {
-HXDLIN(1446) return null();
- }
-HXDLIN(1446) return null();
- }
-
-
-void Channel_obj::markReadUpTo( ::snikket::ChatMessage message){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::ChatMessage,message, ::snikket::Channel,_gthis) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1451_markReadUpTo)
-HXLINE(1452) ::String _gthis1 = _gthis->chatId;
-HXDLIN(1452) ::String stanza = ::snikket::ID_obj::_hx_long();
-HXDLIN(1452) ::snikket::Stanza stanza1 = ::snikket::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(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(1454) if (::hx::IsNotNull( message->threadId )) {
-HXLINE(1455) stanza1->textTag(HX_("thread",ca,7a,b9,8e),message->threadId,null());
- }
-HXLINE(1457) _gthis->client->sendStanza(stanza1);
-HXLINE(1459) _gthis->publishMds();
-HXLINE(1460) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1450_markReadUpTo)
-HXDLIN(1450) ::snikket::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1451) this->markReadUpToMessage(message, ::Dynamic(new _hx_Closure_0(message,_gthis)));
- }
-
-
-void Channel_obj::bookmark(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::snikket::Channel,_gthis) HXARGC(1)
- void _hx_run( ::snikket::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1486_bookmark)
-HXLINE(1486) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE(1487) ::snikket::Stanza tmp = response->getChild(HX_("error",c8,cb,29,73),null());
-HXDLIN(1487) ::snikket::Stanza preconditionError;
-HXDLIN(1487) if (::hx::IsNotNull( tmp )) {
-HXLINE(1487) preconditionError = tmp->getChild(HX_("precondition-not-met",2d,db,78,db),HX_("http://jabber.org/protocol/pubsub#errors",97,74,3a,a8));
- }
- else {
-HXLINE(1487) preconditionError = null();
- }
-HXLINE(1488) if (::hx::IsNotNull( preconditionError )) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::Channel,_gthis) HXARGC(1)
- void _hx_run( ::snikket::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1504_bookmark)
-HXLINE(1504) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("result",dd,68,84,08))) {
-HXLINE(1505) _gthis->bookmark();
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE(1490) ::snikket::GenericStream _gthis1 = _gthis->stream;
-HXDLIN(1490) _gthis1->sendIq( ::snikket::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_5e4df8d46126c981_1465_bookmark)
-HXDLIN(1465) ::snikket::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1466) ::snikket::GenericStream _hx_tmp = this->stream;
-HXLINE(1467) ::snikket::Stanza _hx_tmp1 = ::snikket::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(1471) ::String _hx_tmp2 = this->getDisplayName();
-HXDLIN(1471) ::String _hx_tmp3;
-HXDLIN(1471) if ((this->uiState == 2)) {
-HXLINE(1471) _hx_tmp3 = HX_("false",a3,35,4f,fb);
- }
- else {
-HXLINE(1471) _hx_tmp3 = HX_("true",4e,a7,03,4d);
- }
-HXLINE(1467) ::snikket::Stanza _hx_tmp4 = _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(1472) ::String _hx_tmp5 = this->client->displayName();
-HXLINE(1466) _hx_tmp->sendIq(_hx_tmp4->textTag(HX_("nick",a3,7b,05,49),_hx_tmp5,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(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()->up(), ::Dynamic(new _hx_Closure_1(_gthis)));
- }
-
-
-void Channel_obj::sendChatState(::String state,::String threadId){
- HX_GC_STACKFRAME(&_hx_pos_5e4df8d46126c981_1515_sendChatState)
-HXLINE(1517) ::String stanza = ::snikket::ID_obj::_hx_long();
-HXLINE(1519) ::String stanza1 = this->client->jid->asString();
-HXLINE(1516) ::snikket::Stanza stanza2 = ::snikket::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(1524) if (::hx::IsNotNull( threadId )) {
-HXLINE(1525) stanza2->textTag(HX_("thread",ca,7a,b9,8e),threadId,null());
- }
-HXLINE(1527) this->stream->sendStanza(stanza2);
- }
-
-
-void Channel_obj::close(){
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_1531_close)
-HXLINE(1532) if (::hx::IsNotNull( this->typingTimer )) {
-HXLINE(1532) this->typingTimer->stop();
- }
-HXLINE(1533) this->uiState = 2;
-HXLINE(1534) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(1534) ::snikket::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE(1535) this->selfPing(false);
-HXLINE(1536) this->bookmark();
-HXLINE(1537) this->sendChatState(HX_("gone",5f,94,69,44),null());
-HXLINE(1538) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
- }
-
-
-
-::hx::ObjectPtr< Channel_obj > Channel_obj::__new( ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy, ::snikket::Caps disco) {
- ::hx::ObjectPtr< Channel_obj > __this = new Channel_obj();
- __this->__construct(client,stream,persistence,chatId,__o_uiState,__o_isBlocked,extensions,readUpToId,readUpToBy,disco);
- return __this;
-}
-
-::hx::ObjectPtr< Channel_obj > Channel_obj::__alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy, ::snikket::Caps disco) {
- Channel_obj *__this = (Channel_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Channel_obj), true, "snikket.Channel"));
- *(void **)__this = Channel_obj::_hx_vtable;
- __this->__construct(client,stream,persistence,chatId,__o_uiState,__o_isBlocked,extensions,readUpToId,readUpToBy,disco);
- return __this;
-}
-
-Channel_obj::Channel_obj()
-{
-}
-
-void Channel_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(Channel);
- HX_MARK_MEMBER_NAME(disco,"disco");
- HX_MARK_MEMBER_NAME(inSync,"inSync");
- HX_MARK_MEMBER_NAME(sync,"sync");
- HX_MARK_MEMBER_NAME(forceLive,"forceLive");
- HX_MARK_MEMBER_NAME(_nickInUse,"_nickInUse");
- ::snikket::Chat_obj::__Mark(HX_MARK_ARG);
- HX_MARK_END_CLASS();
-}
-
-void Channel_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(disco,"disco");
- HX_VISIT_MEMBER_NAME(inSync,"inSync");
- HX_VISIT_MEMBER_NAME(sync,"sync");
- HX_VISIT_MEMBER_NAME(forceLive,"forceLive");
- HX_VISIT_MEMBER_NAME(_nickInUse,"_nickInUse");
- ::snikket::Chat_obj::__Visit(HX_VISIT_ARG);
-}
-
-::hx::Val Channel_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 4:
- if (HX_FIELD_EQ(inName,"sync") ) { return ::hx::Val( sync ); }
- if (HX_FIELD_EQ(inName,"join") ) { return ::hx::Val( join_dyn() ); }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"disco") ) { return ::hx::Val( disco ); }
- if (HX_FIELD_EQ(inName,"close") ) { return ::hx::Val( close_dyn() ); }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"inSync") ) { return ::hx::Val( inSync ); }
- if (HX_FIELD_EQ(inName,"doSync") ) { return ::hx::Val( doSync_dyn() ); }
- break;
- case 7:
- 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() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"selfPing") ) { return ::hx::Val( selfPing_dyn() ); }
- if (HX_FIELD_EQ(inName,"bookmark") ) { return ::hx::Val( bookmark_dyn() ); }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"forceLive") ) { return ::hx::Val( forceLive ); }
- if (HX_FIELD_EQ(inName,"isTrusted") ) { return ::hx::Val( isTrusted_dyn() ); }
- if (HX_FIELD_EQ(inName,"isPrivate") ) { return ::hx::Val( isPrivate_dyn() ); }
- if (HX_FIELD_EQ(inName,"nickInUse") ) { return ::hx::Val( nickInUse_dyn() ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"_nickInUse") ) { return ::hx::Val( _nickInUse ); }
- if (HX_FIELD_EQ(inName,"getFullJid") ) { return ::hx::Val( getFullJid_dyn() ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"setPresence") ) { return ::hx::Val( setPresence_dyn() ); }
- if (HX_FIELD_EQ(inName,"sendMessage") ) { return ::hx::Val( sendMessage_dyn() ); }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"refreshDisco") ) { return ::hx::Val( refreshDisco_dyn() ); }
- if (HX_FIELD_EQ(inName,"livePresence") ) { return ::hx::Val( livePresence_dyn() ); }
- if (HX_FIELD_EQ(inName,"canAudioCall") ) { return ::hx::Val( canAudioCall_dyn() ); }
- if (HX_FIELD_EQ(inName,"canVideoCall") ) { return ::hx::Val( canVideoCall_dyn() ); }
- if (HX_FIELD_EQ(inName,"markReadUpTo") ) { return ::hx::Val( markReadUpTo_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"lastMessageId") ) { return ::hx::Val( lastMessageId_dyn() ); }
- if (HX_FIELD_EQ(inName,"sendChatState") ) { return ::hx::Val( sendChatState_dyn() ); }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"correctMessage") ) { return ::hx::Val( correctMessage_dyn() ); }
- if (HX_FIELD_EQ(inName,"removeReaction") ) { return ::hx::Val( removeReaction_dyn() ); }
- break;
- case 15:
- if (HX_FIELD_EQ(inName,"selfPingSuccess") ) { return ::hx::Val( selfPingSuccess_dyn() ); }
- if (HX_FIELD_EQ(inName,"getParticipants") ) { return ::hx::Val( getParticipants_dyn() ); }
- break;
- case 16:
- if (HX_FIELD_EQ(inName,"getMessagesAfter") ) { return ::hx::Val( getMessagesAfter_dyn() ); }
- break;
- case 17:
- if (HX_FIELD_EQ(inName,"getMessagesBefore") ) { return ::hx::Val( getMessagesBefore_dyn() ); }
- if (HX_FIELD_EQ(inName,"getMessagesAround") ) { return ::hx::Val( getMessagesAround_dyn() ); }
- break;
- case 21:
- if (HX_FIELD_EQ(inName,"getParticipantDetails") ) { return ::hx::Val( getParticipantDetails_dyn() ); }
- break;
- case 22:
- if (HX_FIELD_EQ(inName,"prepareIncomingMessage") ) { return ::hx::Val( prepareIncomingMessage_dyn() ); }
- if (HX_FIELD_EQ(inName,"prepareOutgoingMessage") ) { return ::hx::Val( prepareOutgoingMessage_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-::hx::Val Channel_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 4:
- if (HX_FIELD_EQ(inName,"sync") ) { sync=inValue.Cast< ::snikket::MessageSync >(); return inValue; }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"disco") ) { disco=inValue.Cast< ::snikket::Caps >(); return inValue; }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"inSync") ) { inSync=inValue.Cast< bool >(); return inValue; }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"forceLive") ) { forceLive=inValue.Cast< bool >(); return inValue; }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"_nickInUse") ) { _nickInUse=inValue.Cast< ::String >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void Channel_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("disco",7a,03,d1,d9));
- outFields->push(HX_("inSync",e0,98,c5,88));
- outFields->push(HX_("sync",5b,ba,5f,4c));
- outFields->push(HX_("forceLive",77,ce,f7,4c));
- outFields->push(HX_("_nickInUse",80,a6,41,a3));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo Channel_obj_sMemberStorageInfo[] = {
- {::hx::fsObject /* ::snikket::Caps */ ,(int)offsetof(Channel_obj,disco),HX_("disco",7a,03,d1,d9)},
- {::hx::fsBool,(int)offsetof(Channel_obj,inSync),HX_("inSync",e0,98,c5,88)},
- {::hx::fsObject /* ::snikket::MessageSync */ ,(int)offsetof(Channel_obj,sync),HX_("sync",5b,ba,5f,4c)},
- {::hx::fsBool,(int)offsetof(Channel_obj,forceLive),HX_("forceLive",77,ce,f7,4c)},
- {::hx::fsString,(int)offsetof(Channel_obj,_nickInUse),HX_("_nickInUse",80,a6,41,a3)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *Channel_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String Channel_obj_sMemberFields[] = {
- HX_("disco",7a,03,d1,d9),
- HX_("inSync",e0,98,c5,88),
- HX_("sync",5b,ba,5f,4c),
- HX_("forceLive",77,ce,f7,4c),
- HX_("_nickInUse",80,a6,41,a3),
- HX_("selfPing",1e,60,3c,38),
- HX_("join",ea,33,65,46),
- HX_("selfPingSuccess",45,4d,98,ab),
- HX_("getCaps",d7,cb,3c,14),
- HX_("setPresence",fd,1b,38,97),
- HX_("doSync",86,5f,63,1c),
- HX_("isTrusted",2d,35,a5,1a),
- HX_("isPrivate",39,aa,6d,8d),
- HX_("refreshDisco",9f,ff,52,ed),
- HX_("preview",08,e0,da,3b),
- HX_("livePresence",47,f9,16,b4),
- HX_("syncing",67,fd,26,a7),
- HX_("canAudioCall",64,4a,90,e4),
- HX_("canVideoCall",89,1c,93,ea),
- HX_("nickInUse",bf,2a,9f,47),
- HX_("getFullJid",80,42,92,1f),
- HX_("getParticipants",16,0b,c7,34),
- HX_("getParticipantDetails",85,2b,7d,4d),
- HX_("getMessagesBefore",a1,f1,44,11),
- HX_("getMessagesAfter",3a,43,91,57),
- HX_("getMessagesAround",6f,95,16,2d),
- HX_("prepareIncomingMessage",ba,eb,c6,e3),
- HX_("prepareOutgoingMessage",f4,b0,f3,49),
- HX_("correctMessage",7d,36,c3,f4),
- HX_("sendMessage",5f,89,1d,24),
- HX_("removeReaction",0d,24,0b,c1),
- HX_("lastMessageId",4c,90,58,27),
- HX_("markReadUpTo",59,68,2d,ee),
- HX_("bookmark",b6,8c,f1,32),
- HX_("sendChatState",b1,21,95,6e),
- HX_("close",b8,17,63,48),
- ::String(null()) };
-
-::hx::Class Channel_obj::__mClass;
-
-void Channel_obj::__register()
-{
- Channel_obj _hx_dummy;
- Channel_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Channel",b2,3f,68,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(Channel_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< Channel_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Channel_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Channel_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-void Channel_obj::__boot()
-{
-{
- HX_STACKFRAME(&_hx_pos_5e4df8d46126c981_990_boot)
-HXDLIN( 990) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(20)
- ->setFixed(0,HX_("setPresence",fd,1b,38,97), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(1,HX_("syncing",67,fd,26,a7), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(2,HX_("livePresence",47,f9,16,b4), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(3,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_("canAudioCall",64,4a,90,e4), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(5,HX_("canVideoCall",89,1c,93,ea), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(6,HX_("markReadUpTo",59,68,2d,ee), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(7,HX_("correctMessage",7d,36,c3,f4), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(8,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(9,HX_("getCaps",d7,cb,3c,14), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(10,HX_("isTrusted",2d,35,a5,1a), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(11,HX_("sendMessage",5f,89,1d,24), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(12,HX_("lastMessageId",4c,90,58,27), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(13,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(14,HX_("bookmark",b6,8c,f1,32), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(15,HX_("getParticipants",16,0b,c7,34), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(16,HX_("preview",08,e0,da,3b), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(17,HX_("close",b8,17,63,48), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(18,HX_("getParticipantDetails",85,2b,7d,4d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(19,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
- }
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/Chat.cpp b/Sources/c_snikket/src/snikket/Chat.cpp
deleted file mode 100644
index f86447b..0000000
--- a/Sources/c_snikket/src/snikket/Chat.cpp
+++ /dev/null
@@ -1,2226 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
-#ifndef INCLUDED_StringTools
-#include <StringTools.h>
-#endif
-#ifndef INCLUDED__HaxeCBridge_Internal
-#include <_HaxeCBridge/Internal.h>
-#endif
-#ifndef INCLUDED_cpp_Int64Map
-#include <cpp/Int64Map.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
-#ifndef INCLUDED_haxe_io_Bytes
-#include <haxe/io/Bytes.h>
-#endif
-#ifndef INCLUDED_haxe_iterators_MapKeyValueIterator
-#include <haxe/iterators/MapKeyValueIterator.h>
-#endif
-#ifndef INCLUDED_snikket_Caps
-#include <snikket/Caps.h>
-#endif
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#include <snikket/ChatMessageBuilder.h>
-#endif
-#ifndef INCLUDED_snikket_Client
-#include <snikket/Client.h>
-#endif
-#ifndef INCLUDED_snikket_Color
-#include <snikket/Color.h>
-#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
-#endif
-#ifndef INCLUDED_snikket_GenericStream
-#include <snikket/GenericStream.h>
-#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
-#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
-#endif
-#ifndef INCLUDED_snikket_Identity
-#include <snikket/Identity.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_MessageStanza
-#include <snikket/MessageStanza.h>
-#endif
-#ifndef INCLUDED_snikket_MessageSync
-#include <snikket/MessageSync.h>
-#endif
-#ifndef INCLUDED_snikket_ModerationAction
-#include <snikket/ModerationAction.h>
-#endif
-#ifndef INCLUDED_snikket_Participant
-#include <snikket/Participant.h>
-#endif
-#ifndef INCLUDED_snikket_Persistence
-#include <snikket/Persistence.h>
-#endif
-#ifndef INCLUDED_snikket_Presence
-#include <snikket/Presence.h>
-#endif
-#ifndef INCLUDED_snikket_Reaction
-#include <snikket/Reaction.h>
-#endif
-#ifndef INCLUDED_snikket_ReactionUpdate
-#include <snikket/ReactionUpdate.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket__Util_Util_Fields_
-#include <snikket/_Util/Util_Fields_.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_DTMFSender
-#include <snikket/jingle/DTMFSender.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStream
-#include <snikket/jingle/MediaStream.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStreamTrack
-#include <snikket/jingle/MediaStreamTrack.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_OutgoingProposedSession
-#include <snikket/jingle/OutgoingProposedSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Session
-#include <snikket/jingle/Session.h>
-#endif
-#ifndef INCLUDED_thenshim_Thenable
-#include <thenshim/Thenable.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_43_new,"snikket.Chat","new",0x69f01dfb,"snikket.Chat.new","snikket/Chat.hx",43,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_308_chatId__fromC,"snikket.Chat","chatId__fromC",0x863b7961,"snikket.Chat.chatId__fromC","HaxeCBridge.hx",308,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_308_uiState__fromC,"snikket.Chat","uiState__fromC",0x25366141,"snikket.Chat.uiState__fromC","HaxeCBridge.hx",308,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_308_isBlocked__fromC,"snikket.Chat","isBlocked__fromC",0xbc9aae1c,"snikket.Chat.isBlocked__fromC","HaxeCBridge.hx",308,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_221_getMessagesBefore__fromC,"snikket.Chat","getMessagesBefore__fromC",0x76faff7d,"snikket.Chat.getMessagesBefore__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_252_getMessagesBefore__fromC,"snikket.Chat","getMessagesBefore__fromC",0x76faff7d,"snikket.Chat.getMessagesBefore__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_221_getMessagesAfter__fromC,"snikket.Chat","getMessagesAfter__fromC",0xc6ff459a,"snikket.Chat.getMessagesAfter__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_252_getMessagesAfter__fromC,"snikket.Chat","getMessagesAfter__fromC",0xc6ff459a,"snikket.Chat.getMessagesAfter__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_221_getMessagesAround__fromC,"snikket.Chat","getMessagesAround__fromC",0x0c8b916f,"snikket.Chat.getMessagesAround__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_252_getMessagesAround__fromC,"snikket.Chat","getMessagesAround__fromC",0x0c8b916f,"snikket.Chat.getMessagesAround__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_143_fetchFromSync,"snikket.Chat","fetchFromSync",0xa446a09a,"snikket.Chat.fetchFromSync","snikket/Chat.hx",143,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_128_fetchFromSync,"snikket.Chat","fetchFromSync",0xa446a09a,"snikket.Chat.fetchFromSync","snikket/Chat.hx",128,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_135_fetchFromSync,"snikket.Chat","fetchFromSync",0xa446a09a,"snikket.Chat.fetchFromSync","snikket/Chat.hx",135,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_127_fetchFromSync,"snikket.Chat","fetchFromSync",0xa446a09a,"snikket.Chat.fetchFromSync","snikket/Chat.hx",127,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_252_sendMessage__fromC,"snikket.Chat","sendMessage__fromC",0xcfa599bf,"snikket.Chat.sendMessage__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_252_markReadUpTo__fromC,"snikket.Chat","markReadUpTo__fromC",0xb4ac28db,"snikket.Chat.markReadUpTo__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_252_bookmark__fromC,"snikket.Chat","bookmark__fromC",0xb349509e,"snikket.Chat.bookmark__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_250_getParticipants__fromC,"snikket.Chat","getParticipants__fromC",0x549a1368,"snikket.Chat.getParticipants__fromC","HaxeCBridge.hx",250,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_252_getParticipantDetails__fromC,"snikket.Chat","getParticipantDetails__fromC",0x3039b099,"snikket.Chat.getParticipantDetails__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_252_correctMessage__fromC,"snikket.Chat","correctMessage__fromC",0x7adc83f7,"snikket.Chat.correctMessage__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_203_addReaction,"snikket.Chat","addReaction",0xe26cff85,"snikket.Chat.addReaction","snikket/Chat.hx",203,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_206_addReaction,"snikket.Chat","addReaction",0xe26cff85,"snikket.Chat.addReaction","snikket/Chat.hx",206,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_198_addReaction,"snikket.Chat","addReaction",0xe26cff85,"snikket.Chat.addReaction","snikket/Chat.hx",198,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_252_removeReaction__fromC,"snikket.Chat","removeReaction__fromC",0xb57c6867,"snikket.Chat.removeReaction__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_251_typing,"snikket.Chat","typing",0x22ffe3bc,"snikket.Chat.typing","snikket/Chat.hx",251,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_230_typing,"snikket.Chat","typing",0x22ffe3bc,"snikket.Chat.typing","snikket/Chat.hx",230,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_245_typing,"snikket.Chat","typing",0x22ffe3bc,"snikket.Chat.typing","snikket/Chat.hx",245,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_269_setActive,"snikket.Chat","setActive",0x1ec0aae3,"snikket.Chat.setActive","snikket/Chat.hx",269,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_252_close__fromC,"snikket.Chat","close__fromC",0x4574e6c6,"snikket.Chat.close__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_294_togglePinned,"snikket.Chat","togglePinned",0x82375cd1,"snikket.Chat.togglePinned","snikket/Chat.hx",294,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_304_block,"snikket.Chat","block",0xf87b9fa8,"snikket.Chat.block","snikket/Chat.hx",304,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_321_block,"snikket.Chat","block",0xf87b9fa8,"snikket.Chat.block","snikket/Chat.hx",321,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_328_unblock,"snikket.Chat","unblock",0x32f0236f,"snikket.Chat.unblock","snikket/Chat.hx",328,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_338_unblock,"snikket.Chat","unblock",0x32f0236f,"snikket.Chat.unblock","snikket/Chat.hx",338,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_345_setNotificationsInternal,"snikket.Chat","setNotificationsInternal",0x8cf50208,"snikket.Chat.setNotificationsInternal","snikket/Chat.hx",345,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_355_setNotifications,"snikket.Chat","setNotifications",0xb3d8bbab,"snikket.Chat.setNotifications","snikket/Chat.hx",355,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_366_notificationsFiltered,"snikket.Chat","notificationsFiltered",0x958be1ba,"snikket.Chat.notificationsFiltered","snikket/Chat.hx",366,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_373_notifyMention,"snikket.Chat","notifyMention",0x4bac447c,"snikket.Chat.notifyMention","snikket/Chat.hx",373,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_380_notifyReply,"snikket.Chat","notifyReply",0xf1fbc63c,"snikket.Chat.notifyReply","snikket/Chat.hx",380,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_252_lastMessageId__fromC,"snikket.Chat","lastMessageId__fromC",0xf7fe75b2,"snikket.Chat.lastMessageId__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_392_lastMessageTimestamp,"snikket.Chat","lastMessageTimestamp",0x5028348a,"snikket.Chat.lastMessageTimestamp","snikket/Chat.hx",392,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_396_updateFromBookmark,"snikket.Chat","updateFromBookmark",0x2780dcae,"snikket.Chat.updateFromBookmark","snikket/Chat.hx",396,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_405_updateFromRoster,"snikket.Chat","updateFromRoster",0x1d9e4f83,"snikket.Chat.updateFromRoster","snikket/Chat.hx",405,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_413_getPhoto,"snikket.Chat","getPhoto",0xd6c858c1,"snikket.Chat.getPhoto","snikket/Chat.hx",413,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_422_getPlaceholder,"snikket.Chat","getPlaceholder",0xa955f8c2,"snikket.Chat.getPlaceholder","snikket/Chat.hx",422,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_429_readUpTo,"snikket.Chat","readUpTo",0x2aa097b1,"snikket.Chat.readUpTo","snikket/Chat.hx",429,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_436_unreadCount,"snikket.Chat","unreadCount",0x5b4cf8bb,"snikket.Chat.unreadCount","snikket/Chat.hx",436,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_441_setUnreadCount,"snikket.Chat","setUnreadCount",0xaf7385e3,"snikket.Chat.setUnreadCount","snikket/Chat.hx",441,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_447_preview,"snikket.Chat","preview",0xbd3d9723,"snikket.Chat.preview","snikket/Chat.hx",447,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_460_setLastMessage,"snikket.Chat","setLastMessage",0x5d3f57d4,"snikket.Chat.setLastMessage","snikket/Chat.hx",460,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_463_setDisplayName,"snikket.Chat","setDisplayName",0x3f747f70,"snikket.Chat.setDisplayName","snikket/Chat.hx",463,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_471_getDisplayName,"snikket.Chat","getDisplayName",0x1f5496fc,"snikket.Chat.getDisplayName","snikket/Chat.hx",471,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_489_setPresence,"snikket.Chat","setPresence",0x5193fc98,"snikket.Chat.setPresence","snikket/Chat.hx",489,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_493_setCaps,"snikket.Chat","setCaps",0x88a113fe,"snikket.Chat.setCaps","snikket/Chat.hx",493,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_505_removePresence,"snikket.Chat","removePresence",0x97f1c0e4,"snikket.Chat.removePresence","snikket/Chat.hx",505,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_513_getCaps,"snikket.Chat","getCaps",0x959f82f2,"snikket.Chat.getCaps","snikket/Chat.hx",513,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_509_getCaps,"snikket.Chat","getCaps",0x959f82f2,"snikket.Chat.getCaps","snikket/Chat.hx",509,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_522_getResourceCaps,"snikket.Chat","getResourceCaps",0x30ef43e0,"snikket.Chat.getResourceCaps","snikket/Chat.hx",522,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_527_setAvatarSha1,"snikket.Chat","setAvatarSha1",0xd1ceb0db,"snikket.Chat.setAvatarSha1","snikket/Chat.hx",527,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_531_setTrusted,"snikket.Chat","setTrusted",0x7948483a,"snikket.Chat.setTrusted","snikket/Chat.hx",531,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_538_isTrusted,"snikket.Chat","isTrusted",0xc3782908,"snikket.Chat.isTrusted","snikket/Chat.hx",538,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_543_livePresence,"snikket.Chat","livePresence",0x0a1fa04c,"snikket.Chat.livePresence","snikket/Chat.hx",543,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_547_syncing,"snikket.Chat","syncing",0x2889b482,"snikket.Chat.syncing","snikket/Chat.hx",547,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_553_canAudioCall,"snikket.Chat","canAudioCall",0x3a98f169,"snikket.Chat.canAudioCall","snikket/Chat.hx",553,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_564_canVideoCall,"snikket.Chat","canVideoCall",0x409bc38e,"snikket.Chat.canVideoCall","snikket/Chat.hx",564,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_578_startCall,"snikket.Chat","startCall",0xa38085fb,"snikket.Chat.startCall","snikket/Chat.hx",578,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_585_addMedia,"snikket.Chat","addMedia",0x3416ab88,"snikket.Chat.addMedia","snikket/Chat.hx",585,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_594_acceptCall,"snikket.Chat","acceptCall",0xc4d6678b,"snikket.Chat.acceptCall","snikket/Chat.hx",594,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_603_hangup,"snikket.Chat","hangup",0x83c5b792,"snikket.Chat.hangup","snikket/Chat.hx",603,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_612_callStatus,"snikket.Chat","callStatus",0x40ee2a35,"snikket.Chat.callStatus","snikket/Chat.hx",612,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_623_dtmf,"snikket.Chat","dtmf",0x419954ee,"snikket.Chat.dtmf","snikket/Chat.hx",623,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_636_videoTracks,"snikket.Chat","videoTracks",0x7880a2fe,"snikket.Chat.videoTracks","snikket/Chat.hx",636,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_12e7dd114cfbd541_250_videoTracks__fromC,"snikket.Chat","videoTracks__fromC",0xb4b1493b,"snikket.Chat.videoTracks__fromC","HaxeCBridge.hx",250,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_647_markReadUpToId,"snikket.Chat","markReadUpToId",0x495f62d9,"snikket.Chat.markReadUpToId","snikket/Chat.hx",647,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_640_markReadUpToId,"snikket.Chat","markReadUpToId",0x495f62d9,"snikket.Chat.markReadUpToId","snikket/Chat.hx",640,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_666_markReadUpToMessage,"snikket.Chat","markReadUpToMessage",0xab221609,"snikket.Chat.markReadUpToMessage","snikket/Chat.hx",666,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_657_markReadUpToMessage,"snikket.Chat","markReadUpToMessage",0xab221609,"snikket.Chat.markReadUpToMessage","snikket/Chat.hx",657,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_691_publishMds,"snikket.Chat","publishMds",0x809032b2,"snikket.Chat.publishMds","snikket/Chat.hx",691,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_707_publishMds,"snikket.Chat","publishMds",0x809032b2,"snikket.Chat.publishMds","snikket/Chat.hx",707,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_673_publishMds,"snikket.Chat","publishMds",0x809032b2,"snikket.Chat.publishMds","snikket/Chat.hx",673,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_3993c1e3d3f53fe2_43_boot,"snikket.Chat","boot",0x40431e37,"snikket.Chat.boot","snikket/Chat.hx",43,0x18616bf4)
-namespace snikket{
-
-void Chat_obj::__construct( ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy){
- int uiState = __o_uiState.Default(1);
- bool isBlocked = __o_isBlocked.Default(false);
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_43_new)
-HXLINE( 78) this->notificationSettings = null();
-HXLINE( 77) this->activeThread = null();
-HXLINE( 76) this->isActive = null();
-HXLINE( 75) this->typingTimer = null();
-HXLINE( 74) this->typingThread = null();
-HXLINE( 73) this->isTyping = false;
-HXLINE( 68) this->_unreadCount = 0;
-HXLINE( 65) this->isBlocked = false;
-HXLINE( 64) this->uiState = 1;
-HXLINE( 57) this->jingleSessions = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 51) this->trusted = false;
-HXLINE( 50) this->presence = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 48) this->avatarSha1 = null();
-HXLINE( 82) this->client = client;
-HXLINE( 83) this->stream = stream;
-HXLINE( 84) this->persistence = persistence;
-HXLINE( 85) this->chatId = chatId;
-HXLINE( 86) this->uiState = uiState;
-HXLINE( 87) this->isBlocked = isBlocked;
-HXLINE( 88) ::snikket::Stanza tmp = extensions;
-HXDLIN( 88) ::snikket::Stanza _hx_tmp;
-HXDLIN( 88) if (::hx::IsNotNull( tmp )) {
-HXLINE( 88) _hx_tmp = tmp;
- }
- else {
-HXLINE( 88) _hx_tmp = ::snikket::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))));
- }
-HXDLIN( 88) this->extensions = _hx_tmp;
-HXLINE( 89) this->readUpToId = readUpToId;
-HXLINE( 90) this->readUpToBy = readUpToBy;
-HXLINE( 91) this->displayName = chatId;
- }
-
-bool Chat_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x026b7f35;
-}
-
-::String Chat_obj::chatId__fromC(){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_308_chatId__fromC)
-HXDLIN( 308) return this->chatId;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,chatId__fromC,return )
-
-int Chat_obj::uiState__fromC(){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_308_uiState__fromC)
-HXDLIN( 308) return this->uiState;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,uiState__fromC,return )
-
-bool Chat_obj::isBlocked__fromC(){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_308_isBlocked__fromC)
-HXDLIN( 308) return this->isBlocked;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,isBlocked__fromC,return )
-
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,prepareIncomingMessage,return )
-
-HX_DEFINE_DYNAMIC_FUNC3(Chat_obj,getMessagesBefore,(void))
-
-void Chat_obj::getMessagesBefore__fromC(::String beforeId,::String beforeTime,::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context){
- 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> a0){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_221_getMessagesBefore__fromC)
-HXLINE( 221) ::cpp::Function< void (void**,size_t,void*) > handler1 = handler;
-HXLINE( 211) {
-HXLINE( 211) int _g = 0;
-HXDLIN( 211) while((_g < a0->length)){
-HXLINE( 211) ::snikket::ChatMessage el = a0->__get(_g).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 211) _g = (_g + 1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic haxeObject = el;
-HXDLIN( 211) void* ptr = haxeObject.mPtr;
-HXDLIN( 211) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 211) if (::hx::IsNull( store )) {
-HXLINE( 211) 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( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 211) void** ptr1 = (void**)a0->getBase();
-HXDLIN( 211) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 211) if (::hx::IsNull( store1 )) {
-HXLINE( 211) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a0));
-HXDLIN( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) handler1(ptr1,( (size_t)(a0->length) ),handler__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_252_getMessagesBefore__fromC)
-HXDLIN( 252) this->getMessagesBefore(beforeId,beforeTime, ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Chat_obj,getMessagesAfter,(void))
-
-void Chat_obj::getMessagesAfter__fromC(::String afterId,::String afterTime,::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context){
- 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> a0){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_221_getMessagesAfter__fromC)
-HXLINE( 221) ::cpp::Function< void (void**,size_t,void*) > handler1 = handler;
-HXLINE( 211) {
-HXLINE( 211) int _g = 0;
-HXDLIN( 211) while((_g < a0->length)){
-HXLINE( 211) ::snikket::ChatMessage el = a0->__get(_g).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 211) _g = (_g + 1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic haxeObject = el;
-HXDLIN( 211) void* ptr = haxeObject.mPtr;
-HXDLIN( 211) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 211) if (::hx::IsNull( store )) {
-HXLINE( 211) 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( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 211) void** ptr1 = (void**)a0->getBase();
-HXDLIN( 211) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 211) if (::hx::IsNull( store1 )) {
-HXLINE( 211) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a0));
-HXDLIN( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) handler1(ptr1,( (size_t)(a0->length) ),handler__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_252_getMessagesAfter__fromC)
-HXDLIN( 252) this->getMessagesAfter(afterId,afterTime, ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Chat_obj,getMessagesAround,(void))
-
-void Chat_obj::getMessagesAround__fromC(::String aroundId,::String aroundTime,::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context){
- 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> a0){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_221_getMessagesAround__fromC)
-HXLINE( 221) ::cpp::Function< void (void**,size_t,void*) > handler1 = handler;
-HXLINE( 211) {
-HXLINE( 211) int _g = 0;
-HXDLIN( 211) while((_g < a0->length)){
-HXLINE( 211) ::snikket::ChatMessage el = a0->__get(_g).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 211) _g = (_g + 1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic haxeObject = el;
-HXDLIN( 211) void* ptr = haxeObject.mPtr;
-HXDLIN( 211) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 211) if (::hx::IsNull( store )) {
-HXLINE( 211) 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( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 211) void** ptr1 = (void**)a0->getBase();
-HXDLIN( 211) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 211) if (::hx::IsNull( store1 )) {
-HXLINE( 211) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a0));
-HXDLIN( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) handler1(ptr1,( (size_t)(a0->length) ),handler__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_252_getMessagesAround__fromC)
-HXDLIN( 252) this->getMessagesAround(aroundId,aroundTime, ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Chat_obj::fetchFromSync( ::snikket::MessageSync sync, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::snikket::Chat,_gthis, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::Dynamic messageList){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::snikket::Chat,_gthis, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> chatMessages){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_143_fetchFromSync)
-HXLINE( 143) ::Dynamic callback1 = callback;
-HXDLIN( 143) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 143) {
-HXLINE( 143) int _g1 = 0;
-HXDLIN( 143) ::Array< ::Dynamic> _g2 = chatMessages;
-HXDLIN( 143) while((_g1 < _g2->length)){
-HXLINE( 143) ::snikket::ChatMessage v = _g2->__get(_g1).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 143) _g1 = (_g1 + 1);
-HXDLIN( 143) bool _hx_tmp;
-HXDLIN( 143) if (::hx::IsNotNull( v )) {
-HXLINE( 143) ::String _hx_tmp1 = v->chatId();
-HXDLIN( 143) _hx_tmp = (_hx_tmp1 == _gthis->chatId);
- }
- else {
-HXLINE( 143) _hx_tmp = false;
- }
-HXDLIN( 143) if (_hx_tmp) {
-HXLINE( 143) _g->push(v);
- }
- }
- }
-HXDLIN( 143) callback1(_g);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_128_fetchFromSync)
-HXLINE( 129) ::Array< ::Dynamic> chatMessages = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 130) {
-HXLINE( 130) int _g = 0;
-HXDLIN( 130) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(messageList->__Field(HX_("messages",cc,d8,fd,34),::hx::paccDynamic)) );
-HXDLIN( 130) while((_g < _g1->length)){
-HXLINE( 130) ::snikket::MessageStanza m = _g1->__get(_g).StaticCast< ::snikket::MessageStanza >();
-HXDLIN( 130) _g = (_g + 1);
-HXLINE( 131) switch((int)(m->_hx_getIndex())){
- case (int)1: {
-HXLINE( 132) ::snikket::ChatMessage message = m->_hx_getObject(0).StaticCast< ::snikket::ChatMessage >();
-HXLINE( 133) chatMessages->push(message);
- }
- break;
- case (int)2: {
-HXLINE( 136) ::snikket::ModerationAction action = m->_hx_getObject(0).StaticCast< ::snikket::ModerationAction >();
-HXLINE( 137) _gthis->client->moderateMessage(action);
- }
- break;
- case (int)3: {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage m){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_135_fetchFromSync)
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 134) ::snikket::ReactionUpdate update = m->_hx_getObject(0).StaticCast< ::snikket::ReactionUpdate >();
-HXLINE( 135) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 135) ::snikket::Persistence_obj::storeReaction(_gthis1,_gthis->client->accountId(),update, ::Dynamic(new _hx_Closure_0()));
- }
- break;
- default:{
- }
- }
- }
- }
-HXLINE( 142) _gthis->client->storeMessages(chatMessages, ::Dynamic(new _hx_Closure_1(_gthis,callback)));
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_127_fetchFromSync)
-HXDLIN( 127) ::snikket::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 128) sync->onMessages( ::Dynamic(new _hx_Closure_2(_gthis,callback)));
-HXLINE( 146) sync->fetchNext();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,fetchFromSync,(void))
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,sendMessage,(void))
-
-void Chat_obj::sendMessage__fromC( ::snikket::ChatMessageBuilder message){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_252_sendMessage__fromC)
-HXDLIN( 252) this->sendMessage(message);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,sendMessage__fromC,(void))
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,markReadUpTo,(void))
-
-void Chat_obj::markReadUpTo__fromC( ::snikket::ChatMessage message){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_252_markReadUpTo__fromC)
-HXDLIN( 252) this->markReadUpTo(message);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,markReadUpTo__fromC,(void))
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,bookmark,(void))
-
-void Chat_obj::bookmark__fromC(){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_252_bookmark__fromC)
-HXDLIN( 252) this->bookmark();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,bookmark__fromC,(void))
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,getParticipants,return )
-
-size_t Chat_obj::getParticipants__fromC(const char*** outPtr){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_250_getParticipants__fromC)
-HXDLIN( 250) ::Array< ::String > out = this->getParticipants();
-HXDLIN( 250) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 250) ::cpp::Pointer< const char** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 250) ::Array< size_t > arr = ::Array_obj< size_t >::__new(out->length);
-HXDLIN( 250) {
-HXDLIN( 250) int _g_current = 0;
-HXDLIN( 250) ::Array< ::String > _g_array = out;
-HXDLIN( 250) while((_g_current < _g_array->length)){
-HXDLIN( 250) ::String _g_value = _g_array->__get(_g_current);
-HXDLIN( 250) _g_current = (_g_current + 1);
-HXDLIN( 250) int _g_key = (_g_current - 1);
-HXDLIN( 250) int i = _g_key;
-HXDLIN( 250) ::String el = _g_value;
-HXDLIN( 250) {
-HXDLIN( 250) const char* cStrPtr = el.utf8_str();
-HXDLIN( 250) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 250) if (::hx::IsNull( store )) {
-HXLINE(2111) 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( 250) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXDLIN( 250) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 250) const char* ptr = cStrPtr;
-HXDLIN( 250) arr[i] = reinterpret_cast<size_t>(ptr);
- }
- }
- }
-HXDLIN( 250) void** ptr1 = (void**)arr->getBase();
-HXDLIN( 250) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 250) if (::hx::IsNull( store1 )) {
-HXLINE(2111) 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( 250) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXDLIN( 250) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 250) _hx_tmp->set_ref(( (const char**)(ptr1) ));
- }
-HXDLIN( 250) return ( (size_t)(out->length) );
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,getParticipantDetails,return )
-
- ::snikket::Participant Chat_obj::getParticipantDetails__fromC(::String participantId){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_252_getParticipantDetails__fromC)
-HXDLIN( 252) return this->getParticipantDetails(participantId);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,getParticipantDetails__fromC,return )
-
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,correctMessage,(void))
-
-void Chat_obj::correctMessage__fromC(::String localId, ::snikket::ChatMessageBuilder message){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_252_correctMessage__fromC)
-HXDLIN( 252) this->correctMessage(localId,message);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,correctMessage__fromC,(void))
-
-void Chat_obj::addReaction( ::snikket::ChatMessage m, ::snikket::Reaction reaction){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::ChatMessageBuilder,toSend) HXARGC(1)
- void _hx_run(::String text){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_203_addReaction)
-HXLINE( 203) toSend->text = ::StringTools_obj::replace(text,HX_W(u"\ufe0f",fb86,00b5),HX_("",00,00,00,00));
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::snikket::ChatMessageBuilder,toSend) HXARGC(2)
- void _hx_run(::String text,::String uri){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_206_addReaction)
-HXLINE( 207) ::snikket::Hash hash = ::snikket::Hash_obj::fromUri(uri);
-HXLINE( 208) ::snikket::ChatMessageBuilder toSend1 = toSend;
-HXDLIN( 208) ::String _hx_tmp = ((HX_("<img alt=\"",15,9f,1a,99) + ::snikket::_Util::Util_Fields__obj::xmlEscape(text)) + HX_("\" src=\"",ab,ae,ff,d3));
-HXDLIN( 208) ::String _hx_tmp1;
-HXDLIN( 208) if (::hx::IsNull( hash )) {
-HXLINE( 208) _hx_tmp1 = uri;
- }
- else {
-HXLINE( 208) _hx_tmp1 = hash->bobUri();
- }
-HXDLIN( 208) toSend1->setHtml(((_hx_tmp + ::snikket::_Util::Util_Fields__obj::xmlEscape(_hx_tmp1)) + HX_("\" />",6d,b2,91,16)));
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_198_addReaction)
-HXLINE( 199) ::snikket::ChatMessageBuilder toSend = m->reply();
-HXLINE( 200) toSend->localId = ::snikket::ID_obj::_hx_long();
-HXLINE( 201) reaction->render( ::Dynamic(new _hx_Closure_0(toSend)), ::Dynamic(new _hx_Closure_1(toSend)));
-HXLINE( 211) this->sendMessage(toSend);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,addReaction,(void))
-
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,removeReaction,(void))
-
-void Chat_obj::removeReaction__fromC( ::snikket::ChatMessage m, ::snikket::Reaction reaction){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_252_removeReaction__fromC)
-HXDLIN( 252) this->removeReaction(m,reaction);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,removeReaction__fromC,(void))
-
-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, ::snikket::Chat,_gthis) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_251_typing)
-HXLINE( 252) _gthis->sendChatState(HX_("paused",ae,40,84,ef),_gthis->typingThread);
-HXLINE( 253) _gthis->isTyping = false;
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_230_typing)
-HXDLIN( 230) ::snikket::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 231) bool _hx_tmp;
-HXDLIN( 231) if ((threadId != this->typingThread)) {
-HXLINE( 231) _hx_tmp = this->isTyping;
- }
- else {
-HXLINE( 231) _hx_tmp = false;
- }
-HXDLIN( 231) if (_hx_tmp) {
-HXLINE( 233) this->sendChatState(HX_("paused",ae,40,84,ef),this->typingThread);
-HXLINE( 234) this->isTyping = false;
- }
-HXLINE( 237) this->typingThread = threadId;
-HXLINE( 238) if (::hx::IsNotNull( this->typingTimer )) {
-HXLINE( 238) this->typingTimer->stop();
- }
-HXLINE( 240) if ((content == HX_("",00,00,00,00))) {
-HXLINE( 241) this->isTyping = false;
-HXLINE( 242) this->sendChatState(HX_("active",c6,41,46,16),this->typingThread);
-HXLINE( 243) if (::hx::IsNull( this->isActive )) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::Chat,_gthis) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_245_typing)
-HXLINE( 245) _gthis->sendChatState(HX_("inactive",6b,17,30,6a),_gthis->typingThread);
- }
- HX_END_LOCAL_FUNC0((void))
-
-HXLINE( 244) this->typingTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_0(_gthis)),30000);
- }
-HXLINE( 248) return;
- }
-HXLINE( 251) this->typingTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(_gthis)),10000);
-HXLINE( 256) if (this->isTyping) {
-HXLINE( 256) return;
- }
-HXLINE( 257) this->isTyping = true;
-HXLINE( 258) 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_3993c1e3d3f53fe2_269_setActive)
-HXLINE( 270) if (::hx::IsNotNull( this->typingTimer )) {
-HXLINE( 270) this->typingTimer->stop();
- }
-HXLINE( 271) this->isTyping = false;
-HXLINE( 273) bool _hx_tmp;
-HXDLIN( 273) bool _hx_tmp1;
-HXDLIN( 273) if (( (bool)(this->isActive) )) {
-HXLINE( 273) _hx_tmp1 = active;
- }
- else {
-HXLINE( 273) _hx_tmp1 = false;
- }
-HXDLIN( 273) if (_hx_tmp1) {
-HXLINE( 273) _hx_tmp = (threadId != this->activeThread);
- }
- else {
-HXLINE( 273) _hx_tmp = false;
- }
-HXDLIN( 273) if (_hx_tmp) {
-HXLINE( 274) this->sendChatState(HX_("inactive",6b,17,30,6a),this->activeThread);
-HXLINE( 275) this->isActive = false;
- }
-HXLINE( 277) if (::hx::IsNotNull( this->isActive )) {
-HXLINE( 278) bool _hx_tmp2;
-HXDLIN( 278) if (( (bool)(this->isActive) )) {
-HXLINE( 278) _hx_tmp2 = active;
- }
- else {
-HXLINE( 278) _hx_tmp2 = false;
- }
-HXDLIN( 278) if (_hx_tmp2) {
-HXLINE( 278) return;
- }
-HXLINE( 279) bool _hx_tmp3;
-HXDLIN( 279) if (!(( (bool)(this->isActive) ))) {
-HXLINE( 279) _hx_tmp3 = !(active);
- }
- else {
-HXLINE( 279) _hx_tmp3 = false;
- }
-HXDLIN( 279) if (_hx_tmp3) {
-HXLINE( 279) return;
- }
- }
-HXLINE( 281) this->isActive = active;
-HXLINE( 282) this->activeThread = threadId;
-HXLINE( 283) ::String _hx_tmp4;
-HXDLIN( 283) if (active) {
-HXLINE( 283) _hx_tmp4 = HX_("active",c6,41,46,16);
- }
- else {
-HXLINE( 283) _hx_tmp4 = HX_("inactive",6b,17,30,6a);
- }
-HXDLIN( 283) this->sendChatState(_hx_tmp4,this->activeThread);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,setActive,(void))
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,close,(void))
-
-void Chat_obj::close__fromC(){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_252_close__fromC)
-HXDLIN( 252) this->close();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,close__fromC,(void))
-
-void Chat_obj::togglePinned(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_294_togglePinned)
-HXLINE( 295) int _hx_tmp;
-HXDLIN( 295) if ((this->uiState == 0)) {
-HXLINE( 295) _hx_tmp = 1;
- }
- else {
-HXLINE( 295) _hx_tmp = 0;
- }
-HXDLIN( 295) this->uiState = _hx_tmp;
-HXLINE( 296) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN( 296) ::snikket::Persistence_obj::storeChats(_hx_tmp1,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE( 297) this->client->sortChats();
-HXLINE( 298) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,togglePinned,(void))
-
-void Chat_obj::block( ::snikket::ChatMessage reportSpam,::hx::Null< bool > __o_onServer){
- bool onServer = __o_onServer.Default(true);
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_304_block)
-HXLINE( 305) bool _hx_tmp;
-HXDLIN( 305) if (::hx::IsNotNull( reportSpam )) {
-HXLINE( 305) _hx_tmp = !(onServer);
- }
- else {
-HXLINE( 305) _hx_tmp = false;
- }
-HXDLIN( 305) if (_hx_tmp) {
-HXLINE( 305) HX_STACK_DO_THROW(HX_("Can't report SPAM if not sending to server",60,59,79,c5));
- }
-HXLINE( 306) this->isBlocked = true;
-HXLINE( 307) if ((this->uiState == 2)) {
-HXLINE( 308) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN( 308) ::snikket::Persistence_obj::storeChats(_hx_tmp1,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
- }
- else {
-HXLINE( 310) this->close();
- }
-HXLINE( 312) if (onServer) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- void _hx_run( ::snikket::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_321_block)
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 313) ::String iq = ::snikket::ID_obj::_hx_short();
-HXDLIN( 313) ::snikket::Stanza iq1 = ::snikket::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),this->chatId)));
-HXLINE( 316) if (::hx::IsNotNull( reportSpam )) {
-HXLINE( 317) 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))))->tag(HX_("stanza-id",73,8a,54,e9), ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("by",d7,55,00,00),reportSpam->serverIdBy)
- ->setFixed(1,HX_("id",db,5b,00,00),reportSpam->serverId)
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:sid:0",a8,4b,37,54))));
- }
-HXLINE( 321) this->stream->sendIq(iq1, ::Dynamic(new _hx_Closure_0()));
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,block,(void))
-
-void Chat_obj::unblock(bool onServer){
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_328_unblock)
-HXLINE( 329) this->isBlocked = false;
-HXLINE( 330) this->uiState = 1;
-HXLINE( 331) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 331) ::snikket::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE( 332) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE( 333) if (onServer) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- void _hx_run( ::snikket::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_338_unblock)
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 334) ::snikket::GenericStream _hx_tmp1 = this->stream;
-HXLINE( 335) ::String _hx_tmp2 = ::snikket::ID_obj::_hx_short();
-HXLINE( 334) _hx_tmp1->sendIq( ::snikket::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()));
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,unblock,(void))
-
-void Chat_obj::setNotificationsInternal(bool filtered,bool mention,bool reply){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_345_setNotificationsInternal)
-HXDLIN( 345) if (filtered) {
-HXLINE( 346) 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( 348) 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_3993c1e3d3f53fe2_355_setNotifications)
-HXLINE( 356) this->setNotificationsInternal(filtered,mention,reply);
-HXLINE( 357) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 357) ::snikket::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE( 358) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE( 359) this->client->updatePushIfEnabled();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Chat_obj,setNotifications,(void))
-
-bool Chat_obj::notificationsFiltered(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_366_notificationsFiltered)
-HXDLIN( 366) return ::hx::IsNotNull( this->notificationSettings );
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,notificationsFiltered,return )
-
-bool Chat_obj::notifyMention(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_373_notifyMention)
-HXDLIN( 373) if (::hx::IsNotNull( this->notificationSettings )) {
-HXDLIN( 373) return ( (bool)(this->notificationSettings->__Field(HX_("mention",ea,9e,bf,b9),::hx::paccDynamic)) );
- }
- else {
-HXDLIN( 373) return true;
- }
-HXDLIN( 373) return false;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,notifyMention,return )
-
-bool Chat_obj::notifyReply(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_380_notifyReply)
-HXDLIN( 380) if (::hx::IsNotNull( this->notificationSettings )) {
-HXDLIN( 380) return ( (bool)(this->notificationSettings->__Field(HX_("reply",2a,09,c6,e6),::hx::paccDynamic)) );
- }
- else {
-HXDLIN( 380) return true;
- }
-HXDLIN( 380) return false;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,notifyReply,return )
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,lastMessageId,return )
-
-::String Chat_obj::lastMessageId__fromC(){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_252_lastMessageId__fromC)
-HXDLIN( 252) return this->lastMessageId();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,lastMessageId__fromC,return )
-
-::String Chat_obj::lastMessageTimestamp(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_392_lastMessageTimestamp)
-HXDLIN( 392) ::snikket::ChatMessage tmp = this->lastMessage;
-HXDLIN( 392) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 392) return tmp->timestamp;
- }
- else {
-HXDLIN( 392) return null();
- }
-HXDLIN( 392) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,lastMessageTimestamp,return )
-
-void Chat_obj::updateFromBookmark( ::snikket::Stanza item){
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_396_updateFromBookmark)
-HXLINE( 397) ::snikket::Stanza conf = item->getChild(HX_("conference",1c,2b,83,41),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d));
-HXLINE( 398) ::String fn = ( (::String)(::Reflect_obj::field(conf->attr,HX_("name",4b,72,ff,48))) );
-HXLINE( 399) if (::hx::IsNotNull( fn )) {
-HXLINE( 399) this->displayName = fn;
- }
-HXLINE( 400) int _hx_tmp;
-HXDLIN( 400) bool _hx_tmp1;
-HXDLIN( 400) if ((( (::String)(::Reflect_obj::field(conf->attr,HX_("autojoin",d9,f6,b1,3e))) ) != HX_("1",31,00,00,00))) {
-HXLINE( 400) _hx_tmp1 = (( (::String)(::Reflect_obj::field(conf->attr,HX_("autojoin",d9,f6,b1,3e))) ) == HX_("true",4e,a7,03,4d));
- }
- else {
-HXLINE( 400) _hx_tmp1 = true;
- }
-HXDLIN( 400) if (_hx_tmp1) {
-HXLINE( 400) if ((this->uiState == 0)) {
-HXLINE( 400) _hx_tmp = 0;
- }
- else {
-HXLINE( 400) _hx_tmp = 1;
- }
- }
- else {
-HXLINE( 400) _hx_tmp = 2;
- }
-HXDLIN( 400) this->uiState = _hx_tmp;
-HXLINE( 401) ::snikket::Stanza tmp = conf->getChild(HX_("extensions",14,7c,70,89),null());
-HXDLIN( 401) ::snikket::Stanza _hx_tmp2;
-HXDLIN( 401) if (::hx::IsNotNull( tmp )) {
-HXLINE( 401) _hx_tmp2 = tmp;
- }
- else {
-HXLINE( 401) _hx_tmp2 = ::snikket::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))));
- }
-HXDLIN( 401) this->extensions = _hx_tmp2;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,updateFromBookmark,(void))
-
-void Chat_obj::updateFromRoster( ::Dynamic item){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_405_updateFromRoster)
-HXLINE( 406) bool _hx_tmp;
-HXDLIN( 406) if (::hx::IsNotEq( item->__Field(HX_("subscription",1d,ff,00,36),::hx::paccDynamic),HX_("both",81,88,1b,41) )) {
-HXLINE( 406) _hx_tmp = ::hx::IsEq( item->__Field(HX_("subscription",1d,ff,00,36),::hx::paccDynamic),HX_("from",6a,a5,c2,43) );
- }
- else {
-HXLINE( 406) _hx_tmp = true;
- }
-HXDLIN( 406) this->setTrusted(_hx_tmp);
-HXLINE( 407) bool _hx_tmp1;
-HXDLIN( 407) if (::hx::IsNotNull( item->__Field(HX_("fn",48,59,00,00),::hx::paccDynamic) )) {
-HXLINE( 407) _hx_tmp1 = ::hx::IsNotEq( item->__Field(HX_("fn",48,59,00,00),::hx::paccDynamic),HX_("",00,00,00,00) );
- }
- else {
-HXLINE( 407) _hx_tmp1 = false;
- }
-HXDLIN( 407) if (_hx_tmp1) {
-HXLINE( 407) this->displayName = ( (::String)(item->__Field(HX_("fn",48,59,00,00),::hx::paccDynamic)) );
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,updateFromRoster,(void))
-
-::String Chat_obj::getPhoto(){
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_413_getPhoto)
-HXLINE( 414) bool _hx_tmp;
-HXDLIN( 414) if (::hx::IsNotNull( this->avatarSha1 )) {
-HXLINE( 414) _hx_tmp = (::haxe::io::Bytes_obj::ofData(this->avatarSha1)->length < 1);
- }
- else {
-HXLINE( 414) _hx_tmp = true;
- }
-HXDLIN( 414) if (_hx_tmp) {
-HXLINE( 414) return null();
- }
-HXLINE( 415) return ::snikket::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_3993c1e3d3f53fe2_422_getPlaceholder)
-HXDLIN( 422) ::String _hx_tmp = this->chatId;
-HXDLIN( 422) return ::snikket::Color_obj::defaultPhoto(_hx_tmp,this->getDisplayName().charAt(0).toUpperCase());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,getPlaceholder,return )
-
-::String Chat_obj::readUpTo(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_429_readUpTo)
-HXDLIN( 429) return this->readUpToId;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,readUpTo,return )
-
-int Chat_obj::unreadCount(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_436_unreadCount)
-HXDLIN( 436) return this->_unreadCount;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,unreadCount,return )
-
-void Chat_obj::setUnreadCount(int count){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_441_setUnreadCount)
-HXDLIN( 441) this->_unreadCount = count;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setUnreadCount,(void))
-
-::String Chat_obj::preview(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_447_preview)
-HXLINE( 448) if (::hx::IsNull( this->lastMessage )) {
-HXLINE( 448) return HX_("",00,00,00,00);
- }
-HXLINE( 450) if ((this->lastMessage->type == 1)) {
-HXLINE( 452) if (this->lastMessage->isIncoming()) {
-HXLINE( 452) return HX_("Incoming Call",18,e2,4d,47);
- }
- else {
-HXLINE( 452) return HX_("Outgoing Call",d2,04,61,e8);
- }
- }
- else {
-HXLINE( 454) return this->lastMessage->text;
- }
-HXLINE( 450) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,preview,return )
-
-void Chat_obj::setLastMessage( ::snikket::ChatMessage message){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_460_setLastMessage)
-HXDLIN( 460) this->lastMessage = message;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setLastMessage,(void))
-
-void Chat_obj::setDisplayName(::String fn){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_463_setDisplayName)
-HXLINE( 464) this->displayName = fn;
-HXLINE( 465) this->bookmark();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setDisplayName,(void))
-
-::String Chat_obj::getDisplayName(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_471_getDisplayName)
-HXDLIN( 471) ::snikket::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 472) if ((this->displayName == this->chatId)) {
-HXLINE( 473) ::String _hx_tmp = this->chatId;
-HXDLIN( 473) if ((_hx_tmp == this->client->accountId())) {
-HXLINE( 473) return this->client->displayName();
- }
-HXLINE( 475) ::Array< ::String > participants = this->getParticipants();
-HXLINE( 476) bool _hx_tmp1;
-HXDLIN( 476) if ((participants->length > 2)) {
-HXLINE( 476) _hx_tmp1 = (participants->length < 20);
- }
- else {
-HXLINE( 476) _hx_tmp1 = false;
- }
-HXDLIN( 476) if (_hx_tmp1) {
-HXLINE( 477) ::Array< ::String > result = ::Array_obj< ::String >::__new(participants->length);
-HXDLIN( 477) {
-HXLINE( 477) int _g = 0;
-HXDLIN( 477) int _g1 = participants->length;
-HXDLIN( 477) while((_g < _g1)){
-HXLINE( 477) _g = (_g + 1);
-HXDLIN( 477) int i = (_g - 1);
-HXDLIN( 477) {
-HXLINE( 477) ::String id = ( (::String)(_hx_array_unsafe_get(participants,i)) );
-HXLINE( 478) ::snikket::Participant p;
-HXDLIN( 478) if ((id == _gthis->chatId)) {
-HXLINE( 478) p = null();
- }
- else {
-HXLINE( 478) p = _gthis->getParticipantDetails(id);
- }
-HXLINE( 477) ::String inValue;
-HXLINE( 479) bool inValue1;
-HXDLIN( 479) if (::hx::IsNotNull( p )) {
-HXLINE( 479) inValue1 = p->isSelf;
- }
- else {
-HXLINE( 479) inValue1 = true;
- }
-HXDLIN( 479) if (inValue1) {
-HXLINE( 477) inValue = null();
- }
- else {
-HXLINE( 477) inValue = p->displayName;
- }
-HXDLIN( 477) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 477) ::Array< ::String > _g2 = ::Array_obj< ::String >::__new(0);
-HXDLIN( 477) {
-HXLINE( 477) int _g3 = 0;
-HXDLIN( 477) ::Array< ::String > _g4 = result;
-HXDLIN( 477) while((_g3 < _g4->length)){
-HXLINE( 477) ::String v = _g4->__get(_g3);
-HXDLIN( 477) _g3 = (_g3 + 1);
-HXDLIN( 477) if (::hx::IsNotNull( v )) {
-HXLINE( 477) _g2->push(v);
- }
- }
- }
-HXDLIN( 477) return _g2->join(HX_(", ",74,26,00,00));
- }
- }
-HXLINE( 484) return this->displayName;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,getDisplayName,return )
-
-void Chat_obj::setPresence(::String resource, ::snikket::Presence presence){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_489_setPresence)
-HXDLIN( 489) this->presence->set(resource,presence);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,setPresence,(void))
-
-void Chat_obj::setCaps(::String resource, ::snikket::Caps caps){
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_493_setCaps)
-HXLINE( 494) ::snikket::Presence presence = ( ( ::snikket::Presence)(this->presence->get(resource)) );
-HXLINE( 495) if (::hx::IsNotNull( presence )) {
-HXLINE( 496) presence->caps = caps;
-HXLINE( 497) this->setPresence(resource,presence);
- }
- else {
-HXLINE( 499) this->setPresence(resource, ::snikket::Presence_obj::__alloc( HX_CTX ,caps,null()));
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,setCaps,(void))
-
-void Chat_obj::removePresence(::String resource){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_505_removePresence)
-HXDLIN( 505) this->presence->remove(resource);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,removePresence,(void))
-
- ::Dynamic Chat_obj::getCaps(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,iter) HXARGC(0)
- ::Dynamic _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_513_getCaps)
-HXLINE( 514) ::Dynamic n = iter->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 515) return ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("key",9f,89,51,00), ::Dynamic(n->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)))
- ->setFixed(1,HX_("value",71,7f,b8,31),( ( ::snikket::Presence)(n->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) )->caps));
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_509_getCaps)
-HXLINE( 510) ::Dynamic iter = ::haxe::iterators::MapKeyValueIterator_obj::__alloc( HX_CTX ,this->presence);
-HXLINE( 511) 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(iter))));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,getCaps,return )
-
- ::snikket::Caps Chat_obj::getResourceCaps(::String resource){
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_522_getResourceCaps)
-HXDLIN( 522) ::snikket::Presence tmp = ( ( ::snikket::Presence)(this->presence->get(resource)) );
-HXDLIN( 522) ::snikket::Caps tmp1;
-HXDLIN( 522) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 522) tmp1 = tmp->caps;
- }
- else {
-HXDLIN( 522) tmp1 = null();
- }
-HXDLIN( 522) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN( 522) return tmp1;
- }
- else {
-HXDLIN( 522) return ::snikket::Caps_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::__new(0),null());
- }
-HXDLIN( 522) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,getResourceCaps,return )
-
-void Chat_obj::setAvatarSha1(::Array< unsigned char > sha1){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_527_setAvatarSha1)
-HXDLIN( 527) this->avatarSha1 = sha1;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setAvatarSha1,(void))
-
-void Chat_obj::setTrusted(bool trusted){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_531_setTrusted)
-HXDLIN( 531) this->trusted = trusted;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setTrusted,(void))
-
-bool Chat_obj::isTrusted(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_538_isTrusted)
-HXDLIN( 538) return this->trusted;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,isTrusted,return )
-
-bool Chat_obj::livePresence(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_543_livePresence)
-HXDLIN( 543) return true;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,livePresence,return )
-
-bool Chat_obj::syncing(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_547_syncing)
-HXDLIN( 547) return !(this->client->inSync);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,syncing,return )
-
-bool Chat_obj::canAudioCall(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_553_canAudioCall)
-HXLINE( 554) {
-HXLINE( 554) ::Dynamic map = this->presence;
-HXDLIN( 554) ::Dynamic _g_map = map;
-HXDLIN( 554) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN( 554) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 554) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 554) ::snikket::Presence _g_value = ( ( ::snikket::Presence)(::haxe::IMap_obj::get(_g_map,key)) );
-HXDLIN( 554) ::String _g_key = key;
-HXDLIN( 554) ::String resource = _g_key;
-HXDLIN( 554) ::snikket::Presence p = _g_value;
-HXLINE( 555) bool _hx_tmp;
-HXDLIN( 555) ::snikket::Caps tmp = p->caps;
-HXDLIN( 555) ::Array< ::String > tmp1;
-HXDLIN( 555) if (::hx::IsNotNull( tmp )) {
-HXLINE( 555) tmp1 = tmp->features;
- }
- else {
-HXLINE( 555) tmp1 = null();
- }
-HXDLIN( 555) ::Dynamic tmp2;
-HXDLIN( 555) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 555) tmp2 = tmp1->contains(HX_("urn:xmpp:jingle:apps:rtp:audio",0f,8b,54,6c));
- }
- else {
-HXLINE( 555) tmp2 = null();
- }
-HXDLIN( 555) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 555) _hx_tmp = ( (bool)(tmp2) );
- }
- else {
-HXLINE( 555) _hx_tmp = false;
- }
-HXDLIN( 555) if (_hx_tmp) {
-HXLINE( 555) return true;
- }
- }
- }
-HXLINE( 558) return false;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,canAudioCall,return )
-
-bool Chat_obj::canVideoCall(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_564_canVideoCall)
-HXLINE( 565) {
-HXLINE( 565) ::Dynamic map = this->presence;
-HXDLIN( 565) ::Dynamic _g_map = map;
-HXDLIN( 565) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN( 565) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 565) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 565) ::snikket::Presence _g_value = ( ( ::snikket::Presence)(::haxe::IMap_obj::get(_g_map,key)) );
-HXDLIN( 565) ::String _g_key = key;
-HXDLIN( 565) ::String resource = _g_key;
-HXDLIN( 565) ::snikket::Presence p = _g_value;
-HXLINE( 566) bool _hx_tmp;
-HXDLIN( 566) ::snikket::Caps tmp = p->caps;
-HXDLIN( 566) ::Array< ::String > tmp1;
-HXDLIN( 566) if (::hx::IsNotNull( tmp )) {
-HXLINE( 566) tmp1 = tmp->features;
- }
- else {
-HXLINE( 566) tmp1 = null();
- }
-HXDLIN( 566) ::Dynamic tmp2;
-HXDLIN( 566) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 566) tmp2 = tmp1->contains(HX_("urn:xmpp:jingle:apps:rtp:video",b4,26,d0,7b));
- }
- else {
-HXLINE( 566) tmp2 = null();
- }
-HXDLIN( 566) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 566) _hx_tmp = ( (bool)(tmp2) );
- }
- else {
-HXLINE( 566) _hx_tmp = false;
- }
-HXDLIN( 566) if (_hx_tmp) {
-HXLINE( 566) return true;
- }
- }
- }
-HXLINE( 569) return false;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,canVideoCall,return )
-
-void Chat_obj::startCall(bool audio,bool video){
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_578_startCall)
-HXLINE( 579) ::snikket::Client session = this->client;
-HXDLIN( 579) ::snikket::jingle::OutgoingProposedSession session1 = ::snikket::jingle::OutgoingProposedSession_obj::__alloc( HX_CTX ,session,::snikket::JID_obj::parse(this->chatId));
-HXLINE( 580) {
-HXLINE( 580) ::Dynamic this1 = this->jingleSessions;
-HXDLIN( 580) ( ( ::haxe::ds::StringMap)(this1) )->set(session1->get_sid(),session1);
- }
-HXLINE( 581) session1->propose(audio,video);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,startCall,(void))
-
-void Chat_obj::addMedia(::Array< ::Dynamic> streams){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_585_addMedia)
-HXLINE( 586) if ((this->callStatus() != 4)) {
-HXLINE( 586) HX_STACK_DO_THROW(HX_("cannot add media when no call ongoing",6a,0b,2b,6e));
- }
-HXLINE( 587) ::snikket::jingle::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_3993c1e3d3f53fe2_594_acceptCall)
-HXDLIN( 594) ::Dynamic session = this->jingleSessions->iterator();
-HXDLIN( 594) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXDLIN( 594) ::Dynamic session1 = session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 595) ::snikket::jingle::Session_obj::accept(session1);
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,acceptCall,(void))
-
-void Chat_obj::hangup(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_603_hangup)
-HXDLIN( 603) ::Dynamic session = this->jingleSessions->iterator();
-HXDLIN( 603) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXDLIN( 603) ::Dynamic session1 = session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 604) ::snikket::jingle::Session_obj::hangup(session1);
-HXLINE( 605) {
-HXLINE( 605) ::Dynamic this1 = this->jingleSessions;
-HXDLIN( 605) ( ( ::haxe::ds::StringMap)(this1) )->remove(::snikket::jingle::Session_obj::get_sid(session1));
- }
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,hangup,(void))
-
-int Chat_obj::callStatus(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_612_callStatus)
-HXLINE( 613) {
-HXLINE( 613) ::Dynamic session = this->jingleSessions->iterator();
-HXDLIN( 613) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 613) ::Dynamic session1 = session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 614) return ::snikket::jingle::Session_obj::callStatus(session1);
- }
- }
-HXLINE( 617) return 0;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,callStatus,return )
-
- ::snikket::jingle::DTMFSender Chat_obj::dtmf(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_623_dtmf)
-HXLINE( 624) {
-HXLINE( 624) ::Dynamic session = this->jingleSessions->iterator();
-HXDLIN( 624) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 624) ::Dynamic session1 = session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 625) ::snikket::jingle::DTMFSender dtmf = ::snikket::jingle::Session_obj::dtmf(session1);
-HXLINE( 626) if (::hx::IsNotNull( dtmf )) {
-HXLINE( 626) return dtmf;
- }
- }
- }
-HXLINE( 629) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,dtmf,return )
-
-::Array< ::Dynamic> Chat_obj::videoTracks(){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_636_videoTracks)
-HXDLIN( 636) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 636) {
-HXDLIN( 636) ::Dynamic x = this->jingleSessions->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 636) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXDLIN( 636) ::Dynamic x1 = x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXDLIN( 636) _g->push(::snikket::jingle::Session_obj::videoTracks(x1));
- }
- }
-HXDLIN( 636) ::Array< ::Dynamic> _g1 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 636) {
-HXDLIN( 636) ::Dynamic e = _g->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 636) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXDLIN( 636) ::Dynamic e1 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXDLIN( 636) {
-HXDLIN( 636) ::Dynamic x2 = e1->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 636) while(( (bool)(x2->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXDLIN( 636) ::snikket::jingle::MediaStreamTrack x3 = ( ( ::snikket::jingle::MediaStreamTrack)(x2->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 636) _g1->push(x3);
- }
- }
- }
- }
-HXDLIN( 636) return _g1;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,videoTracks,return )
-
-size_t Chat_obj::videoTracks__fromC(void*** outPtr){
- HX_STACKFRAME(&_hx_pos_12e7dd114cfbd541_250_videoTracks__fromC)
-HXDLIN( 250) ::Array< ::Dynamic> out = this->videoTracks();
-HXDLIN( 250) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 250) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 250) {
-HXDLIN( 250) int _g = 0;
-HXDLIN( 250) while((_g < out->length)){
-HXDLIN( 250) ::snikket::jingle::MediaStreamTrack el = out->__get(_g).StaticCast< ::snikket::jingle::MediaStreamTrack >();
-HXDLIN( 250) _g = (_g + 1);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic haxeObject = el;
-HXDLIN( 250) void* ptr = haxeObject.mPtr;
-HXDLIN( 250) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 250) if (::hx::IsNull( store )) {
-HXDLIN( 250) 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( 250) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXDLIN( 250) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 250) void** ptr1 = (void**)out->getBase();
-HXDLIN( 250) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 250) if (::hx::IsNull( store1 )) {
-HXDLIN( 250) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),out));
-HXDLIN( 250) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXDLIN( 250) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 250) _hx_tmp->set_ref(ptr1);
- }
-HXDLIN( 250) return ( (size_t)(out->length) );
- }
-
-
-void Chat_obj::markReadUpToId(::String upTo,::String upToBy, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::Chat,_gthis, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_647_markReadUpToId)
-HXLINE( 648) int i = messages->length;
-HXLINE( 649) while(true){
-HXLINE( 649) i = (i - 1);
-HXDLIN( 649) if (!((i >= 0))) {
-HXLINE( 649) goto _hx_goto_91;
- }
-HXLINE( 650) bool _hx_tmp;
-HXDLIN( 650) if ((messages->__get(i).StaticCast< ::snikket::ChatMessage >()->serverId != _gthis->readUpToId)) {
-HXLINE( 650) _hx_tmp = !(messages->__get(i).StaticCast< ::snikket::ChatMessage >()->isIncoming());
- }
- else {
-HXLINE( 650) _hx_tmp = true;
- }
-HXDLIN( 650) if (_hx_tmp) {
-HXLINE( 650) goto _hx_goto_91;
- }
- }
- _hx_goto_91:;
-HXLINE( 652) _gthis->setUnreadCount((messages->length - (i + 1)));
-HXLINE( 653) if (::hx::IsNotNull( callback )) {
-HXLINE( 653) callback();
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_640_markReadUpToId)
-HXDLIN( 640) ::snikket::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 641) if (::hx::IsNull( upTo )) {
-HXLINE( 641) return;
- }
-HXLINE( 642) if ((this->readUpTo() == upTo)) {
-HXLINE( 642) return;
- }
-HXLINE( 644) this->readUpToId = upTo;
-HXLINE( 645) this->readUpToBy = upToBy;
-HXLINE( 646) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 646) ::snikket::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE( 647) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN( 647) ::String _hx_tmp2 = this->client->accountId();
-HXDLIN( 647) ::snikket::Persistence_obj::getMessagesBefore(_hx_tmp1,_hx_tmp2,this->chatId,null(),null(), ::Dynamic(new _hx_Closure_0(_gthis,callback)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Chat_obj,markReadUpToId,(void))
-
-void Chat_obj::markReadUpToMessage( ::snikket::ChatMessage message, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::Chat,_gthis, ::snikket::ChatMessage,message, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage readMessage){
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_666_markReadUpToMessage)
-HXLINE( 667) bool _hx_tmp;
-HXDLIN( 667) if (::hx::IsNotNull( readMessage )) {
-HXLINE( 667) _hx_tmp = (::Reflect_obj::compare(message->timestamp,readMessage->timestamp) <= 0);
- }
- else {
-HXLINE( 667) _hx_tmp = false;
- }
-HXDLIN( 667) if (_hx_tmp) {
-HXLINE( 667) return;
- }
-HXLINE( 669) _gthis->markReadUpToId(message->serverId,message->serverIdBy,callback);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_657_markReadUpToMessage)
-HXDLIN( 657) ::snikket::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 658) bool _hx_tmp;
-HXDLIN( 658) if (::hx::IsNotNull( message->serverId )) {
-HXLINE( 658) ::String _hx_tmp1 = message->chatId();
-HXDLIN( 658) _hx_tmp = (_hx_tmp1 != this->chatId);
- }
- else {
-HXLINE( 658) _hx_tmp = true;
- }
-HXDLIN( 658) if (_hx_tmp) {
-HXLINE( 658) return;
- }
-HXLINE( 659) ::String _hx_tmp2 = this->readUpTo();
-HXDLIN( 659) if ((_hx_tmp2 == message->serverId)) {
-HXLINE( 659) return;
- }
-HXLINE( 661) if (::hx::IsNull( this->readUpTo() )) {
-HXLINE( 662) this->markReadUpToId(message->serverId,message->serverIdBy,callback);
-HXLINE( 663) return;
- }
-HXLINE( 666) ::Dynamic _hx_tmp3 = this->persistence;
-HXDLIN( 666) ::String _hx_tmp4 = this->client->accountId();
-HXDLIN( 666) ::String _hx_tmp5 = this->chatId;
-HXDLIN( 666) ::snikket::Persistence_obj::getMessage(_hx_tmp3,_hx_tmp4,_hx_tmp5,this->readUpTo(),null(), ::Dynamic(new _hx_Closure_0(_gthis,message,callback)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,markReadUpToMessage,(void))
-
-void Chat_obj::publishMds(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::snikket::Chat,_gthis) HXARGC(1)
- void _hx_run( ::snikket::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_691_publishMds)
-HXLINE( 691) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE( 692) ::snikket::Stanza tmp = response->getChild(HX_("error",c8,cb,29,73),null());
-HXDLIN( 692) ::snikket::Stanza preconditionError;
-HXDLIN( 692) if (::hx::IsNotNull( tmp )) {
-HXLINE( 692) preconditionError = tmp->getChild(HX_("precondition-not-met",2d,db,78,db),HX_("http://jabber.org/protocol/pubsub#errors",97,74,3a,a8));
- }
- else {
-HXLINE( 692) preconditionError = null();
- }
-HXLINE( 693) if (::hx::IsNotNull( preconditionError )) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::Chat,_gthis) HXARGC(1)
- void _hx_run( ::snikket::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_707_publishMds)
-HXLINE( 707) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("result",dd,68,84,08))) {
-HXLINE( 708) _gthis->publishMds();
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 695) ::snikket::GenericStream _gthis1 = _gthis->stream;
-HXDLIN( 695) _gthis1->sendIq( ::snikket::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:mds:displayed:0",bd,60,cc,fb))))->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()->up()->up()->up(), ::Dynamic(new _hx_Closure_0(_gthis)));
- }
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_673_publishMds)
-HXDLIN( 673) ::snikket::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 674) ::snikket::GenericStream _hx_tmp = this->stream;
-HXLINE( 675) ::snikket::Stanza _hx_tmp1 = ::snikket::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))));
-HXLINE( 680) ::String _hx_tmp2 = this->readUpTo();
-HXLINE( 674) _hx_tmp->sendIq(_hx_tmp1->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),_hx_tmp2)
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:sid:0",a8,4b,37,54))))->up()->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(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()->up()->up(), ::Dynamic(new _hx_Closure_1(_gthis)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,publishMds,(void))
-
-
-Chat_obj::Chat_obj()
-{
-}
-
-void Chat_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(Chat);
- HX_MARK_MEMBER_NAME(client,"client");
- HX_MARK_MEMBER_NAME(stream,"stream");
- HX_MARK_MEMBER_NAME(persistence,"persistence");
- HX_MARK_MEMBER_NAME(avatarSha1,"avatarSha1");
- HX_MARK_MEMBER_NAME(presence,"presence");
- HX_MARK_MEMBER_NAME(trusted,"trusted");
- HX_MARK_MEMBER_NAME(chatId,"chatId");
- HX_MARK_MEMBER_NAME(jingleSessions,"jingleSessions");
- HX_MARK_MEMBER_NAME(displayName,"displayName");
- HX_MARK_MEMBER_NAME(uiState,"uiState");
- HX_MARK_MEMBER_NAME(isBlocked,"isBlocked");
- HX_MARK_MEMBER_NAME(extensions,"extensions");
- HX_MARK_MEMBER_NAME(_unreadCount,"_unreadCount");
- HX_MARK_MEMBER_NAME(lastMessage,"lastMessage");
- HX_MARK_MEMBER_NAME(readUpToId,"readUpToId");
- HX_MARK_MEMBER_NAME(readUpToBy,"readUpToBy");
- HX_MARK_MEMBER_NAME(isTyping,"isTyping");
- HX_MARK_MEMBER_NAME(typingThread,"typingThread");
- HX_MARK_MEMBER_NAME(typingTimer,"typingTimer");
- HX_MARK_MEMBER_NAME(isActive,"isActive");
- HX_MARK_MEMBER_NAME(activeThread,"activeThread");
- HX_MARK_MEMBER_NAME(notificationSettings,"notificationSettings");
- HX_MARK_END_CLASS();
-}
-
-void Chat_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(client,"client");
- HX_VISIT_MEMBER_NAME(stream,"stream");
- HX_VISIT_MEMBER_NAME(persistence,"persistence");
- HX_VISIT_MEMBER_NAME(avatarSha1,"avatarSha1");
- HX_VISIT_MEMBER_NAME(presence,"presence");
- HX_VISIT_MEMBER_NAME(trusted,"trusted");
- HX_VISIT_MEMBER_NAME(chatId,"chatId");
- HX_VISIT_MEMBER_NAME(jingleSessions,"jingleSessions");
- HX_VISIT_MEMBER_NAME(displayName,"displayName");
- HX_VISIT_MEMBER_NAME(uiState,"uiState");
- HX_VISIT_MEMBER_NAME(isBlocked,"isBlocked");
- HX_VISIT_MEMBER_NAME(extensions,"extensions");
- HX_VISIT_MEMBER_NAME(_unreadCount,"_unreadCount");
- HX_VISIT_MEMBER_NAME(lastMessage,"lastMessage");
- HX_VISIT_MEMBER_NAME(readUpToId,"readUpToId");
- HX_VISIT_MEMBER_NAME(readUpToBy,"readUpToBy");
- HX_VISIT_MEMBER_NAME(isTyping,"isTyping");
- HX_VISIT_MEMBER_NAME(typingThread,"typingThread");
- HX_VISIT_MEMBER_NAME(typingTimer,"typingTimer");
- HX_VISIT_MEMBER_NAME(isActive,"isActive");
- HX_VISIT_MEMBER_NAME(activeThread,"activeThread");
- HX_VISIT_MEMBER_NAME(notificationSettings,"notificationSettings");
-}
-
-::hx::Val Chat_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 4:
- if (HX_FIELD_EQ(inName,"dtmf") ) { return ::hx::Val( dtmf_dyn() ); }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"close") ) { return ::hx::Val( close_dyn() ); }
- if (HX_FIELD_EQ(inName,"block") ) { return ::hx::Val( block_dyn() ); }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"client") ) { return ::hx::Val( client ); }
- if (HX_FIELD_EQ(inName,"stream") ) { return ::hx::Val( stream ); }
- if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( chatId ); }
- if (HX_FIELD_EQ(inName,"typing") ) { return ::hx::Val( typing_dyn() ); }
- if (HX_FIELD_EQ(inName,"hangup") ) { return ::hx::Val( hangup_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"trusted") ) { return ::hx::Val( trusted ); }
- if (HX_FIELD_EQ(inName,"uiState") ) { return ::hx::Val( uiState ); }
- 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,"setCaps") ) { return ::hx::Val( setCaps_dyn() ); }
- if (HX_FIELD_EQ(inName,"getCaps") ) { return ::hx::Val( getCaps_dyn() ); }
- if (HX_FIELD_EQ(inName,"syncing") ) { return ::hx::Val( syncing_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"presence") ) { return ::hx::Val( presence ); }
- if (HX_FIELD_EQ(inName,"isTyping") ) { return ::hx::Val( isTyping ); }
- if (HX_FIELD_EQ(inName,"isActive") ) { return ::hx::Val( isActive ); }
- if (HX_FIELD_EQ(inName,"bookmark") ) { return ::hx::Val( bookmark_dyn() ); }
- if (HX_FIELD_EQ(inName,"getPhoto") ) { return ::hx::Val( getPhoto_dyn() ); }
- if (HX_FIELD_EQ(inName,"readUpTo") ) { return ::hx::Val( readUpTo_dyn() ); }
- if (HX_FIELD_EQ(inName,"addMedia") ) { return ::hx::Val( addMedia_dyn() ); }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"isBlocked") ) { return ::hx::Val( isBlocked ); }
- if (HX_FIELD_EQ(inName,"setActive") ) { return ::hx::Val( setActive_dyn() ); }
- if (HX_FIELD_EQ(inName,"isTrusted") ) { return ::hx::Val( isTrusted_dyn() ); }
- if (HX_FIELD_EQ(inName,"startCall") ) { return ::hx::Val( startCall_dyn() ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"avatarSha1") ) { return ::hx::Val( avatarSha1 ); }
- if (HX_FIELD_EQ(inName,"extensions") ) { return ::hx::Val( extensions ); }
- if (HX_FIELD_EQ(inName,"readUpToId") ) { return ::hx::Val( readUpToId ); }
- if (HX_FIELD_EQ(inName,"readUpToBy") ) { return ::hx::Val( readUpToBy ); }
- if (HX_FIELD_EQ(inName,"setTrusted") ) { return ::hx::Val( setTrusted_dyn() ); }
- if (HX_FIELD_EQ(inName,"acceptCall") ) { return ::hx::Val( acceptCall_dyn() ); }
- if (HX_FIELD_EQ(inName,"callStatus") ) { return ::hx::Val( callStatus_dyn() ); }
- if (HX_FIELD_EQ(inName,"publishMds") ) { return ::hx::Val( publishMds_dyn() ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"persistence") ) { return ::hx::Val( persistence ); }
- if (HX_FIELD_EQ(inName,"displayName") ) { return ::hx::Val( displayName ); }
- if (HX_FIELD_EQ(inName,"lastMessage") ) { return ::hx::Val( lastMessage ); }
- if (HX_FIELD_EQ(inName,"typingTimer") ) { return ::hx::Val( typingTimer ); }
- 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,"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() ); }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"_unreadCount") ) { return ::hx::Val( _unreadCount ); }
- if (HX_FIELD_EQ(inName,"typingThread") ) { return ::hx::Val( typingThread ); }
- if (HX_FIELD_EQ(inName,"activeThread") ) { return ::hx::Val( activeThread ); }
- if (HX_FIELD_EQ(inName,"markReadUpTo") ) { return ::hx::Val( markReadUpTo_dyn() ); }
- if (HX_FIELD_EQ(inName,"close__fromC") ) { return ::hx::Val( close__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"togglePinned") ) { return ::hx::Val( togglePinned_dyn() ); }
- if (HX_FIELD_EQ(inName,"livePresence") ) { return ::hx::Val( livePresence_dyn() ); }
- if (HX_FIELD_EQ(inName,"canAudioCall") ) { return ::hx::Val( canAudioCall_dyn() ); }
- if (HX_FIELD_EQ(inName,"canVideoCall") ) { return ::hx::Val( canVideoCall_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"chatId__fromC") ) { return ::hx::Val( chatId__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"fetchFromSync") ) { return ::hx::Val( fetchFromSync_dyn() ); }
- 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,"lastMessageId") ) { return ::hx::Val( lastMessageId_dyn() ); }
- if (HX_FIELD_EQ(inName,"setAvatarSha1") ) { return ::hx::Val( setAvatarSha1_dyn() ); }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"jingleSessions") ) { return ::hx::Val( jingleSessions ); }
- if (HX_FIELD_EQ(inName,"uiState__fromC") ) { return ::hx::Val( uiState__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"correctMessage") ) { return ::hx::Val( correctMessage_dyn() ); }
- if (HX_FIELD_EQ(inName,"removeReaction") ) { return ::hx::Val( removeReaction_dyn() ); }
- if (HX_FIELD_EQ(inName,"getPlaceholder") ) { return ::hx::Val( getPlaceholder_dyn() ); }
- if (HX_FIELD_EQ(inName,"setUnreadCount") ) { return ::hx::Val( setUnreadCount_dyn() ); }
- 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,"removePresence") ) { return ::hx::Val( removePresence_dyn() ); }
- if (HX_FIELD_EQ(inName,"markReadUpToId") ) { return ::hx::Val( markReadUpToId_dyn() ); }
- break;
- case 15:
- if (HX_FIELD_EQ(inName,"bookmark__fromC") ) { return ::hx::Val( bookmark__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"getParticipants") ) { return ::hx::Val( getParticipants_dyn() ); }
- if (HX_FIELD_EQ(inName,"getResourceCaps") ) { return ::hx::Val( getResourceCaps_dyn() ); }
- break;
- case 16:
- if (HX_FIELD_EQ(inName,"isBlocked__fromC") ) { return ::hx::Val( isBlocked__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"getMessagesAfter") ) { return ::hx::Val( getMessagesAfter_dyn() ); }
- if (HX_FIELD_EQ(inName,"setNotifications") ) { return ::hx::Val( setNotifications_dyn() ); }
- if (HX_FIELD_EQ(inName,"updateFromRoster") ) { return ::hx::Val( updateFromRoster_dyn() ); }
- break;
- case 17:
- if (HX_FIELD_EQ(inName,"getMessagesBefore") ) { return ::hx::Val( getMessagesBefore_dyn() ); }
- if (HX_FIELD_EQ(inName,"getMessagesAround") ) { return ::hx::Val( getMessagesAround_dyn() ); }
- break;
- case 18:
- 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:
- if (HX_FIELD_EQ(inName,"markReadUpTo__fromC") ) { return ::hx::Val( markReadUpTo__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"markReadUpToMessage") ) { return ::hx::Val( markReadUpToMessage_dyn() ); }
- break;
- case 20:
- if (HX_FIELD_EQ(inName,"notificationSettings") ) { return ::hx::Val( notificationSettings ); }
- if (HX_FIELD_EQ(inName,"lastMessageId__fromC") ) { return ::hx::Val( lastMessageId__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"lastMessageTimestamp") ) { return ::hx::Val( lastMessageTimestamp_dyn() ); }
- break;
- case 21:
- if (HX_FIELD_EQ(inName,"getParticipantDetails") ) { return ::hx::Val( getParticipantDetails_dyn() ); }
- if (HX_FIELD_EQ(inName,"correctMessage__fromC") ) { return ::hx::Val( correctMessage__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"removeReaction__fromC") ) { return ::hx::Val( removeReaction__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"notificationsFiltered") ) { return ::hx::Val( notificationsFiltered_dyn() ); }
- break;
- case 22:
- if (HX_FIELD_EQ(inName,"prepareIncomingMessage") ) { return ::hx::Val( prepareIncomingMessage_dyn() ); }
- break;
- case 24:
- if (HX_FIELD_EQ(inName,"setNotificationsInternal") ) { return ::hx::Val( setNotificationsInternal_dyn() ); }
- break;
- case 28:
- if (HX_FIELD_EQ(inName,"getParticipantDetails__fromC") ) { return ::hx::Val( getParticipantDetails__fromC_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-::hx::Val Chat_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 6:
- if (HX_FIELD_EQ(inName,"client") ) { client=inValue.Cast< ::snikket::Client >(); return inValue; }
- if (HX_FIELD_EQ(inName,"stream") ) { stream=inValue.Cast< ::snikket::GenericStream >(); return inValue; }
- if (HX_FIELD_EQ(inName,"chatId") ) { chatId=inValue.Cast< ::String >(); return inValue; }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"trusted") ) { trusted=inValue.Cast< bool >(); return inValue; }
- if (HX_FIELD_EQ(inName,"uiState") ) { uiState=inValue.Cast< int >(); return inValue; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"presence") ) { presence=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
- if (HX_FIELD_EQ(inName,"isTyping") ) { isTyping=inValue.Cast< bool >(); return inValue; }
- if (HX_FIELD_EQ(inName,"isActive") ) { isActive=inValue.Cast< ::Dynamic >(); return inValue; }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"isBlocked") ) { isBlocked=inValue.Cast< bool >(); return inValue; }
- 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< ::snikket::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;
- case 11:
- if (HX_FIELD_EQ(inName,"persistence") ) { persistence=inValue.Cast< ::Dynamic >(); return inValue; }
- if (HX_FIELD_EQ(inName,"displayName") ) { displayName=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"lastMessage") ) { lastMessage=inValue.Cast< ::snikket::ChatMessage >(); return inValue; }
- if (HX_FIELD_EQ(inName,"typingTimer") ) { typingTimer=inValue.Cast< ::haxe::Timer >(); return inValue; }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"_unreadCount") ) { _unreadCount=inValue.Cast< int >(); return inValue; }
- if (HX_FIELD_EQ(inName,"typingThread") ) { typingThread=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"activeThread") ) { activeThread=inValue.Cast< ::String >(); return inValue; }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"jingleSessions") ) { jingleSessions=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
- break;
- case 20:
- if (HX_FIELD_EQ(inName,"notificationSettings") ) { notificationSettings=inValue.Cast< ::Dynamic >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void Chat_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("client",4b,ca,4f,0a));
- outFields->push(HX_("stream",80,14,2d,11));
- outFields->push(HX_("persistence",5f,17,c4,f6));
- outFields->push(HX_("avatarSha1",3e,f5,cc,3e));
- outFields->push(HX_("presence",3b,52,d7,66));
- outFields->push(HX_("trusted",f7,b7,a6,16));
- outFields->push(HX_("chatId",d3,04,77,b7));
- outFields->push(HX_("jingleSessions",ae,50,4d,15));
- outFields->push(HX_("displayName",ad,11,f2,30));
- outFields->push(HX_("uiState",1d,0f,01,14));
- outFields->push(HX_("isBlocked",22,f8,fc,48));
- outFields->push(HX_("extensions",14,7c,70,89));
- outFields->push(HX_("_unreadCount",21,c6,fa,06));
- outFields->push(HX_("lastMessage",11,ea,bc,4e));
- outFields->push(HX_("readUpToId",27,7a,f8,75));
- outFields->push(HX_("readUpToBy",23,74,f8,75));
- outFields->push(HX_("isTyping",01,9a,a3,af));
- outFields->push(HX_("typingThread",a1,a0,94,6b));
- outFields->push(HX_("typingTimer",ce,61,a8,b7));
- outFields->push(HX_("isActive",50,dd,af,6e));
- outFields->push(HX_("activeThread",30,c9,d4,ee));
- outFields->push(HX_("notificationSettings",ee,92,7b,79));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo Chat_obj_sMemberStorageInfo[] = {
- {::hx::fsObject /* ::snikket::Client */ ,(int)offsetof(Chat_obj,client),HX_("client",4b,ca,4f,0a)},
- {::hx::fsObject /* ::snikket::GenericStream */ ,(int)offsetof(Chat_obj,stream),HX_("stream",80,14,2d,11)},
- {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(Chat_obj,persistence),HX_("persistence",5f,17,c4,f6)},
- {::hx::fsObject /* ::Array< unsigned char > */ ,(int)offsetof(Chat_obj,avatarSha1),HX_("avatarSha1",3e,f5,cc,3e)},
- {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(Chat_obj,presence),HX_("presence",3b,52,d7,66)},
- {::hx::fsBool,(int)offsetof(Chat_obj,trusted),HX_("trusted",f7,b7,a6,16)},
- {::hx::fsString,(int)offsetof(Chat_obj,chatId),HX_("chatId",d3,04,77,b7)},
- {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(Chat_obj,jingleSessions),HX_("jingleSessions",ae,50,4d,15)},
- {::hx::fsString,(int)offsetof(Chat_obj,displayName),HX_("displayName",ad,11,f2,30)},
- {::hx::fsInt,(int)offsetof(Chat_obj,uiState),HX_("uiState",1d,0f,01,14)},
- {::hx::fsBool,(int)offsetof(Chat_obj,isBlocked),HX_("isBlocked",22,f8,fc,48)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(Chat_obj,extensions),HX_("extensions",14,7c,70,89)},
- {::hx::fsInt,(int)offsetof(Chat_obj,_unreadCount),HX_("_unreadCount",21,c6,fa,06)},
- {::hx::fsObject /* ::snikket::ChatMessage */ ,(int)offsetof(Chat_obj,lastMessage),HX_("lastMessage",11,ea,bc,4e)},
- {::hx::fsString,(int)offsetof(Chat_obj,readUpToId),HX_("readUpToId",27,7a,f8,75)},
- {::hx::fsString,(int)offsetof(Chat_obj,readUpToBy),HX_("readUpToBy",23,74,f8,75)},
- {::hx::fsBool,(int)offsetof(Chat_obj,isTyping),HX_("isTyping",01,9a,a3,af)},
- {::hx::fsString,(int)offsetof(Chat_obj,typingThread),HX_("typingThread",a1,a0,94,6b)},
- {::hx::fsObject /* ::haxe::Timer */ ,(int)offsetof(Chat_obj,typingTimer),HX_("typingTimer",ce,61,a8,b7)},
- {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(Chat_obj,isActive),HX_("isActive",50,dd,af,6e)},
- {::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::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *Chat_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String Chat_obj_sMemberFields[] = {
- HX_("client",4b,ca,4f,0a),
- HX_("stream",80,14,2d,11),
- HX_("persistence",5f,17,c4,f6),
- HX_("avatarSha1",3e,f5,cc,3e),
- HX_("presence",3b,52,d7,66),
- HX_("trusted",f7,b7,a6,16),
- HX_("chatId",d3,04,77,b7),
- HX_("chatId__fromC",06,fc,b1,94),
- HX_("jingleSessions",ae,50,4d,15),
- HX_("displayName",ad,11,f2,30),
- HX_("uiState",1d,0f,01,14),
- HX_("uiState__fromC",fc,2e,72,be),
- HX_("isBlocked",22,f8,fc,48),
- HX_("isBlocked__fromC",97,a0,b1,f6),
- HX_("extensions",14,7c,70,89),
- HX_("_unreadCount",21,c6,fa,06),
- HX_("lastMessage",11,ea,bc,4e),
- HX_("readUpToId",27,7a,f8,75),
- HX_("readUpToBy",23,74,f8,75),
- HX_("isTyping",01,9a,a3,af),
- HX_("typingThread",a1,a0,94,6b),
- HX_("typingTimer",ce,61,a8,b7),
- HX_("isActive",50,dd,af,6e),
- HX_("activeThread",30,c9,d4,ee),
- HX_("notificationSettings",ee,92,7b,79),
- 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_("markReadUpTo",59,68,2d,ee),
- HX_("markReadUpTo__fromC",40,b5,45,b3),
- HX_("bookmark",b6,8c,f1,32),
- HX_("bookmark__fromC",83,86,61,2e),
- HX_("getParticipants",16,0b,c7,34),
- HX_("getParticipantDetails",85,2b,7d,4d),
- HX_("getParticipantDetails__fromC",94,ef,6f,ad),
- HX_("correctMessage",7d,36,c3,f4),
- HX_("correctMessage__fromC",9c,b3,3d,7c),
- HX_("addReaction",ea,1e,11,28),
- HX_("removeReaction",0d,24,0b,c1),
- HX_("removeReaction__fromC",0c,98,dd,b6),
- HX_("sendChatState",b1,21,95,6e),
- HX_("typing",77,fe,39,57),
- HX_("setActive",08,b7,ed,75),
- HX_("close",b8,17,63,48),
- HX_("close__fromC",c1,3f,6c,ef),
- HX_("togglePinned",cc,b5,2e,2c),
- HX_("block",4d,75,fc,b4),
- HX_("unblock",54,6c,8d,b1),
- HX_("setNotificationsInternal",83,67,4b,5c),
- HX_("setNotifications",26,ae,ef,ed),
- HX_("notificationsFiltered",5f,11,ed,96),
- HX_("notifyMention",21,c7,22,5a),
- HX_("notifyReply",a1,e5,9f,37),
- HX_("lastMessageId",4c,90,58,27),
- HX_("lastMessageId__fromC",ad,c1,bf,bf),
- HX_("lastMessageTimestamp",85,80,e9,17),
- HX_("updateFromBookmark",e9,a3,15,4b),
- HX_("updateFromRoster",fe,41,b5,57),
- HX_("getPhoto",3c,d8,ca,21),
- HX_("getPlaceholder",7d,c6,91,42),
- HX_("readUpTo",2c,17,a3,75),
- HX_("unreadCount",20,18,f1,a0),
- HX_("setUnreadCount",9e,53,af,48),
- HX_("preview",08,e0,da,3b),
- HX_("setLastMessage",8f,25,7b,f6),
- HX_("setDisplayName",2b,4d,b0,d8),
- HX_("getDisplayName",b7,64,90,b8),
- HX_("setPresence",fd,1b,38,97),
- HX_("setCaps",e3,5c,3e,07),
- HX_("removePresence",9f,8e,2d,31),
- HX_("getCaps",d7,cb,3c,14),
- HX_("getResourceCaps",c5,79,07,ac),
- HX_("setAvatarSha1",80,33,45,e0),
- HX_("setTrusted",75,dc,85,69),
- HX_("isTrusted",2d,35,a5,1a),
- HX_("livePresence",47,f9,16,b4),
- HX_("syncing",67,fd,26,a7),
- HX_("canAudioCall",64,4a,90,e4),
- HX_("canVideoCall",89,1c,93,ea),
- HX_("startCall",20,92,ad,fa),
- HX_("addMedia",03,2b,19,7f),
- HX_("acceptCall",c6,fb,13,b5),
- HX_("hangup",4d,d2,ff,b7),
- HX_("callStatus",70,be,2b,31),
- HX_("dtmf",e9,ba,71,42),
- HX_("videoTracks",63,c2,24,be),
- HX_("markReadUpToId",94,30,9b,e2),
- HX_("markReadUpToMessage",6e,a2,bb,a9),
- HX_("publishMds",ed,c6,cd,70),
- ::String(null()) };
-
-::hx::Class Chat_obj::__mClass;
-
-void Chat_obj::__register()
-{
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Chat",89,04,7d,4c);
- __mClass->mSuper = &super::__SGetClass();
- __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(Chat_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< Chat_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Chat_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Chat_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-void Chat_obj::__boot()
-{
-{
- HX_STACKFRAME(&_hx_pos_3993c1e3d3f53fe2_43_boot)
-HXDLIN( 43) __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_("getParticipants__fromC",23,94,42,88), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(1,HX_("chatId__fromC",06,fc,b1,94), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(2,HX_("getParticipantDetails__fromC",94,ef,6f,ad), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(3,HX_("markReadUpTo__fromC",40,b5,45,b3), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(4,HX_("removeReaction__fromC",0c,98,dd,b6), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(5,HX_("videoTracks",63,c2,24,be), ::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(6,HX_("uiState__fromC",fc,2e,72,be), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(7,HX_("lastMessageId__fromC",ad,c1,bf,bf), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(8,HX_("removeReaction",0d,24,0b,c1), ::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_("getMessagesAfter__fromC",7f,68,c7,c6), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(10,HX_("videoTracks__fromC",76,10,46,d8), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(11,HX_("getMessagesAround__fromC",ea,f6,e1,db), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(12,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(13,HX_("close__fromC",c1,3f,6c,ef), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(14,HX_("sendMessage__fromC",fa,60,3a,f3), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(15,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)))))
- ->setFixed(16,HX_("isBlocked__fromC",97,a0,b1,f6), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(17,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(18,HX_("sendMessage",5f,89,1d,24), ::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_("lastMessageId",4c,90,58,27), ::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_("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(21,HX_("bookmark__fromC",83,86,61,2e), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(22,HX_("bookmark",b6,8c,f1,32), ::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_("getParticipants",16,0b,c7,34), ::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_("getMessagesBefore__fromC",f8,64,51,46), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(25,HX_("close",b8,17,63,48), ::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_("getParticipantDetails",85,2b,7d,4d), ::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_("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(28,HX_("correctMessage__fromC",9c,b3,3d,7c), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(29,HX_("addMedia",03,2b,19,7f), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
- }
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/ChatMessage.cpp b/Sources/c_snikket/src/snikket/ChatMessage.cpp
deleted file mode 100644
index da51e11..0000000
--- a/Sources/c_snikket/src/snikket/ChatMessage.cpp
+++ /dev/null
@@ -1,1938 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_EReg
-#include <EReg.h>
-#endif
-#ifndef INCLUDED_Lambda
-#include <Lambda.h>
-#endif
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
-#ifndef INCLUDED_Std
-#include <Std.h>
-#endif
-#ifndef INCLUDED_StringTools
-#include <StringTools.h>
-#endif
-#ifndef INCLUDED__HaxeCBridge_Internal
-#include <_HaxeCBridge/Internal.h>
-#endif
-#ifndef INCLUDED_cpp_Int64Map
-#include <cpp/Int64Map.h>
-#endif
-#ifndef INCLUDED_datetime__DateTimeInterval_DateTimeInterval_Impl_
-#include <datetime/_DateTimeInterval/DateTimeInterval_Impl_.h>
-#endif
-#ifndef INCLUDED_datetime_cores_DateTimeIntervalCore
-#include <datetime/cores/DateTimeIntervalCore.h>
-#endif
-#ifndef INCLUDED_datetime_utils_DateTimeIntervalUtils
-#include <datetime/utils/DateTimeIntervalUtils.h>
-#endif
-#ifndef INCLUDED_datetime_utils_DateTimeUtils
-#include <datetime/utils/DateTimeUtils.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_snikket_ChatAttachment
-#include <snikket/ChatAttachment.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#include <snikket/ChatMessageBuilder.h>
-#endif
-#ifndef INCLUDED_snikket_EmojiUtil
-#include <snikket/EmojiUtil.h>
-#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
-#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
-#endif
-#ifndef INCLUDED_snikket_Identicon
-#include <snikket/Identicon.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Message
-#include <snikket/Message.h>
-#endif
-#ifndef INCLUDED_snikket_MessageStanza
-#include <snikket/MessageStanza.h>
-#endif
-#ifndef INCLUDED_snikket_Node
-#include <snikket/Node.h>
-#endif
-#ifndef INCLUDED_snikket_Reaction
-#include <snikket/Reaction.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket_StringUtil
-#include <snikket/StringUtil.h>
-#endif
-#ifndef INCLUDED_snikket_XEP0393
-#include <snikket/XEP0393.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_b3673a050e0c4d12_209_new,"snikket.ChatMessage","new",0x32c68430,"snikket.ChatMessage.new","snikket/ChatMessage.hx",209,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_355_localId__fromC,"snikket.ChatMessage","localId__fromC",0xd3c36543,"snikket.ChatMessage.localId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_355_serverId__fromC,"snikket.ChatMessage","serverId__fromC",0xdb59e68b,"snikket.ChatMessage.serverId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_355_serverIdBy__fromC,"snikket.ChatMessage","serverIdBy__fromC",0xd54611f4,"snikket.ChatMessage.serverIdBy__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_355_type__fromC,"snikket.ChatMessage","type__fromC",0xb86faccf,"snikket.ChatMessage.type__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_355_timestamp__fromC,"snikket.ChatMessage","timestamp__fromC",0xe3f8ac93,"snikket.ChatMessage.timestamp__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_355_senderId__fromC,"snikket.ChatMessage","senderId__fromC",0x24e23b59,"snikket.ChatMessage.senderId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_308_replyToMessage__fromC,"snikket.ChatMessage","replyToMessage__fromC",0x89f44d87,"snikket.ChatMessage.replyToMessage__fromC","HaxeCBridge.hx",308,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_355_threadId__fromC,"snikket.ChatMessage","threadId__fromC",0xd31afda4,"snikket.ChatMessage.threadId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_334_attachments__fromC,"snikket.ChatMessage","attachments__fromC",0xb2a7ed79,"snikket.ChatMessage.attachments__fromC","HaxeCBridge.hx",334,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_297_reactionKeys__fromC,"snikket.ChatMessage","reactionKeys__fromC",0x0eb437ac,"snikket.ChatMessage.reactionKeys__fromC","HaxeCBridge.hx",297,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_141_get_reactionKeys,"snikket.ChatMessage","get_reactionKeys",0x825894f6,"snikket.ChatMessage.get_reactionKeys","snikket/ChatMessage.hx",141,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_148_reactionDetails,"snikket.ChatMessage","reactionDetails",0x21547fe9,"snikket.ChatMessage.reactionDetails","snikket/ChatMessage.hx",148,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_250_reactionDetails__fromC,"snikket.ChatMessage","reactionDetails__fromC",0xf79fafb0,"snikket.ChatMessage.reactionDetails__fromC","HaxeCBridge.hx",250,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_355_text__fromC,"snikket.ChatMessage","text__fromC",0xa41e473c,"snikket.ChatMessage.text__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_355_lang__fromC,"snikket.ChatMessage","lang__fromC",0x7703281b,"snikket.ChatMessage.lang__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_355_direction__fromC,"snikket.ChatMessage","direction__fromC",0x58338e4a,"snikket.ChatMessage.direction__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_355_status__fromC,"snikket.ChatMessage","status__fromC",0x4fcd4b57,"snikket.ChatMessage.status__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_366_set_status__fromC,"snikket.ChatMessage","set_status__fromC",0x9e1b56ba,"snikket.ChatMessage.set_status__fromC","HaxeCBridge.hx",366,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_672f2a9d33b9a067_334_versions__fromC,"snikket.ChatMessage","versions__fromC",0x6e819f4e,"snikket.ChatMessage.versions__fromC","HaxeCBridge.hx",334,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_248_reply,"snikket.ChatMessage","reply",0xa22950fa,"snikket.ChatMessage.reply","snikket/ChatMessage.hx",248,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_256_getReplyId,"snikket.ChatMessage","getReplyId",0x993253df,"snikket.ChatMessage.getReplyId","snikket/ChatMessage.hx",256,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_262_set_replyToMessage,"snikket.ChatMessage","set_replyToMessage",0x0059f86f,"snikket.ChatMessage.set_replyToMessage","snikket/ChatMessage.hx",262,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_271_set_reactions,"snikket.ChatMessage","set_reactions",0x9ca71a5d,"snikket.ChatMessage.set_reactions","snikket/ChatMessage.hx",271,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_272_set_reactions,"snikket.ChatMessage","set_reactions",0x9ca71a5d,"snikket.ChatMessage.set_reactions","snikket/ChatMessage.hx",272,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_279_inlineHashReferences,"snikket.ChatMessage","inlineHashReferences",0xd9e9761f,"snikket.ChatMessage.inlineHashReferences","snikket/ChatMessage.hx",279,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_277_inlineHashReferences,"snikket.ChatMessage","inlineHashReferences",0xd9e9761f,"snikket.ChatMessage.inlineHashReferences","snikket/ChatMessage.hx",277,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_281_inlineHashReferences,"snikket.ChatMessage","inlineHashReferences",0xd9e9761f,"snikket.ChatMessage.inlineHashReferences","snikket/ChatMessage.hx",281,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_306_html,"snikket.ChatMessage","html",0x3701379b,"snikket.ChatMessage.html","snikket/ChatMessage.hx",306,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_331_html,"snikket.ChatMessage","html",0x3701379b,"snikket.ChatMessage.html","snikket/ChatMessage.hx",331,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_336_html,"snikket.ChatMessage","html",0x3701379b,"snikket.ChatMessage.html","snikket/ChatMessage.hx",336,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_305_html,"snikket.ChatMessage","html",0x3701379b,"snikket.ChatMessage.html","snikket/ChatMessage.hx",305,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_308_html,"snikket.ChatMessage","html",0x3701379b,"snikket.ChatMessage.html","snikket/ChatMessage.hx",308,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_343_chatId,"snikket.ChatMessage","chatId",0xf2f29303,"snikket.ChatMessage.chatId","snikket/ChatMessage.hx",343,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_354_account,"snikket.ChatMessage","account",0x71fad87d,"snikket.ChatMessage.account","snikket/ChatMessage.hx",354,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_361_isIncoming,"snikket.ChatMessage","isIncoming",0x345ab920,"snikket.ChatMessage.isIncoming","snikket/ChatMessage.hx",361,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_368_threadIcon,"snikket.ChatMessage","threadIcon",0xe0122193,"snikket.ChatMessage.threadIcon","snikket/ChatMessage.hx",368,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_375_callStatus,"snikket.ChatMessage","callStatus",0xcfc224a0,"snikket.ChatMessage.callStatus","snikket/ChatMessage.hx",375,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_382_callSid,"snikket.ChatMessage","callSid",0x24f4d0e0,"snikket.ChatMessage.callSid","snikket/ChatMessage.hx",382,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_388_callDuration,"snikket.ChatMessage","callDuration",0x8a710442,"snikket.ChatMessage.callDuration","snikket/ChatMessage.hx",388,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_412_asStanza,"snikket.ChatMessage","asStanza",0x50ece2b7,"snikket.ChatMessage.asStanza","snikket/ChatMessage.hx",412,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_459_asStanza,"snikket.ChatMessage","asStanza",0x50ece2b7,"snikket.ChatMessage.asStanza","snikket/ChatMessage.hx",459,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_237_fromStanza,"snikket.ChatMessage","fromStanza",0xe7d1c92f,"snikket.ChatMessage.fromStanza","snikket/ChatMessage.hx",237,0x79a8b101)
-HX_LOCAL_STACK_FRAME(_hx_pos_b3673a050e0c4d12_66_boot,"snikket.ChatMessage","boot",0x33062662,"snikket.ChatMessage.boot","snikket/ChatMessage.hx",66,0x79a8b101)
-namespace snikket{
-
-void ChatMessage_obj::__construct( ::Dynamic params){
- HX_GC_STACKFRAME(&_hx_pos_b3673a050e0c4d12_209_new)
-HXLINE( 210) this->localId = ( (::String)(params->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic)) );
-HXLINE( 211) this->serverId = ( (::String)(params->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic)) );
-HXLINE( 212) this->serverIdBy = ( (::String)(params->__Field(HX_("serverIdBy",f5,16,54,74),::hx::paccDynamic)) );
-HXLINE( 213) ::Dynamic tmp = params->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic);
-HXDLIN( 213) int _hx_tmp;
-HXDLIN( 213) if (::hx::IsNotNull( tmp )) {
-HXLINE( 213) _hx_tmp = ( (int)(tmp) );
- }
- else {
-HXLINE( 213) _hx_tmp = 0;
- }
-HXDLIN( 213) this->type = _hx_tmp;
-HXLINE( 214) ::Dynamic tmp1 = params->__Field(HX_("syncPoint",f5,ff,94,98),::hx::paccDynamic);
-HXDLIN( 214) bool _hx_tmp1;
-HXDLIN( 214) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 214) _hx_tmp1 = ( (bool)(tmp1) );
- }
- else {
-HXLINE( 214) _hx_tmp1 = false;
- }
-HXDLIN( 214) this->syncPoint = _hx_tmp1;
-HXLINE( 215) this->replyId = ( (::String)(params->__Field(HX_("replyId",a5,67,3a,ab),::hx::paccDynamic)) );
-HXLINE( 216) this->timestamp = ( (::String)(params->__Field(HX_("timestamp",d6,d4,ce,a5),::hx::paccDynamic)) );
-HXLINE( 217) this->to = ( ( ::snikket::JID)(params->__Field(HX_("to",7b,65,00,00),::hx::paccDynamic)) );
-HXLINE( 218) this->from = ( ( ::snikket::JID)(params->__Field(HX_("from",6a,a5,c2,43),::hx::paccDynamic)) );
-HXLINE( 219) this->senderId = ( (::String)(params->__Field(HX_("senderId",f0,1e,0e,ec),::hx::paccDynamic)) );
-HXLINE( 220) ::Array< ::Dynamic> tmp2 = ( (::Array< ::Dynamic>)(params->__Field(HX_("recipients",7a,62,59,87),::hx::paccDynamic)) );
-HXDLIN( 220) ::Array< ::Dynamic> _hx_tmp2;
-HXDLIN( 220) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 220) _hx_tmp2 = tmp2;
- }
- else {
-HXLINE( 220) _hx_tmp2 = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN( 220) this->recipients = _hx_tmp2;
-HXLINE( 221) ::Array< ::Dynamic> tmp3 = ( (::Array< ::Dynamic>)(params->__Field(HX_("replyTo",45,71,3a,ab),::hx::paccDynamic)) );
-HXDLIN( 221) ::Array< ::Dynamic> _hx_tmp3;
-HXDLIN( 221) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 221) _hx_tmp3 = tmp3;
- }
- else {
-HXLINE( 221) _hx_tmp3 = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN( 221) this->replyTo = _hx_tmp3;
-HXLINE( 222) this->replyToMessage = ( ( ::snikket::ChatMessage)(params->__Field(HX_("replyToMessage",02,cf,60,a6),::hx::paccDynamic)) );
-HXLINE( 223) this->threadId = ( (::String)(params->__Field(HX_("threadId",45,81,25,cc),::hx::paccDynamic)) );
-HXLINE( 224) ::Array< ::Dynamic> tmp4 = ( (::Array< ::Dynamic>)(params->__Field(HX_("attachments",30,df,33,e7),::hx::paccDynamic)) );
-HXDLIN( 224) ::Array< ::Dynamic> _hx_tmp4;
-HXDLIN( 224) if (::hx::IsNotNull( tmp4 )) {
-HXLINE( 224) _hx_tmp4 = tmp4;
- }
- else {
-HXLINE( 224) _hx_tmp4 = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN( 224) this->attachments = _hx_tmp4;
-HXLINE( 225) ::haxe::ds::StringMap tmp5 = ( ( ::haxe::ds::StringMap)(params->__Field(HX_("reactions",aa,cc,95,e7),::hx::paccDynamic)) );
-HXDLIN( 225) ::haxe::ds::StringMap _hx_tmp5;
-HXDLIN( 225) if (::hx::IsNotNull( tmp5 )) {
-HXLINE( 225) _hx_tmp5 = tmp5;
- }
- else {
-HXLINE( 225) _hx_tmp5 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
- }
-HXDLIN( 225) this->reactions = _hx_tmp5;
-HXLINE( 226) this->text = ( (::String)(params->__Field(HX_("text",ad,cc,f9,4c),::hx::paccDynamic)) );
-HXLINE( 227) this->lang = ( (::String)(params->__Field(HX_("lang",ee,05,ad,47),::hx::paccDynamic)) );
-HXLINE( 228) ::Dynamic tmp6 = params->__Field(HX_("direction",3f,62,40,10),::hx::paccDynamic);
-HXDLIN( 228) int _hx_tmp6;
-HXDLIN( 228) if (::hx::IsNotNull( tmp6 )) {
-HXLINE( 228) _hx_tmp6 = ( (int)(tmp6) );
- }
- else {
-HXLINE( 228) _hx_tmp6 = 1;
- }
-HXDLIN( 228) this->direction = _hx_tmp6;
-HXLINE( 229) ::Dynamic tmp7 = params->__Field(HX_("status",32,e7,fb,05),::hx::paccDynamic);
-HXDLIN( 229) int _hx_tmp7;
-HXDLIN( 229) if (::hx::IsNotNull( tmp7 )) {
-HXLINE( 229) _hx_tmp7 = ( (int)(tmp7) );
- }
- else {
-HXLINE( 229) _hx_tmp7 = 0;
- }
-HXDLIN( 229) this->status = _hx_tmp7;
-HXLINE( 230) ::Array< ::Dynamic> tmp8 = ( (::Array< ::Dynamic>)(params->__Field(HX_("versions",5b,4e,b8,d6),::hx::paccDynamic)) );
-HXDLIN( 230) ::Array< ::Dynamic> _hx_tmp8;
-HXDLIN( 230) if (::hx::IsNotNull( tmp8 )) {
-HXLINE( 230) _hx_tmp8 = tmp8;
- }
- else {
-HXLINE( 230) _hx_tmp8 = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN( 230) this->versions = _hx_tmp8;
-HXLINE( 231) ::Array< ::Dynamic> tmp9 = ( (::Array< ::Dynamic>)(params->__Field(HX_("payloads",25,dd,d1,a1),::hx::paccDynamic)) );
-HXDLIN( 231) ::Array< ::Dynamic> _hx_tmp9;
-HXDLIN( 231) if (::hx::IsNotNull( tmp9 )) {
-HXLINE( 231) _hx_tmp9 = tmp9;
- }
- else {
-HXLINE( 231) _hx_tmp9 = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN( 231) this->payloads = _hx_tmp9;
-HXLINE( 232) this->stanza = ( ( ::snikket::Stanza)(params->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
- }
-
-Dynamic ChatMessage_obj::__CreateEmpty() { return new ChatMessage_obj; }
-
-void *ChatMessage_obj::_hx_vtable = 0;
-
-Dynamic ChatMessage_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< ChatMessage_obj > _hx_result = new ChatMessage_obj();
- _hx_result->__construct(inArgs[0]);
- return _hx_result;
-}
-
-bool ChatMessage_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x36665f12;
-}
-
-::String ChatMessage_obj::localId__fromC(){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_355_localId__fromC)
-HXDLIN( 355) return this->localId;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,localId__fromC,return )
-
-::String ChatMessage_obj::serverId__fromC(){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_355_serverId__fromC)
-HXDLIN( 355) return this->serverId;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,serverId__fromC,return )
-
-::String ChatMessage_obj::serverIdBy__fromC(){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_355_serverIdBy__fromC)
-HXDLIN( 355) return this->serverIdBy;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,serverIdBy__fromC,return )
-
-int ChatMessage_obj::type__fromC(){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_355_type__fromC)
-HXDLIN( 355) return this->type;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,type__fromC,return )
-
-::String ChatMessage_obj::timestamp__fromC(){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_355_timestamp__fromC)
-HXDLIN( 355) return this->timestamp;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,timestamp__fromC,return )
-
-::String ChatMessage_obj::senderId__fromC(){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_355_senderId__fromC)
-HXDLIN( 355) return this->senderId;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,senderId__fromC,return )
-
- ::snikket::ChatMessage ChatMessage_obj::replyToMessage__fromC(){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_308_replyToMessage__fromC)
-HXDLIN( 308) return this->replyToMessage;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,replyToMessage__fromC,return )
-
-::String ChatMessage_obj::threadId__fromC(){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_355_threadId__fromC)
-HXDLIN( 355) return this->threadId;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,threadId__fromC,return )
-
-size_t ChatMessage_obj::attachments__fromC(void*** outPtr){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_334_attachments__fromC)
-HXDLIN( 334) ::Array< ::Dynamic> x = this->attachments;
-HXDLIN( 334) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 334) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 334) ::Array< ::Dynamic> x1 = x;
-HXDLIN( 334) {
-HXDLIN( 334) int _g = 0;
-HXDLIN( 334) while((_g < x1->length)){
-HXDLIN( 334) ::snikket::ChatAttachment el = x1->__get(_g).StaticCast< ::snikket::ChatAttachment >();
-HXDLIN( 334) _g = (_g + 1);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic haxeObject = el;
-HXDLIN( 334) void* ptr = haxeObject.mPtr;
-HXDLIN( 334) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 334) if (::hx::IsNull( store )) {
-HXDLIN( 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 {
-HXDLIN( 334) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 334) void** ptr1 = (void**)x1->getBase();
-HXDLIN( 334) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 334) if (::hx::IsNull( store1 )) {
-HXDLIN( 334) 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( 334) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXDLIN( 334) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 334) _hx_tmp->set_ref(ptr1);
- }
-HXDLIN( 334) return ( (size_t)(x->length) );
- }
-
-
-size_t ChatMessage_obj::reactionKeys__fromC(const char*** outPtr){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_297_reactionKeys__fromC)
-HXDLIN( 297) ::Array< ::String > x = this->get_reactionKeys();
-HXDLIN( 297) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 297) ::cpp::Pointer< const char** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 297) ::Array< size_t > arr = ::Array_obj< size_t >::__new(x->length);
-HXDLIN( 297) {
-HXDLIN( 297) int _g_current = 0;
-HXDLIN( 297) ::Array< ::String > _g_array = x;
-HXDLIN( 297) while((_g_current < _g_array->length)){
-HXDLIN( 297) ::String _g_value = _g_array->__get(_g_current);
-HXDLIN( 297) _g_current = (_g_current + 1);
-HXDLIN( 297) int _g_key = (_g_current - 1);
-HXDLIN( 297) int i = _g_key;
-HXDLIN( 297) ::String el = _g_value;
-HXDLIN( 297) {
-HXDLIN( 297) const char* cStrPtr = el.utf8_str();
-HXDLIN( 297) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
-HXDLIN( 297) {
-HXDLIN( 297) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 297) if (::hx::IsNull( store )) {
-HXLINE(2111) 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( 297) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXDLIN( 297) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 297) const char* ptr = cStrPtr;
-HXDLIN( 297) arr[i] = reinterpret_cast<size_t>(ptr);
- }
- }
- }
-HXDLIN( 297) void** ptr1 = (void**)arr->getBase();
-HXDLIN( 297) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 297) {
-HXDLIN( 297) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 297) if (::hx::IsNull( store1 )) {
-HXLINE(2111) 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( 297) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXDLIN( 297) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 297) _hx_tmp->set_ref(( (const char**)(ptr1) ));
- }
-HXDLIN( 297) 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_b3673a050e0c4d12_141_get_reactionKeys)
-HXDLIN( 141) return _e->keys();
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_141_get_reactionKeys)
-HXDLIN( 141) ::haxe::ds::StringMap _e = this->reactions;
-HXDLIN( 141) return ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(_e)))));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,get_reactionKeys,return )
-
-::Array< ::Dynamic> ChatMessage_obj::reactionDetails(::String reactionKey){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_148_reactionDetails)
-HXDLIN( 148) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(this->reactions->get(reactionKey)) );
-HXDLIN( 148) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 148) return tmp;
- }
- else {
-HXDLIN( 148) return ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN( 148) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessage_obj,reactionDetails,return )
-
-size_t ChatMessage_obj::reactionDetails__fromC(::String reactionKey,void*** outPtr){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_250_reactionDetails__fromC)
-HXDLIN( 250) ::Array< ::Dynamic> out = this->reactionDetails(reactionKey);
-HXDLIN( 250) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 250) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 250) {
-HXDLIN( 250) int _g = 0;
-HXDLIN( 250) while((_g < out->length)){
-HXDLIN( 250) ::snikket::Reaction el = out->__get(_g).StaticCast< ::snikket::Reaction >();
-HXDLIN( 250) _g = (_g + 1);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic haxeObject = el;
-HXDLIN( 250) void* ptr = haxeObject.mPtr;
-HXDLIN( 250) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 250) if (::hx::IsNull( store )) {
-HXDLIN( 250) 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( 250) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXDLIN( 250) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 250) void** ptr1 = (void**)out->getBase();
-HXDLIN( 250) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 250) if (::hx::IsNull( store1 )) {
-HXDLIN( 250) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),out));
-HXDLIN( 250) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXDLIN( 250) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 250) _hx_tmp->set_ref(ptr1);
- }
-HXDLIN( 250) return ( (size_t)(out->length) );
- }
-
-
-::String ChatMessage_obj::text__fromC(){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_355_text__fromC)
-HXDLIN( 355) return this->text;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,text__fromC,return )
-
-::String ChatMessage_obj::lang__fromC(){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_355_lang__fromC)
-HXDLIN( 355) return this->lang;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,lang__fromC,return )
-
-int ChatMessage_obj::direction__fromC(){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_355_direction__fromC)
-HXDLIN( 355) return this->direction;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,direction__fromC,return )
-
-int ChatMessage_obj::status__fromC(){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_355_status__fromC)
-HXDLIN( 355) return this->status;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,status__fromC,return )
-
-void ChatMessage_obj::set_status__fromC(int value){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_366_set_status__fromC)
-HXDLIN( 366) this->status = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessage_obj,set_status__fromC,(void))
-
-size_t ChatMessage_obj::versions__fromC(void*** outPtr){
- HX_STACKFRAME(&_hx_pos_672f2a9d33b9a067_334_versions__fromC)
-HXDLIN( 334) ::Array< ::Dynamic> x = this->versions;
-HXDLIN( 334) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 334) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 334) ::Array< ::Dynamic> x1 = x;
-HXDLIN( 334) {
-HXDLIN( 334) int _g = 0;
-HXDLIN( 334) while((_g < x1->length)){
-HXDLIN( 334) ::snikket::ChatMessage el = x1->__get(_g).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 334) _g = (_g + 1);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic haxeObject = el;
-HXDLIN( 334) void* ptr = haxeObject.mPtr;
-HXDLIN( 334) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 334) if (::hx::IsNull( store )) {
-HXDLIN( 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 {
-HXDLIN( 334) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 334) void** ptr1 = (void**)x1->getBase();
-HXDLIN( 334) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 334) if (::hx::IsNull( store1 )) {
-HXDLIN( 334) 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( 334) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXDLIN( 334) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 334) _hx_tmp->set_ref(ptr1);
- }
-HXDLIN( 334) return ( (size_t)(x->length) );
- }
-
-
- ::snikket::ChatMessageBuilder ChatMessage_obj::reply(){
- HX_GC_STACKFRAME(&_hx_pos_b3673a050e0c4d12_248_reply)
-HXLINE( 249) ::snikket::ChatMessageBuilder m = ::snikket::ChatMessageBuilder_obj::__alloc( HX_CTX );
-HXLINE( 250) m->type = this->type;
-HXLINE( 251) ::String tmp = this->threadId;
-HXDLIN( 251) ::String _hx_tmp;
-HXDLIN( 251) if (::hx::IsNotNull( tmp )) {
-HXLINE( 251) _hx_tmp = tmp;
- }
- else {
-HXLINE( 251) _hx_tmp = ::snikket::ID_obj::_hx_long();
- }
-HXDLIN( 251) m->threadId = _hx_tmp;
-HXLINE( 252) m->replyToMessage = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 253) return m;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,reply,return )
-
-::String ChatMessage_obj::getReplyId(){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_256_getReplyId)
-HXLINE( 257) if (::hx::IsNotNull( this->replyId )) {
-HXLINE( 257) return this->replyId;
- }
-HXLINE( 258) bool _hx_tmp;
-HXDLIN( 258) if ((this->type != 2)) {
-HXLINE( 258) _hx_tmp = (this->type == 3);
- }
- else {
-HXLINE( 258) _hx_tmp = true;
- }
-HXDLIN( 258) if (_hx_tmp) {
-HXLINE( 258) return this->serverId;
- }
- else {
-HXLINE( 258) return this->localId;
- }
-HXDLIN( 258) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,getReplyId,return )
-
- ::snikket::ChatMessage ChatMessage_obj::set_replyToMessage( ::snikket::ChatMessage m){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_262_set_replyToMessage)
-HXLINE( 263) ::snikket::ChatMessage rtm = this->replyToMessage;
-HXLINE( 264) if (::hx::IsNull( rtm )) {
-HXLINE( 264) HX_STACK_DO_THROW(HX_("Cannot hydrate null replyToMessage",f1,d9,4b,bf));
- }
-HXLINE( 265) bool _hx_tmp;
-HXDLIN( 265) if (::hx::IsNotNull( rtm->serverId )) {
-HXLINE( 265) _hx_tmp = (rtm->serverId != m->serverId);
- }
- else {
-HXLINE( 265) _hx_tmp = false;
- }
-HXDLIN( 265) if (_hx_tmp) {
-HXLINE( 265) HX_STACK_DO_THROW(HX_("Hydrate serverId mismatch",43,6c,05,df));
- }
-HXLINE( 266) bool _hx_tmp1;
-HXDLIN( 266) if (::hx::IsNotNull( rtm->localId )) {
-HXLINE( 266) _hx_tmp1 = (rtm->localId != m->localId);
- }
- else {
-HXLINE( 266) _hx_tmp1 = false;
- }
-HXDLIN( 266) if (_hx_tmp1) {
-HXLINE( 266) HX_STACK_DO_THROW(HX_("Hydrate localId mismatch",d5,ef,ca,42));
- }
-HXLINE( 267) 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_b3673a050e0c4d12_271_set_reactions)
-HXDLIN( 271) ::snikket::ChatMessage _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 272) bool _hx_tmp;
-HXDLIN( 272) if (::hx::IsNotNull( this->reactions )) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::ChatMessage,_gthis) HXARGC(0)
- ::Dynamic _hx_run(){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_272_set_reactions)
-HXLINE( 272) return _gthis->reactions->keys();
- }
- HX_END_LOCAL_FUNC0(return)
-
-HXLINE( 272) _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( 272) _hx_tmp = false;
- }
-HXDLIN( 272) if (_hx_tmp) {
-HXLINE( 272) HX_STACK_DO_THROW(HX_("Reactions already hydrated",4f,72,b8,9d));
- }
-HXLINE( 273) return (this->reactions = r);
- }
-
-
-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( ::snikket::Stanza p){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_279_inlineHashReferences)
-HXLINE( 279) 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( 279) return (p->name == HX_("html",6b,95,16,45));
- }
- else {
-HXLINE( 279) return false;
- }
-HXDLIN( 279) return false;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_277_inlineHashReferences)
-HXLINE( 278) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 279) ::snikket::Stanza tmp = ( ( ::snikket::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
-HXDLIN( 279) ::snikket::Stanza htmlBody;
-HXDLIN( 279) if (::hx::IsNotNull( tmp )) {
-HXLINE( 279) htmlBody = tmp->getChild(HX_("body",a2,7a,1b,41),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8));
- }
- else {
-HXLINE( 279) htmlBody = null();
- }
-HXLINE( 280) if (::hx::IsNotNull( htmlBody )) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1,::Array< ::Dynamic>,result) HXARGC(1)
- bool _hx_run( ::snikket::Stanza child){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_281_inlineHashReferences)
-HXLINE( 282) if ((child->name == HX_("img",03,0c,50,00))) {
-HXLINE( 283) ::String src = ( (::String)(::Reflect_obj::field(child->attr,HX_("src",e4,a6,57,00))) );
-HXLINE( 284) if (::hx::IsNotNull( src )) {
-HXLINE( 285) ::snikket::Hash hash = ::snikket::Hash_obj::fromUri(src);
-HXLINE( 286) if (::hx::IsNotNull( hash )) {
-HXLINE( 287) ::snikket::Hash x = hash;
-HXLINE( 288) result->push(x);
- }
- }
-HXLINE( 291) return true;
- }
-HXLINE( 293) return false;
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 281) htmlBody->traverse( ::Dynamic(new _hx_Closure_1(result)));
- }
-HXLINE( 297) return result;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,inlineHashReferences,return )
-
-::String ChatMessage_obj::html(){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run( ::snikket::Stanza p){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_306_html)
-HXLINE( 306) 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( 306) return (p->name == HX_("html",6b,95,16,45));
- }
- else {
-HXLINE( 306) return false;
- }
-HXDLIN( 306) return false;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(2)
- int _hx_run( ::Dynamic x, ::Dynamic y){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_331_html)
-HXLINE( 331) 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_3) HXARGC(1)
- bool _hx_run( ::snikket::Stanza p){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_336_html)
-HXLINE( 336) if ((( (::String)(::Reflect_obj::field(p->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:styling:0",48,d3,aa,fb))) {
-HXLINE( 336) return (p->name == HX_("unstyled",2c,15,1a,18));
- }
- else {
-HXLINE( 336) return false;
- }
-HXDLIN( 336) return false;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_305_html)
-HXDLIN( 305) ::snikket::ChatMessage _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 306) ::snikket::Stanza tmp = ( ( ::snikket::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
-HXDLIN( 306) ::snikket::Stanza htmlBody;
-HXDLIN( 306) if (::hx::IsNotNull( tmp )) {
-HXLINE( 306) htmlBody = tmp->getChild(HX_("body",a2,7a,1b,41),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8));
- }
- else {
-HXLINE( 306) htmlBody = null();
- }
-HXLINE( 307) if (::hx::IsNotNull( htmlBody )) {
-HXLINE( 308) ::Array< ::Dynamic> _this = htmlBody->getChildren();
-HXDLIN( 308) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 308) {
-HXLINE( 308) int _g = 0;
-HXDLIN( 308) int _g1 = _this->length;
-HXDLIN( 308) while((_g < _g1)){
-HXLINE( 308) _g = (_g + 1);
-HXDLIN( 308) int i = (_g - 1);
-HXDLIN( 308) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
- bool _hx_run( ::snikket::Stanza child){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_308_html)
-HXLINE( 309) if ((child->name == HX_("img",03,0c,50,00))) {
-HXLINE( 310) ::String src = ( (::String)(::Reflect_obj::field(child->attr,HX_("src",e4,a6,57,00))) );
-HXLINE( 311) if (::hx::IsNotNull( src )) {
-HXLINE( 312) ::snikket::Hash hash = ::snikket::Hash_obj::fromUri(src);
-HXLINE( 313) if (::hx::IsNotNull( hash )) {
-HXLINE( 314) ::Dynamic this1 = child->attr;
-HXDLIN( 314) ::String value = hash->toUri();
-HXDLIN( 314) ::Reflect_obj::setField(this1,HX_("src",e4,a6,57,00),value);
- }
- }
-HXLINE( 317) return true;
- }
-HXLINE( 319) return false;
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 308) ::String inValue = ::snikket::_Stanza::NodeInterface_obj::serialize(::snikket::_Stanza::NodeInterface_obj::traverse(_hx_array_unsafe_get(_this,i), ::Dynamic(new _hx_Closure_1())));
-HXDLIN( 308) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 308) return result->join(HX_("",00,00,00,00));
- }
-HXLINE( 323) ::String tmp1 = this->text;
-HXDLIN( 323) ::String codepoints;
-HXDLIN( 323) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 323) codepoints = tmp1;
- }
- else {
-HXLINE( 323) codepoints = HX_("",00,00,00,00);
- }
-HXDLIN( 323) ::Array< ::String > codepoints1 = ::snikket::StringUtil_obj::codepointArray(codepoints);
-HXLINE( 325) ::Array< ::Dynamic> _g2 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 325) {
-HXLINE( 325) int _g3 = 0;
-HXDLIN( 325) ::Array< ::Dynamic> _g4 = this->payloads;
-HXDLIN( 325) while((_g3 < _g4->length)){
-HXLINE( 325) ::snikket::Stanza v = _g4->__get(_g3).StaticCast< ::snikket::Stanza >();
-HXDLIN( 325) _g3 = (_g3 + 1);
-HXLINE( 326) bool fallbacks;
-HXDLIN( 326) if ((( (::String)(::Reflect_obj::field(v->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:fallback:0",74,aa,56,9b))) {
-HXLINE( 327) bool fallbacks1;
-HXDLIN( 327) bool fallbacks2;
-HXDLIN( 327) bool fallbacks3;
-HXDLIN( 327) if ((( (::String)(::Reflect_obj::field(v->attr,HX_("for",09,c7,4d,00))) ) != HX_("jabber:x:oob",aa,8a,5f,ef))) {
-HXLINE( 327) fallbacks3 = (( (::String)(::Reflect_obj::field(v->attr,HX_("for",09,c7,4d,00))) ) == HX_("urn:xmpp:sims:1",4f,1c,49,62));
- }
- else {
-HXLINE( 327) fallbacks3 = true;
- }
-HXDLIN( 327) if (fallbacks3) {
-HXLINE( 327) fallbacks2 = (_gthis->attachments->length > 0);
- }
- else {
-HXLINE( 327) fallbacks2 = false;
- }
-HXDLIN( 327) if (!(fallbacks2)) {
-HXLINE( 328) if (::hx::IsNotNull( _gthis->replyToMessage )) {
-HXLINE( 327) fallbacks1 = (( (::String)(::Reflect_obj::field(v->attr,HX_("for",09,c7,4d,00))) ) == HX_("urn:xmpp:reply:0",c4,d5,6f,90));
- }
- else {
-HXLINE( 327) fallbacks1 = false;
- }
- }
- else {
-HXLINE( 327) fallbacks1 = true;
- }
-HXDLIN( 327) if (!(fallbacks1)) {
-HXLINE( 326) fallbacks = (( (::String)(::Reflect_obj::field(v->attr,HX_("for",09,c7,4d,00))) ) == HX_("http://jabber.org/protocol/address",c0,fd,09,ed));
- }
- else {
-HXLINE( 326) fallbacks = true;
- }
- }
- else {
-HXLINE( 326) fallbacks = false;
- }
-HXLINE( 325) if (fallbacks) {
-HXLINE( 325) _g2->push(v);
- }
- }
- }
-HXDLIN( 325) ::Array< ::Dynamic> _this1 = _g2;
-HXDLIN( 325) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(_this1->length);
-HXDLIN( 325) {
-HXLINE( 325) int _g5 = 0;
-HXDLIN( 325) int _g6 = _this1->length;
-HXDLIN( 325) while((_g5 < _g6)){
-HXLINE( 325) _g5 = (_g5 + 1);
-HXDLIN( 325) int i1 = (_g5 - 1);
-HXDLIN( 325) {
-HXLINE( 325) ::snikket::Stanza inValue1 = ( ( ::snikket::Stanza)(_hx_array_unsafe_get(_this1,i1)) )->getChild(HX_("body",a2,7a,1b,41),null());
-HXDLIN( 325) result1->__unsafe_set(i1,inValue1);
- }
- }
- }
-HXDLIN( 325) ::Array< ::Dynamic> _this2 = result1;
-HXDLIN( 325) ::Array< ::Dynamic> result2 = ::Array_obj< ::Dynamic>::__new(_this2->length);
-HXDLIN( 325) {
-HXLINE( 325) int _g7 = 0;
-HXDLIN( 325) int _g8 = _this2->length;
-HXDLIN( 325) while((_g7 < _g8)){
-HXLINE( 325) _g7 = (_g7 + 1);
-HXDLIN( 325) int i2 = (_g7 - 1);
-HXDLIN( 325) {
-HXLINE( 330) ::snikket::Stanza b = ( ( ::snikket::Stanza)(_hx_array_unsafe_get(_this2,i2)) );
-HXLINE( 325) ::Dynamic inValue2;
-HXLINE( 330) if (::hx::IsNull( b )) {
-HXLINE( 325) inValue2 = null();
- }
- else {
-HXLINE( 330) int inValue3;
-HXDLIN( 330) ::String tmp2 = ( (::String)(::Reflect_obj::field(b->attr,HX_("start",62,74,0b,84))) );
-HXDLIN( 330) ::String tmp3;
-HXDLIN( 330) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 330) tmp3 = tmp2;
- }
- else {
-HXLINE( 330) tmp3 = HX_("0",30,00,00,00);
- }
-HXDLIN( 330) ::Dynamic tmp4 = ::Std_obj::parseInt(tmp3);
-HXDLIN( 330) if (::hx::IsNotNull( tmp4 )) {
-HXLINE( 330) inValue3 = ( (int)(tmp4) );
- }
- else {
-HXLINE( 330) inValue3 = 0;
- }
-HXDLIN( 330) ::String tmp5 = ( (::String)(::Reflect_obj::field(b->attr,HX_("end",db,03,4d,00))) );
-HXDLIN( 330) ::String tmp6;
-HXDLIN( 330) if (::hx::IsNotNull( tmp5 )) {
-HXLINE( 330) tmp6 = tmp5;
- }
- else {
-HXLINE( 330) tmp6 = ::Std_obj::string(codepoints1->length);
- }
-HXDLIN( 330) ::Dynamic tmp7 = ::Std_obj::parseInt(tmp6);
-HXDLIN( 330) int inValue4;
-HXDLIN( 330) if (::hx::IsNotNull( tmp7 )) {
-HXLINE( 330) inValue4 = ( (int)(tmp7) );
- }
- else {
-HXLINE( 330) inValue4 = codepoints1->length;
- }
-HXLINE( 325) inValue2 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("start",62,74,0b,84),inValue3)
- ->setFixed(1,HX_("end",db,03,4d,00),inValue4));
- }
-HXDLIN( 325) result2->__unsafe_set(i2,inValue2);
- }
- }
- }
-HXDLIN( 325) ::Array< ::Dynamic> _g9 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 325) {
-HXLINE( 325) int _g10 = 0;
-HXDLIN( 325) ::Array< ::Dynamic> _g11 = result2;
-HXDLIN( 325) while((_g10 < _g11->length)){
-HXLINE( 325) ::Dynamic v1 = _g11->__get(_g10);
-HXDLIN( 325) _g10 = (_g10 + 1);
-HXDLIN( 325) if (::hx::IsNotNull( v1 )) {
-HXLINE( 325) _g9->push(v1);
- }
- }
- }
-HXDLIN( 325) ::Array< ::Dynamic> fallbacks4 = _g9;
-HXLINE( 331) fallbacks4->sort( ::Dynamic(new _hx_Closure_2()));
-HXLINE( 332) {
-HXLINE( 332) int _g12 = 0;
-HXDLIN( 332) while((_g12 < fallbacks4->length)){
-HXLINE( 332) ::Dynamic fallback = fallbacks4->__get(_g12);
-HXDLIN( 332) _g12 = (_g12 + 1);
-HXLINE( 333) codepoints1->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( 335) ::String body = codepoints1->join(HX_("",00,00,00,00));
-HXLINE( 336) if (::hx::IsNull( ::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_3())) )) {
-HXLINE( 336) ::Array< ::String > _g13 = ::Array_obj< ::String >::__new(0);
-HXDLIN( 336) {
-HXLINE( 336) ::Dynamic x = ::snikket::XEP0393_obj::parse(body)->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 336) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 336) ::snikket::Stanza x1 = ( ( ::snikket::Stanza)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 336) _g13->push(x1->toString());
- }
- }
-HXDLIN( 336) return _g13->join(HX_("",00,00,00,00));
- }
- else {
-HXLINE( 336) return ::StringTools_obj::htmlEscape(body,null());
- }
-HXDLIN( 336) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,html,return )
-
-::String ChatMessage_obj::chatId(){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_343_chatId)
-HXDLIN( 343) if (this->isIncoming()) {
-HXLINE( 344) ::Array< ::Dynamic> _this = this->replyTo;
-HXDLIN( 344) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 344) {
-HXLINE( 344) int _g = 0;
-HXDLIN( 344) int _g1 = _this->length;
-HXDLIN( 344) while((_g < _g1)){
-HXLINE( 344) _g = (_g + 1);
-HXDLIN( 344) int i = (_g - 1);
-HXDLIN( 344) {
-HXLINE( 344) ::String inValue = ( ( ::snikket::JID)(_hx_array_unsafe_get(_this,i)) )->asBare()->asString();
-HXDLIN( 344) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 344) return result->join(HX_("\n",0a,00,00,00));
- }
- else {
-HXLINE( 346) ::Array< ::Dynamic> _this1 = this->recipients;
-HXDLIN( 346) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
-HXDLIN( 346) {
-HXLINE( 346) int _g2 = 0;
-HXDLIN( 346) int _g3 = _this1->length;
-HXDLIN( 346) while((_g2 < _g3)){
-HXLINE( 346) _g2 = (_g2 + 1);
-HXDLIN( 346) int i1 = (_g2 - 1);
-HXDLIN( 346) {
-HXLINE( 346) ::String inValue1 = ( ( ::snikket::JID)(_hx_array_unsafe_get(_this1,i1)) )->asString();
-HXDLIN( 346) result1->__unsafe_set(i1,inValue1);
- }
- }
- }
-HXDLIN( 346) return result1->join(HX_("\n",0a,00,00,00));
- }
-HXLINE( 343) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,chatId,return )
-
-::String ChatMessage_obj::account(){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_354_account)
-HXDLIN( 354) ::String tmp;
-HXDLIN( 354) if (!(this->isIncoming())) {
-HXDLIN( 354) ::snikket::JID tmp1 = this->from;
-HXDLIN( 354) ::snikket::JID tmp2;
-HXDLIN( 354) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN( 354) tmp2 = tmp1->asBare();
- }
- else {
-HXDLIN( 354) tmp2 = null();
- }
-HXDLIN( 354) if (::hx::IsNotNull( tmp2 )) {
-HXDLIN( 354) tmp = tmp2->asString();
- }
- else {
-HXDLIN( 354) tmp = null();
- }
- }
- else {
-HXDLIN( 354) ::snikket::JID tmp3 = this->to;
-HXDLIN( 354) ::snikket::JID tmp4;
-HXDLIN( 354) if (::hx::IsNotNull( tmp3 )) {
-HXDLIN( 354) tmp4 = tmp3->asBare();
- }
- else {
-HXDLIN( 354) tmp4 = null();
- }
-HXDLIN( 354) if (::hx::IsNotNull( tmp4 )) {
-HXDLIN( 354) tmp = tmp4->asString();
- }
- else {
-HXDLIN( 354) tmp = null();
- }
- }
-HXDLIN( 354) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 354) return tmp;
- }
- else {
-HXDLIN( 354) HX_STACK_DO_THROW(HX_("from or to is null",7f,19,89,e6));
- }
-HXDLIN( 354) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,account,return )
-
-bool ChatMessage_obj::isIncoming(){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_361_isIncoming)
-HXDLIN( 361) return (this->direction == 0);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,isIncoming,return )
-
-::String ChatMessage_obj::threadIcon(){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_368_threadIcon)
-HXDLIN( 368) if (::hx::IsNull( this->threadId )) {
-HXDLIN( 368) return null();
- }
- else {
-HXDLIN( 368) return ::snikket::Identicon_obj::svg(this->threadId);
- }
-HXDLIN( 368) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,threadIcon,return )
-
-::String ChatMessage_obj::callStatus(){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run( ::snikket::Stanza el){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_375_callStatus)
-HXDLIN( 375) return (( (::String)(::Reflect_obj::field(el->attr,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_b3673a050e0c4d12_375_callStatus)
-HXDLIN( 375) ::snikket::Stanza tmp = ( ( ::snikket::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
-HXDLIN( 375) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 375) return tmp->name;
- }
- else {
-HXDLIN( 375) return null();
- }
-HXDLIN( 375) return null();
- }
-
-
-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( ::snikket::Stanza el){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_382_callSid)
-HXDLIN( 382) return (( (::String)(::Reflect_obj::field(el->attr,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_b3673a050e0c4d12_382_callSid)
-HXDLIN( 382) ::snikket::Stanza tmp = ( ( ::snikket::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
-HXDLIN( 382) ::Dynamic tmp1;
-HXDLIN( 382) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 382) tmp1 = tmp->attr;
- }
- else {
-HXDLIN( 382) tmp1 = null();
- }
-HXDLIN( 382) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN( 382) return ( (::String)(::Reflect_obj::field(tmp1,HX_("id",db,5b,00,00))) );
- }
- else {
-HXDLIN( 382) return null();
- }
-HXDLIN( 382) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,callSid,return )
-
-::String ChatMessage_obj::callDuration(){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_388_callDuration)
-HXLINE( 389) if ((this->versions->length < 2)) {
-HXLINE( 389) return null();
- }
-HXLINE( 390) ::String startedStr = this->versions->__get((this->versions->length - 1)).StaticCast< ::snikket::ChatMessage >()->timestamp;
-HXLINE( 392) ::String _g = this->callStatus();
-HXDLIN( 392) if (::hx::IsNull( _g )) {
-HXLINE( 407) return null();
- }
- else {
-HXLINE( 392) ::String _hx_switch_0 = _g;
- if ( (_hx_switch_0==HX_("finish",53,40,7f,86)) ){
-HXLINE( 394) ::String endedStr = this->versions->__get(0).StaticCast< ::snikket::ChatMessage >()->timestamp;
-HXLINE( 395) bool _hx_tmp;
-HXDLIN( 395) if (::hx::IsNotNull( startedStr )) {
-HXLINE( 395) _hx_tmp = ::hx::IsNull( endedStr );
- }
- else {
-HXLINE( 395) _hx_tmp = true;
- }
-HXDLIN( 395) if (_hx_tmp) {
-HXLINE( 395) return null();
- }
-HXLINE( 396) Float started = ::datetime::utils::DateTimeUtils_obj::fromString(startedStr);
-HXLINE( 397) Float ended = ::datetime::utils::DateTimeUtils_obj::fromString(endedStr);
-HXLINE( 398) ::datetime::cores::DateTimeIntervalCore duration = ::datetime::_DateTimeInterval::DateTimeInterval_Impl__obj::create(started,((ended - ((Float)62135596800.0)) + ((Float)62135596800.0)));
-HXLINE( 399) return ::datetime::utils::DateTimeIntervalUtils_obj::strftime(duration,HX_("%I:%S",44,2d,40,7e));
-HXLINE( 393) goto _hx_goto_55;
- }
- if ( (_hx_switch_0==HX_("proceed",2e,96,4a,f1)) ){
-HXLINE( 401) if (::hx::IsNull( startedStr )) {
-HXLINE( 401) return null();
- }
-HXLINE( 402) Float started1 = ::datetime::utils::DateTimeUtils_obj::fromString(startedStr);
-HXLINE( 403) Float ended1 = ( ::__hxcpp_date_now() + ((Float)62135596800.0));
-HXLINE( 404) ::datetime::cores::DateTimeIntervalCore duration1 = ::datetime::_DateTimeInterval::DateTimeInterval_Impl__obj::create(started1,((ended1 - ((Float)62135596800.0)) + ((Float)62135596800.0)));
-HXLINE( 405) return ::datetime::utils::DateTimeIntervalUtils_obj::strftime(duration1,HX_("%I:%S",44,2d,40,7e));
-HXLINE( 400) goto _hx_goto_55;
- }
- /* default */{
-HXLINE( 407) return null();
- }
- _hx_goto_55:;
- }
-HXLINE( 392) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,callDuration,return )
-
- ::snikket::Stanza ChatMessage_obj::asStanza(){
- HX_GC_STACKFRAME(&_hx_pos_b3673a050e0c4d12_412_asStanza)
-HXDLIN( 412) ::snikket::ChatMessage _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 413) if (::hx::IsNotNull( this->stanza )) {
-HXLINE( 413) return this->stanza;
- }
-HXLINE( 415) ::String body = this->text;
-HXLINE( 416) ::String attrs;
-HXDLIN( 416) if ((this->type == 2)) {
-HXLINE( 416) attrs = HX_("groupchat",97,1d,c8,e5);
- }
- else {
-HXLINE( 416) attrs = HX_("chat",d8,5e,bf,41);
- }
-HXDLIN( 416) ::Dynamic attrs1 = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),attrs));
-HXLINE( 417) if (::hx::IsNotNull( this->from )) {
-HXLINE( 417) ::String value = this->from->asString();
-HXDLIN( 417) ::Reflect_obj::setField(attrs1,HX_("from",6a,a5,c2,43),value);
- }
-HXLINE( 418) if (::hx::IsNotNull( this->to )) {
-HXLINE( 418) ::String value1 = this->to->asString();
-HXDLIN( 418) ::Reflect_obj::setField(attrs1,HX_("to",7b,65,00,00),value1);
- }
-HXLINE( 419) if (::hx::IsNotNull( this->localId )) {
-HXLINE( 419) ::String value2 = this->localId;
-HXDLIN( 419) ::Reflect_obj::setField(attrs1,HX_("id",db,5b,00,00),value2);
- }
-HXLINE( 420) ::snikket::Stanza stanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a),attrs1);
-HXLINE( 421) bool _hx_tmp;
-HXDLIN( 421) if ((this->versions->length > 0)) {
-HXLINE( 421) _hx_tmp = ::hx::IsNotNull( this->versions->__get(0).StaticCast< ::snikket::ChatMessage >()->localId );
- }
- else {
-HXLINE( 421) _hx_tmp = false;
- }
-HXDLIN( 421) if (_hx_tmp) {
-HXLINE( 421) 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(0).StaticCast< ::snikket::ChatMessage >()->localId)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:message-correct:0",be,10,1b,b0))))->up();
- }
-HXLINE( 422) if (::hx::IsNotNull( this->threadId )) {
-HXLINE( 422) stanza->textTag(HX_("thread",ca,7a,b9,8e),this->threadId,null());
- }
-HXLINE( 423) if ((this->recipients->length > 1)) {
-HXLINE( 424) ::snikket::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( 425) {
-HXLINE( 425) int _g = 0;
-HXDLIN( 425) ::Array< ::Dynamic> _g1 = this->recipients;
-HXDLIN( 425) while((_g < _g1->length)){
-HXLINE( 425) ::snikket::JID recipient = _g1->__get(_g).StaticCast< ::snikket::JID >();
-HXDLIN( 425) _g = (_g + 1);
-HXLINE( 426) 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();
- }
- }
-HXLINE( 428) addresses->up();
- }
- else {
-HXLINE( 429) bool _hx_tmp1;
-HXDLIN( 429) if ((this->recipients->length == 1)) {
-HXLINE( 429) _hx_tmp1 = ::hx::IsNull( this->to );
- }
- else {
-HXLINE( 429) _hx_tmp1 = false;
- }
-HXDLIN( 429) if (_hx_tmp1) {
-HXLINE( 430) ::String value3 = this->recipients->__get(0).StaticCast< ::snikket::JID >()->asString();
-HXDLIN( 430) ::Reflect_obj::setField(attrs1,HX_("to",7b,65,00,00),value3);
- }
- }
-HXLINE( 433) ::snikket::ChatMessage replyToM = this->replyToMessage;
-HXLINE( 434) if (::hx::IsNotNull( replyToM )) {
-HXLINE( 435) ::String replyId = replyToM->getReplyId();
-HXLINE( 436) if (::hx::IsNotNull( body )) {
-HXLINE( 437) ::Array< ::String > lines;
-HXDLIN( 437) ::String tmp = replyToM->text;
-HXDLIN( 437) ::Array< ::String > tmp1;
-HXDLIN( 437) if (::hx::IsNotNull( tmp )) {
-HXLINE( 437) tmp1 = tmp.split(HX_("\n",0a,00,00,00));
- }
- else {
-HXLINE( 437) tmp1 = null();
- }
-HXDLIN( 437) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 437) lines = tmp1;
- }
- else {
-HXLINE( 437) lines = ::Array_obj< ::String >::__new(0);
- }
-HXLINE( 438) ::String quoteText = HX_("",00,00,00,00);
-HXLINE( 439) {
-HXLINE( 439) int _g2 = 0;
-HXDLIN( 439) while((_g2 < lines->length)){
-HXLINE( 439) ::String line = lines->__get(_g2);
-HXDLIN( 439) _g2 = (_g2 + 1);
-HXLINE( 440) if (!( ::EReg_obj::__alloc( HX_CTX ,HX_("^(?:> ?){3,}",7a,64,54,8e),HX_("",00,00,00,00))->match(line))) {
-HXLINE( 441) if ((line.charAt(0) == HX_(">",3e,00,00,00))) {
-HXLINE( 442) quoteText = (quoteText + ((HX_(">",3e,00,00,00) + line) + HX_("\n",0a,00,00,00)));
- }
- else {
-HXLINE( 444) quoteText = (quoteText + ((HX_("> ",22,36,00,00) + line) + HX_("\n",0a,00,00,00)));
- }
- }
- }
- }
-HXLINE( 448) ::String reaction;
-HXDLIN( 448) if (::snikket::EmojiUtil_obj::isEmoji(::StringTools_obj::trim(body))) {
-HXLINE( 448) reaction = ::StringTools_obj::trim(body);
- }
- else {
-HXLINE( 448) reaction = null();
- }
-HXLINE( 449) body = (quoteText + body);
-HXLINE( 450) if (::hx::IsNotNull( replyId )) {
-HXLINE( 451) ::Array< ::String > codepoints = ::snikket::StringUtil_obj::codepointArray(quoteText);
-HXLINE( 452) if (::hx::IsNotNull( reaction )) {
-HXLINE( 453) ::haxe::ds::StringMap addedReactions = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 454) 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( 455) stanza->textTag(HX_("reaction",a9,e7,b4,f6),reaction,null());
-HXLINE( 456) addedReactions->set(reaction,true);
-HXLINE( 458) {
-HXLINE( 458) ::Dynamic map = replyToM->reactions;
-HXDLIN( 458) ::Dynamic _g_map = map;
-HXDLIN( 458) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN( 458) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 458) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 458) ::Array< ::Dynamic> _g_value = ( (::Array< ::Dynamic>)(::haxe::IMap_obj::get(_g_map,key)) );
-HXDLIN( 458) ::String _g_key = key;
-HXDLIN( 458) ::String areaction = _g_key;
-HXDLIN( 458) ::Array< ::Dynamic> reactions = _g_value;
-HXLINE( 459) bool _hx_tmp2;
-HXDLIN( 459) ::Dynamic tmp2 = addedReactions->get(areaction);
-HXDLIN( 459) bool _hx_tmp3;
-HXDLIN( 459) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 459) _hx_tmp3 = ( (bool)(tmp2) );
- }
- else {
-HXLINE( 459) _hx_tmp3 = false;
- }
-HXDLIN( 459) if (!(_hx_tmp3)) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::ChatMessage,_gthis) HXARGC(1)
- bool _hx_run( ::snikket::Reaction r){
- HX_GC_STACKFRAME(&_hx_pos_b3673a050e0c4d12_459_asStanza)
-HXLINE( 459) return (r->senderId == _gthis->senderId);
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 459) _hx_tmp2 = ::hx::IsNotNull( ::Lambda_obj::find(reactions, ::Dynamic(new _hx_Closure_0(_gthis))) );
- }
- else {
-HXLINE( 459) _hx_tmp2 = false;
- }
-HXDLIN( 459) if (_hx_tmp2) {
-HXLINE( 460) addedReactions->set(areaction,true);
-HXLINE( 461) stanza->textTag(HX_("reaction",a9,e7,b4,f6),areaction,null());
- }
- }
- }
-HXLINE( 464) stanza->up();
-HXLINE( 465) 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();
- }
-HXLINE( 468) ::snikket::Stanza _hx_tmp4 = 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( 468) _hx_tmp4->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();
- }
- }
-HXLINE( 472) if (::hx::IsNotNull( replyId )) {
-HXLINE( 472) ::snikket::JID tmp3 = replyToM->from;
-HXDLIN( 472) ::String _hx_tmp5;
-HXDLIN( 472) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 472) _hx_tmp5 = tmp3->asString();
- }
- else {
-HXLINE( 472) _hx_tmp5 = null();
- }
-HXDLIN( 472) 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();
- }
- }
-HXLINE( 475) {
-HXLINE( 475) int _g3 = 0;
-HXDLIN( 475) ::Array< ::Dynamic> _g4 = this->attachments;
-HXDLIN( 475) while((_g3 < _g4->length)){
-HXLINE( 475) ::snikket::ChatAttachment attachment = _g4->__get(_g3).StaticCast< ::snikket::ChatAttachment >();
-HXDLIN( 475) _g3 = (_g3 + 1);
-HXLINE( 476) 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( 480) 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( 481) if (::hx::IsNotNull( attachment->name )) {
-HXLINE( 481) stanza->textTag(HX_("name",4b,72,ff,48),attachment->name,null());
- }
-HXLINE( 482) stanza->textTag(HX_("media-type",03,ce,a4,7d),attachment->mime,null());
-HXLINE( 483) if (::hx::IsNotNull( attachment->size )) {
-HXLINE( 483) stanza->textTag(HX_("size",c1,a0,53,4c),::Std_obj::string(attachment->size),null());
- }
-HXLINE( 484) {
-HXLINE( 484) int _g5 = 0;
-HXDLIN( 484) ::Array< ::Dynamic> _g6 = attachment->hashes;
-HXDLIN( 484) while((_g5 < _g6->length)){
-HXLINE( 484) ::snikket::Hash hash = _g6->__get(_g5).StaticCast< ::snikket::Hash >();
-HXDLIN( 484) _g5 = (_g5 + 1);
-HXLINE( 485) ::String _hx_tmp6 = ::haxe::crypto::Base64_obj::encode(::haxe::io::Bytes_obj::ofData(hash->hash),null());
-HXDLIN( 485) 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( 487) stanza->up();
-HXLINE( 489) stanza->tag(HX_("sources",38,0f,49,b9),null());
-HXLINE( 490) {
-HXLINE( 490) int _g7 = 0;
-HXDLIN( 490) ::Array< ::String > _g8 = attachment->uris;
-HXDLIN( 490) while((_g7 < _g8->length)){
-HXLINE( 490) ::String uri = _g8->__get(_g7);
-HXDLIN( 490) _g7 = (_g7 + 1);
-HXLINE( 491) 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( 494) stanza->up()->up()->up();
-HXLINE( 496) if ((attachment->uris->length > 0)) {
-HXLINE( 497) 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( 498) if (::hx::IsNull( body )) {
-HXLINE( 498) body = HX_("",00,00,00,00);
- }
-HXLINE( 499) ::Array< ::String > codepoints1 = ::snikket::StringUtil_obj::codepointArray(body);
-HXLINE( 500) int start = codepoints1->length;
-HXLINE( 501) int end = (start + attachment->uris->__get(0).length);
-HXLINE( 502) if ((body != HX_("",00,00,00,00))) {
-HXLINE( 503) body = (body + HX_("\n",0a,00,00,00));
-HXLINE( 504) end = (end + 1);
- }
-HXLINE( 506) body = (body + attachment->uris->__get(0));
-HXLINE( 507) ::snikket::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( 509) ::String _hx_tmp8 = ::Std_obj::string(start);
-HXLINE( 507) _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();
- }
- }
- }
-HXLINE( 512) if (::hx::IsNotNull( body )) {
-HXLINE( 512) stanza->textTag(HX_("body",a2,7a,1b,41),body,null());
- }
-HXLINE( 513) {
-HXLINE( 513) int _g9 = 0;
-HXDLIN( 513) ::Array< ::Dynamic> _g10 = this->payloads;
-HXDLIN( 513) while((_g9 < _g10->length)){
-HXLINE( 513) ::snikket::Stanza payload = _g10->__get(_g9).StaticCast< ::snikket::Stanza >();
-HXDLIN( 513) _g9 = (_g9 + 1);
-HXLINE( 514) stanza->addDirectChild(::snikket::Node_obj::Element(payload));
- }
- }
-HXLINE( 516) return stanza;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,asStanza,return )
-
- ::snikket::ChatMessage ChatMessage_obj::fromStanza( ::snikket::Stanza stanza, ::snikket::JID localJid, ::Dynamic addContext){
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_237_fromStanza)
-HXDLIN( 237) ::snikket::MessageStanza _g = ::snikket::Message_obj::fromStanza(stanza,localJid,addContext)->parsed;
-HXDLIN( 237) if ((_g->_hx_getIndex() == 1)) {
-HXLINE( 238) ::snikket::ChatMessage message = _g->_hx_getObject(0).StaticCast< ::snikket::ChatMessage >();
-HXLINE( 239) return message;
- }
- else {
-HXLINE( 241) return null();
- }
-HXLINE( 237) return null();
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC3(ChatMessage_obj,fromStanza,return )
-
-
-::hx::ObjectPtr< ChatMessage_obj > ChatMessage_obj::__new( ::Dynamic params) {
- ::hx::ObjectPtr< ChatMessage_obj > __this = new ChatMessage_obj();
- __this->__construct(params);
- return __this;
-}
-
-::hx::ObjectPtr< ChatMessage_obj > ChatMessage_obj::__alloc(::hx::Ctx *_hx_ctx, ::Dynamic params) {
- ChatMessage_obj *__this = (ChatMessage_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ChatMessage_obj), true, "snikket.ChatMessage"));
- *(void **)__this = ChatMessage_obj::_hx_vtable;
- __this->__construct(params);
- return __this;
-}
-
-ChatMessage_obj::ChatMessage_obj()
-{
-}
-
-void ChatMessage_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(ChatMessage);
- HX_MARK_MEMBER_NAME(localId,"localId");
- HX_MARK_MEMBER_NAME(serverId,"serverId");
- HX_MARK_MEMBER_NAME(serverIdBy,"serverIdBy");
- 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(to,"to");
- HX_MARK_MEMBER_NAME(from,"from");
- HX_MARK_MEMBER_NAME(recipients,"recipients");
- HX_MARK_MEMBER_NAME(replyTo,"replyTo");
- HX_MARK_MEMBER_NAME(senderId,"senderId");
- HX_MARK_MEMBER_NAME(replyToMessage,"replyToMessage");
- HX_MARK_MEMBER_NAME(threadId,"threadId");
- HX_MARK_MEMBER_NAME(attachments,"attachments");
- HX_MARK_MEMBER_NAME(reactions,"reactions");
- HX_MARK_MEMBER_NAME(text,"text");
- HX_MARK_MEMBER_NAME(lang,"lang");
- HX_MARK_MEMBER_NAME(direction,"direction");
- HX_MARK_MEMBER_NAME(status,"status");
- HX_MARK_MEMBER_NAME(versions,"versions");
- HX_MARK_MEMBER_NAME(payloads,"payloads");
- HX_MARK_MEMBER_NAME(stanza,"stanza");
- HX_MARK_END_CLASS();
-}
-
-void ChatMessage_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(localId,"localId");
- HX_VISIT_MEMBER_NAME(serverId,"serverId");
- HX_VISIT_MEMBER_NAME(serverIdBy,"serverIdBy");
- 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(to,"to");
- HX_VISIT_MEMBER_NAME(from,"from");
- HX_VISIT_MEMBER_NAME(recipients,"recipients");
- HX_VISIT_MEMBER_NAME(replyTo,"replyTo");
- HX_VISIT_MEMBER_NAME(senderId,"senderId");
- HX_VISIT_MEMBER_NAME(replyToMessage,"replyToMessage");
- HX_VISIT_MEMBER_NAME(threadId,"threadId");
- HX_VISIT_MEMBER_NAME(attachments,"attachments");
- HX_VISIT_MEMBER_NAME(reactions,"reactions");
- HX_VISIT_MEMBER_NAME(text,"text");
- HX_VISIT_MEMBER_NAME(lang,"lang");
- HX_VISIT_MEMBER_NAME(direction,"direction");
- HX_VISIT_MEMBER_NAME(status,"status");
- HX_VISIT_MEMBER_NAME(versions,"versions");
- HX_VISIT_MEMBER_NAME(payloads,"payloads");
- HX_VISIT_MEMBER_NAME(stanza,"stanza");
-}
-
-::hx::Val ChatMessage_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"to") ) { return ::hx::Val( to ); }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"type") ) { return ::hx::Val( type ); }
- if (HX_FIELD_EQ(inName,"from") ) { return ::hx::Val( from ); }
- if (HX_FIELD_EQ(inName,"text") ) { return ::hx::Val( text ); }
- if (HX_FIELD_EQ(inName,"lang") ) { return ::hx::Val( lang ); }
- if (HX_FIELD_EQ(inName,"html") ) { return ::hx::Val( html_dyn() ); }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"reply") ) { return ::hx::Val( reply_dyn() ); }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"status") ) { return ::hx::Val( status ); }
- if (HX_FIELD_EQ(inName,"stanza") ) { return ::hx::Val( stanza ); }
- if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( chatId_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"localId") ) { return ::hx::Val( localId ); }
- if (HX_FIELD_EQ(inName,"replyId") ) { return ::hx::Val( replyId ); }
- if (HX_FIELD_EQ(inName,"replyTo") ) { return ::hx::Val( replyTo ); }
- if (HX_FIELD_EQ(inName,"account") ) { return ::hx::Val( account_dyn() ); }
- if (HX_FIELD_EQ(inName,"callSid") ) { return ::hx::Val( callSid_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"serverId") ) { return ::hx::Val( serverId ); }
- 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 ); }
- if (HX_FIELD_EQ(inName,"payloads") ) { return ::hx::Val( payloads ); }
- if (HX_FIELD_EQ(inName,"asStanza") ) { return ::hx::Val( asStanza_dyn() ); }
- 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;
- case 10:
- if (HX_FIELD_EQ(inName,"serverIdBy") ) { return ::hx::Val( serverIdBy ); }
- if (HX_FIELD_EQ(inName,"recipients") ) { return ::hx::Val( recipients ); }
- if (HX_FIELD_EQ(inName,"getReplyId") ) { return ::hx::Val( getReplyId_dyn() ); }
- if (HX_FIELD_EQ(inName,"isIncoming") ) { return ::hx::Val( isIncoming_dyn() ); }
- if (HX_FIELD_EQ(inName,"threadIcon") ) { return ::hx::Val( threadIcon_dyn() ); }
- if (HX_FIELD_EQ(inName,"callStatus") ) { return ::hx::Val( callStatus_dyn() ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"type__fromC") ) { return ::hx::Val( type__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"attachments") ) { return ::hx::Val( attachments ); }
- if (HX_FIELD_EQ(inName,"text__fromC") ) { return ::hx::Val( text__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"lang__fromC") ) { return ::hx::Val( lang__fromC_dyn() ); }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"reactionKeys") ) { if (inCallProp == ::hx::paccAlways) return ::hx::Val( get_reactionKeys() ); }
- if (HX_FIELD_EQ(inName,"callDuration") ) { return ::hx::Val( callDuration_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"status__fromC") ) { return ::hx::Val( status__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"set_reactions") ) { return ::hx::Val( set_reactions_dyn() ); }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"localId__fromC") ) { return ::hx::Val( localId__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"replyToMessage") ) { return ::hx::Val( replyToMessage ); }
- break;
- case 15:
- if (HX_FIELD_EQ(inName,"serverId__fromC") ) { return ::hx::Val( serverId__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() ); }
- 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() ); }
- break;
- case 17:
- if (HX_FIELD_EQ(inName,"serverIdBy__fromC") ) { return ::hx::Val( serverIdBy__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"set_status__fromC") ) { return ::hx::Val( set_status__fromC_dyn() ); }
- break;
- case 18:
- if (HX_FIELD_EQ(inName,"set_replyToMessage") ) { return ::hx::Val( set_replyToMessage_dyn() ); }
- break;
- case 20:
- if (HX_FIELD_EQ(inName,"inlineHashReferences") ) { return ::hx::Val( inlineHashReferences_dyn() ); }
- break;
- case 21:
- if (HX_FIELD_EQ(inName,"replyToMessage__fromC") ) { return ::hx::Val( replyToMessage__fromC_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-bool ChatMessage_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 10:
- if (HX_FIELD_EQ(inName,"fromStanza") ) { outValue = fromStanza_dyn(); return true; }
- }
- return false;
-}
-
-::hx::Val ChatMessage_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"to") ) { to=inValue.Cast< ::snikket::JID >(); return inValue; }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"type") ) { type=inValue.Cast< int >(); return inValue; }
- if (HX_FIELD_EQ(inName,"from") ) { from=inValue.Cast< ::snikket::JID >(); return inValue; }
- 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 6:
- if (HX_FIELD_EQ(inName,"status") ) { status=inValue.Cast< int >(); return inValue; }
- if (HX_FIELD_EQ(inName,"stanza") ) { stanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"localId") ) { localId=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"replyId") ) { replyId=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"replyTo") ) { replyTo=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"serverId") ) { serverId=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; }
- if (HX_FIELD_EQ(inName,"payloads") ) { payloads=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- 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;
- case 10:
- if (HX_FIELD_EQ(inName,"serverIdBy") ) { serverIdBy=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"recipients") ) { recipients=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"attachments") ) { attachments=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"replyToMessage") ) { replyToMessage=inValue.Cast< ::snikket::ChatMessage >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void ChatMessage_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("localId",26,7a,c6,2d));
- outFields->push(HX_("serverId",7e,01,b2,e2));
- outFields->push(HX_("serverIdBy",f5,16,54,74));
- 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_("to",7b,65,00,00));
- outFields->push(HX_("from",6a,a5,c2,43));
- outFields->push(HX_("recipients",7a,62,59,87));
- outFields->push(HX_("replyTo",45,71,3a,ab));
- outFields->push(HX_("senderId",f0,1e,0e,ec));
- 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_("reactions",aa,cc,95,e7));
- outFields->push(HX_("reactionKeys",3d,7e,4c,71));
- outFields->push(HX_("text",ad,cc,f9,4c));
- outFields->push(HX_("lang",ee,05,ad,47));
- outFields->push(HX_("direction",3f,62,40,10));
- outFields->push(HX_("status",32,e7,fb,05));
- outFields->push(HX_("versions",5b,4e,b8,d6));
- outFields->push(HX_("payloads",25,dd,d1,a1));
- outFields->push(HX_("stanza",f5,5d,f7,05));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo ChatMessage_obj_sMemberStorageInfo[] = {
- {::hx::fsString,(int)offsetof(ChatMessage_obj,localId),HX_("localId",26,7a,c6,2d)},
- {::hx::fsString,(int)offsetof(ChatMessage_obj,serverId),HX_("serverId",7e,01,b2,e2)},
- {::hx::fsString,(int)offsetof(ChatMessage_obj,serverIdBy),HX_("serverIdBy",f5,16,54,74)},
- {::hx::fsInt,(int)offsetof(ChatMessage_obj,type),HX_("type",ba,f2,08,4d)},
- {::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::fsObject /* ::snikket::JID */ ,(int)offsetof(ChatMessage_obj,to),HX_("to",7b,65,00,00)},
- {::hx::fsObject /* ::snikket::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)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessage_obj,replyTo),HX_("replyTo",45,71,3a,ab)},
- {::hx::fsString,(int)offsetof(ChatMessage_obj,senderId),HX_("senderId",f0,1e,0e,ec)},
- {::hx::fsObject /* ::snikket::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 /* ::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)},
- {::hx::fsInt,(int)offsetof(ChatMessage_obj,direction),HX_("direction",3f,62,40,10)},
- {::hx::fsInt,(int)offsetof(ChatMessage_obj,status),HX_("status",32,e7,fb,05)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessage_obj,versions),HX_("versions",5b,4e,b8,d6)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessage_obj,payloads),HX_("payloads",25,dd,d1,a1)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(ChatMessage_obj,stanza),HX_("stanza",f5,5d,f7,05)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *ChatMessage_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String ChatMessage_obj_sMemberFields[] = {
- HX_("localId",26,7a,c6,2d),
- HX_("localId__fromC",13,27,c6,af),
- HX_("serverId",7e,01,b2,e2),
- HX_("serverId__fromC",bb,ba,c0,81),
- HX_("serverIdBy",f5,16,54,74),
- HX_("serverIdBy__fromC",24,52,2e,02),
- HX_("type",ba,f2,08,4d),
- HX_("type__fromC",ff,a8,6c,93),
- 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_("to",7b,65,00,00),
- HX_("from",6a,a5,c2,43),
- HX_("recipients",7a,62,59,87),
- HX_("replyTo",45,71,3a,ab),
- HX_("senderId",f0,1e,0e,ec),
- HX_("senderId__fromC",89,0f,49,cb),
- HX_("replyToMessage",02,cf,60,a6),
- HX_("replyToMessage__fromC",b7,65,38,93),
- HX_("threadId",45,81,25,cc),
- HX_("threadId__fromC",d4,d1,81,79),
- HX_("attachments",30,df,33,e7),
- HX_("reactions",aa,cc,95,e7),
- HX_("get_reactionKeys",c6,6a,eb,75),
- HX_("reactionDetails",19,54,bb,c7),
- HX_("text",ad,cc,f9,4c),
- HX_("text__fromC",6c,43,1b,7f),
- HX_("lang",ee,05,ad,47),
- HX_("lang__fromC",4b,24,00,52),
- HX_("direction",3f,62,40,10),
- HX_("direction__fromC",1a,64,c6,4b),
- HX_("status",32,e7,fb,05),
- HX_("status__fromC",87,b3,25,a1),
- HX_("set_status__fromC",ea,96,03,cb),
- HX_("versions",5b,4e,b8,d6),
- HX_("payloads",25,dd,d1,a1),
- HX_("stanza",f5,5d,f7,05),
- HX_("reply",2a,09,c6,e6),
- HX_("getReplyId",af,ed,9b,fa),
- HX_("set_replyToMessage",3f,e2,a9,1e),
- HX_("set_reactions",8d,82,ff,ed),
- HX_("inlineHashReferences",ef,73,63,1b),
- HX_("html",6b,95,16,45),
- HX_("chatId",d3,04,77,b7),
- HX_("account",ad,fc,59,a1),
- HX_("isIncoming",f0,52,c4,95),
- HX_("threadIcon",63,bb,7b,41),
- HX_("callStatus",70,be,2b,31),
- HX_("callSid",10,f5,53,54),
- HX_("callDuration",12,b2,d0,4c),
- HX_("asStanza",87,68,cd,94),
- ::String(null()) };
-
-::hx::Class ChatMessage_obj::__mClass;
-
-static ::String ChatMessage_obj_sStaticFields[] = {
- HX_("fromStanza",ff,62,3b,49),
- ::String(null())
-};
-
-void ChatMessage_obj::__register()
-{
- ChatMessage_obj _hx_dummy;
- ChatMessage_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.ChatMessage",3e,ec,4c,ba);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &ChatMessage_obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(ChatMessage_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(ChatMessage_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< ChatMessage_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = ChatMessage_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = ChatMessage_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-void ChatMessage_obj::__boot()
-{
-{
- HX_STACKFRAME(&_hx_pos_b3673a050e0c4d12_66_boot)
-HXDLIN( 66) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(20)
- ->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_("replyToMessage__fromC",b7,65,38,93), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(2,HX_("type__fromC",ff,a8,6c,93), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(3,HX_("status__fromC",87,b3,25,a1), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(4,HX_("localId__fromC",13,27,c6,af), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(5,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(6,HX_("set_status__fromC",ea,96,03,cb), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(7,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(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(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(10,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(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(12,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_("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_("direction__fromC",1a,64,c6,4b), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(15,HX_("lang__fromC",4b,24,00,52), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(16,HX_("get_reactionKeys",c6,6a,eb,75), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(17,HX_("reactionKeys__fromC",dc,e3,50,76), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(18,HX_("threadId__fromC",d4,d1,81,79), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(19,HX_("text__fromC",6c,43,1b,7f), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
- }
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/ChatMessageBuilder.cpp b/Sources/c_snikket/src/snikket/ChatMessageBuilder.cpp
deleted file mode 100644
index 9247cba..0000000
--- a/Sources/c_snikket/src/snikket/ChatMessageBuilder.cpp
+++ /dev/null
@@ -1,1346 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_Date
-#include <Date.h>
-#endif
-#ifndef INCLUDED_Lambda
-#include <Lambda.h>
-#endif
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
-#ifndef INCLUDED_Std
-#include <Std.h>
-#endif
-#ifndef INCLUDED__HaxeCBridge_Internal
-#include <_HaxeCBridge/Internal.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_htmlparser_HtmlAttribute
-#include <htmlparser/HtmlAttribute.h>
-#endif
-#ifndef INCLUDED_htmlparser_HtmlNode
-#include <htmlparser/HtmlNode.h>
-#endif
-#ifndef INCLUDED_htmlparser_HtmlNodeElement
-#include <htmlparser/HtmlNodeElement.h>
-#endif
-#ifndef INCLUDED_htmlparser_HtmlNodeText
-#include <htmlparser/HtmlNodeText.h>
-#endif
-#ifndef INCLUDED_htmlparser_HtmlParser
-#include <htmlparser/HtmlParser.h>
-#endif
-#ifndef INCLUDED_snikket_ChatAttachment
-#include <snikket/ChatAttachment.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#include <snikket/ChatMessageBuilder.h>
-#endif
-#ifndef INCLUDED_snikket_Date
-#include <snikket/Date.h>
-#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Node
-#include <snikket/Node.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket_XEP0393
-#include <snikket/XEP0393.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket__Util_Util_Fields_
-#include <snikket/_Util/Util_Fields_.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_cb10733abcc4a57a_32_new,"snikket.ChatMessageBuilder","new",0x9b235def,"snikket.ChatMessageBuilder.new","snikket/ChatMessageBuilder.hx",32,0x01453ec0)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_355_localId__fromC,"snikket.ChatMessageBuilder","localId__fromC",0x22a5f5e4,"snikket.ChatMessageBuilder.localId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_366_set_localId__fromC,"snikket.ChatMessageBuilder","set_localId__fromC",0xd8ad45a1,"snikket.ChatMessageBuilder.set_localId__fromC","HaxeCBridge.hx",366,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_355_serverId__fromC,"snikket.ChatMessageBuilder","serverId__fromC",0x92b5e2ca,"snikket.ChatMessageBuilder.serverId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_366_set_serverId__fromC,"snikket.ChatMessageBuilder","set_serverId__fromC",0x2314586d,"snikket.ChatMessageBuilder.set_serverId__fromC","HaxeCBridge.hx",366,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_355_serverIdBy__fromC,"snikket.ChatMessageBuilder","serverIdBy__fromC",0x18c8dbf3,"snikket.ChatMessageBuilder.serverIdBy__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_366_set_serverIdBy__fromC,"snikket.ChatMessageBuilder","set_serverIdBy__fromC",0x55ea4056,"snikket.ChatMessageBuilder.set_serverIdBy__fromC","HaxeCBridge.hx",366,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_355_type__fromC,"snikket.ChatMessageBuilder","type__fromC",0xe0eadd8e,"snikket.ChatMessageBuilder.type__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_366_set_type__fromC,"snikket.ChatMessageBuilder","set_type__fromC",0x610f05b1,"snikket.ChatMessageBuilder.set_type__fromC","HaxeCBridge.hx",366,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_355_timestamp__fromC,"snikket.ChatMessageBuilder","timestamp__fromC",0x9d196774,"snikket.ChatMessageBuilder.timestamp__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_366_set_timestamp__fromC,"snikket.ChatMessageBuilder","set_timestamp__fromC",0x5f61e071,"snikket.ChatMessageBuilder.set_timestamp__fromC","HaxeCBridge.hx",366,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_308_senderId__fromC,"snikket.ChatMessageBuilder","senderId__fromC",0xdc3e3798,"snikket.ChatMessageBuilder.senderId__fromC","HaxeCBridge.hx",308,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_319_set_senderId__fromC,"snikket.ChatMessageBuilder","set_senderId__fromC",0x6c9cad3b,"snikket.ChatMessageBuilder.set_senderId__fromC","HaxeCBridge.hx",319,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_355_replyToMessage__fromC,"snikket.ChatMessageBuilder","replyToMessage__fromC",0x143d8306,"snikket.ChatMessageBuilder.replyToMessage__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_366_set_replyToMessage__fromC,"snikket.ChatMessageBuilder","set_replyToMessage__fromC",0x088c54e9,"snikket.ChatMessageBuilder.set_replyToMessage__fromC","HaxeCBridge.hx",366,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_355_threadId__fromC,"snikket.ChatMessageBuilder","threadId__fromC",0x8a76f9e3,"snikket.ChatMessageBuilder.threadId__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_366_set_threadId__fromC,"snikket.ChatMessageBuilder","set_threadId__fromC",0x1ad56f86,"snikket.ChatMessageBuilder.set_threadId__fromC","HaxeCBridge.hx",366,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_297_attachments__fromC,"snikket.ChatMessageBuilder","attachments__fromC",0x8195e29a,"snikket.ChatMessageBuilder.attachments__fromC","HaxeCBridge.hx",297,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_355_text__fromC,"snikket.ChatMessageBuilder","text__fromC",0xcc9977fb,"snikket.ChatMessageBuilder.text__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_366_set_text__fromC,"snikket.ChatMessageBuilder","set_text__fromC",0x4cbda01e,"snikket.ChatMessageBuilder.set_text__fromC","HaxeCBridge.hx",366,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_355_lang__fromC,"snikket.ChatMessageBuilder","lang__fromC",0x9f7e58da,"snikket.ChatMessageBuilder.lang__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_366_set_lang__fromC,"snikket.ChatMessageBuilder","set_lang__fromC",0x1fa280fd,"snikket.ChatMessageBuilder.set_lang__fromC","HaxeCBridge.hx",366,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_355_direction__fromC,"snikket.ChatMessageBuilder","direction__fromC",0x1154492b,"snikket.ChatMessageBuilder.direction__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_366_set_direction__fromC,"snikket.ChatMessageBuilder","set_direction__fromC",0xd39cc228,"snikket.ChatMessageBuilder.set_direction__fromC","HaxeCBridge.hx",366,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_355_status__fromC,"snikket.ChatMessageBuilder","status__fromC",0xf20569d6,"snikket.ChatMessageBuilder.status__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_366_set_status__fromC,"snikket.ChatMessageBuilder","set_status__fromC",0xe19e20b9,"snikket.ChatMessageBuilder.set_status__fromC","HaxeCBridge.hx",366,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_344_set_versions__fromC,"snikket.ChatMessageBuilder","set_versions__fromC",0xb63c1130,"snikket.ChatMessageBuilder.set_versions__fromC","HaxeCBridge.hx",344,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_1cce69560351f400_334_versions__fromC,"snikket.ChatMessageBuilder","versions__fromC",0x25dd9b8d,"snikket.ChatMessageBuilder.versions__fromC","HaxeCBridge.hx",334,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_cb10733abcc4a57a_214_attachSims,"snikket.ChatMessageBuilder","attachSims",0x75605632,"snikket.ChatMessageBuilder.attachSims","snikket/ChatMessageBuilder.hx",214,0x01453ec0)
-HX_LOCAL_STACK_FRAME(_hx_pos_cb10733abcc4a57a_230_addAttachment,"snikket.ChatMessageBuilder","addAttachment",0x989c07b3,"snikket.ChatMessageBuilder.addAttachment","snikket/ChatMessageBuilder.hx",230,0x01453ec0)
-HX_LOCAL_STACK_FRAME(_hx_pos_cb10733abcc4a57a_252_setHtml,"snikket.ChatMessageBuilder","setHtml",0x8f01d73c,"snikket.ChatMessageBuilder.setHtml","snikket/ChatMessageBuilder.hx",252,0x01453ec0)
-HX_LOCAL_STACK_FRAME(_hx_pos_cb10733abcc4a57a_237_setHtml,"snikket.ChatMessageBuilder","setHtml",0x8f01d73c,"snikket.ChatMessageBuilder.setHtml","snikket/ChatMessageBuilder.hx",237,0x01453ec0)
-HX_LOCAL_STACK_FRAME(_hx_pos_cb10733abcc4a57a_258_htmlToNode,"snikket.ChatMessageBuilder","htmlToNode",0xf59eb339,"snikket.ChatMessageBuilder.htmlToNode","snikket/ChatMessageBuilder.hx",258,0x01453ec0)
-HX_LOCAL_STACK_FRAME(_hx_pos_cb10733abcc4a57a_281_chatId,"snikket.ChatMessageBuilder","chatId",0x19a31aa4,"snikket.ChatMessageBuilder.chatId","snikket/ChatMessageBuilder.hx",281,0x01453ec0)
-HX_LOCAL_STACK_FRAME(_hx_pos_cb10733abcc4a57a_292_get_senderId,"snikket.ChatMessageBuilder","get_senderId",0x22179b8a,"snikket.ChatMessageBuilder.get_senderId","snikket/ChatMessageBuilder.hx",292,0x01453ec0)
-HX_LOCAL_STACK_FRAME(_hx_pos_cb10733abcc4a57a_296_isIncoming,"snikket.ChatMessageBuilder","isIncoming",0x3ede2541,"snikket.ChatMessageBuilder.isIncoming","snikket/ChatMessageBuilder.hx",296,0x01453ec0)
-HX_LOCAL_STACK_FRAME(_hx_pos_cb10733abcc4a57a_299_build,"snikket.ChatMessageBuilder","build",0x52e42a7d,"snikket.ChatMessageBuilder.build","snikket/ChatMessageBuilder.hx",299,0x01453ec0)
-HX_LOCAL_STACK_FRAME(_hx_pos_cb10733abcc4a57a_183_makeModerated,"snikket.ChatMessageBuilder","makeModerated",0x6bc3e5c2,"snikket.ChatMessageBuilder.makeModerated","snikket/ChatMessageBuilder.hx",183,0x01453ec0)
-HX_LOCAL_STACK_FRAME(_hx_pos_cb10733abcc4a57a_32_boot,"snikket.ChatMessageBuilder","boot",0x1be7d3c3,"snikket.ChatMessageBuilder.boot","snikket/ChatMessageBuilder.hx",32,0x01453ec0)
-namespace snikket{
-
-void ChatMessageBuilder_obj::__construct(){
- HX_GC_STACKFRAME(&_hx_pos_cb10733abcc4a57a_32_new)
-HXLINE( 130) this->stanza = null();
-HXLINE( 124) this->payloads = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 121) this->versions = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 116) this->status = 0;
-HXLINE( 111) this->direction = 0;
-HXLINE( 106) this->lang = null();
-HXLINE( 101) this->text = null();
-HXLINE( 96) this->reactions = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 90) this->attachments = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 85) this->threadId = null();
-HXLINE( 80) this->replyToMessage = null();
-HXLINE( 75) this->senderId = null();
-HXLINE( 73) this->replyTo = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 71) this->recipients = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 69) this->sender = null();
-HXLINE( 67) this->from = null();
-HXLINE( 65) this->to = null();
-HXLINE( 62) this->timestamp = null();
-HXLINE( 57) this->replyId = null();
-HXLINE( 54) this->syncPoint = false;
-HXLINE( 51) this->type = 0;
-HXLINE( 46) this->serverIdBy = null();
-HXLINE( 41) this->serverId = null();
-HXLINE( 36) this->localId = null();
- }
-
-Dynamic ChatMessageBuilder_obj::__CreateEmpty() { return new ChatMessageBuilder_obj; }
-
-void *ChatMessageBuilder_obj::_hx_vtable = 0;
-
-Dynamic ChatMessageBuilder_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< ChatMessageBuilder_obj > _hx_result = new ChatMessageBuilder_obj();
- _hx_result->__construct();
- return _hx_result;
-}
-
-bool ChatMessageBuilder_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x1d9d1345;
-}
-
-::String ChatMessageBuilder_obj::localId__fromC(){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_355_localId__fromC)
-HXDLIN( 355) return this->localId;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,localId__fromC,return )
-
-void ChatMessageBuilder_obj::set_localId__fromC(::String value){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_366_set_localId__fromC)
-HXDLIN( 366) this->localId = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_localId__fromC,(void))
-
-::String ChatMessageBuilder_obj::serverId__fromC(){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_355_serverId__fromC)
-HXDLIN( 355) return this->serverId;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,serverId__fromC,return )
-
-void ChatMessageBuilder_obj::set_serverId__fromC(::String value){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_366_set_serverId__fromC)
-HXDLIN( 366) this->serverId = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_serverId__fromC,(void))
-
-::String ChatMessageBuilder_obj::serverIdBy__fromC(){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_355_serverIdBy__fromC)
-HXDLIN( 355) return this->serverIdBy;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,serverIdBy__fromC,return )
-
-void ChatMessageBuilder_obj::set_serverIdBy__fromC(::String value){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_366_set_serverIdBy__fromC)
-HXDLIN( 366) this->serverIdBy = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_serverIdBy__fromC,(void))
-
-int ChatMessageBuilder_obj::type__fromC(){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_355_type__fromC)
-HXDLIN( 355) return this->type;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,type__fromC,return )
-
-void ChatMessageBuilder_obj::set_type__fromC(int value){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_366_set_type__fromC)
-HXDLIN( 366) this->type = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_type__fromC,(void))
-
-::String ChatMessageBuilder_obj::timestamp__fromC(){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_355_timestamp__fromC)
-HXDLIN( 355) return this->timestamp;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,timestamp__fromC,return )
-
-void ChatMessageBuilder_obj::set_timestamp__fromC(::String value){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_366_set_timestamp__fromC)
-HXDLIN( 366) this->timestamp = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_timestamp__fromC,(void))
-
-::String ChatMessageBuilder_obj::senderId__fromC(){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_308_senderId__fromC)
-HXDLIN( 308) return this->get_senderId();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,senderId__fromC,return )
-
-void ChatMessageBuilder_obj::set_senderId__fromC(::String value){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_319_set_senderId__fromC)
-HXDLIN( 319) this->senderId = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_senderId__fromC,(void))
-
- ::snikket::ChatMessage ChatMessageBuilder_obj::replyToMessage__fromC(){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_355_replyToMessage__fromC)
-HXDLIN( 355) return this->replyToMessage;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,replyToMessage__fromC,return )
-
-void ChatMessageBuilder_obj::set_replyToMessage__fromC( ::snikket::ChatMessage value){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_366_set_replyToMessage__fromC)
-HXDLIN( 366) this->replyToMessage = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_replyToMessage__fromC,(void))
-
-::String ChatMessageBuilder_obj::threadId__fromC(){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_355_threadId__fromC)
-HXDLIN( 355) return this->threadId;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,threadId__fromC,return )
-
-void ChatMessageBuilder_obj::set_threadId__fromC(::String value){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_366_set_threadId__fromC)
-HXDLIN( 366) this->threadId = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_threadId__fromC,(void))
-
-size_t ChatMessageBuilder_obj::attachments__fromC(void*** outPtr){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_297_attachments__fromC)
-HXDLIN( 297) ::Array< ::Dynamic> x = this->attachments;
-HXDLIN( 297) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 297) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 297) {
-HXDLIN( 297) int _g = 0;
-HXDLIN( 297) while((_g < x->length)){
-HXDLIN( 297) ::snikket::ChatAttachment el = x->__get(_g).StaticCast< ::snikket::ChatAttachment >();
-HXDLIN( 297) _g = (_g + 1);
-HXDLIN( 297) {
-HXDLIN( 297) ::Dynamic haxeObject = el;
-HXDLIN( 297) void* ptr = haxeObject.mPtr;
-HXDLIN( 297) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 297) {
-HXDLIN( 297) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 297) if (::hx::IsNull( store )) {
-HXDLIN( 297) 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( 297) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXDLIN( 297) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 297) void** ptr1 = (void**)x->getBase();
-HXDLIN( 297) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 297) {
-HXDLIN( 297) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 297) if (::hx::IsNull( store1 )) {
-HXDLIN( 297) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),x));
-HXDLIN( 297) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXDLIN( 297) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 297) _hx_tmp->set_ref(ptr1);
- }
-HXDLIN( 297) return ( (size_t)(x->length) );
- }
-
-
-::String ChatMessageBuilder_obj::text__fromC(){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_355_text__fromC)
-HXDLIN( 355) return this->text;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,text__fromC,return )
-
-void ChatMessageBuilder_obj::set_text__fromC(::String value){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_366_set_text__fromC)
-HXDLIN( 366) this->text = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_text__fromC,(void))
-
-::String ChatMessageBuilder_obj::lang__fromC(){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_355_lang__fromC)
-HXDLIN( 355) return this->lang;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,lang__fromC,return )
-
-void ChatMessageBuilder_obj::set_lang__fromC(::String value){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_366_set_lang__fromC)
-HXDLIN( 366) this->lang = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_lang__fromC,(void))
-
-int ChatMessageBuilder_obj::direction__fromC(){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_355_direction__fromC)
-HXDLIN( 355) return this->direction;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,direction__fromC,return )
-
-void ChatMessageBuilder_obj::set_direction__fromC(int value){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_366_set_direction__fromC)
-HXDLIN( 366) this->direction = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_direction__fromC,(void))
-
-int ChatMessageBuilder_obj::status__fromC(){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_355_status__fromC)
-HXDLIN( 355) return this->status;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,status__fromC,return )
-
-void ChatMessageBuilder_obj::set_status__fromC(int value){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_366_set_status__fromC)
-HXDLIN( 366) this->status = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_status__fromC,(void))
-
-void ChatMessageBuilder_obj::set_versions__fromC(::cpp::Pointer< void* > inPtr,size_t count){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_344_set_versions__fromC)
-HXDLIN( 344) ::cpp::Pointer< ::snikket::ChatMessage > _this = inPtr->reinterpret();
-HXDLIN( 344) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new();
-HXDLIN( 344) ::cpp::Pointer< ::snikket::ChatMessage > tmp = _this;
-HXDLIN( 344) result->setUnmanagedData(tmp,( (int)(count) ));
-HXDLIN( 344) this->versions = result->copy();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(ChatMessageBuilder_obj,set_versions__fromC,(void))
-
-size_t ChatMessageBuilder_obj::versions__fromC(void*** outPtr){
- HX_STACKFRAME(&_hx_pos_1cce69560351f400_334_versions__fromC)
-HXDLIN( 334) ::Array< ::Dynamic> x = this->versions;
-HXDLIN( 334) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 334) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 334) {
-HXDLIN( 334) int _g = 0;
-HXDLIN( 334) while((_g < x->length)){
-HXDLIN( 334) ::snikket::ChatMessage el = x->__get(_g).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 334) _g = (_g + 1);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic haxeObject = el;
-HXDLIN( 334) void* ptr = haxeObject.mPtr;
-HXDLIN( 334) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 334) if (::hx::IsNull( store )) {
-HXDLIN( 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 {
-HXDLIN( 334) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 334) void** ptr1 = (void**)x->getBase();
-HXDLIN( 334) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 334) {
-HXDLIN( 334) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 334) if (::hx::IsNull( store1 )) {
-HXDLIN( 334) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),x));
-HXDLIN( 334) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXDLIN( 334) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 334) _hx_tmp->set_ref(ptr1);
- }
-HXDLIN( 334) return ( (size_t)(x->length) );
- }
-
-
-void ChatMessageBuilder_obj::attachSims( ::snikket::Stanza sims){
- HX_GC_STACKFRAME(&_hx_pos_cb10733abcc4a57a_214_attachSims)
-HXLINE( 215) ::String mime = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:5}/media-type#",f7,02,ad,24));
-HXLINE( 216) if (::hx::IsNull( mime )) {
-HXLINE( 216) mime = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:3}/media-type#",39,5c,52,9f));
- }
-HXLINE( 217) if (::hx::IsNull( mime )) {
-HXLINE( 217) mime = HX_("application/octet-stream",5d,f8,82,30);
- }
-HXLINE( 218) ::String name = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:5}/name#",6f,0a,d5,d2));
-HXLINE( 219) if (::hx::IsNull( name )) {
-HXLINE( 219) name = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:3}/name#",31,26,70,60));
- }
-HXLINE( 220) ::String size = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:5}/size#",39,83,29,b9));
-HXLINE( 221) if (::hx::IsNull( size )) {
-HXLINE( 221) size = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:3}/size#",fb,9e,c4,46));
- }
-HXLINE( 222) ::Array< ::Dynamic> _this;
-HXDLIN( 222) ::snikket::Stanza tmp;
-HXDLIN( 222) ::snikket::Stanza tmp1 = sims->getChild(HX_("file",7c,ce,bb,43),HX_("urn:xmpp:jingle:apps:file-transfer:5",9c,81,0d,37));
-HXDLIN( 222) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 222) tmp = tmp1;
- }
- else {
-HXLINE( 222) tmp = sims->getChild(HX_("file",7c,ce,bb,43),HX_("urn:xmpp:jingle:apps:file-transfer:3",9a,81,0d,37));
- }
-HXDLIN( 222) ::Array< ::Dynamic> tmp2;
-HXDLIN( 222) if (::hx::IsNotNull( tmp )) {
-HXLINE( 222) tmp2 = tmp->allTags(HX_("hash",ce,2f,08,45),HX_("urn:xmpp:hashes:2",90,ad,87,c7));
- }
- else {
-HXLINE( 222) tmp2 = null();
- }
-HXDLIN( 222) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 222) _this = tmp2;
- }
- else {
-HXLINE( 222) _this = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN( 222) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN( 222) {
-HXLINE( 222) int _g = 0;
-HXDLIN( 222) int _g1 = _this->length;
-HXDLIN( 222) while((_g < _g1)){
-HXLINE( 222) _g = (_g + 1);
-HXDLIN( 222) int i = (_g - 1);
-HXDLIN( 222) {
-HXLINE( 223) ::snikket::Stanza hash = ( ( ::snikket::Stanza)(_hx_array_unsafe_get(_this,i)) );
-HXDLIN( 223) ::String inValue;
-HXDLIN( 223) ::String tmp3 = ( (::String)(::Reflect_obj::field(hash->attr,HX_("algo",d3,ff,6f,40))) );
-HXDLIN( 223) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 223) inValue = tmp3;
- }
- else {
-HXLINE( 223) inValue = HX_("",00,00,00,00);
- }
-HXLINE( 222) ::snikket::Hash inValue1 = ::snikket::Hash_obj::__alloc( HX_CTX ,inValue,::haxe::crypto::Base64_obj::decode(hash->getText(),null())->b);
-HXDLIN( 222) result->__unsafe_set(i,inValue1);
- }
- }
- }
-HXDLIN( 222) ::Array< ::Dynamic> hashes = result;
-HXLINE( 224) ::snikket::Stanza sources = sims->getChild(HX_("sources",38,0f,49,b9),null());
-HXLINE( 225) ::Array< ::Dynamic> _this1;
-HXDLIN( 225) ::Array< ::Dynamic> tmp4;
-HXDLIN( 225) if (::hx::IsNotNull( sources )) {
-HXLINE( 225) tmp4 = sources->allTags(HX_("reference",cb,07,c5,5a),HX_("urn:xmpp:reference:0",a5,00,10,5d));
- }
- else {
-HXLINE( 225) tmp4 = null();
- }
-HXDLIN( 225) if (::hx::IsNotNull( tmp4 )) {
-HXLINE( 225) _this1 = tmp4;
- }
- else {
-HXLINE( 225) _this1 = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN( 225) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
-HXDLIN( 225) {
-HXLINE( 225) int _g2 = 0;
-HXDLIN( 225) int _g3 = _this1->length;
-HXDLIN( 225) while((_g2 < _g3)){
-HXLINE( 225) _g2 = (_g2 + 1);
-HXDLIN( 225) int i1 = (_g2 - 1);
-HXDLIN( 225) {
-HXLINE( 225) ::String inValue2;
-HXDLIN( 225) ::String tmp5 = ( (::String)(::Reflect_obj::field(( ( ::snikket::Stanza)(_hx_array_unsafe_get(_this1,i1)) )->attr,HX_("uri",6c,2b,59,00))) );
-HXDLIN( 225) if (::hx::IsNotNull( tmp5 )) {
-HXLINE( 225) inValue2 = tmp5;
- }
- else {
-HXLINE( 225) inValue2 = HX_("",00,00,00,00);
- }
-HXDLIN( 225) result1->__unsafe_set(i1,inValue2);
- }
- }
- }
-HXDLIN( 225) ::Array< ::String > _g4 = ::Array_obj< ::String >::__new(0);
-HXDLIN( 225) {
-HXLINE( 225) int _g5 = 0;
-HXDLIN( 225) ::Array< ::String > _g6 = result1;
-HXDLIN( 225) while((_g5 < _g6->length)){
-HXLINE( 225) ::String v = _g6->__get(_g5);
-HXDLIN( 225) _g5 = (_g5 + 1);
-HXDLIN( 225) if ((v != HX_("",00,00,00,00))) {
-HXLINE( 225) _g4->push(v);
- }
- }
- }
-HXDLIN( 225) ::Array< ::String > uris = _g4;
-HXLINE( 226) if ((uris->length > 0)) {
-HXLINE( 226) ::Array< ::Dynamic> _hx_tmp = this->attachments;
-HXDLIN( 226) ::Dynamic _hx_tmp1;
-HXDLIN( 226) if (::hx::IsNull( size )) {
-HXLINE( 226) _hx_tmp1 = null();
- }
- else {
-HXLINE( 226) _hx_tmp1 = ::Std_obj::parseInt(size);
- }
-HXDLIN( 226) _hx_tmp->push( ::snikket::ChatAttachment_obj::__alloc( HX_CTX ,name,mime,_hx_tmp1,uris,hashes));
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,attachSims,(void))
-
-void ChatMessageBuilder_obj::addAttachment( ::snikket::ChatAttachment attachment){
- HX_STACKFRAME(&_hx_pos_cb10733abcc4a57a_230_addAttachment)
-HXDLIN( 230) this->attachments->push(attachment);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,addAttachment,(void))
-
-void ChatMessageBuilder_obj::setHtml(::String html){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run( ::snikket::Stanza p){
- HX_GC_STACKFRAME(&_hx_pos_cb10733abcc4a57a_252_setHtml)
-HXLINE( 252) 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( 252) return (p->name == HX_("html",6b,95,16,45));
- }
- else {
-HXLINE( 252) return false;
- }
-HXDLIN( 252) return false;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_cb10733abcc4a57a_237_setHtml)
-HXLINE( 238) ::snikket::Stanza htmlEl = ::snikket::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( 239) ::snikket::Stanza body = ::snikket::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( 240) htmlEl->addChild(body);
-HXLINE( 241) ::Array< ::Dynamic> nodes = ::htmlparser::HtmlParser_obj::run(html,true);
-HXLINE( 242) {
-HXLINE( 242) int _g = 0;
-HXDLIN( 242) while((_g < nodes->length)){
-HXLINE( 242) ::htmlparser::HtmlNode node = nodes->__get(_g).StaticCast< ::htmlparser::HtmlNode >();
-HXDLIN( 242) _g = (_g + 1);
-HXLINE( 243) ::htmlparser::HtmlNodeElement el = ( ( ::htmlparser::HtmlNodeElement)(::snikket::_Util::Util_Fields__obj::downcast(node,::hx::ClassOf< ::htmlparser::HtmlNodeElement >())) );
-HXLINE( 244) bool _hx_tmp;
-HXDLIN( 244) if (::hx::IsNotNull( el )) {
-HXLINE( 244) if ((el->name != HX_("html",6b,95,16,45))) {
-HXLINE( 244) _hx_tmp = (el->name == HX_("body",a2,7a,1b,41));
- }
- else {
-HXLINE( 244) _hx_tmp = true;
- }
- }
- else {
-HXLINE( 244) _hx_tmp = false;
- }
-HXDLIN( 244) if (_hx_tmp) {
-HXLINE( 245) int _g1 = 0;
-HXDLIN( 245) ::Array< ::Dynamic> _g2 = el->nodes;
-HXDLIN( 245) while((_g1 < _g2->length)){
-HXLINE( 245) ::htmlparser::HtmlNode inner = _g2->__get(_g1).StaticCast< ::htmlparser::HtmlNode >();
-HXDLIN( 245) _g1 = (_g1 + 1);
-HXLINE( 246) body->addDirectChild(this->htmlToNode(inner));
- }
- }
- else {
-HXLINE( 249) body->addDirectChild(this->htmlToNode(node));
- }
- }
- }
-HXLINE( 252) int htmlIdx = ::Lambda_obj::findIndex(this->payloads, ::Dynamic(new _hx_Closure_0()));
-HXLINE( 253) if ((htmlIdx >= 0)) {
-HXLINE( 253) this->payloads->removeRange(htmlIdx,1);
- }
-HXLINE( 254) this->payloads->push(htmlEl);
-HXLINE( 255) this->text = ::snikket::XEP0393_obj::render(body);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,setHtml,(void))
-
- ::snikket::Node ChatMessageBuilder_obj::htmlToNode( ::htmlparser::HtmlNode node){
- HX_GC_STACKFRAME(&_hx_pos_cb10733abcc4a57a_258_htmlToNode)
-HXLINE( 259) ::htmlparser::HtmlNodeText txt = ( ( ::htmlparser::HtmlNodeText)(::snikket::_Util::Util_Fields__obj::downcast(node,::hx::ClassOf< ::htmlparser::HtmlNodeText >())) );
-HXLINE( 260) if (::hx::IsNotNull( txt )) {
-HXLINE( 261) return ::snikket::Node_obj::CData(txt->toText());
- }
-HXLINE( 263) ::htmlparser::HtmlNodeElement el = ( ( ::htmlparser::HtmlNodeElement)(::snikket::_Util::Util_Fields__obj::downcast(node,::hx::ClassOf< ::htmlparser::HtmlNodeElement >())) );
-HXLINE( 264) if (::hx::IsNotNull( el )) {
-HXLINE( 265) ::snikket::Stanza s = ::snikket::Stanza_obj::__alloc( HX_CTX ,el->name, ::Dynamic(::hx::Anon_obj::Create(0)));
-HXLINE( 266) {
-HXLINE( 266) int _g = 0;
-HXDLIN( 266) ::Array< ::Dynamic> _g1 = el->attributes;
-HXDLIN( 266) while((_g < _g1->length)){
-HXLINE( 266) ::htmlparser::HtmlAttribute attr = _g1->__get(_g).StaticCast< ::htmlparser::HtmlAttribute >();
-HXDLIN( 266) _g = (_g + 1);
-HXLINE( 267) {
-HXLINE( 267) ::String value = attr->value;
-HXDLIN( 267) ::Reflect_obj::setField(s->attr,attr->name,value);
- }
- }
- }
-HXLINE( 269) {
-HXLINE( 269) int _g2 = 0;
-HXDLIN( 269) ::Array< ::Dynamic> _g3 = el->nodes;
-HXDLIN( 269) while((_g2 < _g3->length)){
-HXLINE( 269) ::htmlparser::HtmlNode child = _g3->__get(_g2).StaticCast< ::htmlparser::HtmlNode >();
-HXDLIN( 269) _g2 = (_g2 + 1);
-HXLINE( 270) s->addDirectChild(this->htmlToNode(child));
- }
- }
-HXLINE( 272) return ::snikket::Node_obj::Element(s);
- }
-HXLINE( 274) HX_STACK_DO_THROW(HX_("node was neither text nor element?",c3,dc,19,83));
-HXDLIN( 274) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,htmlToNode,return )
-
-::String ChatMessageBuilder_obj::chatId(){
- HX_STACKFRAME(&_hx_pos_cb10733abcc4a57a_281_chatId)
-HXDLIN( 281) if (this->isIncoming()) {
-HXLINE( 282) ::Array< ::Dynamic> _this = this->replyTo;
-HXDLIN( 282) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 282) {
-HXLINE( 282) int _g = 0;
-HXDLIN( 282) int _g1 = _this->length;
-HXDLIN( 282) while((_g < _g1)){
-HXLINE( 282) _g = (_g + 1);
-HXDLIN( 282) int i = (_g - 1);
-HXDLIN( 282) {
-HXLINE( 282) ::String inValue = ( ( ::snikket::JID)(_hx_array_unsafe_get(_this,i)) )->asBare()->asString();
-HXDLIN( 282) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 282) return result->join(HX_("\n",0a,00,00,00));
- }
- else {
-HXLINE( 284) ::Array< ::Dynamic> _this1 = this->recipients;
-HXDLIN( 284) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
-HXDLIN( 284) {
-HXLINE( 284) int _g2 = 0;
-HXDLIN( 284) int _g3 = _this1->length;
-HXDLIN( 284) while((_g2 < _g3)){
-HXLINE( 284) _g2 = (_g2 + 1);
-HXDLIN( 284) int i1 = (_g2 - 1);
-HXDLIN( 284) {
-HXLINE( 284) ::String inValue1 = ( ( ::snikket::JID)(_hx_array_unsafe_get(_this1,i1)) )->asString();
-HXDLIN( 284) result1->__unsafe_set(i1,inValue1);
- }
- }
- }
-HXDLIN( 284) return result1->join(HX_("\n",0a,00,00,00));
- }
-HXLINE( 281) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,chatId,return )
-
-::String ChatMessageBuilder_obj::get_senderId(){
- HX_STACKFRAME(&_hx_pos_cb10733abcc4a57a_292_get_senderId)
-HXDLIN( 292) ::String tmp = this->senderId;
-HXDLIN( 292) ::String tmp1;
-HXDLIN( 292) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 292) tmp1 = tmp;
- }
- else {
-HXDLIN( 292) ::snikket::JID tmp2 = this->sender;
-HXDLIN( 292) if (::hx::IsNotNull( tmp2 )) {
-HXDLIN( 292) tmp1 = tmp2->asString();
- }
- else {
-HXDLIN( 292) tmp1 = null();
- }
- }
-HXDLIN( 292) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN( 292) return tmp1;
- }
- else {
-HXDLIN( 292) HX_STACK_DO_THROW(HX_("sender is null",12,ab,5a,42));
- }
-HXDLIN( 292) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,get_senderId,return )
-
-bool ChatMessageBuilder_obj::isIncoming(){
- HX_STACKFRAME(&_hx_pos_cb10733abcc4a57a_296_isIncoming)
-HXDLIN( 296) return (this->direction == 0);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,isIncoming,return )
-
- ::snikket::ChatMessage ChatMessageBuilder_obj::build(){
- HX_GC_STACKFRAME(&_hx_pos_cb10733abcc4a57a_299_build)
-HXLINE( 300) bool _hx_tmp;
-HXDLIN( 300) if (::hx::IsNull( this->serverId )) {
-HXLINE( 300) _hx_tmp = ::hx::IsNull( this->localId );
- }
- else {
-HXLINE( 300) _hx_tmp = false;
- }
-HXDLIN( 300) if (_hx_tmp) {
-HXLINE( 300) HX_STACK_DO_THROW(HX_("Cannot build a ChatMessage with no id",ff,b8,88,e6));
- }
-HXLINE( 301) ::snikket::JID to = this->to;
-HXLINE( 302) if (::hx::IsNull( to )) {
-HXLINE( 302) HX_STACK_DO_THROW(HX_("Cannot build a ChatMessage with no to",9f,c2,88,e6));
- }
-HXLINE( 303) ::snikket::JID from = this->from;
-HXLINE( 304) if (::hx::IsNull( from )) {
-HXLINE( 304) HX_STACK_DO_THROW(HX_("Cannot build a ChatMessage with no from",8e,93,f7,22));
- }
-HXLINE( 305) ::snikket::JID sender;
-HXDLIN( 305) ::snikket::JID tmp = this->sender;
-HXDLIN( 305) if (::hx::IsNotNull( tmp )) {
-HXLINE( 305) sender = tmp;
- }
- else {
-HXLINE( 305) sender = from->asBare();
- }
-HXLINE( 307) ::String _hx_tmp1 = this->localId;
-HXLINE( 308) ::String _hx_tmp2 = this->serverId;
-HXLINE( 309) ::String _hx_tmp3 = this->serverIdBy;
-HXLINE( 310) ::Dynamic _hx_tmp4 = this->type;
-HXLINE( 311) ::Dynamic _hx_tmp5 = this->syncPoint;
-HXLINE( 312) ::String _hx_tmp6 = this->replyId;
-HXLINE( 313) ::String _hx_tmp7;
-HXDLIN( 313) ::String tmp1 = this->timestamp;
-HXDLIN( 313) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 313) _hx_tmp7 = tmp1;
- }
- else {
-HXLINE( 313) _hx_tmp7 = ::snikket::Date_obj::format(::Date_obj::now());
- }
-HXLINE( 306) return ::snikket::ChatMessage_obj::__alloc( HX_CTX , ::Dynamic(::hx::Anon_obj::Create(23)
- ->setFixed(0,HX_("recipients",7a,62,59,87),this->recipients)
- ->setFixed(1,HX_("syncPoint",f5,ff,94,98),_hx_tmp5)
- ->setFixed(2,HX_("payloads",25,dd,d1,a1),this->payloads)
- ->setFixed(3,HX_("timestamp",d6,d4,ce,a5),_hx_tmp7)
- ->setFixed(4,HX_("replyToMessage",02,cf,60,a6),this->replyToMessage)
- ->setFixed(5,HX_("replyId",a5,67,3a,ab),_hx_tmp6)
- ->setFixed(6,HX_("replyTo",45,71,3a,ab),this->replyTo)
- ->setFixed(7,HX_("threadId",45,81,25,cc),this->threadId)
- ->setFixed(8,HX_("versions",5b,4e,b8,d6),this->versions)
- ->setFixed(9,HX_("serverId",7e,01,b2,e2),_hx_tmp2)
- ->setFixed(10,HX_("attachments",30,df,33,e7),this->attachments)
- ->setFixed(11,HX_("reactions",aa,cc,95,e7),this->reactions)
- ->setFixed(12,HX_("senderId",f0,1e,0e,ec),this->get_senderId())
- ->setFixed(13,HX_("to",7b,65,00,00),to)
- ->setFixed(14,HX_("stanza",f5,5d,f7,05),this->stanza)
- ->setFixed(15,HX_("status",32,e7,fb,05),this->status)
- ->setFixed(16,HX_("direction",3f,62,40,10),this->direction)
- ->setFixed(17,HX_("localId",26,7a,c6,2d),_hx_tmp1)
- ->setFixed(18,HX_("from",6a,a5,c2,43),from)
- ->setFixed(19,HX_("lang",ee,05,ad,47),this->lang)
- ->setFixed(20,HX_("text",ad,cc,f9,4c),this->text)
- ->setFixed(21,HX_("type",ba,f2,08,4d),_hx_tmp4)
- ->setFixed(22,HX_("serverIdBy",f5,16,54,74),_hx_tmp3)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,build,return )
-
- ::snikket::ChatMessage ChatMessageBuilder_obj::makeModerated( ::snikket::ChatMessage m,::String timestamp,::String moderatorId,::String reason){
- HX_GC_STACKFRAME(&_hx_pos_cb10733abcc4a57a_183_makeModerated)
-HXLINE( 184) ::snikket::ChatMessageBuilder builder = ::snikket::ChatMessageBuilder_obj::__alloc( HX_CTX );
-HXLINE( 185) builder->localId = m->localId;
-HXLINE( 186) builder->serverId = m->serverId;
-HXLINE( 187) builder->serverIdBy = m->serverIdBy;
-HXLINE( 188) builder->type = m->type;
-HXLINE( 189) builder->syncPoint = m->syncPoint;
-HXLINE( 190) builder->replyId = m->replyId;
-HXLINE( 191) builder->timestamp = m->timestamp;
-HXLINE( 192) builder->to = m->to;
-HXLINE( 193) builder->from = m->from;
-HXLINE( 194) builder->senderId = m->senderId;
-HXLINE( 195) builder->recipients = ::Lambda_obj::array(m->recipients);
-HXLINE( 196) builder->replyTo = ::Lambda_obj::array(m->replyTo);
-HXLINE( 197) builder->replyToMessage = m->replyToMessage;
-HXLINE( 198) builder->threadId = m->threadId;
-HXLINE( 199) builder->reactions = m->reactions;
-HXLINE( 200) builder->direction = m->direction;
-HXLINE( 201) builder->status = m->status;
-HXLINE( 202) ::snikket::ChatMessage cleanedStub = builder->build();
-HXLINE( 203) ::snikket::Stanza payload = ::snikket::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( 204) if (::hx::IsNotNull( reason )) {
-HXLINE( 204) payload->textTag(HX_("reason",c4,0f,9d,fc),reason,null());
- }
-HXLINE( 205) 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( 206) builder->payloads->push(payload);
-HXLINE( 207) builder->timestamp = timestamp;
-HXLINE( 208) builder->versions = ::Array_obj< ::Dynamic>::__new(2)->init(0,builder->build())->init(1,cleanedStub);
-HXLINE( 209) builder->timestamp = m->timestamp;
-HXLINE( 210) return builder->build();
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC4(ChatMessageBuilder_obj,makeModerated,return )
-
-
-::hx::ObjectPtr< ChatMessageBuilder_obj > ChatMessageBuilder_obj::__new() {
- ::hx::ObjectPtr< ChatMessageBuilder_obj > __this = new ChatMessageBuilder_obj();
- __this->__construct();
- return __this;
-}
-
-::hx::ObjectPtr< ChatMessageBuilder_obj > ChatMessageBuilder_obj::__alloc(::hx::Ctx *_hx_ctx) {
- ChatMessageBuilder_obj *__this = (ChatMessageBuilder_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ChatMessageBuilder_obj), true, "snikket.ChatMessageBuilder"));
- *(void **)__this = ChatMessageBuilder_obj::_hx_vtable;
- __this->__construct();
- return __this;
-}
-
-ChatMessageBuilder_obj::ChatMessageBuilder_obj()
-{
-}
-
-void ChatMessageBuilder_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(ChatMessageBuilder);
- HX_MARK_MEMBER_NAME(localId,"localId");
- HX_MARK_MEMBER_NAME(serverId,"serverId");
- HX_MARK_MEMBER_NAME(serverIdBy,"serverIdBy");
- 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(to,"to");
- HX_MARK_MEMBER_NAME(from,"from");
- HX_MARK_MEMBER_NAME(sender,"sender");
- HX_MARK_MEMBER_NAME(recipients,"recipients");
- HX_MARK_MEMBER_NAME(replyTo,"replyTo");
- HX_MARK_MEMBER_NAME(senderId,"senderId");
- HX_MARK_MEMBER_NAME(replyToMessage,"replyToMessage");
- HX_MARK_MEMBER_NAME(threadId,"threadId");
- HX_MARK_MEMBER_NAME(attachments,"attachments");
- HX_MARK_MEMBER_NAME(reactions,"reactions");
- HX_MARK_MEMBER_NAME(text,"text");
- HX_MARK_MEMBER_NAME(lang,"lang");
- HX_MARK_MEMBER_NAME(direction,"direction");
- HX_MARK_MEMBER_NAME(status,"status");
- HX_MARK_MEMBER_NAME(versions,"versions");
- HX_MARK_MEMBER_NAME(payloads,"payloads");
- HX_MARK_MEMBER_NAME(stanza,"stanza");
- HX_MARK_END_CLASS();
-}
-
-void ChatMessageBuilder_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(localId,"localId");
- HX_VISIT_MEMBER_NAME(serverId,"serverId");
- HX_VISIT_MEMBER_NAME(serverIdBy,"serverIdBy");
- 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(to,"to");
- HX_VISIT_MEMBER_NAME(from,"from");
- HX_VISIT_MEMBER_NAME(sender,"sender");
- HX_VISIT_MEMBER_NAME(recipients,"recipients");
- HX_VISIT_MEMBER_NAME(replyTo,"replyTo");
- HX_VISIT_MEMBER_NAME(senderId,"senderId");
- HX_VISIT_MEMBER_NAME(replyToMessage,"replyToMessage");
- HX_VISIT_MEMBER_NAME(threadId,"threadId");
- HX_VISIT_MEMBER_NAME(attachments,"attachments");
- HX_VISIT_MEMBER_NAME(reactions,"reactions");
- HX_VISIT_MEMBER_NAME(text,"text");
- HX_VISIT_MEMBER_NAME(lang,"lang");
- HX_VISIT_MEMBER_NAME(direction,"direction");
- HX_VISIT_MEMBER_NAME(status,"status");
- HX_VISIT_MEMBER_NAME(versions,"versions");
- HX_VISIT_MEMBER_NAME(payloads,"payloads");
- HX_VISIT_MEMBER_NAME(stanza,"stanza");
-}
-
-::hx::Val ChatMessageBuilder_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"to") ) { return ::hx::Val( to ); }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"type") ) { return ::hx::Val( type ); }
- if (HX_FIELD_EQ(inName,"from") ) { return ::hx::Val( from ); }
- if (HX_FIELD_EQ(inName,"text") ) { return ::hx::Val( text ); }
- if (HX_FIELD_EQ(inName,"lang") ) { return ::hx::Val( lang ); }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"build") ) { return ::hx::Val( build_dyn() ); }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"sender") ) { return ::hx::Val( sender ); }
- if (HX_FIELD_EQ(inName,"status") ) { return ::hx::Val( status ); }
- if (HX_FIELD_EQ(inName,"stanza") ) { return ::hx::Val( stanza ); }
- if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( chatId_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"localId") ) { return ::hx::Val( localId ); }
- if (HX_FIELD_EQ(inName,"replyId") ) { return ::hx::Val( replyId ); }
- if (HX_FIELD_EQ(inName,"replyTo") ) { return ::hx::Val( replyTo ); }
- if (HX_FIELD_EQ(inName,"setHtml") ) { return ::hx::Val( setHtml_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"serverId") ) { return ::hx::Val( serverId ); }
- 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 ); }
- if (HX_FIELD_EQ(inName,"payloads") ) { return ::hx::Val( payloads ); }
- 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;
- case 10:
- if (HX_FIELD_EQ(inName,"serverIdBy") ) { return ::hx::Val( serverIdBy ); }
- if (HX_FIELD_EQ(inName,"recipients") ) { return ::hx::Val( recipients ); }
- if (HX_FIELD_EQ(inName,"attachSims") ) { return ::hx::Val( attachSims_dyn() ); }
- if (HX_FIELD_EQ(inName,"htmlToNode") ) { return ::hx::Val( htmlToNode_dyn() ); }
- if (HX_FIELD_EQ(inName,"isIncoming") ) { return ::hx::Val( isIncoming_dyn() ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"type__fromC") ) { return ::hx::Val( type__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"attachments") ) { return ::hx::Val( attachments ); }
- if (HX_FIELD_EQ(inName,"text__fromC") ) { return ::hx::Val( text__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"lang__fromC") ) { return ::hx::Val( lang__fromC_dyn() ); }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"get_senderId") ) { return ::hx::Val( get_senderId_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"status__fromC") ) { return ::hx::Val( status__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"addAttachment") ) { return ::hx::Val( addAttachment_dyn() ); }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"localId__fromC") ) { return ::hx::Val( localId__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"replyToMessage") ) { return ::hx::Val( replyToMessage ); }
- break;
- 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,"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_text__fromC") ) { return ::hx::Val( set_text__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:
- if (HX_FIELD_EQ(inName,"serverIdBy__fromC") ) { return ::hx::Val( serverIdBy__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"set_status__fromC") ) { return ::hx::Val( set_status__fromC_dyn() ); }
- break;
- case 18:
- if (HX_FIELD_EQ(inName,"set_localId__fromC") ) { return ::hx::Val( set_localId__fromC_dyn() ); }
- break;
- case 19:
- if (HX_FIELD_EQ(inName,"set_serverId__fromC") ) { return ::hx::Val( set_serverId__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:
- if (HX_FIELD_EQ(inName,"set_serverIdBy__fromC") ) { return ::hx::Val( set_serverIdBy__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"replyToMessage__fromC") ) { return ::hx::Val( replyToMessage__fromC_dyn() ); }
- break;
- case 25:
- if (HX_FIELD_EQ(inName,"set_replyToMessage__fromC") ) { return ::hx::Val( set_replyToMessage__fromC_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-bool ChatMessageBuilder_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 13:
- if (HX_FIELD_EQ(inName,"makeModerated") ) { outValue = makeModerated_dyn(); return true; }
- }
- return false;
-}
-
-::hx::Val ChatMessageBuilder_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"to") ) { to=inValue.Cast< ::snikket::JID >(); return inValue; }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"type") ) { type=inValue.Cast< int >(); return inValue; }
- if (HX_FIELD_EQ(inName,"from") ) { from=inValue.Cast< ::snikket::JID >(); return inValue; }
- 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 6:
- if (HX_FIELD_EQ(inName,"sender") ) { sender=inValue.Cast< ::snikket::JID >(); return inValue; }
- if (HX_FIELD_EQ(inName,"status") ) { status=inValue.Cast< int >(); return inValue; }
- if (HX_FIELD_EQ(inName,"stanza") ) { stanza=inValue.Cast< ::snikket::Stanza >(); return inValue; }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"localId") ) { localId=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"replyId") ) { replyId=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"replyTo") ) { replyTo=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"serverId") ) { serverId=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; }
- if (HX_FIELD_EQ(inName,"payloads") ) { payloads=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- 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;
- case 10:
- if (HX_FIELD_EQ(inName,"serverIdBy") ) { serverIdBy=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"recipients") ) { recipients=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"attachments") ) { attachments=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"replyToMessage") ) { replyToMessage=inValue.Cast< ::snikket::ChatMessage >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void ChatMessageBuilder_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("localId",26,7a,c6,2d));
- outFields->push(HX_("serverId",7e,01,b2,e2));
- outFields->push(HX_("serverIdBy",f5,16,54,74));
- 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_("to",7b,65,00,00));
- outFields->push(HX_("from",6a,a5,c2,43));
- outFields->push(HX_("sender",b5,c7,84,6b));
- outFields->push(HX_("recipients",7a,62,59,87));
- outFields->push(HX_("replyTo",45,71,3a,ab));
- outFields->push(HX_("senderId",f0,1e,0e,ec));
- 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_("reactions",aa,cc,95,e7));
- outFields->push(HX_("text",ad,cc,f9,4c));
- outFields->push(HX_("lang",ee,05,ad,47));
- outFields->push(HX_("direction",3f,62,40,10));
- outFields->push(HX_("status",32,e7,fb,05));
- outFields->push(HX_("versions",5b,4e,b8,d6));
- outFields->push(HX_("payloads",25,dd,d1,a1));
- outFields->push(HX_("stanza",f5,5d,f7,05));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo ChatMessageBuilder_obj_sMemberStorageInfo[] = {
- {::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,localId),HX_("localId",26,7a,c6,2d)},
- {::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,serverId),HX_("serverId",7e,01,b2,e2)},
- {::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,serverIdBy),HX_("serverIdBy",f5,16,54,74)},
- {::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::fsObject /* ::snikket::JID */ ,(int)offsetof(ChatMessageBuilder_obj,to),HX_("to",7b,65,00,00)},
- {::hx::fsObject /* ::snikket::JID */ ,(int)offsetof(ChatMessageBuilder_obj,from),HX_("from",6a,a5,c2,43)},
- {::hx::fsObject /* ::snikket::JID */ ,(int)offsetof(ChatMessageBuilder_obj,sender),HX_("sender",b5,c7,84,6b)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessageBuilder_obj,recipients),HX_("recipients",7a,62,59,87)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessageBuilder_obj,replyTo),HX_("replyTo",45,71,3a,ab)},
- {::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,senderId),HX_("senderId",f0,1e,0e,ec)},
- {::hx::fsObject /* ::snikket::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 /* ::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)},
- {::hx::fsInt,(int)offsetof(ChatMessageBuilder_obj,direction),HX_("direction",3f,62,40,10)},
- {::hx::fsInt,(int)offsetof(ChatMessageBuilder_obj,status),HX_("status",32,e7,fb,05)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessageBuilder_obj,versions),HX_("versions",5b,4e,b8,d6)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessageBuilder_obj,payloads),HX_("payloads",25,dd,d1,a1)},
- {::hx::fsObject /* ::snikket::Stanza */ ,(int)offsetof(ChatMessageBuilder_obj,stanza),HX_("stanza",f5,5d,f7,05)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *ChatMessageBuilder_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String ChatMessageBuilder_obj_sMemberFields[] = {
- HX_("localId",26,7a,c6,2d),
- HX_("localId__fromC",13,27,c6,af),
- HX_("set_localId__fromC",50,3a,0f,28),
- HX_("serverId",7e,01,b2,e2),
- HX_("serverId__fromC",bb,ba,c0,81),
- HX_("set_serverId__fromC",de,7c,68,49),
- HX_("serverIdBy",f5,16,54,74),
- HX_("serverIdBy__fromC",24,52,2e,02),
- HX_("set_serverIdBy__fromC",07,23,e5,d4),
- HX_("type",ba,f2,08,4d),
- HX_("type__fromC",ff,a8,6c,93),
- 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_("to",7b,65,00,00),
- HX_("from",6a,a5,c2,43),
- HX_("sender",b5,c7,84,6b),
- HX_("recipients",7a,62,59,87),
- HX_("replyTo",45,71,3a,ab),
- HX_("senderId",f0,1e,0e,ec),
- HX_("senderId__fromC",89,0f,49,cb),
- HX_("set_senderId__fromC",ac,d1,f0,92),
- HX_("replyToMessage",02,cf,60,a6),
- HX_("replyToMessage__fromC",b7,65,38,93),
- HX_("set_replyToMessage__fromC",1a,e4,8c,05),
- HX_("threadId",45,81,25,cc),
- HX_("threadId__fromC",d4,d1,81,79),
- HX_("set_threadId__fromC",f7,93,29,41),
- HX_("attachments",30,df,33,e7),
- HX_("reactions",aa,cc,95,e7),
- HX_("text",ad,cc,f9,4c),
- HX_("text__fromC",6c,43,1b,7f),
- HX_("set_text__fromC",0f,78,c8,3b),
- HX_("lang",ee,05,ad,47),
- HX_("lang__fromC",4b,24,00,52),
- HX_("set_lang__fromC",ee,58,ad,0e),
- HX_("direction",3f,62,40,10),
- HX_("direction__fromC",1a,64,c6,4b),
- HX_("set_direction__fromC",97,80,e8,36),
- HX_("status",32,e7,fb,05),
- HX_("status__fromC",87,b3,25,a1),
- HX_("set_status__fromC",ea,96,03,cb),
- HX_("versions",5b,4e,b8,d6),
- HX_("set_versions__fromC",a1,35,90,dc),
- HX_("payloads",25,dd,d1,a1),
- HX_("stanza",f5,5d,f7,05),
- HX_("attachSims",e1,83,46,cc),
- HX_("addAttachment",64,51,bc,47),
- HX_("setHtml",2d,d6,9a,0a),
- HX_("htmlToNode",e8,e0,84,4c),
- HX_("chatId",d3,04,77,b7),
- HX_("get_senderId",f9,d2,27,a1),
- HX_("isIncoming",f0,52,c4,95),
- HX_("build",2e,db,ea,ba),
- ::String(null()) };
-
-::hx::Class ChatMessageBuilder_obj::__mClass;
-
-static ::String ChatMessageBuilder_obj_sStaticFields[] = {
- HX_("makeModerated",73,2f,e4,1a),
- ::String(null())
-};
-
-void ChatMessageBuilder_obj::__register()
-{
- ChatMessageBuilder_obj _hx_dummy;
- ChatMessageBuilder_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.ChatMessageBuilder",7d,3a,ac,ff);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &ChatMessageBuilder_obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(ChatMessageBuilder_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(ChatMessageBuilder_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< ChatMessageBuilder_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = ChatMessageBuilder_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = ChatMessageBuilder_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-void ChatMessageBuilder_obj::__boot()
-{
-{
- HX_STACKFRAME(&_hx_pos_cb10733abcc4a57a_32_boot)
-HXDLIN( 32) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(28)
- ->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_("set_senderId__fromC",ac,d1,f0,92), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(2,HX_("replyToMessage__fromC",b7,65,38,93), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(3,HX_("type__fromC",ff,a8,6c,93), ::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(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(6,HX_("set_timestamp__fromC",e0,9e,ad,c2), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(7,HX_("set_status__fromC",ea,96,03,cb), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->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(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(10,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(11,HX_("timestamp__fromC",63,82,8b,d7), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(12,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(13,HX_("reactions",aa,cc,95,e7), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(14,HX_("serverIdBy__fromC",24,52,2e,02), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(15,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(16,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_("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_("set_localId__fromC",50,3a,0f,28), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(19,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(20,HX_("set_text__fromC",0f,78,c8,3b), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(21,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(22,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(23,HX_("direction__fromC",1a,64,c6,4b), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(24,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(25,HX_("lang__fromC",4b,24,00,52), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(26,HX_("threadId__fromC",d4,d1,81,79), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(27,HX_("text__fromC",6c,43,1b,7f), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
- }
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/Client.cpp b/Sources/c_snikket/src/snikket/Client.cpp
deleted file mode 100644
index e21e20d..0000000
--- a/Sources/c_snikket/src/snikket/Client.cpp
+++ /dev/null
@@ -1,5481 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_Date
-#include <Date.h>
-#endif
-#ifndef INCLUDED_Lambda
-#include <Lambda.h>
-#endif
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
-#ifndef INCLUDED_Std
-#include <Std.h>
-#endif
-#ifndef INCLUDED_StringTools
-#include <StringTools.h>
-#endif
-#ifndef INCLUDED__HaxeCBridge_Internal
-#include <_HaxeCBridge/Internal.h>
-#endif
-#ifndef INCLUDED_cpp_Int64Map
-#include <cpp/Int64Map.h>
-#endif
-#ifndef INCLUDED_cpp__NativeString_NativeString_Impl_
-#include <cpp/_NativeString/NativeString_Impl_.h>
-#endif
-#ifndef INCLUDED_haxe_Exception
-#include <haxe/Exception.h>
-#endif
-#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
-#ifndef INCLUDED_haxe_crypto_Base64
-#include <haxe/crypto/Base64.h>
-#endif
-#ifndef INCLUDED_haxe_ds_Either
-#include <haxe/ds/Either.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_Input
-#include <haxe/io/Input.h>
-#endif
-#ifndef INCLUDED_sha_Hash
-#include <sha/Hash.h>
-#endif
-#ifndef INCLUDED_sha_SHA256
-#include <sha/SHA256.h>
-#endif
-#ifndef INCLUDED_snikket_AttachmentSource
-#include <snikket/AttachmentSource.h>
-#endif
-#ifndef INCLUDED_snikket_AvailableChat
-#include <snikket/AvailableChat.h>
-#endif
-#ifndef INCLUDED_snikket_Caps
-#include <snikket/Caps.h>
-#endif
-#ifndef INCLUDED_snikket_Channel
-#include <snikket/Channel.h>
-#endif
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
-#endif
-#ifndef INCLUDED_snikket_ChatAttachment
-#include <snikket/ChatAttachment.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#include <snikket/ChatMessageBuilder.h>
-#endif
-#ifndef INCLUDED_snikket_Client
-#include <snikket/Client.h>
-#endif
-#ifndef INCLUDED_snikket_Date
-#include <snikket/Date.h>
-#endif
-#ifndef INCLUDED_snikket_DirectChat
-#include <snikket/DirectChat.h>
-#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_EventHandler
-#include <snikket/EventHandler.h>
-#endif
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
-#endif
-#ifndef INCLUDED_snikket_GenericStream
-#include <snikket/GenericStream.h>
-#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
-#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
-#endif
-#ifndef INCLUDED_snikket_Identity
-#include <snikket/Identity.h>
-#endif
-#ifndef INCLUDED_snikket_IqRequestType
-#include <snikket/IqRequestType.h>
-#endif
-#ifndef INCLUDED_snikket_IqResult
-#include <snikket/IqResult.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Message
-#include <snikket/Message.h>
-#endif
-#ifndef INCLUDED_snikket_MessageStanza
-#include <snikket/MessageStanza.h>
-#endif
-#ifndef INCLUDED_snikket_MessageSync
-#include <snikket/MessageSync.h>
-#endif
-#ifndef INCLUDED_snikket_ModerationAction
-#include <snikket/ModerationAction.h>
-#endif
-#ifndef INCLUDED_snikket_Participant
-#include <snikket/Participant.h>
-#endif
-#ifndef INCLUDED_snikket_Persistence
-#include <snikket/Persistence.h>
-#endif
-#ifndef INCLUDED_snikket_Presence
-#include <snikket/Presence.h>
-#endif
-#ifndef INCLUDED_snikket_PubsubEvent
-#include <snikket/PubsubEvent.h>
-#endif
-#ifndef INCLUDED_snikket_ReactionUpdate
-#include <snikket/ReactionUpdate.h>
-#endif
-#ifndef INCLUDED_snikket_SerializedChat
-#include <snikket/SerializedChat.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket__Util_Util_Fields_
-#include <snikket/_Util/Util_Fields_.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_IncomingProposedSession
-#include <snikket/jingle/IncomingProposedSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_InitiatedSession
-#include <snikket/jingle/InitiatedSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStream
-#include <snikket/jingle/MediaStream.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStreamTrack
-#include <snikket/jingle/MediaStreamTrack.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Session
-#include <snikket/jingle/Session.h>
-#endif
-#ifndef INCLUDED_snikket_persistence_Dummy
-#include <snikket/persistence/Dummy.h>
-#endif
-#ifndef INCLUDED_snikket_queries_BlocklistGet
-#include <snikket/queries/BlocklistGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_BoB
-#include <snikket/queries/BoB.h>
-#endif
-#ifndef INCLUDED_snikket_queries_DiscoInfoGet
-#include <snikket/queries/DiscoInfoGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_DiscoItemsGet
-#include <snikket/queries/DiscoItemsGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_ExtDiscoGet
-#include <snikket/queries/ExtDiscoGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
-#endif
-#ifndef INCLUDED_snikket_queries_HttpUploadSlot
-#include <snikket/queries/HttpUploadSlot.h>
-#endif
-#ifndef INCLUDED_snikket_queries_JabberIqGatewayGet
-#include <snikket/queries/JabberIqGatewayGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_PubsubGet
-#include <snikket/queries/PubsubGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_Push2Disable
-#include <snikket/queries/Push2Disable.h>
-#endif
-#ifndef INCLUDED_snikket_queries_Push2Enable
-#include <snikket/queries/Push2Enable.h>
-#endif
-#ifndef INCLUDED_snikket_queries_RosterGet
-#include <snikket/queries/RosterGet.h>
-#endif
-#ifndef INCLUDED_snikket_queries_VcardTempGet
-#include <snikket/queries/VcardTempGet.h>
-#endif
-#ifndef INCLUDED_snikket_streams_XmppStropheStream
-#include <snikket/streams/XmppStropheStream.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
-#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_ChunkObject
-#include <tink/chunk/ChunkObject.h>
-#endif
-#ifndef INCLUDED_tink_core_LinkObject
-#include <tink/core/LinkObject.h>
-#endif
-#ifndef INCLUDED_tink_core_NamedWith
-#include <tink/core/NamedWith.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_http_Fetch
-#include <tink/http/Fetch.h>
-#endif
-#ifndef INCLUDED_tink_http_Header
-#include <tink/http/Header.h>
-#endif
-#ifndef INCLUDED_tink_http_HeaderField
-#include <tink/http/HeaderField.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_RealSourceTools
-#include <tink/io/RealSourceTools.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_streams_Conclusion
-#include <tink/streams/Conclusion.h>
-#endif
-#ifndef INCLUDED_tink_streams_Generator
-#include <tink/streams/Generator.h>
-#endif
-#ifndef INCLUDED_tink_streams_Handled
-#include <tink/streams/Handled.h>
-#endif
-#ifndef INCLUDED_tink_streams_StreamBase
-#include <tink/streams/StreamBase.h>
-#endif
-#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>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_105_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",105,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_109_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",109,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_115_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",115,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_126_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",126,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_121_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",121,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_136_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",136,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_131_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",131,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_166_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",166,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_141_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",141,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_179_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",179,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_190_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",190,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_199_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",199,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_197_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",197,0x180249e1)
-static const ::String _hx_array_data_7c06fe3c_24[] = {
- HX_("image/png",b5,cc,c1,16),
-};
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_297_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",297,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_307_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",307,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_301_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",301,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_326_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",326,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_328_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",328,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_340_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",340,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_392_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",392,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_395_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",395,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_422_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",422,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_437_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",437,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_460_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",460,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_476_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",476,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_483_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",483,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_497_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",497,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_488_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",488,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_515_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",515,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_523_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",523,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_519_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",519,0x180249e1)
-HX_DEFINE_STACK_FRAME(_hx_pos_ead56881d4bbcaca_51_new,"snikket.Client","new",0x69246d2e,"snikket.Client.new","snikket/Client.hx",51,0x180249e1)
-static const ::String _hx_array_data_7c06fe3c_45[] = {
- HX_("http://jabber.org/protocol/disco#info",cb,2b,7f,0b),HX_("http://jabber.org/protocol/caps",95,d0,90,e2),HX_("urn:xmpp:avatar:metadata+notify",e0,89,c6,db),HX_("http://jabber.org/protocol/nick+notify",fd,dd,65,10),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),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_319_set_sendAvailable__fromC,"snikket.Client","set_sendAvailable__fromC",0xde92a6a7,"snikket.Client.set_sendAvailable__fromC","HaxeCBridge.hx",319,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_556_start,"snikket.Client","start",0x37d760b0,"snikket.Client.start","snikket/Client.hx",556,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_557_start,"snikket.Client","start",0x37d760b0,"snikket.Client.start","snikket/Client.hx",557,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_564_start,"snikket.Client","start",0x37d760b0,"snikket.Client.start","snikket/Client.hx",564,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_555_start,"snikket.Client","start",0x37d760b0,"snikket.Client.start","snikket/Client.hx",555,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_553_start,"snikket.Client","start",0x37d760b0,"snikket.Client.start","snikket/Client.hx",553,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_600_startOffline,"snikket.Client","startOffline",0x5e9bcc13,"snikket.Client.startOffline","snikket/Client.hx",600,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_595_startOffline,"snikket.Client","startOffline",0x5e9bcc13,"snikket.Client.startOffline","snikket/Client.hx",595,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_586_startOffline,"snikket.Client","startOffline",0x5e9bcc13,"snikket.Client.startOffline","snikket/Client.hx",586,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_581_startOffline,"snikket.Client","startOffline",0x5e9bcc13,"snikket.Client.startOffline","snikket/Client.hx",581,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_startOffline__fromC,"snikket.Client","startOffline__fromC",0x5d609cc6,"snikket.Client.startOffline__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_startOffline__fromC,"snikket.Client","startOffline__fromC",0x5d609cc6,"snikket.Client.startOffline__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_625_logout,"snikket.Client","logout",0xfb11ce7c,"snikket.Client.logout","snikket/Client.hx",625,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_621_logout,"snikket.Client","logout",0xfb11ce7c,"snikket.Client.logout","snikket/Client.hx",621,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_637_usePassword,"snikket.Client","usePassword",0x35ea4550,"snikket.Client.usePassword","snikket/Client.hx",637,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_646_accountId,"snikket.Client","accountId",0x98c7ad36,"snikket.Client.accountId","snikket/Client.hx",646,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_655_displayName,"snikket.Client","displayName",0xc4012c7b,"snikket.Client.displayName","snikket/Client.hx",655,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_673_setDisplayName,"snikket.Client","setDisplayName",0x10b7671d,"snikket.Client.setDisplayName","snikket/Client.hx",673,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_663_setDisplayName,"snikket.Client","setDisplayName",0x10b7671d,"snikket.Client.setDisplayName","snikket/Client.hx",663,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_677_updateDisplayName,"snikket.Client","updateDisplayName",0x01ffe772,"snikket.Client.updateDisplayName","snikket/Client.hx",677,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_699_onConnected,"snikket.Client","onConnected",0x5848e078,"snikket.Client.onConnected","snikket/Client.hx",699,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_716_onConnected,"snikket.Client","onConnected",0x5848e078,"snikket.Client.onConnected","snikket/Client.hx",716,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_705_onConnected,"snikket.Client","onConnected",0x5848e078,"snikket.Client.onConnected","snikket/Client.hx",705,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_703_onConnected,"snikket.Client","onConnected",0x5848e078,"snikket.Client.onConnected","snikket/Client.hx",703,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_685_onConnected,"snikket.Client","onConnected",0x5848e078,"snikket.Client.onConnected","snikket/Client.hx",685,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_754_prepareAttachment,"snikket.Client","prepareAttachment",0xbeef9598,"snikket.Client.prepareAttachment","snikket/Client.hx",754,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_756_prepareAttachment,"snikket.Client","prepareAttachment",0xbeef9598,"snikket.Client.prepareAttachment","snikket/Client.hx",756,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_759_prepareAttachment,"snikket.Client","prepareAttachment",0xbeef9598,"snikket.Client.prepareAttachment","snikket/Client.hx",759,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_753_prepareAttachment,"snikket.Client","prepareAttachment",0xbeef9598,"snikket.Client.prepareAttachment","snikket/Client.hx",753,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_prepareAttachment__fromC,"snikket.Client","prepareAttachment__fromC",0x503d3de1,"snikket.Client.prepareAttachment__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_prepareAttachment__fromC,"snikket.Client","prepareAttachment__fromC",0x503d3de1,"snikket.Client.prepareAttachment__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_776_prepareAttachmentFor,"snikket.Client","prepareAttachmentFor",0xe1e97851,"snikket.Client.prepareAttachmentFor","snikket/Client.hx",776,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_781_prepareAttachmentFor,"snikket.Client","prepareAttachmentFor",0xe1e97851,"snikket.Client.prepareAttachmentFor","snikket/Client.hx",781,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_782_prepareAttachmentFor,"snikket.Client","prepareAttachmentFor",0xe1e97851,"snikket.Client.prepareAttachmentFor","snikket/Client.hx",782,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_769_prepareAttachmentFor,"snikket.Client","prepareAttachmentFor",0xe1e97851,"snikket.Client.prepareAttachmentFor","snikket/Client.hx",769,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_797_getChats,"snikket.Client","getChats",0x5488e697,"snikket.Client.getChats","snikket/Client.hx",797,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_250_getChats__fromC,"snikket.Client","getChats__fromC",0x4cad9ac2,"snikket.Client.getChats__fromC","HaxeCBridge.hx",250,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_810_findAvailableChats,"snikket.Client","findAvailableChats",0x877a8d1d,"snikket.Client.findAvailableChats","snikket/Client.hx",810,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_812_findAvailableChats,"snikket.Client","findAvailableChats",0x877a8d1d,"snikket.Client.findAvailableChats","snikket/Client.hx",812,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_809_findAvailableChats,"snikket.Client","findAvailableChats",0x877a8d1d,"snikket.Client.findAvailableChats","snikket/Client.hx",809,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_806_findAvailableChats,"snikket.Client","findAvailableChats",0x877a8d1d,"snikket.Client.findAvailableChats","snikket/Client.hx",806,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_862_findAvailableChats,"snikket.Client","findAvailableChats",0x877a8d1d,"snikket.Client.findAvailableChats","snikket/Client.hx",862,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_findAvailableChats__fromC,"snikket.Client","findAvailableChats__fromC",0x704470fc,"snikket.Client.findAvailableChats__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_findAvailableChats__fromC,"snikket.Client","findAvailableChats__fromC",0x704470fc,"snikket.Client.findAvailableChats__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_891_startChat,"snikket.Client","startChat",0x6a2603a8,"snikket.Client.startChat","snikket/Client.hx",891,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_925_getChat,"snikket.Client","getChat",0x441c2a5c,"snikket.Client.getChat","snikket/Client.hx",925,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_931_moderateMessage,"snikket.Client","moderateMessage",0xa3213212,"snikket.Client.moderateMessage","snikket/Client.hx",931,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_929_moderateMessage,"snikket.Client","moderateMessage",0xa3213212,"snikket.Client.moderateMessage","snikket/Client.hx",929,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_946_getDirectChat,"snikket.Client","getDirectChat",0x348a6525,"snikket.Client.getDirectChat","snikket/Client.hx",946,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_999_enablePush,"snikket.Client","enablePush",0xb901a2ef,"snikket.Client.enablePush","snikket/Client.hx",999,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_enablePush__fromC,"snikket.Client","enablePush__fromC",0x9c5b996a,"snikket.Client.enablePush__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1031_updatePushIfEnabled,"snikket.Client","updatePushIfEnabled",0x5fd409ef,"snikket.Client.updatePushIfEnabled","snikket/Client.hx",1031,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1042_addPasswordNeededListener,"snikket.Client","addPasswordNeededListener",0x82818693,"snikket.Client.addPasswordNeededListener","snikket/Client.hx",1042,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1041_addPasswordNeededListener,"snikket.Client","addPasswordNeededListener",0x82818693,"snikket.Client.addPasswordNeededListener","snikket/Client.hx",1041,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addPasswordNeededListener__fromC,"snikket.Client","addPasswordNeededListener__fromC",0xf03f3246,"snikket.Client.addPasswordNeededListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addPasswordNeededListener__fromC,"snikket.Client","addPasswordNeededListener__fromC",0xf03f3246,"snikket.Client.addPasswordNeededListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1054_addStatusOnlineListener,"snikket.Client","addStatusOnlineListener",0x143d9788,"snikket.Client.addStatusOnlineListener","snikket/Client.hx",1054,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addStatusOnlineListener__fromC,"snikket.Client","addStatusOnlineListener__fromC",0x326c59f1,"snikket.Client.addStatusOnlineListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addStatusOnlineListener__fromC,"snikket.Client","addStatusOnlineListener__fromC",0x326c59f1,"snikket.Client.addStatusOnlineListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1066_addStatusOfflineListener,"snikket.Client","addStatusOfflineListener",0xa2febff6,"snikket.Client.addStatusOfflineListener","snikket/Client.hx",1066,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addStatusOfflineListener__fromC,"snikket.Client","addStatusOfflineListener__fromC",0xe34d3b43,"snikket.Client.addStatusOfflineListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addStatusOfflineListener__fromC,"snikket.Client","addStatusOfflineListener__fromC",0xe34d3b43,"snikket.Client.addStatusOfflineListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1078_addConnectionFailedListener,"snikket.Client","addConnectionFailedListener",0x4e1f941e,"snikket.Client.addConnectionFailedListener","snikket/Client.hx",1078,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addConnectionFailedListener__fromC,"snikket.Client","addConnectionFailedListener__fromC",0x9290bc1b,"snikket.Client.addConnectionFailedListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addConnectionFailedListener__fromC,"snikket.Client","addConnectionFailedListener__fromC",0x9290bc1b,"snikket.Client.addConnectionFailedListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1091_addTlsCheckListener,"snikket.Client","addTlsCheckListener",0x4f85a170,"snikket.Client.addTlsCheckListener","snikket/Client.hx",1091,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1090_addTlsCheckListener,"snikket.Client","addTlsCheckListener",0x4f85a170,"snikket.Client.addTlsCheckListener","snikket/Client.hx",1090,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addTlsCheckListener__fromC,"snikket.Client","addTlsCheckListener__fromC",0x0bdedd09,"snikket.Client.addTlsCheckListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addTlsCheckListener__fromC,"snikket.Client","addTlsCheckListener__fromC",0x0bdedd09,"snikket.Client.addTlsCheckListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1114_addChatMessageListener,"snikket.Client","addChatMessageListener",0xff8d07b4,"snikket.Client.addChatMessageListener","snikket/Client.hx",1114,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addChatMessageListener__fromC,"snikket.Client","addChatMessageListener__fromC",0xc5968745,"snikket.Client.addChatMessageListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addChatMessageListener__fromC,"snikket.Client","addChatMessageListener__fromC",0xc5968745,"snikket.Client.addChatMessageListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1128_addSyncMessageListener,"snikket.Client","addSyncMessageListener",0xf5301791,"snikket.Client.addSyncMessageListener","snikket/Client.hx",1128,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addSyncMessageListener__fromC,"snikket.Client","addSyncMessageListener__fromC",0x6f8fdd08,"snikket.Client.addSyncMessageListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addSyncMessageListener__fromC,"snikket.Client","addSyncMessageListener__fromC",0x6f8fdd08,"snikket.Client.addSyncMessageListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1137_addChatsUpdatedListener,"snikket.Client","addChatsUpdatedListener",0xed116e03,"snikket.Client.addChatsUpdatedListener","snikket/Client.hx",1137,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addChatsUpdatedListener__fromC,"snikket.Client","addChatsUpdatedListener__fromC",0x109c18d6,"snikket.Client.addChatsUpdatedListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addChatsUpdatedListener__fromC,"snikket.Client","addChatsUpdatedListener__fromC",0x109c18d6,"snikket.Client.addChatsUpdatedListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1149_addCallRingListener,"snikket.Client","addCallRingListener",0xdc0d9f11,"snikket.Client.addCallRingListener","snikket/Client.hx",1149,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addCallRingListener__fromC,"snikket.Client","addCallRingListener__fromC",0x01ba4588,"snikket.Client.addCallRingListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addCallRingListener__fromC,"snikket.Client","addCallRingListener__fromC",0x01ba4588,"snikket.Client.addCallRingListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1161_addCallRetractListener,"snikket.Client","addCallRetractListener",0x2db0b2e8,"snikket.Client.addCallRetractListener","snikket/Client.hx",1161,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addCallRetractListener__fromC,"snikket.Client","addCallRetractListener__fromC",0x424d6a91,"snikket.Client.addCallRetractListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addCallRetractListener__fromC,"snikket.Client","addCallRetractListener__fromC",0x424d6a91,"snikket.Client.addCallRetractListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1173_addCallRingingListener,"snikket.Client","addCallRingingListener",0x568d8519,"snikket.Client.addCallRingingListener","snikket/Client.hx",1173,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addCallRingingListener__fromC,"snikket.Client","addCallRingingListener__fromC",0x8136b080,"snikket.Client.addCallRingingListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addCallRingingListener__fromC,"snikket.Client","addCallRingingListener__fromC",0x8136b080,"snikket.Client.addCallRingingListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1185_addCallUpdateStatusListener,"snikket.Client","addCallUpdateStatusListener",0x0ddac57c,"snikket.Client.addCallUpdateStatusListener","snikket/Client.hx",1185,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addCallUpdateStatusListener__fromC,"snikket.Client","addCallUpdateStatusListener__fromC",0xb893927d,"snikket.Client.addCallUpdateStatusListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addCallUpdateStatusListener__fromC,"snikket.Client","addCallUpdateStatusListener__fromC",0xb893927d,"snikket.Client.addCallUpdateStatusListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1199_addCallMediaListener,"snikket.Client","addCallMediaListener",0x2dfd660b,"snikket.Client.addCallMediaListener","snikket/Client.hx",1199,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addCallMediaListener__fromC,"snikket.Client","addCallMediaListener__fromC",0x3b32b1ce,"snikket.Client.addCallMediaListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addCallMediaListener__fromC,"snikket.Client","addCallMediaListener__fromC",0x3b32b1ce,"snikket.Client.addCallMediaListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1212_addCallTrackListener,"snikket.Client","addCallTrackListener",0xa60d6eb2,"snikket.Client.addCallTrackListener","snikket/Client.hx",1212,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_221_addCallTrackListener__fromC,"snikket.Client","addCallTrackListener__fromC",0xc89c1c07,"snikket.Client.addCallTrackListener__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e44af0c967c6b6e2_252_addCallTrackListener__fromC,"snikket.Client","addCallTrackListener__fromC",0xc89c1c07,"snikket.Client.addCallTrackListener__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1221_setInForeground,"snikket.Client","setInForeground",0x4b9b9598,"snikket.Client.setInForeground","snikket/Client.hx",1221,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1229_setNotInForeground,"snikket.Client","setNotInForeground",0x61bbec2b,"snikket.Client.setNotInForeground","snikket/Client.hx",1229,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1239_fetchMediaByHash,"snikket.Client","fetchMediaByHash",0x227ef9a1,"snikket.Client.fetchMediaByHash","snikket/Client.hx",1239,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1235_fetchMediaByHash,"snikket.Client","fetchMediaByHash",0x227ef9a1,"snikket.Client.fetchMediaByHash","snikket/Client.hx",1235,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1246_fetchMediaByHashOneCounterpart,"snikket.Client","fetchMediaByHashOneCounterpart",0xeea071aa,"snikket.Client.fetchMediaByHashOneCounterpart","snikket/Client.hx",1246,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1252_fetchMediaByHashOneCounterpart,"snikket.Client","fetchMediaByHashOneCounterpart",0xeea071aa,"snikket.Client.fetchMediaByHashOneCounterpart","snikket/Client.hx",1252,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1257_fetchMediaByHashOneCounterpart,"snikket.Client","fetchMediaByHashOneCounterpart",0xeea071aa,"snikket.Client.fetchMediaByHashOneCounterpart","snikket/Client.hx",1257,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1250_fetchMediaByHashOneCounterpart,"snikket.Client","fetchMediaByHashOneCounterpart",0xeea071aa,"snikket.Client.fetchMediaByHashOneCounterpart","snikket/Client.hx",1250,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1261_fetchMediaByHashOneCounterpart,"snikket.Client","fetchMediaByHashOneCounterpart",0xeea071aa,"snikket.Client.fetchMediaByHashOneCounterpart","snikket/Client.hx",1261,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1247_fetchMediaByHashOneCounterpart,"snikket.Client","fetchMediaByHashOneCounterpart",0xeea071aa,"snikket.Client.fetchMediaByHashOneCounterpart","snikket/Client.hx",1247,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1242_fetchMediaByHashOneCounterpart,"snikket.Client","fetchMediaByHashOneCounterpart",0xeea071aa,"snikket.Client.fetchMediaByHashOneCounterpart","snikket/Client.hx",1242,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1266_chatActivity,"snikket.Client","chatActivity",0x128a3a39,"snikket.Client.chatActivity","snikket/Client.hx",1266,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1272_chatActivity,"snikket.Client","chatActivity",0x128a3a39,"snikket.Client.chatActivity","snikket/Client.hx",1272,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1283_sortChats,"snikket.Client","sortChats",0xbd9a9dab,"snikket.Client.sortChats","snikket/Client.hx",1283,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1292_storeMessages,"snikket.Client","storeMessages",0xb2e3dc1b,"snikket.Client.storeMessages","snikket/Client.hx",1292,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1297_sendQuery,"snikket.Client","sendQuery",0x8dcd73ee,"snikket.Client.sendQuery","snikket/Client.hx",1297,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1301_sendStanza,"snikket.Client","sendStanza",0xbca03e4f,"snikket.Client.sendStanza","snikket/Client.hx",1301,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1308_sendPresence,"snikket.Client","sendPresence",0xc1bc7d15,"snikket.Client.sendPresence","snikket/Client.hx",1308,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1309_sendPresence,"snikket.Client","sendPresence",0xc1bc7d15,"snikket.Client.sendPresence","snikket/Client.hx",1309,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1319_getIceServers,"snikket.Client","getIceServers",0xf7e15ac9,"snikket.Client.getIceServers","snikket/Client.hx",1319,0x180249e1)
-static const ::String _hx_array_data_7c06fe3c_200[] = {
- 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_7c06fe3c_201[] = {
- HX_("turn",7d,eb,05,4d),HX_("turns",56,22,28,18),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1317_getIceServers,"snikket.Client","getIceServers",0xf7e15ac9,"snikket.Client.getIceServers","snikket/Client.hx",1317,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1348_discoverServices,"snikket.Client","discoverServices",0x672de159,"snikket.Client.discoverServices","snikket/Client.hx",1348,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1351_discoverServices,"snikket.Client","discoverServices",0x672de159,"snikket.Client.discoverServices","snikket/Client.hx",1351,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1345_discoverServices,"snikket.Client","discoverServices",0x672de159,"snikket.Client.discoverServices","snikket/Client.hx",1345,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1360_notifyMessageHandlers,"snikket.Client","notifyMessageHandlers",0x61a351d5,"snikket.Client.notifyMessageHandlers","snikket/Client.hx",1360,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1369_notifySyncMessageHandlers,"snikket.Client","notifySyncMessageHandlers",0xb236243a,"snikket.Client.notifySyncMessageHandlers","snikket/Client.hx",1369,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1380_rosterGet,"snikket.Client","rosterGet",0xae66bf19,"snikket.Client.rosterGet","snikket/Client.hx",1380,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1378_rosterGet,"snikket.Client","rosterGet",0xae66bf19,"snikket.Client.rosterGet","snikket/Client.hx",1378,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1395_startChatWith,"snikket.Client","startChatWith",0x9e0699ce,"snikket.Client.startChatWith","snikket/Client.hx",1395,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1393_startChatWith,"snikket.Client","startChatWith",0x9e0699ce,"snikket.Client.startChatWith","snikket/Client.hx",1393,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1422_serverBlocked,"snikket.Client","serverBlocked",0xd88870b7,"snikket.Client.serverBlocked","snikket/Client.hx",1422,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1431_bookmarksGet,"snikket.Client","bookmarksGet",0x49f73b0b,"snikket.Client.bookmarksGet","snikket/Client.hx",1431,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1438_bookmarksGet,"snikket.Client","bookmarksGet",0x49f73b0b,"snikket.Client.bookmarksGet","snikket/Client.hx",1438,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1445_bookmarksGet,"snikket.Client","bookmarksGet",0x49f73b0b,"snikket.Client.bookmarksGet","snikket/Client.hx",1445,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1457_bookmarksGet,"snikket.Client","bookmarksGet",0x49f73b0b,"snikket.Client.bookmarksGet","snikket/Client.hx",1457,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1465_bookmarksGet,"snikket.Client","bookmarksGet",0x49f73b0b,"snikket.Client.bookmarksGet","snikket/Client.hx",1465,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1474_bookmarksGet,"snikket.Client","bookmarksGet",0x49f73b0b,"snikket.Client.bookmarksGet","snikket/Client.hx",1474,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1428_bookmarksGet,"snikket.Client","bookmarksGet",0x49f73b0b,"snikket.Client.bookmarksGet","snikket/Client.hx",1428,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1489_sync,"snikket.Client","sync",0x9a1851cd,"snikket.Client.sync","snikket/Client.hx",1489,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1493_sync,"snikket.Client","sync",0x9a1851cd,"snikket.Client.sync","snikket/Client.hx",1493,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1497_onMAMJMI,"snikket.Client","onMAMJMI",0xc3bb101e,"snikket.Client.onMAMJMI","snikket/Client.hx",1497,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1520_doSync,"snikket.Client","doSync",0xbb063778,"snikket.Client.doSync","snikket/Client.hx",1520,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1546_doSync,"snikket.Client","doSync",0xbb063778,"snikket.Client.doSync","snikket/Client.hx",1546,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1549_doSync,"snikket.Client","doSync",0xbb063778,"snikket.Client.doSync","snikket/Client.hx",1549,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1574_doSync,"snikket.Client","doSync",0xbb063778,"snikket.Client.doSync","snikket/Client.hx",1574,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1525_doSync,"snikket.Client","doSync",0xbb063778,"snikket.Client.doSync","snikket/Client.hx",1525,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1539_doSync,"snikket.Client","doSync",0xbb063778,"snikket.Client.doSync","snikket/Client.hx",1539,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1535_doSync,"snikket.Client","doSync",0xbb063778,"snikket.Client.doSync","snikket/Client.hx",1535,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1580_doSync,"snikket.Client","doSync",0xbb063778,"snikket.Client.doSync","snikket/Client.hx",1580,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1510_doSync,"snikket.Client","doSync",0xbb063778,"snikket.Client.doSync","snikket/Client.hx",1510,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1592_pingAllChannels,"snikket.Client","pingAllChannels",0x5c74390d,"snikket.Client.pingAllChannels","snikket/Client.hx",1592,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1599_joinAllChannels,"snikket.Client","joinAllChannels",0xde17fa95,"snikket.Client.joinAllChannels","snikket/Client.hx",1599,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1604_joinAllChannels,"snikket.Client","joinAllChannels",0xde17fa95,"snikket.Client.joinAllChannels","snikket/Client.hx",1604,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_1608_joinAllChannels,"snikket.Client","joinAllChannels",0xde17fa95,"snikket.Client.joinAllChannels","snikket/Client.hx",1608,0x180249e1)
-HX_LOCAL_STACK_FRAME(_hx_pos_ead56881d4bbcaca_51_boot,"snikket.Client","boot",0x8ed41ba4,"snikket.Client.boot","snikket/Client.hx",51,0x180249e1)
-namespace snikket{
-
-void Client_obj::__construct(::String address,::Dynamic persistence){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::Client,_gthis) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_105_new)
-HXLINE( 105) 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, ::snikket::Client,_gthis,::Dynamic,persistence) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_109_new)
-HXLINE( 110) _gthis->token = ( (::String)(data->__Field(HX_("token",f9,82,2b,14),::hx::paccDynamic)) );
-HXLINE( 111) ::Dynamic persistence1 = persistence;
-HXDLIN( 111) ::String _hx_tmp = _gthis->jid->asBare()->asString();
-HXDLIN( 111) ::String _hx_tmp1;
-HXDLIN( 111) ::String tmp = _gthis->stream->clientId;
-HXDLIN( 111) if (::hx::IsNotNull( tmp )) {
-HXLINE( 111) _hx_tmp1 = tmp;
- }
- else {
-HXLINE( 111) _hx_tmp1 = _gthis->jid->resource;
- }
-HXDLIN( 111) ::String _hx_tmp2 = _gthis->displayName();
-HXDLIN( 111) ::snikket::Persistence_obj::storeLogin(persistence1,_hx_tmp,_hx_tmp1,_hx_tmp2,_gthis->token);
-HXLINE( 112) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::snikket::Client,_gthis,::Dynamic,persistence) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_115_new)
-HXLINE( 116) ::Array< ::Dynamic> it = _gthis->chats;
-HXDLIN( 116) bool result = false;
-HXDLIN( 116) {
-HXLINE( 116) int _g = 0;
-HXDLIN( 116) while((_g < it->length)){
-HXLINE( 116) ::snikket::Chat x = it->__get(_g).StaticCast< ::snikket::Chat >();
-HXDLIN( 116) _g = (_g + 1);
-HXDLIN( 116) bool _hx_tmp;
-HXDLIN( 116) if ((x->uiState != 2)) {
-HXLINE( 116) _hx_tmp = x->syncing();
- }
- else {
-HXLINE( 116) _hx_tmp = false;
- }
-HXDLIN( 116) if (_hx_tmp) {
-HXLINE( 116) result = true;
-HXDLIN( 116) goto _hx_goto_0;
- }
- }
- _hx_goto_0:;
- }
-HXDLIN( 116) bool anySyncHappening = result;
-HXLINE( 117) ::Dynamic persistence1 = persistence;
-HXDLIN( 117) ::String _hx_tmp1 = _gthis->accountId();
-HXDLIN( 117) ::Array< unsigned char > _hx_tmp2;
-HXDLIN( 117) if (anySyncHappening) {
-HXLINE( 117) _hx_tmp2 = null();
- }
- else {
-HXLINE( 117) _hx_tmp2 = ( (::Array< unsigned char >)(data->__Field(HX_("sm",9a,64,00,00),::hx::paccDynamic)) );
- }
-HXDLIN( 117) ::snikket::Persistence_obj::storeStreamManagement(persistence1,_hx_tmp1,_hx_tmp2);
-HXLINE( 118) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_4, ::snikket::Client,_gthis,::Dynamic,persistence) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::snikket::Client,_gthis) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage m){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_126_new)
-HXLINE( 126) _gthis->notifyMessageHandlers(m,3);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_121_new)
-HXLINE( 122) ::Dynamic persistence1 = persistence;
-HXLINE( 123) ::String _hx_tmp = _gthis->accountId();
-HXLINE( 122) ::snikket::Persistence_obj::updateMessageStatus(persistence1,_hx_tmp, ::Dynamic(data->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)),1, ::Dynamic(new _hx_Closure_3(_gthis)));
-HXLINE( 128) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_6, ::snikket::Client,_gthis,::Dynamic,persistence) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_5, ::snikket::Client,_gthis) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage m){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_136_new)
-HXLINE( 136) _gthis->notifyMessageHandlers(m,3);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_131_new)
-HXLINE( 132) ::Dynamic persistence1 = persistence;
-HXLINE( 133) ::String _hx_tmp = _gthis->accountId();
-HXLINE( 132) ::snikket::Persistence_obj::updateMessageStatus(persistence1,_hx_tmp, ::Dynamic(data->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)),3, ::Dynamic(new _hx_Closure_5(_gthis)));
-HXLINE( 138) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_18, ::snikket::Client,_gthis,::Dynamic,persistence) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic event){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_7, ::snikket::Client,_gthis) HXARGC(2)
- ::snikket::ChatMessageBuilder _hx_run( ::snikket::ChatMessageBuilder builder, ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_166_new)
-HXLINE( 167) ::snikket::Client _gthis1 = _gthis;
-HXDLIN( 167) ::snikket::Chat chat = _gthis1->getChat(builder->chatId());
-HXLINE( 168) bool message;
-HXDLIN( 168) if (::hx::IsNull( chat )) {
-HXLINE( 168) message = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) != HX_("groupchat",97,1d,c8,e5));
- }
- else {
-HXLINE( 168) message = false;
- }
-HXDLIN( 168) if (message) {
-HXLINE( 168) ::snikket::Client _gthis2 = _gthis;
-HXDLIN( 168) chat = _gthis2->getDirectChat(builder->chatId(),null());
- }
-HXLINE( 169) if (::hx::IsNull( chat )) {
-HXLINE( 169) return builder;
- }
-HXLINE( 170) return chat->prepareIncomingMessage(builder,stanza);
- }
- HX_END_LOCAL_FUNC2(return)
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_141_new)
-HXLINE( 142) ::snikket::Stanza stanza = ( ( ::snikket::Stanza)(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
-HXLINE( 144) if (::hx::IsNotNull( stanza->getChild(HX_("result",dd,68,84,08),HX_("urn:xmpp:mam:2",f5,ef,8c,da)) )) {
-HXLINE( 146) return ::snikket::EventResult_obj::EventUnhandled_dyn();
- }
-HXLINE( 149) ::snikket::JID from;
-HXDLIN( 149) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 149) from = null();
- }
- else {
-HXLINE( 149) from = ::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
- }
-HXLINE( 151) bool _hx_tmp;
-HXDLIN( 151) if ((( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE( 151) _hx_tmp = ::hx::IsNotNull( from );
- }
- else {
-HXLINE( 151) _hx_tmp = false;
- }
-HXDLIN( 151) if (_hx_tmp) {
-HXLINE( 152) ::snikket::Client _gthis1 = _gthis;
-HXDLIN( 152) ::snikket::Chat chat = _gthis1->getChat(from->asBare()->asString());
-HXLINE( 153) ::snikket::Channel channel = ( ( ::snikket::Channel)(::Std_obj::downcast(chat,::hx::ClassOf< ::snikket::Channel >())) );
-HXLINE( 154) if (::hx::IsNotNull( channel )) {
-HXLINE( 154) channel->selfPing(true);
- }
- }
-HXLINE( 157) ::snikket::Stanza fwd = null();
-HXLINE( 158) bool _hx_tmp1;
-HXDLIN( 158) if (::hx::IsNotNull( from )) {
-HXLINE( 158) ::String _hx_tmp2 = from->asBare()->asString();
-HXDLIN( 158) _hx_tmp1 = (_hx_tmp2 == _gthis->accountId());
- }
- else {
-HXLINE( 158) _hx_tmp1 = false;
- }
-HXDLIN( 158) if (_hx_tmp1) {
-HXLINE( 159) ::snikket::Stanza carbon = stanza->getChild(HX_("received",21,45,fd,e2),HX_("urn:xmpp:carbons:2",02,86,9e,df));
-HXLINE( 160) if (::hx::IsNull( carbon )) {
-HXLINE( 160) carbon = stanza->getChild(HX_("sent",58,8d,50,4c),HX_("urn:xmpp:carbons:2",02,86,9e,df));
- }
-HXLINE( 161) if (::hx::IsNotNull( carbon )) {
-HXLINE( 162) ::snikket::Stanza tmp = carbon->getChild(HX_("forwarded",64,f5,9a,17),HX_("urn:xmpp:forward:0",1f,ec,b0,d1));
-HXDLIN( 162) if (::hx::IsNotNull( tmp )) {
-HXLINE( 162) fwd = tmp->getFirstChild();
- }
- else {
-HXLINE( 162) fwd = null();
- }
- }
- }
-HXLINE( 166) ::snikket::Message message = ::snikket::Message_obj::fromStanza(stanza,_gthis->jid, ::Dynamic(new _hx_Closure_7(_gthis)));
-HXLINE( 172) {
-HXLINE( 172) ::snikket::MessageStanza _g = message->parsed;
-HXDLIN( 172) switch((int)(_g->_hx_getIndex())){
- case (int)1: {
-HXLINE( 173) ::snikket::ChatMessage chatMessage = _g->_hx_getObject(0).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 173) {
-HXLINE( 174) {
-HXLINE( 174) int _g1 = 0;
-HXDLIN( 174) ::Array< ::Dynamic> _g2 = chatMessage->inlineHashReferences();
-HXDLIN( 174) while((_g1 < _g2->length)){
-HXLINE( 174) ::snikket::Hash hash = _g2->__get(_g1).StaticCast< ::snikket::Hash >();
-HXDLIN( 174) _g1 = (_g1 + 1);
-HXLINE( 175) _gthis->fetchMediaByHash(::Array_obj< ::Dynamic>::__new(1)->init(0,hash),::Array_obj< ::Dynamic>::__new(1)->init(0,chatMessage->from));
- }
- }
-HXLINE( 177) ::snikket::Client _gthis2 = _gthis;
-HXDLIN( 177) ::snikket::Chat chat1 = _gthis2->getChat(chatMessage->chatId());
-HXLINE( 178) if (::hx::IsNotNull( chat1 )) {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_8, ::snikket::Client,_gthis, ::snikket::Chat,chat1) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage chatMessage){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_179_new)
-HXLINE( 180) int updateChat;
-HXDLIN( 180) if ((chatMessage->versions->length > 1)) {
-HXLINE( 180) updateChat = 1;
- }
- else {
-HXLINE( 180) updateChat = 0;
- }
-HXDLIN( 180) _gthis->notifyMessageHandlers(chatMessage,updateChat);
-HXLINE( 181) bool updateChat1;
-HXDLIN( 181) bool updateChat2;
-HXDLIN( 181) if ((chatMessage->versions->length >= 1)) {
-HXLINE( 181) ::String updateChat3 = chat1->lastMessageId();
-HXDLIN( 181) updateChat2 = (updateChat3 == chatMessage->serverId);
- }
- else {
-HXLINE( 181) updateChat2 = true;
- }
-HXDLIN( 181) if (!(updateChat2)) {
-HXLINE( 181) ::String updateChat4 = chat1->lastMessageId();
-HXDLIN( 181) updateChat1 = (updateChat4 == chatMessage->localId);
- }
- else {
-HXLINE( 181) updateChat1 = true;
- }
-HXDLIN( 181) if (updateChat1) {
-HXLINE( 182) chat1->setLastMessage(chatMessage);
-HXLINE( 183) if ((chatMessage->versions->length < 1)) {
-HXLINE( 183) ::snikket::Chat chat = chat1;
-HXDLIN( 183) int updateChat5;
-HXDLIN( 183) if (chatMessage->isIncoming()) {
-HXLINE( 183) updateChat5 = (chat1->unreadCount() + 1);
- }
- else {
-HXLINE( 183) updateChat5 = 0;
- }
-HXDLIN( 183) chat->setUnreadCount(updateChat5);
- }
-HXLINE( 184) _gthis->chatActivity(chat1,null());
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 179) ::Dynamic updateChat = ::Dynamic(new _hx_Closure_8(_gthis,chat1));
-HXLINE( 187) if (::hx::IsNull( chatMessage->serverId )) {
-HXLINE( 188) updateChat(chatMessage);
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_9, ::Dynamic,updateChat) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_190_new)
-HXLINE( 190) updateChat(stored->__get(0).StaticCast< ::snikket::ChatMessage >());
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 190) _gthis->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,chatMessage), ::Dynamic(new _hx_Closure_9(updateChat)));
- }
- }
- }
- }
- break;
- case (int)2: {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_10, ::snikket::Client,_gthis) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage stored){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_199_new)
-HXLINE( 199) if (::hx::IsNotNull( stored )) {
-HXLINE( 199) _gthis->notifyMessageHandlers(stored,1);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 198) ::snikket::ModerationAction action = _g->_hx_getObject(0).StaticCast< ::snikket::ModerationAction >();
-HXLINE( 199) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->moderateMessage(action), ::Dynamic(new _hx_Closure_10(_gthis)),null());
- }
- break;
- case (int)3: {
-HXLINE( 193) ::snikket::ReactionUpdate update = _g->_hx_getObject(0).StaticCast< ::snikket::ReactionUpdate >();
-HXDLIN( 193) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_11, ::snikket::Client,_gthis) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage stored){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_197_new)
-HXLINE( 197) if (::hx::IsNotNull( stored )) {
-HXLINE( 197) _gthis->notifyMessageHandlers(stored,2);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 194) {
-HXLINE( 194) int _g3 = 0;
-HXDLIN( 194) ::Array< ::Dynamic> _g4 = update->inlineHashReferences();
-HXDLIN( 194) while((_g3 < _g4->length)){
-HXLINE( 194) ::snikket::Hash hash1 = _g4->__get(_g3).StaticCast< ::snikket::Hash >();
-HXDLIN( 194) _g3 = (_g3 + 1);
-HXLINE( 195) _gthis->fetchMediaByHash(::Array_obj< ::Dynamic>::__new(1)->init(0,hash1),::Array_obj< ::Dynamic>::__new(1)->init(0,from));
- }
- }
-HXLINE( 197) ::Dynamic persistence1 = persistence;
-HXDLIN( 197) ::snikket::Persistence_obj::storeReaction(persistence1,_gthis->accountId(),update, ::Dynamic(new _hx_Closure_11(_gthis)));
- }
- }
- break;
- default:{
- }
- }
- }
-HXLINE( 204) ::snikket::Stanza jmiP = stanza->getChild(HX_("propose",fe,fe,e9,f9),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 205) bool _hx_tmp3;
-HXDLIN( 205) if (::hx::IsNotNull( jmiP )) {
-HXLINE( 205) _hx_tmp3 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiP->attr,HX_("id",db,5b,00,00))) ) );
- }
- else {
-HXLINE( 205) _hx_tmp3 = false;
- }
-HXDLIN( 205) if (_hx_tmp3) {
-HXLINE( 206) ::snikket::Client _gthis3 = _gthis;
-HXDLIN( 206) ::snikket::jingle::IncomingProposedSession session = ::snikket::jingle::IncomingProposedSession_obj::__alloc( HX_CTX ,_gthis3,from,( (::String)(::Reflect_obj::field(jmiP->attr,HX_("id",db,5b,00,00))) ));
-HXLINE( 207) ::snikket::Client _gthis4 = _gthis;
-HXDLIN( 207) ::snikket::DirectChat chat2 = _gthis4->getDirectChat(from->asBare()->asString(),null());
-HXLINE( 208) ::Dynamic this1 = chat2->jingleSessions;
-HXDLIN( 208) if (!(( ( ::haxe::ds::StringMap)(this1) )->exists(session->get_sid()))) {
-HXLINE( 209) {
-HXLINE( 209) ::Dynamic this2 = chat2->jingleSessions;
-HXDLIN( 209) ( ( ::haxe::ds::StringMap)(this2) )->set(session->get_sid(),session);
- }
-HXLINE( 210) _gthis->chatActivity(chat2,null());
-HXLINE( 211) session->ring();
- }
- }
-HXLINE( 215) ::snikket::Stanza jmiR = stanza->getChild(HX_("retract",01,e2,b9,fc),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 216) bool _hx_tmp4;
-HXDLIN( 216) if (::hx::IsNotNull( jmiR )) {
-HXLINE( 216) _hx_tmp4 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiR->attr,HX_("id",db,5b,00,00))) ) );
- }
- else {
-HXLINE( 216) _hx_tmp4 = false;
- }
-HXDLIN( 216) if (_hx_tmp4) {
-HXLINE( 217) ::snikket::Client _gthis5 = _gthis;
-HXDLIN( 217) ::snikket::DirectChat chat3 = _gthis5->getDirectChat(from->asBare()->asString(),null());
-HXLINE( 218) ::Dynamic this3 = chat3->jingleSessions;
-HXDLIN( 218) ::Dynamic session1 = ( ( ::haxe::ds::StringMap)(this3) )->get(( (::String)(::Reflect_obj::field(jmiR->attr,HX_("id",db,5b,00,00))) ));
-HXLINE( 219) if (::hx::IsNotNull( session1 )) {
-HXLINE( 220) ::snikket::jingle::Session_obj::retract(session1);
-HXLINE( 221) {
-HXLINE( 221) ::Dynamic this4 = chat3->jingleSessions;
-HXDLIN( 221) ( ( ::haxe::ds::StringMap)(this4) )->remove(::snikket::jingle::Session_obj::get_sid(session1));
- }
- }
- }
-HXLINE( 226) ::snikket::Stanza jmiProFwd;
-HXDLIN( 226) if (::hx::IsNotNull( fwd )) {
-HXLINE( 226) jmiProFwd = fwd->getChild(HX_("proceed",2e,96,4a,f1),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
- }
- else {
-HXLINE( 226) jmiProFwd = null();
- }
-HXLINE( 227) bool _hx_tmp5;
-HXDLIN( 227) if (::hx::IsNotNull( jmiProFwd )) {
-HXLINE( 227) _hx_tmp5 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiProFwd->attr,HX_("id",db,5b,00,00))) ) );
- }
- else {
-HXLINE( 227) _hx_tmp5 = false;
- }
-HXDLIN( 227) if (_hx_tmp5) {
-HXLINE( 228) ::snikket::Client _gthis6 = _gthis;
-HXDLIN( 228) ::snikket::DirectChat chat4 = _gthis6->getDirectChat(::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(fwd->attr,HX_("to",7b,65,00,00))) ))->asBare()->asString(),null());
-HXLINE( 229) ::Dynamic this5 = chat4->jingleSessions;
-HXDLIN( 229) ::Dynamic session2 = ( ( ::haxe::ds::StringMap)(this5) )->get(( (::String)(::Reflect_obj::field(jmiProFwd->attr,HX_("id",db,5b,00,00))) ));
-HXLINE( 230) if (::hx::IsNotNull( session2 )) {
-HXLINE( 231) ::snikket::jingle::Session_obj::retract(session2);
-HXLINE( 232) {
-HXLINE( 232) ::Dynamic this6 = chat4->jingleSessions;
-HXDLIN( 232) ( ( ::haxe::ds::StringMap)(this6) )->remove(::snikket::jingle::Session_obj::get_sid(session2));
- }
- }
- }
-HXLINE( 236) ::snikket::Stanza jmiPro = stanza->getChild(HX_("proceed",2e,96,4a,f1),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 237) bool _hx_tmp6;
-HXDLIN( 237) if (::hx::IsNotNull( jmiPro )) {
-HXLINE( 237) _hx_tmp6 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiPro->attr,HX_("id",db,5b,00,00))) ) );
- }
- else {
-HXLINE( 237) _hx_tmp6 = false;
- }
-HXDLIN( 237) if (_hx_tmp6) {
-HXLINE( 238) ::snikket::Client _gthis7 = _gthis;
-HXDLIN( 238) ::snikket::DirectChat chat5 = _gthis7->getDirectChat(from->asBare()->asString(),null());
-HXLINE( 239) ::Dynamic this7 = chat5->jingleSessions;
-HXDLIN( 239) ::Dynamic session3 = ( ( ::haxe::ds::StringMap)(this7) )->get(( (::String)(::Reflect_obj::field(jmiPro->attr,HX_("id",db,5b,00,00))) ));
-HXLINE( 240) if (::hx::IsNotNull( session3 )) {
-HXLINE( 241) try {
- HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 242) ::Dynamic this8 = chat5->jingleSessions;
-HXDLIN( 242) ::String key = ::snikket::jingle::Session_obj::get_sid(session3);
-HXDLIN( 242) ( ( ::haxe::ds::StringMap)(this8) )->set(key,::snikket::jingle::Session_obj::initiate(session3,stanza));
- } catch( ::Dynamic _hx_e) {
- if (_hx_e.IsClass< ::Dynamic >() ){
- HX_STACK_BEGIN_CATCH
- ::Dynamic _g5 = _hx_e;
-HXLINE( 243) ::haxe::Exception e = ::haxe::Exception_obj::caught(_g5);
-HXLINE( 244) ::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_("snikket.Client",3c,fe,06,7c))
- ->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_("new",60,d0,53,00))
- ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("snikket/Client.hx",e1,49,02,18))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),244)));
- }
- else {
- HX_STACK_DO_THROW(_hx_e);
- }
- }
- }
- }
-HXLINE( 249) ::snikket::Stanza jmiRej = stanza->getChild(HX_("reject",5f,51,85,02),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 250) bool _hx_tmp7;
-HXDLIN( 250) if (::hx::IsNotNull( jmiRej )) {
-HXLINE( 250) _hx_tmp7 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiRej->attr,HX_("id",db,5b,00,00))) ) );
- }
- else {
-HXLINE( 250) _hx_tmp7 = false;
- }
-HXDLIN( 250) if (_hx_tmp7) {
-HXLINE( 251) ::snikket::Client _gthis8 = _gthis;
-HXDLIN( 251) ::snikket::DirectChat chat6 = _gthis8->getDirectChat(from->asBare()->asString(),null());
-HXLINE( 252) ::Dynamic this9 = chat6->jingleSessions;
-HXDLIN( 252) ::Dynamic session4 = ( ( ::haxe::ds::StringMap)(this9) )->get(( (::String)(::Reflect_obj::field(jmiRej->attr,HX_("id",db,5b,00,00))) ));
-HXLINE( 253) if (::hx::IsNotNull( session4 )) {
-HXLINE( 254) ::snikket::jingle::Session_obj::retract(session4);
-HXLINE( 255) {
-HXLINE( 255) ::Dynamic this10 = chat6->jingleSessions;
-HXDLIN( 255) ( ( ::haxe::ds::StringMap)(this10) )->remove(::snikket::jingle::Session_obj::get_sid(session4));
- }
- }
- }
-HXLINE( 259) if ((( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) != HX_("error",c8,cb,29,73))) {
-HXLINE( 260) ::snikket::Stanza chatState = stanza->getChild(null(),HX_("http://jabber.org/protocol/chatstates",8e,6d,41,6d));
-HXLINE( 261) ::Dynamic userState;
-HXDLIN( 261) ::String _g6;
-HXDLIN( 261) if (::hx::IsNotNull( chatState )) {
-HXLINE( 261) _g6 = chatState->name;
- }
- else {
-HXLINE( 261) _g6 = null();
- }
-HXDLIN( 261) if (::hx::IsNull( _g6 )) {
-HXLINE( 261) userState = null();
- }
- else {
-HXLINE( 261) ::String _hx_switch_0 = _g6;
- if ( (_hx_switch_0==HX_("active",c6,41,46,16)) ){
-HXLINE( 261) userState = 2;
-HXDLIN( 261) goto _hx_goto_3;
- }
- if ( (_hx_switch_0==HX_("composing",cf,0a,a5,12)) ){
-HXLINE( 261) userState = 3;
-HXDLIN( 261) goto _hx_goto_3;
- }
- if ( (_hx_switch_0==HX_("gone",5f,94,69,44)) ){
-HXLINE( 261) userState = 0;
-HXDLIN( 261) goto _hx_goto_3;
- }
- if ( (_hx_switch_0==HX_("inactive",6b,17,30,6a)) ){
-HXLINE( 261) userState = 1;
-HXDLIN( 261) goto _hx_goto_3;
- }
- if ( (_hx_switch_0==HX_("paused",ae,40,84,ef)) ){
-HXLINE( 261) userState = 4;
-HXDLIN( 261) goto _hx_goto_3;
- }
- /* default */{
-HXLINE( 261) userState = null();
- }
- _hx_goto_3:;
- }
-HXLINE( 269) if (::hx::IsNotNull( userState )) {
-HXLINE( 270) ::snikket::Client _gthis9 = _gthis;
-HXDLIN( 270) ::snikket::Chat chat7 = _gthis9->getChat(from->asBare()->asString());
-HXLINE( 271) bool _hx_tmp8;
-HXDLIN( 271) if (::hx::IsNotNull( chat7 )) {
-HXLINE( 271) _hx_tmp8 = !(chat7->getParticipantDetails(message->senderId)->isSelf);
- }
- else {
-HXLINE( 271) _hx_tmp8 = true;
- }
-HXDLIN( 271) if (_hx_tmp8) {
-HXLINE( 272) int _g7 = 0;
-HXDLIN( 272) ::Array< ::Dynamic> _g8 = _gthis->chatStateHandlers;
-HXDLIN( 272) while((_g7 < _g8->length)){
-HXLINE( 272) ::Dynamic handler = _g8->__get(_g7);
-HXDLIN( 272) _g7 = (_g7 + 1);
-HXLINE( 273) handler(message->senderId,message->chatId,message->threadId,userState);
- }
- }
- }
- }
-HXLINE( 279) ::snikket::PubsubEvent pubsubEvent = ::snikket::PubsubEvent_obj::fromStanza(stanza);
-HXLINE( 280) bool _hx_tmp9;
-HXDLIN( 280) bool _hx_tmp10;
-HXDLIN( 280) bool _hx_tmp11;
-HXDLIN( 280) if (::hx::IsNotNull( pubsubEvent )) {
-HXLINE( 280) _hx_tmp11 = ::hx::IsNotNull( pubsubEvent->getFrom() );
- }
- else {
-HXLINE( 280) _hx_tmp11 = false;
- }
-HXDLIN( 280) if (_hx_tmp11) {
-HXLINE( 280) _hx_tmp10 = (pubsubEvent->getNode() == HX_("urn:xmpp:avatar:metadata",d4,65,1a,ee));
- }
- else {
-HXLINE( 280) _hx_tmp10 = false;
- }
-HXDLIN( 280) if (_hx_tmp10) {
-HXLINE( 280) _hx_tmp9 = (pubsubEvent->getItems()->length > 0);
- }
- else {
-HXLINE( 280) _hx_tmp9 = false;
- }
-HXDLIN( 280) if (_hx_tmp9) {
-HXLINE( 281) ::snikket::Stanza item = pubsubEvent->getItems()->__get(0).StaticCast< ::snikket::Stanza >();
-HXLINE( 282) ::String avatarSha1Hex = ( (::String)(::Reflect_obj::field(pubsubEvent->getItems()->__get(0).StaticCast< ::snikket::Stanza >()->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 283) ::snikket::Hash tmp1 = ::snikket::Hash_obj::fromHex(HX_("sha-1",90,a8,1c,7c),avatarSha1Hex);
-HXDLIN( 283) ::Array< unsigned char > avatarSha1;
-HXDLIN( 283) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 283) avatarSha1 = tmp1->hash;
- }
- else {
-HXLINE( 283) avatarSha1 = null();
- }
-HXLINE( 284) ::snikket::Stanza metadata = item->getChild(HX_("metadata",6f,e7,19,40),HX_("urn:xmpp:avatar:metadata",d4,65,1a,ee));
-HXLINE( 285) ::Array< ::String > mime = ::Array_obj< ::String >::fromData( _hx_array_data_7c06fe3c_24,1);
-HXLINE( 286) if (::hx::IsNotNull( metadata )) {
-HXLINE( 287) ::snikket::Stanza info = metadata->getChild(HX_("info",6e,38,bb,45),null());
-HXLINE( 288) bool _hx_tmp12;
-HXDLIN( 288) if (::hx::IsNotNull( info )) {
-HXLINE( 288) _hx_tmp12 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(info->attr,HX_("type",ba,f2,08,4d))) ) );
- }
- else {
-HXLINE( 288) _hx_tmp12 = false;
- }
-HXDLIN( 288) if (_hx_tmp12) {
-HXLINE( 289) mime[0] = ( (::String)(::Reflect_obj::field(info->attr,HX_("type",ba,f2,08,4d))) );
- }
- }
-HXLINE( 292) if (::hx::IsNotNull( avatarSha1 )) {
- HX_BEGIN_LOCAL_FUNC_S6(::hx::LocalFunc,_hx_Closure_14, ::snikket::DirectChat,chat8, ::snikket::Client,_gthis,::Array< ::String >,mime,::String,avatarSha1Hex, ::snikket::PubsubEvent,pubsubEvent,::Dynamic,persistence) HXARGC(1)
- void _hx_run(bool has){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_297_new)
-HXLINE( 297) if (has) {
-HXLINE( 298) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat8));
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_13, ::snikket::Client,_gthis, ::snikket::DirectChat,chat8,::Array< ::String >,mime,::Dynamic,persistence, ::snikket::queries::PubsubGet,pubsubGet1) HXARGC(0)
- void _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_12, ::snikket::DirectChat,chat8, ::snikket::Client,_gthis) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_307_new)
-HXLINE( 307) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat8));
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_301_new)
-HXLINE( 302) ::snikket::Stanza item = pubsubGet1->getResult()->__get(0).StaticCast< ::snikket::Stanza >();
-HXLINE( 303) if (::hx::IsNull( item )) {
-HXLINE( 303) return;
- }
-HXLINE( 304) ::snikket::Stanza dataNode = item->getChild(HX_("data",2a,56,63,42),HX_("urn:xmpp:avatar:data",0f,7e,01,4e));
-HXLINE( 305) if (::hx::IsNull( dataNode )) {
-HXLINE( 305) return;
- }
-HXLINE( 306) ::Dynamic persistence1 = persistence;
-HXDLIN( 306) ::String mime1 = mime->__get(0);
-HXDLIN( 306) ::snikket::Persistence_obj::storeMedia(persistence1,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_12(chat8,_gthis)));
- }
- HX_END_LOCAL_FUNC0((void))
-
-HXLINE( 300) ::String pubsubGet = pubsubEvent->getFrom();
-HXDLIN( 300) ::snikket::queries::PubsubGet pubsubGet1 = ::snikket::queries::PubsubGet_obj::__alloc( HX_CTX ,pubsubGet,HX_("urn:xmpp:avatar:data",0f,7e,01,4e),avatarSha1Hex);
-HXLINE( 301) pubsubGet1->onFinished( ::Dynamic(new _hx_Closure_13(_gthis,chat8,mime,persistence,pubsubGet1)));
-HXLINE( 310) _gthis->sendQuery(pubsubGet1);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 293) ::snikket::Client _gthis10 = _gthis;
-HXDLIN( 293) ::snikket::DirectChat chat8 = _gthis10->getDirectChat(::snikket::JID_obj::parse(pubsubEvent->getFrom())->asBare()->asString(),false);
-HXLINE( 294) chat8->setAvatarSha1(avatarSha1);
-HXLINE( 295) ::Dynamic persistence2 = persistence;
-HXDLIN( 295) ::String _hx_tmp13 = _gthis->accountId();
-HXDLIN( 295) ::snikket::Persistence_obj::storeChats(persistence2,_hx_tmp13,::Array_obj< ::Dynamic>::__new(1)->init(0,chat8));
-HXLINE( 296) ::snikket::Persistence_obj::hasMedia(persistence,HX_("sha-1",90,a8,1c,7c),avatarSha1, ::Dynamic(new _hx_Closure_14(chat8,_gthis,mime,avatarSha1Hex,pubsubEvent,persistence)));
- }
- }
-HXLINE( 316) bool _hx_tmp14;
-HXDLIN( 316) bool _hx_tmp15;
-HXDLIN( 316) bool _hx_tmp16;
-HXDLIN( 316) bool _hx_tmp17;
-HXDLIN( 316) if (::hx::IsNotNull( pubsubEvent )) {
-HXLINE( 316) _hx_tmp17 = ::hx::IsNotNull( pubsubEvent->getFrom() );
- }
- else {
-HXLINE( 316) _hx_tmp17 = false;
- }
-HXDLIN( 316) if (_hx_tmp17) {
-HXLINE( 316) ::String _hx_tmp18 = ::snikket::JID_obj::parse(pubsubEvent->getFrom())->asBare()->asString();
-HXDLIN( 316) _hx_tmp16 = (_hx_tmp18 == _gthis->accountId());
- }
- else {
-HXLINE( 316) _hx_tmp16 = false;
- }
-HXDLIN( 316) if (_hx_tmp16) {
-HXLINE( 316) _hx_tmp15 = (pubsubEvent->getNode() == HX_("http://jabber.org/protocol/nick",17,30,dc,e9));
- }
- else {
-HXLINE( 316) _hx_tmp15 = false;
- }
-HXDLIN( 316) if (_hx_tmp15) {
-HXLINE( 316) _hx_tmp14 = (pubsubEvent->getItems()->length > 0);
- }
- else {
-HXLINE( 316) _hx_tmp14 = false;
- }
-HXDLIN( 316) if (_hx_tmp14) {
-HXLINE( 317) ::snikket::Client _gthis11 = _gthis;
-HXDLIN( 317) _gthis11->updateDisplayName(pubsubEvent->getItems()->__get(0).StaticCast< ::snikket::Stanza >()->getChildText(HX_("nick",a3,7b,05,49),HX_("http://jabber.org/protocol/nick",17,30,dc,e9)));
- }
-HXLINE( 320) bool _hx_tmp19;
-HXDLIN( 320) bool _hx_tmp20;
-HXDLIN( 320) bool _hx_tmp21;
-HXDLIN( 320) bool _hx_tmp22;
-HXDLIN( 320) if (::hx::IsNotNull( pubsubEvent )) {
-HXLINE( 320) _hx_tmp22 = ::hx::IsNotNull( pubsubEvent->getFrom() );
- }
- else {
-HXLINE( 320) _hx_tmp22 = false;
- }
-HXDLIN( 320) if (_hx_tmp22) {
-HXLINE( 320) ::String _hx_tmp23 = ::snikket::JID_obj::parse(pubsubEvent->getFrom())->asBare()->asString();
-HXDLIN( 320) _hx_tmp21 = (_hx_tmp23 == _gthis->accountId());
- }
- else {
-HXLINE( 320) _hx_tmp21 = false;
- }
-HXDLIN( 320) if (_hx_tmp21) {
-HXLINE( 320) _hx_tmp20 = (pubsubEvent->getNode() == HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb));
- }
- else {
-HXLINE( 320) _hx_tmp20 = false;
- }
-HXDLIN( 320) if (_hx_tmp20) {
-HXLINE( 320) _hx_tmp19 = (pubsubEvent->getItems()->length > 0);
- }
- else {
-HXLINE( 320) _hx_tmp19 = false;
- }
-HXDLIN( 320) if (_hx_tmp19) {
-HXLINE( 321) int _g9 = 0;
-HXDLIN( 321) ::Array< ::Dynamic> _g10 = pubsubEvent->getItems();
-HXDLIN( 321) while((_g9 < _g10->length)){
-HXLINE( 321) ::snikket::Stanza item1 = _g10->__get(_g9).StaticCast< ::snikket::Stanza >();
-HXDLIN( 321) _g9 = (_g9 + 1);
-HXLINE( 322) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item1->attr,HX_("id",db,5b,00,00))) ) )) {
-HXLINE( 323) ::snikket::Stanza tmp2 = item1->getChild(HX_("displayed",21,17,db,c1),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb));
-HXDLIN( 323) ::snikket::Stanza upTo;
-HXDLIN( 323) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 323) upTo = tmp2->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
- }
- else {
-HXLINE( 323) upTo = null();
- }
-HXLINE( 324) ::snikket::Client _gthis12 = _gthis;
-HXDLIN( 324) ::snikket::Chat chat9 = _gthis12->getChat(( (::String)(::Reflect_obj::field(item1->attr,HX_("id",db,5b,00,00))) ));
-HXLINE( 325) if (::hx::IsNull( chat9 )) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_15) HXARGC(1)
- int _hx_run( ::snikket::Caps caps){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_326_new)
-HXLINE( 326) return 2;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_16, ::snikket::Stanza,upTo) HXARGC(1)
- void _hx_run( ::snikket::Chat chat){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_326_new)
-HXLINE( 326) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(upTo->attr,HX_("id",db,5b,00,00))) );
-HXDLIN( 326) chat->markReadUpToId(_hx_tmp,( (::String)(::Reflect_obj::field(upTo->attr,HX_("by",d7,55,00,00))) ),null());
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 326) ::snikket::Client _gthis13 = _gthis;
-HXDLIN( 326) _gthis13->startChatWith(( (::String)(::Reflect_obj::field(item1->attr,HX_("id",db,5b,00,00))) ), ::Dynamic(new _hx_Closure_15()), ::Dynamic(new _hx_Closure_16(upTo)));
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_17, ::snikket::Client,_gthis,::Dynamic,persistence, ::snikket::Chat,chat9) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_328_new)
-HXLINE( 329) ::Dynamic persistence1 = persistence;
-HXDLIN( 329) ::String _hx_tmp = _gthis->accountId();
-HXDLIN( 329) ::snikket::Persistence_obj::storeChats(persistence1,_hx_tmp,::Array_obj< ::Dynamic>::__new(1)->init(0,chat9));
-HXLINE( 330) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat9));
- }
- HX_END_LOCAL_FUNC0((void))
-
-HXLINE( 328) ::snikket::Chat chat10 = chat9;
-HXDLIN( 328) ::String _hx_tmp24 = ( (::String)(::Reflect_obj::field(upTo->attr,HX_("id",db,5b,00,00))) );
-HXDLIN( 328) chat10->markReadUpToId(_hx_tmp24,( (::String)(::Reflect_obj::field(upTo->attr,HX_("by",d7,55,00,00))) ), ::Dynamic(new _hx_Closure_17(_gthis,persistence,chat9)));
- }
- }
- }
- }
-HXLINE( 337) return ::snikket::EventResult_obj::EventUnhandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_19, ::snikket::Client,_gthis) HXARGC(1)
- ::snikket::IqResult _hx_run( ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_340_new)
-HXLINE( 341) ::snikket::JID from;
-HXDLIN( 341) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 341) from = null();
- }
- else {
-HXLINE( 341) from = ::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
- }
-HXLINE( 342) ::snikket::Stanza jingle = stanza->getChild(HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7));
-HXLINE( 343) ::snikket::Client _gthis1 = _gthis;
-HXDLIN( 343) ::snikket::DirectChat chat = _gthis1->getDirectChat(from->asBare()->asString(),null());
-HXLINE( 344) ::Dynamic this1 = chat->jingleSessions;
-HXDLIN( 344) ::Dynamic session = ( ( ::haxe::ds::StringMap)(this1) )->get(( (::String)(::Reflect_obj::field(jingle->attr,HX_("sid",0e,9f,57,00))) ));
-HXLINE( 346) if ((( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("session-initiate",70,2d,30,f7))) {
-HXLINE( 347) if (::hx::IsNotNull( session )) {
-HXLINE( 348) try {
- HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 349) ::Dynamic this2 = chat->jingleSessions;
-HXDLIN( 349) ::String key = ::snikket::jingle::Session_obj::get_sid(session);
-HXDLIN( 349) ( ( ::haxe::ds::StringMap)(this2) )->set(key,::snikket::jingle::Session_obj::initiate(session,stanza));
- } catch( ::Dynamic _hx_e) {
- if (_hx_e.IsClass< ::Dynamic >() ){
- HX_STACK_BEGIN_CATCH
- ::Dynamic _g = _hx_e;
-HXLINE( 350) ::haxe::Exception e = ::haxe::Exception_obj::caught(_g);
-HXDLIN( 350) {
-HXLINE( 351) ::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_("snikket.Client",3c,fe,06,7c))
- ->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_("new",60,d0,53,00))
- ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("snikket/Client.hx",e1,49,02,18))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),351)));
-HXLINE( 352) {
-HXLINE( 352) ::Dynamic this3 = chat->jingleSessions;
-HXDLIN( 352) ( ( ::haxe::ds::StringMap)(this3) )->remove(::snikket::jingle::Session_obj::get_sid(session));
- }
- }
- }
- else {
- HX_STACK_DO_THROW(_hx_e);
- }
- }
- }
- else {
-HXLINE( 355) ::snikket::jingle::InitiatedSession newSession = ::snikket::jingle::InitiatedSession_obj::fromSessionInitiate(_gthis,stanza);
-HXLINE( 356) {
-HXLINE( 356) ::Dynamic this4 = chat->jingleSessions;
-HXDLIN( 356) ( ( ::haxe::ds::StringMap)(this4) )->set(newSession->get_sid(),newSession);
- }
-HXLINE( 357) _gthis->chatActivity(chat,null());
-HXLINE( 358) newSession->ring();
- }
- }
-HXLINE( 362) bool _hx_tmp;
-HXDLIN( 362) if (::hx::IsNotNull( session )) {
-HXLINE( 362) _hx_tmp = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("session-accept",5f,92,e7,a8));
- }
- else {
-HXLINE( 362) _hx_tmp = false;
- }
-HXDLIN( 362) if (_hx_tmp) {
-HXLINE( 363) try {
- HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 364) ::Dynamic this5 = chat->jingleSessions;
-HXDLIN( 364) ::String key1 = ::snikket::jingle::Session_obj::get_sid(session);
-HXDLIN( 364) ( ( ::haxe::ds::StringMap)(this5) )->set(key1,::snikket::jingle::Session_obj::initiate(session,stanza));
- } catch( ::Dynamic _hx_e) {
- if (_hx_e.IsClass< ::Dynamic >() ){
- HX_STACK_BEGIN_CATCH
- ::Dynamic _g1 = _hx_e;
-HXLINE( 365) ::haxe::Exception e1 = ::haxe::Exception_obj::caught(_g1);
-HXLINE( 366) ::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_("snikket.Client",3c,fe,06,7c))
- ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,e1))
- ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("new",60,d0,53,00))
- ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("snikket/Client.hx",e1,49,02,18))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),366)));
- }
- else {
- HX_STACK_DO_THROW(_hx_e);
- }
- }
- }
-HXLINE( 370) bool _hx_tmp1;
-HXDLIN( 370) if (::hx::IsNotNull( session )) {
-HXLINE( 370) _hx_tmp1 = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("session-terminate",6a,23,dc,12));
- }
- else {
-HXLINE( 370) _hx_tmp1 = false;
- }
-HXDLIN( 370) if (_hx_tmp1) {
-HXLINE( 371) ::snikket::jingle::Session_obj::terminate(session);
-HXLINE( 372) {
-HXLINE( 372) ::Dynamic this6 = chat->jingleSessions;
-HXDLIN( 372) ( ( ::haxe::ds::StringMap)(this6) )->remove(( (::String)(::Reflect_obj::field(jingle->attr,HX_("sid",0e,9f,57,00))) ));
- }
- }
-HXLINE( 375) bool _hx_tmp2;
-HXDLIN( 375) if (::hx::IsNotNull( session )) {
-HXLINE( 375) _hx_tmp2 = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("content-add",cd,a9,a1,10));
- }
- else {
-HXLINE( 375) _hx_tmp2 = false;
- }
-HXDLIN( 375) if (_hx_tmp2) {
-HXLINE( 376) ::snikket::jingle::Session_obj::contentAdd(session,stanza);
- }
-HXLINE( 379) bool _hx_tmp3;
-HXDLIN( 379) if (::hx::IsNotNull( session )) {
-HXLINE( 379) _hx_tmp3 = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("content-accept",dc,ee,cb,f2));
- }
- else {
-HXLINE( 379) _hx_tmp3 = false;
- }
-HXDLIN( 379) if (_hx_tmp3) {
-HXLINE( 380) ::snikket::jingle::Session_obj::contentAccept(session,stanza);
- }
-HXLINE( 383) bool _hx_tmp4;
-HXDLIN( 383) if (::hx::IsNotNull( session )) {
-HXLINE( 383) _hx_tmp4 = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("transport-info",d2,9e,05,1c));
- }
- else {
-HXLINE( 383) _hx_tmp4 = false;
- }
-HXDLIN( 383) if (_hx_tmp4) {
-HXLINE( 384) ::snikket::jingle::Session_obj::transportInfo(session,stanza);
- }
-HXLINE( 388) return ::snikket::IqResult_obj::IqResult_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_20, ::snikket::Client,_gthis) HXARGC(1)
- ::snikket::IqResult _hx_run( ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_392_new)
-HXLINE( 392) return ::snikket::IqResult_obj::IqResultElement(_gthis->caps->discoReply());
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_21, ::snikket::Client,_gthis,::Dynamic,persistence) HXARGC(1)
- ::snikket::IqResult _hx_run( ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_395_new)
-HXLINE( 397) bool _hx_tmp;
-HXDLIN( 397) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 398) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXLINE( 397) _hx_tmp = (_hx_tmp1 != _gthis->jid->domain);
- }
- else {
-HXLINE( 397) _hx_tmp = false;
- }
-HXLINE( 396) if (_hx_tmp) {
-HXLINE( 400) return ::snikket::IqResult_obj::IqNoResult_dyn();
- }
-HXLINE( 403) ::snikket::queries::RosterGet roster = ::snikket::queries::RosterGet_obj::__alloc( HX_CTX ,null());
-HXLINE( 404) roster->handleResponse(stanza);
-HXLINE( 405) ::Array< ::Dynamic> items = roster->getResult();
-HXLINE( 406) if ((items->length == 0)) {
-HXLINE( 406) return ::snikket::IqResult_obj::IqNoResult_dyn();
- }
-HXLINE( 408) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 409) {
-HXLINE( 409) int _g = 0;
-HXDLIN( 409) while((_g < items->length)){
-HXLINE( 409) ::Dynamic item = items->__get(_g);
-HXDLIN( 409) _g = (_g + 1);
-HXLINE( 410) if (::hx::IsNotEq( item->__Field(HX_("subscription",1d,ff,00,36),::hx::paccDynamic),HX_("remove",44,9c,88,04) )) {
-HXLINE( 411) ::snikket::DirectChat chat = _gthis->getDirectChat(( (::String)(item->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ),false);
-HXLINE( 412) chat->updateFromRoster(item);
-HXLINE( 413) chatsToUpdate->push(chat);
- }
- }
- }
-HXLINE( 416) ::Dynamic persistence1 = persistence;
-HXDLIN( 416) ::snikket::Persistence_obj::storeChats(persistence1,_gthis->accountId(),chatsToUpdate);
-HXLINE( 417) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),chatsToUpdate);
-HXLINE( 419) return ::snikket::IqResult_obj::IqResult_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_22, ::snikket::Client,_gthis) HXARGC(1)
- ::snikket::IqResult _hx_run( ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_422_new)
-HXLINE( 424) bool _hx_tmp;
-HXDLIN( 424) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 425) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXLINE( 424) _hx_tmp = (_hx_tmp1 != _gthis->jid->domain);
- }
- else {
-HXLINE( 424) _hx_tmp = false;
- }
-HXLINE( 423) if (_hx_tmp) {
-HXLINE( 427) return ::snikket::IqResult_obj::IqNoResult_dyn();
- }
-HXLINE( 430) {
-HXLINE( 430) int _g = 0;
-HXDLIN( 430) ::Array< ::Dynamic> _g1;
-HXDLIN( 430) ::snikket::Stanza tmp = stanza->getChild(HX_("block",4d,75,fc,b4),HX_("urn:xmpp:blocking",d1,a1,46,c3));
-HXDLIN( 430) ::Array< ::Dynamic> tmp1;
-HXDLIN( 430) if (::hx::IsNotNull( tmp )) {
-HXLINE( 430) tmp1 = tmp->allTags(HX_("item",13,c5,bf,45),null());
- }
- else {
-HXLINE( 430) tmp1 = null();
- }
-HXDLIN( 430) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 430) _g1 = tmp1;
- }
- else {
-HXLINE( 430) _g1 = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN( 430) while((_g < _g1->length)){
-HXLINE( 430) ::snikket::Stanza item = _g1->__get(_g).StaticCast< ::snikket::Stanza >();
-HXDLIN( 430) _g = (_g + 1);
-HXLINE( 431) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) ) )) {
-HXLINE( 431) ::snikket::Client _gthis1 = _gthis;
-HXDLIN( 431) _gthis1->serverBlocked(( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) ));
- }
- }
- }
-HXLINE( 434) return ::snikket::IqResult_obj::IqResult_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_23, ::snikket::Client,_gthis) HXARGC(1)
- ::snikket::IqResult _hx_run( ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_437_new)
-HXLINE( 439) bool _hx_tmp;
-HXDLIN( 439) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 440) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXLINE( 439) _hx_tmp = (_hx_tmp1 != _gthis->jid->domain);
- }
- else {
-HXLINE( 439) _hx_tmp = false;
- }
-HXLINE( 438) if (_hx_tmp) {
-HXLINE( 442) return ::snikket::IqResult_obj::IqNoResult_dyn();
- }
-HXLINE( 445) ::snikket::Stanza tmp = stanza->getChild(HX_("unblock",54,6c,8d,b1),HX_("urn:xmpp:blocking",d1,a1,46,c3));
-HXDLIN( 445) ::Array< ::Dynamic> unblocks;
-HXDLIN( 445) if (::hx::IsNotNull( tmp )) {
-HXLINE( 445) unblocks = tmp->allTags(HX_("item",13,c5,bf,45),null());
- }
- else {
-HXLINE( 445) unblocks = null();
- }
-HXLINE( 446) if (::hx::IsNull( unblocks )) {
-HXLINE( 448) int _g = 0;
-HXDLIN( 448) ::Array< ::Dynamic> _g1 = _gthis->chats;
-HXDLIN( 448) while((_g < _g1->length)){
-HXLINE( 448) ::snikket::Chat chat = _g1->__get(_g).StaticCast< ::snikket::Chat >();
-HXDLIN( 448) _g = (_g + 1);
-HXLINE( 449) if (chat->isBlocked) {
-HXLINE( 449) chat->unblock(false);
- }
- }
- }
- else {
-HXLINE( 452) int _g2 = 0;
-HXDLIN( 452) while((_g2 < unblocks->length)){
-HXLINE( 452) ::snikket::Stanza item = unblocks->__get(_g2).StaticCast< ::snikket::Stanza >();
-HXDLIN( 452) _g2 = (_g2 + 1);
-HXLINE( 453) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) ) )) {
-HXLINE( 453) ::snikket::Client _gthis1 = _gthis;
-HXDLIN( 453) ::snikket::Chat tmp1 = _gthis1->getChat(( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) ));
-HXDLIN( 453) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 453) tmp1->unblock(false);
- }
- }
- }
- }
-HXLINE( 457) return ::snikket::IqResult_obj::IqResult_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_31, ::snikket::Client,_gthis,::Dynamic,persistence) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic event){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_460_new)
-HXLINE( 461) ::snikket::Stanza stanza = ( ( ::snikket::Stanza)(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
-HXLINE( 462) ::snikket::Stanza c = stanza->getChild(HX_("c",63,00,00,00),HX_("http://jabber.org/protocol/caps",95,d0,90,e2));
-HXLINE( 463) ::snikket::Stanza mucUser = stanza->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
-HXLINE( 464) bool _hx_tmp;
-HXDLIN( 464) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 464) _hx_tmp = ::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) );
- }
- else {
-HXLINE( 464) _hx_tmp = false;
- }
-HXDLIN( 464) if (_hx_tmp) {
-HXLINE( 465) ::snikket::JID from = ::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
-HXLINE( 466) ::snikket::Client _gthis1 = _gthis;
-HXDLIN( 466) ::snikket::Chat chat = _gthis1->getChat(from->asBare()->asString());
-HXLINE( 467) if (::hx::IsNull( chat )) {
-HXLINE( 468) ::Dynamic _hx_tmp1 = ::haxe::Log_obj::trace;
-HXDLIN( 468) ::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( 468) _hx_tmp1(_hx_tmp2,::hx::SourceInfo(HX_("snikket/Client.hx",e1,49,02,18),468,HX_("snikket.Client",3c,fe,06,7c),HX_("new",60,d0,53,00)));
-HXLINE( 469) return ::snikket::EventResult_obj::EventUnhandled_dyn();
- }
-HXLINE( 471) if (::hx::IsNull( c )) {
-HXLINE( 472) ::snikket::Chat chat1 = chat;
-HXDLIN( 472) ::String _hx_tmp3 = ::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ))->resource;
-HXDLIN( 472) chat1->setPresence(_hx_tmp3, ::snikket::Presence_obj::__alloc( HX_CTX ,null(),mucUser));
-HXLINE( 473) ::Dynamic persistence1 = persistence;
-HXDLIN( 473) ::String _hx_tmp4 = _gthis->accountId();
-HXDLIN( 473) ::snikket::Persistence_obj::storeChats(persistence1,_hx_tmp4,::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
-HXLINE( 474) if (chat->livePresence()) {
-HXLINE( 474) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
- }
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_24, ::snikket::Client,_gthis, ::snikket::Stanza,mucUser,::Dynamic,persistence, ::snikket::Chat,chat, ::snikket::Stanza,stanza) HXARGC(1)
- ::snikket::Chat _hx_run( ::snikket::Caps caps){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_476_new)
-HXLINE( 477) ::snikket::Chat chat1 = chat;
-HXDLIN( 477) ::String handleCaps = ::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ))->resource;
-HXDLIN( 477) chat1->setPresence(handleCaps, ::snikket::Presence_obj::__alloc( HX_CTX ,caps,mucUser));
-HXLINE( 478) bool handleCaps1;
-HXDLIN( 478) if (::hx::IsNotNull( mucUser )) {
-HXLINE( 478) handleCaps1 = chat->livePresence();
- }
- else {
-HXLINE( 478) handleCaps1 = true;
- }
-HXDLIN( 478) if (handleCaps1) {
-HXLINE( 478) ::Dynamic persistence1 = persistence;
-HXDLIN( 478) ::String handleCaps2 = _gthis->accountId();
-HXDLIN( 478) ::snikket::Persistence_obj::storeChats(persistence1,handleCaps2,::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
- }
-HXLINE( 479) return chat;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_27, ::snikket::Client,_gthis,::Dynamic,persistence, ::Dynamic,handleCaps, ::snikket::Stanza,stanza, ::snikket::Stanza,c) HXARGC(1)
- void _hx_run( ::snikket::Caps caps){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_483_new)
-HXLINE( 483) if (::hx::IsNull( caps )) {
-HXLINE( 484) ::Dynamic this1 = _gthis->pendingCaps;
-HXDLIN( 484) ::Array< ::Dynamic> pending = ( (::Array< ::Dynamic>)(( ( ::haxe::ds::StringMap)(this1) )->get(( (::String)(::Reflect_obj::field(c->attr,HX_("ver",63,e2,59,00))) ))) );
-HXLINE( 485) if (::hx::IsNull( pending )) {
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_26, ::snikket::Client,_gthis,::Dynamic,persistence, ::snikket::queries::DiscoInfoGet,discoGet2, ::snikket::Stanza,c) HXARGC(0)
- void _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_25, ::haxe::ds::StringMap,chatsToUpdate) HXARGC(0)
- ::Dynamic _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_497_new)
-HXLINE( 497) return chatsToUpdate->iterator();
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_488_new)
-HXLINE( 489) ::haxe::ds::StringMap chatsToUpdate = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 490) ::Array< ::Dynamic> handlers;
-HXDLIN( 490) ::Dynamic this1 = _gthis->pendingCaps;
-HXDLIN( 490) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(( ( ::haxe::ds::StringMap)(this1) )->get(( (::String)(::Reflect_obj::field(c->attr,HX_("ver",63,e2,59,00))) ))) );
-HXDLIN( 490) if (::hx::IsNotNull( tmp )) {
-HXLINE( 490) handlers = tmp;
- }
- else {
-HXLINE( 490) handlers = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXLINE( 491) {
-HXLINE( 491) ::Dynamic this2 = _gthis->pendingCaps;
-HXDLIN( 491) ( ( ::haxe::ds::StringMap)(this2) )->remove(( (::String)(::Reflect_obj::field(c->attr,HX_("ver",63,e2,59,00))) ));
- }
-HXLINE( 492) if (::hx::IsNotNull( discoGet2->getResult() )) {
-HXLINE( 492) ::Dynamic persistence1 = persistence;
-HXDLIN( 492) ::snikket::Persistence_obj::storeCaps(persistence1,discoGet2->getResult());
- }
-HXLINE( 493) {
-HXLINE( 493) int _g = 0;
-HXDLIN( 493) while((_g < handlers->length)){
-HXLINE( 493) ::Dynamic handler = handlers->__get(_g);
-HXDLIN( 493) _g = (_g + 1);
-HXLINE( 494) ::snikket::Chat c1 = ( ( ::snikket::Chat)(handler(discoGet2->getResult())) );
-HXLINE( 495) if (c1->livePresence()) {
-HXLINE( 495) chatsToUpdate->set(c1->chatId,c1);
- }
- }
- }
-HXLINE( 497) ::snikket::Client _gthis1 = _gthis;
-HXDLIN( 497) _gthis1->trigger(HX_("chats/update",3d,8e,1d,14),::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_25(chatsToUpdate))))));
- }
- HX_END_LOCAL_FUNC0((void))
-
-HXLINE( 486) {
-HXLINE( 486) ::Dynamic this2 = _gthis->pendingCaps;
-HXDLIN( 486) ::String key = ( (::String)(::Reflect_obj::field(c->attr,HX_("ver",63,e2,59,00))) );
-HXDLIN( 486) ( ( ::haxe::ds::StringMap)(this2) )->set(key,::Array_obj< ::Dynamic>::__new(1)->init(0,handleCaps));
- }
-HXLINE( 487) ::String discoGet = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXDLIN( 487) ::String discoGet1 = (( (::String)(::Reflect_obj::field(c->attr,HX_("node",02,0a,0a,49))) ) + HX_("#",23,00,00,00));
-HXDLIN( 487) ::snikket::queries::DiscoInfoGet discoGet2 = ::snikket::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,discoGet,(discoGet1 + ( (::String)(::Reflect_obj::field(c->attr,HX_("ver",63,e2,59,00))) )));
-HXLINE( 488) discoGet2->onFinished( ::Dynamic(new _hx_Closure_26(_gthis,persistence,discoGet2,c)));
-HXLINE( 499) _gthis->sendQuery(discoGet2);
- }
- else {
-HXLINE( 501) pending->push(handleCaps);
- }
- }
- else {
-HXLINE( 504) handleCaps(caps);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 476) ::Dynamic handleCaps = ::Dynamic(new _hx_Closure_24(_gthis,mucUser,persistence,chat,stanza));
-HXLINE( 482) ::Dynamic persistence2 = persistence;
-HXDLIN( 482) ::snikket::Persistence_obj::getCaps(persistence2,( (::String)(::Reflect_obj::field(c->attr,HX_("ver",63,e2,59,00))) ), ::Dynamic(new _hx_Closure_27(_gthis,persistence,handleCaps,stanza,c)));
- }
-HXLINE( 508) if (from->isBare()) {
-HXLINE( 509) ::String avatarSha1Hex = stanza->findText(HX_("{vcard-temp:x:update}x/photo#",f6,a1,33,28));
-HXLINE( 510) if (::hx::IsNotNull( avatarSha1Hex )) {
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_30, ::snikket::Client,_gthis, ::snikket::JID,from,::Dynamic,persistence, ::snikket::Chat,chat) HXARGC(1)
- void _hx_run(bool has){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_515_new)
-HXLINE( 515) if (has) {
-HXLINE( 516) if (chat->livePresence()) {
-HXLINE( 516) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
- }
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_29, ::snikket::Client,_gthis, ::snikket::queries::VcardTempGet,vcardGet,::Dynamic,persistence, ::snikket::Chat,chat) HXARGC(0)
- void _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_28, ::snikket::Client,_gthis, ::snikket::Chat,chat) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_523_new)
-HXLINE( 523) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_519_new)
-HXLINE( 520) ::Dynamic vcard = vcardGet->getResult();
-HXLINE( 521) if (::hx::IsNull( vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic) )) {
-HXLINE( 521) return;
- }
-HXLINE( 522) ::snikket::Persistence_obj::storeMedia(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_28(_gthis,chat)));
- }
- HX_END_LOCAL_FUNC0((void))
-
-HXLINE( 518) ::snikket::queries::VcardTempGet vcardGet = ::snikket::queries::VcardTempGet_obj::__alloc( HX_CTX ,from);
-HXLINE( 519) vcardGet->onFinished( ::Dynamic(new _hx_Closure_29(_gthis,vcardGet,persistence,chat)));
-HXLINE( 526) _gthis->sendQuery(vcardGet);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 511) ::snikket::Hash tmp = ::snikket::Hash_obj::fromHex(HX_("sha-1",90,a8,1c,7c),avatarSha1Hex);
-HXDLIN( 511) ::Array< unsigned char > avatarSha1;
-HXDLIN( 511) if (::hx::IsNotNull( tmp )) {
-HXLINE( 511) avatarSha1 = tmp->hash;
- }
- else {
-HXLINE( 511) avatarSha1 = null();
- }
-HXLINE( 512) chat->setAvatarSha1(avatarSha1);
-HXLINE( 513) ::Dynamic persistence3 = persistence;
-HXDLIN( 513) ::String _hx_tmp5 = _gthis->accountId();
-HXDLIN( 513) ::snikket::Persistence_obj::storeChats(persistence3,_hx_tmp5,::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
-HXLINE( 514) ::snikket::Persistence_obj::hasMedia(persistence,HX_("sha-1",90,a8,1c,7c),avatarSha1, ::Dynamic(new _hx_Closure_30(_gthis,from,persistence,chat)));
- }
- }
-HXLINE( 531) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
-HXLINE( 534) bool _hx_tmp6;
-HXDLIN( 534) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 534) _hx_tmp6 = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("unavailable",50,e0,29,fd));
- }
- else {
-HXLINE( 534) _hx_tmp6 = false;
- }
-HXDLIN( 534) if (_hx_tmp6) {
-HXLINE( 535) ::snikket::Client _gthis2 = _gthis;
-HXDLIN( 535) ::snikket::Chat chat2 = _gthis2->getChat(::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ))->asBare()->asString());
-HXLINE( 536) if (::hx::IsNull( chat2 )) {
-HXLINE( 537) ::Dynamic _hx_tmp7 = ::haxe::Log_obj::trace;
-HXDLIN( 537) ::String _hx_tmp8 = (HX_("Presence for unknown JID: ",19,ed,d7,3f) + ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
-HXDLIN( 537) _hx_tmp7(_hx_tmp8,::hx::SourceInfo(HX_("snikket/Client.hx",e1,49,02,18),537,HX_("snikket.Client",3c,fe,06,7c),HX_("new",60,d0,53,00)));
-HXLINE( 538) return ::snikket::EventResult_obj::EventUnhandled_dyn();
- }
-HXLINE( 541) chat2->removePresence(::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ))->resource);
-HXLINE( 542) ::Dynamic persistence4 = persistence;
-HXDLIN( 542) ::snikket::Persistence_obj::storeChats(persistence4,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat2));
-HXLINE( 543) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat2));
- }
-HXLINE( 546) return ::snikket::EventResult_obj::EventUnhandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_51_new)
-HXLINE( 986) this->enabledPushData = null();
-HXLINE( 89) this->inSync = false;
-HXLINE( 87) this->pendingCaps = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 86) this->fastCount = null();
-HXLINE( 85) this->token = null();
-HXLINE( 84) this->fastMechanism = null();
-HXLINE( 64) this->caps = ::snikket::Caps_obj::__alloc( HX_CTX ,HX_("https://sdk.snikket.org",d0,c9,43,f0),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::fromData( _hx_array_data_7c06fe3c_45,13),null());
-HXLINE( 62) this->chats = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 59) this->chatStateHandlers = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 58) this->syncMessageHandlers = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 57) this->chatMessageHandlers = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 55) this->sendAvailable = true;
-HXLINE( 97) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 98) ::snikket::_Util::Util_Fields__obj::setupTrace();
-HXLINE( 99) super::__construct();
-HXLINE( 100) this->jid = ::snikket::JID_obj::parse(address);
-HXLINE( 101) this->_displayName = this->jid->node;
-HXLINE( 102) this->persistence = persistence;
-HXLINE( 103) this->stream = ::snikket::streams::XmppStropheStream_obj::__alloc( HX_CTX );
-HXLINE( 104) this->stream->on(HX_("status/online",10,05,0e,d2),this->onConnected_dyn());
-HXLINE( 105) this->stream->on(HX_("status/offline",c6,eb,eb,54), ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 109) this->stream->on(HX_("fast-token",48,5f,c2,26), ::Dynamic(new _hx_Closure_1(_gthis,persistence)));
-HXLINE( 115) this->stream->on(HX_("sm/update",1e,16,63,46), ::Dynamic(new _hx_Closure_2(_gthis,persistence)));
-HXLINE( 121) this->stream->on(HX_("sm/ack",14,b2,12,dd), ::Dynamic(new _hx_Closure_4(_gthis,persistence)));
-HXLINE( 131) this->stream->on(HX_("sm/fail",b3,aa,95,96), ::Dynamic(new _hx_Closure_6(_gthis,persistence)));
-HXLINE( 141) this->stream->on(HX_("message",c7,35,11,9a), ::Dynamic(new _hx_Closure_18(_gthis,persistence)));
-HXLINE( 340) this->stream->onIq(::snikket::IqRequestType_obj::Set_dyn(),HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7), ::Dynamic(new _hx_Closure_19(_gthis)));
-HXLINE( 391) this->stream->onIq(::snikket::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_20(_gthis)));
-HXLINE( 395) this->stream->onIq(::snikket::IqRequestType_obj::Set_dyn(),HX_("query",08,8b,ea,5d),HX_("jabber:iq:roster",47,76,6e,06), ::Dynamic(new _hx_Closure_21(_gthis,persistence)));
-HXLINE( 422) this->stream->onIq(::snikket::IqRequestType_obj::Set_dyn(),HX_("block",4d,75,fc,b4),HX_("urn:xmpp:blocking",d1,a1,46,c3), ::Dynamic(new _hx_Closure_22(_gthis)));
-HXLINE( 437) this->stream->onIq(::snikket::IqRequestType_obj::Set_dyn(),HX_("unblock",54,6c,8d,b1),HX_("urn:xmpp:blocking",d1,a1,46,c3), ::Dynamic(new _hx_Closure_23(_gthis)));
-HXLINE( 460) this->stream->on(HX_("presence",3b,52,d7,66), ::Dynamic(new _hx_Closure_31(_gthis,persistence)));
- }
-
-Dynamic Client_obj::__CreateEmpty() { return new Client_obj; }
-
-void *Client_obj::_hx_vtable = 0;
-
-Dynamic Client_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Client_obj > _hx_result = new Client_obj();
- _hx_result->__construct(inArgs[0],inArgs[1]);
- return _hx_result;
-}
-
-bool Client_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x668a7be8) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x668a7be8;
- } else {
- return inClassId==(int)0x6aca71d1;
- }
-}
-
-void Client_obj::set_sendAvailable__fromC(bool value){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_319_set_sendAvailable__fromC)
-HXDLIN( 319) this->sendAvailable = value;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,set_sendAvailable__fromC,(void))
-
-void Client_obj::start(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4, ::snikket::Client,_gthis) HXARGC(0)
- void _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::snikket::Client,_gthis) HXARGC(1)
- void _hx_run(::Array< unsigned char > sm){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::snikket::Client,_gthis) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_556_start)
-HXLINE( 557) ::Dynamic tmp = data->__Field(HX_("mechanisms",fa,b0,9e,80),::hx::paccDynamic);
-HXDLIN( 557) ::Dynamic tmp1;
-HXDLIN( 557) if (::hx::IsNotNull( tmp )) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- ::Dynamic _hx_run( ::Dynamic mech){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_557_start)
-HXLINE( 557) return ::Dynamic(mech->__Field(HX_("canFast",cc,aa,0d,62),::hx::paccDynamic));
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 557) tmp1 = tmp->__Field(HX_("find",39,d0,bb,43),::hx::paccDynamic)( ::Dynamic(new _hx_Closure_0()));
- }
- else {
-HXLINE( 557) tmp1 = null();
- }
-HXDLIN( 557) ::String _hx_tmp;
-HXDLIN( 557) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 557) _hx_tmp = ( (::String)(tmp1->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) );
- }
- else {
-HXLINE( 557) _hx_tmp = null();
- }
-HXDLIN( 557) _gthis->fastMechanism = _hx_tmp;
-HXLINE( 558) bool _hx_tmp1;
-HXDLIN( 558) if (::hx::IsNotNull( _gthis->token )) {
-HXLINE( 558) if (::hx::IsNull( _gthis->fastMechanism )) {
-HXLINE( 558) _hx_tmp1 = ::hx::IsNotNull( data->__Field(HX_("mechanimsms",cb,6a,49,06),::hx::paccDynamic) );
- }
- else {
-HXLINE( 558) _hx_tmp1 = false;
- }
- }
- else {
-HXLINE( 558) _hx_tmp1 = true;
- }
-HXDLIN( 558) if (_hx_tmp1) {
-HXLINE( 559) ::snikket::Client _gthis1 = _gthis;
-HXDLIN( 559) 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( 561) 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( 558) return null();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::snikket::Client,_gthis,::Array< unsigned char >,sm) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_564_start)
-HXLINE( 565) if (::hx::IsNotNull( _gthis->token )) {
-HXLINE( 566) _gthis->token = null();
-HXLINE( 567) ::snikket::GenericStream _gthis1 = _gthis->stream;
-HXDLIN( 567) ::String _hx_tmp = _gthis->jid->asString();
-HXDLIN( 567) _gthis1->connect(_hx_tmp,sm);
- }
- else {
-HXLINE( 569) ::snikket::GenericStream _gthis2 = _gthis->stream;
-HXDLIN( 569) ::String _hx_tmp1 = _gthis->jid->asString();
-HXDLIN( 569) _gthis2->connect(_hx_tmp1,sm);
- }
-HXLINE( 571) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_555_start)
-HXLINE( 556) _gthis->stream->on(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(new _hx_Closure_1(_gthis)));
-HXLINE( 564) _gthis->stream->on(HX_("auth/fail",25,45,e9,d1), ::Dynamic(new _hx_Closure_2(_gthis,sm)));
-HXLINE( 573) ::snikket::GenericStream _gthis1 = _gthis->stream;
-HXDLIN( 573) ::String _hx_tmp = _gthis->jid->asString();
-HXDLIN( 573) _gthis1->connect(_hx_tmp,sm);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_555_start)
-HXLINE( 555) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 555) ::snikket::Persistence_obj::getStreamManagement(_gthis1,_gthis->accountId(), ::Dynamic(new _hx_Closure_3(_gthis)));
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_553_start)
-HXDLIN( 553) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 554) this->startOffline( ::Dynamic(new _hx_Closure_4(_gthis)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Client_obj,start,(void))
-
-void Client_obj::startOffline( ::Dynamic ready){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::snikket::Client,_gthis, ::Dynamic,ready) HXARGC(4)
- void _hx_run(::String clientId,::String loadedToken,int loadedFastCount,::String displayName){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::snikket::Client,_gthis, ::Dynamic,ready) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> protoChats){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::Client,_gthis, ::Dynamic,ready) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> details){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_600_startOffline)
-HXLINE( 601) {
-HXLINE( 601) int _g = 0;
-HXDLIN( 601) while((_g < details->length)){
-HXLINE( 601) ::Dynamic detail = details->__get(_g);
-HXDLIN( 601) _g = (_g + 1);
-HXLINE( 602) ::snikket::Chat chat = _gthis->getChat(( (::String)(detail->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)) ));
-HXLINE( 603) if (::hx::IsNotNull( chat )) {
-HXLINE( 604) chat->setLastMessage(( ( ::snikket::ChatMessage)(detail->__Field(HX_("message",c7,35,11,9a),::hx::paccDynamic)) ));
-HXLINE( 605) chat->setUnreadCount(( (int)(detail->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic)) ));
- }
- }
- }
-HXLINE( 608) _gthis->sortChats();
-HXLINE( 609) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),_gthis->chats);
-HXLINE( 610) ready();
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_595_startOffline)
-HXLINE( 596) ::snikket::SerializedChat oneProtoChat = null();
-HXLINE( 597) while(true){
-HXLINE( 597) oneProtoChat = protoChats->pop().StaticCast< ::snikket::SerializedChat >();
-HXDLIN( 597) if (!(::hx::IsNotNull( oneProtoChat ))) {
-HXLINE( 597) goto _hx_goto_53;
- }
-HXLINE( 598) ::Array< ::Dynamic> _gthis1 = _gthis->chats;
-HXDLIN( 598) _gthis1->push(oneProtoChat->toChat(_gthis,_gthis->stream,_gthis->persistence));
- }
- _hx_goto_53:;
-HXLINE( 600) ::Dynamic _gthis2 = _gthis->persistence;
-HXDLIN( 600) ::String _hx_tmp = _gthis->accountId();
-HXDLIN( 600) ::snikket::Persistence_obj::getChatsUnreadDetails(_gthis2,_hx_tmp,_gthis->chats, ::Dynamic(new _hx_Closure_0(_gthis,ready)));
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_586_startOffline)
-HXLINE( 587) _gthis->token = loadedToken;
-HXLINE( 588) _gthis->fastCount = loadedFastCount;
-HXLINE( 589) ::String tmp = clientId;
-HXDLIN( 589) ::String _hx_tmp;
-HXDLIN( 589) if (::hx::IsNotNull( tmp )) {
-HXLINE( 589) _hx_tmp = tmp;
- }
- else {
-HXLINE( 589) _hx_tmp = ::snikket::ID_obj::_hx_long();
- }
-HXDLIN( 589) _gthis->stream->clientId = _hx_tmp;
-HXLINE( 590) _gthis->jid = _gthis->jid->withResource(_gthis->stream->clientId);
-HXLINE( 591) bool _hx_tmp1;
-HXDLIN( 591) if (!(_gthis->updateDisplayName(displayName))) {
-HXLINE( 591) _hx_tmp1 = ::hx::IsNull( clientId );
- }
- else {
-HXLINE( 591) _hx_tmp1 = false;
- }
-HXDLIN( 591) if (_hx_tmp1) {
-HXLINE( 592) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 592) ::String _hx_tmp2 = _gthis->jid->asBare()->asString();
-HXDLIN( 592) ::String _gthis2 = _gthis->stream->clientId;
-HXDLIN( 592) ::snikket::Persistence_obj::storeLogin(_gthis1,_hx_tmp2,_gthis2,_gthis->displayName(),null());
- }
-HXLINE( 595) ::Dynamic _gthis3 = _gthis->persistence;
-HXDLIN( 595) ::snikket::Persistence_obj::getChats(_gthis3,_gthis->accountId(), ::Dynamic(new _hx_Closure_1(_gthis,ready)));
- }
- HX_END_LOCAL_FUNC4((void))
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_581_startOffline)
-HXDLIN( 581) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 584) __hxcpp_collect(true);
-HXLINE( 586) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 586) ::snikket::Persistence_obj::getLogin(_hx_tmp,this->accountId(), ::Dynamic(new _hx_Closure_2(_gthis,ready)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,startOffline,(void))
-
-void Client_obj::startOffline__fromC(::cpp::Function< void (void*) > ready,void* ready__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void*) >,ready,void*,ready__context) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_startOffline__fromC)
-HXLINE( 221) ready(ready__context);
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_startOffline__fromC)
-HXDLIN( 252) this->startOffline( ::Dynamic(new _hx_Closure_0(ready,ready__context)));
- }
-
-
-void Client_obj::logout(bool completely){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::Client,_gthis) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_625_logout)
-HXLINE( 625) _gthis->stream->disconnect();
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_621_logout)
-HXDLIN( 621) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 622) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 622) ::snikket::Persistence_obj::removeAccount(_hx_tmp,this->accountId(),completely);
-HXLINE( 623) ::snikket::queries::Push2Disable disable = ::snikket::queries::Push2Disable_obj::__alloc( HX_CTX ,this->jid->asBare()->asString());
-HXLINE( 624) disable->onFinished( ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 627) this->sendQuery(disable);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,logout,(void))
-
-void Client_obj::usePassword(::String password){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_637_usePassword)
-HXDLIN( 637) 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)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,usePassword,(void))
-
-::String Client_obj::accountId(){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_646_accountId)
-HXDLIN( 646) return this->jid->asBare()->asString();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Client_obj,accountId,return )
-
-::String Client_obj::displayName(){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_655_displayName)
-HXDLIN( 655) return this->_displayName;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Client_obj,displayName,return )
-
-void Client_obj::setDisplayName(::String displayName){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- void _hx_run( ::snikket::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_673_setDisplayName)
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_663_setDisplayName)
-HXLINE( 664) bool _hx_tmp;
-HXDLIN( 664) bool _hx_tmp1;
-HXDLIN( 664) if (::hx::IsNotNull( displayName )) {
-HXLINE( 664) _hx_tmp1 = (displayName == HX_("",00,00,00,00));
- }
- else {
-HXLINE( 664) _hx_tmp1 = true;
- }
-HXDLIN( 664) if (!(_hx_tmp1)) {
-HXLINE( 664) _hx_tmp = (displayName == this->displayName());
- }
- else {
-HXLINE( 664) _hx_tmp = true;
- }
-HXDLIN( 664) if (_hx_tmp) {
-HXLINE( 664) return;
- }
-HXLINE( 666) ::snikket::GenericStream _hx_tmp2 = this->stream;
-HXDLIN( 666) _hx_tmp2->sendIq( ::snikket::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),displayName, ::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_0()));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,setDisplayName,(void))
-
-bool Client_obj::updateDisplayName(::String fn){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_677_updateDisplayName)
-HXLINE( 678) bool _hx_tmp;
-HXDLIN( 678) bool _hx_tmp1;
-HXDLIN( 678) if (::hx::IsNotNull( fn )) {
-HXLINE( 678) _hx_tmp1 = (fn == HX_("",00,00,00,00));
- }
- else {
-HXLINE( 678) _hx_tmp1 = true;
- }
-HXDLIN( 678) if (!(_hx_tmp1)) {
-HXLINE( 678) _hx_tmp = (fn == this->displayName());
- }
- else {
-HXLINE( 678) _hx_tmp = true;
- }
-HXDLIN( 678) if (_hx_tmp) {
-HXLINE( 678) return false;
- }
-HXLINE( 679) this->_displayName = fn;
-HXLINE( 680) ::Dynamic _hx_tmp2 = this->persistence;
-HXDLIN( 680) ::String _hx_tmp3 = this->jid->asBare()->asString();
-HXDLIN( 680) ::String tmp = this->stream->clientId;
-HXDLIN( 680) ::String _hx_tmp4;
-HXDLIN( 680) if (::hx::IsNotNull( tmp )) {
-HXLINE( 680) _hx_tmp4 = tmp;
- }
- else {
-HXLINE( 680) _hx_tmp4 = this->jid->resource;
- }
-HXDLIN( 680) ::snikket::Persistence_obj::storeLogin(_hx_tmp2,_hx_tmp3,_hx_tmp4,fn,null());
-HXLINE( 681) this->pingAllChannels(false);
-HXLINE( 682) return true;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,updateDisplayName,return )
-
- ::snikket::EventResult Client_obj::onConnected( ::Dynamic data){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::Client,_gthis) HXARGC(2)
- void _hx_run( ::Dynamic service, ::snikket::Caps caps){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_699_onConnected)
-HXLINE( 699) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 699) ::String _hx_tmp = _gthis->accountId();
-HXDLIN( 699) ::String _hx_tmp1 = ( ( ::snikket::JID)(service->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) )->asString();
-HXDLIN( 699) ::snikket::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, ::snikket::Client,_gthis) HXARGC(0)
- void _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::snikket::Client,_gthis) HXARGC(1)
- void _hx_run(bool syncFinished){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::snikket::Client,_gthis) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> details){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_716_onConnected)
-HXLINE( 717) {
-HXLINE( 717) int _g = 0;
-HXDLIN( 717) while((_g < details->length)){
-HXLINE( 717) ::Dynamic detail = details->__get(_g);
-HXDLIN( 717) _g = (_g + 1);
-HXLINE( 718) ::snikket::Chat chat;
-HXDLIN( 718) ::snikket::Chat tmp = _gthis->getChat(( (::String)(detail->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)) ));
-HXDLIN( 718) if (::hx::IsNotNull( tmp )) {
-HXLINE( 718) chat = tmp;
- }
- else {
-HXLINE( 718) chat = _gthis->getDirectChat(( (::String)(detail->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)) ),false);
- }
-HXLINE( 719) ::String initialLastId = chat->lastMessageId();
-HXLINE( 720) chat->setLastMessage(( ( ::snikket::ChatMessage)(detail->__Field(HX_("message",c7,35,11,9a),::hx::paccDynamic)) ));
-HXLINE( 721) chat->setUnreadCount(( (int)(detail->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic)) ));
-HXLINE( 722) bool _hx_tmp;
-HXDLIN( 722) if (::hx::IsGreater( detail->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic),0 )) {
-HXLINE( 722) _hx_tmp = (initialLastId != chat->lastMessageId());
- }
- else {
-HXLINE( 722) _hx_tmp = false;
- }
-HXDLIN( 722) if (_hx_tmp) {
-HXLINE( 723) _gthis->chatActivity(chat,false);
- }
- }
- }
-HXLINE( 726) _gthis->sortChats();
-HXLINE( 727) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),_gthis->chats);
-HXLINE( 729) if (_gthis->sendAvailable) {
-HXLINE( 731) ::snikket::Client _gthis1 = _gthis;
-HXLINE( 732) ::String _hx_tmp1 = ::snikket::ID_obj::_hx_short();
-HXLINE( 731) _gthis1->sendStanza( ::snikket::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_tmp1)
- ->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( 736) _gthis->sendPresence(null(),null());
-HXLINE( 737) _gthis->joinAllChannels();
- }
-HXLINE( 739) _gthis->trigger(HX_("status/online",10,05,0e,d2), ::Dynamic(::hx::Anon_obj::Create(0)));
-HXLINE( 740) ::haxe::Log_obj::trace(HX_("SYNC: done",c3,a6,82,dd),::hx::SourceInfo(HX_("snikket/Client.hx",e1,49,02,18),740,HX_("snikket.Client",3c,fe,06,7c),HX_("onConnected",aa,c5,39,c5)));
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_705_onConnected)
-HXLINE( 706) if (!(syncFinished)) {
-HXLINE( 707) ::haxe::Log_obj::trace(HX_("SYNC: failed",3e,4e,5e,fa),::hx::SourceInfo(HX_("snikket/Client.hx",e1,49,02,18),707,HX_("snikket.Client",3c,fe,06,7c),HX_("onConnected",aa,c5,39,c5)));
-HXLINE( 708) _gthis->inSync = false;
-HXLINE( 709) _gthis->stream->disconnect();
-HXLINE( 711) return;
- }
-HXLINE( 714) ::haxe::Log_obj::trace(HX_("SYNC: details",21,c5,8e,ac),::hx::SourceInfo(HX_("snikket/Client.hx",e1,49,02,18),714,HX_("snikket.Client",3c,fe,06,7c),HX_("onConnected",aa,c5,39,c5)));
-HXLINE( 715) _gthis->inSync = true;
-HXLINE( 716) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 716) ::String _hx_tmp = _gthis->accountId();
-HXDLIN( 716) ::snikket::Persistence_obj::getChatsUnreadDetails(_gthis1,_hx_tmp,_gthis->chats, ::Dynamic(new _hx_Closure_1(_gthis)));
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_703_onConnected)
-HXLINE( 704) ::haxe::Log_obj::trace(HX_("SYNC: MAM",58,33,e1,36),::hx::SourceInfo(HX_("snikket/Client.hx",e1,49,02,18),704,HX_("snikket.Client",3c,fe,06,7c),HX_("onConnected",aa,c5,39,c5)));
-HXLINE( 705) _gthis->sync( ::Dynamic(new _hx_Closure_2(_gthis)));
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_685_onConnected)
-HXDLIN( 685) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 686) bool _hx_tmp;
-HXDLIN( 686) if (::hx::IsNotNull( data )) {
-HXLINE( 686) _hx_tmp = ::hx::IsNotNull( data->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic) );
- }
- else {
-HXLINE( 686) _hx_tmp = false;
- }
-HXDLIN( 686) if (_hx_tmp) {
-HXLINE( 687) this->jid = ::snikket::JID_obj::parse(( (::String)(data->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ));
-HXLINE( 688) bool _hx_tmp1;
-HXDLIN( 688) if (::hx::IsNull( this->stream->clientId )) {
-HXLINE( 688) _hx_tmp1 = !(this->jid->isBare());
- }
- else {
-HXLINE( 688) _hx_tmp1 = false;
- }
-HXDLIN( 688) if (_hx_tmp1) {
-HXLINE( 688) ::Dynamic _hx_tmp2 = this->persistence;
-HXDLIN( 688) ::String _hx_tmp3 = this->jid->asBare()->asString();
-HXDLIN( 688) ::String _hx_tmp4 = this->jid->resource;
-HXDLIN( 688) ::snikket::Persistence_obj::storeLogin(_hx_tmp2,_hx_tmp3,_hx_tmp4,this->displayName(),null());
- }
- }
-HXLINE( 691) if (( (bool)(data->__Field(HX_("resumed",17,0e,58,6b),::hx::paccDynamic)) )) {
-HXLINE( 692) this->inSync = true;
-HXLINE( 693) this->trigger(HX_("status/online",10,05,0e,d2), ::Dynamic(::hx::Anon_obj::Create(0)));
-HXLINE( 694) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
-HXLINE( 698) this->discoverServices( ::snikket::JID_obj::__alloc( HX_CTX ,null(),this->jid->domain,null(),null()),null(), ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 701) this->rosterGet();
-HXLINE( 702) ::haxe::Log_obj::trace(HX_("SYNC: bookmarks",1c,91,b3,0d),::hx::SourceInfo(HX_("snikket/Client.hx",e1,49,02,18),702,HX_("snikket.Client",3c,fe,06,7c),HX_("onConnected",aa,c5,39,c5)));
-HXLINE( 703) this->bookmarksGet( ::Dynamic(new _hx_Closure_3(_gthis)));
-HXLINE( 745) this->trigger(HX_("session-started",0a,96,19,bc), ::Dynamic(::hx::Anon_obj::Create(0)));
-HXLINE( 747) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,onConnected,return )
-
-void Client_obj::prepareAttachment( ::snikket::AttachmentSource source, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_2, ::snikket::Client,_gthis, ::snikket::AttachmentSource,source, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> services){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_754_prepareAttachment)
-HXLINE( 755) ::sha::SHA256 sha256 = ::sha::SHA256_obj::__alloc( HX_CTX );
-HXLINE( 756) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::sha::SHA256,sha256) HXARGC(1)
- ::tink::streams::Handled _hx_run(::Dynamic chunk){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_756_prepareAttachment)
-HXLINE( 757) ::sha::SHA256 sha2561 = sha256;
-HXDLIN( 757) sha2561->update(::tink::chunk::ChunkObject_obj::toBytes(chunk));
-HXLINE( 758) return ::tink::streams::Handled_obj::Resume_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_1, ::snikket::AttachmentSource,source, ::snikket::Client,_gthis,::Array< ::Dynamic>,services, ::sha::SHA256,sha256, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::tink::streams::Conclusion o){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_759_prepareAttachment)
-HXLINE( 759) if ((o->_hx_getIndex() == 3)) {
-HXLINE( 761) ::snikket::Client _gthis1 = _gthis;
-HXDLIN( 761) ::snikket::AttachmentSource source1 = source;
-HXDLIN( 761) ::Array< ::Dynamic> services1 = services;
-HXDLIN( 761) ::Array< unsigned char > _hx_tmp = sha256->digest()->b;
-HXDLIN( 761) _gthis1->prepareAttachmentFor(source1,services1,::Array_obj< ::Dynamic>::__new(1)->init(0, ::snikket::Hash_obj::__alloc( HX_CTX ,HX_("sha-256",32,dd,04,3b),_hx_tmp)),callback);
- }
- else {
-HXLINE( 763) ::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_("snikket.Client",3c,fe,06,7c))
- ->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_("snikket/Client.hx",e1,49,02,18))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),763)));
-HXLINE( 764) callback(null());
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 756) ::String name = source->name;
-HXDLIN( 756) ::haxe::io::Input input = ::sys::io::File_obj::read(source->path,null());
-HXDLIN( 756) ::Dynamic options = null();
-HXDLIN( 756) if (::hx::IsNull( options )) {
-HXLINE( 756) options = ::Dynamic(::hx::Anon_obj::Create(0));
- }
-HXDLIN( 756) ::Dynamic this1 = ::tink::io::_Worker::Worker_Impl__obj::ensure( ::Dynamic(options->__Field(HX_("worker",7e,30,9e,c9),::hx::paccDynamic)));
-HXDLIN( 756) ::Dynamic _g = options->__Field(HX_("chunkSize",ce,cd,77,9f),::hx::paccDynamic);
-HXDLIN( 756) int this2;
-HXDLIN( 756) if (::hx::IsNull( _g )) {
-HXLINE( 756) this2 = 65536;
- }
- else {
-HXLINE( 756) ::Dynamic v = _g;
-HXDLIN( 756) this2 = ( (int)(v) );
- }
-HXDLIN( 756) ::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( 756) ::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,services,sha256,callback)));
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_753_prepareAttachment)
-HXDLIN( 753) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 754) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 754) ::snikket::Persistence_obj::findServicesWithFeature(_hx_tmp,this->accountId(),HX_("urn:xmpp:http:upload:0",0d,db,46,68), ::Dynamic(new _hx_Closure_2(_gthis,source,callback)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Client_obj,prepareAttachment,(void))
-
-void Client_obj::prepareAttachment__fromC( ::snikket::AttachmentSource source,::cpp::Function< void (void*,void*) > callback,void* callback__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,void*,callback__context,::cpp::Function< void (void* HX_COMMA void*) >,callback) HXARGC(1)
- void _hx_run( ::snikket::ChatAttachment a0){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_prepareAttachment__fromC)
-HXLINE( 221) ::cpp::Function< void (void*,void*) > callback1 = callback;
-HXLINE( 215) ::Dynamic haxeObject = a0;
-HXDLIN( 215) void* ptr = haxeObject.mPtr;
-HXDLIN( 215) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 215) {
-HXLINE( 215) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 215) if (::hx::IsNull( store )) {
-HXLINE( 215) 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( 215) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 215) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) callback1(ptr,callback__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_prepareAttachment__fromC)
-HXDLIN( 252) this->prepareAttachment(source, ::Dynamic(new _hx_Closure_0(callback__context,callback)));
- }
-
-
-void Client_obj::prepareAttachmentFor( ::snikket::AttachmentSource source,::Array< ::Dynamic> services,::Array< ::Dynamic> hashes, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S6(::hx::LocalFunc,_hx_Closure_2, ::snikket::AttachmentSource,source, ::snikket::Client,_gthis,::Array< ::Dynamic>,hashes,::Array< ::Dynamic>,services, ::snikket::queries::HttpUploadSlot,httpUploadSlot, ::Dynamic,callback) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_776_prepareAttachmentFor)
-HXLINE( 777) ::Dynamic slot = httpUploadSlot->getResult();
-HXLINE( 778) if (::hx::IsNull( slot )) {
-HXLINE( 779) ::snikket::Client _gthis1 = _gthis;
-HXDLIN( 779) ::snikket::AttachmentSource source1 = source;
-HXDLIN( 779) ::Array< ::Dynamic> _hx_tmp = services->slice(1,null());
-HXDLIN( 779) _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_ead56881d4bbcaca_781_prepareAttachmentFor)
-HXLINE( 781) ::haxe::Log_obj::trace(HX_("WUT",76,4e,42,00), ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.Client",3c,fe,06,7c))
- ->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_("snikket/Client.hx",e1,49,02,18))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),781)));
-HXDLIN( 781) HX_STACK_DO_THROW(e);
-HXDLIN( 781) return null();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S6(::hx::LocalFunc,_hx_Closure_1, ::snikket::Client,_gthis, ::Dynamic,slot, ::snikket::AttachmentSource,source,::Array< ::Dynamic>,hashes,::Array< ::Dynamic>,services, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::tink::core::Outcome o){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_782_prepareAttachmentFor)
-HXLINE( 782) if ((o->_hx_getIndex() == 0)) {
-HXLINE( 783) ::tink::http::Message res = ( ( ::tink::http::Message)(o->_hx_getObject(0)) );
-HXDLIN( 783) if ((( ( ::tink::http::ResponseHeaderBase)(res->header) )->statusCode == 201)) {
-HXLINE( 784) ::Dynamic callback1 = callback;
-HXDLIN( 784) callback1( ::snikket::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 {
-HXLINE( 786) ::snikket::Client _gthis1 = _gthis;
-HXDLIN( 786) ::snikket::AttachmentSource source1 = source;
-HXDLIN( 786) ::Array< ::Dynamic> _hx_tmp = services->slice(1,null());
-HXDLIN( 786) _gthis1->prepareAttachmentFor(source1,_hx_tmp,hashes,callback);
- }
- }
- else {
-HXLINE( 786) ::snikket::Client _gthis2 = _gthis;
-HXDLIN( 786) ::snikket::AttachmentSource source2 = source;
-HXDLIN( 786) ::Array< ::Dynamic> _hx_tmp1 = services->slice(1,null());
-HXDLIN( 786) _gthis2->prepareAttachmentFor(source2,_hx_tmp1,hashes,callback);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 781) ::Dynamic url = ::tink::_Url::Url_Impl__obj::fromString(( (::String)(slot->__Field(HX_("put",cf,62,55,00),::hx::paccDynamic)) ));
-HXDLIN( 781) ::Array< ::Dynamic> slot1 = ( (::Array< ::Dynamic>)(slot->__Field(HX_("putHeaders",37,9f,1e,a4),::hx::paccDynamic)) );
-HXDLIN( 781) ::String this1 = HX_("Content-Length",fa,f8,b6,65).toLowerCase();
-HXDLIN( 781) ::Array< ::Dynamic> options = slot1->concat(::Array_obj< ::Dynamic>::__new(1)->init(0, ::tink::http::HeaderField_obj::__alloc( HX_CTX ,this1,::tink::http::_Header::HeaderValue_Impl__obj::ofInt(source->size))));
-HXDLIN( 781) ::String name = source->name;
-HXDLIN( 781) ::haxe::io::Input input = ::sys::io::File_obj::read(source->path,null());
-HXDLIN( 781) ::Dynamic options1 = null();
-HXDLIN( 781) if (::hx::IsNull( options1 )) {
-HXLINE( 781) options1 = ::Dynamic(::hx::Anon_obj::Create(0));
- }
-HXDLIN( 781) ::Dynamic options2 = ::tink::io::_Worker::Worker_Impl__obj::ensure( ::Dynamic(options1->__Field(HX_("worker",7e,30,9e,c9),::hx::paccDynamic)));
-HXDLIN( 781) ::Dynamic _g = options1->__Field(HX_("chunkSize",ce,cd,77,9f),::hx::paccDynamic);
-HXDLIN( 781) int options3;
-HXDLIN( 781) if (::hx::IsNull( _g )) {
-HXLINE( 781) options3 = 65536;
- }
- else {
-HXLINE( 781) ::Dynamic v = _g;
-HXDLIN( 781) options3 = ( (int)(v) );
- }
-HXDLIN( 781) ::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,options2,::haxe::io::Bytes_obj::alloc(options3),0), ::Dynamic(new _hx_Closure_0())))
- ->setFixed(2,HX_("headers",46,52,08,63),options))))->handle( ::Dynamic(new _hx_Closure_1(_gthis,slot,source,hashes,services,callback)));
- }
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_769_prepareAttachmentFor)
-HXDLIN( 769) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 770) if ((services->length < 1)) {
-HXLINE( 771) ::haxe::Log_obj::trace(HX_("No HTTP upload service found",d1,5a,61,46),::hx::SourceInfo(HX_("snikket/Client.hx",e1,49,02,18),771,HX_("snikket.Client",3c,fe,06,7c),HX_("prepareAttachmentFor",df,5c,bf,82)));
-HXLINE( 772) callback(null());
-HXLINE( 773) return;
- }
-HXLINE( 775) ::snikket::queries::HttpUploadSlot httpUploadSlot = ::snikket::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( 776) httpUploadSlot->onFinished( ::Dynamic(new _hx_Closure_2(source,_gthis,hashes,services,httpUploadSlot,callback)));
-HXLINE( 790) this->sendQuery(httpUploadSlot);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC4(Client_obj,prepareAttachmentFor,(void))
-
-::Array< ::Dynamic> Client_obj::getChats(){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_797_getChats)
-HXDLIN( 797) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 797) {
-HXDLIN( 797) int _g1 = 0;
-HXDLIN( 797) ::Array< ::Dynamic> _g2 = this->chats;
-HXDLIN( 797) while((_g1 < _g2->length)){
-HXDLIN( 797) ::snikket::Chat v = _g2->__get(_g1).StaticCast< ::snikket::Chat >();
-HXDLIN( 797) _g1 = (_g1 + 1);
-HXDLIN( 797) if ((v->uiState != 2)) {
-HXDLIN( 797) _g->push(v);
- }
- }
- }
-HXDLIN( 797) return _g;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Client_obj,getChats,return )
-
-size_t Client_obj::getChats__fromC(void*** outPtr){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_250_getChats__fromC)
-HXDLIN( 250) ::Array< ::Dynamic> out = this->getChats();
-HXDLIN( 250) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 250) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 250) {
-HXDLIN( 250) int _g = 0;
-HXDLIN( 250) while((_g < out->length)){
-HXDLIN( 250) ::snikket::Chat el = out->__get(_g).StaticCast< ::snikket::Chat >();
-HXDLIN( 250) _g = (_g + 1);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic haxeObject = el;
-HXDLIN( 250) void* ptr = haxeObject.mPtr;
-HXDLIN( 250) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 250) if (::hx::IsNull( store )) {
-HXDLIN( 250) 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( 250) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXDLIN( 250) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 250) void** ptr1 = (void**)out->getBase();
-HXDLIN( 250) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 250) if (::hx::IsNull( store1 )) {
-HXDLIN( 250) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),out));
-HXDLIN( 250) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXDLIN( 250) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 250) _hx_tmp->set_ref(ptr1);
- }
-HXDLIN( 250) return ( (size_t)(out->length) );
- }
-
-
-void Client_obj::findAvailableChats(::String q, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_2, ::snikket::Client,_gthis,::String,q,::Array< ::Dynamic>,results,::String,query, ::Dynamic,callback) HXARGC(2)
- void _hx_run( ::Dynamic jid, ::Dynamic __o_prepend){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::Array< ::Dynamic>,results,bool,prepend) HXARGC(1)
- void _hx_run( ::snikket::AvailableChat item){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_810_findAvailableChats)
-HXLINE( 810) if (prepend) {
-HXLINE( 810) results->unshift(item);
- }
- else {
-HXLINE( 810) results->push(item);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_BEGIN_LOCAL_FUNC_S8(::hx::LocalFunc,_hx_Closure_1,::String,q, ::snikket::Client,_gthis,::Array< ::Dynamic>,results, ::Dynamic,add,::String,query, ::snikket::queries::DiscoInfoGet,discoGet, ::Dynamic,callback, ::Dynamic,jid) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_812_findAvailableChats)
-HXLINE( 813) ::snikket::Caps resultCaps = discoGet->getResult();
-HXLINE( 814) if (::hx::IsNull( resultCaps )) {
-HXLINE( 815) ::snikket::Stanza tmp = discoGet->responseStanza;
-HXDLIN( 815) ::snikket::Stanza tmp1;
-HXDLIN( 815) if (::hx::IsNotNull( tmp )) {
-HXLINE( 815) tmp1 = tmp->getChild(HX_("error",c8,cb,29,73),null());
- }
- else {
-HXLINE( 815) tmp1 = null();
- }
-HXDLIN( 815) ::snikket::Stanza err;
-HXDLIN( 815) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 815) err = tmp1->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
- }
- else {
-HXLINE( 815) err = null();
- }
-HXLINE( 816) bool checkAndAdd;
-HXDLIN( 816) bool checkAndAdd1;
-HXDLIN( 816) if (::hx::IsNotNull( err )) {
-HXLINE( 816) ::String checkAndAdd2;
-HXDLIN( 816) if (::hx::IsNotNull( err )) {
-HXLINE( 816) checkAndAdd2 = err->name;
- }
- else {
-HXLINE( 816) checkAndAdd2 = null();
- }
-HXDLIN( 816) checkAndAdd1 = (checkAndAdd2 == HX_("service-unavailable",f8,3c,11,1c));
- }
- else {
-HXLINE( 816) checkAndAdd1 = true;
- }
-HXDLIN( 816) if (!(checkAndAdd1)) {
-HXLINE( 816) ::String checkAndAdd3;
-HXDLIN( 816) if (::hx::IsNotNull( err )) {
-HXLINE( 816) checkAndAdd3 = err->name;
- }
- else {
-HXLINE( 816) checkAndAdd3 = null();
- }
-HXDLIN( 816) checkAndAdd = (checkAndAdd3 == HX_("feature-not-implemented",71,20,2e,96));
- }
- else {
-HXLINE( 816) checkAndAdd = true;
- }
-HXDLIN( 816) if (checkAndAdd) {
-HXLINE( 817) ::Dynamic add1 = add;
-HXDLIN( 817) ::String checkAndAdd4 = ( (::String)(jid->__Field(HX_("asString",63,33,06,a0),::hx::paccDynamic)()) );
-HXDLIN( 817) ::String query1 = query;
-HXDLIN( 817) ::String checkAndAdd5 = ( (::String)(jid->__Field(HX_("asString",63,33,06,a0),::hx::paccDynamic)()) );
-HXDLIN( 817) add1( ::snikket::AvailableChat_obj::__alloc( HX_CTX ,checkAndAdd4,query1,checkAndAdd5, ::snikket::Caps_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::__new(0),null())));
- }
- }
- else {
-HXLINE( 820) ::snikket::Persistence_obj::storeCaps(_gthis->persistence,resultCaps);
-HXLINE( 821) ::snikket::Identity identity = resultCaps->identities->__get(0).StaticCast< ::snikket::Identity >();
-HXLINE( 822) ::String displayName;
-HXDLIN( 822) ::String tmp2;
-HXDLIN( 822) if (::hx::IsNotNull( identity )) {
-HXLINE( 822) tmp2 = identity->name;
- }
- else {
-HXLINE( 822) tmp2 = null();
- }
-HXDLIN( 822) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 822) displayName = tmp2;
- }
- else {
-HXLINE( 822) displayName = query;
- }
-HXLINE( 823) ::String note = ( (::String)(jid->__Field(HX_("asString",63,33,06,a0),::hx::paccDynamic)()) );
-HXDLIN( 823) ::String note1;
-HXDLIN( 823) if (::hx::IsNull( identity )) {
-HXLINE( 823) note1 = HX_("",00,00,00,00);
- }
- else {
-HXLINE( 823) note1 = ((HX_(" (",08,1c,00,00) + identity->type) + HX_(")",29,00,00,00));
- }
-HXDLIN( 823) ::String note2 = (note + note1);
-HXLINE( 824) ::Dynamic add2 = add;
-HXDLIN( 824) add2( ::snikket::AvailableChat_obj::__alloc( HX_CTX ,( (::String)(jid->__Field(HX_("asString",63,33,06,a0),::hx::paccDynamic)()) ),displayName,note2,resultCaps));
- }
-HXLINE( 826) callback(q,results);
- }
- HX_END_LOCAL_FUNC0((void))
-
- bool prepend = __o_prepend.Default(false);
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_809_findAvailableChats)
-HXLINE( 810) ::Dynamic add = ::Dynamic(new _hx_Closure_0(results,prepend));
-HXLINE( 811) ::snikket::queries::DiscoInfoGet discoGet = ::snikket::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,( (::String)(jid->__Field(HX_("asString",63,33,06,a0),::hx::paccDynamic)()) ),null());
-HXLINE( 812) discoGet->onFinished( ::Dynamic(new _hx_Closure_1(q,_gthis,results,add,query,discoGet,callback,jid)));
-HXLINE( 828) _gthis->sendQuery(discoGet);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_806_findAvailableChats)
-HXDLIN( 806) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 807) ::Array< ::Dynamic> results = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 808) ::String query = ::StringTools_obj::trim(q);
-HXLINE( 809) ::Dynamic checkAndAdd = ::Dynamic(new _hx_Closure_2(_gthis,q,results,query,callback));
-HXLINE( 830) ::snikket::JID jid;
-HXDLIN( 830) if (::StringTools_obj::startsWith(query,HX_("xmpp:",65,3c,77,60))) {
-HXLINE( 830) jid = ::snikket::JID_obj::parse(query.substr(5,null()));
- }
- else {
-HXLINE( 830) jid = ::snikket::JID_obj::parse(query);
- }
-HXLINE( 835) if (jid->isValid()) {
-HXLINE( 836) checkAndAdd(jid,true);
- }
-HXLINE( 838) {
-HXLINE( 838) int _g = 0;
-HXDLIN( 838) ::Array< ::Dynamic> _g1 = this->chats;
-HXDLIN( 838) while((_g < _g1->length)){
-HXLINE( 838) ::snikket::Chat chat = _g1->__get(_g).StaticCast< ::snikket::Chat >();
-HXDLIN( 838) _g = (_g + 1);
-HXLINE( 839) ::String chat1 = chat->chatId;
-HXDLIN( 839) if ((chat1 != jid->asBare()->asString())) {
-HXLINE( 840) bool _hx_tmp;
-HXDLIN( 840) ::String s = chat->chatId;
-HXDLIN( 840) if ((s.indexOf(query.toLowerCase(),null()) == -1)) {
-HXLINE( 840) ::String s1 = chat->getDisplayName().toLowerCase();
-HXDLIN( 840) _hx_tmp = (s1.indexOf(query.toLowerCase(),null()) != -1);
- }
- else {
-HXLINE( 840) _hx_tmp = true;
- }
-HXDLIN( 840) if (_hx_tmp) {
-HXLINE( 841) ::snikket::Channel channel = ( ( ::snikket::Channel)(::snikket::_Util::Util_Fields__obj::downcast(chat,::hx::ClassOf< ::snikket::Channel >())) );
-HXLINE( 842) ::Array< ::Dynamic> results1 = results;
-HXDLIN( 842) ::String chat2 = chat->chatId;
-HXDLIN( 842) ::String _hx_tmp1 = chat->getDisplayName();
-HXDLIN( 842) ::String chat3 = chat->chatId;
-HXDLIN( 842) ::snikket::Caps _hx_tmp2;
-HXDLIN( 842) bool _hx_tmp3;
-HXDLIN( 842) if (::hx::IsNotNull( channel )) {
-HXLINE( 842) _hx_tmp3 = ::hx::IsNull( channel->disco );
- }
- else {
-HXLINE( 842) _hx_tmp3 = true;
- }
-HXDLIN( 842) if (_hx_tmp3) {
-HXLINE( 842) _hx_tmp2 = ::snikket::Caps_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::__new(0),null());
- }
- else {
-HXLINE( 842) _hx_tmp2 = channel->disco;
- }
-HXDLIN( 842) results1->push( ::snikket::AvailableChat_obj::__alloc( HX_CTX ,chat2,_hx_tmp1,chat3,_hx_tmp2));
- }
- }
-HXLINE( 845) if (chat->isTrusted()) {
-HXLINE( 846) ::haxe::ds::StringMap resources = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 847) {
-HXLINE( 847) int _g2 = 0;
-HXDLIN( 847) ::Array< ::String > _g3 = ::snikket::Caps_obj::withIdentity(chat->getCaps(),HX_("gateway",04,40,59,91),null());
-HXDLIN( 847) while((_g2 < _g3->length)){
-HXLINE( 847) ::String resource = _g3->__get(_g2);
-HXDLIN( 847) _g2 = (_g2 + 1);
-HXLINE( 848) resources->set(resource,true);
- }
- }
-HXLINE( 854) bool _hx_tmp4;
-HXDLIN( 854) if (!(this->sendAvailable)) {
-HXLINE( 854) _hx_tmp4 = ::snikket::JID_obj::parse(chat->chatId)->isDomain();
- }
- else {
-HXLINE( 854) _hx_tmp4 = false;
- }
-HXDLIN( 854) if (_hx_tmp4) {
-HXLINE( 855) ::String k = null();
-HXDLIN( 855) resources->set(k,true);
- }
-HXLINE( 857) {
-HXLINE( 857) ::Dynamic resource1 = resources->keys();
-HXDLIN( 857) while(( (bool)(resource1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
- HX_BEGIN_LOCAL_FUNC_S6(::hx::LocalFunc,_hx_Closure_3, ::snikket::queries::JabberIqGatewayGet,jigGet1,::String,query, ::snikket::JID,bareJid, ::snikket::Chat,chat,::String,resource2, ::Dynamic,checkAndAdd) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_862_findAvailableChats)
-HXLINE( 862) if (::hx::IsNull( jigGet1->getResult() )) {
-HXLINE( 863) ::snikket::Caps caps = chat->getResourceCaps(resource2);
-HXLINE( 864) bool _hx_tmp;
-HXDLIN( 864) if (bareJid->isDomain()) {
-HXLINE( 864) _hx_tmp = caps->features->contains(HX_("jid\\20escaping",73,c5,d2,4a));
- }
- else {
-HXLINE( 864) _hx_tmp = false;
- }
-HXDLIN( 864) if (_hx_tmp) {
-HXLINE( 865) ::Dynamic checkAndAdd1 = checkAndAdd;
-HXDLIN( 865) checkAndAdd1( ::snikket::JID_obj::__alloc( HX_CTX ,query,bareJid->domain,null(),null()),null());
- }
- else {
-HXLINE( 866) if (bareJid->isDomain()) {
-HXLINE( 867) ::Dynamic checkAndAdd2 = checkAndAdd;
-HXDLIN( 867) ::String _hx_tmp1 = ::StringTools_obj::replace(query,HX_("@",40,00,00,00),HX_("%",25,00,00,00));
-HXDLIN( 867) checkAndAdd2( ::snikket::JID_obj::__alloc( HX_CTX ,_hx_tmp1,bareJid->domain,null(),null()),null());
- }
- }
- }
- else {
-HXLINE( 870) ::haxe::ds::Either _g = jigGet1->getResult();
-HXDLIN( 870) switch((int)(_g->_hx_getIndex())){
- case (int)0: {
-HXLINE( 871) ::String error = ( (::String)(_g->_hx_getObject(0)) );
-HXDLIN( 871) return;
- }
- break;
- case (int)1: {
-HXLINE( 872) ::String result = ( (::String)(_g->_hx_getObject(0)) );
-HXLINE( 873) ::Dynamic checkAndAdd3 = checkAndAdd;
-HXDLIN( 873) checkAndAdd3(::snikket::JID_obj::parse(result),null());
- }
- break;
- }
- }
- }
- HX_END_LOCAL_FUNC0((void))
-
-HXLINE( 857) ::String resource2 = ( (::String)(resource1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXLINE( 858) ::snikket::JID bareJid = ::snikket::JID_obj::parse(chat->chatId);
-HXLINE( 859) ::String bareJid1 = bareJid->node;
-HXDLIN( 859) ::String bareJid2 = bareJid->domain;
-HXDLIN( 859) ::String fullJid;
-HXDLIN( 859) bool fullJid1;
-HXDLIN( 859) if (bareJid->isDomain()) {
-HXLINE( 859) fullJid1 = (resource2 == HX_("",00,00,00,00));
- }
- else {
-HXLINE( 859) fullJid1 = false;
- }
-HXDLIN( 859) if (fullJid1) {
-HXLINE( 859) fullJid = null();
- }
- else {
-HXLINE( 859) fullJid = resource2;
- }
-HXDLIN( 859) ::snikket::JID fullJid2 = ::snikket::JID_obj::__alloc( HX_CTX ,bareJid1,bareJid2,fullJid,null());
-HXLINE( 860) ::String jigGet = fullJid2->asString();
-HXDLIN( 860) ::snikket::queries::JabberIqGatewayGet jigGet1 = ::snikket::queries::JabberIqGatewayGet_obj::__alloc( HX_CTX ,jigGet,query);
-HXLINE( 861) jigGet1->onFinished( ::Dynamic(new _hx_Closure_3(jigGet1,query,bareJid,chat,resource2,checkAndAdd)));
-HXLINE( 877) this->sendQuery(jigGet1);
- }
- }
- }
- }
- }
-HXLINE( 881) bool _hx_tmp5;
-HXDLIN( 881) if (!(jid->isValid())) {
-HXLINE( 881) _hx_tmp5 = (results->length > 0);
- }
- else {
-HXLINE( 881) _hx_tmp5 = false;
- }
-HXDLIN( 881) if (_hx_tmp5) {
-HXLINE( 882) callback(q,results);
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Client_obj,findAvailableChats,(void))
-
-void Client_obj::findAvailableChats__fromC(::String q,::cpp::Function< void (const char*,void**,size_t,void*) > callback,void* callback__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,void*,callback__context,::cpp::Function< void (const char* HX_COMMA void** HX_COMMA size_t HX_COMMA void*) >,callback) HXARGC(2)
- void _hx_run(::String a0,::Array< ::Dynamic> a1){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_findAvailableChats__fromC)
-HXLINE( 221) ::cpp::Function< void (const char*,void**,size_t,void*) > callback1 = callback;
-HXLINE( 213) const char* cStrPtr = a0.utf8_str();
-HXDLIN( 213) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
-HXDLIN( 213) {
-HXLINE( 213) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 213) if (::hx::IsNull( store )) {
-HXLINE( 213) store = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a0));
-HXDLIN( 213) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 213) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 213) const char* _hx_tmp = cStrPtr;
-HXLINE( 211) {
-HXLINE( 211) int _g = 0;
-HXDLIN( 211) while((_g < a1->length)){
-HXLINE( 211) ::snikket::AvailableChat el = a1->__get(_g).StaticCast< ::snikket::AvailableChat >();
-HXDLIN( 211) _g = (_g + 1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic haxeObject = el;
-HXDLIN( 211) void* ptr = haxeObject.mPtr;
-HXDLIN( 211) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 211) if (::hx::IsNull( store1 )) {
-HXLINE( 211) store1 = ::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( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 211) void** ptr1 = (void**)a1->getBase();
-HXDLIN( 211) ::cpp::Int64 ptrInt642 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store2 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt642);
-HXDLIN( 211) if (::hx::IsNull( store2 )) {
-HXLINE( 211) store2 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a1));
-HXDLIN( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt642,store2);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store2).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) callback1(_hx_tmp,ptr1,( (size_t)(a1->length) ),callback__context);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_findAvailableChats__fromC)
-HXDLIN( 252) this->findAvailableChats(q, ::Dynamic(new _hx_Closure_0(callback__context,callback)));
- }
-
-
- ::snikket::Chat Client_obj::startChat( ::snikket::AvailableChat availableChat){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_891_startChat)
-HXLINE( 892) ::snikket::Chat existingChat = this->getChat(availableChat->chatId);
-HXLINE( 893) if (::hx::IsNotNull( existingChat )) {
-HXLINE( 894) ::snikket::Channel channel = ( ( ::snikket::Channel)(::Std_obj::downcast(existingChat,::hx::ClassOf< ::snikket::Channel >())) );
-HXLINE( 895) bool _hx_tmp;
-HXDLIN( 895) bool _hx_tmp1;
-HXDLIN( 895) if (::hx::IsNull( channel )) {
-HXLINE( 895) _hx_tmp1 = availableChat->isChannel();
- }
- else {
-HXLINE( 895) _hx_tmp1 = false;
- }
-HXDLIN( 895) if (!(_hx_tmp1)) {
-HXLINE( 895) if (::hx::IsNotNull( channel )) {
-HXLINE( 895) _hx_tmp = !(availableChat->isChannel());
- }
- else {
-HXLINE( 895) _hx_tmp = false;
- }
- }
- else {
-HXLINE( 895) _hx_tmp = true;
- }
-HXDLIN( 895) if (_hx_tmp) {
-HXLINE( 896) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 896) {
-HXLINE( 896) int _g1 = 0;
-HXDLIN( 896) ::Array< ::Dynamic> _g2 = this->chats;
-HXDLIN( 896) while((_g1 < _g2->length)){
-HXLINE( 896) ::snikket::Chat v = _g2->__get(_g1).StaticCast< ::snikket::Chat >();
-HXDLIN( 896) _g1 = (_g1 + 1);
-HXDLIN( 896) if ((v->chatId != availableChat->chatId)) {
-HXLINE( 896) _g->push(v);
- }
- }
- }
-HXDLIN( 896) this->chats = _g;
- }
- else {
-HXLINE( 898) if ((existingChat->uiState == 2)) {
-HXLINE( 898) existingChat->uiState = 1;
- }
-HXLINE( 899) if (::hx::IsNotNull( channel )) {
-HXLINE( 899) channel->selfPing(true);
- }
-HXLINE( 900) ::Dynamic _hx_tmp2 = this->persistence;
-HXDLIN( 900) ::snikket::Persistence_obj::storeChats(_hx_tmp2,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,existingChat));
-HXLINE( 901) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,existingChat));
-HXLINE( 902) return existingChat;
- }
- }
-HXLINE( 906) ::snikket::Chat chat;
-HXDLIN( 906) if (availableChat->isChannel()) {
-HXLINE( 907) ::snikket::Channel channel1 = ::snikket::Channel_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),this->stream,this->persistence,availableChat->chatId,1,false,null(),null(),null(),availableChat->caps);
-HXLINE( 908) this->chats->unshift(channel1);
-HXLINE( 909) channel1->selfPing(false);
-HXLINE( 906) chat = channel1;
- }
- else {
-HXLINE( 906) chat = this->getDirectChat(availableChat->chatId,false);
- }
-HXLINE( 914) ::Dynamic _hx_tmp3 = this->persistence;
-HXDLIN( 914) ::snikket::Persistence_obj::storeChats(_hx_tmp3,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
-HXLINE( 915) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
-HXLINE( 916) return chat;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,startChat,return )
-
- ::snikket::Chat Client_obj::getChat(::String chatId){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_925_getChat)
-HXDLIN( 925) ::Array< ::Dynamic> it = this->chats;
-HXDLIN( 925) ::snikket::Chat result = null();
-HXDLIN( 925) {
-HXDLIN( 925) int _g = 0;
-HXDLIN( 925) while((_g < it->length)){
-HXDLIN( 925) ::snikket::Chat v = it->__get(_g).StaticCast< ::snikket::Chat >();
-HXDLIN( 925) _g = (_g + 1);
-HXDLIN( 925) if ((v->chatId == chatId)) {
-HXDLIN( 925) result = v;
-HXDLIN( 925) goto _hx_goto_102;
- }
- }
- _hx_goto_102:;
- }
-HXDLIN( 925) return result;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,getChat,return )
-
-::Dynamic Client_obj::moderateMessage( ::snikket::ModerationAction action){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::snikket::Client,_gthis, ::snikket::ModerationAction,action) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::Client,_gthis, ::snikket::ModerationAction,action, ::Dynamic,resolve) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage moderateMessage){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_931_moderateMessage)
-HXLINE( 932) if (::hx::IsNull( moderateMessage )) {
-HXLINE( 932) resolve(null());
-HXDLIN( 932) return;
- }
-HXLINE( 933) {
-HXLINE( 933) int _g = 0;
-HXDLIN( 933) ::Array< ::Dynamic> _g1 = moderateMessage->attachments;
-HXDLIN( 933) while((_g < _g1->length)){
-HXLINE( 933) ::snikket::ChatAttachment attachment = _g1->__get(_g).StaticCast< ::snikket::ChatAttachment >();
-HXDLIN( 933) _g = (_g + 1);
-HXLINE( 934) {
-HXLINE( 934) int _g2 = 0;
-HXDLIN( 934) ::Array< ::Dynamic> _g3 = attachment->hashes;
-HXDLIN( 934) while((_g2 < _g3->length)){
-HXLINE( 934) ::snikket::Hash hash = _g3->__get(_g2).StaticCast< ::snikket::Hash >();
-HXDLIN( 934) _g2 = (_g2 + 1);
-HXLINE( 935) ::snikket::Persistence_obj::removeMedia(_gthis->persistence,hash->algorithm,hash->hash);
- }
- }
- }
- }
-HXLINE( 938) moderateMessage = ::snikket::ChatMessageBuilder_obj::makeModerated(moderateMessage,action->timestamp,action->moderatorId,action->reason);
-HXLINE( 939) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 939) ::snikket::Persistence_obj::updateMessage(_gthis1,_gthis->accountId(),moderateMessage);
-HXLINE( 940) resolve(moderateMessage);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_931_moderateMessage)
-HXLINE( 931) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 931) ::String _hx_tmp = _gthis->accountId();
-HXDLIN( 931) ::snikket::Persistence_obj::getMessage(_gthis1,_hx_tmp,action->chatId,action->moderateServerId,null(), ::Dynamic(new _hx_Closure_0(_gthis,action,resolve)));
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_929_moderateMessage)
-HXDLIN( 929) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 930) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,action)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,moderateMessage,return )
-
- ::snikket::DirectChat Client_obj::getDirectChat(::String chatId,::hx::Null< bool > __o_triggerIfNew){
- bool triggerIfNew = __o_triggerIfNew.Default(true);
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_946_getDirectChat)
-HXLINE( 947) {
-HXLINE( 947) int _g = 0;
-HXDLIN( 947) ::Array< ::Dynamic> _g1 = this->chats;
-HXDLIN( 947) while((_g < _g1->length)){
-HXLINE( 947) ::snikket::Chat chat = _g1->__get(_g).StaticCast< ::snikket::Chat >();
-HXDLIN( 947) _g = (_g + 1);
-HXLINE( 948) bool _hx_tmp;
-HXDLIN( 948) if (::Std_obj::isOfType(chat,::hx::ClassOf< ::snikket::DirectChat >())) {
-HXLINE( 948) _hx_tmp = (chat->chatId == chatId);
- }
- else {
-HXLINE( 948) _hx_tmp = false;
- }
-HXDLIN( 948) if (_hx_tmp) {
-HXLINE( 949) return ( ( ::snikket::DirectChat)(::Std_obj::downcast(chat,::hx::ClassOf< ::snikket::DirectChat >())) );
- }
- }
- }
-HXLINE( 952) ::snikket::DirectChat chat1 = ::snikket::DirectChat_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),this->stream,this->persistence,chatId,null(),null(),null(),null(),null());
-HXLINE( 953) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN( 953) ::snikket::Persistence_obj::storeChats(_hx_tmp1,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat1));
-HXLINE( 954) this->chats->unshift(chat1);
-HXLINE( 955) if (triggerIfNew) {
-HXLINE( 955) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat1));
- }
-HXLINE( 956) 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_ead56881d4bbcaca_999_enablePush)
-HXLINE(1000) ::Array< ::String > tmp = claims;
-HXDLIN(1000) ::Array< ::String > _hx_tmp;
-HXDLIN(1000) if (::hx::IsNotNull( tmp )) {
-HXLINE(1000) _hx_tmp = tmp;
- }
- else {
-HXLINE(1000) _hx_tmp = ::Array_obj< ::String >::__new(0);
- }
-HXDLIN(1000) 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)
- ->setFixed(3,HX_("vapid_private_pkcs8",32,d7,0a,03),vapid_private_pkcs8)
- ->setFixed(4,HX_("claims",77,1d,09,05),_hx_tmp)
- ->setFixed(5,HX_("endpoint",95,d6,5f,31),endpoint)
- ->setFixed(6,HX_("auth",68,df,76,40),auth));
-HXLINE(1002) ::Array< ::Dynamic> filters = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1003) {
-HXLINE(1003) int _g = 0;
-HXDLIN(1003) ::Array< ::Dynamic> _g1 = this->chats;
-HXDLIN(1003) while((_g < _g1->length)){
-HXLINE(1003) ::snikket::Chat chat = _g1->__get(_g).StaticCast< ::snikket::Chat >();
-HXDLIN(1003) _g = (_g + 1);
-HXLINE(1004) if (chat->notificationsFiltered()) {
-HXLINE(1005) ::String chat1 = chat->chatId;
-HXDLIN(1005) bool _hx_tmp1 = chat->notifyMention();
-HXDLIN(1005) filters->push( ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("mention",ea,9e,bf,b9),_hx_tmp1)
- ->setFixed(1,HX_("reply",2a,09,c6,e6),chat->notifyReply())
- ->setFixed(2,HX_("jid",c5,ca,50,00),chat1)));
- }
- }
- }
-HXLINE(1009) ::haxe::ds::StringMap _g2 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXDLIN(1009) _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));
-HXDLIN(1009) ::haxe::ds::StringMap claimMap = _g2;
-HXLINE(1010) {
-HXLINE(1010) int _g3 = 0;
-HXDLIN(1010) ::Array< ::String > tmp1 = claims;
-HXDLIN(1010) ::Array< ::String > _g4;
-HXDLIN(1010) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1010) _g4 = tmp1;
- }
- else {
-HXLINE(1010) _g4 = ::Array_obj< ::String >::__new(0);
- }
-HXDLIN(1010) int _g5 = _g4->length;
-HXDLIN(1010) while((_g3 < _g5)){
-HXLINE(1010) _g3 = (_g3 + 1);
-HXDLIN(1010) int i = (_g3 - 1);
-HXLINE(1011) if ((::hx::Mod(i,2) == 0)) {
-HXLINE(1012) ::String v = claims->__get((i + 1));
-HXDLIN(1012) claimMap->set(claims->__get(i),v);
- }
- }
- }
-HXLINE(1017) ::String _hx_tmp2 = this->jid->asBare()->asString();
-HXLINE(1020) ::haxe::io::Bytes _hx_tmp3 = ::haxe::io::Bytes_obj::ofData(p256dh);
-HXLINE(1021) ::haxe::io::Bytes _hx_tmp4 = ::haxe::io::Bytes_obj::ofData(auth);
-HXLINE(1022) ::String _hx_tmp5;
-HXDLIN(1022) if (::hx::IsNull( vapid_private_pkcs8 )) {
-HXLINE(1022) _hx_tmp5 = null();
- }
- else {
-HXLINE(1022) _hx_tmp5 = HX_("ES256",65,db,a8,f1);
- }
-HXLINE(1023) ::haxe::io::Bytes _hx_tmp6;
-HXDLIN(1023) if (::hx::IsNull( vapid_private_pkcs8 )) {
-HXLINE(1023) _hx_tmp6 = null();
- }
- else {
-HXLINE(1023) _hx_tmp6 = ::haxe::io::Bytes_obj::ofData(vapid_private_pkcs8);
- }
-HXLINE(1016) this->sendQuery( ::snikket::queries::Push2Enable_obj::__alloc( HX_CTX ,_hx_tmp2,push_service,endpoint,_hx_tmp3,_hx_tmp4,_hx_tmp5,_hx_tmp6,claimMap,grace,filters));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC7(Client_obj,enablePush,(void))
-
-void Client_obj::enablePush__fromC(::String push_service,::String endpoint,::cpp::Pointer< unsigned char > p256dh,size_t p256dh__len,::cpp::Pointer< unsigned char > auth,size_t auth__len,int grace,::cpp::Pointer< unsigned char > vapid_private_pkcs8,size_t vapid_private_pkcs8__len,::cpp::Pointer< const char* > claims,size_t claims__len){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_enablePush__fromC)
-HXLINE( 231) ::Array< unsigned char > _hx_tmp;
-HXDLIN( 231) if (::hx::IsNull( p256dh )) {
-HXLINE( 231) _hx_tmp = null();
- }
- else {
-HXLINE( 231) ::cpp::Pointer< unsigned char > _this = p256dh->reinterpret();
-HXDLIN( 231) ::Array< unsigned char > result = ::Array_obj< unsigned char >::__new();
-HXDLIN( 231) ::cpp::Pointer< unsigned char > tmp = _this;
-HXDLIN( 231) result->setUnmanagedData(tmp,( (int)(p256dh__len) ));
-HXDLIN( 231) _hx_tmp = result->copy();
- }
-HXDLIN( 231) ::Array< unsigned char > _hx_tmp1;
-HXDLIN( 231) if (::hx::IsNull( auth )) {
-HXLINE( 231) _hx_tmp1 = null();
- }
- else {
-HXLINE( 231) ::cpp::Pointer< unsigned char > _this1 = auth->reinterpret();
-HXDLIN( 231) ::Array< unsigned char > result1 = ::Array_obj< unsigned char >::__new();
-HXDLIN( 231) ::cpp::Pointer< unsigned char > tmp1 = _this1;
-HXDLIN( 231) result1->setUnmanagedData(tmp1,( (int)(auth__len) ));
-HXDLIN( 231) _hx_tmp1 = result1->copy();
- }
-HXDLIN( 231) ::Array< unsigned char > _hx_tmp2;
-HXDLIN( 231) if (::hx::IsNull( vapid_private_pkcs8 )) {
-HXLINE( 231) _hx_tmp2 = null();
- }
- else {
-HXLINE( 231) ::cpp::Pointer< unsigned char > _this2 = vapid_private_pkcs8->reinterpret();
-HXDLIN( 231) ::Array< unsigned char > result2 = ::Array_obj< unsigned char >::__new();
-HXDLIN( 231) ::cpp::Pointer< unsigned char > tmp2 = _this2;
-HXDLIN( 231) result2->setUnmanagedData(tmp2,( (int)(vapid_private_pkcs8__len) ));
-HXDLIN( 231) _hx_tmp2 = result2->copy();
- }
-HXLINE( 229) ::Array< ::String > _hx_tmp3;
-HXDLIN( 229) if (::hx::IsNull( claims )) {
-HXLINE( 229) _hx_tmp3 = null();
- }
- else {
-HXLINE( 229) ::cpp::Pointer< ::cpp::Pointer< char > > _this3 = claims->reinterpret();
-HXDLIN( 229) ::Array< ::cpp::Pointer< char > > result3 = ::Array_obj< ::cpp::Pointer< char > >::__new();
-HXDLIN( 229) ::cpp::Pointer< ::cpp::Pointer< char > > tmp3 = _this3;
-HXDLIN( 229) result3->setUnmanagedData(tmp3,( (int)(claims__len) ));
-HXDLIN( 229) ::Array< ::cpp::Pointer< char > > _this4 = result3;
-HXDLIN( 229) ::Dynamic f = ::cpp::_NativeString::NativeString_Impl__obj::fromPointer_dyn();
-HXDLIN( 229) ::Array< ::String > result4 = ::Array_obj< ::String >::__new(_this4->length);
-HXDLIN( 229) {
-HXLINE( 229) int _g = 0;
-HXDLIN( 229) int _g1 = _this4->length;
-HXDLIN( 229) while((_g < _g1)){
-HXLINE( 229) _g = (_g + 1);
-HXDLIN( 229) int i = (_g - 1);
-HXDLIN( 229) {
-HXLINE( 229) ::cpp::Pointer< char > tmp4 = _hx_array_unsafe_get(_this4,i);
-HXDLIN( 229) ::String inValue = ( (::String)(f(tmp4)) );
-HXDLIN( 229) result4->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 229) _hx_tmp3 = result4->copy();
- }
-HXLINE( 252) this->enablePush(push_service,endpoint,_hx_tmp,_hx_tmp1,grace,_hx_tmp2,_hx_tmp3);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC11(Client_obj,enablePush__fromC,(void))
-
-void Client_obj::updatePushIfEnabled(){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1031_updatePushIfEnabled)
-HXLINE(1032) if (::hx::IsNull( this->enabledPushData )) {
-HXLINE(1032) return;
- }
-HXLINE(1033) 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)) ));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Client_obj,updatePushIfEnabled,(void))
-
-void Client_obj::addPasswordNeededListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::Client,_gthis, ::Dynamic,handler) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1042_addPasswordNeededListener)
-HXLINE(1043) handler(_gthis);
-HXLINE(1044) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1041_addPasswordNeededListener)
-HXDLIN(1041) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1042) this->on(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(new _hx_Closure_0(_gthis,handler)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addPasswordNeededListener,(void))
-
-void Client_obj::addPasswordNeededListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context){
- 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( ::snikket::Client a0){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addPasswordNeededListener__fromC)
-HXLINE( 221) ::cpp::Function< void (void*,void*) > handler1 = handler;
-HXLINE( 215) ::Dynamic haxeObject = a0;
-HXDLIN( 215) void* ptr = haxeObject.mPtr;
-HXDLIN( 215) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 215) {
-HXLINE( 215) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 215) if (::hx::IsNull( store )) {
-HXLINE( 215) 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( 215) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 215) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) handler1(ptr,handler__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addPasswordNeededListener__fromC)
-HXDLIN( 252) this->addPasswordNeededListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::addStatusOnlineListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1054_addStatusOnlineListener)
-HXLINE(1055) handler();
-HXLINE(1056) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1054_addStatusOnlineListener)
-HXDLIN(1054) this->on(HX_("status/online",10,05,0e,d2), ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addStatusOnlineListener,(void))
-
-void Client_obj::addStatusOnlineListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void*) >,handler,void*,handler__context) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addStatusOnlineListener__fromC)
-HXLINE( 221) handler(handler__context);
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addStatusOnlineListener__fromC)
-HXDLIN( 252) this->addStatusOnlineListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::addStatusOfflineListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1066_addStatusOfflineListener)
-HXLINE(1067) handler();
-HXLINE(1068) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1066_addStatusOfflineListener)
-HXDLIN(1066) this->on(HX_("status/offline",c6,eb,eb,54), ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addStatusOfflineListener,(void))
-
-void Client_obj::addStatusOfflineListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void*) >,handler,void*,handler__context) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addStatusOfflineListener__fromC)
-HXLINE( 221) handler(handler__context);
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addStatusOfflineListener__fromC)
-HXDLIN( 252) this->addStatusOfflineListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::addConnectionFailedListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1078_addConnectionFailedListener)
-HXLINE(1079) handler();
-HXLINE(1080) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1078_addConnectionFailedListener)
-HXDLIN(1078) this->stream->on(HX_("status/error",eb,19,84,6f), ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addConnectionFailedListener,(void))
-
-void Client_obj::addConnectionFailedListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void*) >,handler,void*,handler__context) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addConnectionFailedListener__fromC)
-HXLINE( 221) handler(handler__context);
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addConnectionFailedListener__fromC)
-HXDLIN( 252) this->addConnectionFailedListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::addTlsCheckListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1091_addTlsCheckListener)
-HXLINE(1091) return ::snikket::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_ead56881d4bbcaca_1090_addTlsCheckListener)
-HXDLIN(1090) this->stream->on(HX_("tls/check",74,a0,4c,75), ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addTlsCheckListener,(void))
-
-void Client_obj::addTlsCheckListener__fromC(::cpp::Function< bool (const char*,const char**,size_t,void*) > handler,void* handler__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< bool (const char* HX_COMMA const char** HX_COMMA size_t HX_COMMA void*) >,handler,void*,handler__context) HXARGC(2)
- bool _hx_run(::String a0,::Array< ::String > a1){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addTlsCheckListener__fromC)
-HXLINE( 221) ::cpp::Function< bool (const char*,const char**,size_t,void*) > handler1 = handler;
-HXLINE( 213) const char* cStrPtr = a0.utf8_str();
-HXDLIN( 213) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
-HXDLIN( 213) {
-HXLINE( 213) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 213) if (::hx::IsNull( store )) {
-HXLINE(2111) store = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a0));
-HXLINE( 213) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 213) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 213) const char* _hx_tmp = cStrPtr;
-HXLINE( 211) ::Array< size_t > arr = ::Array_obj< size_t >::__new(a1->length);
-HXDLIN( 211) {
-HXLINE( 211) int _g_current = 0;
-HXDLIN( 211) ::Array< ::String > _g_array = a1;
-HXDLIN( 211) while((_g_current < _g_array->length)){
-HXLINE( 211) ::String _g_value = _g_array->__get(_g_current);
-HXDLIN( 211) _g_current = (_g_current + 1);
-HXDLIN( 211) int _g_key = (_g_current - 1);
-HXDLIN( 211) int i = _g_key;
-HXDLIN( 211) ::String el = _g_value;
-HXDLIN( 211) {
-HXLINE( 211) const char* cStrPtr1 = el.utf8_str();
-HXDLIN( 211) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(cStrPtr1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 211) if (::hx::IsNull( store1 )) {
-HXLINE(2111) store1 = ::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( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 211) const char* ptr = cStrPtr1;
-HXDLIN( 211) arr[i] = reinterpret_cast<size_t>(ptr);
- }
- }
- }
-HXDLIN( 211) void** ptr1 = (void**)arr->getBase();
-HXDLIN( 211) ::cpp::Int64 ptrInt642 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store2 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt642);
-HXDLIN( 211) if (::hx::IsNull( store2 )) {
-HXLINE(2111) store2 = ::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( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt642,store2);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store2).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) return handler1(_hx_tmp,( (const char**)(ptr1) ),( (size_t)(a1->length) ),handler__context);
- }
- HX_END_LOCAL_FUNC2(return)
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addTlsCheckListener__fromC)
-HXDLIN( 252) this->addTlsCheckListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::addChatMessageListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(2)
- void _hx_run( ::snikket::ChatMessage m,int e){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1114_addChatMessageListener)
-HXDLIN(1114) handler(m,e);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1114_addChatMessageListener)
-HXDLIN(1114) this->chatMessageHandlers->push( ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addChatMessageListener,(void))
-
-void Client_obj::addChatMessageListener__fromC(::cpp::Function< void (void*,int,void*) > handler,void* handler__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void* HX_COMMA int HX_COMMA void*) >,handler,void*,handler__context) HXARGC(2)
- void _hx_run( ::snikket::ChatMessage a0,int a1){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addChatMessageListener__fromC)
-HXLINE( 221) ::cpp::Function< void (void*,int,void*) > handler1 = handler;
-HXLINE( 215) ::Dynamic haxeObject = a0;
-HXDLIN( 215) void* ptr = haxeObject.mPtr;
-HXDLIN( 215) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 215) {
-HXLINE( 215) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 215) if (::hx::IsNull( store )) {
-HXLINE( 215) 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( 215) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 215) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) handler1(ptr,a1,handler__context);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addChatMessageListener__fromC)
-HXDLIN( 252) this->addChatMessageListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::addSyncMessageListener( ::Dynamic handler){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1128_addSyncMessageListener)
-HXDLIN(1128) this->syncMessageHandlers->push(handler);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addSyncMessageListener,(void))
-
-void Client_obj::addSyncMessageListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context){
- 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( ::snikket::ChatMessage a0){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addSyncMessageListener__fromC)
-HXLINE( 221) ::cpp::Function< void (void*,void*) > handler1 = handler;
-HXLINE( 215) ::Dynamic haxeObject = a0;
-HXDLIN( 215) void* ptr = haxeObject.mPtr;
-HXDLIN( 215) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 215) {
-HXLINE( 215) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 215) if (::hx::IsNull( store )) {
-HXLINE( 215) 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( 215) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 215) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) handler1(ptr,handler__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addSyncMessageListener__fromC)
-HXDLIN( 252) this->addSyncMessageListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::addChatsUpdatedListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
- ::snikket::EventResult _hx_run(::Array< ::Dynamic> data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1137_addChatsUpdatedListener)
-HXLINE(1138) handler(data);
-HXLINE(1139) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1137_addChatsUpdatedListener)
-HXDLIN(1137) this->on(HX_("chats/update",3d,8e,1d,14), ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addChatsUpdatedListener,(void))
-
-void Client_obj::addChatsUpdatedListener__fromC(::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context){
- 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> a0){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addChatsUpdatedListener__fromC)
-HXLINE( 221) ::cpp::Function< void (void**,size_t,void*) > handler1 = handler;
-HXLINE( 211) {
-HXLINE( 211) int _g = 0;
-HXDLIN( 211) while((_g < a0->length)){
-HXLINE( 211) ::snikket::Chat el = a0->__get(_g).StaticCast< ::snikket::Chat >();
-HXDLIN( 211) _g = (_g + 1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic haxeObject = el;
-HXDLIN( 211) void* ptr = haxeObject.mPtr;
-HXDLIN( 211) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 211) if (::hx::IsNull( store )) {
-HXLINE( 211) 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( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 211) void** ptr1 = (void**)a0->getBase();
-HXDLIN( 211) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 211) if (::hx::IsNull( store1 )) {
-HXLINE( 211) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a0));
-HXDLIN( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) handler1(ptr1,( (size_t)(a0->length) ),handler__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addChatsUpdatedListener__fromC)
-HXDLIN( 252) this->addChatsUpdatedListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::addCallRingListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1149_addCallRingListener)
-HXLINE(1150) handler( ::Dynamic(data->__Field(HX_("session",56,17,98,93),::hx::paccDynamic)));
-HXLINE(1151) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1149_addCallRingListener)
-HXDLIN(1149) this->on(HX_("call/ring",01,8e,91,54), ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addCallRingListener,(void))
-
-void Client_obj::addCallRingListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context){
- 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(::Dynamic a0){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addCallRingListener__fromC)
-HXLINE( 221) ::cpp::Function< void (void*,void*) > handler1 = handler;
-HXLINE( 215) ::Dynamic haxeObject = a0;
-HXDLIN( 215) void* ptr = haxeObject.mPtr;
-HXDLIN( 215) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 215) {
-HXLINE( 215) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 215) if (::hx::IsNull( store )) {
-HXLINE( 215) 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( 215) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 215) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) handler1(ptr,handler__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addCallRingListener__fromC)
-HXDLIN( 252) this->addCallRingListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::addCallRetractListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1161_addCallRetractListener)
-HXLINE(1162) handler( ::Dynamic(data->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("sid",0e,9f,57,00),::hx::paccDynamic)));
-HXLINE(1163) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1161_addCallRetractListener)
-HXDLIN(1161) this->on(HX_("call/retract",50,bc,8d,db), ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addCallRetractListener,(void))
-
-void Client_obj::addCallRetractListener__fromC(::cpp::Function< void (const char*,const char*,void*) > handler,void* handler__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (const char* HX_COMMA const char* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(2)
- void _hx_run(::String a0,::String a1){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addCallRetractListener__fromC)
-HXLINE( 221) ::cpp::Function< void (const char*,const char*,void*) > handler1 = handler;
-HXLINE( 213) const char* cStrPtr = a0.utf8_str();
-HXDLIN( 213) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
-HXDLIN( 213) {
-HXLINE( 213) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 213) if (::hx::IsNull( store )) {
-HXLINE( 213) store = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a0));
-HXDLIN( 213) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 213) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 213) const char* cStrPtr1 = a1.utf8_str();
-HXDLIN( 213) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(cStrPtr1);
-HXDLIN( 213) {
-HXLINE( 213) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 213) if (::hx::IsNull( store1 )) {
-HXLINE( 213) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a1));
-HXDLIN( 213) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXLINE( 213) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) handler1(cStrPtr,cStrPtr1,handler__context);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addCallRetractListener__fromC)
-HXDLIN( 252) this->addCallRetractListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::addCallRingingListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1173_addCallRingingListener)
-HXLINE(1174) handler( ::Dynamic(data->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("sid",0e,9f,57,00),::hx::paccDynamic)));
-HXLINE(1175) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1173_addCallRingingListener)
-HXDLIN(1173) this->on(HX_("call/ringing",81,75,54,f9), ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addCallRingingListener,(void))
-
-void Client_obj::addCallRingingListener__fromC(::cpp::Function< void (const char*,const char*,void*) > handler,void* handler__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (const char* HX_COMMA const char* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(2)
- void _hx_run(::String a0,::String a1){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addCallRingingListener__fromC)
-HXLINE( 221) ::cpp::Function< void (const char*,const char*,void*) > handler1 = handler;
-HXLINE( 213) const char* cStrPtr = a0.utf8_str();
-HXDLIN( 213) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
-HXDLIN( 213) {
-HXLINE( 213) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 213) if (::hx::IsNull( store )) {
-HXLINE( 213) store = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a0));
-HXDLIN( 213) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 213) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 213) const char* cStrPtr1 = a1.utf8_str();
-HXDLIN( 213) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(cStrPtr1);
-HXDLIN( 213) {
-HXLINE( 213) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 213) if (::hx::IsNull( store1 )) {
-HXLINE( 213) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a1));
-HXDLIN( 213) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXLINE( 213) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) handler1(cStrPtr,cStrPtr1,handler__context);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addCallRingingListener__fromC)
-HXDLIN( 252) this->addCallRingingListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::addCallUpdateStatusListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1185_addCallUpdateStatusListener)
-HXLINE(1186) handler( ::Dynamic(data->__Field(HX_("session",56,17,98,93),::hx::paccDynamic)));
-HXLINE(1187) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1185_addCallUpdateStatusListener)
-HXDLIN(1185) this->on(HX_("call/updateStatus",6c,f5,e6,ec), ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addCallUpdateStatusListener,(void))
-
-void Client_obj::addCallUpdateStatusListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context){
- 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( ::snikket::jingle::InitiatedSession a0){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addCallUpdateStatusListener__fromC)
-HXLINE( 221) ::cpp::Function< void (void*,void*) > handler1 = handler;
-HXLINE( 215) ::Dynamic haxeObject = a0;
-HXDLIN( 215) void* ptr = haxeObject.mPtr;
-HXDLIN( 215) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 215) {
-HXLINE( 215) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 215) if (::hx::IsNull( store )) {
-HXLINE( 215) 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( 215) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 215) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) handler1(ptr,handler__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addCallUpdateStatusListener__fromC)
-HXDLIN( 252) this->addCallUpdateStatusListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::addCallMediaListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1199_addCallMediaListener)
-HXLINE(1200) 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(1201) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1199_addCallMediaListener)
-HXDLIN(1199) this->on(HX_("call/media",73,5d,1d,c7), ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addCallMediaListener,(void))
-
-void Client_obj::addCallMediaListener__fromC(::cpp::Function< void (void*,bool,bool,void*) > handler,void* handler__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void* HX_COMMA bool HX_COMMA bool HX_COMMA void*) >,handler,void*,handler__context) HXARGC(3)
- void _hx_run( ::snikket::jingle::InitiatedSession a0,bool a1,bool a2){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addCallMediaListener__fromC)
-HXLINE( 221) ::cpp::Function< void (void*,bool,bool,void*) > handler1 = handler;
-HXLINE( 215) ::Dynamic haxeObject = a0;
-HXDLIN( 215) void* ptr = haxeObject.mPtr;
-HXDLIN( 215) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 215) {
-HXLINE( 215) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 215) if (::hx::IsNull( store )) {
-HXLINE( 215) 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( 215) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 215) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) handler1(ptr,a1,a2,handler__context);
- }
- HX_END_LOCAL_FUNC3((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addCallMediaListener__fromC)
-HXDLIN( 252) this->addCallMediaListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::addCallTrackListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1212_addCallTrackListener)
-HXLINE(1213) handler( ::Dynamic(data->__Field(HX_("chatId",d3,04,77,b7),::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(1214) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1212_addCallTrackListener)
-HXDLIN(1212) this->on(HX_("call/track",1a,e7,80,d7), ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,addCallTrackListener,(void))
-
-void Client_obj::addCallTrackListener__fromC(::cpp::Function< void (const char*,void*,void**,size_t,void*) > handler,void* handler__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (const char* HX_COMMA void* HX_COMMA void** HX_COMMA size_t HX_COMMA void*) >,handler,void*,handler__context) HXARGC(3)
- void _hx_run(::String a0, ::snikket::jingle::MediaStreamTrack a1,::Array< ::Dynamic> a2){
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_221_addCallTrackListener__fromC)
-HXLINE( 221) ::cpp::Function< void (const char*,void*,void**,size_t,void*) > handler1 = handler;
-HXLINE( 213) const char* cStrPtr = a0.utf8_str();
-HXDLIN( 213) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
-HXDLIN( 213) {
-HXLINE( 213) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 213) if (::hx::IsNull( store )) {
-HXLINE( 213) store = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a0));
-HXDLIN( 213) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 213) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 213) const char* _hx_tmp = cStrPtr;
-HXLINE( 215) ::Dynamic haxeObject = a1;
-HXDLIN( 215) void* ptr = haxeObject.mPtr;
-HXDLIN( 215) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 215) {
-HXLINE( 215) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 215) if (::hx::IsNull( store1 )) {
-HXLINE( 215) store1 = ::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( 215) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXLINE( 215) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 215) void* _hx_tmp1 = ptr;
-HXLINE( 211) {
-HXLINE( 211) int _g = 0;
-HXDLIN( 211) while((_g < a2->length)){
-HXLINE( 211) ::snikket::jingle::MediaStream el = a2->__get(_g).StaticCast< ::snikket::jingle::MediaStream >();
-HXDLIN( 211) _g = (_g + 1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic haxeObject1 = el;
-HXDLIN( 211) void* ptr1 = haxeObject1.mPtr;
-HXDLIN( 211) ::cpp::Int64 ptrInt642 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store2 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt642);
-HXDLIN( 211) if (::hx::IsNull( store2 )) {
-HXLINE( 211) store2 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),haxeObject1));
-HXDLIN( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt642,store2);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store2).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 211) void** ptr2 = (void**)a2->getBase();
-HXDLIN( 211) ::cpp::Int64 ptrInt643 = reinterpret_cast<int64_t>(ptr2);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store3 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt643);
-HXDLIN( 211) if (::hx::IsNull( store3 )) {
-HXLINE( 211) store3 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a2));
-HXDLIN( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt643,store3);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store3).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) handler1(_hx_tmp,_hx_tmp1,ptr2,( (size_t)(a2->length) ),handler__context);
- }
- HX_END_LOCAL_FUNC3((void))
-
- HX_STACKFRAME(&_hx_pos_e44af0c967c6b6e2_252_addCallTrackListener__fromC)
-HXDLIN( 252) this->addCallTrackListener( ::Dynamic(new _hx_Closure_0(handler,handler__context)));
- }
-
-
-void Client_obj::setInForeground(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1221_setInForeground)
-HXLINE(1222) if (!(this->stream->csi)) {
-HXLINE(1222) return;
- }
-HXLINE(1223) ::snikket::GenericStream _hx_tmp = this->stream;
-HXDLIN(1223) _hx_tmp->sendStanza( ::snikket::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)))));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Client_obj,setInForeground,(void))
-
-void Client_obj::setNotInForeground(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1229_setNotInForeground)
-HXLINE(1230) if (!(this->stream->csi)) {
-HXLINE(1230) return;
- }
-HXLINE(1231) ::snikket::GenericStream _hx_tmp = this->stream;
-HXDLIN(1231) _hx_tmp->sendStanza( ::snikket::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)))));
- }
-
-
-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_ead56881d4bbcaca_1239_fetchMediaByHash)
-HXLINE(1239) return x;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::snikket::Client,_gthis,::Array< ::Dynamic>,hashes,::Array< ::Dynamic>,counterparts) HXARGC(1)
- ::Dynamic _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1239_fetchMediaByHash)
-HXLINE(1239) ::snikket::Client _gthis1 = _gthis;
-HXDLIN(1239) ::Array< ::Dynamic> hashes1 = hashes;
-HXDLIN(1239) return _gthis1->fetchMediaByHash(hashes1,counterparts->slice(1,null()));
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1235_fetchMediaByHash)
-HXDLIN(1235) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1238) bool _hx_tmp;
-HXDLIN(1238) if ((hashes->length >= 1)) {
-HXLINE(1238) _hx_tmp = (counterparts->length < 1);
- }
- else {
-HXLINE(1238) _hx_tmp = true;
- }
-HXDLIN(1238) if (_hx_tmp) {
-HXLINE(1238) return ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("no counterparts left",64,15,a4,38));
- }
-HXLINE(1239) return ::thenshim::_Promise::Promise_Impl__obj::then(this->fetchMediaByHashOneCounterpart(hashes,counterparts->__get(0).StaticCast< ::snikket::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::fetchMediaByHashOneCounterpart(::Array< ::Dynamic> hashes, ::snikket::JID counterpart){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::Client,_gthis,::Array< ::Dynamic>,hashes) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1246_fetchMediaByHashOneCounterpart)
-HXLINE(1246) ::snikket::Persistence_obj::hasMedia(_gthis->persistence,hashes->__get(0).StaticCast< ::snikket::Hash >()->algorithm,hashes->__get(0).StaticCast< ::snikket::Hash >()->hash,resolve);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_6, ::snikket::JID,counterpart, ::snikket::Client,_gthis,::Array< ::Dynamic>,hashes) HXARGC(1)
- ::Dynamic _hx_run(bool has){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_3, ::snikket::JID,counterpart, ::snikket::Client,_gthis,::Array< ::Dynamic>,hashes) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_2, ::snikket::Client,_gthis, ::Dynamic,resolve, ::Dynamic,reject, ::snikket::queries::BoB,q1) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1252_fetchMediaByHashOneCounterpart)
-HXLINE(1253) ::Dynamic r = q1->getResult();
-HXLINE(1254) if (::hx::IsNull( r )) {
-HXLINE(1255) reject(HX_("bad or no result from BoB query",ad,e0,04,ee));
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,resolve) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1257_fetchMediaByHashOneCounterpart)
-HXLINE(1257) resolve(null());
- }
- HX_END_LOCAL_FUNC0((void))
-
-HXLINE(1257) ::snikket::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_1(resolve)));
- }
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1250_fetchMediaByHashOneCounterpart)
-HXLINE(1251) ::String q = counterpart->asString();
-HXDLIN(1251) ::snikket::queries::BoB q1 = ::snikket::queries::BoB_obj::forHash(q,hashes->__get(0).StaticCast< ::snikket::Hash >());
-HXLINE(1252) q1->onFinished( ::Dynamic(new _hx_Closure_2(_gthis,resolve,reject,q1)));
-HXLINE(1260) _gthis->sendQuery(q1);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_4) HXARGC(1)
- ::Dynamic _hx_run( ::Dynamic x){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1261_fetchMediaByHashOneCounterpart)
-HXLINE(1261) return x;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_5, ::snikket::JID,counterpart, ::snikket::Client,_gthis,::Array< ::Dynamic>,hashes) HXARGC(1)
- ::Dynamic _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1261_fetchMediaByHashOneCounterpart)
-HXLINE(1261) ::snikket::Client _gthis1 = _gthis;
-HXDLIN(1261) ::Array< ::Dynamic> _hx_tmp = hashes->slice(1,null());
-HXDLIN(1261) return _gthis1->fetchMediaByHashOneCounterpart(_hx_tmp,counterpart);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1247_fetchMediaByHashOneCounterpart)
-HXLINE(1248) if (has) {
-HXLINE(1248) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
- }
-HXLINE(1250) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_3(counterpart,_gthis,hashes))), ::Dynamic(new _hx_Closure_4()), ::Dynamic(new _hx_Closure_5(counterpart,_gthis,hashes)));
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1242_fetchMediaByHashOneCounterpart)
-HXDLIN(1242) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1243) if ((hashes->length < 1)) {
-HXLINE(1243) return ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("no hashes left",8c,68,e6,69));
- }
-HXLINE(1245) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_0(_gthis,hashes))), ::Dynamic(new _hx_Closure_6(counterpart,_gthis,hashes)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Client_obj,fetchMediaByHashOneCounterpart,return )
-
-void Client_obj::chatActivity( ::snikket::Chat chat,::hx::Null< bool > __o_trigger){
- bool trigger = __o_trigger.Default(true);
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1266_chatActivity)
-HXLINE(1267) if (chat->isBlocked) {
-HXLINE(1267) return;
- }
-HXLINE(1268) if ((chat->uiState == 2)) {
-HXLINE(1269) chat->uiState = 1;
-HXLINE(1270) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(1270) ::snikket::Persistence_obj::storeChats(_hx_tmp,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
- }
-HXLINE(1272) int pinnedCount;
-HXDLIN(1272) if ((chat->uiState == 0)) {
-HXLINE(1272) pinnedCount = 0;
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
- int _hx_run( ::snikket::Chat item,int result){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1272_chatActivity)
-HXLINE(1272) int pinnedCount;
-HXDLIN(1272) if ((item->uiState == 0)) {
-HXLINE(1272) pinnedCount = 1;
- }
- else {
-HXLINE(1272) pinnedCount = 0;
- }
-HXDLIN(1272) return (result + pinnedCount);
- }
- HX_END_LOCAL_FUNC2(return)
-
-HXLINE(1272) pinnedCount = ( (int)(::Lambda_obj::fold(this->chats, ::Dynamic(new _hx_Closure_0()),0)) );
- }
-HXLINE(1273) int idx = this->chats->indexOf(chat,null());
-HXLINE(1274) if ((idx > pinnedCount)) {
-HXLINE(1275) this->chats->removeRange(idx,1);
-HXLINE(1276) this->chats->insert(pinnedCount,chat);
- }
-HXLINE(1278) if (trigger) {
-HXLINE(1278) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
- }
- }
-
-
-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( ::snikket::Chat a, ::snikket::Chat b){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1283_sortChats)
-HXLINE(1284) bool _hx_tmp;
-HXDLIN(1284) if ((a->uiState == 0)) {
-HXLINE(1284) _hx_tmp = (b->uiState != 0);
- }
- else {
-HXLINE(1284) _hx_tmp = false;
- }
-HXDLIN(1284) if (_hx_tmp) {
-HXLINE(1284) return -1;
- }
-HXLINE(1285) bool _hx_tmp1;
-HXDLIN(1285) if ((b->uiState == 0)) {
-HXLINE(1285) _hx_tmp1 = (a->uiState != 0);
- }
- else {
-HXLINE(1285) _hx_tmp1 = false;
- }
-HXDLIN(1285) if (_hx_tmp1) {
-HXLINE(1285) return 1;
- }
-HXLINE(1286) ::String _hx_tmp2;
-HXDLIN(1286) ::String tmp = a->lastMessageTimestamp();
-HXDLIN(1286) if (::hx::IsNotNull( tmp )) {
-HXLINE(1286) _hx_tmp2 = tmp;
- }
- else {
-HXLINE(1286) _hx_tmp2 = HX_("0",30,00,00,00);
- }
-HXDLIN(1286) ::String tmp1 = b->lastMessageTimestamp();
-HXDLIN(1286) ::String _hx_tmp3;
-HXDLIN(1286) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1286) _hx_tmp3 = tmp1;
- }
- else {
-HXLINE(1286) _hx_tmp3 = HX_("0",30,00,00,00);
- }
-HXDLIN(1286) return -(::Reflect_obj::compare(_hx_tmp2,_hx_tmp3));
- }
- HX_END_LOCAL_FUNC2(return)
-
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1283_sortChats)
-HXDLIN(1283) this->chats->sort( ::Dynamic(new _hx_Closure_0()));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Client_obj,sortChats,(void))
-
-void Client_obj::storeMessages(::Array< ::Dynamic> messages, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1292_storeMessages)
-HXDLIN(1292) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(1292) ::String _hx_tmp1 = this->accountId();
-HXDLIN(1292) ::Dynamic tmp = callback;
-HXDLIN(1292) ::Dynamic _hx_tmp2;
-HXDLIN(1292) if (::hx::IsNotNull( tmp )) {
-HXDLIN(1292) _hx_tmp2 = tmp;
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> _){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1292_storeMessages)
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXDLIN(1292) _hx_tmp2 = ::Dynamic(new _hx_Closure_0());
- }
-HXDLIN(1292) ::snikket::Persistence_obj::storeMessages(_hx_tmp,_hx_tmp1,messages,_hx_tmp2);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Client_obj,storeMessages,(void))
-
-void Client_obj::sendQuery( ::snikket::queries::GenericQuery query){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1297_sendQuery)
-HXDLIN(1297) ::snikket::GenericStream _hx_tmp = this->stream;
-HXDLIN(1297) _hx_tmp->sendIq(query->getQueryStanza(),query->handleResponse_dyn());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,sendQuery,(void))
-
-void Client_obj::sendStanza( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1301_sendStanza)
-HXLINE(1302) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) ) )) {
-HXLINE(1302) ::Dynamic this1 = stanza->attr;
-HXDLIN(1302) ::String value = ::snikket::ID_obj::_hx_long();
-HXDLIN(1302) ::Reflect_obj::setField(this1,HX_("id",db,5b,00,00),value);
- }
-HXLINE(1303) 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_ead56881d4bbcaca_1308_sendPresence)
-HXLINE(1309) ::Dynamic tmp = augment;
-HXDLIN(1309) ::Dynamic _hx_tmp;
-HXDLIN(1309) if (::hx::IsNotNull( tmp )) {
-HXLINE(1309) _hx_tmp = tmp;
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- ::snikket::Stanza _hx_run( ::snikket::Stanza s){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1309_sendPresence)
-HXLINE(1309) return s;
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE(1309) _hx_tmp = ::Dynamic(new _hx_Closure_0());
- }
-HXLINE(1310) ::snikket::Caps _hx_tmp1 = this->caps;
-HXDLIN(1310) ::Dynamic _hx_tmp2;
-HXDLIN(1310) if (::hx::IsNull( to )) {
-HXLINE(1310) _hx_tmp2 = ::Dynamic(::hx::Anon_obj::Create(0));
- }
- else {
-HXLINE(1310) _hx_tmp2 = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("to",7b,65,00,00),to));
- }
-HXDLIN(1310) ::snikket::Stanza _hx_tmp3 = _hx_tmp1->addC( ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("presence",3b,52,d7,66),_hx_tmp2));
-HXLINE(1311) ::String _hx_tmp4 = this->displayName();
-HXLINE(1308) this->sendStanza(( ( ::snikket::Stanza)(_hx_tmp(_hx_tmp3->textTag(HX_("nick",a3,7b,05,49),_hx_tmp4, ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/nick",17,30,dc,e9)))))) ));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Client_obj,sendPresence,(void))
-
-void Client_obj::getIceServers( ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::queries::ExtDiscoGet,extDiscoGet, ::Dynamic,callback) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1319_getIceServers)
-HXLINE(1320) ::haxe::ds::StringMap didUrl = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1321) ::Array< ::Dynamic> servers = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1322) {
-HXLINE(1322) int _g = 0;
-HXDLIN(1322) ::Array< ::Dynamic> _g1;
-HXDLIN(1322) ::Array< ::Dynamic> tmp = extDiscoGet->getResult();
-HXDLIN(1322) if (::hx::IsNotNull( tmp )) {
-HXLINE(1322) _g1 = tmp;
- }
- else {
-HXLINE(1322) _g1 = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN(1322) while((_g < _g1->length)){
-HXLINE(1322) ::snikket::Stanza service = _g1->__get(_g).StaticCast< ::snikket::Stanza >();
-HXDLIN(1322) _g = (_g + 1);
-HXLINE(1323) if (!(::Array_obj< ::String >::fromData( _hx_array_data_7c06fe3c_200,4)->contains(( (::String)(::Reflect_obj::field(service->attr,HX_("type",ba,f2,08,4d))) )))) {
-HXLINE(1323) continue;
- }
-HXLINE(1324) ::String host = ( (::String)(::Reflect_obj::field(service->attr,HX_("host",68,cf,12,45))) );
-HXLINE(1325) bool _hx_tmp;
-HXDLIN(1325) if (::hx::IsNotNull( host )) {
-HXLINE(1325) _hx_tmp = (host == HX_("",00,00,00,00));
- }
- else {
-HXLINE(1325) _hx_tmp = true;
- }
-HXDLIN(1325) if (_hx_tmp) {
-HXLINE(1325) continue;
- }
-HXLINE(1326) ::Dynamic port = ::Std_obj::parseInt(( (::String)(::Reflect_obj::field(service->attr,HX_("port",81,83,5c,4a))) ));
-HXLINE(1327) bool _hx_tmp1;
-HXDLIN(1327) bool _hx_tmp2;
-HXDLIN(1327) if (::hx::IsNotNull( port )) {
-HXLINE(1327) _hx_tmp2 = ::hx::IsLess( port,1 );
- }
- else {
-HXLINE(1327) _hx_tmp2 = true;
- }
-HXDLIN(1327) if (!(_hx_tmp2)) {
-HXLINE(1327) _hx_tmp1 = ::hx::IsGreater( port,65535 );
- }
- else {
-HXLINE(1327) _hx_tmp1 = true;
- }
-HXDLIN(1327) if (_hx_tmp1) {
-HXLINE(1327) continue;
- }
-HXLINE(1328) bool isTurn = ::Array_obj< ::String >::fromData( _hx_array_data_7c06fe3c_201,2)->contains(( (::String)(::Reflect_obj::field(service->attr,HX_("type",ba,f2,08,4d))) ));
-HXLINE(1329) ::String url = (( (::String)(::Reflect_obj::field(service->attr,HX_("type",ba,f2,08,4d))) ) + HX_(":",3a,00,00,00));
-HXDLIN(1329) ::String url1;
-HXDLIN(1329) if ((host.indexOf(HX_(":",3a,00,00,00),null()) >= 0)) {
-HXLINE(1329) url1 = ((HX_("[",5b,00,00,00) + host) + HX_("]",5d,00,00,00));
- }
- else {
-HXLINE(1329) url1 = host;
- }
-HXDLIN(1329) ::String url2;
-HXDLIN(1329) if (isTurn) {
-HXLINE(1329) url2 = (HX_("?transport=",73,c9,f2,13) + ( (::String)(::Reflect_obj::field(service->attr,HX_("transport",a9,4f,2f,4c))) ));
- }
- else {
-HXLINE(1329) url2 = HX_("",00,00,00,00);
- }
-HXDLIN(1329) ::String url3 = ((((url + url1) + HX_(":",3a,00,00,00)) + port) + url2);
-HXLINE(1330) if (!(didUrl->exists(url3))) {
-HXLINE(1332) ::String _hx_tmp3 = ( (::String)(::Reflect_obj::field(service->attr,HX_("username",16,86,eb,20))) );
-HXLINE(1331) 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))) ))
- ->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(1336) didUrl->set(url3,true);
- }
- }
- }
-HXLINE(1339) callback(servers);
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1317_getIceServers)
-HXLINE(1318) ::snikket::queries::ExtDiscoGet extDiscoGet = ::snikket::queries::ExtDiscoGet_obj::__alloc( HX_CTX ,this->jid->domain);
-HXLINE(1319) extDiscoGet->onFinished( ::Dynamic(new _hx_Closure_0(extDiscoGet,callback)));
-HXLINE(1341) this->sendQuery(extDiscoGet);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,getIceServers,(void))
-
-void Client_obj::discoverServices( ::snikket::JID target,::String node, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::snikket::Client,_gthis, ::Dynamic,callback, ::snikket::queries::DiscoItemsGet,itemsGet) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1348_discoverServices)
-HXLINE(1348) int _g = 0;
-HXDLIN(1348) ::Array< ::Dynamic> _g1;
-HXDLIN(1348) ::Array< ::Dynamic> tmp = itemsGet->getResult();
-HXDLIN(1348) if (::hx::IsNotNull( tmp )) {
-HXLINE(1348) _g1 = tmp;
- }
- else {
-HXLINE(1348) _g1 = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN(1348) while((_g < _g1->length)){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::queries::DiscoInfoGet,infoGet1, ::Dynamic,item, ::Dynamic,callback) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1351_discoverServices)
-HXLINE(1351) ::Dynamic callback1 = callback;
-HXDLIN(1351) ::Dynamic item1 = item;
-HXDLIN(1351) callback1(item1,infoGet1->getResult());
- }
- HX_END_LOCAL_FUNC0((void))
-
-HXLINE(1348) ::Dynamic item = _g1->__get(_g);
-HXDLIN(1348) _g = (_g + 1);
-HXLINE(1349) ::String infoGet = ( ( ::snikket::JID)(item->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) )->asString();
-HXDLIN(1349) ::snikket::queries::DiscoInfoGet infoGet1 = ::snikket::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,infoGet,( (::String)(item->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) ));
-HXLINE(1350) infoGet1->onFinished( ::Dynamic(new _hx_Closure_0(infoGet1,item,callback)));
-HXLINE(1353) _gthis->sendQuery(infoGet1);
- }
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1345_discoverServices)
-HXDLIN(1345) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1346) ::snikket::queries::DiscoItemsGet itemsGet = ::snikket::queries::DiscoItemsGet_obj::__alloc( HX_CTX ,target->asString(),node);
-HXLINE(1347) itemsGet->onFinished( ::Dynamic(new _hx_Closure_1(_gthis,callback,itemsGet)));
-HXLINE(1356) this->sendQuery(itemsGet);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Client_obj,discoverServices,(void))
-
-void Client_obj::notifyMessageHandlers( ::snikket::ChatMessage message,int event){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1360_notifyMessageHandlers)
-HXLINE(1361) ::snikket::Chat chat = this->getChat(message->chatId());
-HXLINE(1362) bool _hx_tmp;
-HXDLIN(1362) if (::hx::IsNotNull( chat )) {
-HXLINE(1362) _hx_tmp = chat->isBlocked;
- }
- else {
-HXLINE(1362) _hx_tmp = false;
- }
-HXDLIN(1362) if (_hx_tmp) {
-HXLINE(1362) return;
- }
-HXLINE(1363) {
-HXLINE(1363) int _g = 0;
-HXDLIN(1363) ::Array< ::Dynamic> _g1 = this->chatMessageHandlers;
-HXDLIN(1363) while((_g < _g1->length)){
-HXLINE(1363) ::Dynamic handler = _g1->__get(_g);
-HXDLIN(1363) _g = (_g + 1);
-HXLINE(1364) handler(message,event);
- }
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Client_obj,notifyMessageHandlers,(void))
-
-void Client_obj::notifySyncMessageHandlers( ::snikket::ChatMessage message){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1369_notifySyncMessageHandlers)
-HXLINE(1370) bool _hx_tmp;
-HXDLIN(1370) if (::hx::IsNotNull( message )) {
-HXLINE(1370) _hx_tmp = (message->versions->length > 1);
- }
- else {
-HXLINE(1370) _hx_tmp = true;
- }
-HXDLIN(1370) if (_hx_tmp) {
-HXLINE(1370) return;
- }
-HXLINE(1371) ::snikket::Chat chat = this->getChat(message->chatId());
-HXLINE(1372) bool _hx_tmp1;
-HXDLIN(1372) if (::hx::IsNotNull( chat )) {
-HXLINE(1372) _hx_tmp1 = chat->isBlocked;
- }
- else {
-HXLINE(1372) _hx_tmp1 = false;
- }
-HXDLIN(1372) if (_hx_tmp1) {
-HXLINE(1372) return;
- }
-HXLINE(1373) {
-HXLINE(1373) int _g = 0;
-HXDLIN(1373) ::Array< ::Dynamic> _g1 = this->syncMessageHandlers;
-HXDLIN(1373) while((_g < _g1->length)){
-HXLINE(1373) ::Dynamic handler = _g1->__get(_g);
-HXDLIN(1373) _g = (_g + 1);
-HXLINE(1374) handler(message);
- }
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,notifySyncMessageHandlers,(void))
-
-void Client_obj::rosterGet(){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::Client,_gthis, ::snikket::queries::RosterGet,rosterGet) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1380_rosterGet)
-HXLINE(1381) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1382) {
-HXLINE(1382) int _g = 0;
-HXDLIN(1382) ::Array< ::Dynamic> _g1 = rosterGet->getResult();
-HXDLIN(1382) while((_g < _g1->length)){
-HXLINE(1382) ::Dynamic item = _g1->__get(_g);
-HXDLIN(1382) _g = (_g + 1);
-HXLINE(1383) ::snikket::DirectChat chat = _gthis->getDirectChat(( (::String)(item->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ),false);
-HXLINE(1384) chat->updateFromRoster(item);
-HXLINE(1385) chatsToUpdate->push(chat);
- }
- }
-HXLINE(1387) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN(1387) ::snikket::Persistence_obj::storeChats(_gthis1,_gthis->accountId(),chatsToUpdate);
-HXLINE(1388) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),chatsToUpdate);
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1378_rosterGet)
-HXDLIN(1378) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1379) ::snikket::queries::RosterGet rosterGet = ::snikket::queries::RosterGet_obj::__alloc( HX_CTX ,null());
-HXLINE(1380) rosterGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,rosterGet)));
-HXLINE(1390) this->sendQuery(rosterGet);
- }
-
-
-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, ::snikket::Client,_gthis, ::Dynamic,handleChat, ::Dynamic,handleCaps, ::snikket::queries::DiscoInfoGet,discoGet,::String,jid) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1395_startChatWith)
-HXLINE(1396) ::snikket::Caps resultCaps = discoGet->getResult();
-HXLINE(1397) if (::hx::IsNull( resultCaps )) {
-HXLINE(1398) ::snikket::Stanza tmp = discoGet->responseStanza;
-HXDLIN(1398) ::snikket::Stanza tmp1;
-HXDLIN(1398) if (::hx::IsNotNull( tmp )) {
-HXLINE(1398) tmp1 = tmp->getChild(HX_("error",c8,cb,29,73),null());
- }
- else {
-HXLINE(1398) tmp1 = null();
- }
-HXDLIN(1398) ::snikket::Stanza err;
-HXDLIN(1398) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1398) err = tmp1->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
- }
- else {
-HXLINE(1398) err = null();
- }
-HXLINE(1399) bool _hx_tmp;
-HXDLIN(1399) bool _hx_tmp1;
-HXDLIN(1399) if (::hx::IsNotNull( err )) {
-HXLINE(1399) ::String _hx_tmp2;
-HXDLIN(1399) if (::hx::IsNotNull( err )) {
-HXLINE(1399) _hx_tmp2 = err->name;
- }
- else {
-HXLINE(1399) _hx_tmp2 = null();
- }
-HXDLIN(1399) _hx_tmp1 = (_hx_tmp2 == HX_("service-unavailable",f8,3c,11,1c));
- }
- else {
-HXLINE(1399) _hx_tmp1 = true;
- }
-HXDLIN(1399) if (!(_hx_tmp1)) {
-HXLINE(1399) ::String _hx_tmp3;
-HXDLIN(1399) if (::hx::IsNotNull( err )) {
-HXLINE(1399) _hx_tmp3 = err->name;
- }
- else {
-HXLINE(1399) _hx_tmp3 = null();
- }
-HXDLIN(1399) _hx_tmp = (_hx_tmp3 == HX_("feature-not-implemented",71,20,2e,96));
- }
- else {
-HXLINE(1399) _hx_tmp = true;
- }
-HXDLIN(1399) if (_hx_tmp) {
-HXLINE(1400) ::snikket::DirectChat chat = _gthis->getDirectChat(jid,false);
-HXLINE(1401) handleChat(chat);
-HXLINE(1402) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN(1402) ::snikket::Persistence_obj::storeChats(_gthis1,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
- }
- }
- else {
-HXLINE(1405) ::snikket::Persistence_obj::storeCaps(_gthis->persistence,resultCaps);
-HXLINE(1406) int uiState = ( (int)(handleCaps(resultCaps)) );
-HXLINE(1407) if (resultCaps->isChannel(jid)) {
-HXLINE(1408) ::snikket::Channel chat1 = ::snikket::Channel_obj::__alloc( HX_CTX ,_gthis,_gthis->stream,_gthis->persistence,jid,uiState,false,null(),null(),null(),resultCaps);
-HXLINE(1409) handleChat(chat1);
-HXLINE(1410) _gthis->chats->unshift(chat1);
-HXLINE(1411) ::Dynamic _gthis2 = _gthis->persistence;
-HXDLIN(1411) ::snikket::Persistence_obj::storeChats(_gthis2,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat1));
- }
- else {
-HXLINE(1413) ::snikket::DirectChat chat2 = _gthis->getDirectChat(jid,false);
-HXLINE(1414) handleChat(chat2);
-HXLINE(1415) ::Dynamic _gthis3 = _gthis->persistence;
-HXDLIN(1415) ::snikket::Persistence_obj::storeChats(_gthis3,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat2));
- }
- }
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1393_startChatWith)
-HXDLIN(1393) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1394) ::snikket::queries::DiscoInfoGet discoGet = ::snikket::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,jid,null());
-HXLINE(1395) discoGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,handleChat,handleCaps,discoGet,jid)));
-HXLINE(1419) this->sendQuery(discoGet);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Client_obj,startChatWith,(void))
-
-void Client_obj::serverBlocked(::String blocked){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1422_serverBlocked)
-HXLINE(1423) ::snikket::Chat chat;
-HXDLIN(1423) ::snikket::Chat tmp = this->getChat(blocked);
-HXDLIN(1423) if (::hx::IsNotNull( tmp )) {
-HXLINE(1423) chat = tmp;
- }
- else {
-HXLINE(1423) chat = this->getDirectChat(blocked,false);
- }
-HXLINE(1424) chat->block(null(),false);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,serverBlocked,(void))
-
-void Client_obj::bookmarksGet( ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::Client,_gthis, ::snikket::queries::BlocklistGet,blockingGet) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1431_bookmarksGet)
-HXLINE(1431) int _g = 0;
-HXDLIN(1431) ::Array< ::String > _g1 = blockingGet->getResult();
-HXDLIN(1431) while((_g < _g1->length)){
-HXLINE(1431) ::String blocked = _g1->__get(_g);
-HXDLIN(1431) _g = (_g + 1);
-HXLINE(1432) _gthis->serverBlocked(blocked);
- }
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3, ::snikket::Client,_gthis, ::snikket::queries::PubsubGet,mdsGet) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1438_bookmarksGet)
-HXLINE(1439) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1440) {
-HXLINE(1440) int _g = 0;
-HXDLIN(1440) ::Array< ::Dynamic> _g1 = mdsGet->getResult();
-HXDLIN(1440) while((_g < _g1->length)){
-HXLINE(1440) ::snikket::Stanza item = _g1->__get(_g).StaticCast< ::snikket::Stanza >();
-HXDLIN(1440) _g = (_g + 1);
-HXLINE(1441) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ) )) {
-HXLINE(1442) ::snikket::Stanza tmp = item->getChild(HX_("displayed",21,17,db,c1),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb));
-HXDLIN(1442) ::snikket::Stanza upTo;
-HXDLIN(1442) if (::hx::IsNotNull( tmp )) {
-HXLINE(1442) upTo = tmp->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
- }
- else {
-HXLINE(1442) upTo = null();
- }
-HXLINE(1443) ::snikket::Client _gthis1 = _gthis;
-HXDLIN(1443) ::snikket::Chat chat = _gthis1->getChat(( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ));
-HXLINE(1444) if (::hx::IsNull( chat )) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
- int _hx_run( ::snikket::Caps caps){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1445_bookmarksGet)
-HXLINE(1445) return 2;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::snikket::Stanza,upTo) HXARGC(1)
- void _hx_run( ::snikket::Chat chat){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1445_bookmarksGet)
-HXLINE(1445) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(upTo->attr,HX_("id",db,5b,00,00))) );
-HXDLIN(1445) chat->markReadUpToId(_hx_tmp,( (::String)(::Reflect_obj::field(upTo->attr,HX_("by",d7,55,00,00))) ),null());
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE(1445) ::snikket::Client _gthis2 = _gthis;
-HXDLIN(1445) _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)));
- }
- else {
-HXLINE(1447) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(upTo->attr,HX_("id",db,5b,00,00))) );
-HXDLIN(1447) chat->markReadUpToId(_hx_tmp,( (::String)(::Reflect_obj::field(upTo->attr,HX_("by",d7,55,00,00))) ),null());
-HXLINE(1448) chatsToUpdate->push(chat);
- }
- }
- }
- }
-HXLINE(1452) ::Dynamic _gthis3 = _gthis->persistence;
-HXDLIN(1452) ::snikket::Persistence_obj::storeChats(_gthis3,_gthis->accountId(),chatsToUpdate);
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_6, ::snikket::Client,_gthis, ::snikket::queries::PubsubGet,pubsubGet, ::Dynamic,callback) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1457_bookmarksGet)
-HXLINE(1458) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1459) {
-HXLINE(1459) int _g = 0;
-HXDLIN(1459) ::Array< ::Dynamic> _g1 = pubsubGet->getResult();
-HXDLIN(1459) while((_g < _g1->length)){
-HXLINE(1459) ::snikket::Stanza item = _g1->__get(_g).StaticCast< ::snikket::Stanza >();
-HXDLIN(1459) _g = (_g + 1);
-HXLINE(1460) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ) )) {
-HXLINE(1461) ::snikket::Client _gthis1 = _gthis;
-HXDLIN(1461) ::snikket::Chat chat = _gthis1->getChat(( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ));
-HXLINE(1462) if (::hx::IsNull( chat )) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4, ::snikket::Stanza,item) HXARGC(1)
- int _hx_run( ::snikket::Caps caps){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1465_bookmarksGet)
-HXLINE(1466) ::snikket::Identity identity = caps->identities->__get(0).StaticCast< ::snikket::Identity >();
-HXLINE(1467) ::snikket::Stanza conf = item->getChild(HX_("conference",1c,2b,83,41),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d));
-HXLINE(1468) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(conf->attr,HX_("name",4b,72,ff,48))) ) )) {
-HXLINE(1469) ::String value;
-HXDLIN(1469) if (::hx::IsNotNull( identity )) {
-HXLINE(1469) value = identity->name;
- }
- else {
-HXLINE(1469) value = null();
- }
-HXDLIN(1469) ::Reflect_obj::setField(conf->attr,HX_("name",4b,72,ff,48),value);
- }
-HXLINE(1471) bool _hx_tmp;
-HXDLIN(1471) bool _hx_tmp1;
-HXDLIN(1471) if ((( (::String)(::Reflect_obj::field(conf->attr,HX_("autojoin",d9,f6,b1,3e))) ) != HX_("1",31,00,00,00))) {
-HXLINE(1471) _hx_tmp1 = (( (::String)(::Reflect_obj::field(conf->attr,HX_("autojoin",d9,f6,b1,3e))) ) == HX_("true",4e,a7,03,4d));
- }
- else {
-HXLINE(1471) _hx_tmp1 = true;
- }
-HXDLIN(1471) if (!(_hx_tmp1)) {
-HXLINE(1471) _hx_tmp = !(caps->isChannel(( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) )));
- }
- else {
-HXLINE(1471) _hx_tmp = true;
- }
-HXDLIN(1471) if (_hx_tmp) {
-HXLINE(1471) return 1;
- }
- else {
-HXLINE(1471) return 2;
- }
-HXDLIN(1471) return null();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_5, ::snikket::Stanza,item) HXARGC(1)
- void _hx_run( ::snikket::Chat chat){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1474_bookmarksGet)
-HXLINE(1474) chat->updateFromBookmark(item);
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE(1463) ::snikket::Client _gthis2 = _gthis;
-HXDLIN(1463) _gthis2->startChatWith(( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ), ::Dynamic(new _hx_Closure_4(item)), ::Dynamic(new _hx_Closure_5(item)));
- }
- else {
-HXLINE(1478) chat->updateFromBookmark(item);
-HXLINE(1479) chatsToUpdate->push(chat);
- }
- }
- }
- }
-HXLINE(1483) ::Dynamic _gthis3 = _gthis->persistence;
-HXDLIN(1483) ::snikket::Persistence_obj::storeChats(_gthis3,_gthis->accountId(),chatsToUpdate);
-HXLINE(1484) callback();
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1428_bookmarksGet)
-HXDLIN(1428) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1429) ::snikket::queries::BlocklistGet blockingGet = ::snikket::queries::BlocklistGet_obj::__alloc( HX_CTX );
-HXLINE(1430) blockingGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,blockingGet)));
-HXLINE(1435) this->sendQuery(blockingGet);
-HXLINE(1437) ::snikket::queries::PubsubGet mdsGet = ::snikket::queries::PubsubGet_obj::__alloc( HX_CTX ,null(),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb),null());
-HXLINE(1438) mdsGet->onFinished( ::Dynamic(new _hx_Closure_3(_gthis,mdsGet)));
-HXLINE(1454) this->sendQuery(mdsGet);
-HXLINE(1456) ::snikket::queries::PubsubGet pubsubGet = ::snikket::queries::PubsubGet_obj::__alloc( HX_CTX ,null(),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d),null());
-HXLINE(1457) pubsubGet->onFinished( ::Dynamic(new _hx_Closure_6(_gthis,pubsubGet,callback)));
-HXLINE(1486) this->sendQuery(pubsubGet);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,bookmarksGet,(void))
-
-void Client_obj::sync( ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1489_sync)
-HXDLIN(1489) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1490) if (::Std_obj::isOfType(this->persistence,::hx::ClassOf< ::snikket::persistence::Dummy >())) {
-HXLINE(1491) callback(true);
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::Client,_gthis, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::String lastId){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1493_sync)
-HXLINE(1493) _gthis->doSync(callback,lastId);
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE(1493) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(1493) ::snikket::Persistence_obj::lastId(_hx_tmp,this->accountId(),null(), ::Dynamic(new _hx_Closure_0(_gthis,callback)));
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,sync,(void))
-
-void Client_obj::onMAMJMI(::String sid, ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1497_onMAMJMI)
-HXLINE(1498) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE(1498) return;
- }
-HXLINE(1499) ::snikket::JID from = ::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
-HXLINE(1500) ::snikket::DirectChat chat = this->getDirectChat(from->asBare()->asString(),null());
-HXLINE(1501) if (chat->jingleSessions->exists(sid)) {
-HXLINE(1501) return;
- }
-HXLINE(1502) ::snikket::Stanza jmiP = stanza->getChild(HX_("propose",fe,fe,e9,f9),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE(1503) if (::hx::IsNull( jmiP )) {
-HXLINE(1503) return;
- }
-HXLINE(1504) ::snikket::jingle::IncomingProposedSession session = ::snikket::jingle::IncomingProposedSession_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),from,sid);
-HXLINE(1505) {
-HXLINE(1505) ::Dynamic this1 = chat->jingleSessions;
-HXDLIN(1505) ( ( ::haxe::ds::StringMap)(this1) )->set(session->get_sid(),session);
- }
-HXLINE(1506) this->chatActivity(chat,null());
-HXLINE(1507) session->ring();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Client_obj,onMAMJMI,(void))
-
-void Client_obj::doSync( ::Dynamic callback,::String lastId){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
- ::snikket::ChatMessageBuilder _hx_run( ::snikket::ChatMessageBuilder builder, ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1520_doSync)
-HXLINE(1521) builder->syncPoint = true;
-HXLINE(1522) return builder;
- }
- HX_END_LOCAL_FUNC2(return)
-
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_8, ::snikket::Client,_gthis, ::haxe::ds::StringMap,chatIds, ::snikket::MessageSync,sync1, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::Dynamic messageList){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_5, ::snikket::Client,_gthis,::Array< ::Dynamic>,chatMessages) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1546_doSync)
-HXLINE(1546) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN(1546) ::String _hx_tmp = _gthis->accountId();
-HXDLIN(1546) ::snikket::Persistence_obj::storeMessages(_gthis1,_hx_tmp,chatMessages,resolve);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_6, ::snikket::Client,_gthis, ::haxe::ds::StringMap,chatIds, ::snikket::MessageSync,sync1, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> results){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1549_doSync)
-HXLINE(1550) if ((_gthis->syncMessageHandlers->length > 0)) {
-HXLINE(1551) int _g = 0;
-HXDLIN(1551) while((_g < results->length)){
-HXLINE(1551) ::Array< ::Dynamic> messages = results->__get(_g).StaticCast< ::Array< ::Dynamic> >();
-HXDLIN(1551) _g = (_g + 1);
-HXLINE(1552) if (::hx::IsNotNull( messages )) {
-HXLINE(1553) int _g1 = 0;
-HXDLIN(1553) while((_g1 < messages->length)){
-HXLINE(1553) ::snikket::ChatMessage message = messages->__get(_g1).StaticCast< ::snikket::ChatMessage >();
-HXDLIN(1553) _g1 = (_g1 + 1);
-HXLINE(1554) _gthis->notifySyncMessageHandlers(message);
- }
- }
- }
- }
-HXLINE(1560) if (sync1->hasMore()) {
-HXLINE(1561) sync1->fetchNext();
- }
- else {
-HXLINE(1563) {
-HXLINE(1563) ::Dynamic map = sync1->jmi;
-HXDLIN(1563) ::Dynamic _g_map = map;
-HXDLIN(1563) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN(1563) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(1563) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN(1563) ::snikket::Stanza _g_value = ( ( ::snikket::Stanza)(::haxe::IMap_obj::get(_g_map,key)) );
-HXDLIN(1563) ::String _g_key = key;
-HXDLIN(1563) ::String sid = _g_key;
-HXDLIN(1563) ::snikket::Stanza stanza = _g_value;
-HXLINE(1564) _gthis->onMAMJMI(sid,stanza);
- }
- }
-HXLINE(1566) {
-HXLINE(1566) ::Dynamic map1 = chatIds;
-HXDLIN(1566) ::Dynamic _g_map1 = map1;
-HXDLIN(1566) ::Dynamic _g_keys1 = ::haxe::IMap_obj::keys(map1);
-HXDLIN(1566) while(( (bool)(_g_keys1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(1566) ::String key1 = ( (::String)(_g_keys1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN(1566) bool _g_value1 = ( (bool)(::haxe::IMap_obj::get(_g_map1,key1)) );
-HXDLIN(1566) ::String _g_key1 = key1;
-HXDLIN(1566) ::String chatId = _g_key1;
-HXDLIN(1566) bool _ = _g_value1;
-HXDLIN(1566) {
-HXLINE(1568) ::snikket::Chat chat = _gthis->getChat(chatId);
-HXLINE(1569) if (::hx::IsNull( chat )) {
-HXLINE(1569) _gthis->getDirectChat(chatId,null());
- }
- }
- }
- }
-HXLINE(1571) if (::hx::IsNotNull( callback )) {
-HXLINE(1571) callback(true);
- }
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_7, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::Dynamic e){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1574_doSync)
-HXLINE(1575) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN(1575) ::String _hx_tmp1;
-HXDLIN(1575) if (::hx::IsNull( e )) {
-HXLINE(1575) _hx_tmp1 = HX_("null",87,9e,0e,49);
- }
- else {
-HXLINE(1575) _hx_tmp1 = ::Std_obj::string(e);
- }
-HXDLIN(1575) _hx_tmp(HX_("SYNC: error",67,8e,34,8a), ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.Client",3c,fe,06,7c))
- ->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_("doSync",86,5f,63,1c))
- ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("snikket/Client.hx",e1,49,02,18))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),1575)));
-HXLINE(1576) callback(false);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1525_doSync)
-HXLINE(1526) ::Array< ::Dynamic> promises = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1527) ::Array< ::Dynamic> chatMessages = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1528) {
-HXLINE(1528) int _g = 0;
-HXDLIN(1528) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(messageList->__Field(HX_("messages",cc,d8,fd,34),::hx::paccDynamic)) );
-HXDLIN(1528) while((_g < _g1->length)){
-HXLINE(1528) ::snikket::MessageStanza m = _g1->__get(_g).StaticCast< ::snikket::MessageStanza >();
-HXDLIN(1528) _g = (_g + 1);
-HXLINE(1529) switch((int)(m->_hx_getIndex())){
- case (int)1: {
-HXLINE(1530) ::snikket::ChatMessage message = m->_hx_getObject(0).StaticCast< ::snikket::ChatMessage >();
-HXDLIN(1530) {
-HXLINE(1531) chatMessages->push(message);
-HXLINE(1532) if ((message->type == 0)) {
-HXLINE(1532) ::String k = message->chatId();
-HXDLIN(1532) chatIds->set(k,true);
- }
- }
- }
- break;
- case (int)2: {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::snikket::Client,_gthis, ::snikket::ModerationAction,action) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,resolve) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage _){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1539_doSync)
-HXLINE(1539) resolve(null());
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1539_doSync)
-HXLINE(1539) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->moderateMessage(action), ::Dynamic(new _hx_Closure_1(resolve)),null());
- }
- HX_END_LOCAL_FUNC2((void))
-
-HXLINE(1537) ::snikket::ModerationAction action = m->_hx_getObject(0).StaticCast< ::snikket::ModerationAction >();
-HXLINE(1538) promises->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_2(_gthis,action))));
- }
- break;
- case (int)3: {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_4, ::snikket::Client,_gthis, ::snikket::ReactionUpdate,update) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::Dynamic,resolve) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage _){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1535_doSync)
-HXLINE(1535) resolve(null());
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1535_doSync)
-HXLINE(1535) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN(1535) ::String _hx_tmp = _gthis->accountId();
-HXDLIN(1535) ::snikket::Persistence_obj::storeReaction(_gthis1,_hx_tmp,update, ::Dynamic(new _hx_Closure_3(resolve)));
- }
- HX_END_LOCAL_FUNC2((void))
-
-HXLINE(1533) ::snikket::ReactionUpdate update = m->_hx_getObject(0).StaticCast< ::snikket::ReactionUpdate >();
-HXLINE(1534) promises->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_4(_gthis,update))));
- }
- break;
- default:{
- }
- }
- }
- }
-HXLINE(1545) promises->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_5(_gthis,chatMessages))));
-HXLINE(1548) ::haxe::Log_obj::trace(HX_("SYNC: MAM page wait for writes",ad,4c,95,21),::hx::SourceInfo(HX_("snikket/Client.hx",e1,49,02,18),1548,HX_("snikket.Client",3c,fe,06,7c),HX_("doSync",86,5f,63,1c)));
-HXLINE(1549) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(promises), ::Dynamic(new _hx_Closure_6(_gthis,chatIds,sync1,callback)), ::Dynamic(new _hx_Closure_7(callback)));
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_9, ::snikket::Client,_gthis,::String,lastId, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1580_doSync)
-HXLINE(1580) if (::hx::IsNotNull( lastId )) {
-HXLINE(1582) _gthis->doSync(callback,null());
- }
- else {
-HXLINE(1584) ::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_("snikket.Client",3c,fe,06,7c))
- ->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_("snikket/Client.hx",e1,49,02,18))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),1584)));
-HXLINE(1585) if (::hx::IsNotNull( callback )) {
-HXLINE(1585) callback(false);
- }
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1510_doSync)
-HXDLIN(1510) ::snikket::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1511) ::String thirtyDaysAgo = ::snikket::Date_obj::format(::Date_obj::fromTime((::Date_obj::now()->getTime() + ((Float)-2592000000.))));
-HXLINE(1517) ::Dynamic sync;
-HXDLIN(1517) if (::hx::IsNull( lastId )) {
-HXLINE(1517) sync = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("startTime",8f,45,f0,05),thirtyDaysAgo));
- }
- else {
-HXLINE(1517) 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),lastId))));
- }
-HXLINE(1514) ::snikket::MessageSync sync1 = ::snikket::MessageSync_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),this->stream,sync,null());
-HXLINE(1519) sync1->setNewestPageFirst(false);
-HXLINE(1520) sync1->addContext( ::Dynamic(new _hx_Closure_0()));
-HXLINE(1524) ::haxe::ds::StringMap chatIds = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1525) sync1->onMessages( ::Dynamic(new _hx_Closure_8(_gthis,chatIds,sync1,callback)));
-HXLINE(1579) sync1->onError( ::Dynamic(new _hx_Closure_9(_gthis,lastId,callback)));
-HXLINE(1588) sync1->fetchNext();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Client_obj,doSync,(void))
-
-void Client_obj::pingAllChannels(bool refresh){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1592_pingAllChannels)
-HXDLIN(1592) int _g = 0;
-HXDLIN(1592) ::Array< ::Dynamic> _g1 = this->getChats();
-HXDLIN(1592) while((_g < _g1->length)){
-HXDLIN(1592) ::snikket::Chat chat = _g1->__get(_g).StaticCast< ::snikket::Chat >();
-HXDLIN(1592) _g = (_g + 1);
-HXLINE(1593) ::snikket::Channel channel = ( ( ::snikket::Channel)(::Std_obj::downcast(chat,::hx::ClassOf< ::snikket::Channel >())) );
-HXLINE(1594) if (::hx::IsNotNull( channel )) {
-HXLINE(1594) bool _hx_tmp;
-HXDLIN(1594) if (!(refresh)) {
-HXLINE(1594) ::snikket::Caps _hx_tmp1;
-HXDLIN(1594) if (::hx::IsNotNull( channel )) {
-HXLINE(1594) _hx_tmp1 = channel->disco;
- }
- else {
-HXLINE(1594) _hx_tmp1 = null();
- }
-HXDLIN(1594) _hx_tmp = ::hx::IsNull( _hx_tmp1 );
- }
- else {
-HXLINE(1594) _hx_tmp = true;
- }
-HXDLIN(1594) channel->selfPing(_hx_tmp);
- }
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,pingAllChannels,(void))
-
-void Client_obj::joinAllChannels(){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1599_joinAllChannels)
-HXDLIN(1599) int _g = 0;
-HXDLIN(1599) ::Array< ::Dynamic> _g1 = this->getChats();
-HXDLIN(1599) while((_g < _g1->length)){
-HXDLIN(1599) ::snikket::Chat chat = _g1->__get(_g).StaticCast< ::snikket::Chat >();
-HXDLIN(1599) _g = (_g + 1);
-HXLINE(1600) ::snikket::Channel channel = ( ( ::snikket::Channel)(::Std_obj::downcast(chat,::hx::ClassOf< ::snikket::Channel >())) );
-HXLINE(1601) if (::hx::IsNotNull( channel )) {
-HXLINE(1602) if ((channel->disco->identities->length < 1)) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::Channel,channel) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1604_joinAllChannels)
-HXLINE(1604) channel->join();
- }
- HX_END_LOCAL_FUNC0((void))
-
-HXLINE(1603) channel->refreshDisco( ::Dynamic(new _hx_Closure_0(channel)));
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::snikket::Channel,channel) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_1608_joinAllChannels)
-HXLINE(1608) channel->refreshDisco(null());
- }
- HX_END_LOCAL_FUNC0((void))
-
-HXLINE(1607) channel->join();
-HXLINE(1608) ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(channel)),30000);
- }
- }
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Client_obj,joinAllChannels,(void))
-
-
-::hx::ObjectPtr< Client_obj > Client_obj::__new(::String address,::Dynamic persistence) {
- ::hx::ObjectPtr< Client_obj > __this = new Client_obj();
- __this->__construct(address,persistence);
- return __this;
-}
-
-::hx::ObjectPtr< Client_obj > Client_obj::__alloc(::hx::Ctx *_hx_ctx,::String address,::Dynamic persistence) {
- Client_obj *__this = (Client_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Client_obj), true, "snikket.Client"));
- *(void **)__this = Client_obj::_hx_vtable;
- __this->__construct(address,persistence);
- return __this;
-}
-
-Client_obj::Client_obj()
-{
-}
-
-void Client_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(Client);
- HX_MARK_MEMBER_NAME(sendAvailable,"sendAvailable");
- HX_MARK_MEMBER_NAME(stream,"stream");
- HX_MARK_MEMBER_NAME(chatMessageHandlers,"chatMessageHandlers");
- HX_MARK_MEMBER_NAME(syncMessageHandlers,"syncMessageHandlers");
- HX_MARK_MEMBER_NAME(chatStateHandlers,"chatStateHandlers");
- HX_MARK_MEMBER_NAME(jid,"jid");
- HX_MARK_MEMBER_NAME(chats,"chats");
- HX_MARK_MEMBER_NAME(persistence,"persistence");
- HX_MARK_MEMBER_NAME(caps,"caps");
- HX_MARK_MEMBER_NAME(_displayName,"_displayName");
- HX_MARK_MEMBER_NAME(fastMechanism,"fastMechanism");
- HX_MARK_MEMBER_NAME(token,"token");
- HX_MARK_MEMBER_NAME(fastCount,"fastCount");
- HX_MARK_MEMBER_NAME(pendingCaps,"pendingCaps");
- HX_MARK_MEMBER_NAME(inSync,"inSync");
- HX_MARK_MEMBER_NAME(enabledPushData,"enabledPushData");
- ::snikket::EventEmitter_obj::__Mark(HX_MARK_ARG);
- HX_MARK_END_CLASS();
-}
-
-void Client_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(sendAvailable,"sendAvailable");
- HX_VISIT_MEMBER_NAME(stream,"stream");
- HX_VISIT_MEMBER_NAME(chatMessageHandlers,"chatMessageHandlers");
- HX_VISIT_MEMBER_NAME(syncMessageHandlers,"syncMessageHandlers");
- HX_VISIT_MEMBER_NAME(chatStateHandlers,"chatStateHandlers");
- HX_VISIT_MEMBER_NAME(jid,"jid");
- HX_VISIT_MEMBER_NAME(chats,"chats");
- HX_VISIT_MEMBER_NAME(persistence,"persistence");
- HX_VISIT_MEMBER_NAME(caps,"caps");
- HX_VISIT_MEMBER_NAME(_displayName,"_displayName");
- HX_VISIT_MEMBER_NAME(fastMechanism,"fastMechanism");
- HX_VISIT_MEMBER_NAME(token,"token");
- HX_VISIT_MEMBER_NAME(fastCount,"fastCount");
- HX_VISIT_MEMBER_NAME(pendingCaps,"pendingCaps");
- HX_VISIT_MEMBER_NAME(inSync,"inSync");
- HX_VISIT_MEMBER_NAME(enabledPushData,"enabledPushData");
- ::snikket::EventEmitter_obj::__Visit(HX_VISIT_ARG);
-}
-
-::hx::Val Client_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,"caps") ) { return ::hx::Val( caps ); }
- if (HX_FIELD_EQ(inName,"sync") ) { return ::hx::Val( sync_dyn() ); }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"chats") ) { return ::hx::Val( chats ); }
- if (HX_FIELD_EQ(inName,"token") ) { return ::hx::Val( token ); }
- if (HX_FIELD_EQ(inName,"start") ) { return ::hx::Val( start_dyn() ); }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"stream") ) { return ::hx::Val( stream ); }
- if (HX_FIELD_EQ(inName,"inSync") ) { return ::hx::Val( inSync ); }
- if (HX_FIELD_EQ(inName,"logout") ) { return ::hx::Val( logout_dyn() ); }
- if (HX_FIELD_EQ(inName,"doSync") ) { return ::hx::Val( doSync_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"getChat") ) { return ::hx::Val( getChat_dyn() ); }
- break;
- case 8:
- 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,"accountId") ) { return ::hx::Val( accountId_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() ); }
- if (HX_FIELD_EQ(inName,"rosterGet") ) { return ::hx::Val( rosterGet_dyn() ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"enablePush") ) { return ::hx::Val( enablePush_dyn() ); }
- if (HX_FIELD_EQ(inName,"sendStanza") ) { return ::hx::Val( sendStanza_dyn() ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"persistence") ) { return ::hx::Val( persistence ); }
- if (HX_FIELD_EQ(inName,"pendingCaps") ) { return ::hx::Val( pendingCaps ); }
- 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() ); }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"_displayName") ) { return ::hx::Val( _displayName ); }
- if (HX_FIELD_EQ(inName,"startOffline") ) { return ::hx::Val( startOffline_dyn() ); }
- if (HX_FIELD_EQ(inName,"chatActivity") ) { return ::hx::Val( chatActivity_dyn() ); }
- if (HX_FIELD_EQ(inName,"sendPresence") ) { return ::hx::Val( sendPresence_dyn() ); }
- if (HX_FIELD_EQ(inName,"bookmarksGet") ) { return ::hx::Val( bookmarksGet_dyn() ); }
- break;
- case 13:
- 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,"getDirectChat") ) { return ::hx::Val( getDirectChat_dyn() ); }
- if (HX_FIELD_EQ(inName,"storeMessages") ) { return ::hx::Val( storeMessages_dyn() ); }
- if (HX_FIELD_EQ(inName,"getIceServers") ) { return ::hx::Val( getIceServers_dyn() ); }
- if (HX_FIELD_EQ(inName,"startChatWith") ) { return ::hx::Val( startChatWith_dyn() ); }
- if (HX_FIELD_EQ(inName,"serverBlocked") ) { return ::hx::Val( serverBlocked_dyn() ); }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"setDisplayName") ) { return ::hx::Val( setDisplayName_dyn() ); }
- break;
- case 15:
- 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,"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,"fetchMediaByHash") ) { return ::hx::Val( fetchMediaByHash_dyn() ); }
- if (HX_FIELD_EQ(inName,"discoverServices") ) { return ::hx::Val( discoverServices_dyn() ); }
- break;
- case 17:
- if (HX_FIELD_EQ(inName,"chatStateHandlers") ) { return ::hx::Val( chatStateHandlers ); }
- if (HX_FIELD_EQ(inName,"updateDisplayName") ) { return ::hx::Val( updateDisplayName_dyn() ); }
- if (HX_FIELD_EQ(inName,"prepareAttachment") ) { return ::hx::Val( prepareAttachment_dyn() ); }
- if (HX_FIELD_EQ(inName,"enablePush__fromC") ) { return ::hx::Val( enablePush__fromC_dyn() ); }
- break;
- case 18:
- if (HX_FIELD_EQ(inName,"findAvailableChats") ) { return ::hx::Val( findAvailableChats_dyn() ); }
- if (HX_FIELD_EQ(inName,"setNotInForeground") ) { return ::hx::Val( setNotInForeground_dyn() ); }
- break;
- case 19:
- if (HX_FIELD_EQ(inName,"chatMessageHandlers") ) { return ::hx::Val( chatMessageHandlers ); }
- if (HX_FIELD_EQ(inName,"syncMessageHandlers") ) { return ::hx::Val( syncMessageHandlers ); }
- if (HX_FIELD_EQ(inName,"updatePushIfEnabled") ) { return ::hx::Val( updatePushIfEnabled_dyn() ); }
- if (HX_FIELD_EQ(inName,"addTlsCheckListener") ) { return ::hx::Val( addTlsCheckListener_dyn() ); }
- if (HX_FIELD_EQ(inName,"addCallRingListener") ) { return ::hx::Val( addCallRingListener_dyn() ); }
- break;
- case 20:
- if (HX_FIELD_EQ(inName,"prepareAttachmentFor") ) { return ::hx::Val( prepareAttachmentFor_dyn() ); }
- if (HX_FIELD_EQ(inName,"addCallMediaListener") ) { return ::hx::Val( addCallMediaListener_dyn() ); }
- if (HX_FIELD_EQ(inName,"addCallTrackListener") ) { return ::hx::Val( addCallTrackListener_dyn() ); }
- break;
- case 21:
- if (HX_FIELD_EQ(inName,"notifyMessageHandlers") ) { return ::hx::Val( notifyMessageHandlers_dyn() ); }
- break;
- case 22:
- 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() ); }
- if (HX_FIELD_EQ(inName,"addCallRingingListener") ) { return ::hx::Val( addCallRingingListener_dyn() ); }
- break;
- case 23:
- if (HX_FIELD_EQ(inName,"addStatusOnlineListener") ) { return ::hx::Val( addStatusOnlineListener_dyn() ); }
- if (HX_FIELD_EQ(inName,"addChatsUpdatedListener") ) { return ::hx::Val( addChatsUpdatedListener_dyn() ); }
- break;
- case 24:
- if (HX_FIELD_EQ(inName,"set_sendAvailable__fromC") ) { return ::hx::Val( set_sendAvailable__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"addStatusOfflineListener") ) { return ::hx::Val( addStatusOfflineListener_dyn() ); }
- break;
- case 25:
- if (HX_FIELD_EQ(inName,"addPasswordNeededListener") ) { return ::hx::Val( addPasswordNeededListener_dyn() ); }
- if (HX_FIELD_EQ(inName,"notifySyncMessageHandlers") ) { return ::hx::Val( notifySyncMessageHandlers_dyn() ); }
- break;
- case 27:
- if (HX_FIELD_EQ(inName,"addConnectionFailedListener") ) { return ::hx::Val( addConnectionFailedListener_dyn() ); }
- if (HX_FIELD_EQ(inName,"addCallUpdateStatusListener") ) { return ::hx::Val( addCallUpdateStatusListener_dyn() ); }
- break;
- case 30:
- if (HX_FIELD_EQ(inName,"fetchMediaByHashOneCounterpart") ) { return ::hx::Val( fetchMediaByHashOneCounterpart_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-::hx::Val Client_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< ::snikket::JID >(); return inValue; }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"caps") ) { caps=inValue.Cast< ::snikket::Caps >(); return inValue; }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"chats") ) { chats=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- if (HX_FIELD_EQ(inName,"token") ) { token=inValue.Cast< ::String >(); return inValue; }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"stream") ) { stream=inValue.Cast< ::snikket::GenericStream >(); return inValue; }
- if (HX_FIELD_EQ(inName,"inSync") ) { inSync=inValue.Cast< bool >(); return inValue; }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"fastCount") ) { fastCount=inValue.Cast< ::Dynamic >(); 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; }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"_displayName") ) { _displayName=inValue.Cast< ::String >(); return inValue; }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"sendAvailable") ) { sendAvailable=inValue.Cast< bool >(); return inValue; }
- if (HX_FIELD_EQ(inName,"fastMechanism") ) { fastMechanism=inValue.Cast< ::String >(); return inValue; }
- break;
- case 15:
- if (HX_FIELD_EQ(inName,"enabledPushData") ) { enabledPushData=inValue.Cast< ::Dynamic >(); return inValue; }
- break;
- case 17:
- if (HX_FIELD_EQ(inName,"chatStateHandlers") ) { chatStateHandlers=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- break;
- case 19:
- if (HX_FIELD_EQ(inName,"chatMessageHandlers") ) { chatMessageHandlers=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- if (HX_FIELD_EQ(inName,"syncMessageHandlers") ) { syncMessageHandlers=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void Client_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("sendAvailable",61,c3,fd,db));
- outFields->push(HX_("stream",80,14,2d,11));
- outFields->push(HX_("chatMessageHandlers",58,ce,b5,e3));
- outFields->push(HX_("syncMessageHandlers",35,de,58,d9));
- outFields->push(HX_("chatStateHandlers",a2,d6,fb,7f));
- outFields->push(HX_("jid",c5,ca,50,00));
- outFields->push(HX_("chats",9b,9e,b3,45));
- outFields->push(HX_("persistence",5f,17,c4,f6));
- outFields->push(HX_("caps",21,1c,ba,41));
- outFields->push(HX_("_displayName",ae,bf,fb,96));
- outFields->push(HX_("fastMechanism",1d,e7,34,8a));
- outFields->push(HX_("token",f9,82,2b,14));
- outFields->push(HX_("fastCount",93,fc,67,a5));
- outFields->push(HX_("pendingCaps",18,58,88,be));
- outFields->push(HX_("inSync",e0,98,c5,88));
- outFields->push(HX_("enabledPushData",c5,32,81,93));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo Client_obj_sMemberStorageInfo[] = {
- {::hx::fsBool,(int)offsetof(Client_obj,sendAvailable),HX_("sendAvailable",61,c3,fd,db)},
- {::hx::fsObject /* ::snikket::GenericStream */ ,(int)offsetof(Client_obj,stream),HX_("stream",80,14,2d,11)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(Client_obj,chatMessageHandlers),HX_("chatMessageHandlers",58,ce,b5,e3)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(Client_obj,syncMessageHandlers),HX_("syncMessageHandlers",35,de,58,d9)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(Client_obj,chatStateHandlers),HX_("chatStateHandlers",a2,d6,fb,7f)},
- {::hx::fsObject /* ::snikket::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 /* ::Dynamic */ ,(int)offsetof(Client_obj,persistence),HX_("persistence",5f,17,c4,f6)},
- {::hx::fsObject /* ::snikket::Caps */ ,(int)offsetof(Client_obj,caps),HX_("caps",21,1c,ba,41)},
- {::hx::fsString,(int)offsetof(Client_obj,_displayName),HX_("_displayName",ae,bf,fb,96)},
- {::hx::fsString,(int)offsetof(Client_obj,fastMechanism),HX_("fastMechanism",1d,e7,34,8a)},
- {::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::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(Client_obj,pendingCaps),HX_("pendingCaps",18,58,88,be)},
- {::hx::fsBool,(int)offsetof(Client_obj,inSync),HX_("inSync",e0,98,c5,88)},
- {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(Client_obj,enabledPushData),HX_("enabledPushData",c5,32,81,93)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *Client_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String Client_obj_sMemberFields[] = {
- HX_("sendAvailable",61,c3,fd,db),
- HX_("set_sendAvailable__fromC",35,ea,10,2d),
- HX_("stream",80,14,2d,11),
- HX_("chatMessageHandlers",58,ce,b5,e3),
- HX_("syncMessageHandlers",35,de,58,d9),
- HX_("chatStateHandlers",a2,d6,fb,7f),
- HX_("jid",c5,ca,50,00),
- HX_("chats",9b,9e,b3,45),
- HX_("persistence",5f,17,c4,f6),
- HX_("caps",21,1c,ba,41),
- HX_("_displayName",ae,bf,fb,96),
- HX_("fastMechanism",1d,e7,34,8a),
- HX_("token",f9,82,2b,14),
- HX_("fastCount",93,fc,67,a5),
- HX_("pendingCaps",18,58,88,be),
- HX_("inSync",e0,98,c5,88),
- HX_("start",62,74,0b,84),
- HX_("startOffline",a1,72,73,44),
- HX_("logout",8a,f6,6e,5c),
- HX_("usePassword",82,2a,db,a2),
- HX_("accountId",e8,81,54,29),
- HX_("displayName",ad,11,f2,30),
- HX_("setDisplayName",2b,4d,b0,d8),
- HX_("updateDisplayName",24,be,5b,95),
- HX_("onConnected",aa,c5,39,c5),
- HX_("prepareAttachment",4a,6c,4b,52),
- HX_("prepareAttachmentFor",df,5c,bf,82),
- HX_("getChats",25,ae,8a,a5),
- HX_("findAvailableChats",2b,92,7a,e4),
- HX_("startChat",5a,d8,b2,fa),
- HX_("getChat",8e,0e,42,14),
- HX_("moderateMessage",44,98,f1,d4),
- HX_("getDirectChat",d7,7a,64,6b),
- HX_("enabledPushData",c5,32,81,93),
- HX_("enablePush",fd,e9,ae,a3),
- HX_("enablePush__fromC",1c,70,b7,2f),
- HX_("updatePushIfEnabled",21,71,d8,62),
- HX_("addPasswordNeededListener",45,5f,7e,e2),
- HX_("addStatusOnlineListener",ba,7f,0a,f9),
- HX_("addStatusOfflineListener",84,03,7d,f1),
- HX_("addConnectionFailedListener",50,7d,89,49),
- HX_("addTlsCheckListener",a2,08,8a,52),
- HX_("addChatMessageListener",c2,ab,0f,ed),
- HX_("addSyncMessageListener",9f,bb,b2,e2),
- HX_("addChatsUpdatedListener",35,56,de,d1),
- HX_("addCallRingListener",43,06,12,df),
- HX_("addCallRetractListener",f6,56,33,1b),
- HX_("addCallRingingListener",27,29,10,44),
- HX_("addCallUpdateStatusListener",ae,ae,44,09),
- HX_("addCallMediaListener",99,4a,d3,ce),
- HX_("addCallTrackListener",40,53,e3,46),
- HX_("setInForeground",ca,fb,6b,7d),
- HX_("setNotInForeground",39,f1,bb,be),
- HX_("fetchMediaByHash",2f,ff,07,87),
- HX_("fetchMediaByHashOneCounterpart",b8,d3,9a,5e),
- HX_("chatActivity",c7,e0,61,f8),
- HX_("sortChats",5d,72,27,4e),
- HX_("storeMessages",cd,f1,bd,e9),
- HX_("sendQuery",a0,48,5a,1e),
- HX_("sendStanza",5d,85,4d,a7),
- HX_("sendPresence",a3,23,94,a7),
- HX_("getIceServers",7b,70,bb,2e),
- HX_("discoverServices",e7,e6,b6,cb),
- HX_("notifyMessageHandlers",87,69,f5,7b),
- HX_("notifySyncMessageHandlers",ec,fc,32,12),
- HX_("rosterGet",cb,93,f3,3e),
- HX_("startChatWith",80,af,e0,d4),
- HX_("serverBlocked",69,86,62,0f),
- HX_("bookmarksGet",99,e1,ce,2f),
- HX_("sync",5b,ba,5f,4c),
- HX_("onMAMJMI",ac,d7,bc,14),
- HX_("doSync",86,5f,63,1c),
- HX_("pingAllChannels",3f,9f,44,8e),
- HX_("joinAllChannels",c7,60,e8,0f),
- ::String(null()) };
-
-::hx::Class Client_obj::__mClass;
-
-void Client_obj::__register()
-{
- Client_obj _hx_dummy;
- Client_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Client",3c,fe,06,7c);
- __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(Client_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< Client_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Client_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Client_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-void Client_obj::__boot()
-{
-{
- HX_STACKFRAME(&_hx_pos_ead56881d4bbcaca_51_boot)
-HXDLIN( 51) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(39)
- ->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)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(2,HX_("addCallRingingListener__fromC",32,ca,d2,99), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(3,HX_("prepareAttachment__fromC",6f,81,bb,9e), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(4,HX_("addCallRingListener__fromC",96,08,fb,9e), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(5,HX_("addStatusOnlineListener__fromC",ff,bb,66,a2), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(6,HX_("enablePush",fd,e9,ae,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(7,HX_("getChats",25,ae,8a,a5), ::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_("addTlsCheckListener__fromC",17,a0,1f,a9), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(9,HX_("addCallTrackListener__fromC",39,05,06,c4), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(10,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(11,HX_("findAvailableChats__fromC",ae,49,41,d0), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(12,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(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(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(15,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(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(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(18,HX_("findAvailableChats",2b,92,7a,e4), ::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_("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(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(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(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(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(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(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(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(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(29,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(30,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(31,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(32,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(33,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(34,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(35,HX_("addCallRetractListener__fromC",43,84,e9,5a), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(36,HX_("startOffline__fromC",f8,03,65,60), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(37,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(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
- }
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/Color.cpp b/Sources/c_snikket/src/snikket/Color.cpp
deleted file mode 100644
index a6d7cfb..0000000
--- a/Sources/c_snikket/src/snikket/Color.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_StringTools
-#include <StringTools.h>
-#endif
-#ifndef INCLUDED_haxe_crypto_Sha1
-#include <haxe/crypto/Sha1.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_hsluv_Hsluv
-#include <hsluv/Hsluv.h>
-#endif
-#ifndef INCLUDED_snikket_Color
-#include <snikket/Color.h>
-#endif
-
-HX_LOCAL_STACK_FRAME(_hx_pos_306a55eac438c23f_8_forString,"snikket.Color","forString",0x84e0cbde,"snikket.Color.forString","snikket/Color.hx",8,0x11a5cc6d)
-HX_LOCAL_STACK_FRAME(_hx_pos_306a55eac438c23f_19_defaultPhoto,"snikket.Color","defaultPhoto",0xe24b978d,"snikket.Color.defaultPhoto","snikket/Color.hx",19,0x11a5cc6d)
-namespace snikket{
-
-void Color_obj::__construct() { }
-
-Dynamic Color_obj::__CreateEmpty() { return new Color_obj; }
-
-void *Color_obj::_hx_vtable = 0;
-
-Dynamic Color_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Color_obj > _hx_result = new Color_obj();
- _hx_result->__construct();
- return _hx_result;
-}
-
-bool Color_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x204ca266;
-}
-
-::String Color_obj::forString(::String s){
- HX_GC_STACKFRAME(&_hx_pos_306a55eac438c23f_8_forString)
-HXLINE( 9) ::haxe::io::Bytes hash = ::haxe::crypto::Sha1_obj::make(::haxe::io::Bytes_obj::ofString(s,null()));
-HXLINE( 10) Float hue = ((( (Float)((( (int)(hash->b->__get(0)) ) | (( (int)(hash->b->__get(1)) ) << 8))) ) / ((Float)65536.0)) * ( (Float)(360) ));
-HXLINE( 11) ::hsluv::Hsluv color = ::hsluv::Hsluv_obj::__alloc( HX_CTX );
-HXLINE( 12) color->hsluv_h = hue;
-HXLINE( 13) color->hsluv_s = ( (Float)(100) );
-HXLINE( 14) color->hsluv_l = ( (Float)(50) );
-HXLINE( 15) color->hsluvToHex();
-HXLINE( 16) return color->hex;
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(Color_obj,forString,return )
-
-::String Color_obj::defaultPhoto(::String input,::String letter){
- HX_STACKFRAME(&_hx_pos_306a55eac438c23f_19_defaultPhoto)
-HXLINE( 20) ::String hex = ::snikket::Color_obj::forString(input).substr(1,null());
-HXLINE( 21) ::String encodedLetter;
-HXDLIN( 21) try {
- HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 21) encodedLetter = ::StringTools_obj::urlEncode(letter.toUpperCase());
- } catch( ::Dynamic _hx_e) {
- if (_hx_e.IsClass< ::Dynamic >() ){
- HX_STACK_BEGIN_CATCH
- ::Dynamic _g = _hx_e;
-HXLINE( 21) encodedLetter = HX_(" ",20,00,00,00);
- }
- else {
- HX_STACK_DO_THROW(_hx_e);
- }
- }
-HXLINE( 26) return (((((((HX_("data:image/svg+xml,<svg%20xmlns=\"http://www.w3.org/2000/svg\"%20version=\"1.1\"%20width=\"15\"%20height=\"15\"%20viewBox=\"0%200%2015%2015\">",89,4c,ea,28) + HX_("<rect%20style=\"fill:%23",82,0d,df,69)) + hex) + HX_(";\"%20width=\"15\"%20height=\"15\"%20x=\"0\"%20y=\"0\"%20/>",3b,1a,d3,d0)) + HX_("<text%20style=\"fill:%23ffffff;font-size:8px;font-family:sans-serif;\"%20text-anchor=\"middle\"%20x=\"7.5\"%20y=\"10\">",82,0b,95,1e)) + encodedLetter) + HX_("</text>",9e,15,67,97)) + HX_("</svg>",4d,57,9c,59));
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC2(Color_obj,defaultPhoto,return )
-
-
-Color_obj::Color_obj()
-{
-}
-
-bool Color_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 9:
- if (HX_FIELD_EQ(inName,"forString") ) { outValue = forString_dyn(); return true; }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"defaultPhoto") ) { outValue = defaultPhoto_dyn(); return true; }
- }
- return false;
-}
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo *Color_obj_sMemberStorageInfo = 0;
-static ::hx::StaticInfo *Color_obj_sStaticStorageInfo = 0;
-#endif
-
-::hx::Class Color_obj::__mClass;
-
-static ::String Color_obj_sStaticFields[] = {
- HX_("forString",ba,d0,62,a3),
- HX_("defaultPhoto",31,04,4f,77),
- ::String(null())
-};
-
-void Color_obj::__register()
-{
- Color_obj _hx_dummy;
- Color_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Color",92,c6,8f,a5);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &Color_obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(Color_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
- __mClass->mCanCast = ::hx::TCanCast< Color_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Color_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Color_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/DirectChat.cpp b/Sources/c_snikket/src/snikket/DirectChat.cpp
deleted file mode 100644
index ec5c588..0000000
--- a/Sources/c_snikket/src/snikket/DirectChat.cpp
+++ /dev/null
@@ -1,919 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_Date
-#include <Date.h>
-#endif
-#ifndef INCLUDED_Lambda
-#include <Lambda.h>
-#endif
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
-#ifndef INCLUDED_Std
-#include <Std.h>
-#endif
-#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
-#ifndef INCLUDED_haxe_ds_StringMap
-#include <haxe/ds/StringMap.h>
-#endif
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#include <snikket/ChatMessageBuilder.h>
-#endif
-#ifndef INCLUDED_snikket_Client
-#include <snikket/Client.h>
-#endif
-#ifndef INCLUDED_snikket_CustomEmojiReaction
-#include <snikket/CustomEmojiReaction.h>
-#endif
-#ifndef INCLUDED_snikket_Date
-#include <snikket/Date.h>
-#endif
-#ifndef INCLUDED_snikket_DirectChat
-#include <snikket/DirectChat.h>
-#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
-#endif
-#ifndef INCLUDED_snikket_GenericStream
-#include <snikket/GenericStream.h>
-#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Message
-#include <snikket/Message.h>
-#endif
-#ifndef INCLUDED_snikket_MessageStanza
-#include <snikket/MessageStanza.h>
-#endif
-#ifndef INCLUDED_snikket_MessageSync
-#include <snikket/MessageSync.h>
-#endif
-#ifndef INCLUDED_snikket_Participant
-#include <snikket/Participant.h>
-#endif
-#ifndef INCLUDED_snikket_Persistence
-#include <snikket/Persistence.h>
-#endif
-#ifndef INCLUDED_snikket_Reaction
-#include <snikket/Reaction.h>
-#endif
-#ifndef INCLUDED_snikket_ReactionUpdate
-#include <snikket/ReactionUpdate.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_af7b91d6026813b6_727_new,"snikket.DirectChat","new",0x757e3104,"snikket.DirectChat.new","snikket/Chat.hx",727,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_745_getParticipants,"snikket.DirectChat","getParticipants",0x9f51d1ba,"snikket.DirectChat.getParticipants","snikket/Chat.hx",745,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_731_getParticipants,"snikket.DirectChat","getParticipants",0x9f51d1ba,"snikket.DirectChat.getParticipants","snikket/Chat.hx",731,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_749_counterparts,"snikket.DirectChat","counterparts",0x2a527b80,"snikket.DirectChat.counterparts","snikket/Chat.hx",749,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_753_getParticipantDetails,"snikket.DirectChat","getParticipantDetails",0x79208529,"snikket.DirectChat.getParticipantDetails","snikket/Chat.hx",753,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_761_getMessagesBefore,"snikket.DirectChat","getMessagesBefore",0x4909a945,"snikket.DirectChat.getMessagesBefore","snikket/Chat.hx",761,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_759_getMessagesBefore,"snikket.DirectChat","getMessagesBefore",0x4909a945,"snikket.DirectChat.getMessagesBefore","snikket/Chat.hx",759,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_779_getMessagesAfter,"snikket.DirectChat","getMessagesAfter",0x26744c16,"snikket.DirectChat.getMessagesAfter","snikket/Chat.hx",779,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_773_getMessagesAfter,"snikket.DirectChat","getMessagesAfter",0x26744c16,"snikket.DirectChat.getMessagesAfter","snikket/Chat.hx",773,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_793_getMessagesAround,"snikket.DirectChat","getMessagesAround",0x64db4d13,"snikket.DirectChat.getMessagesAround","snikket/Chat.hx",793,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_792_getMessagesAround,"snikket.DirectChat","getMessagesAround",0x64db4d13,"snikket.DirectChat.getMessagesAround","snikket/Chat.hx",792,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_803_prepareIncomingMessage,"snikket.DirectChat","prepareIncomingMessage",0xe7120196,"snikket.DirectChat.prepareIncomingMessage","snikket/Chat.hx",803,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_808_prepareOutgoingMessage,"snikket.DirectChat","prepareOutgoingMessage",0x4d3ec6d0,"snikket.DirectChat.prepareOutgoingMessage","snikket/Chat.hx",808,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_825_correctMessage,"snikket.DirectChat","correctMessage",0x83971059,"snikket.DirectChat.correctMessage","snikket/Chat.hx",825,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_820_correctMessage,"snikket.DirectChat","correctMessage",0x83971059,"snikket.DirectChat.correctMessage","snikket/Chat.hx",820,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_841_sendMessage,"snikket.DirectChat","sendMessage",0x7d4f2e03,"snikket.DirectChat.sendMessage","snikket/Chat.hx",841,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_849_sendMessage,"snikket.DirectChat","sendMessage",0x7d4f2e03,"snikket.DirectChat.sendMessage","snikket/Chat.hx",849,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_865_sendMessage,"snikket.DirectChat","sendMessage",0x7d4f2e03,"snikket.DirectChat.sendMessage","snikket/Chat.hx",865,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_901_removeReaction,"snikket.DirectChat","removeReaction",0x4fdefde9,"snikket.DirectChat.removeReaction","snikket/Chat.hx",901,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_879_removeReaction,"snikket.DirectChat","removeReaction",0x4fdefde9,"snikket.DirectChat.removeReaction","snikket/Chat.hx",879,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_894_removeReaction,"snikket.DirectChat","removeReaction",0x4fdefde9,"snikket.DirectChat.removeReaction","snikket/Chat.hx",894,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_913_lastMessageId,"snikket.DirectChat","lastMessageId",0x6bb7a5f0,"snikket.DirectChat.lastMessageId","snikket/Chat.hx",913,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_918_markReadUpTo,"snikket.DirectChat","markReadUpTo",0xa06bd335,"snikket.DirectChat.markReadUpTo","snikket/Chat.hx",918,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_917_markReadUpTo,"snikket.DirectChat","markReadUpTo",0xa06bd335,"snikket.DirectChat.markReadUpTo","snikket/Chat.hx",917,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_949_bookmark,"snikket.DirectChat","bookmark",0x9ab25992,"snikket.DirectChat.bookmark","snikket/Chat.hx",949,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_939_bookmark,"snikket.DirectChat","bookmark",0x9ab25992,"snikket.DirectChat.bookmark","snikket/Chat.hx",939,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_958_sendChatState,"snikket.DirectChat","sendChatState",0xb2f43755,"snikket.DirectChat.sendChatState","snikket/Chat.hx",958,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_975_close,"snikket.DirectChat","close",0x2561e95c,"snikket.DirectChat.close","snikket/Chat.hx",975,0x18616bf4)
-HX_LOCAL_STACK_FRAME(_hx_pos_af7b91d6026813b6_724_boot,"snikket.DirectChat","boot",0x5105b30e,"snikket.DirectChat.boot","snikket/Chat.hx",724,0x18616bf4)
-namespace snikket{
-
-void DirectChat_obj::__construct( ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy){
- int uiState = __o_uiState.Default(1);
- bool isBlocked = __o_isBlocked.Default(false);
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_727_new)
-HXDLIN( 727) super::__construct(client,stream,persistence,chatId,uiState,isBlocked,extensions,readUpToId,readUpToBy);
- }
-
-Dynamic DirectChat_obj::__CreateEmpty() { return new DirectChat_obj; }
-
-void *DirectChat_obj::_hx_vtable = 0;
-
-Dynamic DirectChat_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< DirectChat_obj > _hx_result = new DirectChat_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4],inArgs[5],inArgs[6],inArgs[7],inArgs[8]);
- return _hx_result;
-}
-
-bool DirectChat_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x026b7f35) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x026b7f35;
- } else {
- return inClassId==(int)0x62c262be;
- }
-}
-
-::Array< ::String > DirectChat_obj::getParticipants(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::haxe::ds::StringMap,ids) HXARGC(0)
- ::Dynamic _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_af7b91d6026813b6_745_getParticipants)
-HXLINE( 745) return ids->keys();
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_GC_STACKFRAME(&_hx_pos_af7b91d6026813b6_731_getParticipants)
-HXLINE( 732) ::Array< ::String > counters = this->counterparts();
-HXLINE( 733) ::haxe::ds::StringMap ids = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 734) bool _hx_tmp;
-HXDLIN( 734) if ((counters->length < 2)) {
-HXLINE( 734) ::snikket::ChatMessage tmp = this->lastMessage;
-HXDLIN( 734) ::Array< ::Dynamic> tmp1;
-HXDLIN( 734) if (::hx::IsNotNull( tmp )) {
-HXLINE( 734) tmp1 = tmp->recipients;
- }
- else {
-HXLINE( 734) tmp1 = null();
- }
-HXDLIN( 734) ::Dynamic tmp2;
-HXDLIN( 734) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 734) tmp2 = tmp1->length;
- }
- else {
-HXLINE( 734) tmp2 = null();
- }
-HXDLIN( 734) int _hx_tmp1;
-HXDLIN( 734) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 734) _hx_tmp1 = ( (int)(tmp2) );
- }
- else {
-HXLINE( 734) _hx_tmp1 = 0;
- }
-HXDLIN( 734) _hx_tmp = (_hx_tmp1 > 1);
- }
- else {
-HXLINE( 734) _hx_tmp = false;
- }
-HXDLIN( 734) if (_hx_tmp) {
-HXLINE( 735) ids->set(this->lastMessage->senderId,true);
-HXLINE( 736) {
-HXLINE( 736) int _g = 0;
-HXDLIN( 736) ::Array< ::Dynamic> _this = this->lastMessage->recipients;
-HXDLIN( 736) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 736) {
-HXLINE( 736) int _g1 = 0;
-HXDLIN( 736) int _g2 = _this->length;
-HXDLIN( 736) while((_g1 < _g2)){
-HXLINE( 736) _g1 = (_g1 + 1);
-HXDLIN( 736) int i = (_g1 - 1);
-HXDLIN( 736) {
-HXLINE( 736) ::String inValue = ( ( ::snikket::JID)(_hx_array_unsafe_get(_this,i)) )->asString();
-HXDLIN( 736) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 736) ::Array< ::String > _g3 = result;
-HXDLIN( 736) while((_g < _g3->length)){
-HXLINE( 736) ::String id = _g3->__get(_g);
-HXDLIN( 736) _g = (_g + 1);
-HXLINE( 737) ids->set(id,true);
- }
- }
- }
- else {
-HXLINE( 740) {
-HXLINE( 740) ::String k = this->client->accountId();
-HXDLIN( 740) ids->set(k,true);
- }
-HXLINE( 741) {
-HXLINE( 741) int _g4 = 0;
-HXDLIN( 741) ::Array< ::String > _g5 = this->counterparts();
-HXDLIN( 741) while((_g4 < _g5->length)){
-HXLINE( 741) ::String id1 = _g5->__get(_g4);
-HXDLIN( 741) _g4 = (_g4 + 1);
-HXLINE( 742) ids->set(id1,true);
- }
- }
- }
-HXLINE( 745) return ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(ids)))));
- }
-
-
-::Array< ::String > DirectChat_obj::counterparts(){
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_749_counterparts)
-HXDLIN( 749) return this->chatId.split(HX_("\n",0a,00,00,00));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(DirectChat_obj,counterparts,return )
-
- ::snikket::Participant DirectChat_obj::getParticipantDetails(::String participantId){
- HX_GC_STACKFRAME(&_hx_pos_af7b91d6026813b6_753_getParticipantDetails)
-HXLINE( 754) ::snikket::DirectChat chat = this->client->getDirectChat(participantId,null());
-HXLINE( 755) ::String _hx_tmp = chat->getDisplayName();
-HXDLIN( 755) ::String _hx_tmp1 = chat->getPhoto();
-HXDLIN( 755) ::String _hx_tmp2 = chat->getPlaceholder();
-HXDLIN( 755) ::String chat1 = chat->chatId;
-HXDLIN( 755) return ::snikket::Participant_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,_hx_tmp2,(chat1 == this->client->accountId()));
- }
-
-
-void DirectChat_obj::getMessagesBefore(::String beforeId,::String beforeTime, ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::DirectChat,_gthis,::String,beforeId, ::Dynamic,handler) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> messages){
- HX_GC_STACKFRAME(&_hx_pos_af7b91d6026813b6_761_getMessagesBefore)
-HXLINE( 761) if ((messages->length > 0)) {
-HXLINE( 762) handler(messages);
- }
- else {
-HXLINE( 764) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("with",06,76,f8,4e),_gthis->chatId));
-HXLINE( 765) if (::hx::IsNotNull( beforeId )) {
-HXLINE( 765) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("before",7f,54,32,9a),beforeId)),::hx::paccDynamic);
- }
-HXLINE( 766) ::snikket::MessageSync sync = ::snikket::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,null());
-HXLINE( 767) _gthis->fetchFromSync(sync,handler);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_759_getMessagesBefore)
-HXDLIN( 759) ::snikket::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 760) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 760) ::String _hx_tmp1 = this->client->accountId();
-HXDLIN( 760) ::snikket::Persistence_obj::getMessagesBefore(_hx_tmp,_hx_tmp1,this->chatId,beforeId,beforeTime, ::Dynamic(new _hx_Closure_0(_gthis,beforeId,handler)));
- }
-
-
-void DirectChat_obj::getMessagesAfter(::String afterId,::String afterTime, ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::DirectChat,_gthis,::String,afterId, ::Dynamic,handler) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> messages){
- HX_GC_STACKFRAME(&_hx_pos_af7b91d6026813b6_779_getMessagesAfter)
-HXLINE( 779) if ((messages->length > 0)) {
-HXLINE( 780) handler(messages);
- }
- else {
-HXLINE( 782) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("with",06,76,f8,4e),_gthis->chatId));
-HXLINE( 783) if (::hx::IsNotNull( afterId )) {
-HXLINE( 783) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("after",1c,66,a2,1d),afterId)),::hx::paccDynamic);
- }
-HXLINE( 784) ::snikket::MessageSync sync = ::snikket::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,null());
-HXLINE( 785) _gthis->fetchFromSync(sync,handler);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_773_getMessagesAfter)
-HXDLIN( 773) ::snikket::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 774) bool _hx_tmp;
-HXDLIN( 774) ::String afterId1 = afterId;
-HXDLIN( 774) if ((afterId1 == this->lastMessageId())) {
-HXLINE( 774) _hx_tmp = !(this->syncing());
- }
- else {
-HXLINE( 774) _hx_tmp = false;
- }
-HXDLIN( 774) if (_hx_tmp) {
-HXLINE( 775) handler(::Array_obj< ::Dynamic>::__new(0));
-HXLINE( 776) return;
- }
-HXLINE( 778) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN( 778) ::String _hx_tmp2 = this->client->accountId();
-HXDLIN( 778) ::snikket::Persistence_obj::getMessagesAfter(_hx_tmp1,_hx_tmp2,this->chatId,afterId,afterTime, ::Dynamic(new _hx_Closure_0(_gthis,afterId,handler)));
- }
-
-
-void DirectChat_obj::getMessagesAround(::String aroundId,::String aroundTime, ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_793_getMessagesAround)
-HXLINE( 793) if ((messages->length > 0)) {
-HXLINE( 794) handler(messages);
- }
- else {
-HXLINE( 797) handler(::Array_obj< ::Dynamic>::__new(0));
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_792_getMessagesAround)
-HXDLIN( 792) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 792) ::String _hx_tmp1 = this->client->accountId();
-HXDLIN( 792) ::snikket::Persistence_obj::getMessagesAround(_hx_tmp,_hx_tmp1,this->chatId,aroundId,aroundTime, ::Dynamic(new _hx_Closure_0(handler)));
- }
-
-
- ::snikket::ChatMessageBuilder DirectChat_obj::prepareIncomingMessage( ::snikket::ChatMessageBuilder message, ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_803_prepareIncomingMessage)
-HXLINE( 804) message->syncPoint = !(this->syncing());
-HXLINE( 805) return message;
- }
-
-
- ::snikket::ChatMessageBuilder DirectChat_obj::prepareOutgoingMessage( ::snikket::ChatMessageBuilder message){
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_808_prepareOutgoingMessage)
-HXLINE( 809) ::String tmp = message->timestamp;
-HXDLIN( 809) ::String _hx_tmp;
-HXDLIN( 809) if (::hx::IsNotNull( tmp )) {
-HXLINE( 809) _hx_tmp = tmp;
- }
- else {
-HXLINE( 809) _hx_tmp = ::snikket::Date_obj::format(::Date_obj::now());
- }
-HXDLIN( 809) message->timestamp = _hx_tmp;
-HXLINE( 810) message->direction = 1;
-HXLINE( 811) message->from = this->client->jid;
-HXLINE( 812) message->sender = message->from->asBare();
-HXLINE( 813) message->replyTo = ::Array_obj< ::Dynamic>::__new(1)->init(0,message->sender);
-HXLINE( 814) ::Array< ::String > _this = this->counterparts();
-HXDLIN( 814) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN( 814) {
-HXLINE( 814) int _g = 0;
-HXDLIN( 814) int _g1 = _this->length;
-HXDLIN( 814) while((_g < _g1)){
-HXLINE( 814) _g = (_g + 1);
-HXDLIN( 814) int i = (_g - 1);
-HXDLIN( 814) {
-HXLINE( 814) ::snikket::JID inValue = ::snikket::JID_obj::parse(( (::String)(_hx_array_unsafe_get(_this,i)) ));
-HXDLIN( 814) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 814) message->recipients = result;
-HXLINE( 815) message->to = message->recipients->__get(0).StaticCast< ::snikket::JID >();
-HXLINE( 816) return message;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(DirectChat_obj,prepareOutgoingMessage,return )
-
-void DirectChat_obj::correctMessage(::String localId, ::snikket::ChatMessageBuilder message){
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_0, ::snikket::DirectChat,_gthis,::Array< ::Dynamic>,message1,::String,localId,::String,toSendId) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> corrected){
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_825_correctMessage)
-HXLINE( 826) ::Array< ::Dynamic> _hx_tmp;
-HXDLIN( 826) ::snikket::ChatMessage tmp = corrected->__get(0).StaticCast< ::snikket::ChatMessage >()->versions->__get((corrected->__get(0).StaticCast< ::snikket::ChatMessage >()->versions->length - 1)).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 826) ::String _hx_tmp1;
-HXDLIN( 826) if (::hx::IsNotNull( tmp )) {
-HXLINE( 826) _hx_tmp1 = tmp->localId;
- }
- else {
-HXLINE( 826) _hx_tmp1 = null();
- }
-HXDLIN( 826) if ((_hx_tmp1 == localId)) {
-HXLINE( 826) _hx_tmp = corrected->__get(0).StaticCast< ::snikket::ChatMessage >()->versions;
- }
- else {
-HXLINE( 826) _hx_tmp = ::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->build());
- }
-HXDLIN( 826) message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->versions = _hx_tmp;
-HXLINE( 827) message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->localId = toSendId;
-HXLINE( 828) {
-HXLINE( 828) int _g = 0;
-HXDLIN( 828) ::Array< ::Dynamic> _g1 = message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->recipients;
-HXDLIN( 828) while((_g < _g1->length)){
-HXLINE( 828) ::snikket::JID recipient = _g1->__get(_g).StaticCast< ::snikket::JID >();
-HXDLIN( 828) _g = (_g + 1);
-HXLINE( 829) message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->to = recipient;
-HXLINE( 830) ::snikket::Client _gthis1 = _gthis->client;
-HXDLIN( 830) _gthis1->sendStanza(message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->build()->asStanza());
- }
- }
-HXLINE( 832) ::snikket::ChatMessage tmp1 = _gthis->lastMessage;
-HXDLIN( 832) ::String _hx_tmp2;
-HXDLIN( 832) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 832) _hx_tmp2 = tmp1->localId;
- }
- else {
-HXLINE( 832) _hx_tmp2 = null();
- }
-HXDLIN( 832) if ((localId == _hx_tmp2)) {
-HXLINE( 833) _gthis->setLastMessage(corrected->__get(0).StaticCast< ::snikket::ChatMessage >());
-HXLINE( 834) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
- }
-HXLINE( 836) _gthis->client->notifyMessageHandlers(corrected->__get(0).StaticCast< ::snikket::ChatMessage >(),1);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_820_correctMessage)
-HXDLIN( 820) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
-HXDLIN( 820) ::snikket::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 821) ::String toSendId = message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->localId;
-HXLINE( 822) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >());
-HXLINE( 823) ::snikket::ChatMessage _hx_tmp = message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->build();
-HXDLIN( 823) message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,_hx_tmp);
-HXLINE( 824) message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->localId = localId;
-HXLINE( 825) ::snikket::Client _hx_tmp1 = this->client;
-HXDLIN( 825) _hx_tmp1->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->build()), ::Dynamic(new _hx_Closure_0(_gthis,message1,localId,toSendId)));
- }
-
-
-void DirectChat_obj::sendMessage( ::snikket::ChatMessageBuilder message){
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_841_sendMessage)
-HXDLIN( 841) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
-HXDLIN( 841) ::snikket::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 842) if (::hx::IsNotNull( this->typingTimer )) {
-HXLINE( 842) this->typingTimer->stop();
- }
-HXLINE( 843) this->client->chatActivity(::hx::ObjectPtr<OBJ_>(this),null());
-HXLINE( 844) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >());
-HXLINE( 845) message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->to = message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->recipients->__get(0).StaticCast< ::snikket::JID >();
-HXLINE( 846) ::snikket::Stanza fromStanza = message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->build()->asStanza();
-HXDLIN( 846) ::snikket::MessageStanza fromStanza1 = ::snikket::Message_obj::fromStanza(fromStanza,this->client->jid,null())->parsed;
-HXLINE( 847) switch((int)(fromStanza1->_hx_getIndex())){
- case (int)1: {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::DirectChat,_gthis,::Array< ::Dynamic>,message1) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> stored){
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_849_sendMessage)
-HXLINE( 850) {
-HXLINE( 850) int _g = 0;
-HXDLIN( 850) ::Array< ::Dynamic> _g1 = message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->recipients;
-HXDLIN( 850) while((_g < _g1->length)){
-HXLINE( 850) ::snikket::JID recipient = _g1->__get(_g).StaticCast< ::snikket::JID >();
-HXDLIN( 850) _g = (_g + 1);
-HXLINE( 851) message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->to = recipient;
-HXLINE( 852) ::snikket::Stanza stanza = message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->build()->asStanza();
-HXLINE( 853) if (::hx::IsNotNull( _gthis->isActive )) {
-HXLINE( 854) _gthis->isActive = true;
-HXLINE( 855) _gthis->activeThread = message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->threadId;
-HXLINE( 856) 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( 858) _gthis->client->sendStanza(stanza);
- }
- }
-HXLINE( 860) ::snikket::DirectChat _gthis1 = _gthis;
-HXDLIN( 860) _gthis1->setLastMessage(message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->build());
-HXLINE( 861) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
-HXLINE( 862) int _hx_tmp;
-HXDLIN( 862) if ((stored->__get(0).StaticCast< ::snikket::ChatMessage >()->versions->length > 1)) {
-HXLINE( 862) _hx_tmp = 1;
- }
- else {
-HXLINE( 862) _hx_tmp = 0;
- }
-HXDLIN( 862) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::snikket::ChatMessage >(),_hx_tmp);
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 848) ::snikket::ChatMessage _g = fromStanza1->_hx_getObject(0).StaticCast< ::snikket::ChatMessage >();
-HXLINE( 849) ::snikket::Client _hx_tmp = this->client;
-HXDLIN( 849) _hx_tmp->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->build()), ::Dynamic(new _hx_Closure_0(_gthis,message1)));
- }
- break;
- case (int)3: {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::snikket::DirectChat,_gthis,::Array< ::Dynamic>,message1) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage stored){
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_865_sendMessage)
-HXLINE( 866) {
-HXLINE( 866) int _g = 0;
-HXDLIN( 866) ::Array< ::Dynamic> _g1 = message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->recipients;
-HXDLIN( 866) while((_g < _g1->length)){
-HXLINE( 866) ::snikket::JID recipient = _g1->__get(_g).StaticCast< ::snikket::JID >();
-HXDLIN( 866) _g = (_g + 1);
-HXLINE( 867) message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->to = recipient;
-HXLINE( 868) ::snikket::Client _gthis1 = _gthis->client;
-HXDLIN( 868) _gthis1->sendStanza(message1->__get(0).StaticCast< ::snikket::ChatMessageBuilder >()->build()->asStanza());
- }
- }
-HXLINE( 870) if (::hx::IsNotNull( stored )) {
-HXLINE( 870) _gthis->client->notifyMessageHandlers(stored,2);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 864) ::snikket::ReactionUpdate update = fromStanza1->_hx_getObject(0).StaticCast< ::snikket::ReactionUpdate >();
-HXLINE( 865) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN( 865) ::snikket::Persistence_obj::storeReaction(_hx_tmp1,this->client->accountId(),update, ::Dynamic(new _hx_Closure_1(_gthis,message1)));
- }
- break;
- default:{
-HXLINE( 873) ::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_("snikket.DirectChat",12,9f,50,5b))
- ->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_("snikket/Chat.hx",f4,6b,61,18))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),873)));
-HXLINE( 874) HX_STACK_DO_THROW(HX_("Trying to send invalid message.",dc,74,a0,91));
- }
- }
- }
-
-
-void DirectChat_obj::removeReaction( ::snikket::ChatMessage m, ::snikket::Reaction reaction){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::snikket::DirectChat,_gthis, ::snikket::ReactionUpdate,update3) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage stored){
- HX_GC_STACKFRAME(&_hx_pos_af7b91d6026813b6_901_removeReaction)
-HXLINE( 902) ::snikket::Stanza stanza = update3->asStanza();
-HXLINE( 903) {
-HXLINE( 903) int _g = 0;
-HXDLIN( 903) ::Array< ::String > _g1 = _gthis->counterparts();
-HXDLIN( 903) while((_g < _g1->length)){
-HXLINE( 903) ::String recipient = _g1->__get(_g);
-HXDLIN( 903) _g = (_g + 1);
-HXLINE( 904) ::Reflect_obj::setField(stanza->attr,HX_("to",7b,65,00,00),recipient);
-HXLINE( 905) _gthis->client->sendStanza(stanza);
- }
- }
-HXLINE( 907) if (::hx::IsNotNull( stored )) {
-HXLINE( 907) _gthis->client->notifyMessageHandlers(stored,2);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_af7b91d6026813b6_879_removeReaction)
-HXDLIN( 879) ::snikket::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 880) if (::Std_obj::isOfType(reaction,::hx::ClassOf< ::snikket::CustomEmojiReaction >())) {
-HXLINE( 881) if (::hx::IsNull( reaction->envelopeId )) {
-HXLINE( 881) HX_STACK_DO_THROW(HX_("Cannot remove custom emoji reaction without envelopeId",90,e6,80,fb));
- }
-HXLINE( 882) ::snikket::ChatMessageBuilder correct = m->reply();
-HXLINE( 883) correct->localId = ::snikket::ID_obj::_hx_long();
-HXLINE( 884) correct->setHtml(HX_("",00,00,00,00));
-HXLINE( 885) correct->text = null();
-HXLINE( 886) this->correctMessage(reaction->envelopeId,correct);
-HXLINE( 887) return;
- }
-HXLINE( 891) ::Array< ::Dynamic> reactions = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 892) {
-HXLINE( 892) ::Dynamic map = m->reactions;
-HXDLIN( 892) ::Dynamic _g_map = map;
-HXDLIN( 892) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN( 892) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 892) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 892) ::Array< ::Dynamic> _g_value = ( (::Array< ::Dynamic>)(::haxe::IMap_obj::get(_g_map,key)) );
-HXDLIN( 892) ::String _g_key = key;
-HXDLIN( 892) ::String areaction = _g_key;
-HXDLIN( 892) ::Array< ::Dynamic> reacts = _g_value;
-HXLINE( 893) if ((areaction != reaction->key)) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::DirectChat,_gthis) HXARGC(1)
- bool _hx_run( ::snikket::Reaction r){
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_894_removeReaction)
-HXLINE( 894) ::String r1 = r->senderId;
-HXDLIN( 894) return (r1 == _gthis->client->accountId());
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 894) ::snikket::Reaction react = ( ( ::snikket::Reaction)(::Lambda_obj::find(reacts, ::Dynamic(new _hx_Closure_0(_gthis)))) );
-HXLINE( 895) bool _hx_tmp;
-HXDLIN( 895) if (::hx::IsNotNull( react )) {
-HXLINE( 895) _hx_tmp = !(::Std_obj::isOfType(react,::hx::ClassOf< ::snikket::CustomEmojiReaction >()));
- }
- else {
-HXLINE( 895) _hx_tmp = false;
- }
-HXDLIN( 895) if (_hx_tmp) {
-HXLINE( 896) reactions->push(react);
- }
- }
- }
- }
-HXLINE( 900) ::String update = ::snikket::ID_obj::_hx_long();
-HXDLIN( 900) ::String m1 = m->localId;
-HXDLIN( 900) ::String update1 = m->chatId();
-HXDLIN( 900) ::String update2 = this->client->accountId();
-HXDLIN( 900) ::snikket::ReactionUpdate update3 = ::snikket::ReactionUpdate_obj::__alloc( HX_CTX ,update,null(),null(),m1,update1,update2,::snikket::Date_obj::format(::Date_obj::now()),reactions,0);
-HXLINE( 901) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN( 901) ::String _hx_tmp2 = this->client->accountId();
-HXDLIN( 901) ::snikket::Persistence_obj::storeReaction(_hx_tmp1,_hx_tmp2,update3, ::Dynamic(new _hx_Closure_1(_gthis,update3)));
- }
-
-
-::String DirectChat_obj::lastMessageId(){
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_913_lastMessageId)
-HXDLIN( 913) ::snikket::ChatMessage tmp = this->lastMessage;
-HXDLIN( 913) ::String tmp1;
-HXDLIN( 913) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 913) tmp1 = tmp->localId;
- }
- else {
-HXDLIN( 913) tmp1 = null();
- }
-HXDLIN( 913) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN( 913) return tmp1;
- }
- else {
-HXDLIN( 913) ::snikket::ChatMessage tmp2 = this->lastMessage;
-HXDLIN( 913) if (::hx::IsNotNull( tmp2 )) {
-HXDLIN( 913) return tmp2->serverId;
- }
- else {
-HXDLIN( 913) return null();
- }
- }
-HXDLIN( 913) return null();
- }
-
-
-void DirectChat_obj::markReadUpTo( ::snikket::ChatMessage message){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::DirectChat,_gthis, ::snikket::ChatMessage,message) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_af7b91d6026813b6_918_markReadUpTo)
-HXLINE( 921) bool _hx_tmp;
-HXDLIN( 921) if (message->isIncoming()) {
-HXLINE( 921) _hx_tmp = ::hx::IsNotNull( message->localId );
- }
- else {
-HXLINE( 921) _hx_tmp = false;
- }
-HXDLIN( 921) if (_hx_tmp) {
-HXLINE( 922) int _g = 0;
-HXDLIN( 922) ::Array< ::String > _g1 = _gthis->counterparts();
-HXDLIN( 922) while((_g < _g1->length)){
-HXLINE( 922) ::String recipient = _g1->__get(_g);
-HXDLIN( 922) _g = (_g + 1);
-HXLINE( 924) ::String stanza = ::snikket::ID_obj::_hx_long();
-HXDLIN( 924) ::snikket::Stanza stanza1 = ::snikket::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(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( 926) if (::hx::IsNotNull( message->threadId )) {
-HXLINE( 927) stanza1->textTag(HX_("thread",ca,7a,b9,8e),message->threadId,null());
- }
-HXLINE( 929) _gthis->client->sendStanza(stanza1);
- }
- }
-HXLINE( 933) _gthis->publishMds();
-HXLINE( 934) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_917_markReadUpTo)
-HXDLIN( 917) ::snikket::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 918) this->markReadUpToMessage(message, ::Dynamic(new _hx_Closure_0(_gthis,message)));
- }
-
-
-void DirectChat_obj::bookmark(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::DirectChat,_gthis) HXARGC(1)
- void _hx_run( ::snikket::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_af7b91d6026813b6_949_bookmark)
-HXLINE( 950) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE( 950) return;
- }
-HXLINE( 951) ::snikket::GenericStream _gthis1 = _gthis->stream;
-HXDLIN( 951) ::String _gthis2 = _gthis->chatId;
-HXDLIN( 951) _gthis1->sendStanza( ::snikket::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),::snikket::ID_obj::_hx_short())
- ->setFixed(1,HX_("to",7b,65,00,00),_gthis2)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("subscribe",4a,0b,18,19)))));
-HXLINE( 952) if (_gthis->isTrusted()) {
-HXLINE( 952) ::snikket::GenericStream _gthis3 = _gthis->stream;
-HXDLIN( 952) ::String _gthis4 = _gthis->chatId;
-HXDLIN( 952) _gthis3->sendStanza( ::snikket::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),::snikket::ID_obj::_hx_short())
- ->setFixed(1,HX_("to",7b,65,00,00),_gthis4)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("subscribed",da,d5,f1,db)))));
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_af7b91d6026813b6_939_bookmark)
-HXDLIN( 939) ::snikket::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 940) ::Dynamic attr = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("jid",c5,ca,50,00),this->chatId));
-HXLINE( 941) bool _hx_tmp;
-HXDLIN( 941) bool _hx_tmp1;
-HXDLIN( 941) if (::hx::IsNotNull( this->displayName )) {
-HXLINE( 941) _hx_tmp1 = (this->displayName != HX_("",00,00,00,00));
- }
- else {
-HXLINE( 941) _hx_tmp1 = false;
- }
-HXDLIN( 941) if (_hx_tmp1) {
-HXLINE( 941) _hx_tmp = (this->displayName != this->chatId);
- }
- else {
-HXLINE( 941) _hx_tmp = false;
- }
-HXDLIN( 941) if (_hx_tmp) {
-HXLINE( 942) ::String value = this->displayName;
-HXDLIN( 942) ::Reflect_obj::setField(attr,HX_("name",4b,72,ff,48),value);
- }
-HXLINE( 944) ::snikket::GenericStream _hx_tmp2 = this->stream;
-HXDLIN( 944) _hx_tmp2->sendIq( ::snikket::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)));
- }
-
-
-void DirectChat_obj::sendChatState(::String state,::String threadId){
- HX_GC_STACKFRAME(&_hx_pos_af7b91d6026813b6_958_sendChatState)
-HXDLIN( 958) int _g = 0;
-HXDLIN( 958) ::Array< ::String > _g1 = this->counterparts();
-HXDLIN( 958) while((_g < _g1->length)){
-HXDLIN( 958) ::String recipient = _g1->__get(_g);
-HXDLIN( 958) _g = (_g + 1);
-HXLINE( 960) ::String stanza = ::snikket::ID_obj::_hx_long();
-HXLINE( 962) ::String stanza1 = this->client->jid->asString();
-HXLINE( 959) ::snikket::Stanza stanza2 = ::snikket::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( 967) if (::hx::IsNotNull( threadId )) {
-HXLINE( 968) stanza2->textTag(HX_("thread",ca,7a,b9,8e),threadId,null());
- }
-HXLINE( 970) this->stream->sendStanza(stanza2);
- }
- }
-
-
-void DirectChat_obj::close(){
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_975_close)
-HXLINE( 976) if (::hx::IsNotNull( this->typingTimer )) {
-HXLINE( 976) this->typingTimer->stop();
- }
-HXLINE( 978) this->uiState = 2;
-HXLINE( 979) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 979) ::snikket::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE( 980) if (!(this->isBlocked)) {
-HXLINE( 980) this->sendChatState(HX_("gone",5f,94,69,44),null());
- }
-HXLINE( 981) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
- }
-
-
-
-::hx::ObjectPtr< DirectChat_obj > DirectChat_obj::__new( ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy) {
- ::hx::ObjectPtr< DirectChat_obj > __this = new DirectChat_obj();
- __this->__construct(client,stream,persistence,chatId,__o_uiState,__o_isBlocked,extensions,readUpToId,readUpToBy);
- return __this;
-}
-
-::hx::ObjectPtr< DirectChat_obj > DirectChat_obj::__alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBlocked, ::snikket::Stanza extensions,::String readUpToId,::String readUpToBy) {
- DirectChat_obj *__this = (DirectChat_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(DirectChat_obj), true, "snikket.DirectChat"));
- *(void **)__this = DirectChat_obj::_hx_vtable;
- __this->__construct(client,stream,persistence,chatId,__o_uiState,__o_isBlocked,extensions,readUpToId,readUpToBy);
- return __this;
-}
-
-DirectChat_obj::DirectChat_obj()
-{
-}
-
-::hx::Val DirectChat_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 5:
- if (HX_FIELD_EQ(inName,"close") ) { return ::hx::Val( close_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"bookmark") ) { return ::hx::Val( bookmark_dyn() ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"sendMessage") ) { return ::hx::Val( sendMessage_dyn() ); }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"counterparts") ) { return ::hx::Val( counterparts_dyn() ); }
- if (HX_FIELD_EQ(inName,"markReadUpTo") ) { return ::hx::Val( markReadUpTo_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"lastMessageId") ) { return ::hx::Val( lastMessageId_dyn() ); }
- if (HX_FIELD_EQ(inName,"sendChatState") ) { return ::hx::Val( sendChatState_dyn() ); }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"correctMessage") ) { return ::hx::Val( correctMessage_dyn() ); }
- if (HX_FIELD_EQ(inName,"removeReaction") ) { return ::hx::Val( removeReaction_dyn() ); }
- break;
- case 15:
- if (HX_FIELD_EQ(inName,"getParticipants") ) { return ::hx::Val( getParticipants_dyn() ); }
- break;
- case 16:
- if (HX_FIELD_EQ(inName,"getMessagesAfter") ) { return ::hx::Val( getMessagesAfter_dyn() ); }
- break;
- case 17:
- if (HX_FIELD_EQ(inName,"getMessagesBefore") ) { return ::hx::Val( getMessagesBefore_dyn() ); }
- if (HX_FIELD_EQ(inName,"getMessagesAround") ) { return ::hx::Val( getMessagesAround_dyn() ); }
- break;
- case 21:
- if (HX_FIELD_EQ(inName,"getParticipantDetails") ) { return ::hx::Val( getParticipantDetails_dyn() ); }
- break;
- case 22:
- if (HX_FIELD_EQ(inName,"prepareIncomingMessage") ) { return ::hx::Val( prepareIncomingMessage_dyn() ); }
- if (HX_FIELD_EQ(inName,"prepareOutgoingMessage") ) { return ::hx::Val( prepareOutgoingMessage_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo *DirectChat_obj_sMemberStorageInfo = 0;
-static ::hx::StaticInfo *DirectChat_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String DirectChat_obj_sMemberFields[] = {
- HX_("getParticipants",16,0b,c7,34),
- HX_("counterparts",a4,10,14,78),
- HX_("getParticipantDetails",85,2b,7d,4d),
- HX_("getMessagesBefore",a1,f1,44,11),
- HX_("getMessagesAfter",3a,43,91,57),
- HX_("getMessagesAround",6f,95,16,2d),
- HX_("prepareIncomingMessage",ba,eb,c6,e3),
- HX_("prepareOutgoingMessage",f4,b0,f3,49),
- HX_("correctMessage",7d,36,c3,f4),
- HX_("sendMessage",5f,89,1d,24),
- HX_("removeReaction",0d,24,0b,c1),
- HX_("lastMessageId",4c,90,58,27),
- HX_("markReadUpTo",59,68,2d,ee),
- HX_("bookmark",b6,8c,f1,32),
- HX_("sendChatState",b1,21,95,6e),
- HX_("close",b8,17,63,48),
- ::String(null()) };
-
-::hx::Class DirectChat_obj::__mClass;
-
-void DirectChat_obj::__register()
-{
- DirectChat_obj _hx_dummy;
- DirectChat_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.DirectChat",12,9f,50,5b);
- __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(DirectChat_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< DirectChat_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = DirectChat_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = DirectChat_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-void DirectChat_obj::__boot()
-{
-{
- HX_STACKFRAME(&_hx_pos_af7b91d6026813b6_724_boot)
-HXDLIN( 724) __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_("removeReaction",0d,24,0b,c1), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(1,HX_("markReadUpTo",59,68,2d,ee), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(2,HX_("correctMessage",7d,36,c3,f4), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(3,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(4,HX_("sendMessage",5f,89,1d,24), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(5,HX_("lastMessageId",4c,90,58,27), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(6,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(7,HX_("bookmark",b6,8c,f1,32), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(8,HX_("getParticipants",16,0b,c7,34), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(9,HX_("close",b8,17,63,48), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(10,HX_("getParticipantDetails",85,2b,7d,4d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(11,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
- }
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/EmojiUtil.cpp b/Sources/c_snikket/src/snikket/EmojiUtil.cpp
deleted file mode 100644
index f9788f2..0000000
--- a/Sources/c_snikket/src/snikket/EmojiUtil.cpp
+++ /dev/null
@@ -1,578 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_snikket_Builder
-#include <snikket/Builder.h>
-#endif
-#ifndef INCLUDED_snikket_EmojiUtil
-#include <snikket/EmojiUtil.h>
-#endif
-#ifndef INCLUDED_snikket_StringUtil
-#include <snikket/StringUtil.h>
-#endif
-#ifndef INCLUDED_snikket_Symbol
-#include <snikket/Symbol.h>
-#endif
-#ifndef INCLUDED_snikket_UnicodeBlocks
-#include <snikket/UnicodeBlocks.h>
-#endif
-#ifndef INCLUDED_snikket_UnicodeList
-#include <snikket/UnicodeList.h>
-#endif
-#ifndef INCLUDED_snikket_UnicodeRange
-#include <snikket/UnicodeRange.h>
-#endif
-#ifndef INCLUDED_snikket_UnicodeSet
-#include <snikket/UnicodeSet.h>
-#endif
-
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_77_parse,"snikket.EmojiUtil","parse",0x8a080bdc,"snikket.EmojiUtil.parse","snikket/EmojiUtil.hx",77,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_100_isEmoji,"snikket.EmojiUtil","isEmoji",0x47668b25,"snikket.EmojiUtil.isEmoji","snikket/EmojiUtil.hx",100,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_105_isOnlyEmoji,"snikket.EmojiUtil","isOnlyEmoji",0x7a0a0999,"snikket.EmojiUtil.isOnlyEmoji","snikket/EmojiUtil.hx",105,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_34_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",34,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_35_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",35,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_36_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",36,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_38_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",38,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_39_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",39,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_40_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",40,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_41_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",41,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_42_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",42,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_43_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",43,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_44_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",44,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_45_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",45,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_46_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",46,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_47_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",47,0x30de6948)
-static const int _hx_array_data_3acd4757_18[] = {
- (int)12336,(int)12349,
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_48_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",48,0x30de6948)
-static const int _hx_array_data_3acd4757_20[] = {
- (int)8482,(int)8505,
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_50_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",50,0x30de6948)
-static const int _hx_array_data_3acd4757_22[] = {
- (int)35,
-};
-static const int _hx_array_data_3acd4757_23[] = {
- (int)42,
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_52_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",52,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_58_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",58,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_71_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",71,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_72_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",72,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_73_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",73,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_74_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",74,0x30de6948)
-HX_LOCAL_STACK_FRAME(_hx_pos_b91bb4f89662e69a_75_boot,"snikket.EmojiUtil","boot",0x5b47f0a9,"snikket.EmojiUtil.boot","snikket/EmojiUtil.hx",75,0x30de6948)
-namespace snikket{
-
-void EmojiUtil_obj::__construct() { }
-
-Dynamic EmojiUtil_obj::__CreateEmpty() { return new EmojiUtil_obj; }
-
-void *EmojiUtil_obj::_hx_vtable = 0;
-
-Dynamic EmojiUtil_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< EmojiUtil_obj > _hx_result = new EmojiUtil_obj();
- _hx_result->__construct();
- return _hx_result;
-}
-
-bool EmojiUtil_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x636eb1f3;
-}
-
- ::snikket::UnicodeRange EmojiUtil_obj::MISC_SYMBOLS_AND_PICTOGRAPHS;
-
- ::snikket::UnicodeRange EmojiUtil_obj::SUPPLEMENTAL_SYMBOLS;
-
- ::snikket::UnicodeRange EmojiUtil_obj::EMOTICONS;
-
- ::snikket::UnicodeRange EmojiUtil_obj::MISC_SYMBOLS;
-
- ::snikket::UnicodeRange EmojiUtil_obj::DINGBATS;
-
- ::snikket::UnicodeRange EmojiUtil_obj::ENCLOSED_ALPHANUMERIC_SUPPLEMENT;
-
- ::snikket::UnicodeRange EmojiUtil_obj::ENCLOSED_IDEOGRAPHIC_SUPPLEMENT;
-
- ::snikket::UnicodeRange EmojiUtil_obj::REGIONAL_INDICATORS;
-
- ::snikket::UnicodeRange EmojiUtil_obj::GEOMETRIC_SHAPES;
-
- ::snikket::UnicodeRange EmojiUtil_obj::LATIN_SUPPLEMENT;
-
- ::snikket::UnicodeRange EmojiUtil_obj::MISC_TECHNICAL;
-
- ::snikket::UnicodeRange EmojiUtil_obj::TAGS;
-
- ::snikket::UnicodeList EmojiUtil_obj::CYK_SYMBOLS_AND_PUNCTUATION;
-
- ::snikket::UnicodeList EmojiUtil_obj::LETTERLIKE_SYMBOLS;
-
- ::snikket::UnicodeBlocks EmojiUtil_obj::KEYCAP_COMBINEABLE;
-
- ::snikket::UnicodeBlocks EmojiUtil_obj::SYMBOLIZE;
-
- ::snikket::UnicodeBlocks EmojiUtil_obj::EMOJIS;
-
-int EmojiUtil_obj::ZWJ;
-
-int EmojiUtil_obj::VARIATION_16;
-
-int EmojiUtil_obj::COMBINING_ENCLOSING_KEYCAP;
-
-int EmojiUtil_obj::BLACK_FLAG;
-
- ::snikket::UnicodeRange EmojiUtil_obj::FITZPATRICK;
-
-::Array< ::Dynamic> EmojiUtil_obj::parse(::String str){
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_77_parse)
-HXLINE( 78) ::Array< ::Dynamic> symbols = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 79) ::snikket::Builder builder = ::snikket::Builder_obj::__alloc( HX_CTX );
-HXLINE( 80) bool needsFinalBuild = false;
-HXLINE( 81) ::Array< int > input = ::snikket::StringUtil_obj::rawCodepointArray(str);
-HXLINE( 82) {
-HXLINE( 82) int _g = 0;
-HXDLIN( 82) int _g1 = input->length;
-HXDLIN( 82) while((_g < _g1)){
-HXLINE( 82) _g = (_g + 1);
-HXDLIN( 82) int i = (_g - 1);
-HXLINE( 83) int cp = input->__get(i);
-HXLINE( 84) if (builder->offer(cp)) {
-HXLINE( 85) needsFinalBuild = true;
- }
- else {
-HXLINE( 87) symbols->push(builder->build());
-HXLINE( 88) builder = ::snikket::Builder_obj::__alloc( HX_CTX );
-HXLINE( 89) if (builder->offer(cp)) {
-HXLINE( 90) needsFinalBuild = true;
- }
- }
- }
- }
-HXLINE( 94) if (needsFinalBuild) {
-HXLINE( 95) symbols->push(builder->build());
- }
-HXLINE( 97) return symbols;
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(EmojiUtil_obj,parse,return )
-
-bool EmojiUtil_obj::isEmoji(::String input){
- HX_STACKFRAME(&_hx_pos_b91bb4f89662e69a_100_isEmoji)
-HXLINE( 101) ::Array< ::Dynamic> symbols = ::snikket::EmojiUtil_obj::parse(input);
-HXLINE( 102) if ((symbols->length == 1)) {
-HXLINE( 102) return symbols->__get(0).StaticCast< ::snikket::Symbol >()->isEmoji();
- }
- else {
-HXLINE( 102) return false;
- }
-HXDLIN( 102) return false;
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(EmojiUtil_obj,isEmoji,return )
-
-bool EmojiUtil_obj::isOnlyEmoji(::String input){
- HX_STACKFRAME(&_hx_pos_b91bb4f89662e69a_105_isOnlyEmoji)
-HXLINE( 106) ::Array< ::Dynamic> symbols = ::snikket::EmojiUtil_obj::parse(input);
-HXLINE( 107) {
-HXLINE( 107) int _g = 0;
-HXDLIN( 107) while((_g < symbols->length)){
-HXLINE( 107) ::snikket::Symbol symbol = symbols->__get(_g).StaticCast< ::snikket::Symbol >();
-HXDLIN( 107) _g = (_g + 1);
-HXLINE( 108) if (!(symbol->isEmoji())) {
-HXLINE( 109) return false;
- }
- }
- }
-HXLINE( 112) return (symbols->length > 0);
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(EmojiUtil_obj,isOnlyEmoji,return )
-
-
-EmojiUtil_obj::EmojiUtil_obj()
-{
-}
-
-bool EmojiUtil_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"ZWJ") ) { outValue = ( ZWJ ); return true; }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"TAGS") ) { outValue = ( TAGS ); return true; }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"parse") ) { outValue = parse_dyn(); return true; }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"EMOJIS") ) { outValue = ( EMOJIS ); return true; }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"isEmoji") ) { outValue = isEmoji_dyn(); return true; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"DINGBATS") ) { outValue = ( DINGBATS ); return true; }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"EMOTICONS") ) { outValue = ( EMOTICONS ); return true; }
- if (HX_FIELD_EQ(inName,"SYMBOLIZE") ) { outValue = ( SYMBOLIZE ); return true; }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"BLACK_FLAG") ) { outValue = ( BLACK_FLAG ); return true; }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"FITZPATRICK") ) { outValue = ( FITZPATRICK ); return true; }
- if (HX_FIELD_EQ(inName,"isOnlyEmoji") ) { outValue = isOnlyEmoji_dyn(); return true; }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"MISC_SYMBOLS") ) { outValue = ( MISC_SYMBOLS ); return true; }
- if (HX_FIELD_EQ(inName,"VARIATION_16") ) { outValue = ( VARIATION_16 ); return true; }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"MISC_TECHNICAL") ) { outValue = ( MISC_TECHNICAL ); return true; }
- break;
- case 16:
- if (HX_FIELD_EQ(inName,"GEOMETRIC_SHAPES") ) { outValue = ( GEOMETRIC_SHAPES ); return true; }
- if (HX_FIELD_EQ(inName,"LATIN_SUPPLEMENT") ) { outValue = ( LATIN_SUPPLEMENT ); return true; }
- break;
- case 18:
- if (HX_FIELD_EQ(inName,"LETTERLIKE_SYMBOLS") ) { outValue = ( LETTERLIKE_SYMBOLS ); return true; }
- if (HX_FIELD_EQ(inName,"KEYCAP_COMBINEABLE") ) { outValue = ( KEYCAP_COMBINEABLE ); return true; }
- break;
- case 19:
- if (HX_FIELD_EQ(inName,"REGIONAL_INDICATORS") ) { outValue = ( REGIONAL_INDICATORS ); return true; }
- break;
- case 20:
- if (HX_FIELD_EQ(inName,"SUPPLEMENTAL_SYMBOLS") ) { outValue = ( SUPPLEMENTAL_SYMBOLS ); return true; }
- break;
- case 26:
- if (HX_FIELD_EQ(inName,"COMBINING_ENCLOSING_KEYCAP") ) { outValue = ( COMBINING_ENCLOSING_KEYCAP ); return true; }
- break;
- case 27:
- if (HX_FIELD_EQ(inName,"CYK_SYMBOLS_AND_PUNCTUATION") ) { outValue = ( CYK_SYMBOLS_AND_PUNCTUATION ); return true; }
- break;
- case 28:
- if (HX_FIELD_EQ(inName,"MISC_SYMBOLS_AND_PICTOGRAPHS") ) { outValue = ( MISC_SYMBOLS_AND_PICTOGRAPHS ); return true; }
- break;
- case 31:
- if (HX_FIELD_EQ(inName,"ENCLOSED_IDEOGRAPHIC_SUPPLEMENT") ) { outValue = ( ENCLOSED_IDEOGRAPHIC_SUPPLEMENT ); return true; }
- break;
- case 32:
- if (HX_FIELD_EQ(inName,"ENCLOSED_ALPHANUMERIC_SUPPLEMENT") ) { outValue = ( ENCLOSED_ALPHANUMERIC_SUPPLEMENT ); return true; }
- }
- return false;
-}
-
-bool EmojiUtil_obj::__SetStatic(const ::String &inName,Dynamic &ioValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"ZWJ") ) { ZWJ=ioValue.Cast< int >(); return true; }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"TAGS") ) { TAGS=ioValue.Cast< ::snikket::UnicodeRange >(); return true; }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"EMOJIS") ) { EMOJIS=ioValue.Cast< ::snikket::UnicodeBlocks >(); return true; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"DINGBATS") ) { DINGBATS=ioValue.Cast< ::snikket::UnicodeRange >(); return true; }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"EMOTICONS") ) { EMOTICONS=ioValue.Cast< ::snikket::UnicodeRange >(); return true; }
- if (HX_FIELD_EQ(inName,"SYMBOLIZE") ) { SYMBOLIZE=ioValue.Cast< ::snikket::UnicodeBlocks >(); return true; }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"BLACK_FLAG") ) { BLACK_FLAG=ioValue.Cast< int >(); return true; }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"FITZPATRICK") ) { FITZPATRICK=ioValue.Cast< ::snikket::UnicodeRange >(); return true; }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"MISC_SYMBOLS") ) { MISC_SYMBOLS=ioValue.Cast< ::snikket::UnicodeRange >(); return true; }
- if (HX_FIELD_EQ(inName,"VARIATION_16") ) { VARIATION_16=ioValue.Cast< int >(); return true; }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"MISC_TECHNICAL") ) { MISC_TECHNICAL=ioValue.Cast< ::snikket::UnicodeRange >(); return true; }
- break;
- case 16:
- if (HX_FIELD_EQ(inName,"GEOMETRIC_SHAPES") ) { GEOMETRIC_SHAPES=ioValue.Cast< ::snikket::UnicodeRange >(); return true; }
- if (HX_FIELD_EQ(inName,"LATIN_SUPPLEMENT") ) { LATIN_SUPPLEMENT=ioValue.Cast< ::snikket::UnicodeRange >(); return true; }
- break;
- case 18:
- if (HX_FIELD_EQ(inName,"LETTERLIKE_SYMBOLS") ) { LETTERLIKE_SYMBOLS=ioValue.Cast< ::snikket::UnicodeList >(); return true; }
- if (HX_FIELD_EQ(inName,"KEYCAP_COMBINEABLE") ) { KEYCAP_COMBINEABLE=ioValue.Cast< ::snikket::UnicodeBlocks >(); return true; }
- break;
- case 19:
- if (HX_FIELD_EQ(inName,"REGIONAL_INDICATORS") ) { REGIONAL_INDICATORS=ioValue.Cast< ::snikket::UnicodeRange >(); return true; }
- break;
- case 20:
- if (HX_FIELD_EQ(inName,"SUPPLEMENTAL_SYMBOLS") ) { SUPPLEMENTAL_SYMBOLS=ioValue.Cast< ::snikket::UnicodeRange >(); return true; }
- break;
- case 26:
- if (HX_FIELD_EQ(inName,"COMBINING_ENCLOSING_KEYCAP") ) { COMBINING_ENCLOSING_KEYCAP=ioValue.Cast< int >(); return true; }
- break;
- case 27:
- if (HX_FIELD_EQ(inName,"CYK_SYMBOLS_AND_PUNCTUATION") ) { CYK_SYMBOLS_AND_PUNCTUATION=ioValue.Cast< ::snikket::UnicodeList >(); return true; }
- break;
- case 28:
- if (HX_FIELD_EQ(inName,"MISC_SYMBOLS_AND_PICTOGRAPHS") ) { MISC_SYMBOLS_AND_PICTOGRAPHS=ioValue.Cast< ::snikket::UnicodeRange >(); return true; }
- break;
- case 31:
- if (HX_FIELD_EQ(inName,"ENCLOSED_IDEOGRAPHIC_SUPPLEMENT") ) { ENCLOSED_IDEOGRAPHIC_SUPPLEMENT=ioValue.Cast< ::snikket::UnicodeRange >(); return true; }
- break;
- case 32:
- if (HX_FIELD_EQ(inName,"ENCLOSED_ALPHANUMERIC_SUPPLEMENT") ) { ENCLOSED_ALPHANUMERIC_SUPPLEMENT=ioValue.Cast< ::snikket::UnicodeRange >(); return true; }
- }
- return false;
-}
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo *EmojiUtil_obj_sMemberStorageInfo = 0;
-static ::hx::StaticInfo EmojiUtil_obj_sStaticStorageInfo[] = {
- {::hx::fsObject /* ::snikket::UnicodeRange */ ,(void *) &EmojiUtil_obj::MISC_SYMBOLS_AND_PICTOGRAPHS,HX_("MISC_SYMBOLS_AND_PICTOGRAPHS",6b,a7,09,a7)},
- {::hx::fsObject /* ::snikket::UnicodeRange */ ,(void *) &EmojiUtil_obj::SUPPLEMENTAL_SYMBOLS,HX_("SUPPLEMENTAL_SYMBOLS",e0,a9,11,c1)},
- {::hx::fsObject /* ::snikket::UnicodeRange */ ,(void *) &EmojiUtil_obj::EMOTICONS,HX_("EMOTICONS",0d,70,1d,af)},
- {::hx::fsObject /* ::snikket::UnicodeRange */ ,(void *) &EmojiUtil_obj::MISC_SYMBOLS,HX_("MISC_SYMBOLS",68,d2,fb,df)},
- {::hx::fsObject /* ::snikket::UnicodeRange */ ,(void *) &EmojiUtil_obj::DINGBATS,HX_("DINGBATS",fc,32,20,4a)},
- {::hx::fsObject /* ::snikket::UnicodeRange */ ,(void *) &EmojiUtil_obj::ENCLOSED_ALPHANUMERIC_SUPPLEMENT,HX_("ENCLOSED_ALPHANUMERIC_SUPPLEMENT",df,fc,6e,99)},
- {::hx::fsObject /* ::snikket::UnicodeRange */ ,(void *) &EmojiUtil_obj::ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,HX_("ENCLOSED_IDEOGRAPHIC_SUPPLEMENT",7f,1e,4d,ee)},
- {::hx::fsObject /* ::snikket::UnicodeRange */ ,(void *) &EmojiUtil_obj::REGIONAL_INDICATORS,HX_("REGIONAL_INDICATORS",64,22,b5,9f)},
- {::hx::fsObject /* ::snikket::UnicodeRange */ ,(void *) &EmojiUtil_obj::GEOMETRIC_SHAPES,HX_("GEOMETRIC_SHAPES",90,7a,2c,6b)},
- {::hx::fsObject /* ::snikket::UnicodeRange */ ,(void *) &EmojiUtil_obj::LATIN_SUPPLEMENT,HX_("LATIN_SUPPLEMENT",f4,1e,75,27)},
- {::hx::fsObject /* ::snikket::UnicodeRange */ ,(void *) &EmojiUtil_obj::MISC_TECHNICAL,HX_("MISC_TECHNICAL",2a,1e,43,40)},
- {::hx::fsObject /* ::snikket::UnicodeRange */ ,(void *) &EmojiUtil_obj::TAGS,HX_("TAGS",d9,7c,b7,37)},
- {::hx::fsObject /* ::snikket::UnicodeList */ ,(void *) &EmojiUtil_obj::CYK_SYMBOLS_AND_PUNCTUATION,HX_("CYK_SYMBOLS_AND_PUNCTUATION",44,38,ef,f1)},
- {::hx::fsObject /* ::snikket::UnicodeList */ ,(void *) &EmojiUtil_obj::LETTERLIKE_SYMBOLS,HX_("LETTERLIKE_SYMBOLS",b9,91,eb,11)},
- {::hx::fsObject /* ::snikket::UnicodeBlocks */ ,(void *) &EmojiUtil_obj::KEYCAP_COMBINEABLE,HX_("KEYCAP_COMBINEABLE",cd,11,de,c0)},
- {::hx::fsObject /* ::snikket::UnicodeBlocks */ ,(void *) &EmojiUtil_obj::SYMBOLIZE,HX_("SYMBOLIZE",dc,fe,6c,db)},
- {::hx::fsObject /* ::snikket::UnicodeBlocks */ ,(void *) &EmojiUtil_obj::EMOJIS,HX_("EMOJIS",2d,d2,ea,20)},
- {::hx::fsInt,(void *) &EmojiUtil_obj::ZWJ,HX_("ZWJ",ed,96,44,00)},
- {::hx::fsInt,(void *) &EmojiUtil_obj::VARIATION_16,HX_("VARIATION_16",31,67,df,98)},
- {::hx::fsInt,(void *) &EmojiUtil_obj::COMBINING_ENCLOSING_KEYCAP,HX_("COMBINING_ENCLOSING_KEYCAP",e9,3e,16,c3)},
- {::hx::fsInt,(void *) &EmojiUtil_obj::BLACK_FLAG,HX_("BLACK_FLAG",8c,21,1f,79)},
- {::hx::fsObject /* ::snikket::UnicodeRange */ ,(void *) &EmojiUtil_obj::FITZPATRICK,HX_("FITZPATRICK",79,7e,fb,f4)},
- { ::hx::fsUnknown, 0, null()}
-};
-#endif
-
-static void EmojiUtil_obj_sMarkStatics(HX_MARK_PARAMS) {
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::MISC_SYMBOLS_AND_PICTOGRAPHS,"MISC_SYMBOLS_AND_PICTOGRAPHS");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::SUPPLEMENTAL_SYMBOLS,"SUPPLEMENTAL_SYMBOLS");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::EMOTICONS,"EMOTICONS");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::MISC_SYMBOLS,"MISC_SYMBOLS");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::DINGBATS,"DINGBATS");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::ENCLOSED_ALPHANUMERIC_SUPPLEMENT,"ENCLOSED_ALPHANUMERIC_SUPPLEMENT");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,"ENCLOSED_IDEOGRAPHIC_SUPPLEMENT");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::REGIONAL_INDICATORS,"REGIONAL_INDICATORS");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::GEOMETRIC_SHAPES,"GEOMETRIC_SHAPES");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::LATIN_SUPPLEMENT,"LATIN_SUPPLEMENT");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::MISC_TECHNICAL,"MISC_TECHNICAL");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::TAGS,"TAGS");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::CYK_SYMBOLS_AND_PUNCTUATION,"CYK_SYMBOLS_AND_PUNCTUATION");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::LETTERLIKE_SYMBOLS,"LETTERLIKE_SYMBOLS");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::KEYCAP_COMBINEABLE,"KEYCAP_COMBINEABLE");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::SYMBOLIZE,"SYMBOLIZE");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::EMOJIS,"EMOJIS");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::ZWJ,"ZWJ");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::VARIATION_16,"VARIATION_16");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::COMBINING_ENCLOSING_KEYCAP,"COMBINING_ENCLOSING_KEYCAP");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::BLACK_FLAG,"BLACK_FLAG");
- HX_MARK_MEMBER_NAME(EmojiUtil_obj::FITZPATRICK,"FITZPATRICK");
-};
-
-#ifdef HXCPP_VISIT_ALLOCS
-static void EmojiUtil_obj_sVisitStatics(HX_VISIT_PARAMS) {
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::MISC_SYMBOLS_AND_PICTOGRAPHS,"MISC_SYMBOLS_AND_PICTOGRAPHS");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::SUPPLEMENTAL_SYMBOLS,"SUPPLEMENTAL_SYMBOLS");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::EMOTICONS,"EMOTICONS");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::MISC_SYMBOLS,"MISC_SYMBOLS");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::DINGBATS,"DINGBATS");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::ENCLOSED_ALPHANUMERIC_SUPPLEMENT,"ENCLOSED_ALPHANUMERIC_SUPPLEMENT");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,"ENCLOSED_IDEOGRAPHIC_SUPPLEMENT");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::REGIONAL_INDICATORS,"REGIONAL_INDICATORS");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::GEOMETRIC_SHAPES,"GEOMETRIC_SHAPES");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::LATIN_SUPPLEMENT,"LATIN_SUPPLEMENT");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::MISC_TECHNICAL,"MISC_TECHNICAL");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::TAGS,"TAGS");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::CYK_SYMBOLS_AND_PUNCTUATION,"CYK_SYMBOLS_AND_PUNCTUATION");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::LETTERLIKE_SYMBOLS,"LETTERLIKE_SYMBOLS");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::KEYCAP_COMBINEABLE,"KEYCAP_COMBINEABLE");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::SYMBOLIZE,"SYMBOLIZE");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::EMOJIS,"EMOJIS");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::ZWJ,"ZWJ");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::VARIATION_16,"VARIATION_16");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::COMBINING_ENCLOSING_KEYCAP,"COMBINING_ENCLOSING_KEYCAP");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::BLACK_FLAG,"BLACK_FLAG");
- HX_VISIT_MEMBER_NAME(EmojiUtil_obj::FITZPATRICK,"FITZPATRICK");
-};
-
-#endif
-
-::hx::Class EmojiUtil_obj::__mClass;
-
-static ::String EmojiUtil_obj_sStaticFields[] = {
- HX_("MISC_SYMBOLS_AND_PICTOGRAPHS",6b,a7,09,a7),
- HX_("SUPPLEMENTAL_SYMBOLS",e0,a9,11,c1),
- HX_("EMOTICONS",0d,70,1d,af),
- HX_("MISC_SYMBOLS",68,d2,fb,df),
- HX_("DINGBATS",fc,32,20,4a),
- HX_("ENCLOSED_ALPHANUMERIC_SUPPLEMENT",df,fc,6e,99),
- HX_("ENCLOSED_IDEOGRAPHIC_SUPPLEMENT",7f,1e,4d,ee),
- HX_("REGIONAL_INDICATORS",64,22,b5,9f),
- HX_("GEOMETRIC_SHAPES",90,7a,2c,6b),
- HX_("LATIN_SUPPLEMENT",f4,1e,75,27),
- HX_("MISC_TECHNICAL",2a,1e,43,40),
- HX_("TAGS",d9,7c,b7,37),
- HX_("CYK_SYMBOLS_AND_PUNCTUATION",44,38,ef,f1),
- HX_("LETTERLIKE_SYMBOLS",b9,91,eb,11),
- HX_("KEYCAP_COMBINEABLE",cd,11,de,c0),
- HX_("SYMBOLIZE",dc,fe,6c,db),
- HX_("EMOJIS",2d,d2,ea,20),
- HX_("ZWJ",ed,96,44,00),
- HX_("VARIATION_16",31,67,df,98),
- HX_("COMBINING_ENCLOSING_KEYCAP",e9,3e,16,c3),
- HX_("BLACK_FLAG",8c,21,1f,79),
- HX_("FITZPATRICK",79,7e,fb,f4),
- HX_("parse",33,90,55,bd),
- HX_("isEmoji",3c,13,5f,0c),
- HX_("isOnlyEmoji",30,e9,1d,d8),
- ::String(null())
-};
-
-void EmojiUtil_obj::__register()
-{
- EmojiUtil_obj _hx_dummy;
- EmojiUtil_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.EmojiUtil",57,47,cd,3a);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &EmojiUtil_obj::__GetStatic;
- __mClass->mSetStaticField = &EmojiUtil_obj::__SetStatic;
- __mClass->mMarkFunc = EmojiUtil_obj_sMarkStatics;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(EmojiUtil_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
- __mClass->mCanCast = ::hx::TCanCast< EmojiUtil_obj >;
-#ifdef HXCPP_VISIT_ALLOCS
- __mClass->mVisitFunc = EmojiUtil_obj_sVisitStatics;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = EmojiUtil_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = EmojiUtil_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-void EmojiUtil_obj::__boot()
-{
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_34_boot)
-HXDLIN( 34) MISC_SYMBOLS_AND_PICTOGRAPHS = ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,127744,128511);
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_35_boot)
-HXDLIN( 35) SUPPLEMENTAL_SYMBOLS = ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,129280,129535);
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_36_boot)
-HXDLIN( 36) EMOTICONS = ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,128512,129782);
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_38_boot)
-HXDLIN( 38) MISC_SYMBOLS = ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,9728,9983);
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_39_boot)
-HXDLIN( 39) DINGBATS = ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,9984,10175);
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_40_boot)
-HXDLIN( 40) ENCLOSED_ALPHANUMERIC_SUPPLEMENT = ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,127232,127487);
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_41_boot)
-HXDLIN( 41) ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,127488,127743);
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_42_boot)
-HXDLIN( 42) REGIONAL_INDICATORS = ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,127462,127487);
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_43_boot)
-HXDLIN( 43) GEOMETRIC_SHAPES = ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,9632,9727);
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_44_boot)
-HXDLIN( 44) LATIN_SUPPLEMENT = ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,128,255);
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_45_boot)
-HXDLIN( 45) MISC_TECHNICAL = ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,8960,9215);
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_46_boot)
-HXDLIN( 46) TAGS = ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,917536,917631);
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_47_boot)
-HXDLIN( 47) CYK_SYMBOLS_AND_PUNCTUATION = ::snikket::UnicodeList_obj::__alloc( HX_CTX ,::Array_obj< int >::fromData( _hx_array_data_3acd4757_18,2));
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_48_boot)
-HXDLIN( 48) LETTERLIKE_SYMBOLS = ::snikket::UnicodeList_obj::__alloc( HX_CTX ,::Array_obj< int >::fromData( _hx_array_data_3acd4757_20,2));
- }
-{
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(0)
- ::snikket::UnicodeBlocks _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_50_boot)
-HXDLIN( 50) ::snikket::UnicodeList array = ::snikket::UnicodeList_obj::__alloc( HX_CTX ,::Array_obj< int >::fromData( _hx_array_data_3acd4757_22,1));
-HXDLIN( 50) ::snikket::UnicodeList array1 = ::snikket::UnicodeList_obj::__alloc( HX_CTX ,::Array_obj< int >::fromData( _hx_array_data_3acd4757_23,1));
-HXDLIN( 50) return ::snikket::UnicodeBlocks_obj::__alloc( HX_CTX ,::Array_obj< ::Dynamic>::__new(3)->init(0,array)->init(1,array1)->init(2, ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,48,57)));
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_STACKFRAME(&_hx_pos_b91bb4f89662e69a_50_boot)
-HXDLIN( 50) KEYCAP_COMBINEABLE = ( ( ::snikket::UnicodeBlocks)( ::Dynamic(new _hx_Closure_0())()) );
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_52_boot)
-HXDLIN( 52) SYMBOLIZE = ::snikket::UnicodeBlocks_obj::__alloc( HX_CTX ,::Array_obj< ::Dynamic>::__new(5)->init(0,::snikket::EmojiUtil_obj::GEOMETRIC_SHAPES)->init(1,::snikket::EmojiUtil_obj::LATIN_SUPPLEMENT)->init(2,::snikket::EmojiUtil_obj::CYK_SYMBOLS_AND_PUNCTUATION)->init(3,::snikket::EmojiUtil_obj::LETTERLIKE_SYMBOLS)->init(4,::snikket::EmojiUtil_obj::KEYCAP_COMBINEABLE));
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_58_boot)
-HXDLIN( 58) EMOJIS = ::snikket::UnicodeBlocks_obj::__alloc( HX_CTX ,::Array_obj< ::Dynamic>::__new(8)->init(0,::snikket::EmojiUtil_obj::MISC_SYMBOLS_AND_PICTOGRAPHS)->init(1,::snikket::EmojiUtil_obj::SUPPLEMENTAL_SYMBOLS)->init(2,::snikket::EmojiUtil_obj::EMOTICONS)->init(3,::snikket::EmojiUtil_obj::MISC_SYMBOLS)->init(4,::snikket::EmojiUtil_obj::DINGBATS)->init(5,::snikket::EmojiUtil_obj::ENCLOSED_ALPHANUMERIC_SUPPLEMENT)->init(6,::snikket::EmojiUtil_obj::ENCLOSED_IDEOGRAPHIC_SUPPLEMENT)->init(7,::snikket::EmojiUtil_obj::MISC_TECHNICAL));
- }
-{
- HX_STACKFRAME(&_hx_pos_b91bb4f89662e69a_71_boot)
-HXDLIN( 71) ZWJ = 8205;
- }
-{
- HX_STACKFRAME(&_hx_pos_b91bb4f89662e69a_72_boot)
-HXDLIN( 72) VARIATION_16 = 65039;
- }
-{
- HX_STACKFRAME(&_hx_pos_b91bb4f89662e69a_73_boot)
-HXDLIN( 73) COMBINING_ENCLOSING_KEYCAP = 8419;
- }
-{
- HX_STACKFRAME(&_hx_pos_b91bb4f89662e69a_74_boot)
-HXDLIN( 74) BLACK_FLAG = 127988;
- }
-{
- HX_GC_STACKFRAME(&_hx_pos_b91bb4f89662e69a_75_boot)
-HXDLIN( 75) FITZPATRICK = ::snikket::UnicodeRange_obj::__alloc( HX_CTX ,127995,127999);
- }
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/EventEmitter.cpp b/Sources/c_snikket/src/snikket/EventEmitter.cpp
deleted file mode 100644
index 4051b9c..0000000
--- a/Sources/c_snikket/src/snikket/EventEmitter.cpp
+++ /dev/null
@@ -1,230 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#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
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_EventHandler
-#include <snikket/EventHandler.h>
-#endif
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_ccdcd68e4d9a42a4_6_new,"snikket.EventEmitter","new",0xd8c00297,"snikket.EventEmitter.new","snikket/EventEmitter.hx",6,0x365dc5d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ccdcd68e4d9a42a4_11_on,"snikket.EventEmitter","on",0x6f2da2c8,"snikket.EventEmitter.on","snikket/EventEmitter.hx",11,0x365dc5d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ccdcd68e4d9a42a4_23_once,"snikket.EventEmitter","once",0xcff23b6a,"snikket.EventEmitter.once","snikket/EventEmitter.hx",23,0x365dc5d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_ccdcd68e4d9a42a4_26_trigger,"snikket.EventEmitter","trigger",0x58566eef,"snikket.EventEmitter.trigger","snikket/EventEmitter.hx",26,0x365dc5d8)
-namespace snikket{
-
-void EventEmitter_obj::__construct(){
- HX_GC_STACKFRAME(&_hx_pos_ccdcd68e4d9a42a4_6_new)
-HXDLIN( 6) this->eventHandlers = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
- }
-
-Dynamic EventEmitter_obj::__CreateEmpty() { return new EventEmitter_obj; }
-
-void *EventEmitter_obj::_hx_vtable = 0;
-
-Dynamic EventEmitter_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< EventEmitter_obj > _hx_result = new EventEmitter_obj();
- _hx_result->__construct();
- return _hx_result;
-}
-
-bool EventEmitter_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x6aca71d1;
-}
-
- ::snikket::EventHandler EventEmitter_obj::on(::String eventName, ::Dynamic callback){
- HX_GC_STACKFRAME(&_hx_pos_ccdcd68e4d9a42a4_11_on)
-HXLINE( 12) ::Array< ::Dynamic> handlers = ( (::Array< ::Dynamic>)(this->eventHandlers->get(eventName)) );
-HXLINE( 13) if (::hx::IsNull( handlers )) {
-HXLINE( 14) handlers = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 15) this->eventHandlers->set(eventName,handlers);
- }
-HXLINE( 17) ::snikket::EventHandler newHandler = ::snikket::EventHandler_obj::__alloc( HX_CTX ,handlers,callback,null());
-HXLINE( 18) handlers->push(newHandler);
-HXLINE( 19) return newHandler;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(EventEmitter_obj,on,return )
-
- ::snikket::EventHandler EventEmitter_obj::once(::String eventName, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_ccdcd68e4d9a42a4_23_once)
-HXDLIN( 23) return this->on(eventName,callback)->once();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(EventEmitter_obj,once,return )
-
- ::snikket::EventResult EventEmitter_obj::trigger(::String eventName, ::Dynamic eventData){
- HX_STACKFRAME(&_hx_pos_ccdcd68e4d9a42a4_26_trigger)
-HXLINE( 27) ::Array< ::Dynamic> handlers = ( (::Array< ::Dynamic>)(this->eventHandlers->get(eventName)) );
-HXLINE( 28) bool _hx_tmp;
-HXDLIN( 28) if (::hx::IsNotNull( handlers )) {
-HXLINE( 28) _hx_tmp = (handlers->length == 0);
- }
- else {
-HXLINE( 28) _hx_tmp = true;
- }
-HXDLIN( 28) if (_hx_tmp) {
-HXLINE( 29) ::haxe::Log_obj::trace((HX_("no event handlers for ",29,7b,a5,bb) + eventName),::hx::SourceInfo(HX_("snikket/EventEmitter.hx",d8,c5,5d,36),29,HX_("snikket.EventEmitter",25,6b,9f,50),HX_("trigger",38,55,df,25)));
-HXLINE( 30) return ::snikket::EventResult_obj::EventUnhandled_dyn();
- }
-HXLINE( 32) ::haxe::Log_obj::trace((HX_("firing event: ",93,3a,85,fb) + eventName),::hx::SourceInfo(HX_("snikket/EventEmitter.hx",d8,c5,5d,36),32,HX_("snikket.EventEmitter",25,6b,9f,50),HX_("trigger",38,55,df,25)));
-HXLINE( 33) bool handled = false;
-HXLINE( 34) {
-HXLINE( 34) int _g = 0;
-HXDLIN( 34) while((_g < handlers->length)){
-HXLINE( 34) ::snikket::EventHandler handler = handlers->__get(_g).StaticCast< ::snikket::EventHandler >();
-HXDLIN( 34) _g = (_g + 1);
-HXLINE( 35) ::snikket::EventResult ret = handler->call(eventData);
-HXLINE( 36) switch((int)(ret->_hx_getIndex())){
- case (int)0: {
-HXLINE( 37) handled = true;
- }
- break;
- case (int)1: {
-HXLINE( 38) continue;
- }
- break;
- case (int)2: {
-HXLINE( 39) return ret;
- }
- break;
- case (int)3: {
-HXLINE( 39) ::Dynamic _g1 = ret->_hx_getObject(0);
-HXDLIN( 39) return ret;
- }
- break;
- }
- }
- }
-HXLINE( 42) if (handled) {
-HXLINE( 42) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- else {
-HXLINE( 42) return ::snikket::EventResult_obj::EventUnhandled_dyn();
- }
-HXDLIN( 42) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(EventEmitter_obj,trigger,return )
-
-
-::hx::ObjectPtr< EventEmitter_obj > EventEmitter_obj::__new() {
- ::hx::ObjectPtr< EventEmitter_obj > __this = new EventEmitter_obj();
- __this->__construct();
- return __this;
-}
-
-::hx::ObjectPtr< EventEmitter_obj > EventEmitter_obj::__alloc(::hx::Ctx *_hx_ctx) {
- EventEmitter_obj *__this = (EventEmitter_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(EventEmitter_obj), true, "snikket.EventEmitter"));
- *(void **)__this = EventEmitter_obj::_hx_vtable;
- __this->__construct();
- return __this;
-}
-
-EventEmitter_obj::EventEmitter_obj()
-{
-}
-
-void EventEmitter_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(EventEmitter);
- HX_MARK_MEMBER_NAME(eventHandlers,"eventHandlers");
- HX_MARK_END_CLASS();
-}
-
-void EventEmitter_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(eventHandlers,"eventHandlers");
-}
-
-::hx::Val EventEmitter_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"on") ) { return ::hx::Val( on_dyn() ); }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"once") ) { return ::hx::Val( once_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"trigger") ) { return ::hx::Val( trigger_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"eventHandlers") ) { return ::hx::Val( eventHandlers ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-::hx::Val EventEmitter_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 13:
- if (HX_FIELD_EQ(inName,"eventHandlers") ) { eventHandlers=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void EventEmitter_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("eventHandlers",a3,4f,27,8f));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo EventEmitter_obj_sMemberStorageInfo[] = {
- {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(EventEmitter_obj,eventHandlers),HX_("eventHandlers",a3,4f,27,8f)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *EventEmitter_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String EventEmitter_obj_sMemberFields[] = {
- HX_("eventHandlers",a3,4f,27,8f),
- HX_("on",1f,61,00,00),
- HX_("once",81,7d,b2,49),
- HX_("trigger",38,55,df,25),
- ::String(null()) };
-
-::hx::Class EventEmitter_obj::__mClass;
-
-void EventEmitter_obj::__register()
-{
- EventEmitter_obj _hx_dummy;
- EventEmitter_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.EventEmitter",25,6b,9f,50);
- __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(EventEmitter_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< EventEmitter_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = EventEmitter_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = EventEmitter_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/Identicon.cpp b/Sources/c_snikket/src/snikket/Identicon.cpp
deleted file mode 100644
index 315428b..0000000
--- a/Sources/c_snikket/src/snikket/Identicon.cpp
+++ /dev/null
@@ -1,233 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_haxe_crypto_Sha1
-#include <haxe/crypto/Sha1.h>
-#endif
-#ifndef INCLUDED_haxe_io_Bytes
-#include <haxe/io/Bytes.h>
-#endif
-#ifndef INCLUDED_haxe_io_BytesInput
-#include <haxe/io/BytesInput.h>
-#endif
-#ifndef INCLUDED_haxe_io_Encoding
-#include <haxe/io/Encoding.h>
-#endif
-#ifndef INCLUDED_haxe_io_Input
-#include <haxe/io/Input.h>
-#endif
-#ifndef INCLUDED_snikket_Color
-#include <snikket/Color.h>
-#endif
-#ifndef INCLUDED_snikket_Identicon
-#include <snikket/Identicon.h>
-#endif
-
-HX_LOCAL_STACK_FRAME(_hx_pos_ff119e3d91e7f580_18_svg,"snikket.Identicon","svg",0xe12e620e,"snikket.Identicon.svg","snikket/Identicon.hx",18,0xd7684427)
-namespace snikket{
-
-void Identicon_obj::__construct() { }
-
-Dynamic Identicon_obj::__CreateEmpty() { return new Identicon_obj; }
-
-void *Identicon_obj::_hx_vtable = 0;
-
-Dynamic Identicon_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Identicon_obj > _hx_result = new Identicon_obj();
- _hx_result->__construct();
- return _hx_result;
-}
-
-bool Identicon_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x3ab0d0ec;
-}
-
-::String Identicon_obj::svg(::String source){
- HX_GC_STACKFRAME(&_hx_pos_ff119e3d91e7f580_18_svg)
-HXLINE( 19) ::haxe::io::Bytes sha = ::haxe::crypto::Sha1_obj::make(::haxe::io::Bytes_obj::ofString(source,null()));
-HXLINE( 20) ::haxe::io::BytesInput input = ::haxe::io::BytesInput_obj::__alloc( HX_CTX ,sha,null(),null());
-HXLINE( 21) input->set_bigEndian(true);
-HXLINE( 22) int hash = input->readInt32();
-HXLINE( 23) ::String uri = HX_("data:image/svg+xml,<svg%20xmlns=\"http://www.w3.org/2000/svg\"%20version=\"1.1\"%20width=\"5\"%20height=\"5\"%20viewBox=\"0%200%205%205\">",ab,fb,bd,f4);
-HXLINE( 24) uri = (uri + ((HX_("<style>rect{fill:%23",3d,8c,37,23) + ::snikket::Color_obj::forString(source).substr(1,null())) + HX_(";}</style>",82,58,20,71)));
-HXLINE( 25) int i = 0;
-HXLINE( 26) {
-HXLINE( 27) {
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 0) + HX_("\"%20y=\"",5d,64,2d,3b)) + 0) + HX_("\"/>",d1,f5,19,00)));
-HXLINE( 32) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 4) + HX_("\"%20y=\"",5d,64,2d,3b)) + 0) + HX_("\"/>",d1,f5,19,00)));
- }
- }
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value1 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value1,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 0) + HX_("\"%20y=\"",5d,64,2d,3b)) + 1) + HX_("\"/>",d1,f5,19,00)));
-HXLINE( 32) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 4) + HX_("\"%20y=\"",5d,64,2d,3b)) + 1) + HX_("\"/>",d1,f5,19,00)));
- }
- }
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value2 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value2,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 0) + HX_("\"%20y=\"",5d,64,2d,3b)) + 2) + HX_("\"/>",d1,f5,19,00)));
-HXLINE( 32) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 4) + HX_("\"%20y=\"",5d,64,2d,3b)) + 2) + HX_("\"/>",d1,f5,19,00)));
- }
- }
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value3 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value3,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 0) + HX_("\"%20y=\"",5d,64,2d,3b)) + 3) + HX_("\"/>",d1,f5,19,00)));
-HXLINE( 32) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 4) + HX_("\"%20y=\"",5d,64,2d,3b)) + 3) + HX_("\"/>",d1,f5,19,00)));
- }
- }
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value4 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value4,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 0) + HX_("\"%20y=\"",5d,64,2d,3b)) + 4) + HX_("\"/>",d1,f5,19,00)));
-HXLINE( 32) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 4) + HX_("\"%20y=\"",5d,64,2d,3b)) + 4) + HX_("\"/>",d1,f5,19,00)));
- }
- }
- }
-HXLINE( 27) {
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value5 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value5,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 1) + HX_("\"%20y=\"",5d,64,2d,3b)) + 0) + HX_("\"/>",d1,f5,19,00)));
-HXLINE( 32) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 3) + HX_("\"%20y=\"",5d,64,2d,3b)) + 0) + HX_("\"/>",d1,f5,19,00)));
- }
- }
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value6 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value6,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 1) + HX_("\"%20y=\"",5d,64,2d,3b)) + 1) + HX_("\"/>",d1,f5,19,00)));
-HXLINE( 32) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 3) + HX_("\"%20y=\"",5d,64,2d,3b)) + 1) + HX_("\"/>",d1,f5,19,00)));
- }
- }
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value7 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value7,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 1) + HX_("\"%20y=\"",5d,64,2d,3b)) + 2) + HX_("\"/>",d1,f5,19,00)));
-HXLINE( 32) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 3) + HX_("\"%20y=\"",5d,64,2d,3b)) + 2) + HX_("\"/>",d1,f5,19,00)));
- }
- }
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value8 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value8,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 1) + HX_("\"%20y=\"",5d,64,2d,3b)) + 3) + HX_("\"/>",d1,f5,19,00)));
-HXLINE( 32) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 3) + HX_("\"%20y=\"",5d,64,2d,3b)) + 3) + HX_("\"/>",d1,f5,19,00)));
- }
- }
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value9 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value9,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 1) + HX_("\"%20y=\"",5d,64,2d,3b)) + 4) + HX_("\"/>",d1,f5,19,00)));
-HXLINE( 32) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 3) + HX_("\"%20y=\"",5d,64,2d,3b)) + 4) + HX_("\"/>",d1,f5,19,00)));
- }
- }
- }
-HXLINE( 27) {
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value10 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value10,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 2) + HX_("\"%20y=\"",5d,64,2d,3b)) + 0) + HX_("\"/>",d1,f5,19,00)));
- }
- }
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value11 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value11,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 2) + HX_("\"%20y=\"",5d,64,2d,3b)) + 1) + HX_("\"/>",d1,f5,19,00)));
- }
- }
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value12 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value12,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 2) + HX_("\"%20y=\"",5d,64,2d,3b)) + 2) + HX_("\"/>",d1,f5,19,00)));
- }
- }
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value13 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value13,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 2) + HX_("\"%20y=\"",5d,64,2d,3b)) + 3) + HX_("\"/>",d1,f5,19,00)));
- }
- }
-HXLINE( 27) {
-HXLINE( 28) i = (i + 1);
-HXDLIN( 28) int value14 = (hash >> (i - 1));
-HXLINE( 29) if ((::hx::Mod(value14,2) == 0)) {
-HXLINE( 30) uri = (uri + ((((HX_("<rect%20width=\"1\"%20height=\"1\"%20x=\"",81,8b,c1,f0) + 2) + HX_("\"%20y=\"",5d,64,2d,3b)) + 4) + HX_("\"/>",d1,f5,19,00)));
- }
- }
- }
- }
-HXLINE( 37) return (uri + HX_("</svg>",4d,57,9c,59));
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(Identicon_obj,svg,return )
-
-
-Identicon_obj::Identicon_obj()
-{
-}
-
-bool Identicon_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"svg") ) { outValue = svg_dyn(); return true; }
- }
- return false;
-}
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo *Identicon_obj_sMemberStorageInfo = 0;
-static ::hx::StaticInfo *Identicon_obj_sStaticStorageInfo = 0;
-#endif
-
-::hx::Class Identicon_obj::__mClass;
-
-static ::String Identicon_obj_sStaticFields[] = {
- HX_("svg",64,aa,57,00),
- ::String(null())
-};
-
-void Identicon_obj::__register()
-{
- Identicon_obj _hx_dummy;
- Identicon_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Identicon",18,7b,f7,df);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &Identicon_obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(Identicon_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
- __mClass->mCanCast = ::hx::TCanCast< Identicon_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Identicon_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Identicon_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/Identity.cpp b/Sources/c_snikket/src/snikket/Identity.cpp
deleted file mode 100644
index 83cefc1..0000000
--- a/Sources/c_snikket/src/snikket/Identity.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_snikket_Identity
-#include <snikket/Identity.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_913c0fa79e603d10_112_new,"snikket.Identity","new",0xf59d9be1,"snikket.Identity.new","snikket/Caps.hx",112,0xee3b624b)
-HX_LOCAL_STACK_FRAME(_hx_pos_913c0fa79e603d10_119_addToDisco,"snikket.Identity","addToDisco",0x16a0927d,"snikket.Identity.addToDisco","snikket/Caps.hx",119,0xee3b624b)
-HX_LOCAL_STACK_FRAME(_hx_pos_913c0fa79e603d10_123_ver,"snikket.Identity","ver",0xf5a3ade4,"snikket.Identity.ver","snikket/Caps.hx",123,0xee3b624b)
-namespace snikket{
-
-void Identity_obj::__construct(::String category,::String type,::String name){
- HX_STACKFRAME(&_hx_pos_913c0fa79e603d10_112_new)
-HXLINE( 113) this->category = category;
-HXLINE( 114) this->type = type;
-HXLINE( 115) this->name = name;
- }
-
-Dynamic Identity_obj::__CreateEmpty() { return new Identity_obj; }
-
-void *Identity_obj::_hx_vtable = 0;
-
-Dynamic Identity_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Identity_obj > _hx_result = new Identity_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2]);
- return _hx_result;
-}
-
-bool Identity_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x7fcd1307;
-}
-
-void Identity_obj::addToDisco( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_913c0fa79e603d10_119_addToDisco)
-HXDLIN( 119) stanza->tag(HX_("identity",3e,45,2f,b9), ::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)))->up();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Identity_obj,addToDisco,(void))
-
-::String Identity_obj::ver(){
- HX_STACKFRAME(&_hx_pos_913c0fa79e603d10_123_ver)
-HXDLIN( 123) return ((((this->category + HX_("/",2f,00,00,00)) + this->type) + HX_("//",20,29,00,00)) + this->name);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Identity_obj,ver,return )
-
-
-::hx::ObjectPtr< Identity_obj > Identity_obj::__new(::String category,::String type,::String name) {
- ::hx::ObjectPtr< Identity_obj > __this = new Identity_obj();
- __this->__construct(category,type,name);
- return __this;
-}
-
-::hx::ObjectPtr< Identity_obj > Identity_obj::__alloc(::hx::Ctx *_hx_ctx,::String category,::String type,::String name) {
- Identity_obj *__this = (Identity_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Identity_obj), true, "snikket.Identity"));
- *(void **)__this = Identity_obj::_hx_vtable;
- __this->__construct(category,type,name);
- return __this;
-}
-
-Identity_obj::Identity_obj()
-{
-}
-
-void Identity_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(Identity);
- HX_MARK_MEMBER_NAME(category,"category");
- HX_MARK_MEMBER_NAME(type,"type");
- HX_MARK_MEMBER_NAME(name,"name");
- HX_MARK_END_CLASS();
-}
-
-void Identity_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(category,"category");
- HX_VISIT_MEMBER_NAME(type,"type");
- HX_VISIT_MEMBER_NAME(name,"name");
-}
-
-::hx::Val Identity_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"ver") ) { return ::hx::Val( ver_dyn() ); }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"type") ) { return ::hx::Val( type ); }
- if (HX_FIELD_EQ(inName,"name") ) { return ::hx::Val( name ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"category") ) { return ::hx::Val( category ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"addToDisco") ) { return ::hx::Val( addToDisco_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-::hx::Val Identity_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 4:
- if (HX_FIELD_EQ(inName,"type") ) { type=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"name") ) { name=inValue.Cast< ::String >(); return inValue; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"category") ) { category=inValue.Cast< ::String >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void Identity_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("category",fe,2a,6c,ad));
- outFields->push(HX_("type",ba,f2,08,4d));
- outFields->push(HX_("name",4b,72,ff,48));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo Identity_obj_sMemberStorageInfo[] = {
- {::hx::fsString,(int)offsetof(Identity_obj,category),HX_("category",fe,2a,6c,ad)},
- {::hx::fsString,(int)offsetof(Identity_obj,type),HX_("type",ba,f2,08,4d)},
- {::hx::fsString,(int)offsetof(Identity_obj,name),HX_("name",4b,72,ff,48)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *Identity_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String Identity_obj_sMemberFields[] = {
- HX_("category",fe,2a,6c,ad),
- HX_("type",ba,f2,08,4d),
- HX_("name",4b,72,ff,48),
- HX_("addToDisco",de,7b,df,0d),
- HX_("ver",63,e2,59,00),
- ::String(null()) };
-
-::hx::Class Identity_obj::__mClass;
-
-void Identity_obj::__register()
-{
- Identity_obj _hx_dummy;
- Identity_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Identity",6f,17,10,6e);
- __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(Identity_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< Identity_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Identity_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Identity_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/Message.cpp b/Sources/c_snikket/src/snikket/Message.cpp
deleted file mode 100644
index de44b49..0000000
--- a/Sources/c_snikket/src/snikket/Message.cpp
+++ /dev/null
@@ -1,1151 +0,0 @@
-// 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_StringTools
-#include <StringTools.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
-#ifndef INCLUDED_snikket_ChatAttachment
-#include <snikket/ChatAttachment.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#include <snikket/ChatMessageBuilder.h>
-#endif
-#ifndef INCLUDED_snikket_CustomEmojiReaction
-#include <snikket/CustomEmojiReaction.h>
-#endif
-#ifndef INCLUDED_snikket_Date
-#include <snikket/Date.h>
-#endif
-#ifndef INCLUDED_snikket_EmojiUtil
-#include <snikket/EmojiUtil.h>
-#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
-#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Message
-#include <snikket/Message.h>
-#endif
-#ifndef INCLUDED_snikket_MessageStanza
-#include <snikket/MessageStanza.h>
-#endif
-#ifndef INCLUDED_snikket_ModerationAction
-#include <snikket/ModerationAction.h>
-#endif
-#ifndef INCLUDED_snikket_Reaction
-#include <snikket/Reaction.h>
-#endif
-#ifndef INCLUDED_snikket_ReactionUpdate
-#include <snikket/ReactionUpdate.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_a0bea8386b958531_41_new,"snikket.Message","new",0xed1aa8a8,"snikket.Message.new","snikket/Message.hx",41,0x9fc78f09)
-HX_LOCAL_STACK_FRAME(_hx_pos_a0bea8386b958531_151_fromStanza,"snikket.Message","fromStanza",0xc7afa3b7,"snikket.Message.fromStanza","snikket/Message.hx",151,0x9fc78f09)
-HX_LOCAL_STACK_FRAME(_hx_pos_a0bea8386b958531_152_fromStanza,"snikket.Message","fromStanza",0xc7afa3b7,"snikket.Message.fromStanza","snikket/Message.hx",152,0x9fc78f09)
-HX_LOCAL_STACK_FRAME(_hx_pos_a0bea8386b958531_153_fromStanza,"snikket.Message","fromStanza",0xc7afa3b7,"snikket.Message.fromStanza","snikket/Message.hx",153,0x9fc78f09)
-HX_LOCAL_STACK_FRAME(_hx_pos_a0bea8386b958531_154_fromStanza,"snikket.Message","fromStanza",0xc7afa3b7,"snikket.Message.fromStanza","snikket/Message.hx",154,0x9fc78f09)
-HX_LOCAL_STACK_FRAME(_hx_pos_a0bea8386b958531_48_fromStanza,"snikket.Message","fromStanza",0xc7afa3b7,"snikket.Message.fromStanza","snikket/Message.hx",48,0x9fc78f09)
-HX_LOCAL_STACK_FRAME(_hx_pos_a0bea8386b958531_158_fromStanza,"snikket.Message","fromStanza",0xc7afa3b7,"snikket.Message.fromStanza","snikket/Message.hx",158,0x9fc78f09)
-namespace snikket{
-
-void Message_obj::__construct(::String chatId,::String senderId,::String threadId, ::snikket::MessageStanza parsed){
- HX_STACKFRAME(&_hx_pos_a0bea8386b958531_41_new)
-HXLINE( 42) this->chatId = chatId;
-HXLINE( 43) this->senderId = senderId;
-HXLINE( 44) this->threadId = threadId;
-HXLINE( 45) this->parsed = parsed;
- }
-
-Dynamic Message_obj::__CreateEmpty() { return new Message_obj; }
-
-void *Message_obj::_hx_vtable = 0;
-
-Dynamic Message_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Message_obj > _hx_result = new Message_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3]);
- return _hx_result;
-}
-
-bool Message_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x7c0c6d2e;
-}
-
- ::snikket::Message Message_obj::fromStanza( ::snikket::Stanza stanza, ::snikket::JID localJid, ::Dynamic addContext){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::haxe::ds::StringMap,recipients) HXARGC(0)
- ::Dynamic _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a0bea8386b958531_151_fromStanza)
-HXLINE( 151) return recipients->keys();
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(2)
- int _hx_run( ::snikket::JID x, ::snikket::JID y){
- HX_GC_STACKFRAME(&_hx_pos_a0bea8386b958531_152_fromStanza)
-HXLINE( 152) ::String _hx_tmp = x->asString();
-HXDLIN( 152) 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_a0bea8386b958531_153_fromStanza)
-HXLINE( 153) return replyTo->keys();
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_3) HXARGC(2)
- int _hx_run( ::snikket::JID x, ::snikket::JID y){
- HX_GC_STACKFRAME(&_hx_pos_a0bea8386b958531_154_fromStanza)
-HXLINE( 154) ::String _hx_tmp = x->asString();
-HXDLIN( 154) return ::Reflect_obj::compare(_hx_tmp,y->asString());
- }
- HX_END_LOCAL_FUNC2(return)
-
- HX_GC_STACKFRAME(&_hx_pos_a0bea8386b958531_48_fromStanza)
-HXLINE( 49) ::String fromAttr = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXLINE( 50) ::String from;
-HXDLIN( 50) if (::hx::IsNull( fromAttr )) {
-HXLINE( 50) from = localJid->domain;
- }
- else {
-HXLINE( 50) from = fromAttr;
- }
-HXLINE( 51) if ((( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE( 51) return ::snikket::Message_obj::__alloc( HX_CTX ,from,from,null(),::snikket::MessageStanza_obj::ErrorMessageStanza(stanza));
- }
-HXLINE( 53) ::snikket::ChatMessageBuilder msg = ::snikket::ChatMessageBuilder_obj::__alloc( HX_CTX );
-HXLINE( 54) msg->stanza = stanza;
-HXLINE( 55) msg->timestamp = stanza->findText(HX_("{urn:xmpp:delay}delay@stamp",cb,88,c4,86));
-HXLINE( 56) msg->threadId = stanza->getChildText(HX_("thread",ca,7a,b9,8e),null());
-HXLINE( 57) msg->lang = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("xml:lang",f1,b1,be,5f))) );
-HXLINE( 58) msg->text = stanza->getChildText(HX_("body",a2,7a,1b,41),null());
-HXLINE( 59) bool _hx_tmp;
-HXDLIN( 59) if (::hx::IsNotNull( msg->text )) {
-HXLINE( 59) if (::hx::IsNotNull( msg->lang )) {
-HXLINE( 59) _hx_tmp = (msg->lang == HX_("",00,00,00,00));
- }
- else {
-HXLINE( 59) _hx_tmp = true;
- }
- }
- else {
-HXLINE( 59) _hx_tmp = false;
- }
-HXDLIN( 59) if (_hx_tmp) {
-HXLINE( 60) ::snikket::Stanza tmp = stanza->getChild(HX_("body",a2,7a,1b,41),null());
-HXDLIN( 60) ::String _hx_tmp1;
-HXDLIN( 60) if (::hx::IsNotNull( tmp )) {
-HXLINE( 60) _hx_tmp1 = ( (::String)(::Reflect_obj::field(tmp->attr,HX_("xml:lang",f1,b1,be,5f))) );
- }
- else {
-HXLINE( 60) _hx_tmp1 = null();
- }
-HXDLIN( 60) msg->lang = _hx_tmp1;
- }
-HXLINE( 62) msg->from = ::snikket::JID_obj::parse(from);
-HXLINE( 63) bool isGroupchat = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("groupchat",97,1d,c8,e5));
-HXLINE( 64) int _hx_tmp2;
-HXDLIN( 64) if (isGroupchat) {
-HXLINE( 64) _hx_tmp2 = 2;
- }
- else {
-HXLINE( 64) _hx_tmp2 = 0;
- }
-HXDLIN( 64) msg->type = _hx_tmp2;
-HXLINE( 65) bool _hx_tmp3;
-HXDLIN( 65) if ((msg->type == 0)) {
-HXLINE( 65) _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( 65) _hx_tmp3 = false;
- }
-HXDLIN( 65) if (_hx_tmp3) {
-HXLINE( 66) msg->type = 3;
- }
-HXLINE( 68) ::snikket::JID tmp1;
-HXDLIN( 68) if (isGroupchat) {
-HXLINE( 68) tmp1 = msg->from;
- }
- else {
-HXLINE( 68) ::snikket::JID tmp2 = msg->from;
-HXDLIN( 68) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 68) tmp1 = tmp2->asBare();
- }
- else {
-HXLINE( 68) tmp1 = null();
- }
- }
-HXDLIN( 68) ::String _hx_tmp4;
-HXDLIN( 68) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 68) _hx_tmp4 = tmp1->asString();
- }
- else {
-HXLINE( 68) _hx_tmp4 = null();
- }
-HXDLIN( 68) msg->senderId = _hx_tmp4;
-HXLINE( 69) ::snikket::JID localJidBare = localJid->asBare();
-HXLINE( 70) ::String domain = localJid->domain;
-HXLINE( 71) ::String to = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) );
-HXLINE( 72) ::snikket::JID _hx_tmp5;
-HXDLIN( 72) if (::hx::IsNull( to )) {
-HXLINE( 72) _hx_tmp5 = localJid;
- }
- else {
-HXLINE( 72) _hx_tmp5 = ::snikket::JID_obj::parse(to);
- }
-HXDLIN( 72) msg->to = _hx_tmp5;
-HXLINE( 74) bool _hx_tmp6;
-HXDLIN( 74) if (::hx::IsNotNull( msg->from )) {
-HXLINE( 74) _hx_tmp6 = msg->from->equals(localJidBare);
- }
- else {
-HXLINE( 74) _hx_tmp6 = false;
- }
-HXDLIN( 74) if (_hx_tmp6) {
-HXLINE( 75) ::snikket::Stanza carbon = stanza->getChild(HX_("received",21,45,fd,e2),HX_("urn:xmpp:carbons:2",02,86,9e,df));
-HXLINE( 76) if (::hx::IsNull( carbon )) {
-HXLINE( 76) carbon = stanza->getChild(HX_("sent",58,8d,50,4c),HX_("urn:xmpp:carbons:2",02,86,9e,df));
- }
-HXLINE( 77) if (::hx::IsNotNull( carbon )) {
-HXLINE( 78) ::snikket::Stanza fwd = carbon->getChild(HX_("forwarded",64,f5,9a,17),HX_("urn:xmpp:forward:0",1f,ec,b0,d1));
-HXLINE( 79) if (::hx::IsNotNull( fwd )) {
-HXLINE( 79) return ::snikket::Message_obj::fromStanza(fwd->getFirstChild(),localJid,null());
- }
- }
- }
-HXLINE( 83) ::String localId = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 84) if (::hx::IsNotNull( localId )) {
-HXLINE( 84) msg->localId = localId;
- }
-HXLINE( 85) ::snikket::Stanza altServerId = null();
-HXLINE( 86) {
-HXLINE( 86) int _g = 0;
-HXDLIN( 86) ::Array< ::Dynamic> _g1 = stanza->allTags(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
-HXDLIN( 86) while((_g < _g1->length)){
-HXLINE( 86) ::snikket::Stanza stanzaId = _g1->__get(_g).StaticCast< ::snikket::Stanza >();
-HXDLIN( 86) _g = (_g + 1);
-HXLINE( 87) ::String id = ( (::String)(::Reflect_obj::field(stanzaId->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 88) bool _hx_tmp7;
-HXDLIN( 88) bool _hx_tmp8;
-HXDLIN( 88) if ((( (::String)(::Reflect_obj::field(stanzaId->attr,HX_("by",d7,55,00,00))) ) != domain)) {
-HXLINE( 88) ::String _hx_tmp9 = ( (::String)(::Reflect_obj::field(stanzaId->attr,HX_("by",d7,55,00,00))) );
-HXDLIN( 88) _hx_tmp8 = (_hx_tmp9 == localJidBare->asString());
- }
- else {
-HXLINE( 88) _hx_tmp8 = true;
- }
-HXDLIN( 88) if (_hx_tmp8) {
-HXLINE( 88) _hx_tmp7 = ::hx::IsNotNull( id );
- }
- else {
-HXLINE( 88) _hx_tmp7 = false;
- }
-HXDLIN( 88) if (_hx_tmp7) {
-HXLINE( 89) msg->serverIdBy = localJidBare->asString();
-HXLINE( 90) msg->serverId = id;
-HXLINE( 91) goto _hx_goto_1;
- }
-HXLINE( 93) altServerId = stanzaId;
- }
- _hx_goto_1:;
- }
-HXLINE( 95) bool _hx_tmp10;
-HXDLIN( 95) bool _hx_tmp11;
-HXDLIN( 95) if (::hx::IsNull( msg->serverId )) {
-HXLINE( 95) _hx_tmp11 = ::hx::IsNotNull( altServerId );
- }
- else {
-HXLINE( 95) _hx_tmp11 = false;
- }
-HXDLIN( 95) if (_hx_tmp11) {
-HXLINE( 95) _hx_tmp10 = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) != HX_("error",c8,cb,29,73));
- }
- else {
-HXLINE( 95) _hx_tmp10 = false;
- }
-HXDLIN( 95) if (_hx_tmp10) {
-HXLINE( 96) ::String id1 = ( (::String)(::Reflect_obj::field(altServerId->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 97) if (::hx::IsNotNull( id1 )) {
-HXLINE( 98) msg->serverId = id1;
-HXLINE( 99) msg->serverIdBy = ( (::String)(::Reflect_obj::field(altServerId->attr,HX_("by",d7,55,00,00))) );
- }
- }
-HXLINE( 102) bool _hx_tmp12;
-HXDLIN( 102) if (::hx::IsNotNull( msg->serverIdBy )) {
-HXLINE( 102) ::String msg1 = msg->serverIdBy;
-HXDLIN( 102) _hx_tmp12 = (msg1 != localJid->asBare()->asString());
- }
- else {
-HXLINE( 102) _hx_tmp12 = false;
- }
-HXDLIN( 102) if (_hx_tmp12) {
-HXLINE( 103) msg->replyId = msg->serverId;
- }
- else {
-HXLINE( 104) ::String msg2 = msg->serverIdBy;
-HXDLIN( 104) if ((msg2 == localJid->asBare()->asString())) {
-HXLINE( 105) msg->replyId = msg->localId;
- }
- }
-HXLINE( 107) int _hx_tmp13;
-HXDLIN( 107) bool _hx_tmp14;
-HXDLIN( 107) if (::hx::IsNotNull( msg->to )) {
-HXLINE( 107) _hx_tmp14 = msg->to->asBare()->equals(localJidBare);
- }
- else {
-HXLINE( 107) _hx_tmp14 = true;
- }
-HXDLIN( 107) if (_hx_tmp14) {
-HXLINE( 107) _hx_tmp13 = 0;
- }
- else {
-HXLINE( 107) _hx_tmp13 = 1;
- }
-HXDLIN( 107) msg->direction = _hx_tmp13;
-HXLINE( 108) bool _hx_tmp15;
-HXDLIN( 108) if (::hx::IsNotNull( msg->from )) {
-HXLINE( 108) _hx_tmp15 = msg->from->asBare()->equals(localJidBare);
- }
- else {
-HXLINE( 108) _hx_tmp15 = false;
- }
-HXDLIN( 108) if (_hx_tmp15) {
-HXLINE( 108) msg->direction = 1;
- }
-HXLINE( 109) int _hx_tmp16;
-HXDLIN( 109) if ((msg->direction == 0)) {
-HXLINE( 109) _hx_tmp16 = 2;
- }
- else {
-HXLINE( 109) _hx_tmp16 = 1;
- }
-HXDLIN( 109) msg->status = _hx_tmp16;
-HXLINE( 111) ::haxe::ds::StringMap recipients = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 112) ::haxe::ds::StringMap replyTo = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 113) if (::hx::IsNotNull( msg->to )) {
-HXLINE( 114) ::String k = msg->to->asBare()->asString();
-HXDLIN( 114) recipients->set(k,true);
- }
-HXLINE( 116) ::snikket::JID from1 = msg->from;
-HXLINE( 117) bool _hx_tmp17;
-HXDLIN( 117) if ((msg->direction == 0)) {
-HXLINE( 117) _hx_tmp17 = ::hx::IsNotNull( from1 );
- }
- else {
-HXLINE( 117) _hx_tmp17 = false;
- }
-HXDLIN( 117) if (_hx_tmp17) {
-HXLINE( 118) ::String k1;
-HXDLIN( 118) if (isGroupchat) {
-HXLINE( 118) k1 = from1->asBare()->asString();
- }
- else {
-HXLINE( 118) k1 = from1->asString();
- }
-HXDLIN( 118) replyTo->set(k1,true);
- }
- else {
-HXLINE( 119) if (::hx::IsNotNull( msg->to )) {
-HXLINE( 120) ::String k2 = msg->to->asString();
-HXDLIN( 120) replyTo->set(k2,true);
- }
- }
-HXLINE( 123) ::snikket::Stanza addresses = stanza->getChild(HX_("addresses",22,9f,12,8c),HX_("http://jabber.org/protocol/address",c0,fd,09,ed));
-HXLINE( 124) bool anyExtendedReplyTo = false;
-HXLINE( 125) if (::hx::IsNotNull( addresses )) {
-HXLINE( 126) int _g2 = 0;
-HXDLIN( 126) ::Array< ::Dynamic> _g3 = addresses->allTags(HX_("address",b4,71,0b,9d),null());
-HXDLIN( 126) while((_g2 < _g3->length)){
-HXLINE( 126) ::snikket::Stanza address = _g3->__get(_g2).StaticCast< ::snikket::Stanza >();
-HXDLIN( 126) _g2 = (_g2 + 1);
-HXLINE( 127) ::String jid = ( (::String)(::Reflect_obj::field(address->attr,HX_("jid",c5,ca,50,00))) );
-HXLINE( 128) if ((( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) == HX_("noreply",49,1d,9c,26))) {
-HXLINE( 129) replyTo->clear();
- }
- else {
-HXLINE( 130) if (::hx::IsNull( jid )) {
-HXLINE( 131) ::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_("snikket.Message",b6,74,a7,a8))
- ->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_("snikket/Message.hx",09,8f,c7,9f))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),131)));
-HXLINE( 132) ::String _hx_tmp18 = msg->chatId();
-HXDLIN( 132) ::String _hx_tmp19 = msg->get_senderId();
-HXDLIN( 132) return ::snikket::Message_obj::__alloc( HX_CTX ,_hx_tmp18,_hx_tmp19,msg->threadId,::snikket::MessageStanza_obj::UnknownMessageStanza(stanza));
- }
- else {
-HXLINE( 133) bool _hx_tmp20;
-HXDLIN( 133) if ((( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) != HX_("to",7b,65,00,00))) {
-HXLINE( 133) _hx_tmp20 = (( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) == HX_("cc",a0,56,00,00));
- }
- else {
-HXLINE( 133) _hx_tmp20 = true;
- }
-HXDLIN( 133) if (_hx_tmp20) {
-HXLINE( 134) {
-HXLINE( 134) ::String k3 = ::snikket::JID_obj::parse(jid)->asBare()->asString();
-HXDLIN( 134) recipients->set(k3,true);
- }
-HXLINE( 135) if (!(anyExtendedReplyTo)) {
-HXLINE( 135) ::String k4 = ::snikket::JID_obj::parse(jid)->asString();
-HXDLIN( 135) replyTo->set(k4,true);
- }
- }
- else {
-HXLINE( 136) bool _hx_tmp21;
-HXDLIN( 136) if ((( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) != HX_("replyto",25,8d,3a,ab))) {
-HXLINE( 136) _hx_tmp21 = (( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) == HX_("replyroom",45,d4,81,d7));
- }
- else {
-HXLINE( 136) _hx_tmp21 = true;
- }
-HXDLIN( 136) if (_hx_tmp21) {
-HXLINE( 137) if (!(anyExtendedReplyTo)) {
-HXLINE( 138) replyTo->clear();
-HXLINE( 139) anyExtendedReplyTo = true;
- }
-HXLINE( 141) {
-HXLINE( 141) ::String k5 = ::snikket::JID_obj::parse(jid)->asString();
-HXDLIN( 141) replyTo->set(k5,true);
- }
- }
- else {
-HXLINE( 142) if ((( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) == HX_("ofrom",59,09,3d,2d))) {
-HXLINE( 143) ::snikket::JID tmp3 = msg->from;
-HXDLIN( 143) ::String _hx_tmp22;
-HXDLIN( 143) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 143) _hx_tmp22 = tmp3->domain;
- }
- else {
-HXLINE( 143) _hx_tmp22 = null();
- }
-HXDLIN( 143) if ((::snikket::JID_obj::parse(jid)->domain == _hx_tmp22)) {
-HXLINE( 145) msg->senderId = ::snikket::JID_obj::parse(jid)->asBare()->asString();
- }
- }
- }
- }
- }
- }
- }
- }
-HXLINE( 151) ::Array< ::Dynamic> _g4 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 151) ::Dynamic inlobj_iterator = ::Dynamic(new _hx_Closure_0(recipients));
-HXDLIN( 151) ::Dynamic x = inlobj_iterator();
-HXDLIN( 151) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 151) ::String x1 = ( (::String)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 151) _g4->push(::snikket::JID_obj::parse(x1));
- }
-HXDLIN( 151) msg->recipients = _g4;
-HXLINE( 152) msg->recipients->sort( ::Dynamic(new _hx_Closure_1()));
-HXLINE( 153) ::Array< ::Dynamic> _g5 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 153) ::Dynamic inlobj_iterator1 = ::Dynamic(new _hx_Closure_2(replyTo));
-HXDLIN( 153) ::Dynamic x2 = inlobj_iterator1();
-HXDLIN( 153) while(( (bool)(x2->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 153) ::String x3 = ( (::String)(x2->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 153) _g5->push(::snikket::JID_obj::parse(x3));
- }
-HXDLIN( 153) msg->replyTo = _g5;
-HXLINE( 154) msg->replyTo->sort( ::Dynamic(new _hx_Closure_3()));
-HXLINE( 156) ::snikket::JID msgFrom = msg->from;
-HXLINE( 158) bool _hx_tmp23;
-HXDLIN( 158) bool _hx_tmp24;
-HXDLIN( 158) if ((msg->direction == 0)) {
-HXLINE( 158) _hx_tmp24 = ::hx::IsNotNull( msgFrom );
- }
- else {
-HXLINE( 158) _hx_tmp24 = false;
- }
-HXDLIN( 158) if (_hx_tmp24) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4, ::snikket::JID,msgFrom) HXARGC(1)
- bool _hx_run( ::snikket::JID r){
- HX_GC_STACKFRAME(&_hx_pos_a0bea8386b958531_158_fromStanza)
-HXLINE( 158) ::snikket::JID f = r->asBare();
-HXDLIN( 158) return f->equals(msgFrom->asBare());
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 158) ::Array< ::Dynamic> it = msg->replyTo;
-HXDLIN( 158) ::Dynamic f = ::Dynamic(new _hx_Closure_4(msgFrom));
-HXDLIN( 158) ::snikket::JID result = null();
-HXDLIN( 158) {
-HXLINE( 158) int _g6 = 0;
-HXDLIN( 158) while((_g6 < it->length)){
-HXLINE( 158) ::snikket::JID v = it->__get(_g6).StaticCast< ::snikket::JID >();
-HXDLIN( 158) _g6 = (_g6 + 1);
-HXDLIN( 158) if (( (bool)(f(v)) )) {
-HXLINE( 36) result = v;
-HXLINE( 158) goto _hx_goto_5;
- }
- }
- _hx_goto_5:;
- }
-HXDLIN( 158) _hx_tmp23 = ::hx::IsNull( result );
- }
- else {
-HXLINE( 158) _hx_tmp23 = false;
- }
-HXDLIN( 158) if (_hx_tmp23) {
-HXLINE( 159) ::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_("snikket.Message",b6,74,a7,a8))
- ->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_("snikket/Message.hx",09,8f,c7,9f))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),159)));
-HXLINE( 160) ::String _hx_tmp25 = msg->chatId();
-HXDLIN( 160) ::String _hx_tmp26 = msg->get_senderId();
-HXDLIN( 160) return ::snikket::Message_obj::__alloc( HX_CTX ,_hx_tmp25,_hx_tmp26,msg->threadId,::snikket::MessageStanza_obj::UnknownMessageStanza(stanza));
- }
-HXLINE( 163) if (::hx::IsNotNull( addContext )) {
-HXLINE( 163) msg = ( ( ::snikket::ChatMessageBuilder)(addContext(msg,stanza)) );
- }
-HXLINE( 164) ::String timestamp;
-HXDLIN( 164) ::String tmp4 = msg->timestamp;
-HXDLIN( 164) if (::hx::IsNotNull( tmp4 )) {
-HXLINE( 164) timestamp = tmp4;
- }
- else {
-HXLINE( 164) timestamp = ::snikket::Date_obj::format(::Date_obj::now());
- }
-HXLINE( 165) msg->timestamp = timestamp;
-HXLINE( 167) ::snikket::Stanza reactionsEl = stanza->getChild(HX_("reactions",aa,cc,95,e7),HX_("urn:xmpp:reactions:0",44,fb,42,53));
-HXLINE( 168) if (::hx::IsNotNull( reactionsEl )) {
-HXLINE( 170) ::Array< ::Dynamic> _this = reactionsEl->allTags(HX_("reaction",a9,e7,b4,f6),null());
-HXDLIN( 170) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 170) {
-HXLINE( 170) int _g7 = 0;
-HXDLIN( 170) int _g8 = _this->length;
-HXDLIN( 170) while((_g7 < _g8)){
-HXLINE( 170) _g7 = (_g7 + 1);
-HXDLIN( 170) int i = (_g7 - 1);
-HXDLIN( 170) {
-HXLINE( 170) ::String inValue = ( ( ::snikket::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
-HXDLIN( 170) result1->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 170) ::Array< ::String > reactions = result1;
-HXLINE( 171) ::String reactionId = ( (::String)(::Reflect_obj::field(reactionsEl->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 172) if (::hx::IsNotNull( reactionId )) {
-HXLINE( 173) ::String _hx_tmp27 = msg->chatId();
-HXDLIN( 173) ::String _hx_tmp28 = msg->get_senderId();
-HXDLIN( 173) ::String msg3 = msg->threadId;
-HXLINE( 174) ::String _hx_tmp29;
-HXDLIN( 174) ::String tmp5 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) );
-HXDLIN( 174) if (::hx::IsNotNull( tmp5 )) {
-HXLINE( 174) _hx_tmp29 = tmp5;
- }
- else {
-HXLINE( 174) _hx_tmp29 = ::snikket::ID_obj::_hx_long();
- }
-HXLINE( 175) ::String _hx_tmp30;
-HXDLIN( 175) if (isGroupchat) {
-HXLINE( 175) _hx_tmp30 = reactionId;
- }
- else {
-HXLINE( 175) _hx_tmp30 = null();
- }
-HXLINE( 176) ::String _hx_tmp31;
-HXDLIN( 176) if (isGroupchat) {
-HXLINE( 176) _hx_tmp31 = msg->chatId();
- }
- else {
-HXLINE( 176) _hx_tmp31 = null();
- }
-HXLINE( 177) ::String _hx_tmp32;
-HXDLIN( 177) if (isGroupchat) {
-HXLINE( 177) _hx_tmp32 = null();
- }
- else {
-HXLINE( 177) _hx_tmp32 = reactionId;
- }
-HXLINE( 178) ::String _hx_tmp33 = msg->chatId();
-HXLINE( 179) ::String _hx_tmp34 = msg->get_senderId();
-HXLINE( 181) ::Array< ::Dynamic> result2 = ::Array_obj< ::Dynamic>::__new(reactions->length);
-HXDLIN( 181) {
-HXLINE( 181) int _g9 = 0;
-HXDLIN( 181) int _g10 = reactions->length;
-HXDLIN( 181) while((_g9 < _g10)){
-HXLINE( 181) _g9 = (_g9 + 1);
-HXDLIN( 181) int i1 = (_g9 - 1);
-HXDLIN( 181) {
-HXLINE( 181) ::String text = ( (::String)(_hx_array_unsafe_get(reactions,i1)) );
-HXDLIN( 181) ::snikket::Reaction inValue1 = ::snikket::Reaction_obj::__alloc( HX_CTX ,msg->get_senderId(),timestamp,text,msg->localId,null());
-HXDLIN( 181) result2->__unsafe_set(i1,inValue1);
- }
- }
- }
-HXLINE( 173) return ::snikket::Message_obj::__alloc( HX_CTX ,_hx_tmp27,_hx_tmp28,msg3,::snikket::MessageStanza_obj::ReactionUpdateStanza( ::snikket::ReactionUpdate_obj::__alloc( HX_CTX ,_hx_tmp29,_hx_tmp30,_hx_tmp31,_hx_tmp32,_hx_tmp33,_hx_tmp34,timestamp,result2,0)));
- }
- }
-HXLINE( 187) {
-HXLINE( 187) int _g11 = 0;
-HXDLIN( 187) ::Array< ::Dynamic> _g12 = stanza->allTags(HX_("reference",cb,07,c5,5a),HX_("urn:xmpp:reference:0",a5,00,10,5d));
-HXDLIN( 187) while((_g11 < _g12->length)){
-HXLINE( 187) ::snikket::Stanza ref = _g12->__get(_g11).StaticCast< ::snikket::Stanza >();
-HXDLIN( 187) _g11 = (_g11 + 1);
-HXLINE( 188) bool _hx_tmp35;
-HXDLIN( 188) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(ref->attr,HX_("begin",29,ea,55,b0))) ) )) {
-HXLINE( 188) _hx_tmp35 = ::hx::IsNull( ( (::String)(::Reflect_obj::field(ref->attr,HX_("end",db,03,4d,00))) ) );
- }
- else {
-HXLINE( 188) _hx_tmp35 = false;
- }
-HXDLIN( 188) if (_hx_tmp35) {
-HXLINE( 189) ::snikket::Stanza sims = ref->getChild(HX_("media-sharing",33,1c,0a,3d),HX_("urn:xmpp:sims:1",4f,1c,49,62));
-HXLINE( 190) if (::hx::IsNotNull( sims )) {
-HXLINE( 190) msg->attachSims(sims);
- }
- }
- }
- }
-HXLINE( 194) {
-HXLINE( 194) int _g13 = 0;
-HXDLIN( 194) ::Array< ::Dynamic> _g14 = stanza->allTags(HX_("media-sharing",33,1c,0a,3d),HX_("urn:xmpp:sims:1",4f,1c,49,62));
-HXDLIN( 194) while((_g13 < _g14->length)){
-HXLINE( 194) ::snikket::Stanza sims1 = _g14->__get(_g13).StaticCast< ::snikket::Stanza >();
-HXDLIN( 194) _g13 = (_g13 + 1);
-HXLINE( 195) msg->attachSims(sims1);
- }
- }
-HXLINE( 198) ::snikket::Stanza jmi = stanza->getChild(null(),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 199) if (::hx::IsNotNull( jmi )) {
-HXLINE( 200) msg->type = 1;
-HXLINE( 201) msg->payloads->push(jmi);
-HXLINE( 202) if (::hx::IsNull( msg->text )) {
-HXLINE( 202) msg->text = (HX_("call ",c2,71,1b,41) + jmi->name);
- }
-HXLINE( 203) if ((jmi->name != HX_("propose",fe,fe,e9,f9))) {
-HXLINE( 204) msg->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,msg->build());
- }
-HXLINE( 207) msg->localId = ( (::String)(::Reflect_obj::field(jmi->attr,HX_("id",db,5b,00,00))) );
- }
-HXLINE( 210) ::snikket::Stanza retract = stanza->getChild(HX_("replace",34,48,28,ab),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5));
-HXLINE( 211) ::snikket::Stanza fasten = stanza->getChild(HX_("apply-to",3a,9e,dd,24),HX_("urn:xmpp:fasten:0",17,f4,ed,3d));
-HXLINE( 212) ::snikket::Stanza moderated;
-HXDLIN( 212) ::snikket::Stanza tmp6;
-HXDLIN( 212) if (::hx::IsNotNull( retract )) {
-HXLINE( 212) tmp6 = retract->getChild(HX_("moderated",41,37,3b,22),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5));
- }
- else {
-HXLINE( 212) tmp6 = null();
- }
-HXDLIN( 212) if (::hx::IsNotNull( tmp6 )) {
-HXLINE( 212) moderated = tmp6;
- }
- else {
-HXLINE( 212) if (::hx::IsNotNull( fasten )) {
-HXLINE( 212) moderated = fasten->getChild(HX_("moderated",41,37,3b,22),HX_("urn:xmpp:message-moderate:0",5b,30,1a,b9));
- }
- else {
-HXLINE( 212) moderated = null();
- }
- }
-HXLINE( 213) ::String moderateServerId;
-HXDLIN( 213) ::Dynamic tmp7;
-HXDLIN( 213) if (::hx::IsNotNull( retract )) {
-HXLINE( 213) tmp7 = retract->attr;
- }
- else {
-HXLINE( 213) tmp7 = null();
- }
-HXDLIN( 213) ::String tmp8;
-HXDLIN( 213) if (::hx::IsNotNull( tmp7 )) {
-HXLINE( 213) tmp8 = ( (::String)(::Reflect_obj::field(tmp7,HX_("id",db,5b,00,00))) );
- }
- else {
-HXLINE( 213) tmp8 = null();
- }
-HXDLIN( 213) if (::hx::IsNotNull( tmp8 )) {
-HXLINE( 213) moderateServerId = tmp8;
- }
- else {
-HXLINE( 213) ::Dynamic tmp9;
-HXDLIN( 213) if (::hx::IsNotNull( fasten )) {
-HXLINE( 213) tmp9 = fasten->attr;
- }
- else {
-HXLINE( 213) tmp9 = null();
- }
-HXDLIN( 213) if (::hx::IsNotNull( tmp9 )) {
-HXLINE( 213) moderateServerId = ( (::String)(::Reflect_obj::field(tmp9,HX_("id",db,5b,00,00))) );
- }
- else {
-HXLINE( 213) moderateServerId = null();
- }
- }
-HXLINE( 214) bool _hx_tmp36;
-HXDLIN( 214) bool _hx_tmp37;
-HXDLIN( 214) bool _hx_tmp38;
-HXDLIN( 214) bool _hx_tmp39;
-HXDLIN( 214) bool _hx_tmp40;
-HXDLIN( 214) if (::hx::IsNotNull( moderated )) {
-HXLINE( 214) _hx_tmp40 = ::hx::IsNotNull( moderateServerId );
- }
- else {
-HXLINE( 214) _hx_tmp40 = false;
- }
-HXDLIN( 214) if (_hx_tmp40) {
-HXLINE( 214) _hx_tmp39 = isGroupchat;
- }
- else {
-HXLINE( 214) _hx_tmp39 = false;
- }
-HXDLIN( 214) if (_hx_tmp39) {
-HXLINE( 214) _hx_tmp38 = ::hx::IsNotNull( msg->from );
- }
- else {
-HXLINE( 214) _hx_tmp38 = false;
- }
-HXDLIN( 214) if (_hx_tmp38) {
-HXLINE( 214) _hx_tmp37 = msg->from->isBare();
- }
- else {
-HXLINE( 214) _hx_tmp37 = false;
- }
-HXDLIN( 214) if (_hx_tmp37) {
-HXLINE( 214) ::String _hx_tmp41 = msg->from->asString();
-HXDLIN( 214) _hx_tmp36 = (_hx_tmp41 == msg->chatId());
- }
- else {
-HXLINE( 214) _hx_tmp36 = false;
- }
-HXDLIN( 214) if (_hx_tmp36) {
-HXLINE( 215) ::String reason;
-HXDLIN( 215) ::String tmp10;
-HXDLIN( 215) if (::hx::IsNotNull( retract )) {
-HXLINE( 215) tmp10 = retract->getChildText(HX_("reason",c4,0f,9d,fc),null());
- }
- else {
-HXLINE( 215) tmp10 = null();
- }
-HXDLIN( 215) if (::hx::IsNotNull( tmp10 )) {
-HXLINE( 215) reason = tmp10;
- }
- else {
-HXLINE( 215) if (::hx::IsNotNull( moderated )) {
-HXLINE( 215) reason = moderated->getChildText(HX_("reason",c4,0f,9d,fc),null());
- }
- else {
-HXLINE( 215) reason = null();
- }
- }
-HXLINE( 216) ::String by = ( (::String)(::Reflect_obj::field(moderated->attr,HX_("by",d7,55,00,00))) );
-HXLINE( 219) ::String _hx_tmp42 = msg->chatId();
-HXLINE( 220) ::String _hx_tmp43 = msg->get_senderId();
-HXLINE( 221) ::String msg4 = msg->threadId;
-HXLINE( 218) return ::snikket::Message_obj::__alloc( HX_CTX ,_hx_tmp42,_hx_tmp43,msg4,::snikket::MessageStanza_obj::ModerateMessageStanza( ::snikket::ModerationAction_obj::__alloc( HX_CTX ,msg->chatId(),moderateServerId,timestamp,by,reason)));
- }
-HXLINE( 226) ::snikket::Stanza replace = stanza->getChild(HX_("replace",34,48,28,ab),HX_("urn:xmpp:message-correct:0",be,10,1b,b0));
-HXLINE( 227) ::Dynamic tmp11;
-HXDLIN( 227) if (::hx::IsNotNull( replace )) {
-HXLINE( 227) tmp11 = replace->attr;
- }
- else {
-HXLINE( 227) tmp11 = null();
- }
-HXDLIN( 227) ::String replaceId;
-HXDLIN( 227) if (::hx::IsNotNull( tmp11 )) {
-HXLINE( 227) replaceId = ( (::String)(::Reflect_obj::field(tmp11,HX_("id",db,5b,00,00))) );
- }
- else {
-HXLINE( 227) replaceId = null();
- }
-HXLINE( 229) bool _hx_tmp44;
-HXDLIN( 229) bool _hx_tmp45;
-HXDLIN( 229) if (::hx::IsNull( msg->text )) {
-HXLINE( 229) _hx_tmp45 = (msg->attachments->length < 1);
- }
- else {
-HXLINE( 229) _hx_tmp45 = false;
- }
-HXDLIN( 229) if (_hx_tmp45) {
-HXLINE( 229) _hx_tmp44 = ::hx::IsNull( replaceId );
- }
- else {
-HXLINE( 229) _hx_tmp44 = false;
- }
-HXDLIN( 229) if (_hx_tmp44) {
-HXLINE( 229) ::String _hx_tmp46 = msg->chatId();
-HXDLIN( 229) ::String _hx_tmp47 = msg->get_senderId();
-HXDLIN( 229) return ::snikket::Message_obj::__alloc( HX_CTX ,_hx_tmp46,_hx_tmp47,msg->threadId,::snikket::MessageStanza_obj::UnknownMessageStanza(stanza));
- }
-HXLINE( 231) {
-HXLINE( 231) int _g15 = 0;
-HXDLIN( 231) ::Array< ::Dynamic> _g16 = stanza->allTags(HX_("fallback",22,f0,9d,2a),HX_("urn:xmpp:fallback:0",74,aa,56,9b));
-HXDLIN( 231) while((_g15 < _g16->length)){
-HXLINE( 231) ::snikket::Stanza fallback = _g16->__get(_g15).StaticCast< ::snikket::Stanza >();
-HXDLIN( 231) _g15 = (_g15 + 1);
-HXLINE( 232) msg->payloads->push(fallback);
- }
- }
-HXLINE( 235) ::snikket::Stanza unstyled = stanza->getChild(HX_("unstyled",2c,15,1a,18),HX_("urn:xmpp:styling:0",48,d3,aa,fb));
-HXLINE( 236) if (::hx::IsNotNull( unstyled )) {
-HXLINE( 237) msg->payloads->push(unstyled);
- }
-HXLINE( 240) ::snikket::Stanza html = stanza->getChild(HX_("html",6b,95,16,45),HX_("http://jabber.org/protocol/xhtml-im",c2,5d,b2,ce));
-HXLINE( 241) if (::hx::IsNotNull( html )) {
-HXLINE( 242) msg->payloads->push(html);
- }
-HXLINE( 245) ::snikket::Stanza reply = stanza->getChild(HX_("reply",2a,09,c6,e6),HX_("urn:xmpp:reply:0",c4,d5,6f,90));
-HXLINE( 246) if (::hx::IsNotNull( reply )) {
-HXLINE( 247) ::String replyToJid = ( (::String)(::Reflect_obj::field(reply->attr,HX_("to",7b,65,00,00))) );
-HXLINE( 248) ::String replyToID = ( (::String)(::Reflect_obj::field(reply->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 250) ::String text1 = msg->text;
-HXLINE( 251) bool _hx_tmp48;
-HXDLIN( 251) if (::hx::IsNotNull( text1 )) {
-HXLINE( 251) _hx_tmp48 = ::snikket::EmojiUtil_obj::isOnlyEmoji(::StringTools_obj::trim(text1));
- }
- else {
-HXLINE( 251) _hx_tmp48 = false;
- }
-HXDLIN( 251) if (_hx_tmp48) {
-HXLINE( 252) ::String _hx_tmp49 = msg->chatId();
-HXDLIN( 252) ::String _hx_tmp50 = msg->get_senderId();
-HXDLIN( 252) ::String msg5 = msg->threadId;
-HXLINE( 253) ::String _hx_tmp51;
-HXDLIN( 253) ::String tmp12 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) );
-HXDLIN( 253) if (::hx::IsNotNull( tmp12 )) {
-HXLINE( 253) _hx_tmp51 = tmp12;
- }
- else {
-HXLINE( 253) _hx_tmp51 = ::snikket::ID_obj::_hx_long();
- }
-HXLINE( 254) ::String _hx_tmp52;
-HXDLIN( 254) if (isGroupchat) {
-HXLINE( 254) _hx_tmp52 = replyToID;
- }
- else {
-HXLINE( 254) _hx_tmp52 = null();
- }
-HXLINE( 255) ::String _hx_tmp53;
-HXDLIN( 255) if (isGroupchat) {
-HXLINE( 255) _hx_tmp53 = msg->chatId();
- }
- else {
-HXLINE( 255) _hx_tmp53 = null();
- }
-HXLINE( 256) ::String _hx_tmp54;
-HXDLIN( 256) if (isGroupchat) {
-HXLINE( 256) _hx_tmp54 = null();
- }
- else {
-HXLINE( 256) _hx_tmp54 = replyToID;
- }
-HXLINE( 257) ::String _hx_tmp55 = msg->chatId();
-HXLINE( 258) ::String _hx_tmp56 = msg->get_senderId();
-HXLINE( 260) ::String _hx_tmp57 = msg->get_senderId();
-HXDLIN( 260) ::String _hx_tmp58 = ::StringTools_obj::trim(text1);
-HXLINE( 252) return ::snikket::Message_obj::__alloc( HX_CTX ,_hx_tmp49,_hx_tmp50,msg5,::snikket::MessageStanza_obj::ReactionUpdateStanza( ::snikket::ReactionUpdate_obj::__alloc( HX_CTX ,_hx_tmp51,_hx_tmp52,_hx_tmp53,_hx_tmp54,_hx_tmp55,_hx_tmp56,timestamp,::Array_obj< ::Dynamic>::__new(1)->init(0, ::snikket::Reaction_obj::__alloc( HX_CTX ,_hx_tmp57,timestamp,_hx_tmp58,msg->localId,null())),1)));
- }
-HXLINE( 265) if (::hx::IsNotNull( html )) {
-HXLINE( 266) ::snikket::Stanza body = html->getChild(HX_("body",a2,7a,1b,41),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8));
-HXLINE( 267) if (::hx::IsNotNull( body )) {
-HXLINE( 268) ::Array< ::Dynamic> els = body->allTags(null(),null());
-HXLINE( 269) bool _hx_tmp59;
-HXDLIN( 269) if ((els->length == 1)) {
-HXLINE( 269) _hx_tmp59 = (els->__get(0).StaticCast< ::snikket::Stanza >()->name == HX_("img",03,0c,50,00));
- }
- else {
-HXLINE( 269) _hx_tmp59 = false;
- }
-HXDLIN( 269) if (_hx_tmp59) {
-HXLINE( 270) ::String tmp13 = ( (::String)(::Reflect_obj::field(els->__get(0).StaticCast< ::snikket::Stanza >()->attr,HX_("src",e4,a6,57,00))) );
-HXDLIN( 270) ::String hash;
-HXDLIN( 270) if (::hx::IsNotNull( tmp13 )) {
-HXLINE( 270) hash = tmp13;
- }
- else {
-HXLINE( 270) hash = HX_("",00,00,00,00);
- }
-HXDLIN( 270) ::snikket::Hash hash1 = ::snikket::Hash_obj::fromUri(hash);
-HXLINE( 271) if (::hx::IsNotNull( hash1 )) {
-HXLINE( 272) ::String _hx_tmp60 = msg->chatId();
-HXDLIN( 272) ::String _hx_tmp61 = msg->get_senderId();
-HXDLIN( 272) ::String msg6 = msg->threadId;
-HXLINE( 273) ::String _hx_tmp62;
-HXDLIN( 273) ::String tmp14 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) );
-HXDLIN( 273) if (::hx::IsNotNull( tmp14 )) {
-HXLINE( 273) _hx_tmp62 = tmp14;
- }
- else {
-HXLINE( 273) _hx_tmp62 = ::snikket::ID_obj::_hx_long();
- }
-HXLINE( 274) ::String _hx_tmp63;
-HXDLIN( 274) if (isGroupchat) {
-HXLINE( 274) _hx_tmp63 = replyToID;
- }
- else {
-HXLINE( 274) _hx_tmp63 = null();
- }
-HXLINE( 275) ::String _hx_tmp64;
-HXDLIN( 275) if (isGroupchat) {
-HXLINE( 275) _hx_tmp64 = msg->chatId();
- }
- else {
-HXLINE( 275) _hx_tmp64 = null();
- }
-HXLINE( 276) ::String _hx_tmp65;
-HXDLIN( 276) if (isGroupchat) {
-HXLINE( 276) _hx_tmp65 = null();
- }
- else {
-HXLINE( 276) _hx_tmp65 = replyToID;
- }
-HXLINE( 277) ::String _hx_tmp66 = msg->chatId();
-HXLINE( 278) ::String _hx_tmp67 = msg->get_senderId();
-HXLINE( 280) ::String _hx_tmp68 = msg->get_senderId();
-HXDLIN( 280) ::String _hx_tmp69;
-HXDLIN( 280) ::String tmp15 = ( (::String)(::Reflect_obj::field(els->__get(0).StaticCast< ::snikket::Stanza >()->attr,HX_("alt",29,f9,49,00))) );
-HXDLIN( 280) if (::hx::IsNotNull( tmp15 )) {
-HXLINE( 280) _hx_tmp69 = tmp15;
- }
- else {
-HXLINE( 280) _hx_tmp69 = HX_("",00,00,00,00);
- }
-HXDLIN( 280) ::String _hx_tmp70 = hash1->serializeUri();
-HXLINE( 272) return ::snikket::Message_obj::__alloc( HX_CTX ,_hx_tmp60,_hx_tmp61,msg6,::snikket::MessageStanza_obj::ReactionUpdateStanza( ::snikket::ReactionUpdate_obj::__alloc( HX_CTX ,_hx_tmp62,_hx_tmp63,_hx_tmp64,_hx_tmp65,_hx_tmp66,_hx_tmp67,timestamp,::Array_obj< ::Dynamic>::__new(1)->init(0, ::snikket::CustomEmojiReaction_obj::__alloc( HX_CTX ,_hx_tmp68,timestamp,_hx_tmp69,_hx_tmp70,msg->localId)),1)));
- }
- }
- }
- }
-HXLINE( 288) if (::hx::IsNotNull( replyToID )) {
-HXLINE( 290) ::snikket::ChatMessageBuilder replyToMessage = ::snikket::ChatMessageBuilder_obj::__alloc( HX_CTX );
-HXLINE( 291) ::snikket::JID _hx_tmp71;
-HXDLIN( 291) if ((replyToJid == msg->get_senderId())) {
-HXLINE( 291) _hx_tmp71 = msg->to;
- }
- else {
-HXLINE( 291) _hx_tmp71 = msg->from;
- }
-HXDLIN( 291) replyToMessage->to = _hx_tmp71;
-HXLINE( 292) ::snikket::JID _hx_tmp72;
-HXDLIN( 292) if (::hx::IsNull( replyToJid )) {
-HXLINE( 292) _hx_tmp72 = null();
- }
- else {
-HXLINE( 292) _hx_tmp72 = ::snikket::JID_obj::parse(replyToJid);
- }
-HXDLIN( 292) replyToMessage->from = _hx_tmp72;
-HXLINE( 293) ::String _hx_tmp73;
-HXDLIN( 293) if (isGroupchat) {
-HXLINE( 293) ::snikket::JID tmp16 = replyToMessage->from;
-HXDLIN( 293) if (::hx::IsNotNull( tmp16 )) {
-HXLINE( 293) _hx_tmp73 = tmp16->asString();
- }
- else {
-HXLINE( 293) _hx_tmp73 = null();
- }
- }
- else {
-HXLINE( 293) ::snikket::JID tmp17 = replyToMessage->from;
-HXDLIN( 293) ::snikket::JID tmp18;
-HXDLIN( 293) if (::hx::IsNotNull( tmp17 )) {
-HXLINE( 293) tmp18 = tmp17->asBare();
- }
- else {
-HXLINE( 293) tmp18 = null();
- }
-HXDLIN( 293) if (::hx::IsNotNull( tmp18 )) {
-HXLINE( 293) _hx_tmp73 = tmp18->asString();
- }
- else {
-HXLINE( 293) _hx_tmp73 = null();
- }
- }
-HXDLIN( 293) replyToMessage->senderId = _hx_tmp73;
-HXLINE( 294) replyToMessage->replyId = replyToID;
-HXLINE( 295) bool _hx_tmp74;
-HXDLIN( 295) if (::hx::IsNotNull( msg->serverIdBy )) {
-HXLINE( 295) ::String msg7 = msg->serverIdBy;
-HXDLIN( 295) _hx_tmp74 = (msg7 != localJid->asBare()->asString());
- }
- else {
-HXLINE( 295) _hx_tmp74 = false;
- }
-HXDLIN( 295) if (_hx_tmp74) {
-HXLINE( 296) replyToMessage->serverId = replyToID;
- }
- else {
-HXLINE( 298) replyToMessage->localId = replyToID;
- }
-HXLINE( 300) msg->replyToMessage = replyToMessage->build();
- }
- }
-HXLINE( 304) if (::hx::IsNotNull( replaceId )) {
-HXLINE( 305) if ((msg->versions->length < 1)) {
-HXLINE( 305) msg->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,msg->build());
- }
-HXLINE( 306) msg->localId = replaceId;
- }
-HXLINE( 309) ::String _hx_tmp75 = msg->chatId();
-HXDLIN( 309) ::String _hx_tmp76 = msg->get_senderId();
-HXDLIN( 309) ::String msg8 = msg->threadId;
-HXDLIN( 309) return ::snikket::Message_obj::__alloc( HX_CTX ,_hx_tmp75,_hx_tmp76,msg8,::snikket::MessageStanza_obj::ChatMessageStanza(msg->build()));
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC3(Message_obj,fromStanza,return )
-
-
-::hx::ObjectPtr< Message_obj > Message_obj::__new(::String chatId,::String senderId,::String threadId, ::snikket::MessageStanza parsed) {
- ::hx::ObjectPtr< Message_obj > __this = new Message_obj();
- __this->__construct(chatId,senderId,threadId,parsed);
- return __this;
-}
-
-::hx::ObjectPtr< Message_obj > Message_obj::__alloc(::hx::Ctx *_hx_ctx,::String chatId,::String senderId,::String threadId, ::snikket::MessageStanza parsed) {
- Message_obj *__this = (Message_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Message_obj), true, "snikket.Message"));
- *(void **)__this = Message_obj::_hx_vtable;
- __this->__construct(chatId,senderId,threadId,parsed);
- return __this;
-}
-
-Message_obj::Message_obj()
-{
-}
-
-void Message_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(Message);
- HX_MARK_MEMBER_NAME(chatId,"chatId");
- HX_MARK_MEMBER_NAME(senderId,"senderId");
- HX_MARK_MEMBER_NAME(threadId,"threadId");
- HX_MARK_MEMBER_NAME(parsed,"parsed");
- HX_MARK_END_CLASS();
-}
-
-void Message_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(chatId,"chatId");
- HX_VISIT_MEMBER_NAME(senderId,"senderId");
- HX_VISIT_MEMBER_NAME(threadId,"threadId");
- HX_VISIT_MEMBER_NAME(parsed,"parsed");
-}
-
-::hx::Val Message_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 6:
- if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( chatId ); }
- if (HX_FIELD_EQ(inName,"parsed") ) { return ::hx::Val( parsed ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"senderId") ) { return ::hx::Val( senderId ); }
- if (HX_FIELD_EQ(inName,"threadId") ) { return ::hx::Val( threadId ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-bool Message_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 10:
- if (HX_FIELD_EQ(inName,"fromStanza") ) { outValue = fromStanza_dyn(); return true; }
- }
- return false;
-}
-
-::hx::Val Message_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 6:
- if (HX_FIELD_EQ(inName,"chatId") ) { chatId=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"parsed") ) { parsed=inValue.Cast< ::snikket::MessageStanza >(); return inValue; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"senderId") ) { senderId=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"threadId") ) { threadId=inValue.Cast< ::String >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void Message_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("chatId",d3,04,77,b7));
- outFields->push(HX_("senderId",f0,1e,0e,ec));
- outFields->push(HX_("threadId",45,81,25,cc));
- outFields->push(HX_("parsed",d1,9c,88,ed));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo Message_obj_sMemberStorageInfo[] = {
- {::hx::fsString,(int)offsetof(Message_obj,chatId),HX_("chatId",d3,04,77,b7)},
- {::hx::fsString,(int)offsetof(Message_obj,senderId),HX_("senderId",f0,1e,0e,ec)},
- {::hx::fsString,(int)offsetof(Message_obj,threadId),HX_("threadId",45,81,25,cc)},
- {::hx::fsObject /* ::snikket::MessageStanza */ ,(int)offsetof(Message_obj,parsed),HX_("parsed",d1,9c,88,ed)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *Message_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String Message_obj_sMemberFields[] = {
- HX_("chatId",d3,04,77,b7),
- HX_("senderId",f0,1e,0e,ec),
- HX_("threadId",45,81,25,cc),
- HX_("parsed",d1,9c,88,ed),
- ::String(null()) };
-
-::hx::Class Message_obj::__mClass;
-
-static ::String Message_obj_sStaticFields[] = {
- HX_("fromStanza",ff,62,3b,49),
- ::String(null())
-};
-
-void Message_obj::__register()
-{
- Message_obj _hx_dummy;
- Message_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Message",b6,74,a7,a8);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &Message_obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(Message_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(Message_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< Message_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Message_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Message_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/MessageSync.cpp b/Sources/c_snikket/src/snikket/MessageSync.cpp
deleted file mode 100644
index e51e629..0000000
--- a/Sources/c_snikket/src/snikket/MessageSync.cpp
+++ /dev/null
@@ -1,514 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
-#ifndef INCLUDED_haxe_Exception
-#include <haxe/Exception.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
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#include <snikket/ChatMessageBuilder.h>
-#endif
-#ifndef INCLUDED_snikket_Client
-#include <snikket/Client.h>
-#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_EventHandler
-#include <snikket/EventHandler.h>
-#endif
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
-#endif
-#ifndef INCLUDED_snikket_GenericStream
-#include <snikket/GenericStream.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Message
-#include <snikket/Message.h>
-#endif
-#ifndef INCLUDED_snikket_MessageStanza
-#include <snikket/MessageStanza.h>
-#endif
-#ifndef INCLUDED_snikket_MessageSync
-#include <snikket/MessageSync.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket_queries_GenericQuery
-#include <snikket/queries/GenericQuery.h>
-#endif
-#ifndef INCLUDED_snikket_queries_MAMQuery
-#include <snikket/queries/MAMQuery.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_f605d1e3f9d4c7ba_27_new,"snikket.MessageSync","new",0xd084fba3,"snikket.MessageSync.new","snikket/MessageSync.hx",27,0x591328ee)
-HX_DEFINE_STACK_FRAME(_hx_pos_f605d1e3f9d4c7ba_20_new,"snikket.MessageSync","new",0xd084fba3,"snikket.MessageSync.new","snikket/MessageSync.hx",20,0x591328ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_f605d1e3f9d4c7ba_86_fetchNext,"snikket.MessageSync","fetchNext",0xa7aee9d0,"snikket.MessageSync.fetchNext","snikket/MessageSync.hx",86,0x591328ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_f605d1e3f9d4c7ba_64_fetchNext,"snikket.MessageSync","fetchNext",0xa7aee9d0,"snikket.MessageSync.fetchNext","snikket/MessageSync.hx",64,0x591328ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_f605d1e3f9d4c7ba_97_fetchNext,"snikket.MessageSync","fetchNext",0xa7aee9d0,"snikket.MessageSync.fetchNext","snikket/MessageSync.hx",97,0x591328ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_f605d1e3f9d4c7ba_42_fetchNext,"snikket.MessageSync","fetchNext",0xa7aee9d0,"snikket.MessageSync.fetchNext","snikket/MessageSync.hx",42,0x591328ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_f605d1e3f9d4c7ba_119_hasMore,"snikket.MessageSync","hasMore",0x232088d2,"snikket.MessageSync.hasMore","snikket/MessageSync.hx",119,0x591328ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_f605d1e3f9d4c7ba_123_addContext,"snikket.MessageSync","addContext",0xfa4fd4eb,"snikket.MessageSync.addContext","snikket/MessageSync.hx",123,0x591328ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_f605d1e3f9d4c7ba_127_onMessages,"snikket.MessageSync","onMessages",0x8c02c028,"snikket.MessageSync.onMessages","snikket/MessageSync.hx",127,0x591328ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_f605d1e3f9d4c7ba_131_onError,"snikket.MessageSync","onError",0x14e2f2ec,"snikket.MessageSync.onError","snikket/MessageSync.hx",131,0x591328ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_f605d1e3f9d4c7ba_135_setNewestPageFirst,"snikket.MessageSync","setNewestPageFirst",0x54979936,"snikket.MessageSync.setNewestPageFirst","snikket/MessageSync.hx",135,0x591328ee)
-namespace snikket{
-
-void MessageSync_obj::__construct( ::snikket::Client client, ::snikket::GenericStream stream, ::Dynamic filter,::String serviceJID){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
- ::snikket::ChatMessageBuilder _hx_run( ::snikket::ChatMessageBuilder b, ::snikket::Stanza _){
- HX_GC_STACKFRAME(&_hx_pos_f605d1e3f9d4c7ba_27_new)
-HXLINE( 27) return b;
- }
- HX_END_LOCAL_FUNC2(return)
-
- HX_GC_STACKFRAME(&_hx_pos_f605d1e3f9d4c7ba_20_new)
-HXLINE( 33) this->jmi = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 32) this->newestPageFirst = true;
-HXLINE( 31) this->complete = false;
-HXLINE( 30) this->progress = 0;
-HXLINE( 27) this->contextHandler = ::Dynamic(new _hx_Closure_0());
-HXLINE( 36) this->client = client;
-HXLINE( 37) this->stream = stream;
-HXLINE( 38) this->filter = ::Reflect_obj::copy(filter);
-HXLINE( 39) ::String _hx_tmp;
-HXDLIN( 39) if (::hx::IsNotNull( serviceJID )) {
-HXLINE( 39) _hx_tmp = serviceJID;
- }
- else {
-HXLINE( 39) _hx_tmp = client->accountId();
- }
-HXDLIN( 39) this->serviceJID = _hx_tmp;
- }
-
-Dynamic MessageSync_obj::__CreateEmpty() { return new MessageSync_obj; }
-
-void *MessageSync_obj::_hx_vtable = 0;
-
-Dynamic MessageSync_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< MessageSync_obj > _hx_result = new MessageSync_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3]);
- return _hx_result;
-}
-
-bool MessageSync_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x0c8e50c1;
-}
-
-void MessageSync_obj::fetchNext(){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1,::Array< ::Dynamic>,messages, ::snikket::MessageSync,_gthis, ::snikket::queries::MAMQuery,query) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic event){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::MessageSync,_gthis,::String,timestamp, ::snikket::Stanza,result) HXARGC(2)
- ::snikket::ChatMessageBuilder _hx_run( ::snikket::ChatMessageBuilder builder, ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_f605d1e3f9d4c7ba_86_fetchNext)
-HXLINE( 87) builder->serverId = ( (::String)(::Reflect_obj::field(result->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 88) builder->serverIdBy = _gthis->serviceJID;
-HXLINE( 89) bool msg;
-HXDLIN( 89) if (::hx::IsNotNull( timestamp )) {
-HXLINE( 89) msg = ::hx::IsNull( builder->timestamp );
- }
- else {
-HXLINE( 89) msg = false;
- }
-HXDLIN( 89) if (msg) {
-HXLINE( 89) builder->timestamp = timestamp;
- }
-HXLINE( 90) return ( ( ::snikket::ChatMessageBuilder)(_gthis->contextHandler(builder,stanza)) );
- }
- HX_END_LOCAL_FUNC2(return)
-
- HX_GC_STACKFRAME(&_hx_pos_f605d1e3f9d4c7ba_64_fetchNext)
-HXLINE( 65) _gthis->progress++;
-HXLINE( 66) ::snikket::Stanza message = ( ( ::snikket::Stanza)(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
-HXLINE( 67) ::String from;
-HXDLIN( 67) if (::Reflect_obj::hasField(message->attr,HX_("from",6a,a5,c2,43))) {
-HXLINE( 67) from = ( (::String)(::Reflect_obj::field(message->attr,HX_("from",6a,a5,c2,43))) );
- }
- else {
-HXLINE( 67) from = _gthis->client->accountId();
- }
-HXLINE( 68) if ((from != _gthis->serviceJID)) {
-HXLINE( 69) return ::snikket::EventResult_obj::EventUnhandled_dyn();
- }
-HXLINE( 71) ::snikket::Stanza result = message->getChild(HX_("result",dd,68,84,08),query->xmlns);
-HXLINE( 72) bool resultHandler;
-HXDLIN( 72) if (::hx::IsNotNull( result )) {
-HXLINE( 72) ::String resultHandler1 = ( (::String)(::Reflect_obj::field(result->attr,HX_("queryid",e3,b8,e9,95))) );
-HXDLIN( 72) resultHandler = (resultHandler1 != query->queryId);
- }
- else {
-HXLINE( 72) resultHandler = true;
- }
-HXDLIN( 72) if (resultHandler) {
-HXLINE( 73) return ::snikket::EventResult_obj::EventUnhandled_dyn();
- }
-HXLINE( 75) ::snikket::Stanza originalMessage = result->findChild(HX_("{urn:xmpp:forward:0}forwarded/{jabber:client}message",1e,de,1d,61));
-HXLINE( 76) if (::hx::IsNull( originalMessage )) {
-HXLINE( 77) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
-HXLINE( 79) ::String timestamp = result->findText(HX_("{urn:xmpp:forward:0}forwarded/{urn:xmpp:delay}delay@stamp",9d,33,43,e7));
-HXLINE( 81) ::Array< ::Dynamic> jmiChildren = originalMessage->allTags(null(),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 82) if ((jmiChildren->length > 0)) {
-HXLINE( 83) ::Dynamic this1 = _gthis->jmi;
-HXDLIN( 83) ( ( ::haxe::ds::StringMap)(this1) )->set(( (::String)(::Reflect_obj::field(jmiChildren->__get(0).StaticCast< ::snikket::Stanza >()->attr,HX_("id",db,5b,00,00))) ),originalMessage);
- }
-HXLINE( 86) ::snikket::MessageStanza msg = ::snikket::Message_obj::fromStanza(originalMessage,_gthis->client->jid, ::Dynamic(new _hx_Closure_0(_gthis,timestamp,result)))->parsed;
-HXLINE( 93) messages->push(msg);
-HXLINE( 95) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_2,::Array< ::Dynamic>,messages, ::snikket::MessageSync,_gthis, ::snikket::EventHandler,resultHandler, ::snikket::queries::MAMQuery,query) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_f605d1e3f9d4c7ba_97_fetchNext)
-HXLINE( 98) resultHandler->unsubscribe();
-HXLINE( 99) ::Dynamic result = query->getResult();
-HXLINE( 100) if (::hx::IsNull( result )) {
-HXLINE( 101) ::haxe::Log_obj::trace(HX_("Error from MAM, stopping sync",b8,c9,46,be),::hx::SourceInfo(HX_("snikket/MessageSync.hx",ee,28,13,59),101,HX_("snikket.MessageSync",31,ee,97,05),HX_("fetchNext",4d,6a,ad,1f)));
-HXLINE( 102) _gthis->complete = true;
-HXLINE( 103) if (::hx::IsNotNull( _gthis->errorHandler )) {
-HXLINE( 103) _gthis->errorHandler(query->responseStanza);
- }
- }
- else {
-HXLINE( 105) _gthis->complete = ( (bool)(result->__Field(HX_("complete",b9,00,c8,7f),::hx::paccDynamic)) );
-HXLINE( 106) _gthis->lastPage = result->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic);
- }
-HXLINE( 108) bool _hx_tmp;
-HXDLIN( 108) if (::hx::IsNull( result )) {
-HXLINE( 108) _hx_tmp = ::hx::IsNull( _gthis->errorHandler );
- }
- else {
-HXLINE( 108) _hx_tmp = true;
- }
-HXDLIN( 108) if (_hx_tmp) {
-HXLINE( 109) _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_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_f605d1e3f9d4c7ba_42_fetchNext)
-HXDLIN( 42) ::snikket::MessageSync _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 43) if (::hx::IsNull( this->handler )) {
-HXLINE( 44) 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( 46) if (this->complete) {
-HXLINE( 47) 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( 49) ::Array< ::Dynamic> messages = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 50) if (::hx::IsNull( this->lastPage )) {
-HXLINE( 51) bool _hx_tmp;
-HXDLIN( 51) if ((this->newestPageFirst == true)) {
-HXLINE( 51) if (::hx::IsNotNull( this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic) )) {
-HXLINE( 51) 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( 51) _hx_tmp = ::hx::IsNull( ::Dynamic(this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic))->__Field(HX_("after",1c,66,a2,1d),::hx::paccDynamic) );
- }
- else {
-HXLINE( 51) _hx_tmp = false;
- }
- }
- else {
-HXLINE( 51) _hx_tmp = true;
- }
- }
- else {
-HXLINE( 51) _hx_tmp = false;
- }
-HXDLIN( 51) if (_hx_tmp) {
-HXLINE( 52) if (::hx::IsNull( this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic) )) {
-HXLINE( 52) this->filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(0)),::hx::paccDynamic);
- }
-HXLINE( 53) ::Dynamic(this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic))->__SetField(HX_("before",7f,54,32,9a),HX_("",00,00,00,00),::hx::paccDynamic);
- }
- }
- else {
-HXLINE( 56) if (::hx::IsNull( this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic) )) {
-HXLINE( 56) this->filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(0)),::hx::paccDynamic);
- }
-HXLINE( 57) if ((this->newestPageFirst == true)) {
-HXLINE( 58) ::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);
- }
- else {
-HXLINE( 60) ::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( 63) ::snikket::queries::MAMQuery query = ::snikket::queries::MAMQuery_obj::__alloc( HX_CTX ,this->filter,this->serviceJID);
-HXLINE( 64) ::snikket::EventHandler resultHandler = this->stream->on(HX_("message",c7,35,11,9a), ::Dynamic(new _hx_Closure_1(messages,_gthis,query)));
-HXLINE( 97) query->onFinished( ::Dynamic(new _hx_Closure_2(messages,_gthis,resultHandler,query)));
-HXLINE( 115) this->client->sendQuery(query);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(MessageSync_obj,fetchNext,(void))
-
-bool MessageSync_obj::hasMore(){
- HX_STACKFRAME(&_hx_pos_f605d1e3f9d4c7ba_119_hasMore)
-HXDLIN( 119) return !(this->complete);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(MessageSync_obj,hasMore,return )
-
-void MessageSync_obj::addContext( ::Dynamic handler){
- HX_STACKFRAME(&_hx_pos_f605d1e3f9d4c7ba_123_addContext)
-HXDLIN( 123) this->contextHandler = handler;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(MessageSync_obj,addContext,(void))
-
-void MessageSync_obj::onMessages( ::Dynamic handler){
- HX_STACKFRAME(&_hx_pos_f605d1e3f9d4c7ba_127_onMessages)
-HXDLIN( 127) this->handler = handler;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(MessageSync_obj,onMessages,(void))
-
-void MessageSync_obj::onError( ::Dynamic handler){
- HX_STACKFRAME(&_hx_pos_f605d1e3f9d4c7ba_131_onError)
-HXDLIN( 131) this->errorHandler = handler;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(MessageSync_obj,onError,(void))
-
-void MessageSync_obj::setNewestPageFirst(bool newestPageFirst){
- HX_STACKFRAME(&_hx_pos_f605d1e3f9d4c7ba_135_setNewestPageFirst)
-HXDLIN( 135) this->newestPageFirst = newestPageFirst;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(MessageSync_obj,setNewestPageFirst,(void))
-
-
-::hx::ObjectPtr< MessageSync_obj > MessageSync_obj::__new( ::snikket::Client client, ::snikket::GenericStream stream, ::Dynamic filter,::String serviceJID) {
- ::hx::ObjectPtr< MessageSync_obj > __this = new MessageSync_obj();
- __this->__construct(client,stream,filter,serviceJID);
- return __this;
-}
-
-::hx::ObjectPtr< MessageSync_obj > MessageSync_obj::__alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::GenericStream stream, ::Dynamic filter,::String serviceJID) {
- MessageSync_obj *__this = (MessageSync_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MessageSync_obj), true, "snikket.MessageSync"));
- *(void **)__this = MessageSync_obj::_hx_vtable;
- __this->__construct(client,stream,filter,serviceJID);
- return __this;
-}
-
-MessageSync_obj::MessageSync_obj()
-{
-}
-
-void MessageSync_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(MessageSync);
- HX_MARK_MEMBER_NAME(client,"client");
- HX_MARK_MEMBER_NAME(stream,"stream");
- HX_MARK_MEMBER_NAME(filter,"filter");
- HX_MARK_MEMBER_NAME(serviceJID,"serviceJID");
- HX_MARK_MEMBER_NAME(handler,"handler");
- HX_MARK_MEMBER_NAME(contextHandler,"contextHandler");
- HX_MARK_MEMBER_NAME(errorHandler,"errorHandler");
- HX_MARK_MEMBER_NAME(lastPage,"lastPage");
- HX_MARK_MEMBER_NAME(progress,"progress");
- HX_MARK_MEMBER_NAME(complete,"complete");
- HX_MARK_MEMBER_NAME(newestPageFirst,"newestPageFirst");
- HX_MARK_MEMBER_NAME(jmi,"jmi");
- HX_MARK_END_CLASS();
-}
-
-void MessageSync_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(client,"client");
- HX_VISIT_MEMBER_NAME(stream,"stream");
- HX_VISIT_MEMBER_NAME(filter,"filter");
- HX_VISIT_MEMBER_NAME(serviceJID,"serviceJID");
- HX_VISIT_MEMBER_NAME(handler,"handler");
- HX_VISIT_MEMBER_NAME(contextHandler,"contextHandler");
- HX_VISIT_MEMBER_NAME(errorHandler,"errorHandler");
- HX_VISIT_MEMBER_NAME(lastPage,"lastPage");
- HX_VISIT_MEMBER_NAME(progress,"progress");
- HX_VISIT_MEMBER_NAME(complete,"complete");
- HX_VISIT_MEMBER_NAME(newestPageFirst,"newestPageFirst");
- HX_VISIT_MEMBER_NAME(jmi,"jmi");
-}
-
-::hx::Val MessageSync_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"jmi") ) { return ::hx::Val( jmi ); }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"client") ) { return ::hx::Val( client ); }
- if (HX_FIELD_EQ(inName,"stream") ) { return ::hx::Val( stream ); }
- if (HX_FIELD_EQ(inName,"filter") ) { return ::hx::Val( filter ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"handler") ) { return ::hx::Val( handler ); }
- if (HX_FIELD_EQ(inName,"hasMore") ) { return ::hx::Val( hasMore_dyn() ); }
- if (HX_FIELD_EQ(inName,"onError") ) { return ::hx::Val( onError_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"lastPage") ) { return ::hx::Val( lastPage ); }
- if (HX_FIELD_EQ(inName,"progress") ) { return ::hx::Val( progress ); }
- if (HX_FIELD_EQ(inName,"complete") ) { return ::hx::Val( complete ); }
- break;
- case 9:
- 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,"addContext") ) { return ::hx::Val( addContext_dyn() ); }
- if (HX_FIELD_EQ(inName,"onMessages") ) { return ::hx::Val( onMessages_dyn() ); }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"errorHandler") ) { return ::hx::Val( errorHandler ); }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"contextHandler") ) { return ::hx::Val( contextHandler ); }
- break;
- case 15:
- if (HX_FIELD_EQ(inName,"newestPageFirst") ) { return ::hx::Val( newestPageFirst ); }
- break;
- case 18:
- if (HX_FIELD_EQ(inName,"setNewestPageFirst") ) { return ::hx::Val( setNewestPageFirst_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-::hx::Val MessageSync_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"jmi") ) { jmi=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"client") ) { client=inValue.Cast< ::snikket::Client >(); return inValue; }
- if (HX_FIELD_EQ(inName,"stream") ) { stream=inValue.Cast< ::snikket::GenericStream >(); return inValue; }
- if (HX_FIELD_EQ(inName,"filter") ) { filter=inValue.Cast< ::Dynamic >(); return inValue; }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"handler") ) { handler=inValue.Cast< ::Dynamic >(); return inValue; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"lastPage") ) { lastPage=inValue.Cast< ::Dynamic >(); return inValue; }
- 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 10:
- if (HX_FIELD_EQ(inName,"serviceJID") ) { serviceJID=inValue.Cast< ::String >(); return inValue; }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"errorHandler") ) { errorHandler=inValue.Cast< ::Dynamic >(); return inValue; }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"contextHandler") ) { contextHandler=inValue.Cast< ::Dynamic >(); return inValue; }
- break;
- case 15:
- if (HX_FIELD_EQ(inName,"newestPageFirst") ) { newestPageFirst=inValue.Cast< bool >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void MessageSync_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("client",4b,ca,4f,0a));
- 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_("lastPage",c5,f3,9a,dd));
- outFields->push(HX_("progress",ad,f7,2a,86));
- outFields->push(HX_("complete",b9,00,c8,7f));
- outFields->push(HX_("newestPageFirst",9b,ce,b0,7d));
- outFields->push(HX_("jmi",46,ce,50,00));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo MessageSync_obj_sMemberStorageInfo[] = {
- {::hx::fsObject /* ::snikket::Client */ ,(int)offsetof(MessageSync_obj,client),HX_("client",4b,ca,4f,0a)},
- {::hx::fsObject /* ::snikket::GenericStream */ ,(int)offsetof(MessageSync_obj,stream),HX_("stream",80,14,2d,11)},
- {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(MessageSync_obj,filter),HX_("filter",b8,1f,35,85)},
- {::hx::fsString,(int)offsetof(MessageSync_obj,serviceJID),HX_("serviceJID",90,19,2d,7d)},
- {::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::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)},
- {::hx::fsBool,(int)offsetof(MessageSync_obj,newestPageFirst),HX_("newestPageFirst",9b,ce,b0,7d)},
- {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(MessageSync_obj,jmi),HX_("jmi",46,ce,50,00)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *MessageSync_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String MessageSync_obj_sMemberFields[] = {
- HX_("client",4b,ca,4f,0a),
- HX_("stream",80,14,2d,11),
- HX_("filter",b8,1f,35,85),
- HX_("serviceJID",90,19,2d,7d),
- HX_("handler",ca,af,d5,45),
- HX_("contextHandler",9b,6d,14,e9),
- HX_("errorHandler",e2,94,05,f7),
- HX_("lastPage",c5,f3,9a,dd),
- HX_("progress",ad,f7,2a,86),
- HX_("complete",b9,00,c8,7f),
- HX_("newestPageFirst",9b,ce,b0,7d),
- HX_("jmi",46,ce,50,00),
- HX_("fetchNext",4d,6a,ad,1f),
- HX_("hasMore",0f,00,a5,17),
- HX_("addContext",ce,c1,01,81),
- HX_("onMessages",0b,ad,b4,12),
- HX_("onError",29,6a,67,09),
- HX_("setNewestPageFirst",19,a1,25,0d),
- ::String(null()) };
-
-::hx::Class MessageSync_obj::__mClass;
-
-void MessageSync_obj::__register()
-{
- MessageSync_obj _hx_dummy;
- MessageSync_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.MessageSync",31,ee,97,05);
- __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(MessageSync_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< MessageSync_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = MessageSync_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = MessageSync_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/Participant.cpp b/Sources/c_snikket/src/snikket/Participant.cpp
deleted file mode 100644
index de3db76..0000000
--- a/Sources/c_snikket/src/snikket/Participant.cpp
+++ /dev/null
@@ -1,215 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_snikket_Participant
-#include <snikket/Participant.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_33195ab9b813f4c6_20_new,"snikket.Participant","new",0x30d44414,"snikket.Participant.new","snikket/Participant.hx",20,0x8d2a799d)
-HX_LOCAL_STACK_FRAME(_hx_pos_dd664f1e3e572410_355_displayName__fromC,"snikket.Participant","displayName__fromC",0x32bb7538,"snikket.Participant.displayName__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_dd664f1e3e572410_355_photoUri__fromC,"snikket.Participant","photoUri__fromC",0x51355b93,"snikket.Participant.photoUri__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_dd664f1e3e572410_355_placeholderUri__fromC,"snikket.Participant","placeholderUri__fromC",0x436ea094,"snikket.Participant.placeholderUri__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_dd664f1e3e572410_355_isSelf__fromC,"snikket.Participant","isSelf__fromC",0x5a5f9b57,"snikket.Participant.isSelf__fromC","HaxeCBridge.hx",355,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_33195ab9b813f4c6_13_boot,"snikket.Participant","boot",0x81004dfe,"snikket.Participant.boot","snikket/Participant.hx",13,0x8d2a799d)
-namespace snikket{
-
-void Participant_obj::__construct(::String displayName,::String photoUri,::String placeholderUri,bool isSelf){
- HX_STACKFRAME(&_hx_pos_33195ab9b813f4c6_20_new)
-HXLINE( 21) this->displayName = displayName;
-HXLINE( 22) this->photoUri = photoUri;
-HXLINE( 23) this->placeholderUri = placeholderUri;
-HXLINE( 24) this->isSelf = isSelf;
- }
-
-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]);
- return _hx_result;
-}
-
-bool Participant_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x7d555cf6;
-}
-
-::String Participant_obj::displayName__fromC(){
- HX_STACKFRAME(&_hx_pos_dd664f1e3e572410_355_displayName__fromC)
-HXDLIN( 355) return this->displayName;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Participant_obj,displayName__fromC,return )
-
-::String Participant_obj::photoUri__fromC(){
- HX_STACKFRAME(&_hx_pos_dd664f1e3e572410_355_photoUri__fromC)
-HXDLIN( 355) return this->photoUri;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Participant_obj,photoUri__fromC,return )
-
-::String Participant_obj::placeholderUri__fromC(){
- HX_STACKFRAME(&_hx_pos_dd664f1e3e572410_355_placeholderUri__fromC)
-HXDLIN( 355) return this->placeholderUri;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Participant_obj,placeholderUri__fromC,return )
-
-bool Participant_obj::isSelf__fromC(){
- HX_STACKFRAME(&_hx_pos_dd664f1e3e572410_355_isSelf__fromC)
-HXDLIN( 355) return this->isSelf;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Participant_obj,isSelf__fromC,return )
-
-
-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_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::Val Participant_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 6:
- if (HX_FIELD_EQ(inName,"isSelf") ) { return ::hx::Val( isSelf ); }
- 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 ); }
- 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 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));
- 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::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),
- ::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_("snikket.Participant",22,ea,3b,01);
- __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_33195ab9b813f4c6_13_boot)
-HXDLIN( 13) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(4)
- ->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_("photoUri__fromC",df,29,fc,dc), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(2,HX_("isSelf__fromC",a3,fe,4d,03), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(3,HX_("displayName__fromC",6c,9e,e5,22), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
- }
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/Push.cpp b/Sources/c_snikket/src/snikket/Push.cpp
deleted file mode 100644
index c11dcb6..0000000
--- a/Sources/c_snikket/src/snikket/Push.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#include <snikket/ChatMessageBuilder.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Notification
-#include <snikket/Notification.h>
-#endif
-#ifndef INCLUDED_snikket_Persistence
-#include <snikket/Persistence.h>
-#endif
-#ifndef INCLUDED_snikket_Push
-#include <snikket/Push.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-
-HX_LOCAL_STACK_FRAME(_hx_pos_f43ad8fb7d9b8ef0_21_receive,"snikket.Push","receive",0x2faa9e00,"snikket.Push.receive","snikket/Push.hx",21,0xbce40632)
-HX_LOCAL_STACK_FRAME(_hx_pos_f43ad8fb7d9b8ef0_34_receive,"snikket.Push","receive",0x2faa9e00,"snikket.Push.receive","snikket/Push.hx",34,0xbce40632)
-namespace snikket{
-
-void Push_obj::__construct() { }
-
-Dynamic Push_obj::__CreateEmpty() { return new Push_obj; }
-
-void *Push_obj::_hx_vtable = 0;
-
-Dynamic Push_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Push_obj > _hx_result = new Push_obj();
- _hx_result->__construct();
- return _hx_result;
-}
-
-bool Push_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x0b0d3237;
-}
-
- ::snikket::Notification Push_obj::receive(::String data,::Dynamic persistence){
- HX_STACKFRAME(&_hx_pos_f43ad8fb7d9b8ef0_21_receive)
-HXLINE( 22) ::snikket::Stanza stanza = ::snikket::Stanza_obj::parse(data);
-HXLINE( 23) if (::hx::IsNull( stanza )) {
-HXLINE( 23) return null();
- }
-HXLINE( 24) bool _hx_tmp;
-HXDLIN( 24) if ((stanza->name == HX_("envelope",10,df,6c,0c))) {
-HXLINE( 24) _hx_tmp = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:sce:1",30,c6,40,50));
- }
- else {
-HXLINE( 24) _hx_tmp = false;
- }
-HXDLIN( 24) if (_hx_tmp) {
-HXLINE( 25) stanza = stanza->getChild(HX_("content",39,8d,77,19),null())->getFirstChild();
- }
-HXLINE( 27) bool _hx_tmp1;
-HXDLIN( 27) if ((stanza->name == HX_("forwarded",64,f5,9a,17))) {
-HXLINE( 27) _hx_tmp1 = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:forward:0",1f,ec,b0,d1));
- }
- else {
-HXLINE( 27) _hx_tmp1 = false;
- }
-HXDLIN( 27) if (_hx_tmp1) {
-HXLINE( 28) stanza = stanza->getChild(HX_("message",c7,35,11,9a),HX_("jabber:client",21,64,c5,e4));
- }
-HXLINE( 30) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) ) )) {
-HXLINE( 30) return null();
- }
-HXLINE( 32) ::snikket::ChatMessage message = ::snikket::ChatMessage_obj::fromStanza(stanza,::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) ))->asBare(),null());
-HXLINE( 33) if (::hx::IsNotNull( message )) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> _){
- HX_STACKFRAME(&_hx_pos_f43ad8fb7d9b8ef0_34_receive)
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 34) ::snikket::Persistence_obj::storeMessages(persistence,message->account(),::Array_obj< ::Dynamic>::__new(1)->init(0,message), ::Dynamic(new _hx_Closure_0()));
-HXLINE( 35) return ::snikket::Notification_obj::fromChatMessage(message);
- }
- else {
-HXLINE( 37) return ::snikket::Notification_obj::fromThinStanza(stanza);
- }
-HXLINE( 33) return null();
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC2(Push_obj,receive,return )
-
-
-Push_obj::Push_obj()
-{
-}
-
-bool Push_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 7:
- if (HX_FIELD_EQ(inName,"receive") ) { outValue = receive_dyn(); return true; }
- }
- return false;
-}
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo *Push_obj_sMemberStorageInfo = 0;
-static ::hx::StaticInfo *Push_obj_sStaticStorageInfo = 0;
-#endif
-
-::hx::Class Push_obj::__mClass;
-
-static ::String Push_obj_sStaticFields[] = {
- HX_("receive",e3,61,58,2a),
- ::String(null())
-};
-
-void Push_obj::__register()
-{
- Push_obj _hx_dummy;
- Push_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Push",8b,b7,1e,55);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &Push_obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(Push_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
- __mClass->mCanCast = ::hx::TCanCast< Push_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Push_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Push_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/Stanza.cpp b/Sources/c_snikket/src/snikket/Stanza.cpp
deleted file mode 100644
index f021451..0000000
--- a/Sources/c_snikket/src/snikket/Stanza.cpp
+++ /dev/null
@@ -1,1150 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_EReg
-#include <EReg.h>
-#endif
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
-#ifndef INCLUDED_Std
-#include <Std.h>
-#endif
-#ifndef INCLUDED_StringBuf
-#include <StringBuf.h>
-#endif
-#ifndef INCLUDED_Xml
-#include <Xml.h>
-#endif
-#ifndef INCLUDED__Xml_XmlType_Impl_
-#include <_Xml/XmlType_Impl_.h>
-#endif
-#ifndef INCLUDED_haxe_Exception
-#include <haxe/Exception.h>
-#endif
-#ifndef INCLUDED_haxe_xml_Printer
-#include <haxe/xml/Printer.h>
-#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_GenericStream
-#include <snikket/GenericStream.h>
-#endif
-#ifndef INCLUDED_snikket_Node
-#include <snikket/Node.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket_StanzaError
-#include <snikket/StanzaError.h>
-#endif
-#ifndef INCLUDED_snikket_TextNodeClass
-#include <snikket/TextNodeClass.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket__Util_Util_Fields_
-#include <snikket/_Util/Util_Fields_.h>
-#endif
-#ifndef INCLUDED_snikket_streams_XmppStropheStream
-#include <snikket/streams/XmppStropheStream.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_77777da2cc20dfea_83_new,"snikket.Stanza","new",0x8db01dd8,"snikket.Stanza.new","snikket/Stanza.hx",83,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_98_serialize,"snikket.Stanza","serialize",0x62161558,"snikket.Stanza.serialize","snikket/Stanza.hx",98,0x3976dc77)
-static const ::String _hx_array_data_77ae91e6_4[] = {
- HX_(">",3e,00,00,00),
-};
-static const ::String _hx_array_data_77ae91e6_5[] = {
- HX_("</",73,34,00,00),
-};
-static const ::String _hx_array_data_77ae91e6_6[] = {
- HX_(">",3e,00,00,00),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_124_toString,"snikket.Stanza","toString",0x332eb034,"snikket.Stanza.toString","snikket/Stanza.hx",124,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_159_tag,"snikket.Stanza","tag",0x8db4a7d2,"snikket.Stanza.tag","snikket/Stanza.hx",159,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_167_text,"snikket.Stanza","text",0x70614835,"snikket.Stanza.text","snikket/Stanza.hx",167,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_172_textTag,"snikket.Stanza","textTag",0xfce41925,"snikket.Stanza.textTag","snikket/Stanza.hx",172,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_177_up,"snikket.Stanza","up",0x792c6fe3,"snikket.Stanza.up","snikket/Stanza.hx",177,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_184_reset,"snikket.Stanza","reset",0xbdece547,"snikket.Stanza.reset","snikket/Stanza.hx",184,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_190_addChildren,"snikket.Stanza","addChildren",0x68e0d5f8,"snikket.Stanza.addChildren","snikket/Stanza.hx",190,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_198_addChildNodes,"snikket.Stanza","addChildNodes",0x4f6445ee,"snikket.Stanza.addChildNodes","snikket/Stanza.hx",198,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_205_addChild,"snikket.Stanza","addChild",0xb9d6af43,"snikket.Stanza.addChild","snikket/Stanza.hx",205,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_210_addDirectChild,"snikket.Stanza","addDirectChild",0xf89df69a,"snikket.Stanza.addDirectChild","snikket/Stanza.hx",210,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_215_clone,"snikket.Stanza","clone",0x1f87aed5,"snikket.Stanza.clone","snikket/Stanza.hx",215,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_226_allTags,"snikket.Stanza","allTags",0xb55fe812,"snikket.Stanza.allTags","snikket/Stanza.hx",226,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_248_allText,"snikket.Stanza","allText",0xb562ffe6,"snikket.Stanza.allText","snikket/Stanza.hx",248,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_259_getFirstChild,"snikket.Stanza","getFirstChild",0x86eb22fa,"snikket.Stanza.getFirstChild","snikket/Stanza.hx",259,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_262_getChildren,"snikket.Stanza","getChildren",0x5d78616d,"snikket.Stanza.getChildren","snikket/Stanza.hx",262,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_269_getChild,"snikket.Stanza","getChild",0xa05098ae,"snikket.Stanza.getChild","snikket/Stanza.hx",269,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_286_getChildText,"snikket.Stanza","getChildText",0x5808807b,"snikket.Stanza.getChildText","snikket/Stanza.hx",286,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_295_getText,"snikket.Stanza","getText",0x7d98e5db,"snikket.Stanza.getText","snikket/Stanza.hx",295,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_298_find,"snikket.Stanza","find",0x67234bc1,"snikket.Stanza.find","snikket/Stanza.hx",298,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_336_findChild,"snikket.Stanza","findChild",0xa1d4921b,"snikket.Stanza.findChild","snikket/Stanza.hx",336,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_347_findText,"snikket.Stanza","findText",0x9a4db90e,"snikket.Stanza.findText","snikket/Stanza.hx",347,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_358_traverse,"snikket.Stanza","traverse",0x672a5d3a,"snikket.Stanza.traverse","snikket/Stanza.hx",358,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_367_getError,"snikket.Stanza","getError",0xcdc0bada,"snikket.Stanza.getError","snikket/Stanza.hx",367,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_379_removeChildren,"snikket.Stanza","removeChildren",0x98988b2b,"snikket.Stanza.removeChildren","snikket/Stanza.hx",379,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_129_parse,"snikket.Stanza","parse",0x947a2bab,"snikket.Stanza.parse","snikket/Stanza.hx",129,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_137_fromXml,"snikket.Stanza","fromXml",0xb622a805,"snikket.Stanza.fromXml","snikket/Stanza.hx",137,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_77777da2cc20dfea_392_parseXmlBool,"snikket.Stanza","parseXmlBool",0x3825ed36,"snikket.Stanza.parseXmlBool","snikket/Stanza.hx",392,0x3976dc77)
-namespace snikket{
-
-void Stanza_obj::__construct(::String name, ::Dynamic attr){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_83_new)
-HXLINE( 88) this->last_added_stack = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 86) this->children = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 85) this->attr = ::Dynamic(::hx::Anon_obj::Create(0));
-HXLINE( 84) this->name = null();
-HXLINE( 91) this->name = name;
-HXLINE( 92) if (::hx::IsNotNull( attr )) {
-HXLINE( 93) this->attr = attr;
- }
-HXLINE( 95) this->last_added = ::hx::ObjectPtr<OBJ_>(this);
- }
-
-Dynamic Stanza_obj::__CreateEmpty() { return new Stanza_obj; }
-
-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]);
- return _hx_result;
-}
-
-bool Stanza_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x62320f92;
-}
-
-static ::snikket::_Stanza::NodeInterface_obj _hx_snikket_Stanza__hx_snikket__Stanza_NodeInterface= {
- ( ::String (::hx::Object::*)())&::snikket::Stanza_obj::serialize,
- ( ::Dynamic (::hx::Object::*)( ::Dynamic))&::snikket::Stanza_obj::traverse_881a854a,
-};
-
-::Dynamic Stanza_obj::traverse_881a854a( ::Dynamic f) {
- return traverse(f);
-}
-void *Stanza_obj::_hx_getInterface(int inHash) {
- switch(inHash) {
- case (int)0xc837e580: return &_hx_snikket_Stanza__hx_snikket__Stanza_NodeInterface;
- }
- #ifdef HXCPP_SCRIPTABLE
- return super::_hx_getInterface(inHash);
- #else
- return 0;
- #endif
-}
-
-::String Stanza_obj::serialize(){
- HX_GC_STACKFRAME(&_hx_pos_77777da2cc20dfea_98_serialize)
-HXLINE( 99) ::Xml el = ::Xml_obj::createElement(this->name);
-HXLINE( 100) {
-HXLINE( 100) int _g = 0;
-HXDLIN( 100) ::Array< ::String > _g1 = ::Reflect_obj::fields(this->attr);
-HXDLIN( 100) while((_g < _g1->length)){
-HXLINE( 100) ::String attr_k = _g1->__get(_g);
-HXDLIN( 100) _g = (_g + 1);
-HXLINE( 101) el->set(attr_k,( (::String)(::Reflect_obj::field(this->attr,attr_k)) ));
- }
- }
-HXLINE( 104) if ((this->children->length == 0)) {
-HXLINE( 105) return ::haxe::xml::Printer_obj::print(el,null());
- }
-HXLINE( 107) ::String serialized = ::haxe::xml::Printer_obj::print(el,null());
-HXLINE( 108) ::StringBuf buffer = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE( 109) {
-HXLINE( 109) ::Dynamic len = (serialized.length - 2);
-HXDLIN( 109) if (::hx::IsNotNull( buffer->charBuf )) {
-HXLINE( 109) buffer->flush();
- }
-HXDLIN( 109) if (::hx::IsNull( buffer->b )) {
-HXLINE( 109) buffer->b = ::Array_obj< ::String >::__new(1)->init(0,serialized.substr(0,len));
- }
- else {
-HXLINE( 109) ::Array< ::String > buffer1 = buffer->b;
-HXDLIN( 109) buffer1->push(serialized.substr(0,len));
- }
- }
-HXLINE( 110) {
-HXLINE( 110) if (::hx::IsNotNull( buffer->charBuf )) {
-HXLINE( 110) buffer->flush();
- }
-HXDLIN( 110) if (::hx::IsNull( buffer->b )) {
-HXLINE( 110) buffer->b = ::Array_obj< ::String >::fromData( _hx_array_data_77ae91e6_4,1);
- }
- else {
-HXLINE( 110) buffer->b->push(HX_(">",3e,00,00,00));
- }
- }
-HXLINE( 111) {
-HXLINE( 111) int _g2 = 0;
-HXDLIN( 111) ::Array< ::Dynamic> _g3 = this->children;
-HXDLIN( 111) while((_g2 < _g3->length)){
-HXLINE( 111) ::snikket::Node child = _g3->__get(_g2).StaticCast< ::snikket::Node >();
-HXDLIN( 111) _g2 = (_g2 + 1);
-HXLINE( 112) {
-HXLINE( 112) ::String x;
-HXDLIN( 112) switch((int)(child->_hx_getIndex())){
- case (int)0: {
-HXLINE( 113) ::snikket::Stanza c = child->_hx_getObject(0).StaticCast< ::snikket::Stanza >();
-HXLINE( 112) x = c->serialize();
- }
- break;
- case (int)1: {
-HXLINE( 114) ::String c1 = child->_hx_getString(0);
-HXLINE( 112) x = ::snikket::_Util::Util_Fields__obj::xmlEscape(c1);
- }
- break;
- }
-HXDLIN( 112) if (::hx::IsNotNull( buffer->charBuf )) {
-HXLINE( 112) buffer->flush();
- }
-HXDLIN( 112) if (::hx::IsNull( buffer->b )) {
-HXLINE( 112) buffer->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x));
- }
- else {
-HXLINE( 112) ::Array< ::String > buffer2 = buffer->b;
-HXDLIN( 112) buffer2->push(::Std_obj::string(x));
- }
- }
- }
- }
-HXLINE( 117) {
-HXLINE( 117) if (::hx::IsNotNull( buffer->charBuf )) {
-HXLINE( 117) buffer->flush();
- }
-HXDLIN( 117) if (::hx::IsNull( buffer->b )) {
-HXLINE( 117) buffer->b = ::Array_obj< ::String >::fromData( _hx_array_data_77ae91e6_5,1);
- }
- else {
-HXLINE( 117) buffer->b->push(HX_("</",73,34,00,00));
- }
- }
-HXLINE( 118) {
-HXLINE( 118) ::String x1 = this->name;
-HXDLIN( 118) if (::hx::IsNotNull( buffer->charBuf )) {
-HXLINE( 118) buffer->flush();
- }
-HXDLIN( 118) if (::hx::IsNull( buffer->b )) {
-HXLINE( 118) buffer->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x1));
- }
- else {
-HXLINE( 118) ::Array< ::String > buffer3 = buffer->b;
-HXDLIN( 118) buffer3->push(::Std_obj::string(x1));
- }
- }
-HXLINE( 119) {
-HXLINE( 119) if (::hx::IsNotNull( buffer->charBuf )) {
-HXLINE( 119) buffer->flush();
- }
-HXDLIN( 119) if (::hx::IsNull( buffer->b )) {
-HXLINE( 119) buffer->b = ::Array_obj< ::String >::fromData( _hx_array_data_77ae91e6_6,1);
- }
- else {
-HXLINE( 119) buffer->b->push(HX_(">",3e,00,00,00));
- }
- }
-HXLINE( 120) return buffer->toString();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,serialize,return )
-
-::String Stanza_obj::toString(){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_124_toString)
-HXDLIN( 124) return this->serialize();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,toString,return )
-
- ::snikket::Stanza Stanza_obj::tag(::String name, ::Dynamic attr){
- HX_GC_STACKFRAME(&_hx_pos_77777da2cc20dfea_159_tag)
-HXLINE( 160) ::snikket::Stanza child = ::snikket::Stanza_obj::__alloc( HX_CTX ,name,attr);
-HXLINE( 161) this->last_added->addDirectChild(::snikket::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);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,tag,return )
-
- ::snikket::Stanza Stanza_obj::text(::String content){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_167_text)
-HXLINE( 168) this->last_added->addDirectChild(::snikket::Node_obj::CData(content));
-HXLINE( 169) return ::hx::ObjectPtr<OBJ_>(this);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,text,return )
-
- ::snikket::Stanza Stanza_obj::textTag(::String tagName,::String textContent, ::Dynamic attr){
- HX_GC_STACKFRAME(&_hx_pos_77777da2cc20dfea_172_textTag)
-HXLINE( 173) ::snikket::Stanza _hx_tmp = this->last_added;
-HXDLIN( 173) ::Dynamic tmp = attr;
-HXDLIN( 173) ::Dynamic _hx_tmp1;
-HXDLIN( 173) if (::hx::IsNotNull( tmp )) {
-HXLINE( 173) _hx_tmp1 = tmp;
- }
- else {
-HXLINE( 173) _hx_tmp1 = ::Dynamic(::hx::Anon_obj::Create(0));
- }
-HXDLIN( 173) _hx_tmp->addDirectChild(::snikket::Node_obj::Element( ::snikket::Stanza_obj::__alloc( HX_CTX ,tagName,_hx_tmp1)->text(textContent)));
-HXLINE( 174) return ::hx::ObjectPtr<OBJ_>(this);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Stanza_obj,textTag,return )
-
- ::snikket::Stanza Stanza_obj::up(){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_177_up)
-HXLINE( 178) if (::hx::IsInstanceNotEq( this->last_added,::hx::ObjectPtr<OBJ_>(this) )) {
-HXLINE( 179) this->last_added = this->last_added_stack->pop().StaticCast< ::snikket::Stanza >();
- }
-HXLINE( 181) return ::hx::ObjectPtr<OBJ_>(this);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,up,return )
-
- ::snikket::Stanza Stanza_obj::reset(){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_184_reset)
-HXLINE( 185) this->last_added = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 186) return ::hx::ObjectPtr<OBJ_>(this);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,reset,return )
-
- ::snikket::Stanza Stanza_obj::addChildren( ::Dynamic children){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_190_addChildren)
-HXLINE( 191) {
-HXLINE( 191) ::Dynamic child = children->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 191) while(( (bool)(child->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 191) ::snikket::Stanza child1 = ( ( ::snikket::Stanza)(child->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXLINE( 192) this->addChild(child1);
- }
- }
-HXLINE( 194) return ::hx::ObjectPtr<OBJ_>(this);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,addChildren,return )
-
- ::snikket::Stanza Stanza_obj::addChildNodes( ::Dynamic children){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_198_addChildNodes)
-HXLINE( 199) {
-HXLINE( 199) ::Dynamic child = children->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 199) while(( (bool)(child->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 199) ::snikket::Node child1 = child->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 200) this->addDirectChild(child1);
- }
- }
-HXLINE( 202) return ::hx::ObjectPtr<OBJ_>(this);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,addChildNodes,return )
-
- ::snikket::Stanza Stanza_obj::addChild( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_205_addChild)
-HXLINE( 206) this->last_added->children->push(::snikket::Node_obj::Element(stanza));
-HXLINE( 207) return ::hx::ObjectPtr<OBJ_>(this);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,addChild,return )
-
- ::snikket::Stanza Stanza_obj::addDirectChild( ::snikket::Node child){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_210_addDirectChild)
-HXLINE( 211) this->children->push(child);
-HXLINE( 212) return ::hx::ObjectPtr<OBJ_>(this);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,addDirectChild,return )
-
- ::snikket::Stanza Stanza_obj::clone(){
- HX_GC_STACKFRAME(&_hx_pos_77777da2cc20dfea_215_clone)
-HXLINE( 216) ::snikket::Stanza clone = ::snikket::Stanza_obj::__alloc( HX_CTX ,this->name,this->attr);
-HXLINE( 217) {
-HXLINE( 217) int _g = 0;
-HXDLIN( 217) ::Array< ::Dynamic> _g1 = this->children;
-HXDLIN( 217) while((_g < _g1->length)){
-HXLINE( 217) ::snikket::Node child = _g1->__get(_g).StaticCast< ::snikket::Node >();
-HXDLIN( 217) _g = (_g + 1);
-HXLINE( 218) ::snikket::Node _hx_tmp;
-HXDLIN( 218) switch((int)(child->_hx_getIndex())){
- case (int)0: {
-HXLINE( 219) ::snikket::Stanza c = child->_hx_getObject(0).StaticCast< ::snikket::Stanza >();
-HXLINE( 218) _hx_tmp = ::snikket::Node_obj::Element(c->clone());
- }
- break;
- case (int)1: {
-HXLINE( 220) ::String c1 = child->_hx_getString(0);
-HXLINE( 218) _hx_tmp = ::snikket::Node_obj::CData(c1);
- }
- break;
- }
-HXDLIN( 218) clone->addDirectChild(_hx_tmp);
- }
- }
-HXLINE( 223) return clone;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,clone,return )
-
-::Array< ::Dynamic> Stanza_obj::allTags(::String name,::String xmlns){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_226_allTags)
-HXLINE( 227) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 227) {
-HXLINE( 227) int _g1 = 0;
-HXDLIN( 227) ::Array< ::Dynamic> _g2 = this->children;
-HXDLIN( 227) while((_g1 < _g2->length)){
-HXLINE( 227) ::snikket::Node v = _g2->__get(_g1).StaticCast< ::snikket::Node >();
-HXDLIN( 227) _g1 = (_g1 + 1);
-HXLINE( 228) bool _hx_tmp;
-HXDLIN( 228) if ((v->_hx_getIndex() == 0)) {
-HXLINE( 228) ::snikket::Stanza _g3 = v->_hx_getObject(0).StaticCast< ::snikket::Stanza >();
-HXDLIN( 228) _hx_tmp = true;
- }
- else {
-HXLINE( 228) _hx_tmp = false;
- }
-HXLINE( 227) if (_hx_tmp) {
-HXLINE( 227) _g->push(v);
- }
- }
- }
-HXDLIN( 227) ::Array< ::Dynamic> _this = _g;
-HXDLIN( 227) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN( 227) {
-HXLINE( 227) int _g4 = 0;
-HXDLIN( 227) int _g5 = _this->length;
-HXDLIN( 227) while((_g4 < _g5)){
-HXLINE( 227) _g4 = (_g4 + 1);
-HXDLIN( 227) int i = (_g4 - 1);
-HXDLIN( 227) {
-HXLINE( 230) ::snikket::Node child = _hx_array_unsafe_get(_this,i);
-HXLINE( 227) ::snikket::Stanza inValue;
-HXLINE( 230) if ((child->_hx_getIndex() == 0)) {
-HXLINE( 231) ::snikket::Stanza c = child->_hx_getObject(0).StaticCast< ::snikket::Stanza >();
-HXLINE( 227) inValue = c;
- }
- else {
-HXLINE( 227) inValue = null();
- }
-HXDLIN( 227) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 227) ::Array< ::Dynamic> tags = result;
-HXLINE( 235) bool _hx_tmp1;
-HXDLIN( 235) if (::hx::IsNull( name )) {
-HXLINE( 235) _hx_tmp1 = ::hx::IsNotNull( xmlns );
- }
- else {
-HXLINE( 235) _hx_tmp1 = true;
- }
-HXDLIN( 235) if (_hx_tmp1) {
-HXLINE( 236) ::String ourXmlns = ( (::String)(::Reflect_obj::field(this->attr,HX_("xmlns",dc,31,74,60))) );
-HXLINE( 237) ::Array< ::Dynamic> _g6 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 237) {
-HXLINE( 237) int _g7 = 0;
-HXDLIN( 237) ::Array< ::Dynamic> _g8 = tags;
-HXDLIN( 237) while((_g7 < _g8->length)){
-HXLINE( 237) ::snikket::Stanza v1 = _g8->__get(_g7).StaticCast< ::snikket::Stanza >();
-HXDLIN( 237) _g7 = (_g7 + 1);
-HXLINE( 238) ::String childXmlns = ( (::String)(::Reflect_obj::field(v1->attr,HX_("xmlns",dc,31,74,60))) );
-HXLINE( 237) bool tags1;
-HXLINE( 239) bool tags2;
-HXDLIN( 239) if (::hx::IsNotNull( name )) {
-HXLINE( 239) tags2 = (v1->name == name);
- }
- else {
-HXLINE( 239) tags2 = true;
- }
-HXDLIN( 239) if (tags2) {
-HXLINE( 240) bool tags3;
-HXDLIN( 240) if (::hx::IsNull( xmlns )) {
-HXLINE( 240) if ((ourXmlns != childXmlns)) {
-HXLINE( 240) tags3 = ::hx::IsNull( childXmlns );
- }
- else {
-HXLINE( 240) tags3 = true;
- }
- }
- else {
-HXLINE( 240) tags3 = false;
- }
-HXDLIN( 240) if (!(tags3)) {
-HXLINE( 237) tags1 = (childXmlns == xmlns);
- }
- else {
-HXLINE( 237) tags1 = true;
- }
- }
- else {
-HXLINE( 237) tags1 = false;
- }
-HXDLIN( 237) if (tags1) {
-HXLINE( 237) _g6->push(v1);
- }
- }
- }
-HXDLIN( 237) tags = _g6;
- }
-HXLINE( 244) return tags;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,allTags,return )
-
-::Array< ::String > Stanza_obj::allText(){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_248_allText)
-HXDLIN( 248) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 248) {
-HXDLIN( 248) int _g1 = 0;
-HXDLIN( 248) ::Array< ::Dynamic> _g2 = this->children;
-HXDLIN( 248) while((_g1 < _g2->length)){
-HXDLIN( 248) ::snikket::Node v = _g2->__get(_g1).StaticCast< ::snikket::Node >();
-HXDLIN( 248) _g1 = (_g1 + 1);
-HXLINE( 249) bool _hx_tmp;
-HXDLIN( 249) if ((v->_hx_getIndex() == 1)) {
-HXLINE( 249) ::String _g3 = v->_hx_getString(0);
-HXDLIN( 249) _hx_tmp = true;
- }
- else {
-HXLINE( 249) _hx_tmp = false;
- }
-HXLINE( 248) if (_hx_tmp) {
-HXDLIN( 248) _g->push(v);
- }
- }
- }
-HXDLIN( 248) ::Array< ::Dynamic> _this = _g;
-HXDLIN( 248) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 248) {
-HXDLIN( 248) int _g4 = 0;
-HXDLIN( 248) int _g5 = _this->length;
-HXDLIN( 248) while((_g4 < _g5)){
-HXDLIN( 248) _g4 = (_g4 + 1);
-HXDLIN( 248) int i = (_g4 - 1);
-HXDLIN( 248) {
-HXLINE( 251) ::snikket::Node child = _hx_array_unsafe_get(_this,i);
-HXLINE( 248) ::String inValue;
-HXLINE( 251) if ((child->_hx_getIndex() == 1)) {
-HXLINE( 252) ::String c = child->_hx_getString(0);
-HXLINE( 248) inValue = c;
- }
- else {
-HXDLIN( 248) inValue = null();
- }
-HXDLIN( 248) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 248) return result;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,allText,return )
-
- ::snikket::Stanza Stanza_obj::getFirstChild(){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_259_getFirstChild)
-HXDLIN( 259) return this->allTags(null(),null())->__get(0).StaticCast< ::snikket::Stanza >();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,getFirstChild,return )
-
-::Array< ::Dynamic> Stanza_obj::getChildren(){
- HX_GC_STACKFRAME(&_hx_pos_77777da2cc20dfea_262_getChildren)
-HXDLIN( 262) ::snikket::Stanza _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 263) ::Array< ::Dynamic> _this = this->children;
-HXDLIN( 263) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN( 263) {
-HXLINE( 263) int _g = 0;
-HXDLIN( 263) int _g1 = _this->length;
-HXDLIN( 263) while((_g < _g1)){
-HXLINE( 263) _g = (_g + 1);
-HXDLIN( 263) int i = (_g - 1);
-HXDLIN( 263) {
-HXLINE( 263) ::snikket::Node child = _hx_array_unsafe_get(_this,i);
-HXDLIN( 263) ::Dynamic inValue;
-HXDLIN( 263) switch((int)(child->_hx_getIndex())){
- case (int)0: {
-HXLINE( 264) ::snikket::Stanza el = child->_hx_getObject(0).StaticCast< ::snikket::Stanza >();
-HXLINE( 263) inValue = el;
- }
- break;
- case (int)1: {
-HXLINE( 265) ::String text = child->_hx_getString(0);
-HXLINE( 263) inValue = ::snikket::TextNodeClass_obj::__alloc( HX_CTX ,text);
- }
- break;
- }
-HXDLIN( 263) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 263) return result;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,getChildren,return )
-
- ::snikket::Stanza Stanza_obj::getChild(::String name,::String xmlns){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_269_getChild)
-HXLINE( 270) ::String ourXmlns = ( (::String)(::Reflect_obj::field(this->attr,HX_("xmlns",dc,31,74,60))) );
-HXLINE( 279) ::Array< ::Dynamic> tags = this->allTags(name,xmlns);
-HXLINE( 280) if ((tags->length == 0)) {
-HXLINE( 281) return null();
- }
-HXLINE( 283) return tags->__get(0).StaticCast< ::snikket::Stanza >();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,getChild,return )
-
-::String Stanza_obj::getChildText(::String name,::String xmlns){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_286_getChildText)
-HXLINE( 287) ::snikket::Stanza child = this->getChild(name,xmlns);
-HXLINE( 288) if (::hx::IsNull( child )) {
-HXLINE( 289) return null();
- }
-HXLINE( 291) return child->getText();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,getChildText,return )
-
-::String Stanza_obj::getText(){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_295_getText)
-HXDLIN( 295) return this->allText()->join(HX_("",00,00,00,00));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,getText,return )
-
- ::snikket::Node Stanza_obj::find(::String path){
- HX_GC_STACKFRAME(&_hx_pos_77777da2cc20dfea_298_find)
-HXLINE( 299) int pos = 0;
-HXLINE( 300) int len = path.length;
-HXLINE( 301) ::snikket::Stanza cursor = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 303) do {
-HXLINE( 304) ::String xmlns = null();
-HXDLIN( 304) ::Dynamic name = null();
-HXDLIN( 304) ::Dynamic text = null();
-HXLINE( 305) ::String _hx_char = path.charAt(pos);
-HXLINE( 306) if ((_hx_char == HX_("@",40,00,00,00))) {
-HXLINE( 307) ::Dynamic this1 = cursor->attr;
-HXDLIN( 307) return ::snikket::Node_obj::CData(( (::String)(::Reflect_obj::field(this1,path.substr((pos + 1),null()))) ));
- }
- else {
-HXLINE( 308) if ((_hx_char == HX_("{",7b,00,00,00))) {
-HXLINE( 309) xmlns = path.substring((pos + 1),path.indexOf(HX_("}",7d,00,00,00),(pos + 1)));
-HXLINE( 310) pos = (pos + (xmlns.length + 2));
- }
- }
-HXLINE( 312) ::EReg reName = ::EReg_obj::__alloc( HX_CTX ,HX_("([^@/#]*)([/#]?)",cd,f2,19,5a),HX_("",00,00,00,00));
-HXLINE( 313) if (!(reName->matchSub(path,pos,null()))) {
-HXLINE( 314) HX_STACK_DO_THROW( ::haxe::Exception_obj::__alloc( HX_CTX ,(HX_("Invalid path to Stanza.find(): ",c6,3a,06,10) + path),null(),null()));
- }
-HXLINE( 316) ::String name1 = reName->matched(1);
-HXDLIN( 316) ::String text1 = reName->matched(2);
-HXLINE( 317) int pos1 = ( (int)(reName->matchedPos()->__Field(HX_("pos",94,5d,55,00),::hx::paccDynamic)) );
-HXDLIN( 317) pos = ( (int)((pos1 + reName->matchedPos()->__Field(HX_("len",d5,4b,52,00),::hx::paccDynamic))) );
-HXLINE( 318) if ((name1 == HX_("",00,00,00,00))) {
-HXLINE( 319) name1 = null();
- }
-HXLINE( 321) if ((pos == len)) {
-HXLINE( 322) if ((text1 == HX_("#",23,00,00,00))) {
-HXLINE( 323) ::String text2 = cursor->getChildText(name1,xmlns);
-HXLINE( 324) if (::hx::IsNull( text2 )) {
-HXLINE( 325) return null();
- }
-HXLINE( 327) return ::snikket::Node_obj::CData(text2);
- }
-HXLINE( 329) return ::snikket::Node_obj::Element(cursor->getChild(name1,xmlns));
- }
-HXLINE( 331) cursor = cursor->getChild(name1,xmlns);
- } while(::hx::IsNotNull( cursor ));
-;
-HXLINE( 333) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,find,return )
-
- ::snikket::Stanza Stanza_obj::findChild(::String path){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_336_findChild)
-HXLINE( 337) ::snikket::Node result = this->find(path);
-HXLINE( 338) if (::hx::IsNull( result )) {
-HXLINE( 339) return null();
- }
-HXLINE( 341) if (::hx::IsNull( result )) {
-HXLINE( 343) return null();
- }
- else {
-HXLINE( 341) if ((result->_hx_getIndex() == 0)) {
-HXLINE( 342) ::snikket::Stanza stanza = result->_hx_getObject(0).StaticCast< ::snikket::Stanza >();
-HXDLIN( 342) return stanza;
- }
- else {
-HXLINE( 343) return null();
- }
- }
-HXLINE( 341) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,findChild,return )
-
-::String Stanza_obj::findText(::String path){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_347_findText)
-HXLINE( 348) ::snikket::Node result = this->find(path);
-HXLINE( 349) if (::hx::IsNull( result )) {
-HXLINE( 350) return null();
- }
-HXLINE( 352) if (::hx::IsNull( result )) {
-HXLINE( 354) return null();
- }
- else {
-HXLINE( 352) if ((result->_hx_getIndex() == 1)) {
-HXLINE( 353) ::String textNode = result->_hx_getString(0);
-HXDLIN( 353) return textNode;
- }
- else {
-HXLINE( 354) return null();
- }
- }
-HXLINE( 352) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,findText,return )
-
- ::snikket::Stanza Stanza_obj::traverse( ::Dynamic f){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_358_traverse)
-HXLINE( 359) if (!(( (bool)(f(::hx::ObjectPtr<OBJ_>(this))) ))) {
-HXLINE( 360) int _g = 0;
-HXDLIN( 360) ::Array< ::Dynamic> _g1 = this->allTags(null(),null());
-HXDLIN( 360) while((_g < _g1->length)){
-HXLINE( 360) ::snikket::Stanza child = _g1->__get(_g).StaticCast< ::snikket::Stanza >();
-HXDLIN( 360) _g = (_g + 1);
-HXLINE( 361) child->traverse(f);
- }
- }
-HXLINE( 364) return ::hx::ObjectPtr<OBJ_>(this);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,traverse,return )
-
- ::snikket::StanzaError Stanza_obj::getError(){
- HX_GC_STACKFRAME(&_hx_pos_77777da2cc20dfea_367_getError)
-HXLINE( 368) ::snikket::Stanza errorTag = this->getChild(HX_("error",c8,cb,29,73),null());
-HXLINE( 369) if (::hx::IsNull( errorTag )) {
-HXLINE( 370) return null();
- }
-HXLINE( 373) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(errorTag->attr,HX_("type",ba,f2,08,4d))) );
-HXLINE( 374) ::snikket::Stanza tmp = errorTag->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
-HXDLIN( 374) ::String _hx_tmp1;
-HXDLIN( 374) if (::hx::IsNotNull( tmp )) {
-HXLINE( 374) _hx_tmp1 = tmp->name;
- }
- else {
-HXLINE( 374) _hx_tmp1 = null();
- }
-HXLINE( 372) return ::snikket::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::removeChildren(::String name,::String xmlns_){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_379_removeChildren)
-HXLINE( 380) ::String xmlns;
-HXDLIN( 380) ::String tmp = xmlns_;
-HXDLIN( 380) if (::hx::IsNotNull( tmp )) {
-HXLINE( 380) xmlns = tmp;
- }
- else {
-HXLINE( 380) xmlns = ( (::String)(::Reflect_obj::field(this->attr,HX_("xmlns",dc,31,74,60))) );
- }
-HXLINE( 381) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 381) {
-HXLINE( 381) int _g1 = 0;
-HXDLIN( 381) ::Array< ::Dynamic> _g2 = this->children;
-HXDLIN( 381) while((_g1 < _g2->length)){
-HXLINE( 381) ::snikket::Node v = _g2->__get(_g1).StaticCast< ::snikket::Node >();
-HXDLIN( 381) _g1 = (_g1 + 1);
-HXLINE( 382) bool _hx_tmp;
-HXDLIN( 382) if ((v->_hx_getIndex() == 0)) {
-HXLINE( 383) ::snikket::Stanza c = v->_hx_getObject(0).StaticCast< ::snikket::Stanza >();
-HXLINE( 384) bool _hx_tmp1;
-HXDLIN( 384) bool _hx_tmp2;
-HXDLIN( 384) if (::hx::IsNotNull( name )) {
-HXLINE( 384) _hx_tmp2 = (c->name == name);
- }
- else {
-HXLINE( 384) _hx_tmp2 = true;
- }
-HXDLIN( 384) if (_hx_tmp2) {
-HXLINE( 384) ::String tmp1 = ( (::String)(::Reflect_obj::field(c->attr,HX_("xmlns",dc,31,74,60))) );
-HXDLIN( 384) ::String _hx_tmp3;
-HXDLIN( 384) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 384) _hx_tmp3 = tmp1;
- }
- else {
-HXLINE( 384) _hx_tmp3 = xmlns;
- }
-HXDLIN( 384) _hx_tmp1 = (_hx_tmp3 == xmlns);
- }
- else {
-HXLINE( 384) _hx_tmp1 = false;
- }
-HXLINE( 382) _hx_tmp = !(_hx_tmp1);
- }
- else {
-HXLINE( 382) _hx_tmp = true;
- }
-HXLINE( 381) if (_hx_tmp) {
-HXLINE( 381) _g->push(v);
- }
- }
- }
-HXDLIN( 381) this->children = _g;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,removeChildren,(void))
-
- ::snikket::Stanza Stanza_obj::parse(::String s){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_129_parse)
-HXDLIN( 129) return ::snikket::streams::XmppStropheStream_obj::parseStanza(s);
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,parse,return )
-
- ::snikket::Stanza Stanza_obj::fromXml( ::Xml el){
- HX_GC_STACKFRAME(&_hx_pos_77777da2cc20dfea_137_fromXml)
-HXLINE( 138) if ((el->nodeType == 6)) {
-HXLINE( 139) return ::snikket::Stanza_obj::fromXml(el->firstElement());
- }
-HXLINE( 142) ::Dynamic attrs = ::Dynamic(::hx::Anon_obj::Create(0));
-HXLINE( 143) {
-HXLINE( 143) ::Dynamic a = el->attributes();
-HXDLIN( 143) while(( (bool)(a->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 143) ::String a1 = ( (::String)(a->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXLINE( 144) {
-HXLINE( 144) ::String value = el->get(a1);
-HXDLIN( 144) ::Reflect_obj::setField(attrs,a1,value);
- }
- }
- }
-HXLINE( 146) if ((el->nodeType != ::Xml_obj::Element)) {
-HXLINE( 146) HX_STACK_DO_THROW((HX_("Bad node type, expected Element but found ",d8,90,8b,bb) + ::_Xml::XmlType_Impl__obj::toString(el->nodeType)));
- }
-HXDLIN( 146) ::snikket::Stanza stanza = ::snikket::Stanza_obj::__alloc( HX_CTX ,el->nodeName,attrs);
-HXLINE( 147) {
-HXLINE( 147) bool _hx_tmp;
-HXDLIN( 147) if ((el->nodeType != ::Xml_obj::Document)) {
-HXLINE( 147) _hx_tmp = (el->nodeType != ::Xml_obj::Element);
- }
- else {
-HXLINE( 147) _hx_tmp = false;
- }
-HXDLIN( 147) if (_hx_tmp) {
-HXLINE( 147) 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( 147) int _g_current = 0;
-HXDLIN( 147) ::Array< ::Dynamic> _g_array = el->children;
-HXDLIN( 147) while((_g_current < _g_array->length)){
-HXLINE( 147) _g_current = (_g_current + 1);
-HXDLIN( 147) ::Xml child = _g_array->__get((_g_current - 1)).StaticCast< ::Xml >();
-HXLINE( 148) if ((child->nodeType == 0)) {
-HXLINE( 149) stanza->addChild(::snikket::Stanza_obj::fromXml(child));
- }
- else {
-HXLINE( 150) bool _hx_tmp1;
-HXDLIN( 150) bool _hx_tmp2;
-HXDLIN( 150) if ((child->nodeType != 5)) {
-HXLINE( 150) _hx_tmp2 = (child->nodeType == 4);
- }
- else {
-HXLINE( 150) _hx_tmp2 = true;
- }
-HXDLIN( 150) if (!(_hx_tmp2)) {
-HXLINE( 150) _hx_tmp1 = (child->nodeType == 3);
- }
- else {
-HXLINE( 150) _hx_tmp1 = true;
- }
-HXDLIN( 150) if (!(_hx_tmp1)) {
-HXLINE( 153) bool _hx_tmp3;
-HXDLIN( 153) if ((child->nodeType != ::Xml_obj::Document)) {
-HXLINE( 153) _hx_tmp3 = (child->nodeType == ::Xml_obj::Element);
- }
- else {
-HXLINE( 153) _hx_tmp3 = true;
- }
-HXDLIN( 153) if (_hx_tmp3) {
-HXLINE( 153) HX_STACK_DO_THROW((HX_("Bad node type, unexpected ",be,79,d5,11) + ::_Xml::XmlType_Impl__obj::toString(child->nodeType)));
- }
-HXDLIN( 153) stanza->text(child->nodeValue);
- }
- }
- }
- }
-HXLINE( 156) return stanza;
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,fromXml,return )
-
-bool Stanza_obj::parseXmlBool(::String x){
- HX_STACKFRAME(&_hx_pos_77777da2cc20dfea_392_parseXmlBool)
-HXDLIN( 392) if ((x != HX_("true",4e,a7,03,4d))) {
-HXDLIN( 392) return (x == HX_("1",31,00,00,00));
- }
- else {
-HXDLIN( 392) return true;
- }
-HXDLIN( 392) 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 > __this = new Stanza_obj();
- __this->__construct(name,attr);
- return __this;
-}
-
-::hx::ObjectPtr< Stanza_obj > Stanza_obj::__alloc(::hx::Ctx *_hx_ctx,::String name, ::Dynamic attr) {
- Stanza_obj *__this = (Stanza_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Stanza_obj), true, "snikket.Stanza"));
- *(void **)__this = Stanza_obj::_hx_vtable;
- __this->__construct(name,attr);
- return __this;
-}
-
-Stanza_obj::Stanza_obj()
-{
-}
-
-void Stanza_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(Stanza);
- HX_MARK_MEMBER_NAME(name,"name");
- HX_MARK_MEMBER_NAME(attr,"attr");
- HX_MARK_MEMBER_NAME(children,"children");
- HX_MARK_MEMBER_NAME(last_added,"last_added");
- HX_MARK_MEMBER_NAME(last_added_stack,"last_added_stack");
- HX_MARK_END_CLASS();
-}
-
-void Stanza_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(name,"name");
- HX_VISIT_MEMBER_NAME(attr,"attr");
- HX_VISIT_MEMBER_NAME(children,"children");
- HX_VISIT_MEMBER_NAME(last_added,"last_added");
- HX_VISIT_MEMBER_NAME(last_added_stack,"last_added_stack");
-}
-
-::hx::Val Stanza_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"up") ) { return ::hx::Val( up_dyn() ); }
- break;
- case 3:
- if (HX_FIELD_EQ(inName,"tag") ) { return ::hx::Val( tag_dyn() ); }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"name") ) { return ::hx::Val( name ); }
- if (HX_FIELD_EQ(inName,"attr") ) { return ::hx::Val( attr ); }
- if (HX_FIELD_EQ(inName,"text") ) { return ::hx::Val( text_dyn() ); }
- if (HX_FIELD_EQ(inName,"find") ) { return ::hx::Val( find_dyn() ); }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"reset") ) { return ::hx::Val( reset_dyn() ); }
- if (HX_FIELD_EQ(inName,"clone") ) { return ::hx::Val( clone_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"textTag") ) { return ::hx::Val( textTag_dyn() ); }
- if (HX_FIELD_EQ(inName,"allTags") ) { return ::hx::Val( allTags_dyn() ); }
- if (HX_FIELD_EQ(inName,"allText") ) { return ::hx::Val( allText_dyn() ); }
- if (HX_FIELD_EQ(inName,"getText") ) { return ::hx::Val( getText_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"children") ) { return ::hx::Val( children ); }
- if (HX_FIELD_EQ(inName,"toString") ) { return ::hx::Val( toString_dyn() ); }
- if (HX_FIELD_EQ(inName,"addChild") ) { return ::hx::Val( addChild_dyn() ); }
- if (HX_FIELD_EQ(inName,"getChild") ) { return ::hx::Val( getChild_dyn() ); }
- if (HX_FIELD_EQ(inName,"findText") ) { return ::hx::Val( findText_dyn() ); }
- if (HX_FIELD_EQ(inName,"traverse") ) { return ::hx::Val( traverse_dyn() ); }
- if (HX_FIELD_EQ(inName,"getError") ) { return ::hx::Val( getError_dyn() ); }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"serialize") ) { return ::hx::Val( serialize_dyn() ); }
- if (HX_FIELD_EQ(inName,"findChild") ) { return ::hx::Val( findChild_dyn() ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"last_added") ) { return ::hx::Val( last_added ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"addChildren") ) { return ::hx::Val( addChildren_dyn() ); }
- if (HX_FIELD_EQ(inName,"getChildren") ) { return ::hx::Val( getChildren_dyn() ); }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"getChildText") ) { return ::hx::Val( getChildText_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"addChildNodes") ) { return ::hx::Val( addChildNodes_dyn() ); }
- if (HX_FIELD_EQ(inName,"getFirstChild") ) { return ::hx::Val( getFirstChild_dyn() ); }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"addDirectChild") ) { return ::hx::Val( addDirectChild_dyn() ); }
- if (HX_FIELD_EQ(inName,"removeChildren") ) { return ::hx::Val( removeChildren_dyn() ); }
- break;
- case 16:
- if (HX_FIELD_EQ(inName,"last_added_stack") ) { return ::hx::Val( last_added_stack ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-bool Stanza_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- 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; }
- }
- return false;
-}
-
-::hx::Val Stanza_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- 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; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"children") ) { children=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"last_added") ) { last_added=inValue.Cast< ::snikket::Stanza >(); return inValue; }
- break;
- case 16:
- if (HX_FIELD_EQ(inName,"last_added_stack") ) { last_added_stack=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void Stanza_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("name",4b,72,ff,48));
- outFields->push(HX_("attr",31,1d,76,40));
- outFields->push(HX_("children",3f,19,6a,70));
- outFields->push(HX_("last_added",d7,8a,71,ae));
- outFields->push(HX_("last_added_stack",a0,74,ae,97));
- super::__GetFields(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 /* ::Array< ::Dynamic> */ ,(int)offsetof(Stanza_obj,children),HX_("children",3f,19,6a,70)},
- {::hx::fsObject /* ::snikket::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)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *Stanza_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String Stanza_obj_sMemberFields[] = {
- HX_("name",4b,72,ff,48),
- HX_("attr",31,1d,76,40),
- HX_("children",3f,19,6a,70),
- HX_("last_added",d7,8a,71,ae),
- HX_("last_added_stack",a0,74,ae,97),
- HX_("serialize",e0,5d,f2,f4),
- HX_("toString",ac,d0,6e,38),
- HX_("tag",5a,5a,58,00),
- HX_("text",ad,cc,f9,4c),
- HX_("textTag",ad,af,c7,9e),
- HX_("up",5b,66,00,00),
- HX_("reset",cf,49,c8,e6),
- HX_("addChildren",80,50,c6,a1),
- HX_("addChildNodes",76,72,83,a8),
- HX_("addChild",bb,cf,16,bf),
- HX_("addDirectChild",12,c1,c5,9a),
- HX_("clone",5d,13,63,48),
- HX_("allTags",9a,7e,43,57),
- HX_("allText",6e,96,46,57),
- HX_("getFirstChild",82,4f,0a,e0),
- HX_("getChildren",f5,db,5d,96),
- HX_("getChild",26,b9,90,a5),
- HX_("getChildText",f3,3c,ee,e7),
- HX_("getText",63,7c,7c,1f),
- HX_("find",39,d0,bb,43),
- HX_("findChild",a3,da,b0,34),
- HX_("findText",86,d9,8d,9f),
- HX_("traverse",b2,7d,6a,6c),
- HX_("getError",52,db,00,d3),
- HX_("removeChildren",a3,55,c0,3a),
- ::String(null()) };
-
-::hx::Class Stanza_obj::__mClass;
-
-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())
-};
-
-void Stanza_obj::__register()
-{
- Stanza_obj _hx_dummy;
- Stanza_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.Stanza",e6,91,ae,77);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &Stanza_obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(Stanza_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(Stanza_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< Stanza_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Stanza_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Stanza_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/TextNode.cpp b/Sources/c_snikket/src/snikket/TextNode.cpp
deleted file mode 100644
index 827554b..0000000
--- a/Sources/c_snikket/src/snikket/TextNode.cpp
+++ /dev/null
@@ -1,190 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket_TextNode
-#include <snikket/TextNode.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket__Util_Util_Fields_
-#include <snikket/_Util/Util_Fields_.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_569d48ca5cc29925_21_new,"snikket.TextNode","new",0x132f9072,"snikket.TextNode.new","snikket/Stanza.hx",21,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_569d48ca5cc29925_29_serialize,"snikket.TextNode","serialize",0x23a07772,"snikket.TextNode.serialize","snikket/Stanza.hx",29,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_569d48ca5cc29925_33_clone,"snikket.TextNode","clone",0x99bc7bef,"snikket.TextNode.clone","snikket/Stanza.hx",33,0x3976dc77)
-HX_LOCAL_STACK_FRAME(_hx_pos_569d48ca5cc29925_37_traverse,"snikket.TextNode","traverse",0xd7633c60,"snikket.TextNode.traverse","snikket/Stanza.hx",37,0x3976dc77)
-namespace snikket{
-
-void TextNode_obj::__construct(::String content){
- HX_STACKFRAME(&_hx_pos_569d48ca5cc29925_21_new)
-HXLINE( 22) this->content = HX_("",00,00,00,00);
-HXLINE( 25) this->content = content;
- }
-
-Dynamic TextNode_obj::__CreateEmpty() { return new TextNode_obj; }
-
-void *TextNode_obj::_hx_vtable = 0;
-
-Dynamic TextNode_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< TextNode_obj > _hx_result = new TextNode_obj();
- _hx_result->__construct(inArgs[0]);
- return _hx_result;
-}
-
-bool TextNode_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x3185702c;
-}
-
-static ::snikket::_Stanza::NodeInterface_obj _hx_snikket_TextNode__hx_snikket__Stanza_NodeInterface= {
- ( ::String (::hx::Object::*)())&::snikket::TextNode_obj::serialize,
- ( ::Dynamic (::hx::Object::*)( ::Dynamic))&::snikket::TextNode_obj::traverse_881a854a,
-};
-
-::Dynamic TextNode_obj::traverse_881a854a( ::Dynamic f) {
- return traverse(f);
-}
-void *TextNode_obj::_hx_getInterface(int inHash) {
- switch(inHash) {
- case (int)0xc837e580: return &_hx_snikket_TextNode__hx_snikket__Stanza_NodeInterface;
- }
- #ifdef HXCPP_SCRIPTABLE
- return super::_hx_getInterface(inHash);
- #else
- return 0;
- #endif
-}
-
-::String TextNode_obj::serialize(){
- HX_STACKFRAME(&_hx_pos_569d48ca5cc29925_29_serialize)
-HXDLIN( 29) return ::snikket::_Util::Util_Fields__obj::xmlEscape(this->content);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(TextNode_obj,serialize,return )
-
- ::snikket::TextNode TextNode_obj::clone(){
- HX_GC_STACKFRAME(&_hx_pos_569d48ca5cc29925_33_clone)
-HXDLIN( 33) return ::snikket::TextNode_obj::__alloc( HX_CTX ,this->content);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(TextNode_obj,clone,return )
-
- ::snikket::TextNode TextNode_obj::traverse( ::Dynamic f){
- HX_STACKFRAME(&_hx_pos_569d48ca5cc29925_37_traverse)
-HXDLIN( 37) return ::hx::ObjectPtr<OBJ_>(this);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(TextNode_obj,traverse,return )
-
-
-::hx::ObjectPtr< TextNode_obj > TextNode_obj::__new(::String content) {
- ::hx::ObjectPtr< TextNode_obj > __this = new TextNode_obj();
- __this->__construct(content);
- return __this;
-}
-
-::hx::ObjectPtr< TextNode_obj > TextNode_obj::__alloc(::hx::Ctx *_hx_ctx,::String content) {
- TextNode_obj *__this = (TextNode_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(TextNode_obj), true, "snikket.TextNode"));
- *(void **)__this = TextNode_obj::_hx_vtable;
- __this->__construct(content);
- return __this;
-}
-
-TextNode_obj::TextNode_obj()
-{
-}
-
-void TextNode_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(TextNode);
- HX_MARK_MEMBER_NAME(content,"content");
- HX_MARK_END_CLASS();
-}
-
-void TextNode_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(content,"content");
-}
-
-::hx::Val TextNode_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 5:
- if (HX_FIELD_EQ(inName,"clone") ) { return ::hx::Val( clone_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"content") ) { return ::hx::Val( content ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"traverse") ) { return ::hx::Val( traverse_dyn() ); }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"serialize") ) { return ::hx::Val( serialize_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-::hx::Val TextNode_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 7:
- if (HX_FIELD_EQ(inName,"content") ) { content=inValue.Cast< ::String >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void TextNode_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("content",39,8d,77,19));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo TextNode_obj_sMemberStorageInfo[] = {
- {::hx::fsString,(int)offsetof(TextNode_obj,content),HX_("content",39,8d,77,19)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *TextNode_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String TextNode_obj_sMemberFields[] = {
- HX_("content",39,8d,77,19),
- HX_("serialize",e0,5d,f2,f4),
- HX_("clone",5d,13,63,48),
- HX_("traverse",b2,7d,6a,6c),
- ::String(null()) };
-
-::hx::Class TextNode_obj::__mClass;
-
-void TextNode_obj::__register()
-{
- TextNode_obj _hx_dummy;
- TextNode_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.TextNode",80,2f,e6,00);
- __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(TextNode_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< TextNode_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = TextNode_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = TextNode_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/XEP0393.cpp b/Sources/c_snikket/src/snikket/XEP0393.cpp
deleted file mode 100644
index ba43ce9..0000000
--- a/Sources/c_snikket/src/snikket/XEP0393.cpp
+++ /dev/null
@@ -1,751 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_EReg
-#include <EReg.h>
-#endif
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
-#ifndef INCLUDED_Std
-#include <Std.h>
-#endif
-#ifndef INCLUDED_StringBuf
-#include <StringBuf.h>
-#endif
-#ifndef INCLUDED_StringTools
-#include <StringTools.h>
-#endif
-#ifndef INCLUDED__UnicodeString_UnicodeString_Impl_
-#include <_UnicodeString/UnicodeString_Impl_.h>
-#endif
-#ifndef INCLUDED_snikket_Autolink
-#include <snikket/Autolink.h>
-#endif
-#ifndef INCLUDED_snikket_Node
-#include <snikket/Node.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket_XEP0393
-#include <snikket/XEP0393.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-
-HX_LOCAL_STACK_FRAME(_hx_pos_100c160c0c16a433_7_parse,"snikket.XEP0393","parse",0x13882074,"snikket.XEP0393.parse","snikket/XEP0393.hx",7,0xcee3f370)
-HX_LOCAL_STACK_FRAME(_hx_pos_100c160c0c16a433_17_render,"snikket.XEP0393","render",0x1b3513f5,"snikket.XEP0393.render","snikket/XEP0393.hx",17,0xcee3f370)
-static const ::String _hx_array_data_533559ef_4[] = {
- HX_("\n```\n",b4,74,bf,01),
-};
-static const ::String _hx_array_data_533559ef_5[] = {
- HX_("*",2a,00,00,00),
-};
-static const ::String _hx_array_data_533559ef_6[] = {
- HX_("_",5f,00,00,00),
-};
-static const ::String _hx_array_data_533559ef_7[] = {
- HX_("~",7e,00,00,00),
-};
-static const ::String _hx_array_data_533559ef_8[] = {
- HX_("`",60,00,00,00),
-};
-static const ::String _hx_array_data_533559ef_9[] = {
- HX_("*",2a,00,00,00),
-};
-static const ::String _hx_array_data_533559ef_10[] = {
- HX_("_",5f,00,00,00),
-};
-static const ::String _hx_array_data_533559ef_11[] = {
- HX_("~",7e,00,00,00),
-};
-static const ::String _hx_array_data_533559ef_12[] = {
- HX_("`",60,00,00,00),
-};
-static const ::String _hx_array_data_533559ef_13[] = {
- HX_("\n",0a,00,00,00),
-};
-static const ::String _hx_array_data_533559ef_14[] = {
- HX_("```\n",aa,a7,bd,3f),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_100c160c0c16a433_84_renderNode,"snikket.XEP0393","renderNode",0x3bc9e897,"snikket.XEP0393.renderNode","snikket/XEP0393.hx",84,0xcee3f370)
-HX_LOCAL_STACK_FRAME(_hx_pos_100c160c0c16a433_90_parseSpans,"snikket.XEP0393","parseSpans",0x00fdc155,"snikket.XEP0393.parseSpans","snikket/XEP0393.hx",90,0xcee3f370)
-HX_LOCAL_STACK_FRAME(_hx_pos_100c160c0c16a433_138_parseSpan,"snikket.XEP0393","parseSpan",0x4bc5715e,"snikket.XEP0393.parseSpan","snikket/XEP0393.hx",138,0xcee3f370)
-HX_LOCAL_STACK_FRAME(_hx_pos_100c160c0c16a433_158_parseBlock,"snikket.XEP0393","parseBlock",0x3493a039,"snikket.XEP0393.parseBlock","snikket/XEP0393.hx",158,0xcee3f370)
-HX_LOCAL_STACK_FRAME(_hx_pos_100c160c0c16a433_171_parseQuote,"snikket.XEP0393","parseQuote",0xdd894e28,"snikket.XEP0393.parseQuote","snikket/XEP0393.hx",171,0xcee3f370)
-HX_LOCAL_STACK_FRAME(_hx_pos_100c160c0c16a433_198_parsePreformatted,"snikket.XEP0393","parsePreformatted",0xd018390d,"snikket.XEP0393.parsePreformatted","snikket/XEP0393.hx",198,0xcee3f370)
-namespace snikket{
-
-void XEP0393_obj::__construct() { }
-
-Dynamic XEP0393_obj::__CreateEmpty() { return new XEP0393_obj; }
-
-void *XEP0393_obj::_hx_vtable = 0;
-
-Dynamic XEP0393_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< XEP0393_obj > _hx_result = new XEP0393_obj();
- _hx_result->__construct();
- return _hx_result;
-}
-
-bool XEP0393_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x794b61b7;
-}
-
- ::Dynamic XEP0393_obj::parse(::String styled){
- HX_STACKFRAME(&_hx_pos_100c160c0c16a433_7_parse)
-HXLINE( 8) ::Array< ::Dynamic> blocks = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 9) while((::_UnicodeString::UnicodeString_Impl__obj::get_length(styled) > 0)){
-HXLINE( 10) ::Dynamic result = ::snikket::XEP0393_obj::parseBlock(styled);
-HXLINE( 11) styled = ( (::String)(result->__Field(HX_("rest",14,5b,a7,4b),::hx::paccDynamic)) );
-HXLINE( 12) blocks->push( ::Dynamic(result->__Field(HX_("block",4d,75,fc,b4),::hx::paccDynamic)));
- }
-HXLINE( 14) return blocks;
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0393_obj,parse,return )
-
-::String XEP0393_obj::render( ::snikket::Stanza xhtml){
- HX_GC_STACKFRAME(&_hx_pos_100c160c0c16a433_17_render)
-HXLINE( 18) if ((xhtml->name == HX_("br",d0,55,00,00))) {
-HXLINE( 19) return HX_("\n",0a,00,00,00);
- }
-HXLINE( 22) if ((xhtml->name == HX_("img",03,0c,50,00))) {
-HXLINE( 23) ::String tmp = ( (::String)(::Reflect_obj::field(xhtml->attr,HX_("alt",29,f9,49,00))) );
-HXDLIN( 23) if (::hx::IsNotNull( tmp )) {
-HXLINE( 23) return tmp;
- }
- else {
-HXLINE( 23) return HX_("",00,00,00,00);
- }
- }
-HXLINE( 26) ::StringBuf s = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE( 28) if ((xhtml->name == HX_("pre",23,60,55,00))) {
-HXLINE( 29) if (::hx::IsNotNull( s->charBuf )) {
-HXLINE( 29) s->flush();
- }
-HXDLIN( 29) if (::hx::IsNull( s->b )) {
-HXLINE( 29) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_533559ef_4,1);
- }
- else {
-HXLINE( 29) s->b->push(HX_("\n```\n",b4,74,bf,01));
- }
- }
-HXLINE( 32) bool _hx_tmp;
-HXDLIN( 32) if ((xhtml->name != HX_("b",62,00,00,00))) {
-HXLINE( 32) _hx_tmp = (xhtml->name == HX_("strong",57,b6,34,11));
- }
- else {
-HXLINE( 32) _hx_tmp = true;
- }
-HXDLIN( 32) if (_hx_tmp) {
-HXLINE( 33) if (::hx::IsNotNull( s->charBuf )) {
-HXLINE( 33) s->flush();
- }
-HXDLIN( 33) if (::hx::IsNull( s->b )) {
-HXLINE( 33) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_533559ef_5,1);
- }
- else {
-HXLINE( 33) s->b->push(HX_("*",2a,00,00,00));
- }
- }
-HXLINE( 36) bool _hx_tmp1;
-HXDLIN( 36) if ((xhtml->name != HX_("i",69,00,00,00))) {
-HXLINE( 36) _hx_tmp1 = (xhtml->name == HX_("em",68,58,00,00));
- }
- else {
-HXLINE( 36) _hx_tmp1 = true;
- }
-HXDLIN( 36) if (_hx_tmp1) {
-HXLINE( 37) if (::hx::IsNotNull( s->charBuf )) {
-HXLINE( 37) s->flush();
- }
-HXDLIN( 37) if (::hx::IsNull( s->b )) {
-HXLINE( 37) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_533559ef_6,1);
- }
- else {
-HXLINE( 37) s->b->push(HX_("_",5f,00,00,00));
- }
- }
-HXLINE( 40) bool _hx_tmp2;
-HXDLIN( 40) if ((xhtml->name != HX_("s",73,00,00,00))) {
-HXLINE( 40) _hx_tmp2 = (xhtml->name == HX_("del",cb,39,4c,00));
- }
- else {
-HXLINE( 40) _hx_tmp2 = true;
- }
-HXDLIN( 40) if (_hx_tmp2) {
-HXLINE( 41) if (::hx::IsNotNull( s->charBuf )) {
-HXLINE( 41) s->flush();
- }
-HXDLIN( 41) if (::hx::IsNull( s->b )) {
-HXLINE( 41) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_533559ef_7,1);
- }
- else {
-HXLINE( 41) s->b->push(HX_("~",7e,00,00,00));
- }
- }
-HXLINE( 44) if ((xhtml->name == HX_("tt",80,65,00,00))) {
-HXLINE( 45) if (::hx::IsNotNull( s->charBuf )) {
-HXLINE( 45) s->flush();
- }
-HXDLIN( 45) if (::hx::IsNull( s->b )) {
-HXLINE( 45) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_533559ef_8,1);
- }
- else {
-HXLINE( 45) s->b->push(HX_("`",60,00,00,00));
- }
- }
-HXLINE( 48) {
-HXLINE( 48) int _g = 0;
-HXDLIN( 48) ::Array< ::Dynamic> _g1 = xhtml->children;
-HXDLIN( 48) while((_g < _g1->length)){
-HXLINE( 48) ::snikket::Node child = _g1->__get(_g).StaticCast< ::snikket::Node >();
-HXDLIN( 48) _g = (_g + 1);
-HXLINE( 49) {
-HXLINE( 49) ::String x = ::snikket::XEP0393_obj::renderNode(child);
-HXDLIN( 49) if (::hx::IsNotNull( s->charBuf )) {
-HXLINE( 49) s->flush();
- }
-HXDLIN( 49) if (::hx::IsNull( s->b )) {
-HXLINE( 49) s->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x));
- }
- else {
-HXLINE( 49) ::Array< ::String > s1 = s->b;
-HXDLIN( 49) s1->push(::Std_obj::string(x));
- }
- }
- }
- }
-HXLINE( 52) bool _hx_tmp3;
-HXDLIN( 52) if ((xhtml->name != HX_("b",62,00,00,00))) {
-HXLINE( 52) _hx_tmp3 = (xhtml->name == HX_("strong",57,b6,34,11));
- }
- else {
-HXLINE( 52) _hx_tmp3 = true;
- }
-HXDLIN( 52) if (_hx_tmp3) {
-HXLINE( 53) if (::hx::IsNotNull( s->charBuf )) {
-HXLINE( 53) s->flush();
- }
-HXDLIN( 53) if (::hx::IsNull( s->b )) {
-HXLINE( 53) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_533559ef_9,1);
- }
- else {
-HXLINE( 53) s->b->push(HX_("*",2a,00,00,00));
- }
- }
-HXLINE( 56) bool _hx_tmp4;
-HXDLIN( 56) if ((xhtml->name != HX_("i",69,00,00,00))) {
-HXLINE( 56) _hx_tmp4 = (xhtml->name == HX_("em",68,58,00,00));
- }
- else {
-HXLINE( 56) _hx_tmp4 = true;
- }
-HXDLIN( 56) if (_hx_tmp4) {
-HXLINE( 57) if (::hx::IsNotNull( s->charBuf )) {
-HXLINE( 57) s->flush();
- }
-HXDLIN( 57) if (::hx::IsNull( s->b )) {
-HXLINE( 57) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_533559ef_10,1);
- }
- else {
-HXLINE( 57) s->b->push(HX_("_",5f,00,00,00));
- }
- }
-HXLINE( 60) bool _hx_tmp5;
-HXDLIN( 60) if ((xhtml->name != HX_("s",73,00,00,00))) {
-HXLINE( 60) _hx_tmp5 = (xhtml->name == HX_("del",cb,39,4c,00));
- }
- else {
-HXLINE( 60) _hx_tmp5 = true;
- }
-HXDLIN( 60) if (_hx_tmp5) {
-HXLINE( 61) if (::hx::IsNotNull( s->charBuf )) {
-HXLINE( 61) s->flush();
- }
-HXDLIN( 61) if (::hx::IsNull( s->b )) {
-HXLINE( 61) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_533559ef_11,1);
- }
- else {
-HXLINE( 61) s->b->push(HX_("~",7e,00,00,00));
- }
- }
-HXLINE( 64) if ((xhtml->name == HX_("tt",80,65,00,00))) {
-HXLINE( 65) if (::hx::IsNotNull( s->charBuf )) {
-HXLINE( 65) s->flush();
- }
-HXDLIN( 65) if (::hx::IsNull( s->b )) {
-HXLINE( 65) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_533559ef_12,1);
- }
- else {
-HXLINE( 65) s->b->push(HX_("`",60,00,00,00));
- }
- }
-HXLINE( 68) bool _hx_tmp6;
-HXDLIN( 68) bool _hx_tmp7;
-HXDLIN( 68) bool _hx_tmp8;
-HXDLIN( 68) if ((xhtml->name != HX_("blockquote",cf,56,28,a2))) {
-HXLINE( 68) _hx_tmp8 = (xhtml->name == HX_("p",70,00,00,00));
- }
- else {
-HXLINE( 68) _hx_tmp8 = true;
- }
-HXDLIN( 68) if (!(_hx_tmp8)) {
-HXLINE( 68) _hx_tmp7 = (xhtml->name == HX_("div",51,3d,4c,00));
- }
- else {
-HXLINE( 68) _hx_tmp7 = true;
- }
-HXDLIN( 68) if (!(_hx_tmp7)) {
-HXLINE( 68) _hx_tmp6 = (xhtml->name == HX_("pre",23,60,55,00));
- }
- else {
-HXLINE( 68) _hx_tmp6 = true;
- }
-HXDLIN( 68) if (_hx_tmp6) {
-HXLINE( 69) if (::hx::IsNotNull( s->charBuf )) {
-HXLINE( 69) s->flush();
- }
-HXDLIN( 69) if (::hx::IsNull( s->b )) {
-HXLINE( 69) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_533559ef_13,1);
- }
- else {
-HXLINE( 69) s->b->push(HX_("\n",0a,00,00,00));
- }
- }
-HXLINE( 72) if ((xhtml->name == HX_("pre",23,60,55,00))) {
-HXLINE( 73) if (::hx::IsNotNull( s->charBuf )) {
-HXLINE( 73) s->flush();
- }
-HXDLIN( 73) if (::hx::IsNull( s->b )) {
-HXLINE( 73) s->b = ::Array_obj< ::String >::fromData( _hx_array_data_533559ef_14,1);
- }
- else {
-HXLINE( 73) s->b->push(HX_("```\n",aa,a7,bd,3f));
- }
- }
-HXLINE( 76) if ((xhtml->name == HX_("blockquote",cf,56,28,a2))) {
-HXLINE( 77) ::EReg _hx_tmp9 = ::EReg_obj::__alloc( HX_CTX ,HX_("^",5e,00,00,00),HX_("gm",26,5a,00,00));
-HXDLIN( 77) return _hx_tmp9->replace(s->toString(),HX_("> ",22,36,00,00));
- }
-HXLINE( 80) return s->toString();
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0393_obj,render,return )
-
-::String XEP0393_obj::renderNode( ::snikket::Node xhtml){
- HX_STACKFRAME(&_hx_pos_100c160c0c16a433_84_renderNode)
-HXDLIN( 84) switch((int)(xhtml->_hx_getIndex())){
- case (int)0: {
-HXLINE( 85) ::snikket::Stanza c = xhtml->_hx_getObject(0).StaticCast< ::snikket::Stanza >();
-HXDLIN( 85) return ::snikket::XEP0393_obj::render(c);
- }
- break;
- case (int)1: {
-HXLINE( 86) ::String c1 = xhtml->_hx_getString(0);
-HXDLIN( 86) return c1;
- }
- break;
- }
-HXLINE( 84) return null();
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0393_obj,renderNode,return )
-
- ::Dynamic XEP0393_obj::parseSpans(::String styled){
- HX_STACKFRAME(&_hx_pos_100c160c0c16a433_90_parseSpans)
-HXLINE( 91) ::Array< ::Dynamic> spans = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 92) int start = 0;
-HXLINE( 93) ::Dynamic nextLink = null();
-HXLINE( 94) int styledLength = ::_UnicodeString::UnicodeString_Impl__obj::get_length(styled);
-HXLINE( 95) while((start < styledLength)){
-HXLINE( 96) ::String _hx_char = ::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,start);
-HXLINE( 97) if (::StringTools_obj::isSpace(styled,(start + 1))) {
-HXLINE( 99) spans->push(::snikket::Node_obj::CData(::_UnicodeString::UnicodeString_Impl__obj::substr(styled,start,2)));
-HXLINE( 100) start = (start + 2);
- }
- else {
-HXLINE( 101) bool _hx_tmp;
-HXDLIN( 101) if ((start != 0)) {
-HXLINE( 101) _hx_tmp = !(::StringTools_obj::isSpace(styled,(start - 1)));
- }
- else {
-HXLINE( 101) _hx_tmp = false;
- }
-HXDLIN( 101) if (_hx_tmp) {
-HXLINE( 103) spans->push(::snikket::Node_obj::CData(_hx_char));
-HXLINE( 104) start = (start + 1);
- }
- else {
-HXLINE( 105) if ((_hx_char == HX_("*",2a,00,00,00))) {
-HXLINE( 106) ::Dynamic parsed = ::snikket::XEP0393_obj::parseSpan(HX_("strong",57,b6,34,11),HX_("*",2a,00,00,00),styled,start);
-HXLINE( 107) spans->push( ::Dynamic(parsed->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic)));
-HXLINE( 108) start = ( (int)(parsed->__Field(HX_("end",db,03,4d,00),::hx::paccDynamic)) );
- }
- else {
-HXLINE( 109) if ((_hx_char == HX_("_",5f,00,00,00))) {
-HXLINE( 110) ::Dynamic parsed1 = ::snikket::XEP0393_obj::parseSpan(HX_("em",68,58,00,00),HX_("_",5f,00,00,00),styled,start);
-HXLINE( 111) spans->push( ::Dynamic(parsed1->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic)));
-HXLINE( 112) start = ( (int)(parsed1->__Field(HX_("end",db,03,4d,00),::hx::paccDynamic)) );
- }
- else {
-HXLINE( 113) if ((_hx_char == HX_("~",7e,00,00,00))) {
-HXLINE( 114) ::Dynamic parsed2 = ::snikket::XEP0393_obj::parseSpan(HX_("s",73,00,00,00),HX_("~",7e,00,00,00),styled,start);
-HXLINE( 115) spans->push( ::Dynamic(parsed2->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic)));
-HXLINE( 116) start = ( (int)(parsed2->__Field(HX_("end",db,03,4d,00),::hx::paccDynamic)) );
- }
- else {
-HXLINE( 117) if ((_hx_char == HX_("`",60,00,00,00))) {
-HXLINE( 119) ::Dynamic parsed3 = ::snikket::XEP0393_obj::parseSpan(HX_("tt",80,65,00,00),HX_("`",60,00,00,00),styled,start);
-HXLINE( 120) spans->push( ::Dynamic(parsed3->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic)));
-HXLINE( 121) start = ( (int)(parsed3->__Field(HX_("end",db,03,4d,00),::hx::paccDynamic)) );
- }
- else {
-HXLINE( 123) bool _hx_tmp1;
-HXDLIN( 123) if (::hx::IsNotNull( nextLink )) {
-HXLINE( 123) _hx_tmp1 = ::hx::IsGreater( start,nextLink->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic) );
- }
- else {
-HXLINE( 123) _hx_tmp1 = true;
- }
-HXDLIN( 123) if (_hx_tmp1) {
-HXLINE( 124) nextLink = ::snikket::Autolink_obj::one(styled,start);
- }
-HXLINE( 126) bool _hx_tmp2;
-HXDLIN( 126) bool _hx_tmp3;
-HXDLIN( 126) if (::hx::IsNotNull( nextLink )) {
-HXLINE( 126) _hx_tmp3 = ::hx::IsEq( nextLink->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic),start );
- }
- else {
-HXLINE( 126) _hx_tmp3 = false;
- }
-HXDLIN( 126) if (_hx_tmp3) {
-HXLINE( 126) _hx_tmp2 = ::hx::IsNotNull( nextLink->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic) );
- }
- else {
-HXLINE( 126) _hx_tmp2 = false;
- }
-HXDLIN( 126) if (_hx_tmp2) {
-HXLINE( 127) spans->push( ::Dynamic(nextLink->__Field(HX_("span",ca,da,58,4c),::hx::paccDynamic)));
-HXLINE( 128) start = ( (int)(nextLink->__Field(HX_("end",db,03,4d,00),::hx::paccDynamic)) );
- }
- else {
-HXLINE( 130) spans->push(::snikket::Node_obj::CData(_hx_char));
-HXLINE( 131) start = (start + 1);
- }
- }
- }
- }
- }
- }
- }
- }
-HXLINE( 135) return spans;
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0393_obj,parseSpans,return )
-
- ::Dynamic XEP0393_obj::parseSpan(::String tagName,::String marker,::String styled,int start){
- HX_GC_STACKFRAME(&_hx_pos_100c160c0c16a433_138_parseSpan)
-HXLINE( 139) int end = (start + 1);
-HXLINE( 140) while(true){
-HXLINE( 140) bool _hx_tmp;
-HXDLIN( 140) if ((end < styled.length)) {
-HXLINE( 140) _hx_tmp = (styled.charAt(end) != marker);
- }
- else {
-HXLINE( 140) _hx_tmp = false;
- }
-HXDLIN( 140) if (!(_hx_tmp)) {
-HXLINE( 140) goto _hx_goto_18;
- }
-HXLINE( 141) if (::StringTools_obj::isSpace(styled,end)) {
-HXLINE( 141) end = (end + 1);
- }
-HXLINE( 142) end = (end + 1);
- }
- _hx_goto_18:;
-HXLINE( 144) if ((end == (start + 1))) {
-HXLINE( 146) 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),::snikket::Node_obj::CData(styled.substr(start,2))));
- }
- else {
-HXLINE( 147) if ((styled.charAt(end) != marker)) {
-HXLINE( 149) return ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("end",db,03,4d,00),end)
- ->setFixed(1,HX_("span",ca,da,58,4c),::snikket::Node_obj::CData(styled.substr(start,(end - start)))));
- }
- else {
-HXLINE( 150) if ((marker == HX_("`",60,00,00,00))) {
-HXLINE( 151) ::snikket::Stanza _hx_tmp1 = ::snikket::Stanza_obj::__alloc( HX_CTX ,tagName,null());
-HXDLIN( 151) 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),::snikket::Node_obj::Element(_hx_tmp1->text(styled.substr((start + 1),((end - start) - 1))))));
- }
- else {
-HXLINE( 153) ::snikket::Stanza _hx_tmp2 = ::snikket::Stanza_obj::__alloc( HX_CTX ,tagName,null());
-HXDLIN( 153) 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),::snikket::Node_obj::Element(_hx_tmp2->addChildNodes(::snikket::XEP0393_obj::parseSpans(styled.substr((start + 1),((end - start) - 1)))))));
- }
- }
- }
-HXLINE( 144) return null();
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC4(XEP0393_obj,parseSpan,return )
-
- ::Dynamic XEP0393_obj::parseBlock(::String styled){
- HX_GC_STACKFRAME(&_hx_pos_100c160c0c16a433_158_parseBlock)
-HXDLIN( 158) if ((::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,0) == HX_(">",3e,00,00,00))) {
-HXLINE( 159) return ::snikket::XEP0393_obj::parseQuote(styled);
- }
- else {
-HXLINE( 160) if ((::_UnicodeString::UnicodeString_Impl__obj::substr(styled,0,3) == HX_("```",60,2c,49,00))) {
-HXLINE( 161) return ::snikket::XEP0393_obj::parsePreformatted(styled);
- }
- else {
-HXLINE( 163) int end = 0;
-HXLINE( 164) int styledLength = ::_UnicodeString::UnicodeString_Impl__obj::get_length(styled);
-HXLINE( 165) while(true){
-HXLINE( 165) bool _hx_tmp;
-HXDLIN( 165) if ((end < styledLength)) {
-HXLINE( 165) _hx_tmp = (::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) != HX_("\n",0a,00,00,00));
- }
- else {
-HXLINE( 165) _hx_tmp = false;
- }
-HXDLIN( 165) if (!(_hx_tmp)) {
-HXLINE( 165) goto _hx_goto_20;
- }
-HXDLIN( 165) end = (end + 1);
- }
- _hx_goto_20:;
-HXLINE( 166) bool _hx_tmp1;
-HXDLIN( 166) if ((end < styledLength)) {
-HXLINE( 166) _hx_tmp1 = (::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) == HX_("\n",0a,00,00,00));
- }
- else {
-HXLINE( 166) _hx_tmp1 = false;
- }
-HXDLIN( 166) if (_hx_tmp1) {
-HXLINE( 166) end = (end + 1);
- }
-HXLINE( 167) ::snikket::Stanza _hx_tmp2 = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("div",51,3d,4c,00),null());
-HXDLIN( 167) ::snikket::Stanza _hx_tmp3 = _hx_tmp2->addChildNodes(::snikket::XEP0393_obj::parseSpans(::_UnicodeString::UnicodeString_Impl__obj::substr(styled,0,end)));
-HXDLIN( 167) 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())));
- }
- }
-HXLINE( 158) return null();
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0393_obj,parseBlock,return )
-
- ::Dynamic XEP0393_obj::parseQuote(::String styled){
- HX_GC_STACKFRAME(&_hx_pos_100c160c0c16a433_171_parseQuote)
-HXLINE( 172) ::Array< ::String > lines = ::Array_obj< ::String >::__new(0);
-HXLINE( 173) ::String line = HX_("",00,00,00,00);
-HXLINE( 174) int end = 1;
-HXLINE( 175) int spaceAfter = 0;
-HXLINE( 176) while((end < ::_UnicodeString::UnicodeString_Impl__obj::get_length(styled))){
-HXLINE( 177) bool _hx_tmp;
-HXDLIN( 177) if ((::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) != HX_("\n",0a,00,00,00))) {
-HXLINE( 177) _hx_tmp = ::StringTools_obj::isSpace(styled,end);
- }
- else {
-HXLINE( 177) _hx_tmp = false;
- }
-HXDLIN( 177) if (_hx_tmp) {
-HXLINE( 177) end = (end + 1);
- }
-HXLINE( 178) while(true){
-HXLINE( 178) bool _hx_tmp1;
-HXDLIN( 178) if ((end < ::_UnicodeString::UnicodeString_Impl__obj::get_length(styled))) {
-HXLINE( 178) _hx_tmp1 = (::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) != HX_("\n",0a,00,00,00));
- }
- else {
-HXLINE( 178) _hx_tmp1 = false;
- }
-HXDLIN( 178) if (!(_hx_tmp1)) {
-HXLINE( 178) goto _hx_goto_23;
- }
-HXLINE( 179) line = (line + ::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end));
-HXLINE( 180) end = (end + 1);
- }
- _hx_goto_23:;
-HXLINE( 182) bool _hx_tmp2;
-HXDLIN( 182) if ((end < ::_UnicodeString::UnicodeString_Impl__obj::get_length(styled))) {
-HXLINE( 182) _hx_tmp2 = (::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) == HX_("\n",0a,00,00,00));
- }
- else {
-HXLINE( 182) _hx_tmp2 = false;
- }
-HXDLIN( 182) if (_hx_tmp2) {
-HXLINE( 183) end = (end + 1);
- }
-HXLINE( 185) lines->push((line + HX_("\n",0a,00,00,00)));
-HXLINE( 186) line = HX_("",00,00,00,00);
-HXLINE( 187) if ((::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) == HX_(">",3e,00,00,00))) {
-HXLINE( 188) end = (end + 1);
- }
- else {
-HXLINE( 190) goto _hx_goto_22;
- }
- }
- _hx_goto_22:;
-HXLINE( 194) ::snikket::Stanza _hx_tmp3 = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("blockquote",cf,56,28,a2),null());
-HXDLIN( 194) ::snikket::Stanza _hx_tmp4 = _hx_tmp3->addChildren(::snikket::XEP0393_obj::parse(lines->join(HX_("",00,00,00,00))));
-HXDLIN( 194) return ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("block",4d,75,fc,b4),_hx_tmp4)
- ->setFixed(1,HX_("rest",14,5b,a7,4b),::_UnicodeString::UnicodeString_Impl__obj::substr(styled,end,null())));
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0393_obj,parseQuote,return )
-
- ::Dynamic XEP0393_obj::parsePreformatted(::String styled){
- HX_GC_STACKFRAME(&_hx_pos_100c160c0c16a433_198_parsePreformatted)
-HXLINE( 199) ::Array< ::String > lines = ::Array_obj< ::String >::__new(0);
-HXLINE( 200) ::String line = null();
-HXLINE( 201) int end = 0;
-HXLINE( 202) int styledLength = ::_UnicodeString::UnicodeString_Impl__obj::get_length(styled);
-HXLINE( 203) while((end < styledLength)){
-HXLINE( 204) while(true){
-HXLINE( 204) bool _hx_tmp;
-HXDLIN( 204) if ((end < styledLength)) {
-HXLINE( 204) _hx_tmp = (::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) != HX_("\n",0a,00,00,00));
- }
- else {
-HXLINE( 204) _hx_tmp = false;
- }
-HXDLIN( 204) if (!(_hx_tmp)) {
-HXLINE( 204) goto _hx_goto_26;
- }
-HXLINE( 205) if (::hx::IsNotNull( line )) {
-HXLINE( 205) line = (line + ::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end));
- }
-HXLINE( 206) end = (end + 1);
- }
- _hx_goto_26:;
-HXLINE( 208) bool _hx_tmp1;
-HXDLIN( 208) if ((end < styledLength)) {
-HXLINE( 208) _hx_tmp1 = (::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) == HX_("\n",0a,00,00,00));
- }
- else {
-HXLINE( 208) _hx_tmp1 = false;
- }
-HXDLIN( 208) if (_hx_tmp1) {
-HXLINE( 209) end = (end + 1);
- }
-HXLINE( 211) if (::hx::IsNotNull( line )) {
-HXLINE( 211) lines->push((line + HX_("\n",0a,00,00,00)));
- }
-HXLINE( 212) line = HX_("",00,00,00,00);
-HXLINE( 213) bool _hx_tmp2;
-HXDLIN( 213) if ((::_UnicodeString::UnicodeString_Impl__obj::substr(styled,end,4) != HX_("```\n",aa,a7,bd,3f))) {
-HXLINE( 213) _hx_tmp2 = (::_UnicodeString::UnicodeString_Impl__obj::substr(styled,end,null()) == HX_("```",60,2c,49,00));
- }
- else {
-HXLINE( 213) _hx_tmp2 = true;
- }
-HXDLIN( 213) if (_hx_tmp2) {
-HXLINE( 214) end = (end + 4);
-HXLINE( 215) goto _hx_goto_25;
- }
- }
- _hx_goto_25:;
-HXLINE( 219) ::snikket::Stanza _hx_tmp3 = ::snikket::Stanza_obj::__alloc( HX_CTX ,HX_("pre",23,60,55,00),null());
-HXDLIN( 219) ::snikket::Stanza _hx_tmp4 = _hx_tmp3->text(lines->join(HX_("",00,00,00,00)));
-HXDLIN( 219) return ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("block",4d,75,fc,b4),_hx_tmp4)
- ->setFixed(1,HX_("rest",14,5b,a7,4b),::_UnicodeString::UnicodeString_Impl__obj::substr(styled,end,null())));
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0393_obj,parsePreformatted,return )
-
-
-XEP0393_obj::XEP0393_obj()
-{
-}
-
-bool XEP0393_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 5:
- if (HX_FIELD_EQ(inName,"parse") ) { outValue = parse_dyn(); return true; }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"render") ) { outValue = render_dyn(); return true; }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"parseSpan") ) { outValue = parseSpan_dyn(); return true; }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"renderNode") ) { outValue = renderNode_dyn(); return true; }
- if (HX_FIELD_EQ(inName,"parseSpans") ) { outValue = parseSpans_dyn(); return true; }
- if (HX_FIELD_EQ(inName,"parseBlock") ) { outValue = parseBlock_dyn(); return true; }
- if (HX_FIELD_EQ(inName,"parseQuote") ) { outValue = parseQuote_dyn(); return true; }
- break;
- case 17:
- if (HX_FIELD_EQ(inName,"parsePreformatted") ) { outValue = parsePreformatted_dyn(); return true; }
- }
- return false;
-}
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo *XEP0393_obj_sMemberStorageInfo = 0;
-static ::hx::StaticInfo *XEP0393_obj_sStaticStorageInfo = 0;
-#endif
-
-::hx::Class XEP0393_obj::__mClass;
-
-static ::String XEP0393_obj_sStaticFields[] = {
- HX_("parse",33,90,55,bd),
- HX_("render",56,6b,29,05),
- HX_("renderNode",78,04,14,e6),
- HX_("parseSpans",36,dd,47,ab),
- HX_("parseSpan",9d,2c,ff,d3),
- HX_("parseBlock",1a,bc,dd,de),
- HX_("parseQuote",09,6a,d3,87),
- HX_("parsePreformatted",4c,cb,6d,fa),
- ::String(null())
-};
-
-void XEP0393_obj::__register()
-{
- XEP0393_obj _hx_dummy;
- XEP0393_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.XEP0393",ef,59,35,53);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &XEP0393_obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(XEP0393_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
- __mClass->mCanCast = ::hx::TCanCast< XEP0393_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = XEP0393_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = XEP0393_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
diff --git a/Sources/c_snikket/src/snikket/_Push/Push_Fields_.cpp b/Sources/c_snikket/src/snikket/_Push/Push_Fields_.cpp
deleted file mode 100644
index bbf73c4..0000000
--- a/Sources/c_snikket/src/snikket/_Push/Push_Fields_.cpp
+++ /dev/null
@@ -1,145 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#include <snikket/ChatMessageBuilder.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Notification
-#include <snikket/Notification.h>
-#endif
-#ifndef INCLUDED_snikket_Persistence
-#include <snikket/Persistence.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Push_Push_Fields_
-#include <snikket/_Push/Push_Fields_.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-
-HX_LOCAL_STACK_FRAME(_hx_pos_652706ec70509782_20_receive,"snikket._Push.Push_Fields_","receive",0xad903c9c,"snikket._Push.Push_Fields_.receive","snikket/Push.hx",20,0xbce40632)
-namespace snikket{
-namespace _Push{
-
-void Push_Fields__obj::__construct() { }
-
-Dynamic Push_Fields__obj::__CreateEmpty() { return new Push_Fields__obj; }
-
-void *Push_Fields__obj::_hx_vtable = 0;
-
-Dynamic Push_Fields__obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Push_Fields__obj > _hx_result = new Push_Fields__obj();
- _hx_result->__construct();
- return _hx_result;
-}
-
-bool Push_Fields__obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x1c9e72a5;
-}
-
- ::snikket::Notification Push_Fields__obj::receive(::String data,::Dynamic persistence){
- HX_STACKFRAME(&_hx_pos_652706ec70509782_20_receive)
-HXLINE( 21) ::snikket::Stanza stanza = ::snikket::Stanza_obj::parse(data);
-HXLINE( 22) if (::hx::IsNull( stanza )) {
-HXLINE( 22) return null();
- }
-HXLINE( 23) bool _hx_tmp;
-HXDLIN( 23) if ((stanza->name == HX_("envelope",10,df,6c,0c))) {
-HXLINE( 23) _hx_tmp = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:sce:1",30,c6,40,50));
- }
- else {
-HXLINE( 23) _hx_tmp = false;
- }
-HXDLIN( 23) if (_hx_tmp) {
-HXLINE( 24) stanza = stanza->getChild(HX_("content",39,8d,77,19),null())->getFirstChild();
- }
-HXLINE( 26) bool _hx_tmp1;
-HXDLIN( 26) if ((stanza->name == HX_("forwarded",64,f5,9a,17))) {
-HXLINE( 26) _hx_tmp1 = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:forward:0",1f,ec,b0,d1));
- }
- else {
-HXLINE( 26) _hx_tmp1 = false;
- }
-HXDLIN( 26) if (_hx_tmp1) {
-HXLINE( 27) stanza = stanza->getChild(HX_("message",c7,35,11,9a),HX_("jabber:client",21,64,c5,e4));
- }
-HXLINE( 29) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) ) )) {
-HXLINE( 29) return null();
- }
-HXLINE( 31) ::snikket::ChatMessage message = ::snikket::ChatMessage_obj::fromStanza(stanza,::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) ))->asBare(),null());
-HXLINE( 32) if (::hx::IsNotNull( message )) {
-HXLINE( 33) return ::snikket::Notification_obj::fromChatMessage(message);
- }
- else {
-HXLINE( 35) return ::snikket::Notification_obj::fromThinStanza(stanza);
- }
-HXLINE( 32) return null();
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC2(Push_Fields__obj,receive,return )
-
-
-Push_Fields__obj::Push_Fields__obj()
-{
-}
-
-bool Push_Fields__obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 7:
- if (HX_FIELD_EQ(inName,"receive") ) { outValue = receive_dyn(); return true; }
- }
- return false;
-}
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo *Push_Fields__obj_sMemberStorageInfo = 0;
-static ::hx::StaticInfo *Push_Fields__obj_sStaticStorageInfo = 0;
-#endif
-
-::hx::Class Push_Fields__obj::__mClass;
-
-static ::String Push_Fields__obj_sStaticFields[] = {
- HX_("receive",e3,61,58,2a),
- ::String(null())
-};
-
-void Push_Fields__obj::__register()
-{
- Push_Fields__obj _hx_dummy;
- Push_Fields__obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket._Push.Push_Fields_",27,5a,76,d4);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &Push_Fields__obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(Push_Fields__obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
- __mClass->mCanCast = ::hx::TCanCast< Push_Fields__obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Push_Fields__obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Push_Fields__obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
-} // end namespace _Push
diff --git a/Sources/c_snikket/src/snikket/_Util/Util_Fields_.cpp b/Sources/c_snikket/src/snikket/_Util/Util_Fields_.cpp
deleted file mode 100644
index 92c10af..0000000
--- a/Sources/c_snikket/src/snikket/_Util/Util_Fields_.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_Std
-#include <Std.h>
-#endif
-#ifndef INCLUDED_StringTools
-#include <StringTools.h>
-#endif
-#ifndef INCLUDED_snikket__Util_Util_Fields_
-#include <snikket/_Util/Util_Fields_.h>
-#endif
-
-HX_LOCAL_STACK_FRAME(_hx_pos_9fb9d2715b360f7b_3_setupTrace,"snikket._Util.Util_Fields_","setupTrace",0xaf383aaf,"snikket._Util.Util_Fields_.setupTrace","snikket/Util.hx",3,0x6717090a)
-HX_LOCAL_STACK_FRAME(_hx_pos_9fb9d2715b360f7b_45_downcast,"snikket._Util.Util_Fields_","downcast",0x1252e848,"snikket._Util.Util_Fields_.downcast","snikket/Util.hx",45,0x6717090a)
-HX_LOCAL_STACK_FRAME(_hx_pos_9fb9d2715b360f7b_50_xmlEscape,"snikket._Util.Util_Fields_","xmlEscape",0x084fcab1,"snikket._Util.Util_Fields_.xmlEscape","snikket/Util.hx",50,0x6717090a)
-namespace snikket{
-namespace _Util{
-
-void Util_Fields__obj::__construct() { }
-
-Dynamic Util_Fields__obj::__CreateEmpty() { return new Util_Fields__obj; }
-
-void *Util_Fields__obj::_hx_vtable = 0;
-
-Dynamic Util_Fields__obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Util_Fields__obj > _hx_result = new Util_Fields__obj();
- _hx_result->__construct();
- return _hx_result;
-}
-
-bool Util_Fields__obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x1266dcf5;
-}
-
-void Util_Fields__obj::setupTrace(){
- HX_STACKFRAME(&_hx_pos_9fb9d2715b360f7b_3_setupTrace)
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC0(Util_Fields__obj,setupTrace,(void))
-
- ::Dynamic Util_Fields__obj::downcast( ::Dynamic value,::hx::Class c){
- HX_STACKFRAME(&_hx_pos_9fb9d2715b360f7b_45_downcast)
-HXDLIN( 45) 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_9fb9d2715b360f7b_50_xmlEscape)
-HXDLIN( 50) 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 )
-
-
-Util_Fields__obj::Util_Fields__obj()
-{
-}
-
-bool Util_Fields__obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 8:
- if (HX_FIELD_EQ(inName,"downcast") ) { outValue = downcast_dyn(); return true; }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"xmlEscape") ) { outValue = xmlEscape_dyn(); return true; }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"setupTrace") ) { outValue = setupTrace_dyn(); return true; }
- }
- return false;
-}
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo *Util_Fields__obj_sMemberStorageInfo = 0;
-static ::hx::StaticInfo *Util_Fields__obj_sStaticStorageInfo = 0;
-#endif
-
-::hx::Class Util_Fields__obj::__mClass;
-
-static ::String Util_Fields__obj_sStaticFields[] = {
- HX_("setupTrace",c8,aa,22,f8),
- HX_("downcast",21,f0,c8,8b),
- HX_("xmlEscape",b8,a0,20,d6),
- ::String(null())
-};
-
-void Util_Fields__obj::__register()
-{
- Util_Fields__obj _hx_dummy;
- Util_Fields__obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket._Util.Util_Fields_",27,09,a6,65);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &Util_Fields__obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(Util_Fields__obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
- __mClass->mCanCast = ::hx::TCanCast< Util_Fields__obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Util_Fields__obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Util_Fields__obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
-} // end namespace _Util
diff --git a/Sources/c_snikket/src/snikket/jingle/DTMFSender.cpp b/Sources/c_snikket/src/snikket/jingle/DTMFSender.cpp
deleted file mode 100644
index 4bfad87..0000000
--- a/Sources/c_snikket/src/snikket/jingle/DTMFSender.cpp
+++ /dev/null
@@ -1,365 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_Lambda
-#include <Lambda.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
-#ifndef INCLUDED_snikket_jingle_AudioFormat
-#include <snikket/jingle/AudioFormat.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_DTMFSender
-#include <snikket/jingle/DTMFSender.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStreamTrack
-#include <snikket/jingle/MediaStreamTrack.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_0ab3c7c717668c52_247_new,"snikket.jingle.DTMFSender","new",0x46c58b5c,"snikket.jingle.DTMFSender.new","snikket/jingle/PeerConnection.cpp.hx",247,0xf9fab71d)
-HX_DEFINE_STACK_FRAME(_hx_pos_0ab3c7c717668c52_245_new,"snikket.jingle.DTMFSender","new",0x46c58b5c,"snikket.jingle.DTMFSender.new","snikket/jingle/PeerConnection.cpp.hx",245,0xf9fab71d)
-HX_DEFINE_STACK_FRAME(_hx_pos_0ab3c7c717668c52_237_new,"snikket.jingle.DTMFSender","new",0x46c58b5c,"snikket.jingle.DTMFSender.new","snikket/jingle/PeerConnection.cpp.hx",237,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_0ab3c7c717668c52_284_insertDTMF,"snikket.jingle.DTMFSender","insertDTMF",0xf6863326,"snikket.jingle.DTMFSender.insertDTMF","snikket/jingle/PeerConnection.cpp.hx",284,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_0ab3c7c717668c52_282_insertDTMF,"snikket.jingle.DTMFSender","insertDTMF",0xf6863326,"snikket.jingle.DTMFSender.insertDTMF","snikket/jingle/PeerConnection.cpp.hx",282,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_0ab3c7c717668c52_300_insertOneTone,"snikket.jingle.DTMFSender","insertOneTone",0x3a20c7bb,"snikket.jingle.DTMFSender.insertOneTone","snikket/jingle/PeerConnection.cpp.hx",300,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_0ab3c7c717668c52_299_insertOneTone,"snikket.jingle.DTMFSender","insertOneTone",0x3a20c7bb,"snikket.jingle.DTMFSender.insertOneTone","snikket/jingle/PeerConnection.cpp.hx",299,0xf9fab71d)
-HX_LOCAL_STACK_FRAME(_hx_pos_0ab3c7c717668c52_254_boot,"snikket.jingle.DTMFSender","boot",0x9e2d65b6,"snikket.jingle.DTMFSender.boot","snikket/jingle/PeerConnection.cpp.hx",254,0xf9fab71d)
-namespace snikket{
-namespace jingle{
-
-void DTMFSender_obj::__construct( ::snikket::jingle::MediaStreamTrack track){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::snikket::jingle::DTMFSender,_gthis) HXARGC(0)
- void _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::DTMFSender,_gthis) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_0ab3c7c717668c52_247_new)
-HXLINE( 248) ::Dynamic tone = _gthis->tones->shift();
-HXLINE( 249) bool _hx_tmp;
-HXDLIN( 249) if (::hx::IsNotNull( tone )) {
-HXLINE( 249) _hx_tmp = ::hx::IsNotEq( tone,255 );
- }
- else {
-HXLINE( 249) _hx_tmp = false;
- }
-HXDLIN( 249) if (_hx_tmp) {
-HXLINE( 249) _gthis->insertOneTone(( (unsigned char)(tone) ));
- }
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_0ab3c7c717668c52_245_new)
-HXLINE( 246) _gthis->timer = ::haxe::Timer_obj::__alloc( HX_CTX ,570);
-HXLINE( 247) _gthis->timer->run = ::Dynamic(new _hx_Closure_0(_gthis));
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_0ab3c7c717668c52_237_new)
-HXLINE( 240) this->tones = ::Array_obj< unsigned char >::__new(0);
-HXLINE( 243) ::snikket::jingle::DTMFSender _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 244) this->track = track;
-HXLINE( 245) track->onAudioLoop( ::Dynamic(new _hx_Closure_1(_gthis)));
- }
-
-Dynamic DTMFSender_obj::__CreateEmpty() { return new DTMFSender_obj; }
-
-void *DTMFSender_obj::_hx_vtable = 0;
-
-Dynamic DTMFSender_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< DTMFSender_obj > _hx_result = new DTMFSender_obj();
- _hx_result->__construct(inArgs[0]);
- return _hx_result;
-}
-
-bool DTMFSender_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x0cd227ec;
-}
-
-void DTMFSender_obj::insertDTMF(::String tones){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::DTMFSender,_gthis,::String,tones) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_0ab3c7c717668c52_284_insertDTMF)
-HXLINE( 284) int _g = 0;
-HXDLIN( 284) int _g1 = tones.length;
-HXDLIN( 284) while((_g < _g1)){
-HXLINE( 284) _g = (_g + 1);
-HXDLIN( 284) int i = (_g - 1);
-HXLINE( 285) if ((tones.charAt(i) == HX_(",",2c,00,00,00))) {
-HXLINE( 287) _gthis->tones->push(255);
-HXLINE( 288) _gthis->tones->push(255);
-HXLINE( 289) _gthis->tones->push(255);
-HXLINE( 290) _gthis->tones->push(255);
- }
- else {
-HXLINE( 292) ::Dynamic tone = ::snikket::jingle::DTMFSender_obj::TONES->get(tones.charAt(i));
-HXLINE( 293) if (::hx::IsNotNull( tone )) {
-HXLINE( 293) _gthis->tones->push(tone);
- }
- }
- }
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_0ab3c7c717668c52_282_insertDTMF)
-HXDLIN( 282) ::snikket::jingle::DTMFSender _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 283) this->track->onAudioLoop( ::Dynamic(new _hx_Closure_0(_gthis,tones)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(DTMFSender_obj,insertDTMF,(void))
-
-void DTMFSender_obj::insertOneTone(unsigned char tone){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run( ::snikket::jingle::AudioFormat af){
- HX_STACKFRAME(&_hx_pos_0ab3c7c717668c52_300_insertOneTone)
-HXLINE( 300) return (af->format == HX_("telephone-event",d1,88,d6,13));
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_0ab3c7c717668c52_299_insertOneTone)
-HXLINE( 300) ::snikket::jingle::AudioFormat format = ( ( ::snikket::jingle::AudioFormat)(::Lambda_obj::find(this->track->get_supportedAudioFormats(), ::Dynamic(new _hx_Closure_0()))) );
-HXLINE( 301) ::Array< unsigned char > payload = ::Array_obj< unsigned char >::__new(4)->init(0,tone)->init(1,0)->init(2,0)->init(3,160);
-HXLINE( 302) {
-HXLINE( 302) int _g = 1;
-HXDLIN( 302) while((_g < 25)){
-HXLINE( 302) _g = (_g + 1);
-HXDLIN( 302) int i = (_g - 1);
-HXLINE( 303) int duration = (160 * i);
-HXLINE( 304) payload[2] = ( (unsigned char)(((duration >> 8) & 255)) );
-HXLINE( 305) payload[3] = ( (unsigned char)((duration & 255)) );
-HXLINE( 307) unsigned char _hx_tmp;
-HXDLIN( 307) if ((i == 1)) {
-HXLINE( 307) _hx_tmp = ( (unsigned char)((( (int)(format->payloadType) ) | 128)) );
- }
- else {
-HXLINE( 307) _hx_tmp = format->payloadType;
- }
-HXDLIN( 307) this->track->write(payload,_hx_tmp,format->clockRate);
- }
- }
-HXLINE( 309) {
-HXLINE( 309) {
-HXLINE( 310) payload[2] = ( (unsigned char)(15) );
-HXLINE( 311) payload[3] = ( (unsigned char)(160) );
-HXLINE( 312) payload[1] = ( (unsigned char)(128) );
-HXLINE( 313) this->track->write(payload,format->payloadType,format->clockRate);
- }
-HXLINE( 309) {
-HXLINE( 310) payload[2] = ( (unsigned char)(15) );
-HXLINE( 311) payload[3] = ( (unsigned char)(160) );
-HXLINE( 312) payload[1] = ( (unsigned char)(128) );
-HXLINE( 313) this->track->write(payload,format->payloadType,format->clockRate);
- }
-HXLINE( 309) {
-HXLINE( 310) payload[2] = ( (unsigned char)(15) );
-HXLINE( 311) payload[3] = ( (unsigned char)(160) );
-HXLINE( 312) payload[1] = ( (unsigned char)(128) );
-HXLINE( 313) this->track->write(payload,format->payloadType,format->clockRate);
- }
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(DTMFSender_obj,insertOneTone,(void))
-
- ::haxe::ds::StringMap DTMFSender_obj::TONES;
-
-
-::hx::ObjectPtr< DTMFSender_obj > DTMFSender_obj::__new( ::snikket::jingle::MediaStreamTrack track) {
- ::hx::ObjectPtr< DTMFSender_obj > __this = new DTMFSender_obj();
- __this->__construct(track);
- return __this;
-}
-
-::hx::ObjectPtr< DTMFSender_obj > DTMFSender_obj::__alloc(::hx::Ctx *_hx_ctx, ::snikket::jingle::MediaStreamTrack track) {
- DTMFSender_obj *__this = (DTMFSender_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(DTMFSender_obj), true, "snikket.jingle.DTMFSender"));
- *(void **)__this = DTMFSender_obj::_hx_vtable;
- __this->__construct(track);
- return __this;
-}
-
-DTMFSender_obj::DTMFSender_obj()
-{
-}
-
-void DTMFSender_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(DTMFSender);
- HX_MARK_MEMBER_NAME(track,"track");
- HX_MARK_MEMBER_NAME(timer,"timer");
- HX_MARK_MEMBER_NAME(tones,"tones");
- HX_MARK_END_CLASS();
-}
-
-void DTMFSender_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(track,"track");
- HX_VISIT_MEMBER_NAME(timer,"timer");
- HX_VISIT_MEMBER_NAME(tones,"tones");
-}
-
-::hx::Val DTMFSender_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 5:
- if (HX_FIELD_EQ(inName,"track") ) { return ::hx::Val( track ); }
- if (HX_FIELD_EQ(inName,"timer") ) { return ::hx::Val( timer ); }
- if (HX_FIELD_EQ(inName,"tones") ) { return ::hx::Val( tones ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"insertDTMF") ) { return ::hx::Val( insertDTMF_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"insertOneTone") ) { return ::hx::Val( insertOneTone_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-bool DTMFSender_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 5:
- if (HX_FIELD_EQ(inName,"TONES") ) { outValue = ( TONES ); return true; }
- }
- return false;
-}
-
-::hx::Val DTMFSender_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 5:
- if (HX_FIELD_EQ(inName,"track") ) { track=inValue.Cast< ::snikket::jingle::MediaStreamTrack >(); return inValue; }
- if (HX_FIELD_EQ(inName,"timer") ) { timer=inValue.Cast< ::haxe::Timer >(); return inValue; }
- if (HX_FIELD_EQ(inName,"tones") ) { tones=inValue.Cast< ::Array< unsigned char > >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-bool DTMFSender_obj::__SetStatic(const ::String &inName,Dynamic &ioValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 5:
- if (HX_FIELD_EQ(inName,"TONES") ) { TONES=ioValue.Cast< ::haxe::ds::StringMap >(); return true; }
- }
- return false;
-}
-
-void DTMFSender_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("track",8b,8e,1f,16));
- outFields->push(HX_("timer",c5,bf,35,10));
- outFields->push(HX_("tones",c1,c9,2d,14));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo DTMFSender_obj_sMemberStorageInfo[] = {
- {::hx::fsObject /* ::snikket::jingle::MediaStreamTrack */ ,(int)offsetof(DTMFSender_obj,track),HX_("track",8b,8e,1f,16)},
- {::hx::fsObject /* ::haxe::Timer */ ,(int)offsetof(DTMFSender_obj,timer),HX_("timer",c5,bf,35,10)},
- {::hx::fsObject /* ::Array< unsigned char > */ ,(int)offsetof(DTMFSender_obj,tones),HX_("tones",c1,c9,2d,14)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo DTMFSender_obj_sStaticStorageInfo[] = {
- {::hx::fsObject /* ::haxe::ds::StringMap */ ,(void *) &DTMFSender_obj::TONES,HX_("TONES",a1,01,1c,92)},
- { ::hx::fsUnknown, 0, null()}
-};
-#endif
-
-static ::String DTMFSender_obj_sMemberFields[] = {
- HX_("track",8b,8e,1f,16),
- HX_("timer",c5,bf,35,10),
- HX_("tones",c1,c9,2d,14),
- HX_("insertDTMF",a2,56,44,28),
- HX_("insertOneTone",bf,f9,90,a7),
- ::String(null()) };
-
-static void DTMFSender_obj_sMarkStatics(HX_MARK_PARAMS) {
- HX_MARK_MEMBER_NAME(DTMFSender_obj::TONES,"TONES");
-};
-
-#ifdef HXCPP_VISIT_ALLOCS
-static void DTMFSender_obj_sVisitStatics(HX_VISIT_PARAMS) {
- HX_VISIT_MEMBER_NAME(DTMFSender_obj::TONES,"TONES");
-};
-
-#endif
-
-::hx::Class DTMFSender_obj::__mClass;
-
-static ::String DTMFSender_obj_sStaticFields[] = {
- HX_("TONES",a1,01,1c,92),
- ::String(null())
-};
-
-void DTMFSender_obj::__register()
-{
- DTMFSender_obj _hx_dummy;
- DTMFSender_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.DTMFSender",6a,ed,95,39);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &DTMFSender_obj::__GetStatic;
- __mClass->mSetStaticField = &DTMFSender_obj::__SetStatic;
- __mClass->mMarkFunc = DTMFSender_obj_sMarkStatics;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(DTMFSender_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(DTMFSender_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< DTMFSender_obj >;
-#ifdef HXCPP_VISIT_ALLOCS
- __mClass->mVisitFunc = DTMFSender_obj_sVisitStatics;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = DTMFSender_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = DTMFSender_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-void DTMFSender_obj::__boot()
-{
-{
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(0)
- ::haxe::ds::StringMap _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_0ab3c7c717668c52_254_boot)
-HXDLIN( 254) ::haxe::ds::StringMap _g = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXDLIN( 254) _g->set(HX_("0",30,00,00,00),( (unsigned char)(0) ));
-HXDLIN( 254) _g->set(HX_("1",31,00,00,00),( (unsigned char)(1) ));
-HXDLIN( 254) _g->set(HX_("2",32,00,00,00),( (unsigned char)(2) ));
-HXDLIN( 254) _g->set(HX_("3",33,00,00,00),( (unsigned char)(3) ));
-HXDLIN( 254) _g->set(HX_("4",34,00,00,00),( (unsigned char)(4) ));
-HXDLIN( 254) _g->set(HX_("5",35,00,00,00),( (unsigned char)(5) ));
-HXDLIN( 254) _g->set(HX_("6",36,00,00,00),( (unsigned char)(6) ));
-HXDLIN( 254) _g->set(HX_("7",37,00,00,00),( (unsigned char)(7) ));
-HXDLIN( 254) _g->set(HX_("8",38,00,00,00),( (unsigned char)(8) ));
-HXDLIN( 254) _g->set(HX_("9",39,00,00,00),( (unsigned char)(9) ));
-HXDLIN( 254) _g->set(HX_("*",2a,00,00,00),( (unsigned char)(10) ));
-HXDLIN( 254) _g->set(HX_("#",23,00,00,00),( (unsigned char)(11) ));
-HXDLIN( 254) _g->set(HX_("A",41,00,00,00),( (unsigned char)(12) ));
-HXDLIN( 254) _g->set(HX_("B",42,00,00,00),( (unsigned char)(13) ));
-HXDLIN( 254) _g->set(HX_("C",43,00,00,00),( (unsigned char)(14) ));
-HXDLIN( 254) _g->set(HX_("D",44,00,00,00),( (unsigned char)(15) ));
-HXDLIN( 254) _g->set(HX_("a",61,00,00,00),( (unsigned char)(12) ));
-HXDLIN( 254) _g->set(HX_("b",62,00,00,00),( (unsigned char)(13) ));
-HXDLIN( 254) _g->set(HX_("c",63,00,00,00),( (unsigned char)(14) ));
-HXDLIN( 254) _g->set(HX_("d",64,00,00,00),( (unsigned char)(15) ));
-HXDLIN( 254) return _g;
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_STACKFRAME(&_hx_pos_0ab3c7c717668c52_254_boot)
-HXDLIN( 254) TONES = ( ( ::haxe::ds::StringMap)( ::Dynamic(new _hx_Closure_0())()) );
- }
-}
-
-} // end namespace snikket
-} // end namespace jingle
diff --git a/Sources/c_snikket/src/snikket/jingle/IncomingProposedSession.cpp b/Sources/c_snikket/src/snikket/jingle/IncomingProposedSession.cpp
deleted file mode 100644
index 47cc82e..0000000
--- a/Sources/c_snikket/src/snikket/jingle/IncomingProposedSession.cpp
+++ /dev/null
@@ -1,540 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#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
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_Client
-#include <snikket/Client.h>
-#endif
-#ifndef INCLUDED_snikket_DirectChat
-#include <snikket/DirectChat.h>
-#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_DTMFSender
-#include <snikket/jingle/DTMFSender.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_IncomingProposedSession
-#include <snikket/jingle/IncomingProposedSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_InitiatedSession
-#include <snikket/jingle/InitiatedSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStream
-#include <snikket/jingle/MediaStream.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStreamTrack
-#include <snikket/jingle/MediaStreamTrack.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Session
-#include <snikket/jingle/Session.h>
-#endif
-#ifndef INCLUDED_snikket_jingle__Session_Session_Fields_
-#include <snikket/jingle/_Session/Session_Fields_.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_070c1caeb07d54b9_70_new,"snikket.jingle.IncomingProposedSession","new",0x8d7afc70,"snikket.jingle.IncomingProposedSession.new","snikket/jingle/Session.hx",70,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_90_ring,"snikket.jingle.IncomingProposedSession","ring",0x40c9c1a0,"snikket.jingle.IncomingProposedSession.ring","snikket/jingle/Session.hx",90,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_84_ring,"snikket.jingle.IncomingProposedSession","ring",0x40c9c1a0,"snikket.jingle.IncomingProposedSession.ring","snikket/jingle/Session.hx",84,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_102_hangup,"snikket.jingle.IncomingProposedSession","hangup",0xbd2f903d,"snikket.jingle.IncomingProposedSession.hangup","snikket/jingle/Session.hx",102,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_95_hangup,"snikket.jingle.IncomingProposedSession","hangup",0xbd2f903d,"snikket.jingle.IncomingProposedSession.hangup","snikket/jingle/Session.hx",95,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_109_retract,"snikket.jingle.IncomingProposedSession","retract",0x81505611,"snikket.jingle.IncomingProposedSession.retract","snikket/jingle/Session.hx",109,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_113_terminate,"snikket.jingle.IncomingProposedSession","terminate",0xabf9ca71,"snikket.jingle.IncomingProposedSession.terminate","snikket/jingle/Session.hx",113,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_117_contentAdd,"snikket.jingle.IncomingProposedSession","contentAdd",0xf85adc58,"snikket.jingle.IncomingProposedSession.contentAdd","snikket/jingle/Session.hx",117,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_121_contentAccept,"snikket.jingle.IncomingProposedSession","contentAccept",0x4d3ea531,"snikket.jingle.IncomingProposedSession.contentAccept","snikket/jingle/Session.hx",121,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_124_transportInfo,"snikket.jingle.IncomingProposedSession","transportInfo",0x230c1cc7,"snikket.jingle.IncomingProposedSession.transportInfo","snikket/jingle/Session.hx",124,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_135_accept,"snikket.jingle.IncomingProposedSession","accept",0x103650f8,"snikket.jingle.IncomingProposedSession.accept","snikket/jingle/Session.hx",135,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_129_accept,"snikket.jingle.IncomingProposedSession","accept",0x103650f8,"snikket.jingle.IncomingProposedSession.accept","snikket/jingle/Session.hx",129,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_145_initiate,"snikket.jingle.IncomingProposedSession","initiate",0xde9e8449,"snikket.jingle.IncomingProposedSession.initiate","snikket/jingle/Session.hx",145,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_156_addMedia,"snikket.jingle.IncomingProposedSession","addMedia",0xfe2844f3,"snikket.jingle.IncomingProposedSession.addMedia","snikket/jingle/Session.hx",156,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_160_callStatus,"snikket.jingle.IncomingProposedSession","callStatus",0xe5a93460,"snikket.jingle.IncomingProposedSession.callStatus","snikket/jingle/Session.hx",160,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_164_videoTracks,"snikket.jingle.IncomingProposedSession","videoTracks",0xf76e7e73,"snikket.jingle.IncomingProposedSession.videoTracks","snikket/jingle/Session.hx",164,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_168_dtmf,"snikket.jingle.IncomingProposedSession","dtmf",0x37911cd9,"snikket.jingle.IncomingProposedSession.dtmf","snikket/jingle/Session.hx",168,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_172_get_sid,"snikket.jingle.IncomingProposedSession","get_sid",0xab62dbb5,"snikket.jingle.IncomingProposedSession.get_sid","snikket/jingle/Session.hx",172,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_070c1caeb07d54b9_176_get_chatId,"snikket.jingle.IncomingProposedSession","get_chatId",0x5c7bea8c,"snikket.jingle.IncomingProposedSession.get_chatId","snikket/jingle/Session.hx",176,0x6db2dd54)
-namespace snikket{
-namespace jingle{
-
-void IncomingProposedSession_obj::__construct( ::snikket::Client client, ::snikket::JID from,::String sid){
- HX_STACKFRAME(&_hx_pos_070c1caeb07d54b9_70_new)
-HXLINE( 76) this->accepted = false;
-HXLINE( 79) this->client = client;
-HXLINE( 80) this->from = from;
-HXLINE( 81) this->_sid = sid;
- }
-
-Dynamic IncomingProposedSession_obj::__CreateEmpty() { return new IncomingProposedSession_obj; }
-
-void *IncomingProposedSession_obj::_hx_vtable = 0;
-
-Dynamic IncomingProposedSession_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< IncomingProposedSession_obj > _hx_result = new IncomingProposedSession_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2]);
- return _hx_result;
-}
-
-bool IncomingProposedSession_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x409e1620;
-}
-
-static ::snikket::jingle::Session_obj _hx_snikket_jingle_IncomingProposedSession__hx_snikket_jingle_Session= {
- ( ::String (::hx::Object::*)())&::snikket::jingle::IncomingProposedSession_obj::get_sid,
- ( ::String (::hx::Object::*)())&::snikket::jingle::IncomingProposedSession_obj::get_chatId,
- ( ::snikket::jingle::InitiatedSession (::hx::Object::*)( ::snikket::Stanza))&::snikket::jingle::IncomingProposedSession_obj::initiate,
- ( void (::hx::Object::*)())&::snikket::jingle::IncomingProposedSession_obj::accept,
- ( void (::hx::Object::*)())&::snikket::jingle::IncomingProposedSession_obj::hangup,
- ( void (::hx::Object::*)())&::snikket::jingle::IncomingProposedSession_obj::retract,
- ( void (::hx::Object::*)())&::snikket::jingle::IncomingProposedSession_obj::terminate,
- ( void (::hx::Object::*)( ::snikket::Stanza))&::snikket::jingle::IncomingProposedSession_obj::contentAdd,
- ( void (::hx::Object::*)( ::snikket::Stanza))&::snikket::jingle::IncomingProposedSession_obj::contentAccept,
- ( ::Dynamic (::hx::Object::*)( ::snikket::Stanza))&::snikket::jingle::IncomingProposedSession_obj::transportInfo,
- ( void (::hx::Object::*)(::Array< ::Dynamic>))&::snikket::jingle::IncomingProposedSession_obj::addMedia,
- ( int (::hx::Object::*)())&::snikket::jingle::IncomingProposedSession_obj::callStatus,
- ( ::Array< ::Dynamic> (::hx::Object::*)())&::snikket::jingle::IncomingProposedSession_obj::videoTracks,
- ( ::snikket::jingle::DTMFSender (::hx::Object::*)())&::snikket::jingle::IncomingProposedSession_obj::dtmf,
-};
-
-void *IncomingProposedSession_obj::_hx_getInterface(int inHash) {
- switch(inHash) {
- case (int)0x79d60748: return &_hx_snikket_jingle_IncomingProposedSession__hx_snikket_jingle_Session;
- }
- #ifdef HXCPP_SCRIPTABLE
- return super::_hx_getInterface(inHash);
- #else
- return 0;
- #endif
-}
-
-void IncomingProposedSession_obj::ring(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::IncomingProposedSession,_gthis) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_070c1caeb07d54b9_90_ring)
-HXLINE( 90) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::snikket::ChatMessage >(),1);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_070c1caeb07d54b9_84_ring)
-HXDLIN( 84) ::snikket::jingle::IncomingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 87) ::snikket::Stanza event = ::snikket::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( 88) ::snikket::ChatMessage msg = ::snikket::jingle::_Session::Session_Fields__obj::mkCallMessage(this->from,this->client->jid,event);
-HXLINE( 89) this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg), ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 92) 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))));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,ring,(void))
-
-void IncomingProposedSession_obj::hangup(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::IncomingProposedSession,_gthis) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_070c1caeb07d54b9_102_hangup)
-HXLINE( 102) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::snikket::ChatMessage >(),1);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_070c1caeb07d54b9_95_hangup)
-HXDLIN( 95) ::snikket::jingle::IncomingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 99) ::snikket::Stanza event = ::snikket::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( 100) ::snikket::ChatMessage msg = ::snikket::jingle::_Session::Session_Fields__obj::mkCallMessage(this->from,this->client->jid,event);
-HXLINE( 101) this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg), ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 104) {
-HXLINE( 104) ::snikket::Client this1 = this->client;
-HXDLIN( 104) ::Dynamic this2 = this1->getDirectChat(this->from->asBare()->asString(),false)->jingleSessions;
-HXDLIN( 104) ( ( ::haxe::ds::StringMap)(this2) )->remove(this->get_sid());
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,hangup,(void))
-
-void IncomingProposedSession_obj::retract(){
- HX_STACKFRAME(&_hx_pos_070c1caeb07d54b9_109_retract)
-HXDLIN( 109) ::snikket::Client _hx_tmp = this->client;
-HXDLIN( 109) ::String _hx_tmp1 = this->get_chatId();
-HXDLIN( 109) _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())));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,retract,(void))
-
-void IncomingProposedSession_obj::terminate(){
- HX_STACKFRAME(&_hx_pos_070c1caeb07d54b9_113_terminate)
-HXDLIN( 113) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 113) ::String _hx_tmp1 = (HX_("Tried to terminate before session-initiate: ",a9,d4,f3,a4) + this->get_sid());
-HXDLIN( 113) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.IncomingProposedSession",7e,44,d0,fa))
- ->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_("snikket/jingle/Session.hx",54,dd,b2,6d))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),113)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,terminate,(void))
-
-void IncomingProposedSession_obj::contentAdd( ::snikket::Stanza _){
- HX_STACKFRAME(&_hx_pos_070c1caeb07d54b9_117_contentAdd)
-HXDLIN( 117) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 117) ::String _hx_tmp1 = (HX_("Got content-add before session-initiate: ",10,d3,fa,8a) + this->get_sid());
-HXDLIN( 117) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.IncomingProposedSession",7e,44,d0,fa))
- ->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_("snikket/jingle/Session.hx",54,dd,b2,6d))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),117)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(IncomingProposedSession_obj,contentAdd,(void))
-
-void IncomingProposedSession_obj::contentAccept( ::snikket::Stanza _){
- HX_STACKFRAME(&_hx_pos_070c1caeb07d54b9_121_contentAccept)
-HXDLIN( 121) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 121) ::String _hx_tmp1 = (HX_("Got content-accept before session-initiate: ",47,72,87,71) + this->get_sid());
-HXDLIN( 121) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.IncomingProposedSession",7e,44,d0,fa))
- ->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_("snikket/jingle/Session.hx",54,dd,b2,6d))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),121)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(IncomingProposedSession_obj,contentAccept,(void))
-
-::Dynamic IncomingProposedSession_obj::transportInfo( ::snikket::Stanza _){
- HX_STACKFRAME(&_hx_pos_070c1caeb07d54b9_124_transportInfo)
-HXLINE( 125) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 125) ::String _hx_tmp1 = (HX_("Got transport-info before session-initiate: ",bd,bd,9d,08) + this->get_sid());
-HXDLIN( 125) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.IncomingProposedSession",7e,44,d0,fa))
- ->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_("snikket/jingle/Session.hx",54,dd,b2,6d))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),125)));
-HXLINE( 126) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(IncomingProposedSession_obj,transportInfo,return )
-
-void IncomingProposedSession_obj::accept(){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::IncomingProposedSession,_gthis, ::snikket::Stanza,event, ::snikket::ChatMessage,msg) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_070c1caeb07d54b9_135_accept)
-HXLINE( 136) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::snikket::ChatMessage >(),1);
-HXLINE( 137) ::snikket::Client _gthis1 = _gthis->client;
-HXLINE( 138) ::String _hx_tmp = _gthis->from->asString();
-HXLINE( 137) _gthis1->sendStanza( ::snikket::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< ::snikket::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)))));
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_070c1caeb07d54b9_129_accept)
-HXDLIN( 129) ::snikket::jingle::IncomingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 130) if (this->accepted) {
-HXLINE( 130) return;
- }
-HXLINE( 131) this->accepted = true;
-HXLINE( 132) ::snikket::Client _hx_tmp = this->client;
-HXDLIN( 132) _hx_tmp->sendPresence(this->from->asString(),null());
-HXLINE( 133) ::snikket::Stanza event = ::snikket::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( 134) ::snikket::ChatMessage msg = ::snikket::jingle::_Session::Session_Fields__obj::mkCallMessage(this->from,this->client->jid,event);
-HXLINE( 135) this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg), ::Dynamic(new _hx_Closure_0(_gthis,event,msg)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,accept,(void))
-
- ::snikket::jingle::InitiatedSession IncomingProposedSession_obj::initiate( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_070c1caeb07d54b9_145_initiate)
-HXLINE( 147) ::snikket::jingle::InitiatedSession session = ::snikket::jingle::InitiatedSession_obj::fromSessionInitiate(this->client,stanza);
-HXLINE( 148) ::String _hx_tmp = session->get_sid();
-HXDLIN( 148) if ((_hx_tmp != this->get_sid())) {
-HXLINE( 148) HX_STACK_DO_THROW(HX_("id mismatch",33,05,74,bd));
- }
-HXLINE( 149) if (!(this->accepted)) {
-HXLINE( 149) HX_STACK_DO_THROW(HX_("trying to initiate unaccepted session",b1,34,34,a4));
- }
-HXLINE( 150) session->accept();
-HXLINE( 151) 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( 152) return session;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(IncomingProposedSession_obj,initiate,return )
-
-void IncomingProposedSession_obj::addMedia(::Array< ::Dynamic> _){
- HX_STACKFRAME(&_hx_pos_070c1caeb07d54b9_156_addMedia)
-HXDLIN( 156) 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_070c1caeb07d54b9_160_callStatus)
-HXDLIN( 160) return 1;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,callStatus,return )
-
-::Array< ::Dynamic> IncomingProposedSession_obj::videoTracks(){
- HX_STACKFRAME(&_hx_pos_070c1caeb07d54b9_164_videoTracks)
-HXDLIN( 164) return ::Array_obj< ::Dynamic>::__new(0);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,videoTracks,return )
-
- ::snikket::jingle::DTMFSender IncomingProposedSession_obj::dtmf(){
- HX_STACKFRAME(&_hx_pos_070c1caeb07d54b9_168_dtmf)
-HXDLIN( 168) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,dtmf,return )
-
-::String IncomingProposedSession_obj::get_sid(){
- HX_STACKFRAME(&_hx_pos_070c1caeb07d54b9_172_get_sid)
-HXDLIN( 172) return this->_sid;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,get_sid,return )
-
-::String IncomingProposedSession_obj::get_chatId(){
- HX_STACKFRAME(&_hx_pos_070c1caeb07d54b9_176_get_chatId)
-HXDLIN( 176) return this->from->asBare()->asString();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,get_chatId,return )
-
-
-::hx::ObjectPtr< IncomingProposedSession_obj > IncomingProposedSession_obj::__new( ::snikket::Client client, ::snikket::JID from,::String sid) {
- ::hx::ObjectPtr< IncomingProposedSession_obj > __this = new IncomingProposedSession_obj();
- __this->__construct(client,from,sid);
- return __this;
-}
-
-::hx::ObjectPtr< IncomingProposedSession_obj > IncomingProposedSession_obj::__alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::JID from,::String sid) {
- IncomingProposedSession_obj *__this = (IncomingProposedSession_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(IncomingProposedSession_obj), true, "snikket.jingle.IncomingProposedSession"));
- *(void **)__this = IncomingProposedSession_obj::_hx_vtable;
- __this->__construct(client,from,sid);
- return __this;
-}
-
-IncomingProposedSession_obj::IncomingProposedSession_obj()
-{
-}
-
-void IncomingProposedSession_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(IncomingProposedSession);
- HX_MARK_MEMBER_NAME(sid,"sid");
- HX_MARK_MEMBER_NAME(chatId,"chatId");
- HX_MARK_MEMBER_NAME(client,"client");
- HX_MARK_MEMBER_NAME(from,"from");
- HX_MARK_MEMBER_NAME(_sid,"_sid");
- HX_MARK_MEMBER_NAME(accepted,"accepted");
- HX_MARK_END_CLASS();
-}
-
-void IncomingProposedSession_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(sid,"sid");
- HX_VISIT_MEMBER_NAME(chatId,"chatId");
- HX_VISIT_MEMBER_NAME(client,"client");
- HX_VISIT_MEMBER_NAME(from,"from");
- HX_VISIT_MEMBER_NAME(_sid,"_sid");
- HX_VISIT_MEMBER_NAME(accepted,"accepted");
-}
-
-::hx::Val IncomingProposedSession_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"sid") ) { return ::hx::Val( inCallProp == ::hx::paccAlways ? get_sid() : sid ); }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"from") ) { return ::hx::Val( from ); }
- if (HX_FIELD_EQ(inName,"_sid") ) { return ::hx::Val( _sid ); }
- if (HX_FIELD_EQ(inName,"ring") ) { return ::hx::Val( ring_dyn() ); }
- if (HX_FIELD_EQ(inName,"dtmf") ) { return ::hx::Val( dtmf_dyn() ); }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( inCallProp == ::hx::paccAlways ? get_chatId() : chatId ); }
- if (HX_FIELD_EQ(inName,"client") ) { return ::hx::Val( client ); }
- if (HX_FIELD_EQ(inName,"hangup") ) { return ::hx::Val( hangup_dyn() ); }
- if (HX_FIELD_EQ(inName,"accept") ) { return ::hx::Val( accept_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"retract") ) { return ::hx::Val( retract_dyn() ); }
- if (HX_FIELD_EQ(inName,"get_sid") ) { return ::hx::Val( get_sid_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"accepted") ) { return ::hx::Val( accepted ); }
- if (HX_FIELD_EQ(inName,"initiate") ) { return ::hx::Val( initiate_dyn() ); }
- if (HX_FIELD_EQ(inName,"addMedia") ) { return ::hx::Val( addMedia_dyn() ); }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"terminate") ) { return ::hx::Val( terminate_dyn() ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"contentAdd") ) { return ::hx::Val( contentAdd_dyn() ); }
- if (HX_FIELD_EQ(inName,"callStatus") ) { return ::hx::Val( callStatus_dyn() ); }
- if (HX_FIELD_EQ(inName,"get_chatId") ) { return ::hx::Val( get_chatId_dyn() ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"videoTracks") ) { return ::hx::Val( videoTracks_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"contentAccept") ) { return ::hx::Val( contentAccept_dyn() ); }
- if (HX_FIELD_EQ(inName,"transportInfo") ) { return ::hx::Val( transportInfo_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-::hx::Val IncomingProposedSession_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"sid") ) { sid=inValue.Cast< ::String >(); return inValue; }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"from") ) { from=inValue.Cast< ::snikket::JID >(); return inValue; }
- if (HX_FIELD_EQ(inName,"_sid") ) { _sid=inValue.Cast< ::String >(); return inValue; }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"chatId") ) { chatId=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"client") ) { client=inValue.Cast< ::snikket::Client >(); return inValue; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"accepted") ) { accepted=inValue.Cast< bool >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void IncomingProposedSession_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("sid",0e,9f,57,00));
- outFields->push(HX_("chatId",d3,04,77,b7));
- outFields->push(HX_("client",4b,ca,4f,0a));
- outFields->push(HX_("from",6a,a5,c2,43));
- outFields->push(HX_("_sid",0f,e4,22,3f));
- outFields->push(HX_("accepted",67,bd,17,c8));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo IncomingProposedSession_obj_sMemberStorageInfo[] = {
- {::hx::fsString,(int)offsetof(IncomingProposedSession_obj,sid),HX_("sid",0e,9f,57,00)},
- {::hx::fsString,(int)offsetof(IncomingProposedSession_obj,chatId),HX_("chatId",d3,04,77,b7)},
- {::hx::fsObject /* ::snikket::Client */ ,(int)offsetof(IncomingProposedSession_obj,client),HX_("client",4b,ca,4f,0a)},
- {::hx::fsObject /* ::snikket::JID */ ,(int)offsetof(IncomingProposedSession_obj,from),HX_("from",6a,a5,c2,43)},
- {::hx::fsString,(int)offsetof(IncomingProposedSession_obj,_sid),HX_("_sid",0f,e4,22,3f)},
- {::hx::fsBool,(int)offsetof(IncomingProposedSession_obj,accepted),HX_("accepted",67,bd,17,c8)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *IncomingProposedSession_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String IncomingProposedSession_obj_sMemberFields[] = {
- HX_("sid",0e,9f,57,00),
- HX_("chatId",d3,04,77,b7),
- HX_("client",4b,ca,4f,0a),
- HX_("from",6a,a5,c2,43),
- HX_("_sid",0f,e4,22,3f),
- HX_("accepted",67,bd,17,c8),
- HX_("ring",b0,5f,aa,4b),
- HX_("hangup",4d,d2,ff,b7),
- HX_("retract",01,e2,b9,fc),
- HX_("terminate",61,32,d2,fd),
- HX_("contentAdd",68,66,dd,43),
- HX_("contentAccept",21,c5,01,e1),
- HX_("transportInfo",b7,3c,cf,b6),
- HX_("accept",08,93,06,0b),
- HX_("initiate",59,6a,8f,5f),
- HX_("addMedia",03,2b,19,7f),
- HX_("callStatus",70,be,2b,31),
- HX_("videoTracks",63,c2,24,be),
- HX_("dtmf",e9,ba,71,42),
- HX_("get_sid",a5,67,cc,26),
- HX_("get_chatId",9c,74,fe,a7),
- ::String(null()) };
-
-::hx::Class IncomingProposedSession_obj::__mClass;
-
-void IncomingProposedSession_obj::__register()
-{
- IncomingProposedSession_obj _hx_dummy;
- IncomingProposedSession_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.IncomingProposedSession",7e,44,d0,fa);
- __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(IncomingProposedSession_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< IncomingProposedSession_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = IncomingProposedSession_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = IncomingProposedSession_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
-} // end namespace jingle
diff --git a/Sources/c_snikket/src/snikket/jingle/InitiatedSession.cpp b/Sources/c_snikket/src/snikket/jingle/InitiatedSession.cpp
deleted file mode 100644
index 5f15db7..0000000
--- a/Sources/c_snikket/src/snikket/jingle/InitiatedSession.cpp
+++ /dev/null
@@ -1,1650 +0,0 @@
-// 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_Std
-#include <Std.h>
-#endif
-#ifndef INCLUDED__HaxeCBridge_Internal
-#include <_HaxeCBridge/Internal.h>
-#endif
-#ifndef INCLUDED_cpp_Int64Map
-#include <cpp/Int64Map.h>
-#endif
-#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
-#ifndef INCLUDED_snikket_Caps
-#include <snikket/Caps.h>
-#endif
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_Client
-#include <snikket/Client.h>
-#endif
-#ifndef INCLUDED_snikket_DirectChat
-#include <snikket/DirectChat.h>
-#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
-#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Attribute
-#include <snikket/jingle/Attribute.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_DTMFSender
-#include <snikket/jingle/DTMFSender.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_IceCandidate
-#include <snikket/jingle/IceCandidate.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_InitiatedSession
-#include <snikket/jingle/InitiatedSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Media
-#include <snikket/jingle/Media.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStream
-#include <snikket/jingle/MediaStream.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStreamTrack
-#include <snikket/jingle/MediaStreamTrack.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_OutgoingSession
-#include <snikket/jingle/OutgoingSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_PeerConnection
-#include <snikket/jingle/PeerConnection.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Session
-#include <snikket/jingle/Session.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_SessionDescription
-#include <snikket/jingle/SessionDescription.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_TransportInfo
-#include <snikket/jingle/TransportInfo.h>
-#endif
-#ifndef INCLUDED_snikket_jingle__Session_Session_Fields_
-#include <snikket/jingle/_Session/Session_Fields_.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_de51993dbb06b02d_300_new,"snikket.jingle.InitiatedSession","new",0x32cfb629,"snikket.jingle.InitiatedSession.new","snikket/jingle/Session.hx",300,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_042a82ddefcd0233_308_sid__fromC,"snikket.jingle.InitiatedSession","sid__fromC",0x9aaf4482,"snikket.jingle.InitiatedSession.sid__fromC","HaxeCBridge.hx",308,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_042a82ddefcd0233_308_chatId__fromC,"snikket.jingle.InitiatedSession","chatId__fromC",0xf380570f,"snikket.jingle.InitiatedSession.chatId__fromC","HaxeCBridge.hx",308,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_340_get_sid,"snikket.jingle.InitiatedSession","get_sid",0x312965ee,"snikket.jingle.InitiatedSession.get_sid","snikket/jingle/Session.hx",340,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_344_get_chatId,"snikket.jingle.InitiatedSession","get_chatId",0x9394c9f3,"snikket.jingle.InitiatedSession.get_chatId","snikket/jingle/Session.hx",344,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_349_ring,"snikket.jingle.InitiatedSession","ring",0x459789c7,"snikket.jingle.InitiatedSession.ring","snikket/jingle/Session.hx",349,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_354_retract,"snikket.jingle.InitiatedSession","retract",0x0716e04a,"snikket.jingle.InitiatedSession.retract","snikket/jingle/Session.hx",354,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_360_accept,"snikket.jingle.InitiatedSession","accept",0x3a23b0df,"snikket.jingle.InitiatedSession.accept","snikket/jingle/Session.hx",360,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_361_accept,"snikket.jingle.InitiatedSession","accept",0x3a23b0df,"snikket.jingle.InitiatedSession.accept","snikket/jingle/Session.hx",361,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_357_accept,"snikket.jingle.InitiatedSession","accept",0x3a23b0df,"snikket.jingle.InitiatedSession.accept","snikket/jingle/Session.hx",357,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_365_hangup,"snikket.jingle.InitiatedSession","hangup",0xe71cf024,"snikket.jingle.InitiatedSession.hangup","snikket/jingle/Session.hx",365,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_376_initiate,"snikket.jingle.InitiatedSession","initiate",0x6690ebf0,"snikket.jingle.InitiatedSession.initiate","snikket/jingle/Session.hx",376,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_395_terminate,"snikket.jingle.InitiatedSession","terminate",0x182214ea,"snikket.jingle.InitiatedSession.terminate","snikket/jingle/Session.hx",395,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_382_terminate,"snikket.jingle.InitiatedSession","terminate",0x182214ea,"snikket.jingle.InitiatedSession.terminate","snikket/jingle/Session.hx",382,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_429_contentAdd,"snikket.jingle.InitiatedSession","contentAdd",0x2f73bbbf,"snikket.jingle.InitiatedSession.contentAdd","snikket/jingle/Session.hx",429,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_428_contentAdd,"snikket.jingle.InitiatedSession","contentAdd",0x2f73bbbf,"snikket.jingle.InitiatedSession.contentAdd","snikket/jingle/Session.hx",428,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_422_contentAdd,"snikket.jingle.InitiatedSession","contentAdd",0x2f73bbbf,"snikket.jingle.InitiatedSession.contentAdd","snikket/jingle/Session.hx",422,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_421_contentAdd,"snikket.jingle.InitiatedSession","contentAdd",0x2f73bbbf,"snikket.jingle.InitiatedSession.contentAdd","snikket/jingle/Session.hx",421,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_406_contentAdd,"snikket.jingle.InitiatedSession","contentAdd",0x2f73bbbf,"snikket.jingle.InitiatedSession.contentAdd","snikket/jingle/Session.hx",406,0x6db2dd54)
-static const bool _hx_array_data_22056db7_23[] = {
- 0,
-};
-static const bool _hx_array_data_22056db7_24[] = {
- 0,
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_413_contentAdd,"snikket.jingle.InitiatedSession","contentAdd",0x2f73bbbf,"snikket.jingle.InitiatedSession.contentAdd","snikket/jingle/Session.hx",413,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_445_contentAccept,"snikket.jingle.InitiatedSession","contentAccept",0x3fd0202a,"snikket.jingle.InitiatedSession.contentAccept","snikket/jingle/Session.hx",445,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_472_transportInfo,"snikket.jingle.InitiatedSession","transportInfo",0x159d97c0,"snikket.jingle.InitiatedSession.transportInfo","snikket/jingle/Session.hx",472,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_458_transportInfo,"snikket.jingle.InitiatedSession","transportInfo",0x159d97c0,"snikket.jingle.InitiatedSession.transportInfo","snikket/jingle/Session.hx",458,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_475_addMedia,"snikket.jingle.InitiatedSession","addMedia",0x861aac9a,"snikket.jingle.InitiatedSession.addMedia","snikket/jingle/Session.hx",475,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_042a82ddefcd0233_252_addMedia__fromC,"snikket.jingle.InitiatedSession","addMedia__fromC",0x8f17eb1f,"snikket.jingle.InitiatedSession.addMedia__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_489_callStatus,"snikket.jingle.InitiatedSession","callStatus",0x1cc213c7,"snikket.jingle.InitiatedSession.callStatus","snikket/jingle/Session.hx",489,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_498_videoTracks,"snikket.jingle.InitiatedSession","videoTracks",0xf619192c,"snikket.jingle.InitiatedSession.videoTracks","snikket/jingle/Session.hx",498,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_042a82ddefcd0233_250_videoTracks__fromC,"snikket.jingle.InitiatedSession","videoTracks__fromC",0x21c414cd,"snikket.jingle.InitiatedSession.videoTracks__fromC","HaxeCBridge.hx",250,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_507_dtmf,"snikket.jingle.InitiatedSession","dtmf",0x3c5ee500,"snikket.jingle.InitiatedSession.dtmf","snikket/jingle/Session.hx",507,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_505_dtmf,"snikket.jingle.InitiatedSession","dtmf",0x3c5ee500,"snikket.jingle.InitiatedSession.dtmf","snikket/jingle/Session.hx",505,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_522_sendIceCandidate,"snikket.jingle.InitiatedSession","sendIceCandidate",0x8f88e577,"snikket.jingle.InitiatedSession.sendIceCandidate","snikket/jingle/Session.hx",522,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_534_sendIceCandidate,"snikket.jingle.InitiatedSession","sendIceCandidate",0x8f88e577,"snikket.jingle.InitiatedSession.sendIceCandidate","snikket/jingle/Session.hx",534,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_512_sendIceCandidate,"snikket.jingle.InitiatedSession","sendIceCandidate",0x8f88e577,"snikket.jingle.InitiatedSession.sendIceCandidate","snikket/jingle/Session.hx",512,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_535_sendIceCandidate,"snikket.jingle.InitiatedSession","sendIceCandidate",0x8f88e577,"snikket.jingle.InitiatedSession.sendIceCandidate","snikket/jingle/Session.hx",535,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_547_supplyMedia,"snikket.jingle.InitiatedSession","supplyMedia",0xd2bd62fe,"snikket.jingle.InitiatedSession.supplyMedia","snikket/jingle/Session.hx",547,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_555_supplyMedia,"snikket.jingle.InitiatedSession","supplyMedia",0xd2bd62fe,"snikket.jingle.InitiatedSession.supplyMedia","snikket/jingle/Session.hx",555,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_546_supplyMedia,"snikket.jingle.InitiatedSession","supplyMedia",0xd2bd62fe,"snikket.jingle.InitiatedSession.supplyMedia","snikket/jingle/Session.hx",546,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_042a82ddefcd0233_252_supplyMedia__fromC,"snikket.jingle.InitiatedSession","supplyMedia__fromC",0x2f8c893b,"snikket.jingle.InitiatedSession.supplyMedia__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_573_setupPeerConnection,"snikket.jingle.InitiatedSession","setupPeerConnection",0xb3182f86,"snikket.jingle.InitiatedSession.setupPeerConnection","snikket/jingle/Session.hx",573,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_575_setupPeerConnection,"snikket.jingle.InitiatedSession","setupPeerConnection",0xb3182f86,"snikket.jingle.InitiatedSession.setupPeerConnection","snikket/jingle/Session.hx",575,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_577_setupPeerConnection,"snikket.jingle.InitiatedSession","setupPeerConnection",0xb3182f86,"snikket.jingle.InitiatedSession.setupPeerConnection","snikket/jingle/Session.hx",577,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_579_setupPeerConnection,"snikket.jingle.InitiatedSession","setupPeerConnection",0xb3182f86,"snikket.jingle.InitiatedSession.setupPeerConnection","snikket/jingle/Session.hx",579,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_570_setupPeerConnection,"snikket.jingle.InitiatedSession","setupPeerConnection",0xb3182f86,"snikket.jingle.InitiatedSession.setupPeerConnection","snikket/jingle/Session.hx",570,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_565_setupPeerConnection,"snikket.jingle.InitiatedSession","setupPeerConnection",0xb3182f86,"snikket.jingle.InitiatedSession.setupPeerConnection","snikket/jingle/Session.hx",565,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_596_setupLocalDescription,"snikket.jingle.InitiatedSession","setupLocalDescription",0x3c0669f7,"snikket.jingle.InitiatedSession.setupLocalDescription","snikket/jingle/Session.hx",596,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_601_setupLocalDescription,"snikket.jingle.InitiatedSession","setupLocalDescription",0x3c0669f7,"snikket.jingle.InitiatedSession.setupLocalDescription","snikket/jingle/Session.hx",601,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_600_setupLocalDescription,"snikket.jingle.InitiatedSession","setupLocalDescription",0x3c0669f7,"snikket.jingle.InitiatedSession.setupLocalDescription","snikket/jingle/Session.hx",600,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_604_setupLocalDescription,"snikket.jingle.InitiatedSession","setupLocalDescription",0x3c0669f7,"snikket.jingle.InitiatedSession.setupLocalDescription","snikket/jingle/Session.hx",604,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_599_setupLocalDescription,"snikket.jingle.InitiatedSession","setupLocalDescription",0x3c0669f7,"snikket.jingle.InitiatedSession.setupLocalDescription","snikket/jingle/Session.hx",599,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_612_setupLocalDescription,"snikket.jingle.InitiatedSession","setupLocalDescription",0x3c0669f7,"snikket.jingle.InitiatedSession.setupLocalDescription","snikket/jingle/Session.hx",612,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_595_setupLocalDescription,"snikket.jingle.InitiatedSession","setupLocalDescription",0x3c0669f7,"snikket.jingle.InitiatedSession.setupLocalDescription","snikket/jingle/Session.hx",595,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_640_onPeerConnection,"snikket.jingle.InitiatedSession","onPeerConnection",0x7ec12276,"snikket.jingle.InitiatedSession.onPeerConnection","snikket/jingle/Session.hx",640,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_646_onPeerConnection,"snikket.jingle.InitiatedSession","onPeerConnection",0x7ec12276,"snikket.jingle.InitiatedSession.onPeerConnection","snikket/jingle/Session.hx",646,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_647_onPeerConnection,"snikket.jingle.InitiatedSession","onPeerConnection",0x7ec12276,"snikket.jingle.InitiatedSession.onPeerConnection","snikket/jingle/Session.hx",647,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_638_onPeerConnection,"snikket.jingle.InitiatedSession","onPeerConnection",0x7ec12276,"snikket.jingle.InitiatedSession.onPeerConnection","snikket/jingle/Session.hx",638,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_327_fromSessionInitiate,"snikket.jingle.InitiatedSession","fromSessionInitiate",0xe2a3554e,"snikket.jingle.InitiatedSession.fromSessionInitiate","snikket/jingle/Session.hx",327,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_de51993dbb06b02d_300_boot,"snikket.jingle.InitiatedSession","boot",0x3b08ae49,"snikket.jingle.InitiatedSession.boot","snikket/jingle/Session.hx",300,0x6db2dd54)
-namespace snikket{
-namespace jingle{
-
-void InitiatedSession_obj::__construct( ::snikket::Client client, ::snikket::JID counterpart,::String sid, ::snikket::jingle::SessionDescription remoteDescription){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_300_new)
-HXLINE( 315) this->candidatesDone = null();
-HXLINE( 313) this->afterMedia = null();
-HXLINE( 312) this->accepted = false;
-HXLINE( 311) this->queuedOutboundCandidate = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 310) this->queuedInboundTransportInfo = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 309) this->peerDtlsSetup = HX_("actpass",23,e7,c3,6b);
-HXLINE( 308) this->pc = null();
-HXLINE( 307) this->localDescription = null();
-HXLINE( 306) this->remoteDescription = null();
-HXLINE( 319) this->client = client;
-HXLINE( 320) this->counterpart = counterpart;
-HXLINE( 321) this->_sid = sid;
-HXLINE( 322) this->remoteDescription = remoteDescription;
-HXLINE( 323) this->initiator = ::hx::IsNull( remoteDescription );
- }
-
-Dynamic InitiatedSession_obj::__CreateEmpty() { return new InitiatedSession_obj; }
-
-void *InitiatedSession_obj::_hx_vtable = 0;
-
-Dynamic InitiatedSession_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< InitiatedSession_obj > _hx_result = new InitiatedSession_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3]);
- return _hx_result;
-}
-
-bool InitiatedSession_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x050f75b9;
-}
-
-static ::snikket::jingle::Session_obj _hx_snikket_jingle_InitiatedSession__hx_snikket_jingle_Session= {
- ( ::String (::hx::Object::*)())&::snikket::jingle::InitiatedSession_obj::get_sid,
- ( ::String (::hx::Object::*)())&::snikket::jingle::InitiatedSession_obj::get_chatId,
- ( ::snikket::jingle::InitiatedSession (::hx::Object::*)( ::snikket::Stanza))&::snikket::jingle::InitiatedSession_obj::initiate_ef691953,
- ( void (::hx::Object::*)())&::snikket::jingle::InitiatedSession_obj::accept,
- ( void (::hx::Object::*)())&::snikket::jingle::InitiatedSession_obj::hangup,
- ( void (::hx::Object::*)())&::snikket::jingle::InitiatedSession_obj::retract,
- ( void (::hx::Object::*)())&::snikket::jingle::InitiatedSession_obj::terminate,
- ( void (::hx::Object::*)( ::snikket::Stanza))&::snikket::jingle::InitiatedSession_obj::contentAdd,
- ( void (::hx::Object::*)( ::snikket::Stanza))&::snikket::jingle::InitiatedSession_obj::contentAccept,
- ( ::Dynamic (::hx::Object::*)( ::snikket::Stanza))&::snikket::jingle::InitiatedSession_obj::transportInfo,
- ( void (::hx::Object::*)(::Array< ::Dynamic>))&::snikket::jingle::InitiatedSession_obj::addMedia,
- ( int (::hx::Object::*)())&::snikket::jingle::InitiatedSession_obj::callStatus,
- ( ::Array< ::Dynamic> (::hx::Object::*)())&::snikket::jingle::InitiatedSession_obj::videoTracks,
- ( ::snikket::jingle::DTMFSender (::hx::Object::*)())&::snikket::jingle::InitiatedSession_obj::dtmf,
-};
-
- ::snikket::jingle::InitiatedSession InitiatedSession_obj::initiate_ef691953( ::snikket::Stanza stanza) {
- return initiate(stanza);
-}
-void *InitiatedSession_obj::_hx_getInterface(int inHash) {
- switch(inHash) {
- case (int)0x79d60748: return &_hx_snikket_jingle_InitiatedSession__hx_snikket_jingle_Session;
- }
- #ifdef HXCPP_SCRIPTABLE
- return super::_hx_getInterface(inHash);
- #else
- return 0;
- #endif
-}
-
-::String InitiatedSession_obj::sid__fromC(){
- HX_STACKFRAME(&_hx_pos_042a82ddefcd0233_308_sid__fromC)
-HXDLIN( 308) return this->get_sid();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,sid__fromC,return )
-
-::String InitiatedSession_obj::chatId__fromC(){
- HX_STACKFRAME(&_hx_pos_042a82ddefcd0233_308_chatId__fromC)
-HXDLIN( 308) return this->get_chatId();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,chatId__fromC,return )
-
-::String InitiatedSession_obj::get_sid(){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_340_get_sid)
-HXDLIN( 340) return this->_sid;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,get_sid,return )
-
-::String InitiatedSession_obj::get_chatId(){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_344_get_chatId)
-HXDLIN( 344) return this->counterpart->asBare()->asString();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,get_chatId,return )
-
-void InitiatedSession_obj::ring(){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_349_ring)
-HXDLIN( 349) 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))));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,ring,(void))
-
-void InitiatedSession_obj::retract(){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_354_retract)
-HXDLIN( 354) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 354) ::String _hx_tmp1 = (HX_("Tried to retract session in wrong state: ",e1,1c,0c,db) + this->get_sid());
-HXDLIN( 354) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.InitiatedSession",b7,6d,05,22))
- ->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_("snikket/jingle/Session.hx",54,dd,b2,6d))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),354)));
- }
-
-
-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( ::snikket::jingle::Media m){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_360_accept)
-HXLINE( 360) 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( ::snikket::jingle::Media m){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_361_accept)
-HXLINE( 361) return (m->media == HX_("video",7b,14,fc,36));
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_357_accept)
-HXLINE( 358) bool _hx_tmp;
-HXDLIN( 358) if (!(this->accepted)) {
-HXLINE( 358) _hx_tmp = ::hx::IsNull( this->remoteDescription );
- }
- else {
-HXLINE( 358) _hx_tmp = true;
- }
-HXDLIN( 358) if (_hx_tmp) {
-HXLINE( 358) return;
- }
-HXLINE( 359) this->accepted = true;
-HXLINE( 360) bool audio = ::hx::IsNotNull( ::Lambda_obj::find(this->remoteDescription->media, ::Dynamic(new _hx_Closure_0())) );
-HXLINE( 361) bool video = ::hx::IsNotNull( ::Lambda_obj::find(this->remoteDescription->media, ::Dynamic(new _hx_Closure_1())) );
-HXLINE( 362) 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)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,accept,(void))
-
-void InitiatedSession_obj::hangup(){
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_365_hangup)
-HXLINE( 366) ::snikket::Client _hx_tmp = this->client;
-HXLINE( 367) ::String _hx_tmp1 = this->counterpart->asString();
-HXDLIN( 367) ::snikket::Stanza _hx_tmp2 = ::snikket::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),::snikket::ID_obj::medium())
- ->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( 366) _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( 372) this->terminate();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,hangup,(void))
-
- ::snikket::jingle::OutgoingSession InitiatedSession_obj::initiate( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_376_initiate)
-HXLINE( 377) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 377) ::String _hx_tmp1 = (HX_("Trying to initiate already initiated session: ",84,56,c8,79) + this->get_sid());
-HXDLIN( 377) _hx_tmp(_hx_tmp1,::hx::SourceInfo(HX_("snikket/jingle/Session.hx",54,dd,b2,6d),377,HX_("snikket.jingle.InitiatedSession",b7,6d,05,22),HX_("initiate",59,6a,8f,5f)));
-HXLINE( 378) HX_STACK_DO_THROW(HX_("already initiated",63,a5,36,1a));
-HXDLIN( 378) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,initiate,return )
-
-void InitiatedSession_obj::terminate(){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::InitiatedSession,_gthis, ::snikket::Stanza,event, ::snikket::ChatMessage,msg) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_395_terminate)
-HXLINE( 396) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::snikket::ChatMessage >(),1);
-HXLINE( 397) ::snikket::Client _gthis1 = _gthis->client;
-HXLINE( 398) ::String _hx_tmp = _gthis->counterpart->asString();
-HXLINE( 397) _gthis1->sendStanza( ::snikket::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< ::snikket::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)))));
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_382_terminate)
-HXDLIN( 382) ::snikket::jingle::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 383) if (::hx::IsNull( this->pc )) {
-HXLINE( 383) return;
- }
-HXLINE( 384) this->pc->close();
-HXLINE( 385) {
-HXLINE( 385) int _g = 0;
-HXDLIN( 385) ::Array< ::Dynamic> _g1 = this->pc->getTransceivers();
-HXDLIN( 385) while((_g < _g1->length)){
-HXLINE( 385) ::Dynamic tranceiver = _g1->__get(_g);
-HXDLIN( 385) _g = (_g + 1);
-HXLINE( 386) bool _hx_tmp;
-HXDLIN( 386) if (::hx::IsNotNull( tranceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic) )) {
-HXLINE( 386) _hx_tmp = ::hx::IsNotNull( ::Dynamic(tranceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic) );
- }
- else {
-HXLINE( 386) _hx_tmp = false;
- }
-HXDLIN( 386) if (_hx_tmp) {
-HXLINE( 387) ( ( ::snikket::jingle::MediaStreamTrack)( ::Dynamic(tranceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->stop();
- }
- }
- }
-HXLINE( 390) this->pc = null();
-HXLINE( 391) ::snikket::Client _hx_tmp1 = this->client;
-HXDLIN( 391) ::String _hx_tmp2 = this->get_chatId();
-HXDLIN( 391) _hx_tmp1->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("chatId",d3,04,77,b7),_hx_tmp2)
- ->setFixed(1,HX_("sid",0e,9f,57,00),this->get_sid())));
-HXLINE( 393) ::snikket::Stanza event = ::snikket::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( 394) ::snikket::ChatMessage msg = ::snikket::jingle::_Session::Session_Fields__obj::mkCallMessage(this->counterpart,this->client->jid,event);
-HXLINE( 395) this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg), ::Dynamic(new _hx_Closure_0(_gthis,event,msg)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,terminate,(void))
-
-void InitiatedSession_obj::contentAdd( ::snikket::Stanza stanza){
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_5,::Array< bool >,video, ::snikket::jingle::InitiatedSession,_gthis, ::snikket::jingle::SessionDescription,addThis,::Array< bool >,audio) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic _){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_4, ::snikket::jingle::InitiatedSession,_gthis, ::snikket::jingle::SessionDescription,addThis) HXARGC(0)
- void _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3, ::snikket::jingle::InitiatedSession,_gthis, ::snikket::jingle::SessionDescription,addThis) HXARGC(1)
- void _hx_run( ::snikket::jingle::SessionDescription gonnaAccept){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::snikket::jingle::SessionDescription,addThis) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Media m){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::snikket::jingle::Media,m) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Media addM){
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_429_contentAdd)
-HXLINE( 429) return (addM->mid == m->mid);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_429_contentAdd)
-HXLINE( 429) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(m->contentElement(false)->attr,HX_("senders",1e,f7,a9,a8))) );
-HXDLIN( 429) return (_hx_tmp != ( (::String)(::Reflect_obj::field(( ( ::snikket::jingle::Media)(::Lambda_obj::find(addThis->media, ::Dynamic(new _hx_Closure_1(m)))) )->contentElement(false)->attr,HX_("senders",1e,f7,a9,a8))) ));
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_428_contentAdd)
-HXLINE( 428) if (::hx::IsNotNull( ::Lambda_obj::find(gonnaAccept->media, ::Dynamic(new _hx_Closure_2(addThis))) )) {
-HXLINE( 431) ::String modify = _gthis->get_sid();
-HXDLIN( 431) ::snikket::Stanza modify1 = gonnaAccept->toStanza(HX_("content-modify",4e,70,8f,a8),modify,_gthis->initiator);
-HXLINE( 432) {
-HXLINE( 432) ::Dynamic this1 = modify1->attr;
-HXDLIN( 432) ::String value = _gthis->counterpart->asString();
-HXDLIN( 432) ::Reflect_obj::setField(this1,HX_("to",7b,65,00,00),value);
- }
-HXLINE( 433) {
-HXLINE( 433) ::Dynamic this2 = modify1->attr;
-HXDLIN( 433) ::String value1 = ::snikket::ID_obj::medium();
-HXDLIN( 433) ::Reflect_obj::setField(this2,HX_("id",db,5b,00,00),value1);
- }
-HXLINE( 434) _gthis->client->sendStanza(modify1);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_422_contentAdd)
-HXLINE( 423) ::snikket::jingle::InitiatedSession _gthis1 = _gthis;
-HXLINE( 425) ::Array< ::Dynamic> _this = addThis->media;
-HXDLIN( 425) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 425) {
-HXLINE( 425) int _g = 0;
-HXDLIN( 425) int _g1 = _this->length;
-HXDLIN( 425) while((_g < _g1)){
-HXLINE( 425) _g = (_g + 1);
-HXDLIN( 425) int i = (_g - 1);
-HXDLIN( 425) {
-HXLINE( 425) ::String inValue = ( ( ::snikket::jingle::Media)(_hx_array_unsafe_get(_this,i)) )->mid;
-HXDLIN( 425) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXLINE( 423) _gthis1->setupLocalDescription(HX_("content-accept",dc,ee,cb,f2),result,false, ::Dynamic(new _hx_Closure_3(_gthis,addThis)));
-HXLINE( 438) _gthis->afterMedia = null();
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_421_contentAdd)
-HXLINE( 422) _gthis->afterMedia = ::Dynamic(new _hx_Closure_4(_gthis,addThis));
-HXLINE( 440) 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_de51993dbb06b02d_406_contentAdd)
-HXDLIN( 406) ::snikket::jingle::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 407) if (::hx::IsNull( this->remoteDescription )) {
-HXLINE( 407) HX_STACK_DO_THROW(HX_("Got content-add before session-accept",59,44,5e,1c));
- }
-HXLINE( 409) ::snikket::jingle::SessionDescription addThis = ::snikket::jingle::SessionDescription_obj::fromStanza(stanza,this->initiator,this->remoteDescription);
-HXLINE( 410) ::Array< bool > video = ::Array_obj< bool >::fromData( _hx_array_data_22056db7_23,1);
-HXLINE( 411) ::Array< bool > audio = ::Array_obj< bool >::fromData( _hx_array_data_22056db7_24,1);
-HXLINE( 412) {
-HXLINE( 412) int _g = 0;
-HXDLIN( 412) ::Array< ::Dynamic> _g1 = addThis->media;
-HXDLIN( 412) while((_g < _g1->length)){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_413_contentAdd)
-HXLINE( 413) if ((attr->key != HX_("sendrecv",6e,1e,9c,f4))) {
-HXLINE( 413) return (attr->key == HX_("sendonly",b4,56,a7,f2));
- }
- else {
-HXLINE( 413) return true;
- }
-HXDLIN( 413) return false;
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 412) ::snikket::jingle::Media m = _g1->__get(_g).StaticCast< ::snikket::jingle::Media >();
-HXDLIN( 412) _g = (_g + 1);
-HXLINE( 413) if (::Lambda_obj::exists(m->attributes, ::Dynamic(new _hx_Closure_0()))) {
-HXLINE( 414) if ((m->media == HX_("video",7b,14,fc,36))) {
-HXLINE( 414) video[0] = true;
- }
-HXLINE( 415) if ((m->media == HX_("audio",d6,78,80,27))) {
-HXLINE( 415) audio[0] = true;
- }
- }
-HXLINE( 417) ::Array< ::Dynamic> m1 = m->attributes;
-HXDLIN( 417) m1->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("setup",7d,ae,2f,7a),this->peerDtlsSetup));
- }
- }
-HXLINE( 419) this->remoteDescription = this->remoteDescription->addContent(addThis);
-HXLINE( 421) ::snikket::jingle::PeerConnection _hx_tmp = this->pc;
-HXDLIN( 421) ::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());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,contentAdd,(void))
-
-void InitiatedSession_obj::contentAccept( ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_445_contentAccept)
-HXLINE( 446) if (::hx::IsNull( this->remoteDescription )) {
-HXLINE( 446) HX_STACK_DO_THROW(HX_("Got content-accept before session-accept",10,3c,4f,73));
- }
-HXLINE( 449) ::snikket::jingle::SessionDescription addThis = ::snikket::jingle::SessionDescription_obj::fromStanza(stanza,!(this->initiator),this->remoteDescription);
-HXLINE( 450) {
-HXLINE( 450) int _g = 0;
-HXDLIN( 450) ::Array< ::Dynamic> _g1 = addThis->media;
-HXDLIN( 450) while((_g < _g1->length)){
-HXLINE( 450) ::snikket::jingle::Media m = _g1->__get(_g).StaticCast< ::snikket::jingle::Media >();
-HXDLIN( 450) _g = (_g + 1);
-HXLINE( 451) ::Array< ::Dynamic> m1 = m->attributes;
-HXDLIN( 451) m1->push( ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("setup",7d,ae,2f,7a),this->peerDtlsSetup));
- }
- }
-HXLINE( 453) this->remoteDescription = this->remoteDescription->addContent(addThis);
-HXLINE( 454) ::snikket::jingle::PeerConnection _hx_tmp = this->pc;
-HXDLIN( 454) _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))));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,contentAccept,(void))
-
-::Dynamic InitiatedSession_obj::transportInfo( ::snikket::Stanza stanza){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- void _hx_run(::cpp::VirtualArray _){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_472_transportInfo)
-HXLINE( 472) return;
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_458_transportInfo)
-HXDLIN( 458) ::snikket::jingle::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 459) bool _hx_tmp;
-HXDLIN( 459) if (::hx::IsNotNull( this->pc )) {
-HXLINE( 459) _hx_tmp = ::hx::IsNull( this->remoteDescription );
- }
- else {
-HXLINE( 459) _hx_tmp = true;
- }
-HXDLIN( 459) if (_hx_tmp) {
-HXLINE( 460) this->queuedInboundTransportInfo->push(stanza);
-HXLINE( 461) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
- }
-HXLINE( 464) ::Array< ::Dynamic> _this = ::snikket::jingle::IceCandidate_obj::fromStanza(stanza);
-HXDLIN( 464) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN( 464) {
-HXLINE( 464) int _g = 0;
-HXDLIN( 464) int _g1 = _this->length;
-HXDLIN( 464) while((_g < _g1)){
-HXLINE( 464) _g = (_g + 1);
-HXDLIN( 464) int i = (_g - 1);
-HXDLIN( 464) {
-HXLINE( 464) ::snikket::jingle::IceCandidate candidate = ( ( ::snikket::jingle::IceCandidate)(_hx_array_unsafe_get(_this,i)) );
-HXLINE( 465) int index = _gthis->remoteDescription->identificationTags->indexOf(candidate->sdpMid,null());
-HXLINE( 466) ::snikket::jingle::PeerConnection _gthis1 = _gthis->pc;
-HXLINE( 467) ::String inValue = candidate->toSdp();
-HXLINE( 469) ::Dynamic inValue1;
-HXDLIN( 469) if ((index < 0)) {
-HXLINE( 469) inValue1 = null();
- }
- else {
-HXLINE( 469) inValue1 = index;
- }
-HXLINE( 464) ::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( 464) result->__unsafe_set(i,inValue2);
- }
- }
- }
-HXDLIN( 464) 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_de51993dbb06b02d_475_addMedia)
-HXLINE( 476) if (::hx::IsNull( this->pc )) {
-HXLINE( 476) HX_STACK_DO_THROW(HX_("tried to add media before PeerConnection exists",25,49,19,b2));
- }
-HXLINE( 478) ::Array< ::Dynamic> _this = this->localDescription->media;
-HXDLIN( 478) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 478) {
-HXLINE( 478) int _g = 0;
-HXDLIN( 478) int _g1 = _this->length;
-HXDLIN( 478) while((_g < _g1)){
-HXLINE( 478) _g = (_g + 1);
-HXDLIN( 478) int i = (_g - 1);
-HXDLIN( 478) {
-HXLINE( 478) ::String inValue = ( ( ::snikket::jingle::Media)(_hx_array_unsafe_get(_this,i)) )->mid;
-HXDLIN( 478) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 478) ::Array< ::String > oldMids = result;
-HXLINE( 479) {
-HXLINE( 479) int _g2 = 0;
-HXDLIN( 479) while((_g2 < streams->length)){
-HXLINE( 479) ::snikket::jingle::MediaStream stream = streams->__get(_g2).StaticCast< ::snikket::jingle::MediaStream >();
-HXDLIN( 479) _g2 = (_g2 + 1);
-HXLINE( 480) {
-HXLINE( 480) int _g3 = 0;
-HXDLIN( 480) ::Array< ::Dynamic> _g4 = stream->getTracks();
-HXDLIN( 480) while((_g3 < _g4->length)){
-HXLINE( 480) ::snikket::jingle::MediaStreamTrack track = _g4->__get(_g3).StaticCast< ::snikket::jingle::MediaStreamTrack >();
-HXDLIN( 480) _g3 = (_g3 + 1);
-HXLINE( 481) this->pc->addTrack(track,stream);
- }
- }
- }
- }
-HXLINE( 485) this->setupLocalDescription(HX_("content-add",cd,a9,a1,10),oldMids,true,null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,addMedia,(void))
-
-void InitiatedSession_obj::addMedia__fromC(::cpp::Pointer< void* > streams,size_t streams__len){
- HX_STACKFRAME(&_hx_pos_042a82ddefcd0233_252_addMedia__fromC)
-HXLINE( 231) ::Array< ::Dynamic> _hx_tmp;
-HXDLIN( 231) if (::hx::IsNull( streams )) {
-HXLINE( 231) _hx_tmp = null();
- }
- else {
-HXLINE( 231) ::cpp::Pointer< ::snikket::jingle::MediaStream > _this = streams->reinterpret();
-HXDLIN( 231) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new();
-HXDLIN( 231) ::cpp::Pointer< ::snikket::jingle::MediaStream > tmp = _this;
-HXDLIN( 231) result->setUnmanagedData(tmp,( (int)(streams__len) ));
-HXDLIN( 231) _hx_tmp = result->copy();
- }
-HXLINE( 252) this->addMedia(_hx_tmp);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(InitiatedSession_obj,addMedia__fromC,(void))
-
-int InitiatedSession_obj::callStatus(){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_489_callStatus)
-HXDLIN( 489) bool _hx_tmp;
-HXDLIN( 489) if (::hx::IsNotNull( this->pc )) {
-HXDLIN( 489) _hx_tmp = (this->pc->get_connectionState() == HX_("connecting",38,9f,12,f5));
- }
- else {
-HXDLIN( 489) _hx_tmp = true;
- }
-HXDLIN( 489) if (_hx_tmp) {
-HXLINE( 490) return 3;
- }
- else {
-HXLINE( 491) bool _hx_tmp1;
-HXDLIN( 491) if ((this->pc->get_connectionState() != HX_("failed",bd,c5,fe,e7))) {
-HXLINE( 491) _hx_tmp1 = (this->pc->get_connectionState() == HX_("closed",ac,a9,51,0e));
- }
- else {
-HXLINE( 491) _hx_tmp1 = true;
- }
-HXDLIN( 491) if (_hx_tmp1) {
-HXLINE( 492) return 5;
- }
- else {
-HXLINE( 494) return 4;
- }
- }
-HXLINE( 489) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,callStatus,return )
-
-::Array< ::Dynamic> InitiatedSession_obj::videoTracks(){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_498_videoTracks)
-HXLINE( 499) if (::hx::IsNull( this->pc )) {
-HXLINE( 499) return ::Array_obj< ::Dynamic>::__new(0);
- }
-HXLINE( 500) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 500) {
-HXLINE( 500) int _g1 = 0;
-HXDLIN( 500) ::Array< ::Dynamic> _g2 = this->pc->getTransceivers();
-HXDLIN( 500) while((_g1 < _g2->length)){
-HXLINE( 500) ::Dynamic v = _g2->__get(_g1);
-HXDLIN( 500) _g1 = (_g1 + 1);
-HXLINE( 501) bool _hx_tmp;
-HXDLIN( 501) bool _hx_tmp1;
-HXDLIN( 501) bool _hx_tmp2;
-HXDLIN( 501) if (::hx::IsNotNull( v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic) )) {
-HXLINE( 501) _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( 501) _hx_tmp2 = false;
- }
-HXDLIN( 501) if (_hx_tmp2) {
-HXLINE( 501) _hx_tmp1 = (( ( ::snikket::jingle::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( 501) _hx_tmp1 = false;
- }
-HXDLIN( 501) if (_hx_tmp1) {
-HXLINE( 501) _hx_tmp = !(( ( ::snikket::jingle::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( 501) _hx_tmp = false;
- }
-HXLINE( 500) if (_hx_tmp) {
-HXLINE( 500) _g->push(v);
- }
- }
- }
-HXDLIN( 500) ::Array< ::Dynamic> _this = _g;
-HXDLIN( 500) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN( 500) {
-HXLINE( 500) int _g3 = 0;
-HXDLIN( 500) int _g4 = _this->length;
-HXDLIN( 500) while((_g3 < _g4)){
-HXLINE( 500) _g3 = (_g3 + 1);
-HXDLIN( 500) int i = (_g3 - 1);
-HXDLIN( 500) {
-HXLINE( 500) ::snikket::jingle::MediaStreamTrack inValue = ( ( ::snikket::jingle::MediaStreamTrack)( ::Dynamic(_hx_array_unsafe_get(_this,i)->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) );
-HXDLIN( 500) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 500) return result;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,videoTracks,return )
-
-size_t InitiatedSession_obj::videoTracks__fromC(void*** outPtr){
- HX_STACKFRAME(&_hx_pos_042a82ddefcd0233_250_videoTracks__fromC)
-HXDLIN( 250) ::Array< ::Dynamic> out = this->videoTracks();
-HXDLIN( 250) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 250) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 250) {
-HXDLIN( 250) int _g = 0;
-HXDLIN( 250) while((_g < out->length)){
-HXDLIN( 250) ::snikket::jingle::MediaStreamTrack el = out->__get(_g).StaticCast< ::snikket::jingle::MediaStreamTrack >();
-HXDLIN( 250) _g = (_g + 1);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic haxeObject = el;
-HXDLIN( 250) void* ptr = haxeObject.mPtr;
-HXDLIN( 250) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 250) if (::hx::IsNull( store )) {
-HXDLIN( 250) 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( 250) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXDLIN( 250) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 250) void** ptr1 = (void**)out->getBase();
-HXDLIN( 250) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 250) {
-HXDLIN( 250) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 250) if (::hx::IsNull( store1 )) {
-HXDLIN( 250) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),out));
-HXDLIN( 250) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXDLIN( 250) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 250) _hx_tmp->set_ref(ptr1);
- }
-HXDLIN( 250) return ( (size_t)(out->length) );
- }
-
-
- ::snikket::jingle::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_de51993dbb06b02d_507_dtmf)
-HXLINE( 507) bool transceiver;
-HXDLIN( 507) bool transceiver1;
-HXDLIN( 507) if (::hx::IsNotNull( t->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic) )) {
-HXLINE( 507) 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( 507) transceiver1 = false;
- }
-HXDLIN( 507) if (transceiver1) {
-HXLINE( 507) transceiver = (( ( ::snikket::jingle::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( 507) transceiver = false;
- }
-HXDLIN( 507) if (transceiver) {
-HXLINE( 507) return !(( ( ::snikket::jingle::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( 507) return false;
- }
-HXDLIN( 507) return false;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_505_dtmf)
-HXLINE( 506) if (::hx::IsNull( this->pc )) {
-HXLINE( 506) return null();
- }
-HXLINE( 507) ::Dynamic transceiver = ::Lambda_obj::find(this->pc->getTransceivers(), ::Dynamic(new _hx_Closure_0()));
-HXLINE( 508) if (::hx::IsNull( transceiver )) {
-HXLINE( 508) return null();
- }
-HXLINE( 509) return ( ( ::snikket::jingle::DTMFSender)( ::Dynamic(transceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("dtmf",e9,ba,71,42),::hx::paccDynamic)) );
- }
-
-
-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( ::snikket::jingle::Media media){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_522_sendIceCandidate)
-HXLINE( 522) 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( ::snikket::jingle::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_534_sendIceCandidate)
-HXLINE( 534) return (attr->key == HX_("ice-pwd",3b,03,2f,e9));
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_512_sendIceCandidate)
-HXLINE( 513) bool _hx_tmp;
-HXDLIN( 513) if (::hx::IsNotNull( candidate )) {
-HXLINE( 513) _hx_tmp = ::hx::IsEq( candidate->__Field(HX_("candidate",43,34,d8,d0),::hx::paccDynamic),HX_("",00,00,00,00) );
- }
- else {
-HXLINE( 513) _hx_tmp = true;
- }
-HXDLIN( 513) if (_hx_tmp) {
-HXLINE( 514) if (::hx::IsNotNull( this->candidatesDone )) {
-HXLINE( 514) this->candidatesDone();
- }
-HXLINE( 515) return;
- }
-HXLINE( 517) if (::hx::IsNotNull( this->candidatesDone )) {
-HXLINE( 517) return;
- }
-HXLINE( 518) if (::hx::IsNull( this->localDescription )) {
-HXLINE( 519) this->queuedOutboundCandidate->push(candidate);
-HXLINE( 520) return;
- }
-HXLINE( 522) ::snikket::jingle::Media media = ( ( ::snikket::jingle::Media)(::Lambda_obj::find(this->localDescription->media, ::Dynamic(new _hx_Closure_0(candidate)))) );
-HXLINE( 523) if (::hx::IsNull( media )) {
-HXLINE( 523) HX_STACK_DO_THROW( ::Dynamic((HX_("Unknown media: ",d4,41,45,83) + candidate->__Field(HX_("sdpMid",09,30,5f,d9),::hx::paccDynamic))));
- }
-HXLINE( 526) ::String media1 = media->mid;
-HXLINE( 527) ::String media2 = media->media;
-HXLINE( 528) ::String media3 = media->connectionData;
-HXLINE( 529) ::String media4 = media->port;
-HXLINE( 530) ::String media5 = media->protocol;
-HXLINE( 532) ::snikket::jingle::Attribute transportInfo = ::snikket::jingle::Attribute_obj::parse(( (::String)(candidate->__Field(HX_("candidate",43,34,d8,d0),::hx::paccDynamic)) ));
-HXLINE( 533) ::snikket::jingle::Attribute transportInfo1 = ::snikket::jingle::Attribute_obj::__alloc( HX_CTX ,HX_("ice-ufrag",65,c2,31,ab),( (::String)(candidate->__Field(HX_("usernameFragment",06,a8,37,89),::hx::paccDynamic)) ));
-HXLINE( 534) ::snikket::jingle::Attribute tmp = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(media->attributes, ::Dynamic(new _hx_Closure_1()))) );
-HXDLIN( 534) ::snikket::jingle::Attribute transportInfo2;
-HXDLIN( 534) if (::hx::IsNotNull( tmp )) {
-HXLINE( 534) transportInfo2 = tmp;
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
- bool _hx_run( ::snikket::jingle::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_535_sendIceCandidate)
-HXLINE( 535) return (attr->key == HX_("ice-pwd",3b,03,2f,e9));
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 534) transportInfo2 = ( ( ::snikket::jingle::Attribute)(::Lambda_obj::find(this->localDescription->attributes, ::Dynamic(new _hx_Closure_2()))) );
- }
-HXLINE( 525) ::snikket::jingle::Media transportInfo3 = ::snikket::jingle::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( 539) ::String transportInfo4 = this->get_sid();
-HXLINE( 524) ::snikket::Stanza transportInfo5 = ::snikket::jingle::TransportInfo_obj::__alloc( HX_CTX ,transportInfo3,transportInfo4)->toStanza(this->initiator);
-HXLINE( 541) {
-HXLINE( 541) ::Dynamic this1 = transportInfo5->attr;
-HXDLIN( 541) ::String value = this->counterpart->asString();
-HXDLIN( 541) ::Reflect_obj::setField(this1,HX_("to",7b,65,00,00),value);
- }
-HXLINE( 542) {
-HXLINE( 542) ::Dynamic this2 = transportInfo5->attr;
-HXDLIN( 542) ::String value1 = ::snikket::ID_obj::medium();
-HXDLIN( 542) ::Reflect_obj::setField(this2,HX_("id",db,5b,00,00),value1);
- }
-HXLINE( 543) this->client->sendStanza(transportInfo5);
- }
-
-
-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, ::snikket::jingle::InitiatedSession,_gthis,::Array< ::Dynamic>,streams) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_547_supplyMedia)
-HXLINE( 548) {
-HXLINE( 548) int _g = 0;
-HXDLIN( 548) while((_g < streams->length)){
-HXLINE( 548) ::snikket::jingle::MediaStream stream = streams->__get(_g).StaticCast< ::snikket::jingle::MediaStream >();
-HXDLIN( 548) _g = (_g + 1);
-HXLINE( 549) {
-HXLINE( 549) int _g1 = 0;
-HXDLIN( 549) ::Array< ::Dynamic> _g2 = stream->getTracks();
-HXDLIN( 549) while((_g1 < _g2->length)){
-HXLINE( 549) ::snikket::jingle::MediaStreamTrack track = _g2->__get(_g1).StaticCast< ::snikket::jingle::MediaStreamTrack >();
-HXDLIN( 549) _g1 = (_g1 + 1);
-HXLINE( 550) _gthis->pc->addTrack(track,stream);
- }
- }
- }
- }
-HXLINE( 554) if (::hx::IsNull( _gthis->afterMedia )) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::InitiatedSession,_gthis) HXARGC(1)
- void _hx_run( ::Dynamic e){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_555_supplyMedia)
-HXLINE( 556) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 556) ::String _hx_tmp1;
-HXDLIN( 556) if (::hx::IsNull( e )) {
-HXLINE( 556) _hx_tmp1 = HX_("null",87,9e,0e,49);
- }
- else {
-HXLINE( 556) _hx_tmp1 = ::Std_obj::string(e);
- }
-HXDLIN( 556) _hx_tmp(HX_("supplyMedia error",9d,f9,a0,33), ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.InitiatedSession",b7,6d,05,22))
- ->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_("snikket/jingle/Session.hx",54,dd,b2,6d))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),556)));
-HXLINE( 557) _gthis->pc->close();
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 555) ::thenshim::PromiseTools_obj::catch_(_gthis->onPeerConnection(), ::Dynamic(new _hx_Closure_0(_gthis)));
- }
- else {
-HXLINE( 560) _gthis->afterMedia();
- }
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_546_supplyMedia)
-HXDLIN( 546) ::snikket::jingle::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 547) this->setupPeerConnection( ::Dynamic(new _hx_Closure_1(_gthis,streams)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,supplyMedia,(void))
-
-void InitiatedSession_obj::supplyMedia__fromC(::cpp::Pointer< void* > streams,size_t streams__len){
- HX_STACKFRAME(&_hx_pos_042a82ddefcd0233_252_supplyMedia__fromC)
-HXLINE( 231) ::Array< ::Dynamic> _hx_tmp;
-HXDLIN( 231) if (::hx::IsNull( streams )) {
-HXLINE( 231) _hx_tmp = null();
- }
- else {
-HXLINE( 231) ::cpp::Pointer< ::snikket::jingle::MediaStream > _this = streams->reinterpret();
-HXDLIN( 231) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new();
-HXDLIN( 231) ::cpp::Pointer< ::snikket::jingle::MediaStream > tmp = _this;
-HXDLIN( 231) result->setUnmanagedData(tmp,( (int)(streams__len) ));
-HXDLIN( 231) _hx_tmp = result->copy();
- }
-HXLINE( 252) this->supplyMedia(_hx_tmp);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(InitiatedSession_obj,supplyMedia__fromC,(void))
-
-void InitiatedSession_obj::setupPeerConnection( ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_4, ::snikket::jingle::InitiatedSession,_gthis, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> servers){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::InitiatedSession,_gthis) HXARGC(1)
- void _hx_run( ::Dynamic event){
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_573_setupPeerConnection)
-HXLINE( 573) ::snikket::Client _gthis1 = _gthis->client;
-HXDLIN( 573) ::String _hx_tmp = _gthis->get_chatId();
-HXDLIN( 573) _gthis1->trigger(HX_("call/track",1a,e7,80,d7), ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("chatId",d3,04,77,b7),_hx_tmp)
- ->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)))));
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
- void _hx_run( ::Dynamic event){
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_575_setupPeerConnection)
-HXLINE( 575) ::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_("snikket.jingle.InitiatedSession",b7,6d,05,22))
- ->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_("snikket/jingle/Session.hx",54,dd,b2,6d))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),575)));
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::snikket::jingle::InitiatedSession,_gthis) HXARGC(1)
- void _hx_run( ::Dynamic event){
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_577_setupPeerConnection)
-HXLINE( 577) _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, ::snikket::jingle::InitiatedSession,_gthis) HXARGC(1)
- void _hx_run( ::Dynamic event){
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_579_setupPeerConnection)
-HXLINE( 580) if (::hx::IsNotNull( _gthis->pc )) {
-HXLINE( 580) _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( 581) bool _hx_tmp;
-HXDLIN( 581) if (::hx::IsNotNull( _gthis->pc )) {
-HXLINE( 581) if ((_gthis->pc->get_connectionState() != HX_("closed",ac,a9,51,0e))) {
-HXLINE( 581) _hx_tmp = (_gthis->pc->get_connectionState() == HX_("failed",bd,c5,fe,e7));
- }
- else {
-HXLINE( 581) _hx_tmp = true;
- }
- }
- else {
-HXLINE( 581) _hx_tmp = false;
- }
-HXDLIN( 581) if (_hx_tmp) {
-HXLINE( 582) ::snikket::Client _gthis1 = _gthis->client;
-HXLINE( 583) ::String _hx_tmp1 = _gthis->counterpart->asString();
-HXDLIN( 583) ::snikket::Stanza _hx_tmp2 = ::snikket::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),::snikket::ID_obj::medium())
- ->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( 582) _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( 588) _gthis->terminate();
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_570_setupPeerConnection)
-HXLINE( 571) _gthis->pc = ::snikket::jingle::PeerConnection_obj::__alloc( HX_CTX , ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("iceServers",45,14,49,d2),servers)),null());
-HXLINE( 572) _gthis->pc->addEventListener(HX_("track",8b,8e,1f,16), ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 575) _gthis->pc->addEventListener(HX_("negotiationneeded",d6,4d,d0,53), ::Dynamic(new _hx_Closure_1()));
-HXLINE( 576) _gthis->pc->addEventListener(HX_("icecandidate",98,ef,c0,7b), ::Dynamic(new _hx_Closure_2(_gthis)));
-HXLINE( 579) _gthis->pc->addEventListener(HX_("connectionstatechange",e3,a2,87,36), ::Dynamic(new _hx_Closure_3(_gthis)));
-HXLINE( 591) callback();
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_565_setupPeerConnection)
-HXDLIN( 565) ::snikket::jingle::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 566) if (::hx::IsNotNull( this->pc )) {
-HXLINE( 567) callback();
-HXLINE( 568) return;
- }
-HXLINE( 570) this->client->getIceServers( ::Dynamic(new _hx_Closure_4(_gthis,callback)));
- }
-
-
-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, ::snikket::jingle::InitiatedSession,_gthis,::String,type) HXARGC(1)
- ::Dynamic _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_596_setupLocalDescription)
-HXLINE( 597) ::snikket::Client _gthis1 = _gthis->client;
-HXDLIN( 597) ::String caps = _gthis->counterpart->asBare()->asString();
-HXDLIN( 597) ::snikket::Caps caps1 = _gthis1->getDirectChat(caps,null())->getResourceCaps(_gthis->counterpart->resource);
-HXLINE( 598) bool _hx_tmp;
-HXDLIN( 598) bool _hx_tmp1;
-HXDLIN( 598) if ((type != HX_("session-initiate",70,2d,30,f7))) {
-HXLINE( 598) _hx_tmp1 = (type == HX_("session-accept",5f,92,e7,a8));
- }
- else {
-HXLINE( 598) _hx_tmp1 = true;
- }
-HXDLIN( 598) if (_hx_tmp1) {
-HXLINE( 598) _hx_tmp = caps1->features->contains(HX_("urn:ietf:rfc:3264",2b,35,57,2c));
- }
- else {
-HXLINE( 598) _hx_tmp = false;
- }
-HXDLIN( 598) if (_hx_tmp) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::snikket::jingle::InitiatedSession,_gthis) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::snikket::jingle::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_de51993dbb06b02d_601_setupLocalDescription)
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_600_setupLocalDescription)
-HXLINE( 601) _gthis->candidatesDone = ::Dynamic(new _hx_Closure_0());
-HXLINE( 602) 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_de51993dbb06b02d_604_setupLocalDescription)
-HXLINE( 605) timeout->stop();
-HXLINE( 606) resolve(true);
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_599_setupLocalDescription)
-HXLINE( 600) ::haxe::Timer timeout = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(_gthis,resolve)),3000);
-HXLINE( 604) _gthis->candidatesDone = ::Dynamic(new _hx_Closure_2(resolve,timeout));
- }
- HX_END_LOCAL_FUNC2((void))
-
-HXLINE( 599) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_3(_gthis)));
- }
- else {
-HXLINE( 610) return null();
- }
-HXLINE( 598) return null();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_5, ::snikket::jingle::InitiatedSession,_gthis,::String,type, ::Dynamic,beforeSend, ::Dynamic,filterOut,::Array< ::String >,filterMedia) HXARGC(1)
- void _hx_run(bool _){
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_612_setupLocalDescription)
-HXLINE( 613) _gthis->localDescription = ::snikket::jingle::SessionDescription_obj::parse(( (::String)(_gthis->pc->get_localDescription()->__Field(HX_("sdp",bf,9a,57,00),::hx::paccDynamic)) ));
-HXLINE( 614) ::snikket::jingle::SessionDescription descriptionToSend = _gthis->localDescription;
-HXLINE( 615) if (::hx::IsNotNull( filterMedia )) {
-HXLINE( 617) int descriptionToSend1 = descriptionToSend->version;
-HXLINE( 618) ::String descriptionToSend2 = descriptionToSend->name;
-HXLINE( 619) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 619) {
-HXLINE( 619) int _g1 = 0;
-HXDLIN( 619) ::Array< ::Dynamic> _g2 = descriptionToSend->media;
-HXDLIN( 619) while((_g1 < _g2->length)){
-HXLINE( 619) ::snikket::jingle::Media v = _g2->__get(_g1).StaticCast< ::snikket::jingle::Media >();
-HXDLIN( 619) _g1 = (_g1 + 1);
-HXDLIN( 619) bool descriptionToSend3;
-HXDLIN( 619) if (( (bool)(filterOut) )) {
-HXLINE( 619) descriptionToSend3 = !(filterMedia->contains(v->mid));
- }
- else {
-HXLINE( 619) descriptionToSend3 = filterMedia->contains(v->mid);
- }
-HXDLIN( 619) if (descriptionToSend3) {
-HXLINE( 619) _g->push(v);
- }
- }
- }
-HXLINE( 616) descriptionToSend = ::snikket::jingle::SessionDescription_obj::__alloc( HX_CTX ,descriptionToSend1,descriptionToSend2,_g,descriptionToSend->attributes,descriptionToSend->identificationTags);
- }
-HXLINE( 624) if (::hx::IsNotNull( beforeSend )) {
-HXLINE( 624) beforeSend(descriptionToSend);
- }
-HXLINE( 625) ::String type1 = type;
-HXDLIN( 625) ::String sessionAccept = _gthis->get_sid();
-HXDLIN( 625) ::snikket::Stanza sessionAccept1 = descriptionToSend->toStanza(type1,sessionAccept,_gthis->initiator);
-HXLINE( 626) {
-HXLINE( 626) ::Dynamic this1 = sessionAccept1->attr;
-HXDLIN( 626) ::String value = _gthis->counterpart->asString();
-HXDLIN( 626) ::Reflect_obj::setField(this1,HX_("to",7b,65,00,00),value);
- }
-HXLINE( 627) {
-HXLINE( 627) ::Dynamic this2 = sessionAccept1->attr;
-HXDLIN( 627) ::String value1 = ::snikket::ID_obj::medium();
-HXDLIN( 627) ::Reflect_obj::setField(this2,HX_("id",db,5b,00,00),value1);
- }
-HXLINE( 628) _gthis->client->sendStanza(sessionAccept1);
-HXLINE( 630) ::Array< ::Dynamic> outboundCandidate = _gthis->queuedOutboundCandidate->copy();
-HXLINE( 631) _gthis->queuedOutboundCandidate->resize(0);
-HXLINE( 632) {
-HXLINE( 632) int _g3 = 0;
-HXDLIN( 632) while((_g3 < outboundCandidate->length)){
-HXLINE( 632) ::Dynamic candidate = outboundCandidate->__get(_g3);
-HXDLIN( 632) _g3 = (_g3 + 1);
-HXLINE( 633) _gthis->sendIceCandidate(candidate);
- }
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- ::Dynamic filterOut = __o_filterOut;
- if (::hx::IsNull(__o_filterOut)) filterOut = false;
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_595_setupLocalDescription)
-HXDLIN( 595) ::snikket::jingle::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 596) 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_DEFINE_DYNAMIC_FUNC4(InitiatedSession_obj,setupLocalDescription,return )
-
-::Dynamic InitiatedSession_obj::onPeerConnection(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::InitiatedSession,_gthis) HXARGC(1)
- ::Array< ::Dynamic> _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_640_onPeerConnection)
-HXLINE( 641) ::Array< ::Dynamic> inboundTransportInfo = _gthis->queuedInboundTransportInfo->copy();
-HXLINE( 642) _gthis->queuedInboundTransportInfo->resize(0);
-HXLINE( 643) ::Dynamic f = _gthis->transportInfo_dyn();
-HXDLIN( 643) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(inboundTransportInfo->length);
-HXDLIN( 643) {
-HXLINE( 643) int _g = 0;
-HXDLIN( 643) int _g1 = inboundTransportInfo->length;
-HXDLIN( 643) while((_g < _g1)){
-HXLINE( 643) _g = (_g + 1);
-HXDLIN( 643) int i = (_g - 1);
-HXDLIN( 643) {
-HXLINE( 643) ::Dynamic inValue = f(_hx_array_unsafe_get(inboundTransportInfo,i));
-HXDLIN( 643) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 643) return result;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::snikket::jingle::InitiatedSession,_gthis) HXARGC(1)
- ::Dynamic _hx_run(::Array< ::Dynamic> _){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_646_onPeerConnection)
-HXLINE( 646) 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, ::snikket::jingle::InitiatedSession,_gthis) HXARGC(1)
- ::String _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_647_onPeerConnection)
-HXLINE( 648) ::String _hx_tmp;
-HXDLIN( 648) if ((_gthis->localDescription->getDtlsSetup() == HX_("active",c6,41,46,16))) {
-HXLINE( 648) _hx_tmp = HX_("passive",a7,47,6a,7d);
- }
- else {
-HXLINE( 648) _hx_tmp = HX_("active",c6,41,46,16);
- }
-HXLINE( 647) return (_gthis->peerDtlsSetup = _hx_tmp);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_638_onPeerConnection)
-HXDLIN( 638) ::snikket::jingle::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 639) ::snikket::jingle::PeerConnection _hx_tmp = this->pc;
-HXDLIN( 639) 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());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,onPeerConnection,return )
-
- ::snikket::jingle::InitiatedSession InitiatedSession_obj::fromSessionInitiate( ::snikket::Client client, ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_de51993dbb06b02d_327_fromSessionInitiate)
-HXLINE( 328) ::snikket::Stanza jingle = stanza->getChild(HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7));
-HXLINE( 331) ::snikket::JID session = ::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
-HXLINE( 332) ::String session1 = ( (::String)(::Reflect_obj::field(jingle->attr,HX_("sid",0e,9f,57,00))) );
-HXLINE( 329) ::snikket::jingle::InitiatedSession session2 = ::snikket::jingle::InitiatedSession_obj::__alloc( HX_CTX ,client,session,session1,::snikket::jingle::SessionDescription_obj::fromStanza(stanza,false,null()));
-HXLINE( 335) session2->transportInfo(stanza);
-HXLINE( 336) return session2;
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC2(InitiatedSession_obj,fromSessionInitiate,return )
-
-
-::hx::ObjectPtr< InitiatedSession_obj > InitiatedSession_obj::__new( ::snikket::Client client, ::snikket::JID counterpart,::String sid, ::snikket::jingle::SessionDescription remoteDescription) {
- ::hx::ObjectPtr< InitiatedSession_obj > __this = new InitiatedSession_obj();
- __this->__construct(client,counterpart,sid,remoteDescription);
- return __this;
-}
-
-::hx::ObjectPtr< InitiatedSession_obj > InitiatedSession_obj::__alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::JID counterpart,::String sid, ::snikket::jingle::SessionDescription remoteDescription) {
- InitiatedSession_obj *__this = (InitiatedSession_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(InitiatedSession_obj), true, "snikket.jingle.InitiatedSession"));
- *(void **)__this = InitiatedSession_obj::_hx_vtable;
- __this->__construct(client,counterpart,sid,remoteDescription);
- return __this;
-}
-
-InitiatedSession_obj::InitiatedSession_obj()
-{
-}
-
-void InitiatedSession_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(InitiatedSession);
- HX_MARK_MEMBER_NAME(sid,"sid");
- HX_MARK_MEMBER_NAME(chatId,"chatId");
- HX_MARK_MEMBER_NAME(client,"client");
- HX_MARK_MEMBER_NAME(counterpart,"counterpart");
- HX_MARK_MEMBER_NAME(_sid,"_sid");
- HX_MARK_MEMBER_NAME(remoteDescription,"remoteDescription");
- HX_MARK_MEMBER_NAME(localDescription,"localDescription");
- HX_MARK_MEMBER_NAME(pc,"pc");
- HX_MARK_MEMBER_NAME(peerDtlsSetup,"peerDtlsSetup");
- HX_MARK_MEMBER_NAME(queuedInboundTransportInfo,"queuedInboundTransportInfo");
- HX_MARK_MEMBER_NAME(queuedOutboundCandidate,"queuedOutboundCandidate");
- HX_MARK_MEMBER_NAME(accepted,"accepted");
- HX_MARK_MEMBER_NAME(afterMedia,"afterMedia");
- HX_MARK_MEMBER_NAME(initiator,"initiator");
- HX_MARK_MEMBER_NAME(candidatesDone,"candidatesDone");
- HX_MARK_END_CLASS();
-}
-
-void InitiatedSession_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(sid,"sid");
- HX_VISIT_MEMBER_NAME(chatId,"chatId");
- HX_VISIT_MEMBER_NAME(client,"client");
- HX_VISIT_MEMBER_NAME(counterpart,"counterpart");
- HX_VISIT_MEMBER_NAME(_sid,"_sid");
- HX_VISIT_MEMBER_NAME(remoteDescription,"remoteDescription");
- HX_VISIT_MEMBER_NAME(localDescription,"localDescription");
- HX_VISIT_MEMBER_NAME(pc,"pc");
- HX_VISIT_MEMBER_NAME(peerDtlsSetup,"peerDtlsSetup");
- HX_VISIT_MEMBER_NAME(queuedInboundTransportInfo,"queuedInboundTransportInfo");
- HX_VISIT_MEMBER_NAME(queuedOutboundCandidate,"queuedOutboundCandidate");
- HX_VISIT_MEMBER_NAME(accepted,"accepted");
- HX_VISIT_MEMBER_NAME(afterMedia,"afterMedia");
- HX_VISIT_MEMBER_NAME(initiator,"initiator");
- HX_VISIT_MEMBER_NAME(candidatesDone,"candidatesDone");
-}
-
-::hx::Val InitiatedSession_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"pc") ) { return ::hx::Val( pc ); }
- break;
- case 3:
- if (HX_FIELD_EQ(inName,"sid") ) { return ::hx::Val( inCallProp == ::hx::paccAlways ? get_sid() : sid ); }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"_sid") ) { return ::hx::Val( _sid ); }
- if (HX_FIELD_EQ(inName,"ring") ) { return ::hx::Val( ring_dyn() ); }
- if (HX_FIELD_EQ(inName,"dtmf") ) { return ::hx::Val( dtmf_dyn() ); }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( inCallProp == ::hx::paccAlways ? get_chatId() : chatId ); }
- if (HX_FIELD_EQ(inName,"client") ) { return ::hx::Val( client ); }
- if (HX_FIELD_EQ(inName,"accept") ) { return ::hx::Val( accept_dyn() ); }
- if (HX_FIELD_EQ(inName,"hangup") ) { return ::hx::Val( hangup_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"get_sid") ) { return ::hx::Val( get_sid_dyn() ); }
- if (HX_FIELD_EQ(inName,"retract") ) { return ::hx::Val( retract_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"accepted") ) { return ::hx::Val( accepted ); }
- if (HX_FIELD_EQ(inName,"initiate") ) { return ::hx::Val( initiate_dyn() ); }
- if (HX_FIELD_EQ(inName,"addMedia") ) { return ::hx::Val( addMedia_dyn() ); }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"initiator") ) { return ::hx::Val( initiator ); }
- if (HX_FIELD_EQ(inName,"terminate") ) { return ::hx::Val( terminate_dyn() ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"sid__fromC") ) { return ::hx::Val( sid__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"afterMedia") ) { return ::hx::Val( afterMedia ); }
- if (HX_FIELD_EQ(inName,"get_chatId") ) { return ::hx::Val( get_chatId_dyn() ); }
- if (HX_FIELD_EQ(inName,"contentAdd") ) { return ::hx::Val( contentAdd_dyn() ); }
- if (HX_FIELD_EQ(inName,"callStatus") ) { return ::hx::Val( callStatus_dyn() ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"counterpart") ) { return ::hx::Val( counterpart ); }
- if (HX_FIELD_EQ(inName,"videoTracks") ) { return ::hx::Val( videoTracks_dyn() ); }
- if (HX_FIELD_EQ(inName,"supplyMedia") ) { return ::hx::Val( supplyMedia_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"chatId__fromC") ) { return ::hx::Val( chatId__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"peerDtlsSetup") ) { return ::hx::Val( peerDtlsSetup ); }
- if (HX_FIELD_EQ(inName,"contentAccept") ) { return ::hx::Val( contentAccept_dyn() ); }
- if (HX_FIELD_EQ(inName,"transportInfo") ) { return ::hx::Val( transportInfo_dyn() ); }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"candidatesDone") ) { return ::hx::Val( candidatesDone ); }
- break;
- case 15:
- if (HX_FIELD_EQ(inName,"addMedia__fromC") ) { return ::hx::Val( addMedia__fromC_dyn() ); }
- break;
- case 16:
- if (HX_FIELD_EQ(inName,"localDescription") ) { return ::hx::Val( localDescription ); }
- if (HX_FIELD_EQ(inName,"sendIceCandidate") ) { return ::hx::Val( sendIceCandidate_dyn() ); }
- if (HX_FIELD_EQ(inName,"onPeerConnection") ) { return ::hx::Val( onPeerConnection_dyn() ); }
- break;
- case 17:
- if (HX_FIELD_EQ(inName,"remoteDescription") ) { return ::hx::Val( remoteDescription ); }
- break;
- case 18:
- if (HX_FIELD_EQ(inName,"supplyMedia__fromC") ) { return ::hx::Val( supplyMedia__fromC_dyn() ); }
- break;
- case 19:
- if (HX_FIELD_EQ(inName,"setupPeerConnection") ) { return ::hx::Val( setupPeerConnection_dyn() ); }
- break;
- case 21:
- if (HX_FIELD_EQ(inName,"setupLocalDescription") ) { return ::hx::Val( setupLocalDescription_dyn() ); }
- break;
- case 23:
- if (HX_FIELD_EQ(inName,"queuedOutboundCandidate") ) { return ::hx::Val( queuedOutboundCandidate ); }
- break;
- case 26:
- if (HX_FIELD_EQ(inName,"queuedInboundTransportInfo") ) { return ::hx::Val( queuedInboundTransportInfo ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-bool InitiatedSession_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 19:
- if (HX_FIELD_EQ(inName,"fromSessionInitiate") ) { outValue = fromSessionInitiate_dyn(); return true; }
- }
- return false;
-}
-
-::hx::Val InitiatedSession_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"pc") ) { pc=inValue.Cast< ::snikket::jingle::PeerConnection >(); return inValue; }
- break;
- case 3:
- if (HX_FIELD_EQ(inName,"sid") ) { sid=inValue.Cast< ::String >(); return inValue; }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"_sid") ) { _sid=inValue.Cast< ::String >(); return inValue; }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"chatId") ) { chatId=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"client") ) { client=inValue.Cast< ::snikket::Client >(); return inValue; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"accepted") ) { accepted=inValue.Cast< bool >(); return inValue; }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"initiator") ) { initiator=inValue.Cast< bool >(); return inValue; }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"afterMedia") ) { afterMedia=inValue.Cast< ::Dynamic >(); return inValue; }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"counterpart") ) { counterpart=inValue.Cast< ::snikket::JID >(); return inValue; }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"peerDtlsSetup") ) { peerDtlsSetup=inValue.Cast< ::String >(); return inValue; }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"candidatesDone") ) { candidatesDone=inValue.Cast< ::Dynamic >(); return inValue; }
- break;
- case 16:
- if (HX_FIELD_EQ(inName,"localDescription") ) { localDescription=inValue.Cast< ::snikket::jingle::SessionDescription >(); return inValue; }
- break;
- case 17:
- if (HX_FIELD_EQ(inName,"remoteDescription") ) { remoteDescription=inValue.Cast< ::snikket::jingle::SessionDescription >(); return inValue; }
- break;
- case 23:
- if (HX_FIELD_EQ(inName,"queuedOutboundCandidate") ) { queuedOutboundCandidate=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- break;
- case 26:
- if (HX_FIELD_EQ(inName,"queuedInboundTransportInfo") ) { queuedInboundTransportInfo=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void InitiatedSession_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("sid",0e,9f,57,00));
- outFields->push(HX_("chatId",d3,04,77,b7));
- outFields->push(HX_("client",4b,ca,4f,0a));
- outFields->push(HX_("counterpart",ef,c0,14,5a));
- outFields->push(HX_("_sid",0f,e4,22,3f));
- outFields->push(HX_("remoteDescription",16,a8,ec,8d));
- outFields->push(HX_("localDescription",51,49,74,58));
- outFields->push(HX_("pc",f3,61,00,00));
- outFields->push(HX_("peerDtlsSetup",e4,2a,18,74));
- outFields->push(HX_("queuedInboundTransportInfo",11,30,f9,fb));
- outFields->push(HX_("queuedOutboundCandidate",00,fe,e9,14));
- outFields->push(HX_("accepted",67,bd,17,c8));
- outFields->push(HX_("initiator",af,ac,ed,3d));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo InitiatedSession_obj_sMemberStorageInfo[] = {
- {::hx::fsString,(int)offsetof(InitiatedSession_obj,sid),HX_("sid",0e,9f,57,00)},
- {::hx::fsString,(int)offsetof(InitiatedSession_obj,chatId),HX_("chatId",d3,04,77,b7)},
- {::hx::fsObject /* ::snikket::Client */ ,(int)offsetof(InitiatedSession_obj,client),HX_("client",4b,ca,4f,0a)},
- {::hx::fsObject /* ::snikket::JID */ ,(int)offsetof(InitiatedSession_obj,counterpart),HX_("counterpart",ef,c0,14,5a)},
- {::hx::fsString,(int)offsetof(InitiatedSession_obj,_sid),HX_("_sid",0f,e4,22,3f)},
- {::hx::fsObject /* ::snikket::jingle::SessionDescription */ ,(int)offsetof(InitiatedSession_obj,remoteDescription),HX_("remoteDescription",16,a8,ec,8d)},
- {::hx::fsObject /* ::snikket::jingle::SessionDescription */ ,(int)offsetof(InitiatedSession_obj,localDescription),HX_("localDescription",51,49,74,58)},
- {::hx::fsObject /* ::snikket::jingle::PeerConnection */ ,(int)offsetof(InitiatedSession_obj,pc),HX_("pc",f3,61,00,00)},
- {::hx::fsString,(int)offsetof(InitiatedSession_obj,peerDtlsSetup),HX_("peerDtlsSetup",e4,2a,18,74)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(InitiatedSession_obj,queuedInboundTransportInfo),HX_("queuedInboundTransportInfo",11,30,f9,fb)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(InitiatedSession_obj,queuedOutboundCandidate),HX_("queuedOutboundCandidate",00,fe,e9,14)},
- {::hx::fsBool,(int)offsetof(InitiatedSession_obj,accepted),HX_("accepted",67,bd,17,c8)},
- {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(InitiatedSession_obj,afterMedia),HX_("afterMedia",28,69,d3,68)},
- {::hx::fsBool,(int)offsetof(InitiatedSession_obj,initiator),HX_("initiator",af,ac,ed,3d)},
- {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(InitiatedSession_obj,candidatesDone),HX_("candidatesDone",72,4b,30,dd)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *InitiatedSession_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String InitiatedSession_obj_sMemberFields[] = {
- HX_("sid",0e,9f,57,00),
- HX_("sid__fromC",2b,ef,18,af),
- HX_("chatId",d3,04,77,b7),
- HX_("chatId__fromC",06,fc,b1,94),
- HX_("client",4b,ca,4f,0a),
- HX_("counterpart",ef,c0,14,5a),
- HX_("_sid",0f,e4,22,3f),
- HX_("remoteDescription",16,a8,ec,8d),
- HX_("localDescription",51,49,74,58),
- HX_("pc",f3,61,00,00),
- HX_("peerDtlsSetup",e4,2a,18,74),
- HX_("queuedInboundTransportInfo",11,30,f9,fb),
- HX_("queuedOutboundCandidate",00,fe,e9,14),
- HX_("accepted",67,bd,17,c8),
- HX_("afterMedia",28,69,d3,68),
- HX_("initiator",af,ac,ed,3d),
- HX_("candidatesDone",72,4b,30,dd),
- HX_("get_sid",a5,67,cc,26),
- HX_("get_chatId",9c,74,fe,a7),
- HX_("ring",b0,5f,aa,4b),
- HX_("retract",01,e2,b9,fc),
- HX_("accept",08,93,06,0b),
- HX_("hangup",4d,d2,ff,b7),
- HX_("initiate",59,6a,8f,5f),
- HX_("terminate",61,32,d2,fd),
- HX_("contentAdd",68,66,dd,43),
- HX_("contentAccept",21,c5,01,e1),
- HX_("transportInfo",b7,3c,cf,b6),
- HX_("addMedia",03,2b,19,7f),
- HX_("addMedia__fromC",d6,fb,b5,1b),
- HX_("callStatus",70,be,2b,31),
- HX_("videoTracks",63,c2,24,be),
- HX_("dtmf",e9,ba,71,42),
- HX_("sendIceCandidate",e0,74,39,0d),
- HX_("supplyMedia",35,0c,c9,9a),
- HX_("supplyMedia__fromC",e4,84,0e,e6),
- HX_("setupPeerConnection",bd,67,52,ae),
- HX_("setupLocalDescription",ee,5d,68,24),
- HX_("onPeerConnection",df,b1,71,fc),
- ::String(null()) };
-
-::hx::Class InitiatedSession_obj::__mClass;
-
-static ::String InitiatedSession_obj_sStaticFields[] = {
- HX_("fromSessionInitiate",85,8d,dd,dd),
- ::String(null())
-};
-
-void InitiatedSession_obj::__register()
-{
- InitiatedSession_obj _hx_dummy;
- InitiatedSession_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.InitiatedSession",b7,6d,05,22);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &InitiatedSession_obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(InitiatedSession_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(InitiatedSession_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< InitiatedSession_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = InitiatedSession_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = InitiatedSession_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-void InitiatedSession_obj::__boot()
-{
-{
- HX_STACKFRAME(&_hx_pos_de51993dbb06b02d_300_boot)
-HXDLIN( 300) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(8)
- ->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())))
- ->setFixed(1,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)))))
- ->setFixed(2,HX_("sid__fromC",2b,ef,18,af), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(3,HX_("videoTracks",63,c2,24,be), ::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_("videoTracks__fromC",76,10,46,d8), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(5,HX_("supplyMedia__fromC",e4,84,0e,e6), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(6,HX_("addMedia__fromC",d6,fb,b5,1b), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(7,HX_("addMedia",03,2b,19,7f), ::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))))))));
- }
-}
-
-} // end namespace snikket
-} // end namespace jingle
diff --git a/Sources/c_snikket/src/snikket/jingle/OutgoingProposedSession.cpp b/Sources/c_snikket/src/snikket/jingle/OutgoingProposedSession.cpp
deleted file mode 100644
index 004d12e..0000000
--- a/Sources/c_snikket/src/snikket/jingle/OutgoingProposedSession.cpp
+++ /dev/null
@@ -1,588 +0,0 @@
-// 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_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
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_Client
-#include <snikket/Client.h>
-#endif
-#ifndef INCLUDED_snikket_DirectChat
-#include <snikket/DirectChat.h>
-#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
-#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_DTMFSender
-#include <snikket/jingle/DTMFSender.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_InitiatedSession
-#include <snikket/jingle/InitiatedSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStream
-#include <snikket/jingle/MediaStream.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_MediaStreamTrack
-#include <snikket/jingle/MediaStreamTrack.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_OutgoingProposedSession
-#include <snikket/jingle/OutgoingProposedSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_OutgoingSession
-#include <snikket/jingle/OutgoingSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Session
-#include <snikket/jingle/Session.h>
-#endif
-#ifndef INCLUDED_snikket_jingle__Session_Session_Fields_
-#include <snikket/jingle/_Session/Session_Fields_.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_3d104e43c930d498_180_new,"snikket.jingle.OutgoingProposedSession","new",0x73d7b0aa,"snikket.jingle.OutgoingProposedSession.new","snikket/jingle/Session.hx",180,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_206_propose,"snikket.jingle.OutgoingProposedSession","propose",0x4884cc48,"snikket.jingle.OutgoingProposedSession.propose","snikket/jingle/Session.hx",206,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_195_propose,"snikket.jingle.OutgoingProposedSession","propose",0x4884cc48,"snikket.jingle.OutgoingProposedSession.propose","snikket/jingle/Session.hx",195,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_223_hangup,"snikket.jingle.OutgoingProposedSession","hangup",0x5911bc43,"snikket.jingle.OutgoingProposedSession.hangup","snikket/jingle/Session.hx",223,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_220_hangup,"snikket.jingle.OutgoingProposedSession","hangup",0x5911bc43,"snikket.jingle.OutgoingProposedSession.hangup","snikket/jingle/Session.hx",220,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_236_retract,"snikket.jingle.OutgoingProposedSession","retract",0x4b54af4b,"snikket.jingle.OutgoingProposedSession.retract","snikket/jingle/Session.hx",236,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_240_terminate,"snikket.jingle.OutgoingProposedSession","terminate",0x42b2662b,"snikket.jingle.OutgoingProposedSession.terminate","snikket/jingle/Session.hx",240,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_244_contentAdd,"snikket.jingle.OutgoingProposedSession","contentAdd",0x432a835e,"snikket.jingle.OutgoingProposedSession.contentAdd","snikket/jingle/Session.hx",244,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_248_contentAccept,"snikket.jingle.OutgoingProposedSession","contentAccept",0xd468a5eb,"snikket.jingle.OutgoingProposedSession.contentAccept","snikket/jingle/Session.hx",248,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_251_transportInfo,"snikket.jingle.OutgoingProposedSession","transportInfo",0xaa361d81,"snikket.jingle.OutgoingProposedSession.transportInfo","snikket/jingle/Session.hx",251,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_257_accept,"snikket.jingle.OutgoingProposedSession","accept",0xac187cfe,"snikket.jingle.OutgoingProposedSession.accept","snikket/jingle/Session.hx",257,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_260_initiate,"snikket.jingle.OutgoingProposedSession","initiate",0xd8683dcf,"snikket.jingle.OutgoingProposedSession.initiate","snikket/jingle/Session.hx",260,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_272_addMedia,"snikket.jingle.OutgoingProposedSession","addMedia",0xf7f1fe79,"snikket.jingle.OutgoingProposedSession.addMedia","snikket/jingle/Session.hx",272,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_276_callStatus,"snikket.jingle.OutgoingProposedSession","callStatus",0x3078db66,"snikket.jingle.OutgoingProposedSession.callStatus","snikket/jingle/Session.hx",276,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_280_videoTracks,"snikket.jingle.OutgoingProposedSession","videoTracks",0x2250fcad,"snikket.jingle.OutgoingProposedSession.videoTracks","snikket/jingle/Session.hx",280,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_284_dtmf,"snikket.jingle.OutgoingProposedSession","dtmf",0xe2521b5f,"snikket.jingle.OutgoingProposedSession.dtmf","snikket/jingle/Session.hx",284,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_288_get_sid,"snikket.jingle.OutgoingProposedSession","get_sid",0x756734ef,"snikket.jingle.OutgoingProposedSession.get_sid","snikket/jingle/Session.hx",288,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_3d104e43c930d498_292_get_chatId,"snikket.jingle.OutgoingProposedSession","get_chatId",0xa74b9192,"snikket.jingle.OutgoingProposedSession.get_chatId","snikket/jingle/Session.hx",292,0x6db2dd54)
-namespace snikket{
-namespace jingle{
-
-void OutgoingProposedSession_obj::__construct( ::snikket::Client client, ::snikket::JID to){
- HX_STACKFRAME(&_hx_pos_3d104e43c930d498_180_new)
-HXLINE( 187) this->video = false;
-HXLINE( 186) this->audio = false;
-HXLINE( 190) this->client = client;
-HXLINE( 191) this->to = to;
-HXLINE( 192) this->_sid = ::snikket::ID_obj::_hx_long();
- }
-
-Dynamic OutgoingProposedSession_obj::__CreateEmpty() { return new OutgoingProposedSession_obj; }
-
-void *OutgoingProposedSession_obj::_hx_vtable = 0;
-
-Dynamic OutgoingProposedSession_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< OutgoingProposedSession_obj > _hx_result = new OutgoingProposedSession_obj();
- _hx_result->__construct(inArgs[0],inArgs[1]);
- return _hx_result;
-}
-
-bool OutgoingProposedSession_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x4349a55a;
-}
-
-static ::snikket::jingle::Session_obj _hx_snikket_jingle_OutgoingProposedSession__hx_snikket_jingle_Session= {
- ( ::String (::hx::Object::*)())&::snikket::jingle::OutgoingProposedSession_obj::get_sid,
- ( ::String (::hx::Object::*)())&::snikket::jingle::OutgoingProposedSession_obj::get_chatId,
- ( ::snikket::jingle::InitiatedSession (::hx::Object::*)( ::snikket::Stanza))&::snikket::jingle::OutgoingProposedSession_obj::initiate_ef691953,
- ( void (::hx::Object::*)())&::snikket::jingle::OutgoingProposedSession_obj::accept,
- ( void (::hx::Object::*)())&::snikket::jingle::OutgoingProposedSession_obj::hangup,
- ( void (::hx::Object::*)())&::snikket::jingle::OutgoingProposedSession_obj::retract,
- ( void (::hx::Object::*)())&::snikket::jingle::OutgoingProposedSession_obj::terminate,
- ( void (::hx::Object::*)( ::snikket::Stanza))&::snikket::jingle::OutgoingProposedSession_obj::contentAdd,
- ( void (::hx::Object::*)( ::snikket::Stanza))&::snikket::jingle::OutgoingProposedSession_obj::contentAccept,
- ( ::Dynamic (::hx::Object::*)( ::snikket::Stanza))&::snikket::jingle::OutgoingProposedSession_obj::transportInfo,
- ( void (::hx::Object::*)(::Array< ::Dynamic>))&::snikket::jingle::OutgoingProposedSession_obj::addMedia,
- ( int (::hx::Object::*)())&::snikket::jingle::OutgoingProposedSession_obj::callStatus,
- ( ::Array< ::Dynamic> (::hx::Object::*)())&::snikket::jingle::OutgoingProposedSession_obj::videoTracks,
- ( ::snikket::jingle::DTMFSender (::hx::Object::*)())&::snikket::jingle::OutgoingProposedSession_obj::dtmf,
-};
-
- ::snikket::jingle::InitiatedSession OutgoingProposedSession_obj::initiate_ef691953( ::snikket::Stanza stanza) {
- return initiate(stanza);
-}
-void *OutgoingProposedSession_obj::_hx_getInterface(int inHash) {
- switch(inHash) {
- case (int)0x79d60748: return &_hx_snikket_jingle_OutgoingProposedSession__hx_snikket_jingle_Session;
- }
- #ifdef HXCPP_SCRIPTABLE
- return super::_hx_getInterface(inHash);
- #else
- return 0;
- #endif
-}
-
-void OutgoingProposedSession_obj::propose(bool audio,bool video){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::OutgoingProposedSession,_gthis, ::snikket::Stanza,event, ::snikket::ChatMessage,msg) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_3d104e43c930d498_206_propose)
-HXLINE( 207) ::String stanza = _gthis->to->asString();
-HXDLIN( 207) ::snikket::Stanza stanza1 = ::snikket::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( 210) _gthis->client->sendStanza(stanza1);
-HXLINE( 211) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::snikket::ChatMessage >(),0);
-HXLINE( 212) ::snikket::Client _gthis1 = _gthis->client;
-HXDLIN( 212) ::String _hx_tmp = _gthis->get_chatId();
-HXDLIN( 212) _gthis1->trigger(HX_("call/ringing",81,75,54,f9), ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("chatId",d3,04,77,b7),_hx_tmp)
- ->setFixed(1,HX_("sid",0e,9f,57,00),_gthis->get_sid())));
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_3d104e43c930d498_195_propose)
-HXDLIN( 195) ::snikket::jingle::OutgoingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 196) this->audio = audio;
-HXLINE( 197) this->video = video;
-HXLINE( 198) ::snikket::Stanza event = ::snikket::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( 199) if (audio) {
-HXLINE( 200) 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();
- }
-HXLINE( 202) if (video) {
-HXLINE( 203) 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();
- }
-HXLINE( 205) ::snikket::ChatMessage msg = ::snikket::jingle::_Session::Session_Fields__obj::mkCallMessage(this->to,this->client->jid,event);
-HXLINE( 206) this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg), ::Dynamic(new _hx_Closure_0(_gthis,event,msg)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(OutgoingProposedSession_obj,propose,(void))
-
-void OutgoingProposedSession_obj::hangup(){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::OutgoingProposedSession,_gthis, ::snikket::Stanza,event, ::snikket::ChatMessage,msg) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_3d104e43c930d498_223_hangup)
-HXLINE( 224) ::snikket::Client _gthis1 = _gthis->client;
-HXLINE( 225) ::String _hx_tmp = _gthis->to->asString();
-HXLINE( 224) _gthis1->sendStanza( ::snikket::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< ::snikket::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( 229) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::snikket::ChatMessage >(),1);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_3d104e43c930d498_220_hangup)
-HXDLIN( 220) ::snikket::jingle::OutgoingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 221) ::snikket::Stanza event = ::snikket::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( 222) ::snikket::ChatMessage msg = ::snikket::jingle::_Session::Session_Fields__obj::mkCallMessage(this->to,this->client->jid,event);
-HXLINE( 223) this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg), ::Dynamic(new _hx_Closure_0(_gthis,event,msg)));
-HXLINE( 231) {
-HXLINE( 231) ::snikket::Client this1 = this->client;
-HXDLIN( 231) ::Dynamic this2 = this1->getDirectChat(this->to->asBare()->asString(),false)->jingleSessions;
-HXDLIN( 231) ( ( ::haxe::ds::StringMap)(this2) )->remove(this->get_sid());
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,hangup,(void))
-
-void OutgoingProposedSession_obj::retract(){
- HX_STACKFRAME(&_hx_pos_3d104e43c930d498_236_retract)
-HXDLIN( 236) ::snikket::Client _hx_tmp = this->client;
-HXDLIN( 236) ::String _hx_tmp1 = this->get_chatId();
-HXDLIN( 236) _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())));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,retract,(void))
-
-void OutgoingProposedSession_obj::terminate(){
- HX_STACKFRAME(&_hx_pos_3d104e43c930d498_240_terminate)
-HXDLIN( 240) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 240) ::String _hx_tmp1 = (HX_("Tried to terminate before session-initiate: ",a9,d4,f3,a4) + this->get_sid());
-HXDLIN( 240) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.OutgoingProposedSession",b8,d3,7b,fd))
- ->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_("snikket/jingle/Session.hx",54,dd,b2,6d))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),240)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,terminate,(void))
-
-void OutgoingProposedSession_obj::contentAdd( ::snikket::Stanza _){
- HX_STACKFRAME(&_hx_pos_3d104e43c930d498_244_contentAdd)
-HXDLIN( 244) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 244) ::String _hx_tmp1 = (HX_("Got content-add before session-initiate: ",10,d3,fa,8a) + this->get_sid());
-HXDLIN( 244) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.OutgoingProposedSession",b8,d3,7b,fd))
- ->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_("snikket/jingle/Session.hx",54,dd,b2,6d))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),244)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(OutgoingProposedSession_obj,contentAdd,(void))
-
-void OutgoingProposedSession_obj::contentAccept( ::snikket::Stanza _){
- HX_STACKFRAME(&_hx_pos_3d104e43c930d498_248_contentAccept)
-HXDLIN( 248) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 248) ::String _hx_tmp1 = (HX_("Got content-accept before session-initiate: ",47,72,87,71) + this->get_sid());
-HXDLIN( 248) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.OutgoingProposedSession",b8,d3,7b,fd))
- ->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_("snikket/jingle/Session.hx",54,dd,b2,6d))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),248)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(OutgoingProposedSession_obj,contentAccept,(void))
-
-::Dynamic OutgoingProposedSession_obj::transportInfo( ::snikket::Stanza _){
- HX_STACKFRAME(&_hx_pos_3d104e43c930d498_251_transportInfo)
-HXLINE( 252) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 252) ::String _hx_tmp1 = (HX_("Got transport-info before session-initiate: ",bd,bd,9d,08) + this->get_sid());
-HXDLIN( 252) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.OutgoingProposedSession",b8,d3,7b,fd))
- ->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_("snikket/jingle/Session.hx",54,dd,b2,6d))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),252)));
-HXLINE( 253) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(OutgoingProposedSession_obj,transportInfo,return )
-
-void OutgoingProposedSession_obj::accept(){
- HX_STACKFRAME(&_hx_pos_3d104e43c930d498_257_accept)
-HXDLIN( 257) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 257) ::String _hx_tmp1 = (HX_("Tried to accept before initiate: ",77,4a,a0,ec) + this->get_sid());
-HXDLIN( 257) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.jingle.OutgoingProposedSession",b8,d3,7b,fd))
- ->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_("snikket/jingle/Session.hx",54,dd,b2,6d))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),257)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,accept,(void))
-
- ::snikket::jingle::OutgoingSession OutgoingProposedSession_obj::initiate( ::snikket::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_3d104e43c930d498_260_initiate)
-HXLINE( 261) ::snikket::Stanza jmi = stanza->getChild(HX_("proceed",2e,96,4a,f1),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 262) if (::hx::IsNull( jmi )) {
-HXLINE( 262) HX_STACK_DO_THROW((HX_("no jmi: ",4d,b1,bc,b7) + ::Std_obj::string(stanza)));
- }
-HXLINE( 263) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(jmi->attr,HX_("id",db,5b,00,00))) );
-HXDLIN( 263) if ((_hx_tmp != this->get_sid())) {
-HXLINE( 263) ::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( 263) HX_STACK_DO_THROW((_hx_tmp1 + this->get_sid()));
- }
-HXLINE( 264) ::snikket::Client _hx_tmp2 = this->client;
-HXDLIN( 264) _hx_tmp2->sendPresence(this->to->asString(),null());
-HXLINE( 265) ::snikket::Client session = this->client;
-HXDLIN( 265) ::snikket::JID session1 = ::snikket::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
-HXDLIN( 265) ::snikket::jingle::OutgoingSession session2 = ::snikket::jingle::OutgoingSession_obj::__alloc( HX_CTX ,session,session1,this->get_sid());
-HXLINE( 266) 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( 267) 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( 268) return session2;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(OutgoingProposedSession_obj,initiate,return )
-
-void OutgoingProposedSession_obj::addMedia(::Array< ::Dynamic> _){
- HX_STACKFRAME(&_hx_pos_3d104e43c930d498_272_addMedia)
-HXDLIN( 272) 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_3d104e43c930d498_276_callStatus)
-HXDLIN( 276) return 2;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,callStatus,return )
-
-::Array< ::Dynamic> OutgoingProposedSession_obj::videoTracks(){
- HX_STACKFRAME(&_hx_pos_3d104e43c930d498_280_videoTracks)
-HXDLIN( 280) return ::Array_obj< ::Dynamic>::__new(0);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,videoTracks,return )
-
- ::snikket::jingle::DTMFSender OutgoingProposedSession_obj::dtmf(){
- HX_STACKFRAME(&_hx_pos_3d104e43c930d498_284_dtmf)
-HXDLIN( 284) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,dtmf,return )
-
-::String OutgoingProposedSession_obj::get_sid(){
- HX_STACKFRAME(&_hx_pos_3d104e43c930d498_288_get_sid)
-HXDLIN( 288) return this->_sid;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,get_sid,return )
-
-::String OutgoingProposedSession_obj::get_chatId(){
- HX_STACKFRAME(&_hx_pos_3d104e43c930d498_292_get_chatId)
-HXDLIN( 292) return this->to->asBare()->asString();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,get_chatId,return )
-
-
-::hx::ObjectPtr< OutgoingProposedSession_obj > OutgoingProposedSession_obj::__new( ::snikket::Client client, ::snikket::JID to) {
- ::hx::ObjectPtr< OutgoingProposedSession_obj > __this = new OutgoingProposedSession_obj();
- __this->__construct(client,to);
- return __this;
-}
-
-::hx::ObjectPtr< OutgoingProposedSession_obj > OutgoingProposedSession_obj::__alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::JID to) {
- OutgoingProposedSession_obj *__this = (OutgoingProposedSession_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(OutgoingProposedSession_obj), true, "snikket.jingle.OutgoingProposedSession"));
- *(void **)__this = OutgoingProposedSession_obj::_hx_vtable;
- __this->__construct(client,to);
- return __this;
-}
-
-OutgoingProposedSession_obj::OutgoingProposedSession_obj()
-{
-}
-
-void OutgoingProposedSession_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(OutgoingProposedSession);
- HX_MARK_MEMBER_NAME(sid,"sid");
- HX_MARK_MEMBER_NAME(chatId,"chatId");
- HX_MARK_MEMBER_NAME(client,"client");
- HX_MARK_MEMBER_NAME(to,"to");
- HX_MARK_MEMBER_NAME(_sid,"_sid");
- HX_MARK_MEMBER_NAME(audio,"audio");
- HX_MARK_MEMBER_NAME(video,"video");
- HX_MARK_END_CLASS();
-}
-
-void OutgoingProposedSession_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(sid,"sid");
- HX_VISIT_MEMBER_NAME(chatId,"chatId");
- HX_VISIT_MEMBER_NAME(client,"client");
- HX_VISIT_MEMBER_NAME(to,"to");
- HX_VISIT_MEMBER_NAME(_sid,"_sid");
- HX_VISIT_MEMBER_NAME(audio,"audio");
- HX_VISIT_MEMBER_NAME(video,"video");
-}
-
-::hx::Val OutgoingProposedSession_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"to") ) { return ::hx::Val( to ); }
- break;
- case 3:
- if (HX_FIELD_EQ(inName,"sid") ) { return ::hx::Val( inCallProp == ::hx::paccAlways ? get_sid() : sid ); }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"_sid") ) { return ::hx::Val( _sid ); }
- if (HX_FIELD_EQ(inName,"dtmf") ) { return ::hx::Val( dtmf_dyn() ); }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"audio") ) { return ::hx::Val( audio ); }
- if (HX_FIELD_EQ(inName,"video") ) { return ::hx::Val( video ); }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( inCallProp == ::hx::paccAlways ? get_chatId() : chatId ); }
- if (HX_FIELD_EQ(inName,"client") ) { return ::hx::Val( client ); }
- if (HX_FIELD_EQ(inName,"hangup") ) { return ::hx::Val( hangup_dyn() ); }
- if (HX_FIELD_EQ(inName,"accept") ) { return ::hx::Val( accept_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"propose") ) { return ::hx::Val( propose_dyn() ); }
- if (HX_FIELD_EQ(inName,"retract") ) { return ::hx::Val( retract_dyn() ); }
- if (HX_FIELD_EQ(inName,"get_sid") ) { return ::hx::Val( get_sid_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"initiate") ) { return ::hx::Val( initiate_dyn() ); }
- if (HX_FIELD_EQ(inName,"addMedia") ) { return ::hx::Val( addMedia_dyn() ); }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"terminate") ) { return ::hx::Val( terminate_dyn() ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"contentAdd") ) { return ::hx::Val( contentAdd_dyn() ); }
- if (HX_FIELD_EQ(inName,"callStatus") ) { return ::hx::Val( callStatus_dyn() ); }
- if (HX_FIELD_EQ(inName,"get_chatId") ) { return ::hx::Val( get_chatId_dyn() ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"videoTracks") ) { return ::hx::Val( videoTracks_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"contentAccept") ) { return ::hx::Val( contentAccept_dyn() ); }
- if (HX_FIELD_EQ(inName,"transportInfo") ) { return ::hx::Val( transportInfo_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-::hx::Val OutgoingProposedSession_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"to") ) { to=inValue.Cast< ::snikket::JID >(); return inValue; }
- break;
- case 3:
- if (HX_FIELD_EQ(inName,"sid") ) { sid=inValue.Cast< ::String >(); return inValue; }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"_sid") ) { _sid=inValue.Cast< ::String >(); return inValue; }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"audio") ) { audio=inValue.Cast< bool >(); return inValue; }
- if (HX_FIELD_EQ(inName,"video") ) { video=inValue.Cast< bool >(); return inValue; }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"chatId") ) { chatId=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"client") ) { client=inValue.Cast< ::snikket::Client >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void OutgoingProposedSession_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("sid",0e,9f,57,00));
- outFields->push(HX_("chatId",d3,04,77,b7));
- outFields->push(HX_("client",4b,ca,4f,0a));
- outFields->push(HX_("to",7b,65,00,00));
- outFields->push(HX_("_sid",0f,e4,22,3f));
- outFields->push(HX_("audio",d6,78,80,27));
- outFields->push(HX_("video",7b,14,fc,36));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo OutgoingProposedSession_obj_sMemberStorageInfo[] = {
- {::hx::fsString,(int)offsetof(OutgoingProposedSession_obj,sid),HX_("sid",0e,9f,57,00)},
- {::hx::fsString,(int)offsetof(OutgoingProposedSession_obj,chatId),HX_("chatId",d3,04,77,b7)},
- {::hx::fsObject /* ::snikket::Client */ ,(int)offsetof(OutgoingProposedSession_obj,client),HX_("client",4b,ca,4f,0a)},
- {::hx::fsObject /* ::snikket::JID */ ,(int)offsetof(OutgoingProposedSession_obj,to),HX_("to",7b,65,00,00)},
- {::hx::fsString,(int)offsetof(OutgoingProposedSession_obj,_sid),HX_("_sid",0f,e4,22,3f)},
- {::hx::fsBool,(int)offsetof(OutgoingProposedSession_obj,audio),HX_("audio",d6,78,80,27)},
- {::hx::fsBool,(int)offsetof(OutgoingProposedSession_obj,video),HX_("video",7b,14,fc,36)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *OutgoingProposedSession_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String OutgoingProposedSession_obj_sMemberFields[] = {
- HX_("sid",0e,9f,57,00),
- HX_("chatId",d3,04,77,b7),
- HX_("client",4b,ca,4f,0a),
- HX_("to",7b,65,00,00),
- HX_("_sid",0f,e4,22,3f),
- HX_("audio",d6,78,80,27),
- HX_("video",7b,14,fc,36),
- HX_("propose",fe,fe,e9,f9),
- HX_("hangup",4d,d2,ff,b7),
- HX_("retract",01,e2,b9,fc),
- HX_("terminate",61,32,d2,fd),
- HX_("contentAdd",68,66,dd,43),
- HX_("contentAccept",21,c5,01,e1),
- HX_("transportInfo",b7,3c,cf,b6),
- HX_("accept",08,93,06,0b),
- HX_("initiate",59,6a,8f,5f),
- HX_("addMedia",03,2b,19,7f),
- HX_("callStatus",70,be,2b,31),
- HX_("videoTracks",63,c2,24,be),
- HX_("dtmf",e9,ba,71,42),
- HX_("get_sid",a5,67,cc,26),
- HX_("get_chatId",9c,74,fe,a7),
- ::String(null()) };
-
-::hx::Class OutgoingProposedSession_obj::__mClass;
-
-void OutgoingProposedSession_obj::__register()
-{
- OutgoingProposedSession_obj _hx_dummy;
- OutgoingProposedSession_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.OutgoingProposedSession",b8,d3,7b,fd);
- __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(OutgoingProposedSession_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< OutgoingProposedSession_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = OutgoingProposedSession_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = OutgoingProposedSession_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
-} // end namespace jingle
diff --git a/Sources/c_snikket/src/snikket/jingle/OutgoingSession.cpp b/Sources/c_snikket/src/snikket/jingle/OutgoingSession.cpp
deleted file mode 100644
index 368195e..0000000
--- a/Sources/c_snikket/src/snikket/jingle/OutgoingSession.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_snikket_Client
-#include <snikket/Client.h>
-#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_InitiatedSession
-#include <snikket/jingle/InitiatedSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_OutgoingSession
-#include <snikket/jingle/OutgoingSession.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_PeerConnection
-#include <snikket/jingle/PeerConnection.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_Session
-#include <snikket/jingle/Session.h>
-#endif
-#ifndef INCLUDED_snikket_jingle_SessionDescription
-#include <snikket/jingle/SessionDescription.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_4d1e8fd6f72343e8_655_new,"snikket.jingle.OutgoingSession","new",0xd3491ab0,"snikket.jingle.OutgoingSession.new","snikket/jingle/Session.hx",655,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d1e8fd6f72343e8_659_onPeerConnection,"snikket.jingle.OutgoingSession","onPeerConnection",0xa4a0358f,"snikket.jingle.OutgoingSession.onPeerConnection","snikket/jingle/Session.hx",659,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d1e8fd6f72343e8_666_initiate,"snikket.jingle.OutgoingSession","initiate",0x19babe09,"snikket.jingle.OutgoingSession.initiate","snikket/jingle/Session.hx",666,0x6db2dd54)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d1e8fd6f72343e8_662_initiate,"snikket.jingle.OutgoingSession","initiate",0x19babe09,"snikket.jingle.OutgoingSession.initiate","snikket/jingle/Session.hx",662,0x6db2dd54)
-namespace snikket{
-namespace jingle{
-
-void OutgoingSession_obj::__construct( ::snikket::Client client, ::snikket::JID counterpart,::String sid){
- HX_STACKFRAME(&_hx_pos_4d1e8fd6f72343e8_655_new)
-HXDLIN( 655) super::__construct(client,counterpart,sid,null());
- }
-
-Dynamic OutgoingSession_obj::__CreateEmpty() { return new OutgoingSession_obj; }
-
-void *OutgoingSession_obj::_hx_vtable = 0;
-
-Dynamic OutgoingSession_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< OutgoingSession_obj > _hx_result = new OutgoingSession_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2]);
- return _hx_result;
-}
-
-bool OutgoingSession_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x050f75b9) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x050f75b9;
- } else {
- return inClassId==(int)0x43b8b0fc;
- }
-}
-
-::Dynamic OutgoingSession_obj::onPeerConnection(){
- HX_STACKFRAME(&_hx_pos_4d1e8fd6f72343e8_659_onPeerConnection)
-HXDLIN( 659) return this->setupLocalDescription(HX_("session-initiate",70,2d,30,f7),null(),null(),null());
- }
-
-
- ::snikket::jingle::OutgoingSession OutgoingSession_obj::initiate( ::snikket::Stanza stanza){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::jingle::OutgoingSession,_gthis, ::snikket::Stanza,stanza) HXARGC(1)
- ::Dynamic _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_4d1e8fd6f72343e8_666_initiate)
-HXLINE( 666) return _gthis->transportInfo(stanza);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_4d1e8fd6f72343e8_662_initiate)
-HXDLIN( 662) ::snikket::jingle::OutgoingSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 663) this->remoteDescription = ::snikket::jingle::SessionDescription_obj::fromStanza(stanza,true,null());
-HXLINE( 664) this->peerDtlsSetup = this->remoteDescription->getDtlsSetup();
-HXLINE( 665) ::snikket::jingle::PeerConnection _hx_tmp = this->pc;
-HXDLIN( 665) ::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( 667) return ::hx::ObjectPtr<OBJ_>(this);
- }
-
-
-
-::hx::ObjectPtr< OutgoingSession_obj > OutgoingSession_obj::__new( ::snikket::Client client, ::snikket::JID counterpart,::String sid) {
- ::hx::ObjectPtr< OutgoingSession_obj > __this = new OutgoingSession_obj();
- __this->__construct(client,counterpart,sid);
- return __this;
-}
-
-::hx::ObjectPtr< OutgoingSession_obj > OutgoingSession_obj::__alloc(::hx::Ctx *_hx_ctx, ::snikket::Client client, ::snikket::JID counterpart,::String sid) {
- OutgoingSession_obj *__this = (OutgoingSession_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(OutgoingSession_obj), true, "snikket.jingle.OutgoingSession"));
- *(void **)__this = OutgoingSession_obj::_hx_vtable;
- __this->__construct(client,counterpart,sid);
- return __this;
-}
-
-OutgoingSession_obj::OutgoingSession_obj()
-{
-}
-
-::hx::Val OutgoingSession_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 8:
- if (HX_FIELD_EQ(inName,"initiate") ) { return ::hx::Val( initiate_dyn() ); }
- break;
- case 16:
- if (HX_FIELD_EQ(inName,"onPeerConnection") ) { return ::hx::Val( onPeerConnection_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo *OutgoingSession_obj_sMemberStorageInfo = 0;
-static ::hx::StaticInfo *OutgoingSession_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String OutgoingSession_obj_sMemberFields[] = {
- HX_("onPeerConnection",df,b1,71,fc),
- HX_("initiate",59,6a,8f,5f),
- ::String(null()) };
-
-::hx::Class OutgoingSession_obj::__mClass;
-
-void OutgoingSession_obj::__register()
-{
- OutgoingSession_obj _hx_dummy;
- OutgoingSession_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.jingle.OutgoingSession",be,42,22,a3);
- __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(OutgoingSession_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< OutgoingSession_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = OutgoingSession_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = OutgoingSession_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
-} // end namespace jingle
diff --git a/Sources/c_snikket/src/snikket/persistence/Dummy.cpp b/Sources/c_snikket/src/snikket/persistence/Dummy.cpp
deleted file mode 100644
index 4bab518..0000000
--- a/Sources/c_snikket/src/snikket/persistence/Dummy.cpp
+++ /dev/null
@@ -1,512 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_snikket_Caps
-#include <snikket/Caps.h>
-#endif
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_Persistence
-#include <snikket/Persistence.h>
-#endif
-#ifndef INCLUDED_snikket_ReactionUpdate
-#include <snikket/ReactionUpdate.h>
-#endif
-#ifndef INCLUDED_snikket_SerializedChat
-#include <snikket/SerializedChat.h>
-#endif
-#ifndef INCLUDED_snikket_persistence_Dummy
-#include <snikket/persistence/Dummy.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_929f3522faf0dc9d_24_new,"snikket.persistence.Dummy","new",0x955fa47a,"snikket.persistence.Dummy.new","snikket/persistence/Dummy.hx",24,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_28_lastId,"snikket.persistence.Dummy","lastId",0x6b0543f7,"snikket.persistence.Dummy.lastId","snikket/persistence/Dummy.hx",28,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_32_storeChats,"snikket.persistence.Dummy","storeChats",0x0b288e20,"snikket.persistence.Dummy.storeChats","snikket/persistence/Dummy.hx",32,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_36_getChats,"snikket.persistence.Dummy","getChats",0xf665bbcb,"snikket.persistence.Dummy.getChats","snikket/persistence/Dummy.hx",36,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_41_storeMessages,"snikket.persistence.Dummy","storeMessages",0xa1f1aa67,"snikket.persistence.Dummy.storeMessages","snikket/persistence/Dummy.hx",41,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_45_updateMessage,"snikket.persistence.Dummy","updateMessage",0x1db35358,"snikket.persistence.Dummy.updateMessage","snikket/persistence/Dummy.hx",45,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_50_getMessage,"snikket.persistence.Dummy","getMessage",0x7168fef7,"snikket.persistence.Dummy.getMessage","snikket/persistence/Dummy.hx",50,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_55_getMessagesBefore,"snikket.persistence.Dummy","getMessagesBefore",0xc569ff3b,"snikket.persistence.Dummy.getMessagesBefore","snikket/persistence/Dummy.hx",55,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_60_getMessagesAfter,"snikket.persistence.Dummy","getMessagesAfter",0x864b66e0,"snikket.persistence.Dummy.getMessagesAfter","snikket/persistence/Dummy.hx",60,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_65_getMessagesAround,"snikket.persistence.Dummy","getMessagesAround",0xe13ba309,"snikket.persistence.Dummy.getMessagesAround","snikket/persistence/Dummy.hx",65,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_70_getChatsUnreadDetails,"snikket.persistence.Dummy","getChatsUnreadDetails",0x913fb788,"snikket.persistence.Dummy.getChatsUnreadDetails","snikket/persistence/Dummy.hx",70,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_75_storeReaction,"snikket.persistence.Dummy","storeReaction",0x63a8b944,"snikket.persistence.Dummy.storeReaction","snikket/persistence/Dummy.hx",75,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_80_updateMessageStatus,"snikket.persistence.Dummy","updateMessageStatus",0xe164c0aa,"snikket.persistence.Dummy.updateMessageStatus","snikket/persistence/Dummy.hx",80,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_85_getMediaUri,"snikket.persistence.Dummy","getMediaUri",0x090c45b8,"snikket.persistence.Dummy.getMediaUri","snikket/persistence/Dummy.hx",85,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_90_hasMedia,"snikket.persistence.Dummy","hasMedia",0xe2ef5cd0,"snikket.persistence.Dummy.hasMedia","snikket/persistence/Dummy.hx",90,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_95_storeMedia,"snikket.persistence.Dummy","storeMedia",0xcb30f469,"snikket.persistence.Dummy.storeMedia","snikket/persistence/Dummy.hx",95,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_99_removeMedia,"snikket.persistence.Dummy","removeMedia",0x7374601a,"snikket.persistence.Dummy.removeMedia","snikket/persistence/Dummy.hx",99,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_103_storeCaps,"snikket.persistence.Dummy","storeCaps",0x0ca8443c,"snikket.persistence.Dummy.storeCaps","snikket/persistence/Dummy.hx",103,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_107_getCaps,"snikket.persistence.Dummy","getCaps",0x762db4f1,"snikket.persistence.Dummy.getCaps","snikket/persistence/Dummy.hx",107,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_111_storeLogin,"snikket.persistence.Dummy","storeLogin",0x3e68c8ee,"snikket.persistence.Dummy.storeLogin","snikket/persistence/Dummy.hx",111,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_115_getLogin,"snikket.persistence.Dummy","getLogin",0x29a5f699,"snikket.persistence.Dummy.getLogin","snikket/persistence/Dummy.hx",115,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_119_removeAccount,"snikket.persistence.Dummy","removeAccount",0x32481163,"snikket.persistence.Dummy.removeAccount","snikket/persistence/Dummy.hx",119,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_123_listAccounts,"snikket.persistence.Dummy","listAccounts",0x1a525a4a,"snikket.persistence.Dummy.listAccounts","snikket/persistence/Dummy.hx",123,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_127_storeStreamManagement,"snikket.persistence.Dummy","storeStreamManagement",0x999cffbe,"snikket.persistence.Dummy.storeStreamManagement","snikket/persistence/Dummy.hx",127,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_131_getStreamManagement,"snikket.persistence.Dummy","getStreamManagement",0x3ea32bf3,"snikket.persistence.Dummy.getStreamManagement","snikket/persistence/Dummy.hx",131,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_135_storeService,"snikket.persistence.Dummy","storeService",0xc260b6fa,"snikket.persistence.Dummy.storeService","snikket/persistence/Dummy.hx",135,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_139_findServicesWithFeature,"snikket.persistence.Dummy","findServicesWithFeature",0xc3938bb3,"snikket.persistence.Dummy.findServicesWithFeature","snikket/persistence/Dummy.hx",139,0x75c8d7b8)
-HX_LOCAL_STACK_FRAME(_hx_pos_929f3522faf0dc9d_18_boot,"snikket.persistence.Dummy","boot",0x166946d8,"snikket.persistence.Dummy.boot","snikket/persistence/Dummy.hx",18,0x75c8d7b8)
-namespace snikket{
-namespace persistence{
-
-void Dummy_obj::__construct(){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_24_new)
- }
-
-Dynamic Dummy_obj::__CreateEmpty() { return new Dummy_obj; }
-
-void *Dummy_obj::_hx_vtable = 0;
-
-Dynamic Dummy_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Dummy_obj > _hx_result = new Dummy_obj();
- _hx_result->__construct();
- return _hx_result;
-}
-
-bool Dummy_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x130a03e2;
-}
-
-static ::snikket::Persistence_obj _hx_snikket_persistence_Dummy__hx_snikket_Persistence= {
- ( void (::hx::Object::*)(::String,::String, ::Dynamic))&::snikket::persistence::Dummy_obj::lastId,
- ( void (::hx::Object::*)(::String,::Array< ::Dynamic>))&::snikket::persistence::Dummy_obj::storeChats,
- ( void (::hx::Object::*)(::String, ::Dynamic))&::snikket::persistence::Dummy_obj::getChats,
- ( void (::hx::Object::*)(::String,::Array< ::Dynamic>, ::Dynamic))&::snikket::persistence::Dummy_obj::getChatsUnreadDetails,
- ( void (::hx::Object::*)(::String, ::snikket::ReactionUpdate, ::Dynamic))&::snikket::persistence::Dummy_obj::storeReaction,
- ( void (::hx::Object::*)(::String,::Array< ::Dynamic>, ::Dynamic))&::snikket::persistence::Dummy_obj::storeMessages,
- ( void (::hx::Object::*)(::String, ::snikket::ChatMessage))&::snikket::persistence::Dummy_obj::updateMessage,
- ( void (::hx::Object::*)(::String,::String,int, ::Dynamic))&::snikket::persistence::Dummy_obj::updateMessageStatus,
- ( void (::hx::Object::*)(::String,::String,::String,::String, ::Dynamic))&::snikket::persistence::Dummy_obj::getMessage,
- ( void (::hx::Object::*)(::String,::String,::String,::String, ::Dynamic))&::snikket::persistence::Dummy_obj::getMessagesBefore,
- ( void (::hx::Object::*)(::String,::String,::String,::String, ::Dynamic))&::snikket::persistence::Dummy_obj::getMessagesAfter,
- ( void (::hx::Object::*)(::String,::String,::String,::String, ::Dynamic))&::snikket::persistence::Dummy_obj::getMessagesAround,
- ( void (::hx::Object::*)(::String,::Array< unsigned char >, ::Dynamic))&::snikket::persistence::Dummy_obj::hasMedia,
- ( void (::hx::Object::*)(::String,::Array< unsigned char >, ::Dynamic))&::snikket::persistence::Dummy_obj::storeMedia,
- ( void (::hx::Object::*)(::String,::Array< unsigned char >))&::snikket::persistence::Dummy_obj::removeMedia,
- ( void (::hx::Object::*)( ::snikket::Caps))&::snikket::persistence::Dummy_obj::storeCaps,
- ( void (::hx::Object::*)(::String, ::Dynamic))&::snikket::persistence::Dummy_obj::getCaps,
- ( void (::hx::Object::*)(::String,::String,::String,::String))&::snikket::persistence::Dummy_obj::storeLogin,
- ( void (::hx::Object::*)(::String, ::Dynamic))&::snikket::persistence::Dummy_obj::getLogin,
- ( void (::hx::Object::*)(::String,bool))&::snikket::persistence::Dummy_obj::removeAccount,
- ( void (::hx::Object::*)( ::Dynamic))&::snikket::persistence::Dummy_obj::listAccounts,
- ( void (::hx::Object::*)(::String,::Array< unsigned char >))&::snikket::persistence::Dummy_obj::storeStreamManagement,
- ( void (::hx::Object::*)(::String, ::Dynamic))&::snikket::persistence::Dummy_obj::getStreamManagement,
- ( void (::hx::Object::*)(::String,::String,::String,::String, ::snikket::Caps))&::snikket::persistence::Dummy_obj::storeService,
- ( void (::hx::Object::*)(::String,::String, ::Dynamic))&::snikket::persistence::Dummy_obj::findServicesWithFeature,
-};
-
-void *Dummy_obj::_hx_getInterface(int inHash) {
- switch(inHash) {
- case (int)0x3e9d59e2: return &_hx_snikket_persistence_Dummy__hx_snikket_Persistence;
- }
- #ifdef HXCPP_SCRIPTABLE
- return super::_hx_getInterface(inHash);
- #else
- return 0;
- #endif
-}
-
-void Dummy_obj::lastId(::String accountId,::String chatId, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_28_lastId)
-HXDLIN( 28) callback(null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Dummy_obj,lastId,(void))
-
-void Dummy_obj::storeChats(::String accountId,::Array< ::Dynamic> chat){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_32_storeChats)
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,storeChats,(void))
-
-void Dummy_obj::getChats(::String accountId, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_36_getChats)
-HXDLIN( 36) callback(::Array_obj< ::Dynamic>::__new(0));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,getChats,(void))
-
-void Dummy_obj::storeMessages(::String accountId,::Array< ::Dynamic> messages, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_41_storeMessages)
-HXDLIN( 41) callback(messages);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Dummy_obj,storeMessages,(void))
-
-void Dummy_obj::updateMessage(::String accountId, ::snikket::ChatMessage message){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_45_updateMessage)
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,updateMessage,(void))
-
-void Dummy_obj::getMessage(::String accountId,::String chatId,::String serverId,::String localId, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_50_getMessage)
-HXDLIN( 50) callback(null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC5(Dummy_obj,getMessage,(void))
-
-void Dummy_obj::getMessagesBefore(::String accountId,::String chatId,::String beforeId,::String beforeTime, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_55_getMessagesBefore)
-HXDLIN( 55) callback(::Array_obj< ::Dynamic>::__new(0));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC5(Dummy_obj,getMessagesBefore,(void))
-
-void Dummy_obj::getMessagesAfter(::String accountId,::String chatId,::String afterId,::String afterTime, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_60_getMessagesAfter)
-HXDLIN( 60) callback(::Array_obj< ::Dynamic>::__new(0));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC5(Dummy_obj,getMessagesAfter,(void))
-
-void Dummy_obj::getMessagesAround(::String accountId,::String chatId,::String aroundId,::String aroundTime, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_65_getMessagesAround)
-HXDLIN( 65) callback(::Array_obj< ::Dynamic>::__new(0));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC5(Dummy_obj,getMessagesAround,(void))
-
-void Dummy_obj::getChatsUnreadDetails(::String accountId,::Array< ::Dynamic> chats, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_70_getChatsUnreadDetails)
-HXDLIN( 70) callback(::Array_obj< ::Dynamic>::__new(0));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Dummy_obj,getChatsUnreadDetails,(void))
-
-void Dummy_obj::storeReaction(::String accountId, ::snikket::ReactionUpdate update, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_75_storeReaction)
-HXDLIN( 75) callback(null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Dummy_obj,storeReaction,(void))
-
-void Dummy_obj::updateMessageStatus(::String accountId,::String localId,int status, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_80_updateMessageStatus)
-HXDLIN( 80) callback(null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC4(Dummy_obj,updateMessageStatus,(void))
-
-void Dummy_obj::getMediaUri(::String hashAlgorithm,::Array< unsigned char > hash, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_85_getMediaUri)
-HXDLIN( 85) callback(null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Dummy_obj,getMediaUri,(void))
-
-void Dummy_obj::hasMedia(::String hashAlgorithm,::Array< unsigned char > hash, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_90_hasMedia)
-HXDLIN( 90) callback(false);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Dummy_obj,hasMedia,(void))
-
-void Dummy_obj::storeMedia(::String mime,::Array< unsigned char > bd, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_95_storeMedia)
-HXDLIN( 95) callback();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Dummy_obj,storeMedia,(void))
-
-void Dummy_obj::removeMedia(::String hashAlgorithm,::Array< unsigned char > hash){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_99_removeMedia)
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,removeMedia,(void))
-
-void Dummy_obj::storeCaps( ::snikket::Caps caps){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_103_storeCaps)
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Dummy_obj,storeCaps,(void))
-
-void Dummy_obj::getCaps(::String ver, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_107_getCaps)
-HXDLIN( 107) callback(null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,getCaps,(void))
-
-void Dummy_obj::storeLogin(::String login,::String clientId,::String displayName,::String token){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_111_storeLogin)
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC4(Dummy_obj,storeLogin,(void))
-
-void Dummy_obj::getLogin(::String login, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_115_getLogin)
-HXDLIN( 115) callback(null(),null(),0,null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,getLogin,(void))
-
-void Dummy_obj::removeAccount(::String accountId,bool completely){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_119_removeAccount)
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,removeAccount,(void))
-
-void Dummy_obj::listAccounts( ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_123_listAccounts)
-HXDLIN( 123) callback(::Array_obj< ::String >::__new(0));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Dummy_obj,listAccounts,(void))
-
-void Dummy_obj::storeStreamManagement(::String accountId,::Array< unsigned char > sm){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_127_storeStreamManagement)
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,storeStreamManagement,(void))
-
-void Dummy_obj::getStreamManagement(::String accountId, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_131_getStreamManagement)
-HXDLIN( 131) callback(null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,getStreamManagement,(void))
-
-void Dummy_obj::storeService(::String accountId,::String serviceId,::String name,::String node, ::snikket::Caps caps){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_135_storeService)
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC5(Dummy_obj,storeService,(void))
-
-void Dummy_obj::findServicesWithFeature(::String accountId,::String feature, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_139_findServicesWithFeature)
-HXDLIN( 139) callback(::Array_obj< ::Dynamic>::__new(0));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Dummy_obj,findServicesWithFeature,(void))
-
-
-::hx::ObjectPtr< Dummy_obj > Dummy_obj::__new() {
- ::hx::ObjectPtr< Dummy_obj > __this = new Dummy_obj();
- __this->__construct();
- return __this;
-}
-
-::hx::ObjectPtr< Dummy_obj > Dummy_obj::__alloc(::hx::Ctx *_hx_ctx) {
- Dummy_obj *__this = (Dummy_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Dummy_obj), false, "snikket.persistence.Dummy"));
- *(void **)__this = Dummy_obj::_hx_vtable;
- __this->__construct();
- return __this;
-}
-
-Dummy_obj::Dummy_obj()
-{
-}
-
-::hx::Val Dummy_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 6:
- if (HX_FIELD_EQ(inName,"lastId") ) { return ::hx::Val( lastId_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"getCaps") ) { return ::hx::Val( getCaps_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"getChats") ) { return ::hx::Val( getChats_dyn() ); }
- if (HX_FIELD_EQ(inName,"hasMedia") ) { return ::hx::Val( hasMedia_dyn() ); }
- if (HX_FIELD_EQ(inName,"getLogin") ) { return ::hx::Val( getLogin_dyn() ); }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"storeCaps") ) { return ::hx::Val( storeCaps_dyn() ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"storeChats") ) { return ::hx::Val( storeChats_dyn() ); }
- if (HX_FIELD_EQ(inName,"getMessage") ) { return ::hx::Val( getMessage_dyn() ); }
- if (HX_FIELD_EQ(inName,"storeMedia") ) { return ::hx::Val( storeMedia_dyn() ); }
- if (HX_FIELD_EQ(inName,"storeLogin") ) { return ::hx::Val( storeLogin_dyn() ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"getMediaUri") ) { return ::hx::Val( getMediaUri_dyn() ); }
- if (HX_FIELD_EQ(inName,"removeMedia") ) { return ::hx::Val( removeMedia_dyn() ); }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"listAccounts") ) { return ::hx::Val( listAccounts_dyn() ); }
- if (HX_FIELD_EQ(inName,"storeService") ) { return ::hx::Val( storeService_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"storeMessages") ) { return ::hx::Val( storeMessages_dyn() ); }
- if (HX_FIELD_EQ(inName,"updateMessage") ) { return ::hx::Val( updateMessage_dyn() ); }
- if (HX_FIELD_EQ(inName,"storeReaction") ) { return ::hx::Val( storeReaction_dyn() ); }
- if (HX_FIELD_EQ(inName,"removeAccount") ) { return ::hx::Val( removeAccount_dyn() ); }
- break;
- case 16:
- if (HX_FIELD_EQ(inName,"getMessagesAfter") ) { return ::hx::Val( getMessagesAfter_dyn() ); }
- break;
- case 17:
- if (HX_FIELD_EQ(inName,"getMessagesBefore") ) { return ::hx::Val( getMessagesBefore_dyn() ); }
- if (HX_FIELD_EQ(inName,"getMessagesAround") ) { return ::hx::Val( getMessagesAround_dyn() ); }
- break;
- case 19:
- if (HX_FIELD_EQ(inName,"updateMessageStatus") ) { return ::hx::Val( updateMessageStatus_dyn() ); }
- if (HX_FIELD_EQ(inName,"getStreamManagement") ) { return ::hx::Val( getStreamManagement_dyn() ); }
- break;
- case 21:
- if (HX_FIELD_EQ(inName,"getChatsUnreadDetails") ) { return ::hx::Val( getChatsUnreadDetails_dyn() ); }
- if (HX_FIELD_EQ(inName,"storeStreamManagement") ) { return ::hx::Val( storeStreamManagement_dyn() ); }
- break;
- case 23:
- if (HX_FIELD_EQ(inName,"findServicesWithFeature") ) { return ::hx::Val( findServicesWithFeature_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo *Dummy_obj_sMemberStorageInfo = 0;
-static ::hx::StaticInfo *Dummy_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String Dummy_obj_sMemberFields[] = {
- HX_("lastId",d1,0b,c5,54),
- HX_("storeChats",fa,4a,32,83),
- HX_("getChats",25,ae,8a,a5),
- 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_("getChatsUnreadDetails",ee,d4,5a,85),
- HX_("storeReaction",aa,00,75,ab),
- HX_("updateMessageStatus",90,98,ad,0f),
- HX_("getMediaUri",9e,c7,87,99),
- HX_("hasMedia",2a,4f,14,92),
- HX_("storeMedia",43,b1,3a,43),
- HX_("removeMedia",00,e2,ef,03),
- HX_("storeCaps",a2,60,d7,9d),
- HX_("getCaps",d7,cb,3c,14),
- HX_("storeLogin",c8,85,72,b6),
- HX_("getLogin",f3,e8,ca,d8),
- HX_("removeAccount",c9,58,14,7a),
- HX_("listAccounts",a4,81,e8,f5),
- HX_("storeStreamManagement",24,1d,b8,8d),
- HX_("getStreamManagement",d9,03,ec,6c),
- HX_("storeService",54,de,f6,9d),
- HX_("findServicesWithFeature",99,4e,bd,4a),
- ::String(null()) };
-
-::hx::Class Dummy_obj::__mClass;
-
-void Dummy_obj::__register()
-{
- Dummy_obj _hx_dummy;
- Dummy_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.persistence.Dummy",88,9f,69,09);
- __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(Dummy_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< Dummy_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Dummy_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Dummy_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-void Dummy_obj::__boot()
-{
-{
- HX_STACKFRAME(&_hx_pos_929f3522faf0dc9d_18_boot)
-HXDLIN( 18) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(26)
- ->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)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(2,HX_("storeStreamManagement",24,1d,b8,8d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(3,HX_("hasMedia",2a,4f,14,92), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(4,HX_("getMediaUri",9e,c7,87,99), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(5,HX_("storeCaps",a2,60,d7,9d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(6,HX_("storeService",54,de,f6,9d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(7,HX_("getChats",25,ae,8a,a5), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(8,HX_("storeReaction",aa,00,75,ab), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(9,HX_("storeLogin",c8,85,72,b6), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(10,HX_("getLogin",f3,e8,ca,d8), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(11,HX_("getMessage",d1,bb,72,e9), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(12,HX_("storeMessages",cd,f1,bd,e9), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(13,HX_("listAccounts",a4,81,e8,f5), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(14,HX_("removeMedia",00,e2,ef,03), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(15,HX_("updateMessageStatus",90,98,ad,0f), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(16,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(17,HX_("getCaps",d7,cb,3c,14), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(18,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_("storeMedia",43,b1,3a,43), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(20,HX_("findServicesWithFeature",99,4e,bd,4a), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(21,HX_("lastId",d1,0b,c5,54), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(22,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(23,HX_("updateMessage",be,9a,7f,65), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(24,HX_("getStreamManagement",d9,03,ec,6c), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(25,HX_("removeAccount",c9,58,14,7a), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
- }
-}
-
-} // end namespace snikket
-} // end namespace persistence
diff --git a/Sources/c_snikket/src/snikket/persistence/MediaStoreFS.cpp b/Sources/c_snikket/src/snikket/persistence/MediaStoreFS.cpp
deleted file mode 100644
index 9429403..0000000
--- a/Sources/c_snikket/src/snikket/persistence/MediaStoreFS.cpp
+++ /dev/null
@@ -1,430 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED__HaxeCBridge_Internal
-#include <_HaxeCBridge/Internal.h>
-#endif
-#ifndef INCLUDED_cpp_Int64Map
-#include <cpp/Int64Map.h>
-#endif
-#ifndef INCLUDED_haxe_IMap
-#include <haxe/IMap.h>
-#endif
-#ifndef INCLUDED_haxe_io_Bytes
-#include <haxe/io/Bytes.h>
-#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
-#endif
-#ifndef INCLUDED_snikket_persistence_KeyValueStore
-#include <snikket/persistence/KeyValueStore.h>
-#endif
-#ifndef INCLUDED_snikket_persistence_MediaStore
-#include <snikket/persistence/MediaStore.h>
-#endif
-#ifndef INCLUDED_snikket_persistence_MediaStoreFS
-#include <snikket/persistence/MediaStoreFS.h>
-#endif
-#ifndef INCLUDED_sys_FileSystem
-#include <sys/FileSystem.h>
-#endif
-#ifndef INCLUDED_sys_io_File
-#include <sys/io/File.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_563dc7a3a6261986_16_new,"snikket.persistence.MediaStoreFS","new",0x1ed99b7c,"snikket.persistence.MediaStoreFS.new","snikket/persistence/MediaStoreFS.hx",16,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_26_setKV,"snikket.persistence.MediaStoreFS","setKV",0x9e1353e9,"snikket.persistence.MediaStoreFS.setKV","snikket/persistence/MediaStoreFS.hx",26,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_29_getMediaPath,"snikket.persistence.MediaStoreFS","getMediaPath",0x37f9e697,"snikket.persistence.MediaStoreFS.getMediaPath","snikket/persistence/MediaStoreFS.hx",29,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_39_getMediaPath,"snikket.persistence.MediaStoreFS","getMediaPath",0x37f9e697,"snikket.persistence.MediaStoreFS.getMediaPath","snikket/persistence/MediaStoreFS.hx",39,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_01cf80b813798682_221_getMediaPath__fromC,"snikket.persistence.MediaStoreFS","getMediaPath__fromC",0x295c9ac2,"snikket.persistence.MediaStoreFS.getMediaPath__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_01cf80b813798682_252_getMediaPath__fromC,"snikket.persistence.MediaStoreFS","getMediaPath__fromC",0x295c9ac2,"snikket.persistence.MediaStoreFS.getMediaPath__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_53_hasMedia,"snikket.persistence.MediaStoreFS","hasMedia",0x55acbe8e,"snikket.persistence.MediaStoreFS.hasMedia","snikket/persistence/MediaStoreFS.hx",53,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_51_hasMedia,"snikket.persistence.MediaStoreFS","hasMedia",0x55acbe8e,"snikket.persistence.MediaStoreFS.hasMedia","snikket/persistence/MediaStoreFS.hx",51,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_60_removeMedia,"snikket.persistence.MediaStoreFS","removeMedia",0x3020291c,"snikket.persistence.MediaStoreFS.removeMedia","snikket/persistence/MediaStoreFS.hx",60,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_57_removeMedia,"snikket.persistence.MediaStoreFS","removeMedia",0x3020291c,"snikket.persistence.MediaStoreFS.removeMedia","snikket/persistence/MediaStoreFS.hx",57,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_73_storeMedia,"snikket.persistence.MediaStoreFS","storeMedia",0x7158c1a7,"snikket.persistence.MediaStoreFS.storeMedia","snikket/persistence/MediaStoreFS.hx",73,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_65_storeMedia,"snikket.persistence.MediaStoreFS","storeMedia",0x7158c1a7,"snikket.persistence.MediaStoreFS.storeMedia","snikket/persistence/MediaStoreFS.hx",65,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_80_set,"snikket.persistence.MediaStoreFS","set",0x1edd66be,"snikket.persistence.MediaStoreFS.set","snikket/persistence/MediaStoreFS.hx",80,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_76_set,"snikket.persistence.MediaStoreFS","set",0x1edd66be,"snikket.persistence.MediaStoreFS.set","snikket/persistence/MediaStoreFS.hx",76,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_88_get,"snikket.persistence.MediaStoreFS","get",0x1ed44bb2,"snikket.persistence.MediaStoreFS.get","snikket/persistence/MediaStoreFS.hx",88,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_84_get,"snikket.persistence.MediaStoreFS","get",0x1ed44bb2,"snikket.persistence.MediaStoreFS.get","snikket/persistence/MediaStoreFS.hx",84,0x66ae6c32)
-HX_LOCAL_STACK_FRAME(_hx_pos_563dc7a3a6261986_16_boot,"snikket.persistence.MediaStoreFS","boot",0xd7a77196,"snikket.persistence.MediaStoreFS.boot","snikket/persistence/MediaStoreFS.hx",16,0x66ae6c32)
-namespace snikket{
-namespace persistence{
-
-void MediaStoreFS_obj::__construct(::String path){
- HX_STACKFRAME(&_hx_pos_563dc7a3a6261986_16_new)
-HXLINE( 18) this->kv = null();
-HXLINE( 21) this->blobpath = path;
- }
-
-Dynamic MediaStoreFS_obj::__CreateEmpty() { return new MediaStoreFS_obj; }
-
-void *MediaStoreFS_obj::_hx_vtable = 0;
-
-Dynamic MediaStoreFS_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< MediaStoreFS_obj > _hx_result = new MediaStoreFS_obj();
- _hx_result->__construct(inArgs[0]);
- return _hx_result;
-}
-
-bool MediaStoreFS_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x3993cd38;
-}
-
-static ::snikket::persistence::MediaStore_obj _hx_snikket_persistence_MediaStoreFS__hx_snikket_persistence_MediaStore= {
- ( void (::hx::Object::*)(::String,::Array< unsigned char >, ::Dynamic))&::snikket::persistence::MediaStoreFS_obj::hasMedia,
- ( void (::hx::Object::*)(::String,::Array< unsigned char >))&::snikket::persistence::MediaStoreFS_obj::removeMedia,
- ( void (::hx::Object::*)(::String,::Array< unsigned char >, ::Dynamic))&::snikket::persistence::MediaStoreFS_obj::storeMedia,
- ( void (::hx::Object::*)(::Dynamic))&::snikket::persistence::MediaStoreFS_obj::setKV,
-};
-
-void *MediaStoreFS_obj::_hx_getInterface(int inHash) {
- switch(inHash) {
- case (int)0x2952283f: return &_hx_snikket_persistence_MediaStoreFS__hx_snikket_persistence_MediaStore;
- }
- #ifdef HXCPP_SCRIPTABLE
- return super::_hx_getInterface(inHash);
- #else
- return 0;
- #endif
-}
-
-void MediaStoreFS_obj::setKV(::Dynamic kv){
- HX_STACKFRAME(&_hx_pos_563dc7a3a6261986_26_setKV)
-HXDLIN( 26) this->kv = kv;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(MediaStoreFS_obj,setKV,(void))
-
-void MediaStoreFS_obj::getMediaPath(::String uri, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_563dc7a3a6261986_29_getMediaPath)
-HXDLIN( 29) ::snikket::persistence::MediaStoreFS _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 30) ::snikket::Hash hash = ::snikket::Hash_obj::fromUri(uri);
-HXLINE( 31) if ((hash->algorithm == HX_("sha-256",32,dd,04,3b))) {
-HXLINE( 32) ::String path = (this->blobpath + HX_("/f",57,29,00,00));
-HXDLIN( 32) ::String path1 = (path + hash->toHex());
-HXLINE( 33) if (::sys::FileSystem_obj::exists(path1)) {
-HXLINE( 34) ::Dynamic callback1 = callback;
-HXDLIN( 34) callback1(::sys::FileSystem_obj::absolutePath(path1));
- }
- else {
-HXLINE( 36) callback(null());
- }
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::persistence::MediaStoreFS,_gthis, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::String sha256uri){
- HX_STACKFRAME(&_hx_pos_563dc7a3a6261986_39_getMediaPath)
-HXLINE( 40) ::snikket::Hash sha256;
-HXDLIN( 40) if (::hx::IsNull( sha256uri )) {
-HXLINE( 40) sha256 = null();
- }
- else {
-HXLINE( 40) sha256 = ::snikket::Hash_obj::fromUri(sha256uri);
- }
-HXLINE( 41) if (::hx::IsNull( sha256 )) {
-HXLINE( 42) callback(null());
- }
- else {
-HXLINE( 44) ::snikket::persistence::MediaStoreFS _gthis1 = _gthis;
-HXDLIN( 44) ::String _hx_tmp = sha256->toUri();
-HXDLIN( 44) _gthis1->getMediaPath(_hx_tmp,callback);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 39) ::thenshim::_Promise::Promise_Impl__obj::then(this->get(hash->serializeUri()), ::Dynamic(new _hx_Closure_0(_gthis,callback)),null());
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(MediaStoreFS_obj,getMediaPath,(void))
-
-void MediaStoreFS_obj::getMediaPath__fromC(::String uri,::cpp::Function< void (const char*,void*) > callback,void* callback__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,void*,callback__context,::cpp::Function< void (const char* HX_COMMA void*) >,callback) HXARGC(1)
- void _hx_run(::String a0){
- HX_STACKFRAME(&_hx_pos_01cf80b813798682_221_getMediaPath__fromC)
-HXLINE( 221) ::cpp::Function< void (const char*,void*) > callback1 = callback;
-HXLINE( 213) const char* cStrPtr = a0.utf8_str();
-HXDLIN( 213) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
-HXDLIN( 213) {
-HXLINE( 213) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 213) if (::hx::IsNull( store )) {
-HXLINE( 213) store = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),a0));
-HXDLIN( 213) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 213) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) callback1(cStrPtr,callback__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_01cf80b813798682_252_getMediaPath__fromC)
-HXDLIN( 252) this->getMediaPath(uri, ::Dynamic(new _hx_Closure_0(callback__context,callback)));
- }
-
-
-void MediaStoreFS_obj::hasMedia(::String hashAlgorithm,::Array< unsigned char > hash, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::String path){
- HX_GC_STACKFRAME(&_hx_pos_563dc7a3a6261986_53_hasMedia)
-HXLINE( 53) callback(::hx::IsNotNull( path ));
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_563dc7a3a6261986_51_hasMedia)
-HXLINE( 52) ::snikket::Hash hash1 = ::snikket::Hash_obj::__alloc( HX_CTX ,hashAlgorithm,hash);
-HXLINE( 53) this->getMediaPath(hash1->toUri(), ::Dynamic(new _hx_Closure_0(callback)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(MediaStoreFS_obj,hasMedia,(void))
-
-void MediaStoreFS_obj::removeMedia(::String hashAlgorithm,::Array< unsigned char > hash){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- void _hx_run(::String path){
- HX_GC_STACKFRAME(&_hx_pos_563dc7a3a6261986_60_removeMedia)
-HXLINE( 60) if (::hx::IsNotNull( path )) {
-HXLINE( 60) ::sys::FileSystem_obj::deleteFile(path);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_563dc7a3a6261986_57_removeMedia)
-HXLINE( 58) ::snikket::Hash hash1 = ::snikket::Hash_obj::__alloc( HX_CTX ,hashAlgorithm,hash);
-HXLINE( 59) this->getMediaPath(hash1->toUri(), ::Dynamic(new _hx_Closure_0()));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(MediaStoreFS_obj,removeMedia,(void))
-
-void MediaStoreFS_obj::storeMedia(::String mime,::Array< unsigned char > bd, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::cpp::VirtualArray _){
- HX_STACKFRAME(&_hx_pos_563dc7a3a6261986_73_storeMedia)
-HXLINE( 73) callback();
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_563dc7a3a6261986_65_storeMedia)
-HXLINE( 66) ::haxe::io::Bytes bytes = ::haxe::io::Bytes_obj::ofData(bd);
-HXLINE( 67) ::snikket::Hash sha1 = ::snikket::Hash_obj::sha1(bytes);
-HXLINE( 68) ::snikket::Hash sha256 = ::snikket::Hash_obj::sha256(bytes);
-HXLINE( 69) ::String _hx_tmp = (this->blobpath + HX_("/f",57,29,00,00));
-HXDLIN( 69) ::sys::io::File_obj::saveBytes((_hx_tmp + sha256->toHex()),bytes);
-HXLINE( 71) ::String _hx_tmp1 = sha1->serializeUri();
-HXDLIN( 71) ::Dynamic _hx_tmp2 = this->set(_hx_tmp1,sha256->serializeUri());
-HXLINE( 70) ::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(callback)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(MediaStoreFS_obj,storeMedia,(void))
-
-::Dynamic MediaStoreFS_obj::set(::String k,::String v){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::snikket::persistence::MediaStoreFS,_gthis,::String,k,::String,v) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,resolve) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_563dc7a3a6261986_80_set)
-HXLINE( 80) resolve(null());
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_563dc7a3a6261986_80_set)
-HXLINE( 80) ::snikket::persistence::KeyValueStore_obj::set(_gthis->kv,k,v, ::Dynamic(new _hx_Closure_0(resolve)));
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_STACKFRAME(&_hx_pos_563dc7a3a6261986_76_set)
-HXDLIN( 76) ::snikket::persistence::MediaStoreFS _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 77) if (::hx::IsNull( this->kv )) {
-HXLINE( 77) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
- }
-HXLINE( 79) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,k,v)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(MediaStoreFS_obj,set,return )
-
-::Dynamic MediaStoreFS_obj::get(::String k){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::persistence::MediaStoreFS,_gthis,::String,k) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_STACKFRAME(&_hx_pos_563dc7a3a6261986_88_get)
-HXLINE( 88) ::snikket::persistence::KeyValueStore_obj::get(_gthis->kv,k,resolve);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_STACKFRAME(&_hx_pos_563dc7a3a6261986_84_get)
-HXDLIN( 84) ::snikket::persistence::MediaStoreFS _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 85) if (::hx::IsNull( this->kv )) {
-HXLINE( 85) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
- }
-HXLINE( 87) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_0(_gthis,k)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(MediaStoreFS_obj,get,return )
-
-
-::hx::ObjectPtr< MediaStoreFS_obj > MediaStoreFS_obj::__new(::String path) {
- ::hx::ObjectPtr< MediaStoreFS_obj > __this = new MediaStoreFS_obj();
- __this->__construct(path);
- return __this;
-}
-
-::hx::ObjectPtr< MediaStoreFS_obj > MediaStoreFS_obj::__alloc(::hx::Ctx *_hx_ctx,::String path) {
- MediaStoreFS_obj *__this = (MediaStoreFS_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MediaStoreFS_obj), true, "snikket.persistence.MediaStoreFS"));
- *(void **)__this = MediaStoreFS_obj::_hx_vtable;
- __this->__construct(path);
- return __this;
-}
-
-MediaStoreFS_obj::MediaStoreFS_obj()
-{
-}
-
-void MediaStoreFS_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(MediaStoreFS);
- HX_MARK_MEMBER_NAME(blobpath,"blobpath");
- HX_MARK_MEMBER_NAME(kv,"kv");
- HX_MARK_END_CLASS();
-}
-
-void MediaStoreFS_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(blobpath,"blobpath");
- HX_VISIT_MEMBER_NAME(kv,"kv");
-}
-
-::hx::Val MediaStoreFS_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"kv") ) { return ::hx::Val( kv ); }
- break;
- case 3:
- if (HX_FIELD_EQ(inName,"set") ) { return ::hx::Val( set_dyn() ); }
- if (HX_FIELD_EQ(inName,"get") ) { return ::hx::Val( get_dyn() ); }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"setKV") ) { return ::hx::Val( setKV_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"blobpath") ) { return ::hx::Val( blobpath ); }
- if (HX_FIELD_EQ(inName,"hasMedia") ) { return ::hx::Val( hasMedia_dyn() ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"storeMedia") ) { return ::hx::Val( storeMedia_dyn() ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"removeMedia") ) { return ::hx::Val( removeMedia_dyn() ); }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"getMediaPath") ) { return ::hx::Val( getMediaPath_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-::hx::Val MediaStoreFS_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"kv") ) { kv=inValue.Cast< ::Dynamic >(); return inValue; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"blobpath") ) { blobpath=inValue.Cast< ::String >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void MediaStoreFS_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("blobpath",82,95,91,89));
- outFields->push(HX_("kv",ab,5d,00,00));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo MediaStoreFS_obj_sMemberStorageInfo[] = {
- {::hx::fsString,(int)offsetof(MediaStoreFS_obj,blobpath),HX_("blobpath",82,95,91,89)},
- {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(MediaStoreFS_obj,kv),HX_("kv",ab,5d,00,00)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *MediaStoreFS_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String MediaStoreFS_obj_sMemberFields[] = {
- HX_("blobpath",82,95,91,89),
- HX_("kv",ab,5d,00,00),
- HX_("setKV",cd,89,2f,7a),
- HX_("getMediaPath",33,f5,eb,b9),
- HX_("hasMedia",2a,4f,14,92),
- HX_("removeMedia",00,e2,ef,03),
- HX_("storeMedia",43,b1,3a,43),
- HX_("set",a2,9b,57,00),
- HX_("get",96,80,4e,00),
- ::String(null()) };
-
-::hx::Class MediaStoreFS_obj::__mClass;
-
-void MediaStoreFS_obj::__register()
-{
- MediaStoreFS_obj _hx_dummy;
- MediaStoreFS_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.persistence.MediaStoreFS",8a,6d,17,86);
- __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(MediaStoreFS_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< MediaStoreFS_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = MediaStoreFS_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = MediaStoreFS_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-void MediaStoreFS_obj::__boot()
-{
-{
- HX_STACKFRAME(&_hx_pos_563dc7a3a6261986_16_boot)
-HXDLIN( 16) __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_("hasMedia",2a,4f,14,92), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(1,HX_("getMediaPath",33,f5,eb,b9), ::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(2,HX_("removeMedia",00,e2,ef,03), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(3,HX_("storeMedia",43,b1,3a,43), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(4,HX_("getMediaPath__fromC",a6,d7,a5,46), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
- }
-}
-
-} // end namespace snikket
-} // end namespace persistence
diff --git a/Sources/c_snikket/src/snikket/persistence/Sqlite.cpp b/Sources/c_snikket/src/snikket/persistence/Sqlite.cpp
deleted file mode 100644
index f303451..0000000
--- a/Sources/c_snikket/src/snikket/persistence/Sqlite.cpp
+++ /dev/null
@@ -1,3314 +0,0 @@
-// 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_Std
-#include <Std.h>
-#endif
-#ifndef INCLUDED_StringBuf
-#include <StringBuf.h>
-#endif
-#ifndef INCLUDED_Type
-#include <Type.h>
-#endif
-#ifndef INCLUDED__HaxeCBridge_Internal
-#include <_HaxeCBridge/Internal.h>
-#endif
-#ifndef INCLUDED_cpp_Int64Map
-#include <cpp/Int64Map.h>
-#endif
-#ifndef INCLUDED_haxe_IMap
-#include <haxe/IMap.h>
-#endif
-#ifndef INCLUDED_haxe_Timer
-#include <haxe/Timer.h>
-#endif
-#ifndef INCLUDED_haxe_crypto_Base64
-#include <haxe/crypto/Base64.h>
-#endif
-#ifndef INCLUDED_haxe_ds_ObjectMap
-#include <haxe/ds/ObjectMap.h>
-#endif
-#ifndef INCLUDED_haxe_ds_StringMap
-#include <haxe/ds/StringMap.h>
-#endif
-#ifndef INCLUDED_haxe_format_JsonParser
-#include <haxe/format/JsonParser.h>
-#endif
-#ifndef INCLUDED_haxe_format_JsonPrinter
-#include <haxe/format/JsonPrinter.h>
-#endif
-#ifndef INCLUDED_haxe_io_Bytes
-#include <haxe/io/Bytes.h>
-#endif
-#ifndef INCLUDED_haxe_iterators_ArrayIterator
-#include <haxe/iterators/ArrayIterator.h>
-#endif
-#ifndef INCLUDED_snikket_Caps
-#include <snikket/Caps.h>
-#endif
-#ifndef INCLUDED_snikket_Channel
-#include <snikket/Channel.h>
-#endif
-#ifndef INCLUDED_snikket_Chat
-#include <snikket/Chat.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessage
-#include <snikket/ChatMessage.h>
-#endif
-#ifndef INCLUDED_snikket_ChatMessageBuilder
-#include <snikket/ChatMessageBuilder.h>
-#endif
-#ifndef INCLUDED_snikket_Config
-#include <snikket/Config.h>
-#endif
-#ifndef INCLUDED_snikket_CustomEmojiReaction
-#include <snikket/CustomEmojiReaction.h>
-#endif
-#ifndef INCLUDED_snikket_Hash
-#include <snikket/Hash.h>
-#endif
-#ifndef INCLUDED_snikket_Identity
-#include <snikket/Identity.h>
-#endif
-#ifndef INCLUDED_snikket_JID
-#include <snikket/JID.h>
-#endif
-#ifndef INCLUDED_snikket_JsonPrinter
-#include <snikket/JsonPrinter.h>
-#endif
-#ifndef INCLUDED_snikket_Persistence
-#include <snikket/Persistence.h>
-#endif
-#ifndef INCLUDED_snikket_Presence
-#include <snikket/Presence.h>
-#endif
-#ifndef INCLUDED_snikket_Reaction
-#include <snikket/Reaction.h>
-#endif
-#ifndef INCLUDED_snikket_ReactionUpdate
-#include <snikket/ReactionUpdate.h>
-#endif
-#ifndef INCLUDED_snikket_SerializedChat
-#include <snikket/SerializedChat.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket_persistence_KeyValueStore
-#include <snikket/persistence/KeyValueStore.h>
-#endif
-#ifndef INCLUDED_snikket_persistence_MediaStore
-#include <snikket/persistence/MediaStore.h>
-#endif
-#ifndef INCLUDED_snikket_persistence_Sqlite
-#include <snikket/persistence/Sqlite.h>
-#endif
-#ifndef INCLUDED_snikket_persistence_SqliteDriver
-#include <snikket/persistence/SqliteDriver.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_5b1a6b524efab4db_41_new,"snikket.persistence.Sqlite","new",0xb859925e,"snikket.persistence.Sqlite.new","snikket/persistence/Sqlite.hx",41,0x917a2510)
-static const ::String _hx_array_data_e415cb6c_1[] = {
- 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;",58,1c,57,a1),HX_("CREATE INDEX messages_created_at ON messages (account_id, chat_id, created_at);",f1,c3,db,39),HX_("CREATE INDEX messages_correction_id ON messages (correction_id);",7e,cd,37,3e),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;",84,84,f7,05),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;",1e,36,08,e6),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;",79,bf,78,20),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;",32,46,2e,5c),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;",b6,63,df,b2),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;",09,3c,de,e0),HX_("PRAGMA user_version = 1;",45,c2,55,a9),
-};
-HX_DEFINE_STACK_FRAME(_hx_pos_5b1a6b524efab4db_118_new,"snikket.persistence.Sqlite","new",0xb859925e,"snikket.persistence.Sqlite.new","snikket/persistence/Sqlite.hx",118,0x917a2510)
-static const ::String _hx_array_data_e415cb6c_3[] = {
- HX_("ALTER TABLE chats ADD COLUMN notifications_filtered INTEGER;",e5,d7,a4,6f),HX_("ALTER TABLE chats ADD COLUMN notify_mention INTEGER NOT NULL DEFAULT 0;",52,d4,13,7f),HX_("ALTER TABLE chats ADD COLUMN notify_reply INTEGER NOT NULL DEFAULT 0;",92,b1,9f,14),HX_("PRAGMA user_version = 2;",24,c3,55,a9),
-};
-HX_DEFINE_STACK_FRAME(_hx_pos_5b1a6b524efab4db_39_new,"snikket.persistence.Sqlite","new",0xb859925e,"snikket.persistence.Sqlite.new","snikket/persistence/Sqlite.hx",39,0x917a2510)
-HX_DEFINE_STACK_FRAME(_hx_pos_5b1a6b524efab4db_38_new,"snikket.persistence.Sqlite","new",0xb859925e,"snikket.persistence.Sqlite.new","snikket/persistence/Sqlite.hx",38,0x917a2510)
-static const ::String _hx_array_data_e415cb6c_6[] = {
- HX_("PRAGMA user_version;",73,bf,dc,ae),
-};
-HX_DEFINE_STACK_FRAME(_hx_pos_5b1a6b524efab4db_24_new,"snikket.persistence.Sqlite","new",0xb859925e,"snikket.persistence.Sqlite.new","snikket/persistence/Sqlite.hx",24,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_133_get,"snikket.persistence.Sqlite","get",0xb8544294,"snikket.persistence.Sqlite.get","snikket/persistence/Sqlite.hx",133,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_144_set,"snikket.persistence.Sqlite","set",0xb85d5da0,"snikket.persistence.Sqlite.set","snikket/persistence/Sqlite.hx",144,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_146_set,"snikket.persistence.Sqlite","set",0xb85d5da0,"snikket.persistence.Sqlite.set","snikket/persistence/Sqlite.hx",146,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_150_set,"snikket.persistence.Sqlite","set",0xb85d5da0,"snikket.persistence.Sqlite.set","snikket/persistence/Sqlite.hx",150,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_167_lastId,"snikket.persistence.Sqlite","lastId",0xe7f21c93,"snikket.persistence.Sqlite.lastId","snikket/persistence/Sqlite.hx",167,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_156_lastId,"snikket.persistence.Sqlite","lastId",0xe7f21c93,"snikket.persistence.Sqlite.lastId","snikket/persistence/Sqlite.hx",156,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_184_storeChats,"snikket.persistence.Sqlite","storeChats",0xcde3e4bc,"snikket.persistence.Sqlite.storeChats","snikket/persistence/Sqlite.hx",184,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_183_storeChats,"snikket.persistence.Sqlite","storeChats",0xcde3e4bc,"snikket.persistence.Sqlite.storeChats","snikket/persistence/Sqlite.hx",183,0x917a2510)
-static const ::String _hx_array_data_e415cb6c_25[] = {
- HX_("INSERT OR REPLACE INTO chats VALUES ",3b,7d,10,d4),
-};
-static const ::String _hx_array_data_e415cb6c_26[] = {
- HX_(",",2c,00,00,00),
-};
-static const ::String _hx_array_data_e415cb6c_27[] = {
- HX_("(?,?,?,?,?,?,?,?,?,?,?,jsonb(?),?,?,?,?)",4e,16,2e,3d),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_174_storeChats,"snikket.persistence.Sqlite","storeChats",0xcde3e4bc,"snikket.persistence.Sqlite.storeChats","snikket/persistence/Sqlite.hx",174,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_247_getChats,"snikket.persistence.Sqlite","getChats",0x2aaef367,"snikket.persistence.Sqlite.getChats","snikket/persistence/Sqlite.hx",247,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_251_getChats,"snikket.persistence.Sqlite","getChats",0x2aaef367,"snikket.persistence.Sqlite.getChats","snikket/persistence/Sqlite.hx",251,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_234_getChats,"snikket.persistence.Sqlite","getChats",0x2aaef367,"snikket.persistence.Sqlite.getChats","snikket/persistence/Sqlite.hx",234,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_239_getChats,"snikket.persistence.Sqlite","getChats",0x2aaef367,"snikket.persistence.Sqlite.getChats","snikket/persistence/Sqlite.hx",239,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_252_getChats,"snikket.persistence.Sqlite","getChats",0x2aaef367,"snikket.persistence.Sqlite.getChats","snikket/persistence/Sqlite.hx",252,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_256_getChats,"snikket.persistence.Sqlite","getChats",0x2aaef367,"snikket.persistence.Sqlite.getChats","snikket/persistence/Sqlite.hx",256,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_230_getChats,"snikket.persistence.Sqlite","getChats",0x2aaef367,"snikket.persistence.Sqlite.getChats","snikket/persistence/Sqlite.hx",230,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_316_storeMessages,"snikket.persistence.Sqlite","storeMessages",0x458d5d4b,"snikket.persistence.Sqlite.storeMessages","snikket/persistence/Sqlite.hx",316,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_331_storeMessages,"snikket.persistence.Sqlite","storeMessages",0x458d5d4b,"snikket.persistence.Sqlite.storeMessages","snikket/persistence/Sqlite.hx",331,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_279_storeMessages,"snikket.persistence.Sqlite","storeMessages",0x458d5d4b,"snikket.persistence.Sqlite.storeMessages","snikket/persistence/Sqlite.hx",279,0x917a2510)
-static const ::String _hx_array_data_e415cb6c_53[] = {
- HX_("DELETE FROM messages WHERE account_id=? AND direction=? AND chat_id IN (",a1,9c,a2,06),
-};
-static const ::String _hx_array_data_e415cb6c_54[] = {
- HX_(") AND stanza_id IN (",e8,da,d3,eb),
-};
-static const ::String _hx_array_data_e415cb6c_55[] = {
- HX_(")",29,00,00,00),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_339_updateMessage,"snikket.persistence.Sqlite","updateMessage",0xc14f063c,"snikket.persistence.Sqlite.updateMessage","snikket/persistence/Sqlite.hx",339,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_353_getMessage,"snikket.persistence.Sqlite","getMessage",0x34245593,"snikket.persistence.Sqlite.getMessage","snikket/persistence/Sqlite.hx",353,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_359_getMessage,"snikket.persistence.Sqlite","getMessage",0x34245593,"snikket.persistence.Sqlite.getMessage","snikket/persistence/Sqlite.hx",359,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_342_getMessage,"snikket.persistence.Sqlite","getMessage",0x34245593,"snikket.persistence.Sqlite.getMessage","snikket/persistence/Sqlite.hx",342,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_45dcb523da764b50_221_getMessage__fromC,"snikket.persistence.Sqlite","getMessage__fromC",0x61244346,"snikket.persistence.Sqlite.getMessage__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_45dcb523da764b50_252_getMessage__fromC,"snikket.persistence.Sqlite","getMessage__fromC",0x61244346,"snikket.persistence.Sqlite.getMessage__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_392_getMessages,"snikket.persistence.Sqlite","getMessages",0x6ba68b80,"snikket.persistence.Sqlite.getMessages","snikket/persistence/Sqlite.hx",392,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_405_getMessages,"snikket.persistence.Sqlite","getMessages",0x6ba68b80,"snikket.persistence.Sqlite.getMessages","snikket/persistence/Sqlite.hx",405,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_366_getMessages,"snikket.persistence.Sqlite","getMessages",0x6ba68b80,"snikket.persistence.Sqlite.getMessages","snikket/persistence/Sqlite.hx",366,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_410_getMessagesBefore,"snikket.persistence.Sqlite","getMessagesBefore",0x6d22f41f,"snikket.persistence.Sqlite.getMessagesBefore","snikket/persistence/Sqlite.hx",410,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_415_getMessagesAfter,"snikket.persistence.Sqlite","getMessagesAfter",0x143f9a7c,"snikket.persistence.Sqlite.getMessagesAfter","snikket/persistence/Sqlite.hx",415,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_431_getMessagesAround,"snikket.persistence.Sqlite","getMessagesAround",0x88f497ed,"snikket.persistence.Sqlite.getMessagesAround","snikket/persistence/Sqlite.hx",431,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_436_getMessagesAround,"snikket.persistence.Sqlite","getMessagesAround",0x88f497ed,"snikket.persistence.Sqlite.getMessagesAround","snikket/persistence/Sqlite.hx",436,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_419_getMessagesAround,"snikket.persistence.Sqlite","getMessagesAround",0x88f497ed,"snikket.persistence.Sqlite.getMessagesAround","snikket/persistence/Sqlite.hx",419,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_421_getMessagesAround,"snikket.persistence.Sqlite","getMessagesAround",0x88f497ed,"snikket.persistence.Sqlite.getMessagesAround","snikket/persistence/Sqlite.hx",421,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_422_getMessagesAround,"snikket.persistence.Sqlite","getMessagesAround",0x88f497ed,"snikket.persistence.Sqlite.getMessagesAround","snikket/persistence/Sqlite.hx",422,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_425_getMessagesAround,"snikket.persistence.Sqlite","getMessagesAround",0x88f497ed,"snikket.persistence.Sqlite.getMessagesAround","snikket/persistence/Sqlite.hx",425,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_447_getChatsUnreadDetails,"snikket.persistence.Sqlite","getChatsUnreadDetails",0x81deee6c,"snikket.persistence.Sqlite.getChatsUnreadDetails","snikket/persistence/Sqlite.hx",447,0x917a2510)
-static const ::String _hx_array_data_e415cb6c_88[] = {
- HX_("SELECT chat_id, ROWID as row, MAX(created_at) AS created_at FROM messages WHERE account_id=?",d0,69,08,92),
-};
-static const ::String _hx_array_data_e415cb6c_89[] = {
- HX_(" AND chat_id IN (",14,bd,7b,de),
-};
-static const ::String _hx_array_data_e415cb6c_90[] = {
- HX_(",",2c,00,00,00),
-};
-static const ::String _hx_array_data_e415cb6c_91[] = {
- HX_("?",3f,00,00,00),
-};
-static const ::String _hx_array_data_e415cb6c_92[] = {
- HX_(") AND (mam_id IN (",64,f4,1c,69),
-};
-static const ::String _hx_array_data_e415cb6c_93[] = {
- HX_(",",2c,00,00,00),
-};
-static const ::String _hx_array_data_e415cb6c_94[] = {
- HX_("?",3f,00,00,00),
-};
-static const ::String _hx_array_data_e415cb6c_95[] = {
- HX_(") OR direction=?) GROUP BY chat_id",cc,ab,94,e3),
-};
-static const ::String _hx_array_data_e415cb6c_96[] = {
- HX_("SELECT chat_id AS chatId, stanza, direction, type, status, sender_id, mam_id, mam_by, sync_point, CASE WHEN subq.created_at IS NULL THEN COUNT(*) ELSE COUNT(*) - 1 END AS unreadCount, strftime('%FT%H:%M:%fZ', MAX(messages.created_at) / 1000.0, 'unixepoch') AS timestamp FROM messages LEFT JOIN (",2a,b0,45,a6),
-};
-static const ::String _hx_array_data_e415cb6c_97[] = {
- HX_(") subq USING (chat_id) WHERE account_id=? AND (stanza_id IS NULL OR stanza_id='' OR stanza_id=correction_id) AND chat_id IN (",e7,a1,32,e5),
-};
-static const ::String _hx_array_data_e415cb6c_98[] = {
- HX_(",",2c,00,00,00),
-};
-static const ::String _hx_array_data_e415cb6c_99[] = {
- HX_("?",3f,00,00,00),
-};
-static const ::String _hx_array_data_e415cb6c_100[] = {
- HX_(") AND (subq.created_at IS NULL OR messages.created_at > subq.created_at OR (messages.created_at=subq.created_at AND messages.ROWID >= subq.row)) GROUP BY chat_id;",58,6f,52,ea),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_484_getChatsUnreadDetails,"snikket.persistence.Sqlite","getChatsUnreadDetails",0x81deee6c,"snikket.persistence.Sqlite.getChatsUnreadDetails","snikket/persistence/Sqlite.hx",484,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_486_getChatsUnreadDetails,"snikket.persistence.Sqlite","getChatsUnreadDetails",0x81deee6c,"snikket.persistence.Sqlite.getChatsUnreadDetails","snikket/persistence/Sqlite.hx",486,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_485_getChatsUnreadDetails,"snikket.persistence.Sqlite","getChatsUnreadDetails",0x81deee6c,"snikket.persistence.Sqlite.getChatsUnreadDetails","snikket/persistence/Sqlite.hx",485,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_441_getChatsUnreadDetails,"snikket.persistence.Sqlite","getChatsUnreadDetails",0x81deee6c,"snikket.persistence.Sqlite.getChatsUnreadDetails","snikket/persistence/Sqlite.hx",441,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_510_storeReaction,"snikket.persistence.Sqlite","storeReaction",0x07446c28,"snikket.persistence.Sqlite.storeReaction","snikket/persistence/Sqlite.hx",510,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_501_storeReaction,"snikket.persistence.Sqlite","storeReaction",0x07446c28,"snikket.persistence.Sqlite.storeReaction","snikket/persistence/Sqlite.hx",501,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_520_updateMessageStatus,"snikket.persistence.Sqlite","updateMessageStatus",0xa0efb68e,"snikket.persistence.Sqlite.updateMessageStatus","snikket/persistence/Sqlite.hx",520,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_524_updateMessageStatus,"snikket.persistence.Sqlite","updateMessageStatus",0xa0efb68e,"snikket.persistence.Sqlite.updateMessageStatus","snikket/persistence/Sqlite.hx",524,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_531_updateMessageStatus,"snikket.persistence.Sqlite","updateMessageStatus",0xa0efb68e,"snikket.persistence.Sqlite.updateMessageStatus","snikket/persistence/Sqlite.hx",531,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_515_updateMessageStatus,"snikket.persistence.Sqlite","updateMessageStatus",0xa0efb68e,"snikket.persistence.Sqlite.updateMessageStatus","snikket/persistence/Sqlite.hx",515,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_539_hasMedia,"snikket.persistence.Sqlite","hasMedia",0x1738946c,"snikket.persistence.Sqlite.hasMedia","snikket/persistence/Sqlite.hx",539,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_544_removeMedia,"snikket.persistence.Sqlite","removeMedia",0x14a4d1fe,"snikket.persistence.Sqlite.removeMedia","snikket/persistence/Sqlite.hx",544,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_549_storeMedia,"snikket.persistence.Sqlite","storeMedia",0x8dec4b05,"snikket.persistence.Sqlite.storeMedia","snikket/persistence/Sqlite.hx",549,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_554_storeCaps,"snikket.persistence.Sqlite","storeCaps",0x986fb520,"snikket.persistence.Sqlite.storeCaps","snikket/persistence/Sqlite.hx",554,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_557_storeCapsSet,"snikket.persistence.Sqlite","storeCapsSet",0xcff59262,"snikket.persistence.Sqlite.storeCapsSet","snikket/persistence/Sqlite.hx",557,0x917a2510)
-static const ::String _hx_array_data_e415cb6c_120[] = {
- HX_("INSERT OR IGNORE INTO caps VALUES ",27,4b,68,bf),
-};
-static const ::String _hx_array_data_e415cb6c_121[] = {
- HX_(",",2c,00,00,00),
-};
-static const ::String _hx_array_data_e415cb6c_122[] = {
- HX_("(?,jsonb(?))",1c,61,06,9e),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_584_getCaps,"snikket.persistence.Sqlite","getCaps",0x487e64d5,"snikket.persistence.Sqlite.getCaps","snikket/persistence/Sqlite.hx",584,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_587_getCaps,"snikket.persistence.Sqlite","getCaps",0x487e64d5,"snikket.persistence.Sqlite.getCaps","snikket/persistence/Sqlite.hx",587,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_574_getCaps,"snikket.persistence.Sqlite","getCaps",0x487e64d5,"snikket.persistence.Sqlite.getCaps","snikket/persistence/Sqlite.hx",574,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_595_storeLogin,"snikket.persistence.Sqlite","storeLogin",0x01241f8a,"snikket.persistence.Sqlite.storeLogin","snikket/persistence/Sqlite.hx",595,0x917a2510)
-static const ::String _hx_array_data_e415cb6c_128[] = {
- HX_("INSERT INTO accounts (account_id, client_id, display_name",03,b0,6a,0b),
-};
-static const ::String _hx_array_data_e415cb6c_129[] = {
- HX_(", token, fast_count",a5,56,e4,ae),
-};
-static const ::String _hx_array_data_e415cb6c_130[] = {
- HX_(") VALUES (?,?,?",c4,1c,e3,67),
-};
-static const ::String _hx_array_data_e415cb6c_131[] = {
- HX_(",?",93,26,00,00),
-};
-static const ::String _hx_array_data_e415cb6c_132[] = {
- HX_(",0",84,26,00,00),
-};
-static const ::String _hx_array_data_e415cb6c_133[] = {
- HX_(") ON CONFLICT DO UPDATE SET client_id=?",cd,99,0c,96),
-};
-static const ::String _hx_array_data_e415cb6c_134[] = {
- HX_(", display_name=?",7e,ad,5b,0f),
-};
-static const ::String _hx_array_data_e415cb6c_135[] = {
- HX_(", token=?",a7,78,19,80),
-};
-static const ::String _hx_array_data_e415cb6c_136[] = {
- HX_(", fast_count=0",73,a8,4f,82),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_625_getLogin,"snikket.persistence.Sqlite","getLogin",0x5def2e35,"snikket.persistence.Sqlite.getLogin","snikket/persistence/Sqlite.hx",625,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_621_getLogin,"snikket.persistence.Sqlite","getLogin",0x5def2e35,"snikket.persistence.Sqlite.getLogin","snikket/persistence/Sqlite.hx",621,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_638_removeAccount,"snikket.persistence.Sqlite","removeAccount",0xd5e3c447,"snikket.persistence.Sqlite.removeAccount","snikket/persistence/Sqlite.hx",638,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_651_listAccounts,"snikket.persistence.Sqlite","listAccounts",0x83858fe6,"snikket.persistence.Sqlite.listAccounts","snikket/persistence/Sqlite.hx",651,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_650_listAccounts,"snikket.persistence.Sqlite","listAccounts",0x83858fe6,"snikket.persistence.Sqlite.listAccounts","snikket/persistence/Sqlite.hx",650,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_45dcb523da764b50_221_listAccounts__fromC,"snikket.persistence.Sqlite","listAccounts__fromC",0x29194953,"snikket.persistence.Sqlite.listAccounts__fromC","HaxeCBridge.hx",221,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_45dcb523da764b50_252_listAccounts__fromC,"snikket.persistence.Sqlite","listAccounts__fromC",0x29194953,"snikket.persistence.Sqlite.listAccounts__fromC","HaxeCBridge.hx",252,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_658_storeStreamManagement,"snikket.persistence.Sqlite","storeStreamManagement",0x8a3c36a2,"snikket.persistence.Sqlite.storeStreamManagement","snikket/persistence/Sqlite.hx",658,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_665_storeStreamManagement,"snikket.persistence.Sqlite","storeStreamManagement",0x8a3c36a2,"snikket.persistence.Sqlite.storeStreamManagement","snikket/persistence/Sqlite.hx",665,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_674_getStreamManagement,"snikket.persistence.Sqlite","getStreamManagement",0xfe2e21d7,"snikket.persistence.Sqlite.getStreamManagement","snikket/persistence/Sqlite.hx",674,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_685_storeService,"snikket.persistence.Sqlite","storeService",0x2b93ec96,"snikket.persistence.Sqlite.storeService","snikket/persistence/Sqlite.hx",685,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_700_findServicesWithFeature,"snikket.persistence.Sqlite","findServicesWithFeature",0x83994397,"snikket.persistence.Sqlite.findServicesWithFeature","snikket/persistence/Sqlite.hx",700,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_697_findServicesWithFeature,"snikket.persistence.Sqlite","findServicesWithFeature",0x83994397,"snikket.persistence.Sqlite.findServicesWithFeature","snikket/persistence/Sqlite.hx",697,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_719_hydrateReactions,"snikket.persistence.Sqlite","hydrateReactions",0xe3b51cd9,"snikket.persistence.Sqlite.hydrateReactions","snikket/persistence/Sqlite.hx",719,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_747_fetchReactions,"snikket.persistence.Sqlite","fetchReactions",0x5819e3d2,"snikket.persistence.Sqlite.fetchReactions","snikket/persistence/Sqlite.hx",747,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_731_fetchReactions,"snikket.persistence.Sqlite","fetchReactions",0x5819e3d2,"snikket.persistence.Sqlite.fetchReactions","snikket/persistence/Sqlite.hx",731,0x917a2510)
-static const ::String _hx_array_data_e415cb6c_172[] = {
- 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_e415cb6c_173[] = {
- HX_(" OR (mam_id=? AND mam_by=?)",0f,bb,c5,e5),
-};
-static const ::String _hx_array_data_e415cb6c_174[] = {
- HX_(" OR stanza_id=?",6a,1d,f2,5b),
-};
-static const ::String _hx_array_data_e415cb6c_175[] = {
- HX_(" ORDER BY created_at, ROWID",00,65,8d,0e),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_804_hydrateReplyTo,"snikket.persistence.Sqlite","hydrateReplyTo",0x94f407b4,"snikket.persistence.Sqlite.hydrateReplyTo","snikket/persistence/Sqlite.hx",804,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_806_hydrateReplyTo,"snikket.persistence.Sqlite","hydrateReplyTo",0x94f407b4,"snikket.persistence.Sqlite.hydrateReplyTo","snikket/persistence/Sqlite.hx",806,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_784_hydrateReplyTo,"snikket.persistence.Sqlite","hydrateReplyTo",0x94f407b4,"snikket.persistence.Sqlite.hydrateReplyTo","snikket/persistence/Sqlite.hx",784,0x917a2510)
-static const ::String _hx_array_data_e415cb6c_182[] = {
- HX_("SELECT chat_id, stanza_id, stanza, direction, type, status, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sync_point FROM messages WHERE account_id=? AND (",56,f2,9f,31),
-};
-static const ::String _hx_array_data_e415cb6c_183[] = {
- HX_(")",29,00,00,00),
-};
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_818_hydrateMessages,"snikket.persistence.Sqlite","hydrateMessages",0xcda7e37d,"snikket.persistence.Sqlite.hydrateMessages","snikket/persistence/Sqlite.hx",818,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_821_hydrateMessages,"snikket.persistence.Sqlite","hydrateMessages",0xcda7e37d,"snikket.persistence.Sqlite.hydrateMessages","snikket/persistence/Sqlite.hx",821,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_851_hydrateMessages,"snikket.persistence.Sqlite","hydrateMessages",0xcda7e37d,"snikket.persistence.Sqlite.hydrateMessages","snikket/persistence/Sqlite.hx",851,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_841_hydrateMessages,"snikket.persistence.Sqlite","hydrateMessages",0xcda7e37d,"snikket.persistence.Sqlite.hydrateMessages","snikket/persistence/Sqlite.hx",841,0x917a2510)
-HX_LOCAL_STACK_FRAME(_hx_pos_5b1a6b524efab4db_24_boot,"snikket.persistence.Sqlite","boot",0x8e1f8074,"snikket.persistence.Sqlite.boot","snikket/persistence/Sqlite.hx",24,0x917a2510)
-namespace snikket{
-namespace persistence{
-
-void Sqlite_obj::__construct(::String dbfile,::Dynamic media){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_3) HXARGC(1)
- ::Dynamic _hx_run( ::Dynamic exec){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::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_5b1a6b524efab4db_41_new)
-HXLINE( 42) if ((version < 1)) {
-HXLINE( 43) return exec(::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_1,10));
- }
-HXLINE( 117) 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_5b1a6b524efab4db_118_new)
-HXLINE( 119) if ((version < 2)) {
-HXLINE( 120) return exec(::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_3,4));
- }
-HXLINE( 125) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_39_new)
-HXLINE( 40) int version;
-HXDLIN( 40) ::Dynamic tmp = iter->array->__get(iter->current++);
-HXDLIN( 40) ::Dynamic tmp1;
-HXDLIN( 40) if (::hx::IsNotNull( tmp )) {
-HXLINE( 40) tmp1 = ::Dynamic(tmp->__Field(HX_("user_version",e4,95,f3,73),::hx::paccDynamic));
- }
- else {
-HXLINE( 40) tmp1 = null();
- }
-HXDLIN( 40) ::Dynamic tmp2 = ::Std_obj::parseInt(( (::String)(tmp1) ));
-HXDLIN( 40) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 40) version = ( (int)(tmp2) );
- }
- else {
-HXLINE( 40) version = 0;
- }
-HXLINE( 41) return ::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());
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_38_new)
-HXLINE( 38) return ::thenshim::_Promise::Promise_Impl__obj::then(exec(::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_6,1)), ::Dynamic(new _hx_Closure_2(exec)),null());
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_24_new)
-HXLINE( 656) this->smStoreNext = null();
-HXLINE( 655) this->smStoreInProgress = false;
-HXLINE( 171) this->storeChatTimer = null();
-HXLINE( 170) this->storeChatBuffer = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 36) this->media = media;
-HXLINE( 37) ::snikket::persistence::MediaStore_obj::setKV(media,::hx::ObjectPtr<OBJ_>(this));
-HXLINE( 38) this->db = ::snikket::persistence::SqliteDriver_obj::__alloc( HX_CTX ,dbfile, ::Dynamic(new _hx_Closure_3()));
- }
-
-Dynamic Sqlite_obj::__CreateEmpty() { return new Sqlite_obj; }
-
-void *Sqlite_obj::_hx_vtable = 0;
-
-Dynamic Sqlite_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Sqlite_obj > _hx_result = new Sqlite_obj();
- _hx_result->__construct(inArgs[0],inArgs[1]);
- return _hx_result;
-}
-
-bool Sqlite_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x1fc6c66e;
-}
-
-static ::snikket::persistence::KeyValueStore_obj _hx_snikket_persistence_Sqlite__hx_snikket_persistence_KeyValueStore= {
- ( void (::hx::Object::*)(::String, ::Dynamic))&::snikket::persistence::Sqlite_obj::get,
- ( void (::hx::Object::*)(::String,::String, ::Dynamic))&::snikket::persistence::Sqlite_obj::set,
-};
-
-static ::snikket::Persistence_obj _hx_snikket_persistence_Sqlite__hx_snikket_Persistence= {
- ( void (::hx::Object::*)(::String,::String, ::Dynamic))&::snikket::persistence::Sqlite_obj::lastId,
- ( void (::hx::Object::*)(::String,::Array< ::Dynamic>))&::snikket::persistence::Sqlite_obj::storeChats,
- ( void (::hx::Object::*)(::String, ::Dynamic))&::snikket::persistence::Sqlite_obj::getChats,
- ( void (::hx::Object::*)(::String,::Array< ::Dynamic>, ::Dynamic))&::snikket::persistence::Sqlite_obj::getChatsUnreadDetails,
- ( void (::hx::Object::*)(::String, ::snikket::ReactionUpdate, ::Dynamic))&::snikket::persistence::Sqlite_obj::storeReaction,
- ( void (::hx::Object::*)(::String,::Array< ::Dynamic>, ::Dynamic))&::snikket::persistence::Sqlite_obj::storeMessages,
- ( void (::hx::Object::*)(::String, ::snikket::ChatMessage))&::snikket::persistence::Sqlite_obj::updateMessage,
- ( void (::hx::Object::*)(::String,::String,int, ::Dynamic))&::snikket::persistence::Sqlite_obj::updateMessageStatus,
- ( void (::hx::Object::*)(::String,::String,::String,::String, ::Dynamic))&::snikket::persistence::Sqlite_obj::getMessage,
- ( void (::hx::Object::*)(::String,::String,::String,::String, ::Dynamic))&::snikket::persistence::Sqlite_obj::getMessagesBefore,
- ( void (::hx::Object::*)(::String,::String,::String,::String, ::Dynamic))&::snikket::persistence::Sqlite_obj::getMessagesAfter,
- ( void (::hx::Object::*)(::String,::String,::String,::String, ::Dynamic))&::snikket::persistence::Sqlite_obj::getMessagesAround,
- ( void (::hx::Object::*)(::String,::Array< unsigned char >, ::Dynamic))&::snikket::persistence::Sqlite_obj::hasMedia,
- ( void (::hx::Object::*)(::String,::Array< unsigned char >, ::Dynamic))&::snikket::persistence::Sqlite_obj::storeMedia,
- ( void (::hx::Object::*)(::String,::Array< unsigned char >))&::snikket::persistence::Sqlite_obj::removeMedia,
- ( void (::hx::Object::*)( ::snikket::Caps))&::snikket::persistence::Sqlite_obj::storeCaps,
- ( void (::hx::Object::*)(::String, ::Dynamic))&::snikket::persistence::Sqlite_obj::getCaps,
- ( void (::hx::Object::*)(::String,::String,::String,::String))&::snikket::persistence::Sqlite_obj::storeLogin,
- ( void (::hx::Object::*)(::String, ::Dynamic))&::snikket::persistence::Sqlite_obj::getLogin,
- ( void (::hx::Object::*)(::String,bool))&::snikket::persistence::Sqlite_obj::removeAccount,
- ( void (::hx::Object::*)( ::Dynamic))&::snikket::persistence::Sqlite_obj::listAccounts,
- ( void (::hx::Object::*)(::String,::Array< unsigned char >))&::snikket::persistence::Sqlite_obj::storeStreamManagement,
- ( void (::hx::Object::*)(::String, ::Dynamic))&::snikket::persistence::Sqlite_obj::getStreamManagement,
- ( void (::hx::Object::*)(::String,::String,::String,::String, ::snikket::Caps))&::snikket::persistence::Sqlite_obj::storeService,
- ( void (::hx::Object::*)(::String,::String, ::Dynamic))&::snikket::persistence::Sqlite_obj::findServicesWithFeature,
-};
-
-void *Sqlite_obj::_hx_getInterface(int inHash) {
- switch(inHash) {
- case (int)0x42160a8d: return &_hx_snikket_persistence_Sqlite__hx_snikket_persistence_KeyValueStore;
- case (int)0x3e9d59e2: return &_hx_snikket_persistence_Sqlite__hx_snikket_Persistence;
- }
- #ifdef HXCPP_SCRIPTABLE
- return super::_hx_getInterface(inHash);
- #else
- return 0;
- #endif
-}
-
-void Sqlite_obj::get(::String k, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::haxe::iterators::ArrayIterator iter){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_133_get)
-HXLINE( 134) {
-HXLINE( 134) ::haxe::iterators::ArrayIterator _g = iter;
-HXDLIN( 134) while((_g->current < _g->array->get_length())){
-HXLINE( 134) ::Dynamic row = _g->array->__get(_g->current++);
-HXLINE( 135) callback( ::Dynamic(row->__Field(HX_("v",76,00,00,00),::hx::paccDynamic)));
-HXLINE( 136) return;
- }
- }
-HXLINE( 138) callback(null());
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_133_get)
-HXDLIN( 133) ::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(callback)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,get,(void))
-
-void Sqlite_obj::set(::String k,::String v, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_144_set)
-HXDLIN( 144) if (::hx::IsNull( v )) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_146_set)
-HXLINE( 146) callback();
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 145) ::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(callback)),null());
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_150_set)
-HXLINE( 150) callback();
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 149) ::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(callback)),null());
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,set,(void))
-
-void Sqlite_obj::lastId(::String accountId,::String chatId, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::haxe::iterators::ArrayIterator iter){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_167_lastId)
-HXLINE( 167) ::Dynamic callback1 = callback;
-HXDLIN( 167) ::Dynamic tmp = iter->array->__get(iter->current++);
-HXDLIN( 167) ::Dynamic _hx_tmp;
-HXDLIN( 167) if (::hx::IsNotNull( tmp )) {
-HXLINE( 167) _hx_tmp = ::Dynamic(tmp->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic));
- }
- else {
-HXLINE( 167) _hx_tmp = null();
- }
-HXDLIN( 167) callback1(_hx_tmp);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_167_lastId)
-HXLINE( 167) callback(null());
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_156_lastId)
-HXLINE( 157) ::Array< ::String > params = ::Array_obj< ::String >::__new(1)->init(0,accountId);
-HXLINE( 158) ::String q = HX_("SELECT mam_id FROM messages WHERE mam_id IS NOT NULL AND sync_point AND account_id=?",20,14,35,bc);
-HXLINE( 159) if (::hx::IsNull( chatId )) {
-HXLINE( 160) q = (q + HX_(" AND mam_by=?",48,20,9b,c4));
-HXLINE( 161) params->push(accountId);
- }
- else {
-HXLINE( 163) q = (q + HX_(" AND chat_id=?",3b,95,e7,43));
-HXLINE( 164) params->push(chatId);
- }
-HXLINE( 166) q = (q + HX_(" ORDER BY ROWID DESC LIMIT 1",1f,5d,e2,de));
-HXLINE( 167) ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(q,params), ::Dynamic(new _hx_Closure_0(callback)), ::Dynamic(new _hx_Closure_1(callback)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,lastId,(void))
-
-void Sqlite_obj::storeChats(::String accountId,::Array< ::Dynamic> chats){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::snikket::persistence::Sqlite,_gthis,::String,accountId) HXARGC(0)
- void _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::persistence::Sqlite,_gthis) HXARGC(1)
- ::Dynamic _hx_run( ::snikket::Chat chat){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_184_storeChats)
-HXLINE( 185) ::Dynamic storePresence = ::Dynamic(::hx::Anon_obj::Create(0));
-HXLINE( 186) ::haxe::ds::ObjectMap caps = ::haxe::ds::ObjectMap_obj::__alloc( HX_CTX );
-HXLINE( 187) {
-HXLINE( 187) ::Dynamic map = chat->presence;
-HXDLIN( 187) ::Dynamic _g_map = map;
-HXDLIN( 187) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN( 187) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 187) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 187) ::snikket::Presence _g_value = ( ( ::snikket::Presence)(::haxe::IMap_obj::get(_g_map,key)) );
-HXDLIN( 187) ::String _g_key = key;
-HXDLIN( 187) ::String resource = _g_key;
-HXDLIN( 187) ::snikket::Presence presence = _g_value;
-HXDLIN( 187) {
-HXLINE( 188) ::String tmp = resource;
-HXDLIN( 188) ::String mapPresence;
-HXDLIN( 188) if (::hx::IsNotNull( tmp )) {
-HXLINE( 188) mapPresence = tmp;
- }
- else {
-HXLINE( 188) mapPresence = HX_("",00,00,00,00);
- }
-HXDLIN( 188) if (::hx::IsNull( ::Reflect_obj::field(storePresence,mapPresence) )) {
-HXLINE( 188) ::Dynamic value = ::Dynamic(::hx::Anon_obj::Create(0));
-HXDLIN( 188) ::String tmp1 = resource;
-HXDLIN( 188) ::String mapPresence1;
-HXDLIN( 188) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 188) mapPresence1 = tmp1;
- }
- else {
-HXLINE( 188) mapPresence1 = HX_("",00,00,00,00);
- }
-HXDLIN( 188) ::Reflect_obj::setField(storePresence,mapPresence1,value);
- }
-HXLINE( 189) if (::hx::IsNotNull( presence->caps )) {
-HXLINE( 190) {
-HXLINE( 190) ::Array< unsigned char > k = presence->caps->verRaw()->hash;
-HXDLIN( 190) ::snikket::Caps v = presence->caps;
-HXDLIN( 190) caps->set(k,v);
- }
-HXLINE( 191) ::String tmp2 = resource;
-HXDLIN( 191) ::String mapPresence2;
-HXDLIN( 191) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 191) mapPresence2 = tmp2;
- }
- else {
-HXLINE( 191) mapPresence2 = HX_("",00,00,00,00);
- }
-HXDLIN( 191) ::Reflect_obj::field(storePresence,mapPresence2)->__SetField(HX_("caps",21,1c,ba,41),presence->caps->ver(),::hx::paccDynamic);
- }
-HXLINE( 193) if (::hx::IsNotNull( presence->mucUser )) {
-HXLINE( 194) ::String tmp3 = resource;
-HXDLIN( 194) ::String mapPresence3;
-HXDLIN( 194) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 194) mapPresence3 = tmp3;
- }
- else {
-HXLINE( 194) mapPresence3 = HX_("",00,00,00,00);
- }
-HXDLIN( 194) ::Reflect_obj::field(storePresence,mapPresence3)->__SetField(HX_("mucUser",e6,f3,96,b5),presence->mucUser->toString(),::hx::paccDynamic);
- }
- }
- }
- }
-HXLINE( 197) _gthis->storeCapsSet(caps);
-HXLINE( 198) return storePresence;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_183_storeChats)
-HXLINE( 184) ::Dynamic mapPresence = ::Dynamic(new _hx_Closure_0(_gthis));
-HXLINE( 200) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE( 201) {
-HXLINE( 201) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 201) q->flush();
- }
-HXDLIN( 201) if (::hx::IsNull( q->b )) {
-HXLINE( 201) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_25,1);
- }
- else {
-HXLINE( 201) q->b->push(HX_("INSERT OR REPLACE INTO chats VALUES ",3b,7d,10,d4));
- }
- }
-HXLINE( 202) bool first = true;
-HXLINE( 203) {
-HXLINE( 203) ::Dynamic _ = _gthis->storeChatBuffer->iterator();
-HXDLIN( 203) while(( (bool)(_->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 203) ::snikket::Chat _1 = ( ( ::snikket::Chat)(_->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXLINE( 204) if (!(first)) {
-HXLINE( 204) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 204) q->flush();
- }
-HXDLIN( 204) if (::hx::IsNull( q->b )) {
-HXLINE( 204) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_26,1);
- }
- else {
-HXLINE( 204) q->b->push(HX_(",",2c,00,00,00));
- }
- }
-HXLINE( 205) first = false;
-HXLINE( 206) {
-HXLINE( 206) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 206) q->flush();
- }
-HXDLIN( 206) if (::hx::IsNull( q->b )) {
-HXLINE( 206) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_27,1);
- }
- else {
-HXLINE( 206) q->b->push(HX_("(?,?,?,?,?,?,?,?,?,?,?,jsonb(?),?,?,?,?)",4e,16,2e,3d));
- }
- }
- }
- }
-HXLINE( 208) ::snikket::persistence::SqliteDriver _gthis1 = _gthis->db;
-HXLINE( 209) ::String _hx_tmp = q->toString();
-HXLINE( 210) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 210) {
-HXLINE( 210) ::Dynamic x = _gthis->storeChatBuffer->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 210) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 210) ::snikket::Chat x1 = ( ( ::snikket::Chat)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXLINE( 211) ::snikket::Channel channel = ( ( ::snikket::Channel)(::Std_obj::downcast(x1,::hx::ClassOf< ::snikket::Channel >())) );
-HXLINE( 212) if (::hx::IsNotNull( channel )) {
-HXLINE( 212) _gthis->storeCaps(channel->disco);
- }
-HXLINE( 214) ::String accountId1 = accountId;
-HXDLIN( 214) ::String x2 = x1->chatId;
-HXDLIN( 214) bool row = x1->isTrusted();
-HXDLIN( 214) ::Array< unsigned char > x3 = x1->avatarSha1;
-HXLINE( 215) ::String row1 = x1->getDisplayName();
-HXDLIN( 215) int x4 = x1->uiState;
-HXDLIN( 215) bool x5 = x1->isBlocked;
-HXLINE( 216) ::String row2 = x1->extensions->toString();
-HXDLIN( 216) ::String row3 = x1->readUpTo();
-HXDLIN( 216) ::String x6 = x1->readUpToBy;
-HXLINE( 217) ::snikket::Caps tmp;
-HXDLIN( 217) if (::hx::IsNotNull( channel )) {
-HXLINE( 217) tmp = channel->disco;
- }
- else {
-HXLINE( 217) tmp = null();
- }
-HXDLIN( 217) ::Array< unsigned char > row4;
-HXDLIN( 217) if (::hx::IsNotNull( tmp )) {
-HXLINE( 217) row4 = tmp->verRaw()->hash;
- }
- else {
-HXLINE( 217) row4 = null();
- }
-HXDLIN( 217) ::Dynamic replacer = null();
-HXDLIN( 217) ::String space = null();
-HXDLIN( 217) ::String row5 = ::haxe::format::JsonPrinter_obj::print(mapPresence(x1),replacer,space);
-HXLINE( 218) ::String row6 = ( (::String)(::Type_obj::getClassName(::Type_obj::getClass(x1)).split(HX_(".",2e,00,00,00))->pop()) );
-HXLINE( 219) bool row7 = x1->notificationsFiltered();
-HXDLIN( 219) bool row8 = x1->notifyMention();
-HXLINE( 213) ::cpp::VirtualArray row9 = ::cpp::VirtualArray_obj::__new(16)->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,row3)->init(9,x6)->init(10,row4)->init(11,row5)->init(12,row6)->init(13,row7)->init(14,row8)->init(15,x1->notifyReply());
-HXLINE( 210) _g->push(row9);
- }
- }
-HXDLIN( 210) ::cpp::VirtualArray _g1 = ::cpp::VirtualArray_obj::__new(0);
-HXDLIN( 210) {
-HXLINE( 210) ::Dynamic e = _g->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 210) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 210) ::Dynamic e1 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXDLIN( 210) {
-HXLINE( 210) ::Dynamic x7 = e1->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 210) while(( (bool)(x7->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 210) ::Dynamic x8 = x7->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXDLIN( 210) _g1->push(x8);
- }
- }
- }
- }
-HXLINE( 208) _gthis1->exec(_hx_tmp,_g1);
-HXLINE( 224) _gthis->storeChatTimer = null();
-HXLINE( 225) _gthis->storeChatBuffer->clear();
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_174_storeChats)
-HXDLIN( 174) ::snikket::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 175) if (::hx::IsNotNull( this->storeChatTimer )) {
-HXLINE( 176) this->storeChatTimer->stop();
- }
-HXLINE( 179) {
-HXLINE( 179) int _g = 0;
-HXDLIN( 179) while((_g < chats->length)){
-HXLINE( 179) ::snikket::Chat chat = chats->__get(_g).StaticCast< ::snikket::Chat >();
-HXDLIN( 179) _g = (_g + 1);
-HXLINE( 180) this->storeChatBuffer->set(((accountId + HX_("\n",0a,00,00,00)) + chat->chatId),chat);
- }
- }
-HXLINE( 183) this->storeChatTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(_gthis,accountId)),100);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,storeChats,(void))
-
-void Sqlite_obj::getChats(::String accountId, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::snikket::persistence::Sqlite,_gthis) HXARGC(1)
- ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::haxe::ds::ObjectMap,fetchCaps) HXARGC(0)
- ::Dynamic _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_247_getChats)
-HXLINE( 247) return fetchCaps->keys();
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2,::cpp::VirtualArray,chats) HXARGC(1)
- ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator capsResult){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_251_getChats)
-HXLINE( 251) return ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("caps",21,1c,ba,41),capsResult)
- ->setFixed(1,HX_("chats",9b,9e,b3,45),chats));
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_234_getChats)
-HXLINE( 235) ::haxe::ds::ObjectMap fetchCaps = ::haxe::ds::ObjectMap_obj::__alloc( HX_CTX );
-HXLINE( 236) ::cpp::VirtualArray chats = ::cpp::VirtualArray_obj::__new(0);
-HXLINE( 237) {
-HXLINE( 237) ::haxe::iterators::ArrayIterator _g = result;
-HXDLIN( 237) while((_g->current < _g->array->get_length())){
-HXLINE( 237) ::Dynamic row = _g->array->__get(_g->current++);
-HXLINE( 238) ::Dynamic capsJson;
-HXDLIN( 238) if (::hx::IsNull( row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic) )) {
-HXLINE( 238) capsJson = null();
- }
- else {
-HXLINE( 238) capsJson = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))->doParse();
- }
-HXLINE( 239) ::snikket::Caps _hx_tmp;
-HXDLIN( 239) if (::hx::IsNull( capsJson )) {
-HXLINE( 239) _hx_tmp = null();
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- ::snikket::Identity _hx_run( ::Dynamic i){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_239_getChats)
-HXLINE( 239) return ::snikket::Identity_obj::__alloc( HX_CTX ,( (::String)(i->__Field(HX_("category",fe,2a,6c,ad),::hx::paccDynamic)) ),( (::String)(i->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic)) ),( (::String)(i->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) ));
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 239) ::String capsJson1 = ( (::String)(capsJson->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) );
-HXDLIN( 239) ::Array< ::Dynamic> _hx_tmp1 = ( (::Array< ::Dynamic>)( ::Dynamic(capsJson->__Field(HX_("identities",1c,c5,6d,d7),::hx::paccDynamic))->__Field(HX_("map",9c,0a,53,00),::hx::paccDynamic)( ::Dynamic(new _hx_Closure_0()), ::Dynamic(row->__Field(HX_("caps_ver",05,68,56,1e),::hx::paccDynamic)))) );
-HXDLIN( 239) _hx_tmp = ::snikket::Caps_obj::__alloc( HX_CTX ,capsJson1,_hx_tmp1,( (::Array< ::String >)(capsJson->__Field(HX_("features",fd,6c,d7,12),::hx::paccDynamic)) ),null());
- }
-HXDLIN( 239) row->__SetField(HX_("capsObj",56,b6,8b,a6),_hx_tmp,::hx::paccDynamic);
-HXLINE( 240) ::Dynamic presenceJson = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) ))->doParse();
-HXLINE( 241) row->__SetField(HX_("presenceJson",03,fa,cd,23),presenceJson,::hx::paccDynamic);
-HXLINE( 242) {
-HXLINE( 242) ::Dynamic access = presenceJson;
-HXDLIN( 242) ::Dynamic _g_access = access;
-HXDLIN( 242) ::Array< ::String > _g_keys = ::Reflect_obj::fields(access);
-HXDLIN( 242) int _g_index = 0;
-HXDLIN( 242) while((_g_index < _g_keys->length)){
-HXLINE( 242) _g_index = (_g_index + 1);
-HXDLIN( 242) ::String key = _g_keys->__get((_g_index - 1));
-HXDLIN( 242) ::Dynamic _g_value = ::Reflect_obj::field(_g_access,key);
-HXDLIN( 242) ::String _g_key = key;
-HXDLIN( 242) ::String resource = _g_key;
-HXDLIN( 242) ::Dynamic presence = _g_value;
-HXLINE( 243) if (::hx::IsNotNull( presence->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic) )) {
-HXLINE( 243) ::Array< unsigned char > k = ::haxe::crypto::Base64_obj::decode(( (::String)(presence->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ),null())->b;
-HXDLIN( 243) fetchCaps->set(k,true);
- }
- }
- }
-HXLINE( 245) chats->push(row);
- }
- }
-HXLINE( 247) ::Array< ::Dynamic> fetchCapsSha1s = ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_1(fetchCaps)))));
-HXLINE( 248) ::snikket::persistence::SqliteDriver _gthis1 = _gthis->db;
-HXLINE( 249) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(fetchCapsSha1s->length);
-HXDLIN( 249) {
-HXLINE( 249) int _g1 = 0;
-HXDLIN( 249) int _g2 = fetchCapsSha1s->length;
-HXDLIN( 249) while((_g1 < _g2)){
-HXLINE( 249) _g1 = (_g1 + 1);
-HXDLIN( 249) int i = (_g1 - 1);
-HXDLIN( 249) {
-HXLINE( 249) ::Array< unsigned char > _ = ( (::Array< unsigned char >)(_hx_array_unsafe_get(fetchCapsSha1s,i)) );
-HXDLIN( 249) result1->__unsafe_set(i,HX_("?",3f,00,00,00));
- }
- }
- }
-HXLINE( 248) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis1->exec(((HX_("SELECT sha1, json(caps) AS caps FROM caps WHERE sha1 IN (",5a,e4,9c,e2) + result1->join(HX_(",",2c,00,00,00))) + HX_(")",29,00,00,00)),fetchCapsSha1s), ::Dynamic(new _hx_Closure_2(chats)),null());
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_5) HXARGC(1)
- ::Array< ::Dynamic> _hx_run( ::Dynamic result){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_252_getChats)
-HXLINE( 253) ::haxe::ds::StringMap capsMap = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 254) {
-HXLINE( 254) ::haxe::iterators::ArrayIterator _g = ( ( ::haxe::iterators::ArrayIterator)(result->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) );
-HXDLIN( 254) while((_g->current < _g->array->get_length())){
-HXLINE( 254) ::Dynamic row = _g->array->__get(_g->current++);
-HXLINE( 255) ::Dynamic json = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))->doParse();
-HXLINE( 256) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_4) HXARGC(1)
- ::snikket::Identity _hx_run( ::Dynamic i){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_256_getChats)
-HXLINE( 256) return ::snikket::Identity_obj::__alloc( HX_CTX ,( (::String)(i->__Field(HX_("category",fe,2a,6c,ad),::hx::paccDynamic)) ),( (::String)(i->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic)) ),( (::String)(i->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) ));
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 256) ::String k = ::haxe::crypto::Base64_obj::encode(::haxe::io::Bytes_obj::ofData(( (::Array< unsigned char >)(row->__Field(HX_("sha1",85,c8,52,4c),::hx::paccDynamic)) )),null());
-HXDLIN( 256) ::String json1 = ( (::String)(json->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) );
-HXDLIN( 256) ::Array< ::Dynamic> v = ( (::Array< ::Dynamic>)( ::Dynamic(json->__Field(HX_("identities",1c,c5,6d,d7),::hx::paccDynamic))->__Field(HX_("map",9c,0a,53,00),::hx::paccDynamic)( ::Dynamic(new _hx_Closure_4()), ::Dynamic(row->__Field(HX_("sha1",85,c8,52,4c),::hx::paccDynamic)))) );
-HXDLIN( 256) ::snikket::Caps v1 = ::snikket::Caps_obj::__alloc( HX_CTX ,json1,v,( (::Array< ::String >)(json->__Field(HX_("features",fd,6c,d7,12),::hx::paccDynamic)) ),null());
-HXDLIN( 256) capsMap->set(k,v1);
- }
- }
- }
-HXLINE( 258) result->__SetField(HX_("caps",21,1c,ba,41),null(),::hx::paccDynamic);
-HXLINE( 259) ::Array< ::Dynamic> chats = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 260) ::Dynamic row1 = null();
-HXLINE( 261) while(true){
-HXLINE( 261) row1 = ( (::cpp::VirtualArray)(result->__Field(HX_("chats",9b,9e,b3,45),::hx::paccDynamic)) )->pop();
-HXDLIN( 261) if (!(::hx::IsNotNull( row1 ))) {
-HXLINE( 261) goto _hx_goto_33;
- }
-HXLINE( 262) ::haxe::ds::StringMap presenceMap = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 263) ::Dynamic presenceJson = ::Dynamic(row1->__Field(HX_("presenceJson",03,fa,cd,23),::hx::paccDynamic));
-HXLINE( 264) {
-HXLINE( 264) int _g1 = 0;
-HXDLIN( 264) ::Array< ::String > _g2 = ::Reflect_obj::fields(presenceJson);
-HXDLIN( 264) while((_g1 < _g2->length)){
-HXLINE( 264) ::String resource = _g2->__get(_g1);
-HXDLIN( 264) _g1 = (_g1 + 1);
-HXLINE( 265) ::Dynamic presence = ::Reflect_obj::field(presenceJson,resource);
-HXLINE( 266) ::Reflect_obj::deleteField(presenceJson,resource);
-HXLINE( 267) {
-HXLINE( 268) ::snikket::Caps v2;
-HXDLIN( 268) if (::hx::IsNull( presence->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic) )) {
-HXLINE( 268) v2 = null();
- }
- else {
-HXLINE( 268) v2 = ( ( ::snikket::Caps)(capsMap->get(( (::String)(presence->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))) );
- }
-HXLINE( 269) ::snikket::Stanza v3;
-HXDLIN( 269) bool v4;
-HXDLIN( 269) if (::hx::IsNotNull( presence->__Field(HX_("mucUser",e6,f3,96,b5),::hx::paccDynamic) )) {
-HXLINE( 269) v4 = ::snikket::Config_obj::constrainedMemoryMode;
- }
- else {
-HXLINE( 269) v4 = true;
- }
-HXDLIN( 269) if (v4) {
-HXLINE( 269) v3 = null();
- }
- else {
-HXLINE( 269) v3 = ::snikket::Stanza_obj::parse(( (::String)(presence->__Field(HX_("mucUser",e6,f3,96,b5),::hx::paccDynamic)) ));
- }
-HXLINE( 267) ::snikket::Presence v5 = ::snikket::Presence_obj::__alloc( HX_CTX ,v2,v3);
-HXDLIN( 267) presenceMap->set(resource,v5);
- }
- }
- }
-HXLINE( 272) ::String row2 = ( (::String)(row1->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) );
-HXDLIN( 272) bool _hx_tmp = ::hx::IsNotEq( row1->__Field(HX_("trusted",f7,b7,a6,16),::hx::paccDynamic),0 );
-HXDLIN( 272) ::Array< unsigned char > row3 = ( (::Array< unsigned char >)(row1->__Field(HX_("avatar_sha1",ab,69,a3,a4),::hx::paccDynamic)) );
-HXDLIN( 272) ::String row4 = ( (::String)(row1->__Field(HX_("fn",48,59,00,00),::hx::paccDynamic)) );
-HXDLIN( 272) ::Dynamic row5 = row1->__Field(HX_("ui_state",a6,9a,4e,b2),::hx::paccDynamic);
-HXDLIN( 272) bool _hx_tmp1 = ::hx::IsNotEq( row1->__Field(HX_("blocked",ec,7a,fe,44),::hx::paccDynamic),0 );
-HXDLIN( 272) ::String row6 = ( (::String)(row1->__Field(HX_("extensions",14,7c,70,89),::hx::paccDynamic)) );
-HXDLIN( 272) ::String row7 = ( (::String)(row1->__Field(HX_("read_up_to_id",84,60,ad,9e),::hx::paccDynamic)) );
-HXDLIN( 272) ::String row8 = ( (::String)(row1->__Field(HX_("read_up_to_by",80,5a,ad,9e),::hx::paccDynamic)) );
-HXDLIN( 272) ::Dynamic _hx_tmp2;
-HXDLIN( 272) if (::hx::IsNull( row1->__Field(HX_("notifications_filtered",4e,91,57,51),::hx::paccDynamic) )) {
-HXLINE( 272) _hx_tmp2 = null();
- }
- else {
-HXLINE( 272) _hx_tmp2 = ::hx::IsNotEq( row1->__Field(HX_("notifications_filtered",4e,91,57,51),::hx::paccDynamic),0 );
- }
-HXDLIN( 272) bool _hx_tmp3 = ::hx::IsNotEq( row1->__Field(HX_("notify_mention",34,44,26,d0),::hx::paccDynamic),0 );
-HXDLIN( 272) bool _hx_tmp4 = ::hx::IsNotEq( row1->__Field(HX_("notify_reply",f4,e7,df,1b),::hx::paccDynamic),0 );
-HXDLIN( 272) ::snikket::Caps row9 = ( ( ::snikket::Caps)(row1->__Field(HX_("capsObj",56,b6,8b,a6),::hx::paccDynamic)) );
-HXDLIN( 272) chats->push( ::snikket::SerializedChat_obj::__alloc( HX_CTX ,row2,_hx_tmp,row3,presenceMap,row4,row5,_hx_tmp1,row6,row7,row8,_hx_tmp2,_hx_tmp3,_hx_tmp4,row9,( (::String)(::Reflect_obj::field(row1,HX_("class",38,78,58,48))) )));
- }
- _hx_goto_33:;
-HXLINE( 274) return chats;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_230_getChats)
-HXDLIN( 230) ::snikket::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 231) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT chat_id, trusted, 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(presence) AS presence, class FROM chats LEFT JOIN caps ON chats.caps_ver=caps.sha1 WHERE account_id=?",32,f7,06,7e),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_3(_gthis)),null()), ::Dynamic(new _hx_Closure_5()),null()),callback,null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,getChats,(void))
-
-void Sqlite_obj::storeMessages(::String accountId,::Array< ::Dynamic> messages, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0,::Array< ::Dynamic>,messages, ::snikket::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_316_storeMessages)
-HXLINE( 316) ::snikket::persistence::SqliteDriver _gthis1 = _gthis->db;
-HXLINE( 317) ::Array< ::String > result = ::Array_obj< ::String >::__new(messages->length);
-HXDLIN( 317) {
-HXLINE( 317) int _g = 0;
-HXDLIN( 317) int _g1 = messages->length;
-HXDLIN( 317) while((_g < _g1)){
-HXLINE( 317) _g = (_g + 1);
-HXDLIN( 317) int i = (_g - 1);
-HXDLIN( 317) {
-HXLINE( 317) ::snikket::ChatMessage _1 = ( ( ::snikket::ChatMessage)(_hx_array_unsafe_get(messages,i)) );
-HXDLIN( 317) result->__unsafe_set(i,HX_("(?,?,?,?,?,?,?,?,CAST(unixepoch(?, 'subsec') * 1000 AS INTEGER),?,?,?,?)",56,f5,42,e0));
- }
- }
- }
-HXDLIN( 317) ::String _hx_tmp = (HX_("INSERT OR REPLACE INTO messages VALUES ",28,32,a2,bc) + result->join(HX_(",",2c,00,00,00)));
-HXLINE( 318) ::Array< ::Dynamic> _g2 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 318) {
-HXLINE( 318) int _g_current = 0;
-HXDLIN( 318) ::Array< ::Dynamic> _g_array = messages;
-HXDLIN( 318) while((_g_current < _g_array->length)){
-HXLINE( 318) _g_current = (_g_current + 1);
-HXDLIN( 318) ::snikket::ChatMessage x = _g_array->__get((_g_current - 1)).StaticCast< ::snikket::ChatMessage >();
-HXLINE( 319) ::snikket::ChatMessage correctable = x;
-HXLINE( 320) ::snikket::ChatMessage message;
-HXDLIN( 320) if ((x->versions->length == 1)) {
-HXLINE( 320) message = x->versions->__get(0).StaticCast< ::snikket::ChatMessage >();
- }
- else {
-HXLINE( 320) message = x;
- }
-HXLINE( 322) ::String accountId1 = accountId;
-HXDLIN( 322) ::String _hx_tmp1;
-HXDLIN( 322) ::String tmp = message->serverId;
-HXDLIN( 322) if (::hx::IsNotNull( tmp )) {
-HXLINE( 322) _hx_tmp1 = tmp;
- }
- else {
-HXLINE( 322) _hx_tmp1 = HX_("",00,00,00,00);
- }
-HXDLIN( 322) ::String _hx_tmp2;
-HXDLIN( 322) ::String tmp1 = message->serverIdBy;
-HXDLIN( 322) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 322) _hx_tmp2 = tmp1;
- }
- else {
-HXLINE( 322) _hx_tmp2 = HX_("",00,00,00,00);
- }
-HXLINE( 323) ::String _hx_tmp3;
-HXDLIN( 323) ::String tmp2 = message->localId;
-HXDLIN( 323) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 323) _hx_tmp3 = tmp2;
- }
- else {
-HXLINE( 323) _hx_tmp3 = HX_("",00,00,00,00);
- }
-HXDLIN( 323) ::String _hx_tmp4;
-HXDLIN( 323) ::String tmp3 = correctable->localId;
-HXDLIN( 323) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 323) _hx_tmp4 = tmp3;
- }
- else {
-HXLINE( 323) _hx_tmp4 = correctable->serverId;
- }
-HXDLIN( 323) bool correctable1 = correctable->syncPoint;
-HXLINE( 324) ::String _hx_tmp5 = correctable->chatId();
-HXDLIN( 324) ::String correctable2 = correctable->senderId;
-HXLINE( 325) ::String message1 = message->timestamp;
-HXDLIN( 325) int message2 = message->status;
-HXDLIN( 325) int message3 = message->direction;
-HXDLIN( 325) int message4 = message->type;
-HXLINE( 318) _g2->push(::cpp::VirtualArray_obj::__new(13)->init(0,accountId1)->init(1,_hx_tmp1)->init(2,_hx_tmp2)->init(3,_hx_tmp3)->init(4,_hx_tmp4)->init(5,correctable1)->init(6,_hx_tmp5)->init(7,correctable2)->init(8,message1)->init(9,message2)->init(10,message3)->init(11,message4)->init(12,message->asStanza()->toString()));
- }
- }
-HXDLIN( 318) ::cpp::VirtualArray _g3 = ::cpp::VirtualArray_obj::__new(0);
-HXDLIN( 318) {
-HXLINE( 318) ::Dynamic e = _g2->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 318) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 318) ::Dynamic e1 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXDLIN( 318) {
-HXLINE( 318) ::Dynamic x1 = e1->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 318) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 318) ::Dynamic x2 = x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXDLIN( 318) _g3->push(x2);
- }
- }
- }
- }
-HXLINE( 316) return _gthis1->exec(_hx_tmp,_g3);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_2,::Array< ::Dynamic>,messages, ::snikket::persistence::Sqlite,_gthis,::Array< ::Dynamic>,replyTos,::String,accountId, ::Dynamic,callback) HXARGC(1)
- ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::snikket::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run(::Array< ::Dynamic> ms){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_331_storeMessages)
-HXLINE( 331) return _gthis->hydrateReactions(accountId,ms);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_331_storeMessages)
-HXLINE( 331) ::Dynamic _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->hydrateReplyTo(accountId,messages,replyTos), ::Dynamic(new _hx_Closure_1(_gthis,accountId)),null());
-HXDLIN( 331) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp,callback,null());
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_279_storeMessages)
-HXDLIN( 279) ::snikket::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 280) if ((messages->length < 1)) {
-HXLINE( 281) callback(messages);
-HXLINE( 282) return;
- }
-HXLINE( 285) ::Array< ::String > chatIds = ::Array_obj< ::String >::__new(0);
-HXLINE( 286) ::Array< ::String > localIds = ::Array_obj< ::String >::__new(0);
-HXLINE( 287) ::Array< ::Dynamic> replyTos = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 288) {
-HXLINE( 288) int _g = 0;
-HXDLIN( 288) while((_g < messages->length)){
-HXLINE( 288) ::snikket::ChatMessage message = messages->__get(_g).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 288) _g = (_g + 1);
-HXLINE( 289) bool _hx_tmp;
-HXDLIN( 289) if (::hx::IsNull( message->serverId )) {
-HXLINE( 289) _hx_tmp = ::hx::IsNull( message->localId );
- }
- else {
-HXLINE( 289) _hx_tmp = false;
- }
-HXDLIN( 289) if (_hx_tmp) {
-HXLINE( 289) HX_STACK_DO_THROW(HX_("Cannot store a message with no id",54,e5,b0,de));
- }
-HXLINE( 290) bool _hx_tmp1;
-HXDLIN( 290) if (::hx::IsNull( message->serverId )) {
-HXLINE( 290) _hx_tmp1 = message->isIncoming();
- }
- else {
-HXLINE( 290) _hx_tmp1 = false;
- }
-HXDLIN( 290) if (_hx_tmp1) {
-HXLINE( 290) HX_STACK_DO_THROW(HX_("Cannot store an incoming message with no server id",d7,6d,19,fb));
- }
-HXLINE( 291) bool _hx_tmp2;
-HXDLIN( 291) if (::hx::IsNotNull( message->serverId )) {
-HXLINE( 291) _hx_tmp2 = ::hx::IsNull( message->serverIdBy );
- }
- else {
-HXLINE( 291) _hx_tmp2 = false;
- }
-HXDLIN( 291) if (_hx_tmp2) {
-HXLINE( 291) HX_STACK_DO_THROW(HX_("Cannot store a message with a server id and no by",00,9f,b7,38));
- }
-HXLINE( 293) bool _hx_tmp3;
-HXDLIN( 293) if (!(message->isIncoming())) {
-HXLINE( 293) _hx_tmp3 = (message->versions->length < 1);
- }
- else {
-HXLINE( 293) _hx_tmp3 = false;
- }
-HXDLIN( 293) if (_hx_tmp3) {
-HXLINE( 296) chatIds->push(message->chatId());
-HXLINE( 297) localIds->push(message->localId);
- }
-HXLINE( 299) bool _hx_tmp4;
-HXDLIN( 299) if (::hx::IsNotNull( message->replyToMessage )) {
-HXLINE( 299) _hx_tmp4 = ::hx::IsNull( message->replyToMessage->serverIdBy );
- }
- else {
-HXLINE( 299) _hx_tmp4 = false;
- }
-HXDLIN( 299) if (_hx_tmp4) {
-HXLINE( 300) ::Array< ::Dynamic> replyTos1 = replyTos;
-HXDLIN( 300) ::String _hx_tmp5 = message->chatId();
-HXDLIN( 300) replyTos1->push( ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("chatId",d3,04,77,b7),_hx_tmp5)
- ->setFixed(1,HX_("serverId",7e,01,b2,e2),message->replyToMessage->serverId)
- ->setFixed(2,HX_("localId",26,7a,c6,2d),message->replyToMessage->localId)));
- }
- }
- }
-HXLINE( 304) ::Dynamic _hx_tmp6;
-HXDLIN( 304) bool _hx_tmp7;
-HXDLIN( 304) if ((chatIds->length > 0)) {
-HXLINE( 304) _hx_tmp7 = (localIds->length > 0);
- }
- else {
-HXLINE( 304) _hx_tmp7 = false;
- }
-HXDLIN( 304) if (_hx_tmp7) {
-HXLINE( 306) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE( 307) {
-HXLINE( 307) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 307) q->flush();
- }
-HXDLIN( 307) if (::hx::IsNull( q->b )) {
-HXLINE( 307) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_53,1);
- }
- else {
-HXLINE( 307) q->b->push(HX_("DELETE FROM messages WHERE account_id=? AND direction=? AND chat_id IN (",a1,9c,a2,06));
- }
- }
-HXLINE( 308) {
-HXLINE( 308) ::Array< ::String > result = ::Array_obj< ::String >::__new(chatIds->length);
-HXDLIN( 308) {
-HXLINE( 308) int _g1 = 0;
-HXDLIN( 308) int _g2 = chatIds->length;
-HXDLIN( 308) while((_g1 < _g2)){
-HXLINE( 308) _g1 = (_g1 + 1);
-HXDLIN( 308) int i = (_g1 - 1);
-HXDLIN( 308) {
-HXLINE( 308) ::String _ = ( (::String)(_hx_array_unsafe_get(chatIds,i)) );
-HXDLIN( 308) result->__unsafe_set(i,HX_("?",3f,00,00,00));
- }
- }
- }
-HXDLIN( 308) ::String x = result->join(HX_(",",2c,00,00,00));
-HXDLIN( 308) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 308) q->flush();
- }
-HXDLIN( 308) if (::hx::IsNull( q->b )) {
-HXLINE( 308) q->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x));
- }
- else {
-HXLINE( 308) ::Array< ::String > q1 = q->b;
-HXDLIN( 308) q1->push(::Std_obj::string(x));
- }
- }
-HXLINE( 309) {
-HXLINE( 309) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 309) q->flush();
- }
-HXDLIN( 309) if (::hx::IsNull( q->b )) {
-HXLINE( 309) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_54,1);
- }
- else {
-HXLINE( 309) q->b->push(HX_(") AND stanza_id IN (",e8,da,d3,eb));
- }
- }
-HXLINE( 310) {
-HXLINE( 310) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(localIds->length);
-HXDLIN( 310) {
-HXLINE( 310) int _g3 = 0;
-HXDLIN( 310) int _g4 = localIds->length;
-HXDLIN( 310) while((_g3 < _g4)){
-HXLINE( 310) _g3 = (_g3 + 1);
-HXDLIN( 310) int i1 = (_g3 - 1);
-HXDLIN( 310) {
-HXLINE( 310) ::String _1 = ( (::String)(_hx_array_unsafe_get(localIds,i1)) );
-HXDLIN( 310) result1->__unsafe_set(i1,HX_("?",3f,00,00,00));
- }
- }
- }
-HXDLIN( 310) ::String x1 = result1->join(HX_(",",2c,00,00,00));
-HXDLIN( 310) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 310) q->flush();
- }
-HXDLIN( 310) if (::hx::IsNull( q->b )) {
-HXLINE( 310) q->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x1));
- }
- else {
-HXLINE( 310) ::Array< ::String > q2 = q->b;
-HXDLIN( 310) q2->push(::Std_obj::string(x1));
- }
- }
-HXLINE( 311) {
-HXLINE( 311) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 311) q->flush();
- }
-HXDLIN( 311) if (::hx::IsNull( q->b )) {
-HXLINE( 311) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_55,1);
- }
- else {
-HXLINE( 311) q->b->push(HX_(")",29,00,00,00));
- }
- }
-HXLINE( 312) ::snikket::persistence::SqliteDriver _hx_tmp8 = this->db;
-HXDLIN( 312) ::String _hx_tmp9 = q->toString();
-HXLINE( 304) _hx_tmp6 = _hx_tmp8->exec(_hx_tmp9,::cpp::VirtualArray_obj::__new(2)->init(0,accountId)->init(1,1)->concat(chatIds)->concat(localIds));
- }
- else {
-HXLINE( 304) _hx_tmp6 = ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
- }
-HXDLIN( 304) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp6, ::Dynamic(new _hx_Closure_0(messages,_gthis,accountId)),null()), ::Dynamic(new _hx_Closure_2(messages,_gthis,replyTos,accountId,callback)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,storeMessages,(void))
-
-void Sqlite_obj::updateMessage(::String accountId, ::snikket::ChatMessage message){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> _){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_339_updateMessage)
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_339_updateMessage)
-HXDLIN( 339) this->storeMessages(accountId,::Array_obj< ::Dynamic>::__new(1)->init(0,message), ::Dynamic(new _hx_Closure_0()));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,updateMessage,(void))
-
-void Sqlite_obj::getMessage(::String accountId,::String chatId,::String serverId,::String localId, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
- ::Array< ::Dynamic> _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_353_getMessage)
-HXLINE( 353) return _gthis->hydrateMessages(accountId,result);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_3, ::snikket::persistence::Sqlite,_gthis,::String,chatId,::String,accountId, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_353_getMessage)
-HXLINE( 354) {
-HXLINE( 354) int _g = 0;
-HXDLIN( 354) while((_g < messages->length)){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::snikket::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run(::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_359_getMessage)
-HXLINE( 359) return _gthis->hydrateReactions(accountId,messages);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> hydrated){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_359_getMessage)
-HXLINE( 359) callback(hydrated->__get(0).StaticCast< ::snikket::ChatMessage >());
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 354) ::snikket::ChatMessage message = messages->__get(_g).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 354) _g = (_g + 1);
-HXLINE( 355) ::Dynamic _hx_tmp;
-HXDLIN( 355) if (::hx::IsNotNull( message->replyToMessage )) {
-HXLINE( 355) _hx_tmp = _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( 355) _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(1)->init(0,message));
- }
-HXDLIN( 355) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp, ::Dynamic(new _hx_Closure_1(_gthis,accountId)),null()), ::Dynamic(new _hx_Closure_2(callback)),null());
-HXLINE( 360) return;
- }
- }
-HXLINE( 362) callback(null());
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_342_getMessage)
-HXDLIN( 342) ::snikket::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 343) ::String q = HX_("SELECT stanza, direction, type, status, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sync_point FROM messages WHERE account_id=? AND chat_id=?",6f,5d,49,f4);
-HXLINE( 344) ::Array< ::String > params = ::Array_obj< ::String >::__new(2)->init(0,accountId)->init(1,chatId);
-HXLINE( 345) if (::hx::IsNotNull( serverId )) {
-HXLINE( 346) q = (q + HX_(" AND mam_id=?",4c,af,2b,c9));
-HXLINE( 347) params->push(serverId);
- }
- else {
-HXLINE( 348) if (::hx::IsNotNull( localId )) {
-HXLINE( 349) q = (q + HX_(" AND stanza_id=?",be,a8,32,e3));
-HXLINE( 350) params->push(localId);
- }
- }
-HXLINE( 352) q = (q + HX_("LIMIT 1",ec,af,c7,0e));
-HXLINE( 353) ::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_3(_gthis,chatId,accountId,callback)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC5(Sqlite_obj,getMessage,(void))
-
-void Sqlite_obj::getMessage__fromC(::String accountId,::String chatId,::String serverId,::String localId,::cpp::Function< void (void*,void*) > callback,void* callback__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,void*,callback__context,::cpp::Function< void (void* HX_COMMA void*) >,callback) HXARGC(1)
- void _hx_run( ::snikket::ChatMessage a0){
- HX_STACKFRAME(&_hx_pos_45dcb523da764b50_221_getMessage__fromC)
-HXLINE( 221) ::cpp::Function< void (void*,void*) > callback1 = callback;
-HXLINE( 215) ::Dynamic haxeObject = a0;
-HXDLIN( 215) void* ptr = haxeObject.mPtr;
-HXDLIN( 215) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 215) {
-HXLINE( 215) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 215) if (::hx::IsNull( store )) {
-HXLINE( 215) 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( 215) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 215) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) callback1(ptr,callback__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_45dcb523da764b50_252_getMessage__fromC)
-HXDLIN( 252) this->getMessage(accountId,chatId,serverId,localId, ::Dynamic(new _hx_Closure_0(callback__context,callback)));
- }
-
-
-::Dynamic Sqlite_obj::getMessages(::String accountId,::String chatId,::String time,::String op){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::snikket::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
- ::Array< ::Dynamic> _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_392_getMessages)
-HXLINE( 392) return _gthis->hydrateMessages(accountId,result);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::snikket::persistence::Sqlite,_gthis,::String,op,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run(::Array< ::Dynamic> iter){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_392_getMessages)
-HXLINE( 393) ::Array< ::Dynamic> arr = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 394) ::Array< ::Dynamic> replyTos = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 395) {
-HXLINE( 395) int _g = 0;
-HXDLIN( 395) while((_g < iter->length)){
-HXLINE( 395) ::snikket::ChatMessage message = iter->__get(_g).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 395) _g = (_g + 1);
-HXLINE( 396) arr->push(message);
-HXLINE( 397) bool _hx_tmp;
-HXDLIN( 397) if (::hx::IsNotNull( message->replyToMessage )) {
-HXLINE( 397) _hx_tmp = ::hx::IsNull( message->replyToMessage->serverIdBy );
- }
- else {
-HXLINE( 397) _hx_tmp = false;
- }
-HXDLIN( 397) if (_hx_tmp) {
-HXLINE( 398) ::String _hx_tmp1 = message->chatId();
-HXDLIN( 398) replyTos->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( 401) bool _hx_tmp2;
-HXDLIN( 401) if ((op != HX_("<",3c,00,00,00))) {
-HXLINE( 401) _hx_tmp2 = (op == HX_("<=",81,34,00,00));
- }
- else {
-HXLINE( 401) _hx_tmp2 = true;
- }
-HXDLIN( 401) if (_hx_tmp2) {
-HXLINE( 402) arr->reverse();
- }
-HXLINE( 404) return _gthis->hydrateReplyTo(accountId,arr,replyTos);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::snikket::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run(::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_405_getMessages)
-HXLINE( 405) return _gthis->hydrateReactions(accountId,messages);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_366_getMessages)
-HXDLIN( 366) ::snikket::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 367) ::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\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.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 IS NULL OR messages.stanza_id='' OR messages.stanza_id=correction_id) AND messages.account_id=? AND messages.chat_id=?",2a,9e,b1,ea);
-HXLINE( 382) ::Array< ::String > params = ::Array_obj< ::String >::__new(2)->init(0,accountId)->init(1,chatId);
-HXLINE( 383) if (::hx::IsNotNull( time )) {
-HXLINE( 384) q = (q + ((HX_(" AND messages.created_at ",3d,a0,ae,bb) + op) + HX_("CAST(unixepoch(?, 'subsec') * 1000 AS INTEGER)",17,de,5d,f8)));
-HXLINE( 385) params->push(time);
- }
-HXLINE( 387) q = (q + HX_(" GROUP BY correction_id, messages.sender_id ORDER BY messages.created_at",6a,b6,3b,02));
-HXLINE( 388) bool _hx_tmp;
-HXDLIN( 388) if ((op != HX_("<",3c,00,00,00))) {
-HXLINE( 388) _hx_tmp = (op == HX_("<=",81,34,00,00));
- }
- else {
-HXLINE( 388) _hx_tmp = true;
- }
-HXDLIN( 388) if (_hx_tmp) {
-HXLINE( 388) q = (q + HX_(" DESC",71,b6,f9,99));
- }
-HXLINE( 389) q = (q + HX_(", messages.ROWID",a7,cc,85,7b));
-HXLINE( 390) bool _hx_tmp1;
-HXDLIN( 390) if ((op != HX_("<",3c,00,00,00))) {
-HXLINE( 390) _hx_tmp1 = (op == HX_("<=",81,34,00,00));
- }
- else {
-HXLINE( 390) _hx_tmp1 = true;
- }
-HXDLIN( 390) if (_hx_tmp1) {
-HXLINE( 390) q = (q + HX_(" DESC",71,b6,f9,99));
- }
-HXLINE( 391) q = (q + HX_(" LIMIT 50",60,62,1f,3e));
-HXLINE( 392) return ::thenshim::_Promise::Promise_Impl__obj::then(::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(_gthis,op,accountId)),null()), ::Dynamic(new _hx_Closure_2(_gthis,accountId)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,getMessages,return )
-
-void Sqlite_obj::getMessagesBefore(::String accountId,::String chatId,::String beforeId,::String beforeTime, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_410_getMessagesBefore)
-HXDLIN( 410) ::thenshim::_Promise::Promise_Impl__obj::then(this->getMessages(accountId,chatId,beforeTime,HX_("<",3c,00,00,00)),callback,null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC5(Sqlite_obj,getMessagesBefore,(void))
-
-void Sqlite_obj::getMessagesAfter(::String accountId,::String chatId,::String afterId,::String afterTime, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_415_getMessagesAfter)
-HXDLIN( 415) ::thenshim::_Promise::Promise_Impl__obj::then(this->getMessages(accountId,chatId,afterTime,HX_(">",3e,00,00,00)),callback,null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC5(Sqlite_obj,getMessagesAfter,(void))
-
-void Sqlite_obj::getMessagesAround(::String accountId,::String chatId,::String aroundId,::String aroundTime, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_4, ::snikket::persistence::Sqlite,_gthis,::String,chatId,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run(::String aroundTime){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_431_getMessagesAround)
-HXLINE( 432) ::Dynamic _hx_tmp = _gthis->getMessages(accountId,chatId,aroundTime,HX_("<",3c,00,00,00));
-HXLINE( 431) return ::thenshim::PromiseTools_obj::all(::Array_obj< ::Dynamic>::__new(2)->init(0,_hx_tmp)->init(1,_gthis->getMessages(accountId,chatId,aroundTime,HX_(">=",3f,36,00,00))));
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_5, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> results){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_436_getMessagesAround)
-HXLINE( 436) ::Dynamic callback1 = callback;
-HXDLIN( 436) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 436) {
-HXLINE( 436) int _g_current = 0;
-HXDLIN( 436) ::Array< ::Dynamic> _g_array = results;
-HXDLIN( 436) while((_g_current < _g_array->length)){
-HXLINE( 436) _g_current = (_g_current + 1);
-HXDLIN( 436) ::Array< ::Dynamic> x = _g_array->__get((_g_current - 1)).StaticCast< ::Array< ::Dynamic> >();
-HXDLIN( 436) _g->push(x);
- }
- }
-HXDLIN( 436) ::Array< ::Dynamic> _g1 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 436) {
-HXLINE( 436) ::Dynamic e = _g->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 436) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 436) ::Dynamic e1 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXDLIN( 436) {
-HXLINE( 436) ::Dynamic x1 = e1->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 436) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 436) ::snikket::ChatMessage x2 = ( ( ::snikket::ChatMessage)(x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 436) _g1->push(x2);
- }
- }
- }
- }
-HXDLIN( 436) callback1(_g1);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_419_getMessagesAround)
-HXDLIN( 419) ::snikket::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 420) ::Dynamic _hx_tmp;
-HXDLIN( 420) if (::hx::IsNull( aroundTime )) {
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_0, ::snikket::persistence::Sqlite,_gthis,::String,chatId,::String,aroundId,::String,accountId) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_421_getMessagesAround)
-HXLINE( 421) _gthis->getMessage(accountId,chatId,aroundId,null(),resolve);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_3, ::snikket::persistence::Sqlite,_gthis,::String,chatId,::String,aroundId,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run( ::snikket::ChatMessage m){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_422_getMessagesAround)
-HXLINE( 422) if (::hx::IsNotNull( m )) {
-HXLINE( 423) return ::thenshim::_Promise::Promise_Impl__obj::resolve(m->timestamp);
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_1, ::snikket::persistence::Sqlite,_gthis,::String,chatId,::String,aroundId,::String,accountId) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_425_getMessagesAround)
-HXLINE( 425) _gthis->getMessage(accountId,chatId,null(),aroundId,resolve);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
- ::String _hx_run( ::snikket::ChatMessage m){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_425_getMessagesAround)
-HXLINE( 425) if (::hx::IsNotNull( m )) {
-HXLINE( 425) return m->timestamp;
- }
- else {
-HXLINE( 425) return null();
- }
-HXDLIN( 425) return null();
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 425) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,chatId,aroundId,accountId))), ::Dynamic(new _hx_Closure_2()),null());
- }
-HXLINE( 422) return null();
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 420) _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_0(_gthis,chatId,aroundId,accountId))), ::Dynamic(new _hx_Closure_3(_gthis,chatId,aroundId,accountId)),null());
- }
- else {
-HXLINE( 420) _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::resolve(aroundTime);
- }
-HXDLIN( 420) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp, ::Dynamic(new _hx_Closure_4(_gthis,chatId,accountId)),null()), ::Dynamic(new _hx_Closure_5(callback)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC5(Sqlite_obj,getMessagesAround,(void))
-
-void Sqlite_obj::getChatsUnreadDetails(::String accountId,::Array< ::Dynamic> chats, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::persistence::Sqlite,_gthis,::Array< ::Dynamic>,chats,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run( ::Dynamic _){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_447_getChatsUnreadDetails)
-HXLINE( 448) ::cpp::VirtualArray params = ::cpp::VirtualArray_obj::__new(1)->init(0,accountId);
-HXLINE( 450) ::StringBuf subq = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE( 451) {
-HXLINE( 451) if (::hx::IsNotNull( subq->charBuf )) {
-HXLINE( 451) subq->flush();
- }
-HXDLIN( 451) if (::hx::IsNull( subq->b )) {
-HXLINE( 451) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_88,1);
- }
- else {
-HXLINE( 451) subq->b->push(HX_("SELECT chat_id, ROWID as row, MAX(created_at) AS created_at FROM messages WHERE account_id=?",d0,69,08,92));
- }
- }
-HXLINE( 452) {
-HXLINE( 452) if (::hx::IsNotNull( subq->charBuf )) {
-HXLINE( 452) subq->flush();
- }
-HXDLIN( 452) if (::hx::IsNull( subq->b )) {
-HXLINE( 452) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_89,1);
- }
- else {
-HXLINE( 452) subq->b->push(HX_(" AND chat_id IN (",14,bd,7b,de));
- }
- }
-HXLINE( 453) {
-HXLINE( 453) int _g_current = 0;
-HXDLIN( 453) ::Array< ::Dynamic> _g_array = chats;
-HXDLIN( 453) while((_g_current < _g_array->length)){
-HXLINE( 453) ::snikket::Chat _g_value = _g_array->__get(_g_current).StaticCast< ::snikket::Chat >();
-HXDLIN( 453) _g_current = (_g_current + 1);
-HXDLIN( 453) int _g_key = (_g_current - 1);
-HXDLIN( 453) int i = _g_key;
-HXDLIN( 453) ::snikket::Chat chat = _g_value;
-HXDLIN( 453) {
-HXLINE( 454) if ((i != 0)) {
-HXLINE( 454) if (::hx::IsNotNull( subq->charBuf )) {
-HXLINE( 454) subq->flush();
- }
-HXDLIN( 454) if (::hx::IsNull( subq->b )) {
-HXLINE( 454) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_90,1);
- }
- else {
-HXLINE( 454) subq->b->push(HX_(",",2c,00,00,00));
- }
- }
-HXLINE( 455) {
-HXLINE( 455) if (::hx::IsNotNull( subq->charBuf )) {
-HXLINE( 455) subq->flush();
- }
-HXDLIN( 455) if (::hx::IsNull( subq->b )) {
-HXLINE( 455) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_91,1);
- }
- else {
-HXLINE( 455) subq->b->push(HX_("?",3f,00,00,00));
- }
- }
-HXLINE( 456) params->push(chat->chatId);
- }
- }
- }
-HXLINE( 458) {
-HXLINE( 458) if (::hx::IsNotNull( subq->charBuf )) {
-HXLINE( 458) subq->flush();
- }
-HXDLIN( 458) if (::hx::IsNull( subq->b )) {
-HXLINE( 458) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_92,1);
- }
- else {
-HXLINE( 458) subq->b->push(HX_(") AND (mam_id IN (",64,f4,1c,69));
- }
- }
-HXLINE( 459) bool didOne = false;
-HXLINE( 460) {
-HXLINE( 460) int _g = 0;
-HXDLIN( 460) while((_g < chats->length)){
-HXLINE( 460) ::snikket::Chat chat1 = chats->__get(_g).StaticCast< ::snikket::Chat >();
-HXDLIN( 460) _g = (_g + 1);
-HXLINE( 461) if (::hx::IsNotNull( chat1->readUpTo() )) {
-HXLINE( 462) if (didOne) {
-HXLINE( 462) if (::hx::IsNotNull( subq->charBuf )) {
-HXLINE( 462) subq->flush();
- }
-HXDLIN( 462) if (::hx::IsNull( subq->b )) {
-HXLINE( 462) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_93,1);
- }
- else {
-HXLINE( 462) subq->b->push(HX_(",",2c,00,00,00));
- }
- }
-HXLINE( 463) {
-HXLINE( 463) if (::hx::IsNotNull( subq->charBuf )) {
-HXLINE( 463) subq->flush();
- }
-HXDLIN( 463) if (::hx::IsNull( subq->b )) {
-HXLINE( 463) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_94,1);
- }
- else {
-HXLINE( 463) subq->b->push(HX_("?",3f,00,00,00));
- }
- }
-HXLINE( 464) params->push(chat1->readUpTo());
-HXLINE( 465) didOne = true;
- }
- }
- }
-HXLINE( 468) {
-HXLINE( 468) if (::hx::IsNotNull( subq->charBuf )) {
-HXLINE( 468) subq->flush();
- }
-HXDLIN( 468) if (::hx::IsNull( subq->b )) {
-HXLINE( 468) subq->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_95,1);
- }
- else {
-HXLINE( 468) subq->b->push(HX_(") OR direction=?) GROUP BY chat_id",cc,ab,94,e3));
- }
- }
-HXLINE( 469) params->push(1);
-HXLINE( 471) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE( 472) {
-HXLINE( 472) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 472) q->flush();
- }
-HXDLIN( 472) if (::hx::IsNull( q->b )) {
-HXLINE( 472) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_96,1);
- }
- else {
-HXLINE( 472) q->b->push(HX_("SELECT chat_id AS chatId, stanza, direction, type, status, sender_id, mam_id, mam_by, sync_point, CASE WHEN subq.created_at IS NULL THEN COUNT(*) ELSE COUNT(*) - 1 END AS unreadCount, strftime('%FT%H:%M:%fZ', MAX(messages.created_at) / 1000.0, 'unixepoch') AS timestamp FROM messages LEFT JOIN (",2a,b0,45,a6));
- }
- }
-HXLINE( 473) {
-HXLINE( 473) ::String x = subq->toString();
-HXDLIN( 473) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 473) q->flush();
- }
-HXDLIN( 473) if (::hx::IsNull( q->b )) {
-HXLINE( 473) q->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x));
- }
- else {
-HXLINE( 473) ::Array< ::String > q1 = q->b;
-HXDLIN( 473) q1->push(::Std_obj::string(x));
- }
- }
-HXLINE( 474) {
-HXLINE( 474) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 474) q->flush();
- }
-HXDLIN( 474) if (::hx::IsNull( q->b )) {
-HXLINE( 474) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_97,1);
- }
- else {
-HXLINE( 474) q->b->push(HX_(") subq USING (chat_id) WHERE account_id=? AND (stanza_id IS NULL OR stanza_id='' OR stanza_id=correction_id) AND chat_id IN (",e7,a1,32,e5));
- }
- }
-HXLINE( 475) params->push(accountId);
-HXLINE( 476) {
-HXLINE( 476) int _g_current1 = 0;
-HXDLIN( 476) ::Array< ::Dynamic> _g_array1 = chats;
-HXDLIN( 476) while((_g_current1 < _g_array1->length)){
-HXLINE( 476) ::snikket::Chat _g_value1 = _g_array1->__get(_g_current1).StaticCast< ::snikket::Chat >();
-HXDLIN( 476) _g_current1 = (_g_current1 + 1);
-HXDLIN( 476) int _g_key1 = (_g_current1 - 1);
-HXDLIN( 476) int i1 = _g_key1;
-HXDLIN( 476) ::snikket::Chat chat2 = _g_value1;
-HXDLIN( 476) {
-HXLINE( 477) if ((i1 != 0)) {
-HXLINE( 477) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 477) q->flush();
- }
-HXDLIN( 477) if (::hx::IsNull( q->b )) {
-HXLINE( 477) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_98,1);
- }
- else {
-HXLINE( 477) q->b->push(HX_(",",2c,00,00,00));
- }
- }
-HXLINE( 478) {
-HXLINE( 478) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 478) q->flush();
- }
-HXDLIN( 478) if (::hx::IsNull( q->b )) {
-HXLINE( 478) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_99,1);
- }
- else {
-HXLINE( 478) q->b->push(HX_("?",3f,00,00,00));
- }
- }
-HXLINE( 479) params->push(chat2->chatId);
- }
- }
- }
-HXLINE( 481) {
-HXLINE( 481) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 481) q->flush();
- }
-HXDLIN( 481) if (::hx::IsNull( q->b )) {
-HXLINE( 481) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_100,1);
- }
- else {
-HXLINE( 481) q->b->push(HX_(") AND (subq.created_at IS NULL OR messages.created_at > subq.created_at OR (messages.created_at=subq.created_at AND messages.ROWID >= subq.row)) GROUP BY chat_id;",58,6f,52,ea));
- }
- }
-HXLINE( 482) ::snikket::persistence::SqliteDriver _gthis1 = _gthis->db;
-HXDLIN( 482) return _gthis1->exec(q->toString(),params);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
- ::cpp::VirtualArray _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::haxe::iterators::ArrayIterator,result) HXARGC(0)
- ::haxe::iterators::ArrayIterator _hx_run(){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_484_getChatsUnreadDetails)
-HXLINE( 484) return result;
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_484_getChatsUnreadDetails)
-HXLINE( 484) return ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_1(result)))));
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_4, ::snikket::persistence::Sqlite,_gthis,::String,accountId, ::Dynamic,callback) HXARGC(1)
- ::Dynamic _hx_run(::cpp::VirtualArray rows){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3,::cpp::VirtualArray,rows, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> messages){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_486_getChatsUnreadDetails)
-HXLINE( 487) ::Array< ::Dynamic> details = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 488) {
-HXLINE( 488) int _g_current = 0;
-HXDLIN( 488) ::Array< ::Dynamic> _g_array = messages;
-HXDLIN( 488) while((_g_current < _g_array->length)){
-HXLINE( 488) ::snikket::ChatMessage _g_value = _g_array->__get(_g_current).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 488) _g_current = (_g_current + 1);
-HXDLIN( 488) int _g_key = (_g_current - 1);
-HXDLIN( 488) int i = _g_key;
-HXDLIN( 488) ::snikket::ChatMessage m = _g_value;
-HXLINE( 489) details->push( ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("message",c7,35,11,9a),m)
- ->setFixed(1,HX_("unreadCount",20,18,f1,a0), ::Dynamic(rows->__get(i)->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic)))
- ->setFixed(2,HX_("chatId",d3,04,77,b7), ::Dynamic(rows->__get(i)->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)))));
- }
- }
-HXLINE( 495) callback(details);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_485_getChatsUnreadDetails)
-HXLINE( 486) ::snikket::persistence::Sqlite _gthis1 = _gthis;
-HXDLIN( 486) ::String accountId1 = accountId;
-HXLINE( 485) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::resolve(_gthis1->hydrateMessages(accountId1, ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,rows))), ::Dynamic(new _hx_Closure_3(rows,callback)),null());
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_441_getChatsUnreadDetails)
-HXDLIN( 441) ::snikket::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 442) bool _hx_tmp;
-HXDLIN( 442) if (::hx::IsNotNull( chats )) {
-HXLINE( 442) _hx_tmp = (chats->length < 1);
- }
- else {
-HXLINE( 442) _hx_tmp = true;
- }
-HXDLIN( 442) if (_hx_tmp) {
-HXLINE( 443) callback(::Array_obj< ::Dynamic>::__new(0));
-HXLINE( 444) return;
- }
-HXLINE( 447) ::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(_gthis,chats,accountId)),null()), ::Dynamic(new _hx_Closure_2()),null()), ::Dynamic(new _hx_Closure_4(_gthis,accountId,callback)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,getChatsUnreadDetails,(void))
-
-void Sqlite_obj::storeReaction(::String accountId, ::snikket::ReactionUpdate update, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_0, ::snikket::persistence::Sqlite,_gthis,::String,accountId, ::snikket::ReactionUpdate,update, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_510_storeReaction)
-HXLINE( 510) _gthis->getMessage(accountId,update->chatId,update->serverId,update->localId,callback);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_501_storeReaction)
-HXDLIN( 501) ::snikket::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 502) ::snikket::persistence::SqliteDriver _hx_tmp = this->db;
-HXLINE( 505) ::String accountId1 = accountId;
-HXDLIN( 505) ::String update1 = update->updateId;
-HXDLIN( 505) ::String update2 = update->serverId;
-HXDLIN( 505) ::String update3 = update->serverIdBy;
-HXLINE( 506) ::String update4 = update->localId;
-HXDLIN( 506) ::String update5 = update->chatId;
-HXDLIN( 506) ::String update6 = update->senderId;
-HXDLIN( 506) ::String update7 = update->timestamp;
-HXLINE( 507) ::String _hx_tmp1 = ::snikket::JsonPrinter_obj::print(update->reactions,null(),null());
-HXLINE( 502) ::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,callback)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,storeReaction,(void))
-
-void Sqlite_obj::updateMessageStatus(::String accountId,::String localId,int status, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::persistence::Sqlite,_gthis,::String,localId,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_520_updateMessageStatus)
-HXLINE( 520) return _gthis->db->exec(HX_("SELECT stanza, direction, type, status, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, correction_id AS stanza_id, mam_id, mam_by, sync_point FROM messages WHERE account_id=? AND stanza_id=? AND direction=?",7b,f7,03,13),::cpp::VirtualArray_obj::__new(3)->init(0,accountId)->init(1,localId)->init(2,1));
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_3, ::snikket::persistence::Sqlite,_gthis,::String,accountId, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_524_updateMessageStatus)
-HXLINE( 525) ::Array< ::Dynamic> messages = _gthis->hydrateMessages(accountId,result);
-HXLINE( 526) {
-HXLINE( 526) int _g = 0;
-HXDLIN( 526) while((_g < messages->length)){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::snikket::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run(::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_531_updateMessageStatus)
-HXLINE( 531) return _gthis->hydrateReactions(accountId,messages);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::Dynamic,callback) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> hydrated){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_531_updateMessageStatus)
-HXLINE( 531) callback(hydrated->__get(0).StaticCast< ::snikket::ChatMessage >());
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 526) ::snikket::ChatMessage message = messages->__get(_g).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 526) _g = (_g + 1);
-HXLINE( 527) ::Dynamic _hx_tmp;
-HXDLIN( 527) if (::hx::IsNotNull( message->replyToMessage )) {
-HXLINE( 528) ::snikket::persistence::Sqlite _gthis1 = _gthis;
-HXDLIN( 528) ::String accountId1 = accountId;
-HXDLIN( 528) ::String _hx_tmp1 = message->chatId();
-HXLINE( 527) _hx_tmp = _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),_hx_tmp1)
- ->setFixed(1,HX_("serverId",7e,01,b2,e2),message->replyToMessage->serverId)
- ->setFixed(2,HX_("localId",26,7a,c6,2d),message->replyToMessage->localId))));
- }
- else {
-HXLINE( 527) _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(1)->init(0,message));
- }
-HXDLIN( 527) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp, ::Dynamic(new _hx_Closure_1(_gthis,accountId)),null()), ::Dynamic(new _hx_Closure_2(callback)),null());
-HXLINE( 532) return;
- }
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_515_updateMessageStatus)
-HXDLIN( 515) ::snikket::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 516) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("UPDATE messages SET status=? WHERE account_id=? AND stanza_id=? AND direction=? AND status <> ?",75,90,3c,fc),::cpp::VirtualArray_obj::__new(5)->init(0,status)->init(1,accountId)->init(2,localId)->init(3,1)->init(4,2)), ::Dynamic(new _hx_Closure_0(_gthis,localId,accountId)),null()), ::Dynamic(new _hx_Closure_3(_gthis,accountId,callback)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,updateMessageStatus,(void))
-
-void Sqlite_obj::hasMedia(::String hashAlgorithm,::Array< unsigned char > hash, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_539_hasMedia)
-HXDLIN( 539) ::snikket::persistence::MediaStore_obj::hasMedia(this->media,hashAlgorithm,hash,callback);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,hasMedia,(void))
-
-void Sqlite_obj::removeMedia(::String hashAlgorithm,::Array< unsigned char > hash){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_544_removeMedia)
-HXDLIN( 544) ::snikket::persistence::MediaStore_obj::removeMedia(this->media,hashAlgorithm,hash);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,removeMedia,(void))
-
-void Sqlite_obj::storeMedia(::String mime,::Array< unsigned char > bd, ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_549_storeMedia)
-HXDLIN( 549) ::snikket::persistence::MediaStore_obj::storeMedia(this->media,mime,bd,callback);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,storeMedia,(void))
-
-void Sqlite_obj::storeCaps( ::snikket::Caps caps){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_554_storeCaps)
-HXDLIN( 554) ::haxe::ds::ObjectMap _g = ::haxe::ds::ObjectMap_obj::__alloc( HX_CTX );
-HXDLIN( 554) _g->set(caps->verRaw()->hash,caps);
-HXDLIN( 554) this->storeCapsSet(_g);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,storeCaps,(void))
-
-void Sqlite_obj::storeCapsSet( ::haxe::ds::ObjectMap capsSet){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_557_storeCapsSet)
-HXLINE( 558) ::cpp::VirtualArray params = ::cpp::VirtualArray_obj::__new(0);
-HXLINE( 559) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE( 560) {
-HXLINE( 560) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 560) q->flush();
- }
-HXDLIN( 560) if (::hx::IsNull( q->b )) {
-HXLINE( 560) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_120,1);
- }
- else {
-HXLINE( 560) q->b->push(HX_("INSERT OR IGNORE INTO caps VALUES ",27,4b,68,bf));
- }
- }
-HXLINE( 561) bool first = true;
-HXLINE( 562) {
-HXLINE( 562) ::Dynamic map = capsSet;
-HXDLIN( 562) ::Dynamic _g_map = map;
-HXDLIN( 562) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN( 562) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 562) ::Array< unsigned char > key = ( (::Array< unsigned char >)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 562) ::snikket::Caps _g_value = ( ( ::snikket::Caps)(::haxe::IMap_obj::get(_g_map,key)) );
-HXDLIN( 562) ::Array< unsigned char > _g_key = key;
-HXDLIN( 562) ::Array< unsigned char > ver = _g_key;
-HXDLIN( 562) ::snikket::Caps caps = _g_value;
-HXDLIN( 562) {
-HXLINE( 563) if (!(first)) {
-HXLINE( 563) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 563) q->flush();
- }
-HXDLIN( 563) if (::hx::IsNull( q->b )) {
-HXLINE( 563) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_121,1);
- }
- else {
-HXLINE( 563) q->b->push(HX_(",",2c,00,00,00));
- }
- }
-HXLINE( 564) {
-HXLINE( 564) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 564) q->flush();
- }
-HXDLIN( 564) if (::hx::IsNull( q->b )) {
-HXLINE( 564) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_122,1);
- }
- else {
-HXLINE( 564) q->b->push(HX_("(?,jsonb(?))",1c,61,06,9e));
- }
- }
-HXLINE( 565) params->push(ver);
-HXLINE( 566) ::Dynamic replacer = null();
-HXDLIN( 566) ::String space = null();
-HXDLIN( 566) params->push(::haxe::format::JsonPrinter_obj::print( ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("identities",1c,c5,6d,d7),caps->identities)
- ->setFixed(1,HX_("features",fd,6c,d7,12),caps->features)
- ->setFixed(2,HX_("node",02,0a,0a,49),caps->node)),replacer,space));
-HXLINE( 567) first = false;
- }
- }
- }
-HXLINE( 569) if ((params->get_length() < 1)) {
-HXLINE( 569) return;
- }
-HXLINE( 570) ::snikket::persistence::SqliteDriver _hx_tmp = this->db;
-HXDLIN( 570) _hx_tmp->exec(q->toString(),params);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,storeCapsSet,(void))
-
-void Sqlite_obj::getCaps(::String ver, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::Array< unsigned char >,verData, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_584_getCaps)
-HXLINE( 585) {
-HXLINE( 585) ::haxe::iterators::ArrayIterator _g = result;
-HXDLIN( 585) while((_g->current < _g->array->get_length())){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- ::snikket::Identity _hx_run( ::Dynamic i){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_587_getCaps)
-HXLINE( 587) return ::snikket::Identity_obj::__alloc( HX_CTX ,( (::String)(i->__Field(HX_("category",fe,2a,6c,ad),::hx::paccDynamic)) ),( (::String)(i->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic)) ),( (::String)(i->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) ));
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 585) ::Dynamic row = _g->array->__get(_g->current++);
-HXLINE( 586) ::Dynamic json = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))->doParse();
-HXLINE( 587) ::Dynamic callback1 = callback;
-HXDLIN( 587) ::String json1 = ( (::String)(json->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) );
-HXDLIN( 587) ::Array< ::Dynamic> _hx_tmp = ( (::Array< ::Dynamic>)( ::Dynamic(json->__Field(HX_("identities",1c,c5,6d,d7),::hx::paccDynamic))->__Field(HX_("map",9c,0a,53,00),::hx::paccDynamic)( ::Dynamic(new _hx_Closure_0()))) );
-HXDLIN( 587) callback1( ::snikket::Caps_obj::__alloc( HX_CTX ,json1,_hx_tmp,( (::Array< ::String >)(json->__Field(HX_("features",fd,6c,d7,12),::hx::paccDynamic)) ),verData));
-HXLINE( 588) return;
- }
- }
-HXLINE( 590) callback(null());
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_574_getCaps)
-HXLINE( 575) ::Array< unsigned char > verData;
-HXDLIN( 575) try {
- HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 575) 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( 578) callback(null());
-HXLINE( 579) return;
- }
- else {
- HX_STACK_DO_THROW(_hx_e);
- }
- }
-HXLINE( 581) ::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_1(verData,callback)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,getCaps,(void))
-
-void Sqlite_obj::storeLogin(::String accountId,::String clientId,::String displayName,::String token){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_595_storeLogin)
-HXLINE( 596) ::Array< ::String > params = ::Array_obj< ::String >::__new(3)->init(0,accountId)->init(1,clientId)->init(2,displayName);
-HXLINE( 597) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE( 598) {
-HXLINE( 598) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 598) q->flush();
- }
-HXDLIN( 598) if (::hx::IsNull( q->b )) {
-HXLINE( 598) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_128,1);
- }
- else {
-HXLINE( 598) q->b->push(HX_("INSERT INTO accounts (account_id, client_id, display_name",03,b0,6a,0b));
- }
- }
-HXLINE( 599) if (::hx::IsNotNull( token )) {
-HXLINE( 600) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 600) q->flush();
- }
-HXDLIN( 600) if (::hx::IsNull( q->b )) {
-HXLINE( 600) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_129,1);
- }
- else {
-HXLINE( 600) q->b->push(HX_(", token, fast_count",a5,56,e4,ae));
- }
- }
-HXLINE( 602) {
-HXLINE( 602) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 602) q->flush();
- }
-HXDLIN( 602) if (::hx::IsNull( q->b )) {
-HXLINE( 602) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_130,1);
- }
- else {
-HXLINE( 602) q->b->push(HX_(") VALUES (?,?,?",c4,1c,e3,67));
- }
- }
-HXLINE( 603) if (::hx::IsNotNull( token )) {
-HXLINE( 604) {
-HXLINE( 604) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 604) q->flush();
- }
-HXDLIN( 604) if (::hx::IsNull( q->b )) {
-HXLINE( 604) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_131,1);
- }
- else {
-HXLINE( 604) q->b->push(HX_(",?",93,26,00,00));
- }
- }
-HXLINE( 605) params->push(token);
-HXLINE( 606) {
-HXLINE( 606) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 606) q->flush();
- }
-HXDLIN( 606) if (::hx::IsNull( q->b )) {
-HXLINE( 606) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_132,1);
- }
- else {
-HXLINE( 606) q->b->push(HX_(",0",84,26,00,00));
- }
- }
- }
-HXLINE( 608) {
-HXLINE( 608) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 608) q->flush();
- }
-HXDLIN( 608) if (::hx::IsNull( q->b )) {
-HXLINE( 608) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_133,1);
- }
- else {
-HXLINE( 608) q->b->push(HX_(") ON CONFLICT DO UPDATE SET client_id=?",cd,99,0c,96));
- }
- }
-HXLINE( 609) params->push(clientId);
-HXLINE( 610) {
-HXLINE( 610) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 610) q->flush();
- }
-HXDLIN( 610) if (::hx::IsNull( q->b )) {
-HXLINE( 610) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_134,1);
- }
- else {
-HXLINE( 610) q->b->push(HX_(", display_name=?",7e,ad,5b,0f));
- }
- }
-HXLINE( 611) params->push(displayName);
-HXLINE( 612) if (::hx::IsNotNull( token )) {
-HXLINE( 613) {
-HXLINE( 613) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 613) q->flush();
- }
-HXDLIN( 613) if (::hx::IsNull( q->b )) {
-HXLINE( 613) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_135,1);
- }
- else {
-HXLINE( 613) q->b->push(HX_(", token=?",a7,78,19,80));
- }
- }
-HXLINE( 614) params->push(token);
-HXLINE( 615) {
-HXLINE( 615) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 615) q->flush();
- }
-HXDLIN( 615) if (::hx::IsNull( q->b )) {
-HXLINE( 615) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_136,1);
- }
- else {
-HXLINE( 615) q->b->push(HX_(", fast_count=0",73,a8,4f,82));
- }
- }
- }
-HXLINE( 617) ::snikket::persistence::SqliteDriver _hx_tmp = this->db;
-HXDLIN( 617) _hx_tmp->exec(q->toString(),params);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,storeLogin,(void))
-
-void Sqlite_obj::getLogin(::String accountId, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::persistence::Sqlite,_gthis,::String,accountId, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_625_getLogin)
-HXLINE( 626) {
-HXLINE( 626) ::haxe::iterators::ArrayIterator _g = result;
-HXDLIN( 626) while((_g->current < _g->array->get_length())){
-HXLINE( 626) ::Dynamic row = _g->array->__get(_g->current++);
-HXLINE( 627) if (::hx::IsNotNull( row->__Field(HX_("token",f9,82,2b,14),::hx::paccDynamic) )) {
-HXLINE( 628) _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( 630) ::Dynamic tmp = row->__Field(HX_("fast_count",ac,2b,d2,5a),::hx::paccDynamic);
-HXDLIN( 630) int _hx_tmp;
-HXDLIN( 630) if (::hx::IsNotNull( tmp )) {
-HXLINE( 630) _hx_tmp = ( (int)(tmp) );
- }
- else {
-HXLINE( 630) _hx_tmp = 0;
- }
-HXDLIN( 630) callback( ::Dynamic(row->__Field(HX_("client_id",8f,e8,05,c8),::hx::paccDynamic)), ::Dynamic(row->__Field(HX_("token",f9,82,2b,14),::hx::paccDynamic)),_hx_tmp, ::Dynamic(row->__Field(HX_("display_name",a8,f4,3b,75),::hx::paccDynamic)));
-HXLINE( 631) return;
- }
- }
-HXLINE( 634) callback(null(),null(),0,null());
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_621_getLogin)
-HXDLIN( 621) ::snikket::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 622) ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT client_id, display_name, token, fast_count FROM accounts WHERE account_id=? LIMIT 1",fa,f8,24,9e),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_0(_gthis,accountId,callback)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,getLogin,(void))
-
-void Sqlite_obj::removeAccount(::String accountId,bool completely){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_638_removeAccount)
-HXLINE( 639) this->db->exec(HX_("DELETE FROM accounts WHERE account_id=?",a1,e8,94,4e),::cpp::VirtualArray_obj::__new(1)->init(0,accountId));
-HXLINE( 641) if (!(completely)) {
-HXLINE( 641) return;
- }
-HXLINE( 643) this->db->exec(HX_("DELETE FROM messages WHERE account_id=?",bb,0a,07,c2),::cpp::VirtualArray_obj::__new(1)->init(0,accountId));
-HXLINE( 644) this->db->exec(HX_("DELETE FROM chats WHERE account_id=?",2e,3d,02,57),::cpp::VirtualArray_obj::__new(1)->init(0,accountId));
-HXLINE( 645) this->db->exec(HX_("DELETE FROM services WHERE account_id=?",29,fc,5f,4f),::cpp::VirtualArray_obj::__new(1)->init(0,accountId));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,removeAccount,(void))
-
-void Sqlite_obj::listAccounts( ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_651_listAccounts)
-HXLINE( 651) ::Dynamic callback1 = callback;
-HXDLIN( 651) ::Array< ::String > _hx_tmp;
-HXDLIN( 651) if (::hx::IsNull( result )) {
-HXLINE( 651) _hx_tmp = ::Array_obj< ::String >::__new(0);
- }
- else {
-HXLINE( 651) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
-HXDLIN( 651) {
- 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_5b1a6b524efab4db_651_listAccounts)
-HXLINE( 651) return result;
- }
- HX_END_LOCAL_FUNC0(return)
-
-HXLINE( 651) ::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( 651) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 651) ::Dynamic x1 = x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXDLIN( 651) _g->push( ::Dynamic(x1->__Field(HX_("account_id",6d,df,ad,00),::hx::paccDynamic)));
- }
- }
-HXDLIN( 651) _hx_tmp = _g;
- }
-HXDLIN( 651) callback1(_hx_tmp);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_650_listAccounts)
-HXDLIN( 650) ::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(callback)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,listAccounts,(void))
-
-void Sqlite_obj::listAccounts__fromC(::cpp::Function< void (const char**,size_t,void*) > callback,void* callback__context){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,void*,callback__context,::cpp::Function< void (const char** HX_COMMA size_t HX_COMMA void*) >,callback) HXARGC(1)
- void _hx_run(::Array< ::String > a0){
- HX_STACKFRAME(&_hx_pos_45dcb523da764b50_221_listAccounts__fromC)
-HXLINE( 221) ::cpp::Function< void (const char**,size_t,void*) > callback1 = callback;
-HXLINE( 211) ::Array< size_t > arr = ::Array_obj< size_t >::__new(a0->length);
-HXDLIN( 211) {
-HXLINE( 211) int _g_current = 0;
-HXDLIN( 211) ::Array< ::String > _g_array = a0;
-HXDLIN( 211) while((_g_current < _g_array->length)){
-HXLINE( 211) ::String _g_value = _g_array->__get(_g_current);
-HXDLIN( 211) _g_current = (_g_current + 1);
-HXDLIN( 211) int _g_key = (_g_current - 1);
-HXDLIN( 211) int i = _g_key;
-HXDLIN( 211) ::String el = _g_value;
-HXDLIN( 211) {
-HXLINE( 211) const char* cStrPtr = el.utf8_str();
-HXDLIN( 211) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 211) if (::hx::IsNull( store )) {
-HXLINE(2111) 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( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 211) const char* ptr = cStrPtr;
-HXDLIN( 211) arr[i] = reinterpret_cast<size_t>(ptr);
- }
- }
- }
-HXDLIN( 211) void** ptr1 = (void**)arr->getBase();
-HXDLIN( 211) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 211) {
-HXLINE( 211) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 211) if (::hx::IsNull( store1 )) {
-HXLINE(2111) 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( 211) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXLINE( 211) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 221) callback1(( (const char**)(ptr1) ),( (size_t)(a0->length) ),callback__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_45dcb523da764b50_252_listAccounts__fromC)
-HXDLIN( 252) this->listAccounts( ::Dynamic(new _hx_Closure_0(callback__context,callback)));
- }
-
-
-void Sqlite_obj::storeStreamManagement(::String accountId,::Array< unsigned char > sm){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_658_storeStreamManagement)
-HXDLIN( 658) ::snikket::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 659) this->smStoreNext = sm;
-HXLINE( 660) if (!(this->smStoreInProgress)) {
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::snikket::persistence::Sqlite,_gthis,::String,accountId,::Array< unsigned char >,sm) HXARGC(1)
- void _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_665_storeStreamManagement)
-HXLINE( 666) _gthis->smStoreInProgress = false;
-HXLINE( 667) if (::hx::IsPointerNotEq( _gthis->smStoreNext,sm )) {
-HXLINE( 667) _gthis->storeStreamManagement(accountId,sm);
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 661) this->smStoreInProgress = true;
-HXLINE( 662) ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("UPDATE accounts SET sm_state=? WHERE account_id=?",39,71,68,1b),::cpp::VirtualArray_obj::__new(2)->init(0,sm)->init(1,accountId)), ::Dynamic(new _hx_Closure_0(_gthis,accountId,sm)),null());
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,storeStreamManagement,(void))
-
-void Sqlite_obj::getStreamManagement(::String accountId, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_674_getStreamManagement)
-HXLINE( 675) {
-HXLINE( 675) ::haxe::iterators::ArrayIterator _g = result;
-HXDLIN( 675) while((_g->current < _g->array->get_length())){
-HXLINE( 675) ::Dynamic row = _g->array->__get(_g->current++);
-HXLINE( 676) callback( ::Dynamic(row->__Field(HX_("sm_state",6c,91,3f,e6),::hx::paccDynamic)));
-HXLINE( 677) return;
- }
- }
-HXLINE( 680) callback(null());
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_674_getStreamManagement)
-HXDLIN( 674) ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT sm_state FROM accounts WHERE account_id=?",94,7f,74,ea),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_0(callback)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,getStreamManagement,(void))
-
-void Sqlite_obj::storeService(::String accountId,::String serviceId,::String name,::String node, ::snikket::Caps caps){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_685_storeService)
-HXLINE( 686) this->storeCaps(caps);
-HXLINE( 688) ::snikket::persistence::SqliteDriver _hx_tmp = this->db;
-HXDLIN( 688) _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_DEFINE_DYNAMIC_FUNC5(Sqlite_obj,storeService,(void))
-
-void Sqlite_obj::findServicesWithFeature(::String accountId,::String feature, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,callback,::String,feature) HXARGC(1)
- void _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_700_findServicesWithFeature)
-HXLINE( 701) ::Array< ::Dynamic> services = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 702) {
-HXLINE( 702) ::haxe::iterators::ArrayIterator _g = result;
-HXDLIN( 702) while((_g->current < _g->array->get_length())){
-HXLINE( 702) ::Dynamic row = _g->array->__get(_g->current++);
-HXLINE( 703) ::Dynamic json = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))->doParse();
-HXLINE( 704) ::Array< ::String > features;
-HXDLIN( 704) ::Array< ::String > tmp;
-HXDLIN( 704) if (::hx::IsNotNull( json )) {
-HXLINE( 704) tmp = ( (::Array< ::String >)(json->__Field(HX_("features",fd,6c,d7,12),::hx::paccDynamic)) );
- }
- else {
-HXLINE( 704) tmp = null();
- }
-HXDLIN( 704) if (::hx::IsNotNull( tmp )) {
-HXLINE( 704) features = tmp;
- }
- else {
-HXLINE( 704) features = ::Array_obj< ::String >::__new(0);
- }
-HXLINE( 705) if (features->contains(feature)) {
-HXLINE( 707) ::String row1 = ( (::String)(row->__Field(HX_("service_id",e5,24,3d,7d),::hx::paccDynamic)) );
-HXLINE( 708) ::String row2 = ( (::String)(row->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) );
-HXLINE( 709) ::String row3 = ( (::String)(row->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) );
-HXLINE( 710) ::String json1 = ( (::String)(json->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) );
-HXDLIN( 710) ::Array< ::Dynamic> _this;
-HXDLIN( 710) ::Array< ::Dynamic> tmp1 = ( (::Array< ::Dynamic>)(json->__Field(HX_("identities",1c,c5,6d,d7),::hx::paccDynamic)) );
-HXDLIN( 710) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 710) _this = tmp1;
- }
- else {
-HXLINE( 710) _this = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN( 710) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN( 710) {
-HXLINE( 710) int _g1 = 0;
-HXDLIN( 710) int _g2 = _this->length;
-HXDLIN( 710) while((_g1 < _g2)){
-HXLINE( 710) _g1 = (_g1 + 1);
-HXDLIN( 710) int i = (_g1 - 1);
-HXDLIN( 710) {
-HXLINE( 710) ::Dynamic i1 = _hx_array_unsafe_get(_this,i);
-HXDLIN( 710) ::snikket::Identity inValue = ::snikket::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)) ));
-HXDLIN( 710) result1->__unsafe_set(i,inValue);
- }
- }
- }
-HXLINE( 706) 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), ::snikket::Caps_obj::__alloc( HX_CTX ,json1,result1,features,null()))
- ->setFixed(2,HX_("name",4b,72,ff,48),row2)
- ->setFixed(3,HX_("node",02,0a,0a,49),row3)));
- }
- }
- }
-HXLINE( 714) callback(services);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_697_findServicesWithFeature)
-HXDLIN( 697) ::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(callback,feature)),null());
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,findServicesWithFeature,(void))
-
-::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_5b1a6b524efab4db_719_hydrateReactions)
-HXLINE( 720) {
-HXLINE( 720) ::Dynamic map = result;
-HXDLIN( 720) ::Dynamic _g_map = map;
-HXDLIN( 720) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN( 720) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 720) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 720) ::haxe::ds::StringMap _g_value = ( ( ::haxe::ds::StringMap)(::haxe::IMap_obj::get(_g_map,key)) );
-HXDLIN( 720) ::String _g_key = key;
-HXDLIN( 720) ::String id = _g_key;
-HXDLIN( 720) ::haxe::ds::StringMap reactions = _g_value;
-HXDLIN( 720) {
-HXLINE( 721) ::snikket::ChatMessage result1 = null();
-HXDLIN( 721) {
-HXLINE( 721) int _g = 0;
-HXDLIN( 721) while((_g < messages->length)){
-HXLINE( 721) ::snikket::ChatMessage v = messages->__get(_g).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 721) _g = (_g + 1);
-HXLINE( 722) bool m;
-HXDLIN( 722) ::String m1;
-HXDLIN( 722) if (::hx::IsNull( v->serverId )) {
-HXLINE( 722) m1 = v->localId;
- }
- else {
-HXLINE( 722) m1 = ((v->serverId + HX_("\n",0a,00,00,00)) + v->serverIdBy);
- }
-HXDLIN( 722) if ((((m1 + HX_("\n",0a,00,00,00)) + v->chatId()) != id)) {
-HXLINE( 723) ::String m2;
-HXDLIN( 723) if (::hx::IsNull( v->localId )) {
-HXLINE( 723) m2 = ((v->serverId + HX_("\n",0a,00,00,00)) + v->serverIdBy);
- }
- else {
-HXLINE( 723) m2 = v->localId;
- }
-HXLINE( 722) m = (((m2 + HX_("\n",0a,00,00,00)) + v->chatId()) == id);
- }
- else {
-HXLINE( 722) m = true;
- }
-HXLINE( 721) if (m) {
-HXLINE( 36) result1 = v;
-HXLINE( 721) goto _hx_goto_160;
- }
- }
- _hx_goto_160:;
- }
-HXDLIN( 721) ::snikket::ChatMessage m3 = result1;
-HXLINE( 725) if (::hx::IsNotNull( m3 )) {
-HXLINE( 725) m3->set_reactions(reactions);
- }
- }
- }
- }
-HXLINE( 727) return messages;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_719_hydrateReactions)
-HXDLIN( 719) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(messages->length);
-HXDLIN( 719) {
-HXDLIN( 719) int _g = 0;
-HXDLIN( 719) int _g1 = messages->length;
-HXDLIN( 719) while((_g < _g1)){
-HXDLIN( 719) _g = (_g + 1);
-HXDLIN( 719) int i = (_g - 1);
-HXDLIN( 719) {
-HXDLIN( 719) ::snikket::ChatMessage m = ( ( ::snikket::ChatMessage)(_hx_array_unsafe_get(messages,i)) );
-HXDLIN( 719) ::String inValue = m->chatId();
-HXDLIN( 719) 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)
- ->setFixed(3,HX_("serverIdBy",f5,16,54,74),m->serverIdBy)));
- }
- }
- }
-HXDLIN( 719) return ::thenshim::_Promise::Promise_Impl__obj::then(this->fetchReactions(accountId,result), ::Dynamic(new _hx_Closure_0(messages)),null());
- }
-
-
-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_5b1a6b524efab4db_747_fetchReactions)
-HXLINE( 748) ::haxe::ds::StringMap agg = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 749) {
-HXLINE( 749) ::haxe::iterators::ArrayIterator _g = rows;
-HXDLIN( 749) while((_g->current < _g->array->get_length())){
-HXLINE( 749) ::Dynamic row = _g->array->__get(_g->current++);
-HXLINE( 750) ::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( 751) ::String mapId;
-HXDLIN( 751) bool mapId1;
-HXDLIN( 751) if (::hx::IsNotNull( row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic) )) {
-HXLINE( 751) mapId1 = ::hx::IsEq( row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic),HX_("",00,00,00,00) );
- }
- else {
-HXLINE( 751) mapId1 = true;
- }
-HXDLIN( 751) if (mapId1) {
-HXLINE( 751) mapId = ( (::String)(row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic)) );
- }
- else {
-HXLINE( 751) 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( 751) ::String mapId2 = ( (::String)(((mapId + HX_("\n",0a,00,00,00)) + row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic))) );
-HXLINE( 752) if (!(agg->exists(mapId2))) {
-HXLINE( 752) agg->set(mapId2, ::haxe::ds::StringMap_obj::__alloc( HX_CTX ));
- }
-HXLINE( 753) ::haxe::ds::StringMap map = ( ( ::haxe::ds::StringMap)(agg->get(mapId2)) );
-HXLINE( 754) if (!(map->exists(( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) )))) {
-HXLINE( 754) ::cpp::VirtualArray v = ::cpp::VirtualArray_obj::__new(0);
-HXDLIN( 754) map->set(( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) ),v);
- }
-HXLINE( 755) if (::hx::IsEq( row->__Field(HX_("kind",54,e1,09,47),::hx::paccDynamic),1 )) {
-HXLINE( 756) int _g1 = 0;
-HXDLIN( 756) while((_g1 < reactions->get_length())){
-HXLINE( 756) ::Dynamic reaction = reactions->__get(_g1);
-HXDLIN( 756) _g1 = (_g1 + 1);
-HXDLIN( 756) ( (::cpp::VirtualArray)(map->get( ::Dynamic(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)))) )->push(reaction);
- }
- }
- else {
-HXLINE( 757) if (::hx::IsEq( row->__Field(HX_("kind",54,e1,09,47),::hx::paccDynamic),0 )) {
-HXLINE( 758) ::String k = ( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) );
-HXDLIN( 758) ::cpp::VirtualArray _g2 = ::cpp::VirtualArray_obj::__new(0);
-HXDLIN( 758) {
-HXLINE( 758) int _g3 = 0;
-HXDLIN( 758) ::cpp::VirtualArray _g4 = ( (::cpp::VirtualArray)(map->get( ::Dynamic(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)))) );
-HXDLIN( 758) while((_g3 < _g4->get_length())){
-HXLINE( 758) ::Dynamic v1 = _g4->__get(_g3);
-HXDLIN( 758) _g3 = (_g3 + 1);
-HXDLIN( 758) if (::hx::IsNotNull( v1->__Field(HX_("uri",6c,2b,59,00),::hx::paccDynamic) )) {
-HXLINE( 758) _g2->push(v1);
- }
- }
- }
-HXDLIN( 758) ::cpp::VirtualArray v2 = reactions->concat(_g2);
-HXDLIN( 758) map->set(k,v2);
- }
- else {
-HXLINE( 759) if (::hx::IsEq( row->__Field(HX_("kind",54,e1,09,47),::hx::paccDynamic),2 )) {
-HXLINE( 760) map->set(( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) ),reactions);
- }
- }
- }
- }
- }
-HXLINE( 763) ::haxe::ds::StringMap result = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 764) {
-HXLINE( 764) ::Dynamic map1 = agg;
-HXDLIN( 764) ::Dynamic _g_map = map1;
-HXDLIN( 764) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map1);
-HXDLIN( 764) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 764) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 764) ::haxe::ds::StringMap _g_value = ( ( ::haxe::ds::StringMap)(::haxe::IMap_obj::get(_g_map,key)) );
-HXDLIN( 764) ::String _g_key = key;
-HXDLIN( 764) ::String id = _g_key;
-HXDLIN( 764) ::haxe::ds::StringMap reactions1 = _g_value;
-HXDLIN( 764) {
-HXLINE( 765) ::haxe::ds::StringMap map2 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 766) {
-HXLINE( 766) ::Dynamic reactionsBySender = reactions1->iterator();
-HXDLIN( 766) while(( (bool)(reactionsBySender->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 766) ::cpp::VirtualArray reactionsBySender1 = ( (::cpp::VirtualArray)(reactionsBySender->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXLINE( 767) {
-HXLINE( 767) int _g5 = 0;
-HXDLIN( 767) while((_g5 < reactionsBySender1->get_length())){
-HXLINE( 767) ::Dynamic reactionD = reactionsBySender1->__get(_g5);
-HXDLIN( 767) _g5 = (_g5 + 1);
-HXLINE( 768) ::snikket::Reaction reaction1;
-HXDLIN( 768) if (::hx::IsNull( reactionD->__Field(HX_("uri",6c,2b,59,00),::hx::paccDynamic) )) {
-HXLINE( 768) reaction1 = ::snikket::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( 768) reaction1 = ::snikket::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( 774) if (!(map2->exists(reaction1->key))) {
-HXLINE( 774) ::Array< ::Dynamic> v3 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 774) map2->set(reaction1->key,v3);
- }
-HXLINE( 775) ( (::Array< ::Dynamic>)(map2->get(reaction1->key)) )->push(reaction1);
- }
- }
- }
- }
-HXLINE( 778) result->set(id,map2);
- }
- }
- }
-HXLINE( 780) return result;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_731_fetchReactions)
-HXLINE( 732) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE( 733) {
-HXLINE( 733) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 733) q->flush();
- }
-HXDLIN( 733) if (::hx::IsNull( q->b )) {
-HXLINE( 733) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_172,1);
- }
- else {
-HXLINE( 733) 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( 734) ::Array< ::String > params = ::Array_obj< ::String >::__new(0);
-HXLINE( 735) {
-HXLINE( 735) int _g = 0;
-HXDLIN( 735) while((_g < ids->length)){
-HXLINE( 735) ::Dynamic item = ids->__get(_g);
-HXDLIN( 735) _g = (_g + 1);
-HXLINE( 736) if (::hx::IsNotNull( item->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic) )) {
-HXLINE( 737) {
-HXLINE( 737) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 737) q->flush();
- }
-HXDLIN( 737) if (::hx::IsNull( q->b )) {
-HXLINE( 737) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_173,1);
- }
- else {
-HXLINE( 737) q->b->push(HX_(" OR (mam_id=? AND mam_by=?)",0f,bb,c5,e5));
- }
- }
-HXLINE( 738) params->push( ::Dynamic(item->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic)));
-HXLINE( 739) params->push( ::Dynamic(item->__Field(HX_("serverIdBy",f5,16,54,74),::hx::paccDynamic)));
- }
-HXLINE( 741) if (::hx::IsNotNull( item->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic) )) {
-HXLINE( 742) {
-HXLINE( 742) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 742) q->flush();
- }
-HXDLIN( 742) if (::hx::IsNull( q->b )) {
-HXLINE( 742) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_174,1);
- }
- else {
-HXLINE( 742) q->b->push(HX_(" OR stanza_id=?",6a,1d,f2,5b));
- }
- }
-HXLINE( 743) params->push( ::Dynamic(item->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic)));
- }
- }
- }
-HXLINE( 746) {
-HXLINE( 746) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 746) q->flush();
- }
-HXDLIN( 746) if (::hx::IsNull( q->b )) {
-HXLINE( 746) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_175,1);
- }
- else {
-HXLINE( 746) q->b->push(HX_(" ORDER BY created_at, ROWID",00,65,8d,0e));
- }
- }
-HXLINE( 747) ::snikket::persistence::SqliteDriver _hx_tmp = this->db;
-HXDLIN( 747) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->exec(q->toString(),params), ::Dynamic(new _hx_Closure_0()),null());
- }
-
-
-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, ::snikket::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
- ::Array< ::Dynamic> _hx_run( ::haxe::iterators::ArrayIterator iter){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_804_hydrateReplyTo)
-HXLINE( 805) 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_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_806_hydrateReplyTo)
-HXLINE( 806) return iter;
- }
- HX_END_LOCAL_FUNC0(return)
-
-HXLINE( 806) ::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( 807) {
-HXLINE( 807) int _g = 0;
-HXDLIN( 807) while((_g < messages->length)){
-HXLINE( 807) ::snikket::ChatMessage message = messages->__get(_g).StaticCast< ::snikket::ChatMessage >();
-HXDLIN( 807) _g = (_g + 1);
-HXLINE( 808) if (::hx::IsNotNull( message->replyToMessage )) {
-HXLINE( 809) ::Dynamic result = null();
-HXDLIN( 809) {
-HXLINE( 809) int _g1 = 0;
-HXDLIN( 809) while((_g1 < parents->length)){
-HXLINE( 809) ::Dynamic v = parents->__get(_g1);
-HXDLIN( 809) _g1 = (_g1 + 1);
-HXDLIN( 809) bool found;
-HXDLIN( 809) bool found1;
-HXDLIN( 809) ::String v1 = ( (::String)(v->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) );
-HXDLIN( 809) if ((v1 == message->chatId())) {
-HXLINE( 809) if (::hx::IsNotNull( message->replyToMessage->serverId )) {
-HXLINE( 809) found1 = ::hx::IsEq( v->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic),message->replyToMessage->serverId );
- }
- else {
-HXLINE( 809) found1 = true;
- }
- }
- else {
-HXLINE( 809) found1 = false;
- }
-HXDLIN( 809) if (found1) {
-HXLINE( 809) if (::hx::IsNotNull( message->replyToMessage->localId )) {
-HXLINE( 809) found = ::hx::IsEq( v->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic),message->replyToMessage->localId );
- }
- else {
-HXLINE( 809) found = true;
- }
- }
- else {
-HXLINE( 809) found = false;
- }
-HXDLIN( 809) if (found) {
-HXLINE( 809) result = v;
-HXDLIN( 809) goto _hx_goto_178;
- }
- }
- _hx_goto_178:;
- }
-HXDLIN( 809) ::Dynamic found2 = result;
-HXLINE( 810) if (::hx::IsNotNull( found2 )) {
-HXLINE( 810) ::snikket::persistence::Sqlite _gthis1 = _gthis;
-HXDLIN( 810) ::String accountId1 = accountId;
-HXDLIN( 810) message->set_replyToMessage(_gthis1->hydrateMessages(accountId1, ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,::cpp::VirtualArray_obj::__new(1)->init(0,found2)))->__get(0).StaticCast< ::snikket::ChatMessage >());
- }
- }
- }
- }
- }
-HXLINE( 814) return messages;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_784_hydrateReplyTo)
-HXDLIN( 784) ::snikket::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 785) ::Dynamic _hx_tmp;
-HXDLIN( 785) if ((replyTos->length < 1)) {
-HXLINE( 785) _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
- }
- else {
-HXLINE( 788) ::Array< ::String > params = ::Array_obj< ::String >::__new(1)->init(0,accountId);
-HXLINE( 789) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE( 790) {
-HXLINE( 790) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 790) q->flush();
- }
-HXDLIN( 790) if (::hx::IsNull( q->b )) {
-HXLINE( 790) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_182,1);
- }
- else {
-HXLINE( 790) q->b->push(HX_("SELECT chat_id, stanza_id, stanza, direction, type, status, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sync_point FROM messages WHERE account_id=? AND (",56,f2,9f,31));
- }
- }
-HXLINE( 791) {
-HXLINE( 791) ::Array< ::String > result = ::Array_obj< ::String >::__new(replyTos->length);
-HXDLIN( 791) {
-HXLINE( 791) int _g = 0;
-HXDLIN( 791) int _g1 = replyTos->length;
-HXDLIN( 791) while((_g < _g1)){
-HXLINE( 791) _g = (_g + 1);
-HXDLIN( 791) int i = (_g - 1);
-HXDLIN( 791) {
-HXLINE( 792) ::Dynamic parent = _hx_array_unsafe_get(replyTos,i);
-HXLINE( 791) ::String inValue;
-HXLINE( 792) if (::hx::IsNotNull( parent->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic) )) {
-HXLINE( 793) params->push( ::Dynamic(parent->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)));
-HXLINE( 794) params->push( ::Dynamic(parent->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic)));
-HXLINE( 791) inValue = HX_(" (chat_id=? AND mam_id=?)",59,03,f2,84);
- }
- else {
-HXLINE( 797) params->push( ::Dynamic(parent->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)));
-HXLINE( 798) params->push( ::Dynamic(parent->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic)));
-HXLINE( 791) inValue = HX_(" (chat_id=? AND stanza_id=?)",2f,d3,29,86);
- }
-HXDLIN( 791) result->__unsafe_set(i,inValue);
- }
- }
- }
-HXDLIN( 791) ::String x = result->join(HX_(" OR ",7d,0d,63,15));
-HXDLIN( 791) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 791) q->flush();
- }
-HXDLIN( 791) if (::hx::IsNull( q->b )) {
-HXLINE( 791) q->b = ::Array_obj< ::String >::__new(1)->init(0,::Std_obj::string(x));
- }
- else {
-HXLINE( 791) ::Array< ::String > q1 = q->b;
-HXDLIN( 791) q1->push(::Std_obj::string(x));
- }
- }
-HXLINE( 802) {
-HXLINE( 802) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 802) q->flush();
- }
-HXDLIN( 802) if (::hx::IsNull( q->b )) {
-HXLINE( 802) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_e415cb6c_183,1);
- }
- else {
-HXLINE( 802) q->b->push(HX_(")",29,00,00,00));
- }
- }
-HXLINE( 803) ::snikket::persistence::SqliteDriver _hx_tmp1 = this->db;
-HXLINE( 785) _hx_tmp = _hx_tmp1->exec(q->toString(),params);
- }
-HXDLIN( 785) 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 )
-
-::Array< ::Dynamic> Sqlite_obj::hydrateMessages(::String accountId, ::Dynamic rows){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_818_hydrateMessages)
-HXLINE( 820) ::snikket::JID accountJid = ::snikket::JID_obj::parse(accountId);
-HXLINE( 821) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 821) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,rows) HXARGC(0)
- ::Dynamic _hx_run(){
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_821_hydrateMessages)
-HXLINE( 821) return rows;
- }
- HX_END_LOCAL_FUNC0(return)
-
-HXLINE( 821) ::Dynamic inlobj_iterator = ::Dynamic(new _hx_Closure_0(rows));
-HXDLIN( 821) ::Dynamic x = inlobj_iterator();
-HXDLIN( 821) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3, ::snikket::JID,accountJid, ::Dynamic,row) HXARGC(2)
- ::snikket::ChatMessageBuilder _hx_run( ::snikket::ChatMessageBuilder builder, ::snikket::Stanza _){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_821_hydrateMessages)
-HXLINE( 822) builder->syncPoint = ::hx::IsNotEq( row->__Field(HX_("sync_point",2c,6c,7f,80),::hx::paccDynamic),0 );
-HXLINE( 823) builder->timestamp = ( (::String)(row->__Field(HX_("timestamp",d6,d4,ce,a5),::hx::paccDynamic)) );
-HXLINE( 824) builder->type = ( (int)(row->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic)) );
-HXLINE( 825) builder->status = ( (int)(row->__Field(HX_("status",32,e7,fb,05),::hx::paccDynamic)) );
-HXLINE( 826) builder->senderId = ( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) );
-HXLINE( 827) ::String _hx_tmp;
-HXDLIN( 827) if (::hx::IsEq( row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic),HX_("",00,00,00,00) )) {
-HXLINE( 827) _hx_tmp = null();
- }
- else {
-HXLINE( 827) _hx_tmp = ( (::String)(row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic)) );
- }
-HXDLIN( 827) builder->serverId = _hx_tmp;
-HXLINE( 828) ::String _hx_tmp1;
-HXDLIN( 828) if (::hx::IsEq( row->__Field(HX_("mam_by",fd,46,19,b7),::hx::paccDynamic),HX_("",00,00,00,00) )) {
-HXLINE( 828) _hx_tmp1 = null();
- }
- else {
-HXLINE( 828) _hx_tmp1 = ( (::String)(row->__Field(HX_("mam_by",fd,46,19,b7),::hx::paccDynamic)) );
- }
-HXDLIN( 828) builder->serverIdBy = _hx_tmp1;
-HXLINE( 829) if (::hx::IsNotEq( builder->direction,row->__Field(HX_("direction",3f,62,40,10),::hx::paccDynamic) )) {
-HXLINE( 830) builder->direction = ( (int)(row->__Field(HX_("direction",3f,62,40,10),::hx::paccDynamic)) );
-HXLINE( 831) ::Array< ::Dynamic> replyTo = builder->replyTo;
-HXLINE( 832) builder->replyTo = builder->recipients;
-HXLINE( 833) builder->recipients = replyTo;
- }
-HXLINE( 835) bool _hx_tmp2;
-HXDLIN( 835) if (::hx::IsNotNull( row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic) )) {
-HXLINE( 835) _hx_tmp2 = ::hx::IsNotEq( row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic),HX_("",00,00,00,00) );
- }
- else {
-HXLINE( 835) _hx_tmp2 = false;
- }
-HXDLIN( 835) if (_hx_tmp2) {
-HXLINE( 835) builder->localId = ( (::String)(row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic)) );
- }
-HXLINE( 836) if (::hx::IsNotNull( row->__Field(HX_("versions",5b,4e,b8,d6),::hx::paccDynamic) )) {
-HXLINE( 837) ::Dynamic versionTimes = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("version_times",1f,50,f9,17),::hx::paccDynamic)) ))->doParse();
-HXLINE( 838) ::Dynamic versions = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("versions",5b,4e,b8,d6),::hx::paccDynamic)) ))->doParse();
-HXLINE( 839) if ((::Reflect_obj::fields(versions)->length > 1)) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(2)
- int _hx_run( ::snikket::ChatMessage a, ::snikket::ChatMessage b){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_851_hydrateMessages)
-HXLINE( 851) return ::Reflect_obj::compare(b->timestamp,a->timestamp);
- }
- HX_END_LOCAL_FUNC2(return)
-
-HXLINE( 840) {
-HXLINE( 840) ::Dynamic access = versions;
-HXDLIN( 840) ::Dynamic _g_access = access;
-HXDLIN( 840) ::Array< ::String > _g_keys = ::Reflect_obj::fields(access);
-HXDLIN( 840) int _g_index = 0;
-HXDLIN( 840) while((_g_index < _g_keys->length)){
-HXLINE( 840) _g_index = (_g_index + 1);
-HXDLIN( 840) ::String key = _g_keys->__get((_g_index - 1));
-HXDLIN( 840) ::String _g_value = ( (::String)(::Reflect_obj::field(_g_access,key)) );
-HXDLIN( 840) ::String _g_key = key;
-HXDLIN( 840) ::String versionId = _g_key;
-HXDLIN( 840) ::String version = _g_value;
-HXDLIN( 840) {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,versionTimes,::String,versionId) HXARGC(2)
- ::snikket::ChatMessageBuilder _hx_run( ::snikket::ChatMessageBuilder toPushB, ::snikket::Stanza _){
- HX_GC_STACKFRAME(&_hx_pos_5b1a6b524efab4db_841_hydrateMessages)
-HXLINE( 842) bool versionM;
-HXDLIN( 842) if (::hx::IsNull( toPushB->serverId )) {
-HXLINE( 842) versionM = (versionId != toPushB->localId);
- }
- else {
-HXLINE( 842) versionM = false;
- }
-HXDLIN( 842) if (versionM) {
-HXLINE( 842) toPushB->serverId = versionId;
- }
-HXLINE( 843) toPushB->timestamp = ( (::String)(::Reflect_obj::field(versionTimes,versionId)) );
-HXLINE( 844) return toPushB;
- }
- HX_END_LOCAL_FUNC2(return)
-
-HXLINE( 841) ::snikket::Stanza versionM = ::snikket::Stanza_obj::parse(version);
-HXDLIN( 841) ::snikket::ChatMessage versionM1 = ::snikket::ChatMessage_obj::fromStanza(versionM,accountJid, ::Dynamic(new _hx_Closure_1(versionTimes,versionId)));
-HXLINE( 846) ::snikket::ChatMessage toPush;
-HXDLIN( 846) bool toPush1;
-HXDLIN( 846) if (::hx::IsNotNull( versionM1 )) {
-HXLINE( 846) toPush1 = (versionM1->versions->length < 1);
- }
- else {
-HXLINE( 846) toPush1 = true;
- }
-HXDLIN( 846) if (toPush1) {
-HXLINE( 846) toPush = versionM1;
- }
- else {
-HXLINE( 846) toPush = versionM1->versions->__get(0).StaticCast< ::snikket::ChatMessage >();
- }
-HXLINE( 847) if (::hx::IsNotNull( toPush )) {
-HXLINE( 848) builder->versions->push(toPush);
- }
- }
- }
- }
-HXLINE( 851) builder->versions->sort( ::Dynamic(new _hx_Closure_2()));
- }
- }
-HXLINE( 854) return builder;
- }
- HX_END_LOCAL_FUNC2(return)
-
-HXLINE( 821) ::Dynamic x1 = x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXDLIN( 821) ::Dynamic row = x1;
-HXDLIN( 821) ::snikket::Stanza _hx_tmp = ::snikket::Stanza_obj::parse(( (::String)(row->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) ));
-HXDLIN( 821) _g->push(::snikket::ChatMessage_obj::fromStanza(_hx_tmp,accountJid, ::Dynamic(new _hx_Closure_3(accountJid,row))));
- }
- }
-HXDLIN( 821) return _g;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,hydrateMessages,return )
-
-
-::hx::ObjectPtr< Sqlite_obj > Sqlite_obj::__new(::String dbfile,::Dynamic media) {
- ::hx::ObjectPtr< Sqlite_obj > __this = new Sqlite_obj();
- __this->__construct(dbfile,media);
- return __this;
-}
-
-::hx::ObjectPtr< Sqlite_obj > Sqlite_obj::__alloc(::hx::Ctx *_hx_ctx,::String dbfile,::Dynamic media) {
- Sqlite_obj *__this = (Sqlite_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Sqlite_obj), true, "snikket.persistence.Sqlite"));
- *(void **)__this = Sqlite_obj::_hx_vtable;
- __this->__construct(dbfile,media);
- return __this;
-}
-
-Sqlite_obj::Sqlite_obj()
-{
-}
-
-void Sqlite_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(Sqlite);
- HX_MARK_MEMBER_NAME(db,"db");
- HX_MARK_MEMBER_NAME(media,"media");
- HX_MARK_MEMBER_NAME(storeChatBuffer,"storeChatBuffer");
- HX_MARK_MEMBER_NAME(storeChatTimer,"storeChatTimer");
- HX_MARK_MEMBER_NAME(smStoreInProgress,"smStoreInProgress");
- HX_MARK_MEMBER_NAME(smStoreNext,"smStoreNext");
- HX_MARK_END_CLASS();
-}
-
-void Sqlite_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(db,"db");
- HX_VISIT_MEMBER_NAME(media,"media");
- HX_VISIT_MEMBER_NAME(storeChatBuffer,"storeChatBuffer");
- HX_VISIT_MEMBER_NAME(storeChatTimer,"storeChatTimer");
- HX_VISIT_MEMBER_NAME(smStoreInProgress,"smStoreInProgress");
- HX_VISIT_MEMBER_NAME(smStoreNext,"smStoreNext");
-}
-
-::hx::Val Sqlite_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"db") ) { return ::hx::Val( db ); }
- break;
- case 3:
- if (HX_FIELD_EQ(inName,"get") ) { return ::hx::Val( get_dyn() ); }
- if (HX_FIELD_EQ(inName,"set") ) { return ::hx::Val( set_dyn() ); }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"media") ) { return ::hx::Val( media ); }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"lastId") ) { return ::hx::Val( lastId_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"getCaps") ) { return ::hx::Val( getCaps_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"getChats") ) { return ::hx::Val( getChats_dyn() ); }
- if (HX_FIELD_EQ(inName,"hasMedia") ) { return ::hx::Val( hasMedia_dyn() ); }
- if (HX_FIELD_EQ(inName,"getLogin") ) { return ::hx::Val( getLogin_dyn() ); }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"storeCaps") ) { return ::hx::Val( storeCaps_dyn() ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"storeChats") ) { return ::hx::Val( storeChats_dyn() ); }
- if (HX_FIELD_EQ(inName,"getMessage") ) { return ::hx::Val( getMessage_dyn() ); }
- if (HX_FIELD_EQ(inName,"storeMedia") ) { return ::hx::Val( storeMedia_dyn() ); }
- if (HX_FIELD_EQ(inName,"storeLogin") ) { return ::hx::Val( storeLogin_dyn() ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"getMessages") ) { return ::hx::Val( getMessages_dyn() ); }
- if (HX_FIELD_EQ(inName,"removeMedia") ) { return ::hx::Val( removeMedia_dyn() ); }
- if (HX_FIELD_EQ(inName,"smStoreNext") ) { return ::hx::Val( smStoreNext ); }
- break;
- case 12:
- if (HX_FIELD_EQ(inName,"storeCapsSet") ) { return ::hx::Val( storeCapsSet_dyn() ); }
- if (HX_FIELD_EQ(inName,"listAccounts") ) { return ::hx::Val( listAccounts_dyn() ); }
- if (HX_FIELD_EQ(inName,"storeService") ) { return ::hx::Val( storeService_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"storeMessages") ) { return ::hx::Val( storeMessages_dyn() ); }
- if (HX_FIELD_EQ(inName,"updateMessage") ) { return ::hx::Val( updateMessage_dyn() ); }
- if (HX_FIELD_EQ(inName,"storeReaction") ) { return ::hx::Val( storeReaction_dyn() ); }
- if (HX_FIELD_EQ(inName,"removeAccount") ) { return ::hx::Val( removeAccount_dyn() ); }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"storeChatTimer") ) { return ::hx::Val( storeChatTimer ); }
- if (HX_FIELD_EQ(inName,"fetchReactions") ) { return ::hx::Val( fetchReactions_dyn() ); }
- if (HX_FIELD_EQ(inName,"hydrateReplyTo") ) { return ::hx::Val( hydrateReplyTo_dyn() ); }
- break;
- case 15:
- if (HX_FIELD_EQ(inName,"storeChatBuffer") ) { return ::hx::Val( storeChatBuffer ); }
- if (HX_FIELD_EQ(inName,"hydrateMessages") ) { return ::hx::Val( hydrateMessages_dyn() ); }
- break;
- case 16:
- if (HX_FIELD_EQ(inName,"getMessagesAfter") ) { return ::hx::Val( getMessagesAfter_dyn() ); }
- if (HX_FIELD_EQ(inName,"hydrateReactions") ) { return ::hx::Val( hydrateReactions_dyn() ); }
- break;
- case 17:
- 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 ); }
- break;
- case 19:
- if (HX_FIELD_EQ(inName,"updateMessageStatus") ) { return ::hx::Val( updateMessageStatus_dyn() ); }
- if (HX_FIELD_EQ(inName,"getStreamManagement") ) { return ::hx::Val( getStreamManagement_dyn() ); }
- break;
- case 21:
- if (HX_FIELD_EQ(inName,"getChatsUnreadDetails") ) { return ::hx::Val( getChatsUnreadDetails_dyn() ); }
- if (HX_FIELD_EQ(inName,"storeStreamManagement") ) { return ::hx::Val( storeStreamManagement_dyn() ); }
- break;
- case 23:
- if (HX_FIELD_EQ(inName,"findServicesWithFeature") ) { return ::hx::Val( findServicesWithFeature_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-::hx::Val Sqlite_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 2:
- if (HX_FIELD_EQ(inName,"db") ) { db=inValue.Cast< ::snikket::persistence::SqliteDriver >(); return inValue; }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"media") ) { media=inValue.Cast< ::Dynamic >(); return inValue; }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"smStoreNext") ) { smStoreNext=inValue.Cast< ::Array< unsigned char > >(); return inValue; }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"storeChatTimer") ) { storeChatTimer=inValue.Cast< ::haxe::Timer >(); return inValue; }
- break;
- case 15:
- if (HX_FIELD_EQ(inName,"storeChatBuffer") ) { storeChatBuffer=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
- break;
- case 17:
- if (HX_FIELD_EQ(inName,"smStoreInProgress") ) { smStoreInProgress=inValue.Cast< bool >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void Sqlite_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("db",7e,57,00,00));
- outFields->push(HX_("media",e4,04,bc,05));
- outFields->push(HX_("storeChatBuffer",39,5d,98,0f));
- outFields->push(HX_("storeChatTimer",ac,c9,9a,09));
- outFields->push(HX_("smStoreInProgress",79,f8,70,5d));
- outFields->push(HX_("smStoreNext",7a,e1,91,0a));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo Sqlite_obj_sMemberStorageInfo[] = {
- {::hx::fsObject /* ::snikket::persistence::SqliteDriver */ ,(int)offsetof(Sqlite_obj,db),HX_("db",7e,57,00,00)},
- {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(Sqlite_obj,media),HX_("media",e4,04,bc,05)},
- {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(Sqlite_obj,storeChatBuffer),HX_("storeChatBuffer",39,5d,98,0f)},
- {::hx::fsObject /* ::haxe::Timer */ ,(int)offsetof(Sqlite_obj,storeChatTimer),HX_("storeChatTimer",ac,c9,9a,09)},
- {::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::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *Sqlite_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String Sqlite_obj_sMemberFields[] = {
- HX_("db",7e,57,00,00),
- HX_("media",e4,04,bc,05),
- HX_("get",96,80,4e,00),
- HX_("set",a2,9b,57,00),
- HX_("lastId",d1,0b,c5,54),
- HX_("storeChatBuffer",39,5d,98,0f),
- HX_("storeChatTimer",ac,c9,9a,09),
- HX_("storeChats",fa,4a,32,83),
- HX_("getChats",25,ae,8a,a5),
- HX_("storeMessages",cd,f1,bd,e9),
- HX_("updateMessage",be,9a,7f,65),
- HX_("getMessage",d1,bb,72,e9),
- HX_("getMessages",82,9b,f1,5a),
- HX_("getMessagesBefore",a1,f1,44,11),
- HX_("getMessagesAfter",3a,43,91,57),
- HX_("getMessagesAround",6f,95,16,2d),
- HX_("getChatsUnreadDetails",ee,d4,5a,85),
- HX_("storeReaction",aa,00,75,ab),
- HX_("updateMessageStatus",90,98,ad,0f),
- HX_("hasMedia",2a,4f,14,92),
- HX_("removeMedia",00,e2,ef,03),
- HX_("storeMedia",43,b1,3a,43),
- HX_("storeCaps",a2,60,d7,9d),
- HX_("storeCapsSet",20,84,58,42),
- HX_("getCaps",d7,cb,3c,14),
- HX_("storeLogin",c8,85,72,b6),
- HX_("getLogin",f3,e8,ca,d8),
- HX_("removeAccount",c9,58,14,7a),
- HX_("listAccounts",a4,81,e8,f5),
- HX_("smStoreInProgress",79,f8,70,5d),
- HX_("smStoreNext",7a,e1,91,0a),
- HX_("storeStreamManagement",24,1d,b8,8d),
- HX_("getStreamManagement",d9,03,ec,6c),
- HX_("storeService",54,de,f6,9d),
- HX_("findServicesWithFeature",99,4e,bd,4a),
- HX_("hydrateReactions",97,c5,06,27),
- HX_("fetchReactions",10,41,6b,5e),
- HX_("hydrateReplyTo",f2,64,45,9b),
- HX_("hydrateMessages",7f,1c,88,4e),
- ::String(null()) };
-
-::hx::Class Sqlite_obj::__mClass;
-
-void Sqlite_obj::__register()
-{
- Sqlite_obj _hx_dummy;
- Sqlite_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.persistence.Sqlite",6c,cb,15,e4);
- __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(Sqlite_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< Sqlite_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Sqlite_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Sqlite_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-void Sqlite_obj::__boot()
-{
-{
- HX_STACKFRAME(&_hx_pos_5b1a6b524efab4db_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(28)
- ->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)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(2,HX_("storeStreamManagement",24,1d,b8,8d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(3,HX_("hasMedia",2a,4f,14,92), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(4,HX_("listAccounts__fromC",55,2b,d7,97), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(5,HX_("storeCaps",a2,60,d7,9d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(6,HX_("storeService",54,de,f6,9d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(7,HX_("getChats",25,ae,8a,a5), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(8,HX_("storeReaction",aa,00,75,ab), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(9,HX_("storeLogin",c8,85,72,b6), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(10,HX_("getLogin",f3,e8,ca,d8), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(11,HX_("getMessage",d1,bb,72,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(12,HX_("storeMessages",cd,f1,bd,e9), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(13,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(14,HX_("get",96,80,4e,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(15,HX_("set",a2,9b,57,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(16,HX_("removeMedia",00,e2,ef,03), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(17,HX_("getMessage__fromC",c8,40,46,05), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(18,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_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(20,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_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(22,HX_("storeMedia",43,b1,3a,43), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(23,HX_("findServicesWithFeature",99,4e,bd,4a), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(24,HX_("lastId",d1,0b,c5,54), ::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(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(26,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_("getStreamManagement",d9,03,ec,6c), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
- }
-}
-
-} // end namespace snikket
-} // end namespace persistence
diff --git a/Sources/c_snikket/src/snikket/streams/XmppStropheStream.cpp b/Sources/c_snikket/src/snikket/streams/XmppStropheStream.cpp
deleted file mode 100644
index 0a3dfd2..0000000
--- a/Sources/c_snikket/src/snikket/streams/XmppStropheStream.cpp
+++ /dev/null
@@ -1,752 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_5f5af744d9ff5693
-#define INCLUDED_5f5af744d9ff5693
-#include "cpp/Pointer.h"
-#endif
-#ifndef INCLUDED_18a1146676e1af0b
-#define INCLUDED_18a1146676e1af0b
-#include "strophe.h"
-#endif
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
-#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
-#ifndef INCLUDED_haxe_ds_BalancedTree
-#include <haxe/ds/BalancedTree.h>
-#endif
-#ifndef INCLUDED_haxe_ds_EnumValueMap
-#include <haxe/ds/EnumValueMap.h>
-#endif
-#ifndef INCLUDED_haxe_ds_StringMap
-#include <haxe/ds/StringMap.h>
-#endif
-#ifndef INCLUDED_snikket_EventEmitter
-#include <snikket/EventEmitter.h>
-#endif
-#ifndef INCLUDED_snikket_EventHandler
-#include <snikket/EventHandler.h>
-#endif
-#ifndef INCLUDED_snikket_EventResult
-#include <snikket/EventResult.h>
-#endif
-#ifndef INCLUDED_snikket_GenericStream
-#include <snikket/GenericStream.h>
-#endif
-#ifndef INCLUDED_snikket_ID
-#include <snikket/ID.h>
-#endif
-#ifndef INCLUDED_snikket_IqRequestType
-#include <snikket/IqRequestType.h>
-#endif
-#ifndef INCLUDED_snikket_IqResult
-#include <snikket/IqResult.h>
-#endif
-#ifndef INCLUDED_snikket_Node
-#include <snikket/Node.h>
-#endif
-#ifndef INCLUDED_snikket_Stanza
-#include <snikket/Stanza.h>
-#endif
-#ifndef INCLUDED_snikket__Stanza_NodeInterface
-#include <snikket/_Stanza/NodeInterface.h>
-#endif
-#ifndef INCLUDED_snikket_streams_XmppStropheStream
-#include <snikket/streams/XmppStropheStream.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_231_new,"snikket.streams.XmppStropheStream","new",0x50539160,"snikket.streams.XmppStropheStream.new","snikket/streams/XmppStropheStream.hx",231,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_266_newId,"snikket.streams.XmppStropheStream","newId",0xb962e95b,"snikket.streams.XmppStropheStream.newId","snikket/streams/XmppStropheStream.hx",266,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_355_onIq,"snikket.streams.XmppStropheStream","onIq",0xf97b85e7,"snikket.streams.XmppStropheStream.onIq","snikket/streams/XmppStropheStream.hx",355,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_398_connect,"snikket.streams.XmppStropheStream","connect",0x26f47cea,"snikket.streams.XmppStropheStream.connect","snikket/streams/XmppStropheStream.hx",398,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_390_connect,"snikket.streams.XmppStropheStream","connect",0x26f47cea,"snikket.streams.XmppStropheStream.connect","snikket/streams/XmppStropheStream.hx",390,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_423_disconnect,"snikket.streams.XmppStropheStream","disconnect",0xaf2ec35c,"snikket.streams.XmppStropheStream.disconnect","snikket/streams/XmppStropheStream.hx",423,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_428_poll,"snikket.streams.XmppStropheStream","poll",0xfa259d3f,"snikket.streams.XmppStropheStream.poll","snikket/streams/XmppStropheStream.hx",428,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_426_poll,"snikket.streams.XmppStropheStream","poll",0xfa259d3f,"snikket.streams.XmppStropheStream.poll","snikket/streams/XmppStropheStream.hx",426,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_471_convertFromStanza,"snikket.streams.XmppStropheStream","convertFromStanza",0x96c3f3d2,"snikket.streams.XmppStropheStream.convertFromStanza","snikket/streams/XmppStropheStream.hx",471,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_497_sendStanza,"snikket.streams.XmppStropheStream","sendStanza",0xed37e45d,"snikket.streams.XmppStropheStream.sendStanza","snikket/streams/XmppStropheStream.hx",497,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_505_finalize,"snikket.streams.XmppStropheStream","finalize",0x297ee49e,"snikket.streams.XmppStropheStream.finalize","snikket/streams/XmppStropheStream.hx",505,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_269_strophe_certfail_handler,"snikket.streams.XmppStropheStream","strophe_certfail_handler",0x0748fefd,"snikket.streams.XmppStropheStream.strophe_certfail_handler","snikket/streams/XmppStropheStream.hx",269,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_287_strophe_fast_token_handler,"snikket.streams.XmppStropheStream","strophe_fast_token_handler",0xfc0a9611,"snikket.streams.XmppStropheStream.strophe_fast_token_handler","snikket/streams/XmppStropheStream.hx",287,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_293_strophe_sm_handler,"snikket.streams.XmppStropheStream","strophe_sm_handler",0xb2b084d5,"snikket.streams.XmppStropheStream.strophe_sm_handler","snikket/streams/XmppStropheStream.hx",293,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_299_strophe_sm_ack_handler,"snikket.streams.XmppStropheStream","strophe_sm_ack_handler",0x6c59a21f,"snikket.streams.XmppStropheStream.strophe_sm_ack_handler","snikket/streams/XmppStropheStream.hx",299,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_305_strophe_sm_fail_handler,"snikket.streams.XmppStropheStream","strophe_sm_fail_handler",0x892bd43e,"snikket.streams.XmppStropheStream.strophe_sm_fail_handler","snikket/streams/XmppStropheStream.hx",305,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_311_strophe_stanza,"snikket.streams.XmppStropheStream","strophe_stanza",0xa2c712e5,"snikket.streams.XmppStropheStream.strophe_stanza","snikket/streams/XmppStropheStream.hx",311,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_358_strophe_connect,"snikket.streams.XmppStropheStream","strophe_connect",0xae6ed8fa,"snikket.streams.XmppStropheStream.strophe_connect","snikket/streams/XmppStropheStream.hx",358,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_435_parseStanza,"snikket.streams.XmppStropheStream","parseStanza",0x685ccb88,"snikket.streams.XmppStropheStream.parseStanza","snikket/streams/XmppStropheStream.hx",435,0x06c67012)
-HX_LOCAL_STACK_FRAME(_hx_pos_c0c1f1a3af656a5a_443_convertToStanza,"snikket.streams.XmppStropheStream","convertToStanza",0x53baabe3,"snikket.streams.XmppStropheStream.convertToStanza","snikket/streams/XmppStropheStream.hx",443,0x06c67012)
-
-xmpp_log_t *logger = xmpp_get_default_logger(XMPP_LEVEL_DEBUG);
-xmpp_ctx_t* snikket::streams::XmppStropheStream_obj::ctx = xmpp_ctx_new(0,logger);
-
-namespace snikket{
-namespace streams{
-
-void XmppStropheStream_obj::__construct(){
- HX_GC_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_231_new)
-HXLINE( 238) this->stanzaThisPoll = false;
-HXLINE( 237) this->ready = false;
-HXLINE( 236) this->pollTimer = null();
-HXLINE( 235) this->pending = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 234) ::haxe::ds::EnumValueMap _g = ::haxe::ds::EnumValueMap_obj::__alloc( HX_CTX );
-HXDLIN( 234) _g->set(::snikket::IqRequestType_obj::Get_dyn(), ::haxe::ds::StringMap_obj::__alloc( HX_CTX ));
-HXDLIN( 234) _g->set(::snikket::IqRequestType_obj::Set_dyn(), ::haxe::ds::StringMap_obj::__alloc( HX_CTX ));
-HXDLIN( 234) this->iqHandlers = _g;
-HXLINE( 241) super::__construct();
-HXLINE( 242) xmpp_initialize();
-HXLINE( 243) this->conn = xmpp_conn_new(::snikket::streams::XmppStropheStream_obj::ctx);
-HXLINE( 247) ::cpp::Pointer< char > tmp = null();
-HXLINE( 248) ::cpp::Pointer< char > tmp1 = null();
-HXLINE( 249) ::cpp::Pointer< char > tmp2 = null();
-HXLINE( 245) xmpp_conn_t* _hx_tmp = this->conn;
-HXLINE( 246) ::cpp::Function< int ( xmpp_conn_t*, xmpp_stanza_t*,void*) > _hx_tmp1 = ::cpp::Function< int ( xmpp_conn_t*, xmpp_stanza_t*,void*)>(::hx::AnyCast(&::snikket::streams::XmppStropheStream_obj::strophe_stanza ));
-HXLINE( 247) ::cpp::Pointer< char > tmp3 = tmp;
-HXLINE( 248) ::cpp::Pointer< char > tmp4 = tmp1;
-HXLINE( 249) ::cpp::Pointer< char > tmp5 = tmp2;
-HXLINE( 244) xmpp_handler_add(_hx_tmp,_hx_tmp1,tmp3,tmp4,tmp5,(void*)this);
-HXLINE( 252) xmpp_conn_t* _hx_tmp2 = this->conn;
-HXDLIN( 252) xmpp_conn_set_certfail_handler(_hx_tmp2,::cpp::Function< int ( const xmpp_tlscert_t*,const char*)>(::hx::AnyCast(&::snikket::streams::XmppStropheStream_obj::strophe_certfail_handler )));
-HXLINE( 254) xmpp_conn_t* _hx_tmp3 = this->conn;
-HXLINE( 255) ::cpp::Function< void ( xmpp_conn_t*,const char*,void*) > _hx_tmp4 = ::cpp::Function< void ( xmpp_conn_t*,const char*,void*)>(::hx::AnyCast(&::snikket::streams::XmppStropheStream_obj::strophe_fast_token_handler ));
-HXLINE( 253) xmpp_conn_set_fast_token_handler(_hx_tmp3,_hx_tmp4,(void*)this);
-HXLINE( 258) xmpp_conn_t* _hx_tmp5 = this->conn;
-HXDLIN( 258) xmpp_conn_set_certfail_handler(_hx_tmp5,::cpp::Function< int ( const xmpp_tlscert_t*,const char*)>(::hx::AnyCast(&::snikket::streams::XmppStropheStream_obj::strophe_certfail_handler )));
-HXLINE( 259) xmpp_conn_t* _hx_tmp6 = this->conn;
-HXDLIN( 259) ::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(&::snikket::streams::XmppStropheStream_obj::strophe_sm_handler ));
-HXDLIN( 259) xmpp_conn_set_sm_callback(_hx_tmp6,_hx_tmp7,(void*)this);
-HXLINE( 260) xmpp_conn_t* _hx_tmp8 = this->conn;
-HXDLIN( 260) ::cpp::Function< void ( xmpp_conn_t*,void*,const char*) > _hx_tmp9 = ::cpp::Function< void ( xmpp_conn_t*,void*,const char*)>(::hx::AnyCast(&::snikket::streams::XmppStropheStream_obj::strophe_sm_ack_handler ));
-HXDLIN( 260) xmpp_conn_set_sm_ack_callback(_hx_tmp8,_hx_tmp9,(void*)this);
-HXLINE( 261) xmpp_conn_t* _hx_tmp10 = this->conn;
-HXDLIN( 261) ::cpp::Function< void ( xmpp_conn_t*,void*,const char*) > _hx_tmp11 = ::cpp::Function< void ( xmpp_conn_t*,void*,const char*)>(::hx::AnyCast(&::snikket::streams::XmppStropheStream_obj::strophe_sm_fail_handler ));
-HXDLIN( 261) xmpp_conn_set_sm_fail_callback(_hx_tmp10,_hx_tmp11,(void*)this);
-HXLINE( 262) _hx_add_finalizable(::hx::ObjectPtr<OBJ_>(this),false);
- }
-
-Dynamic XmppStropheStream_obj::__CreateEmpty() { return new XmppStropheStream_obj; }
-
-void *XmppStropheStream_obj::_hx_vtable = 0;
-
-Dynamic XmppStropheStream_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< XmppStropheStream_obj > _hx_result = new XmppStropheStream_obj();
- _hx_result->__construct();
- return _hx_result;
-}
-
-bool XmppStropheStream_obj::_hx_isInstanceOf(int inClassId) {
- if (inClassId<=(int)0x785c9e5e) {
- if (inClassId<=(int)0x6aca71d1) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x6aca71d1;
- } else {
- return inClassId==(int)0x785c9e5e;
- }
- } else {
- return inClassId==(int)0x7e6ea620;
- }
-}
-
-::String XmppStropheStream_obj::newId(){
- HX_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_266_newId)
-HXDLIN( 266) return ::snikket::ID_obj::_hx_long();
- }
-
-
-void XmppStropheStream_obj::onIq( ::snikket::IqRequestType type,::String tag,::String xmlns, ::Dynamic handler){
- HX_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_355_onIq)
-HXDLIN( 355) 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_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::streams::XmppStropheStream,_gthis) HXARGC(1)
- ::snikket::EventResult _hx_run( ::Dynamic event){
- HX_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_398_connect)
-HXLINE( 399) ::snikket::streams::XmppStropheStream o = _gthis;
-HXLINE( 400) ::String pass = ( (::String)(event->__Field(HX_("password",1b,23,d0,48),::hx::paccDynamic)) );
-HXLINE( 401) if (::hx::IsNotNull( event->__Field(HX_("fastCount",93,fc,67,a5),::hx::paccDynamic) )) {
-HXLINE( 402) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(pass.c_str());
-HXDLIN( 402) xmpp_conn_set_fast(_gthis->conn,tmp,( (int)(event->__Field(HX_("fastCount",93,fc,67,a5),::hx::paccDynamic)) ));
- }
- else {
-HXLINE( 404) ::cpp::Pointer< char > tmp1 = cpp::Pointer_obj::fromPointer(pass.c_str());
-HXDLIN( 404) xmpp_conn_set_pass(_gthis->conn,tmp1);
-HXLINE( 405) ::cpp::Pointer< char > tmp2 = null();
-HXDLIN( 405) xmpp_conn_set_fast(_gthis->conn,tmp2,-1);
- }
-HXLINE( 407) ::cpp::Pointer< char > tmp3 = cpp::Pointer_obj::fromPointer(_gthis->clientId.c_str());
-HXDLIN( 407) xmpp_conn_set_user_agent_id(_gthis->conn,tmp3);
-HXLINE( 410) ::cpp::Pointer< char > tmp4 = null();
-HXLINE( 409) xmpp_conn_t* _gthis1 = _gthis->conn;
-HXLINE( 412) ::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(&::snikket::streams::XmppStropheStream_obj::strophe_connect ));
-HXLINE( 408) xmpp_connect_client(_gthis1,tmp4,( (unsigned short)(0) ),_hx_tmp,o.GetPtr());
-HXLINE( 416) return ::snikket::EventResult_obj::EventHandled_dyn();
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_390_connect)
-HXDLIN( 390) ::snikket::streams::XmppStropheStream _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 391) ::haxe::Log_obj::trace(HX_("SM",9a,48,00,00), ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("snikket.streams.XmppStropheStream",6e,a1,9f,1c))
- ->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_("snikket/streams/XmppStropheStream.hx",12,70,c6,06))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),391)));
-HXLINE( 392) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(jid.c_str());
-HXDLIN( 392) xmpp_conn_set_jid(this->conn,tmp);
-HXLINE( 393) if (::hx::IsNotNull( sm )) {
-HXLINE( 395) const unsigned char* smPtr = (unsigned char*)sm->getBase();
-HXLINE( 396) xmpp_conn_restore_sm_state(this->conn,smPtr,( (size_t)(sm->length) ));
- }
-HXLINE( 398) this->on(HX_("auth/password",e2,5d,98,00), ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 418) this->trigger(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(::hx::Anon_obj::Create(0)));
-HXLINE( 419) this->poll(null());
- }
-
-
-void XmppStropheStream_obj::disconnect(){
- HX_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_423_disconnect)
-HXDLIN( 423) xmpp_disconnect(this->conn);
- }
-
-
-void XmppStropheStream_obj::poll( ::Dynamic __o_timeout){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::snikket::streams::XmppStropheStream,_gthis) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_428_poll)
-HXLINE( 429) _gthis->stanzaThisPoll = false;
-HXLINE( 430) xmpp_run_once(::snikket::streams::XmppStropheStream_obj::ctx,( (::cpp::UInt64)(5) ));
-HXLINE( 431) ::Dynamic _hx_tmp;
-HXDLIN( 431) if (_gthis->stanzaThisPoll) {
-HXLINE( 431) _hx_tmp = 5;
- }
- else {
-HXLINE( 431) _hx_tmp = 100;
- }
-HXDLIN( 431) _gthis->poll(_hx_tmp);
- }
- HX_END_LOCAL_FUNC0((void))
-
- ::Dynamic timeout = __o_timeout;
- if (::hx::IsNull(__o_timeout)) timeout = 100;
- HX_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_426_poll)
-HXDLIN( 426) ::snikket::streams::XmppStropheStream _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 427) if (::hx::IsNotNull( this->pollTimer )) {
-HXLINE( 427) this->pollTimer->stop();
- }
-HXLINE( 428) this->pollTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_0(_gthis)),( (int)(timeout) ));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(XmppStropheStream_obj,poll,(void))
-
- xmpp_stanza_t* XmppStropheStream_obj::convertFromStanza( ::snikket::Stanza el){
- HX_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_471_convertFromStanza)
-HXLINE( 472) xmpp_stanza_t* xml = xmpp_stanza_new(::snikket::streams::XmppStropheStream_obj::ctx);
-HXLINE( 473) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(el->name.c_str());
-HXDLIN( 473) xmpp_stanza_set_name(xml,tmp);
-HXLINE( 474) {
-HXLINE( 474) ::Dynamic access = el->attr;
-HXDLIN( 474) ::Dynamic _g_access = access;
-HXDLIN( 474) ::Array< ::String > _g_keys = ::Reflect_obj::fields(access);
-HXDLIN( 474) int _g_index = 0;
-HXDLIN( 474) while((_g_index < _g_keys->length)){
-HXLINE( 474) _g_index = (_g_index + 1);
-HXDLIN( 474) ::String key = _g_keys->__get((_g_index - 1));
-HXDLIN( 474) ::String attr_value = ( (::String)(::Reflect_obj::field(_g_access,key)) );
-HXDLIN( 474) ::String attr_key = key;
-HXLINE( 475) ::String key1 = attr_key;
-HXLINE( 476) ::String value = attr_value;
-HXLINE( 477) if (::hx::IsNotNull( value )) {
-HXLINE( 478) ::cpp::Pointer< char > tmp1 = cpp::Pointer_obj::fromPointer(key1.c_str());
-HXDLIN( 478) ::cpp::Pointer< char > tmp2 = cpp::Pointer_obj::fromPointer(value.c_str());
-HXDLIN( 478) xmpp_stanza_set_attribute(xml,tmp1,tmp2);
- }
- }
- }
-HXLINE( 481) if ((el->children->length > 0)) {
-HXLINE( 482) int _g = 0;
-HXDLIN( 482) ::Array< ::Dynamic> _g1 = el->children;
-HXDLIN( 482) while((_g < _g1->length)){
-HXLINE( 482) ::snikket::Node child = _g1->__get(_g).StaticCast< ::snikket::Node >();
-HXDLIN( 482) _g = (_g + 1);
-HXLINE( 483) switch((int)(child->_hx_getIndex())){
- case (int)0: {
-HXLINE( 484) ::snikket::Stanza stanza = child->_hx_getObject(0).StaticCast< ::snikket::Stanza >();
-HXLINE( 485) xmpp_stanza_add_child_ex(xml,this->convertFromStanza(stanza),false);
- }
- break;
- case (int)1: {
-HXLINE( 486) ::String text = child->_hx_getString(0);
-HXDLIN( 486) {
-HXLINE( 487) xmpp_stanza_t* text_node = xmpp_stanza_new(::snikket::streams::XmppStropheStream_obj::ctx);
-HXLINE( 488) ::cpp::Pointer< char > tmp3 = cpp::Pointer_obj::fromPointer(text.c_str());
-HXDLIN( 488) xmpp_stanza_set_text(text_node,tmp3);
-HXLINE( 489) xmpp_stanza_add_child_ex(xml,text_node,false);
- }
- }
- break;
- }
- }
- }
-HXLINE( 493) return xml;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(XmppStropheStream_obj,convertFromStanza,return )
-
-void XmppStropheStream_obj::sendStanza( ::snikket::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_497_sendStanza)
-HXDLIN( 497) if (this->ready) {
-HXLINE( 498) xmpp_conn_t* _hx_tmp = this->conn;
-HXDLIN( 498) xmpp_send(_hx_tmp,this->convertFromStanza(stanza));
- }
- else {
-HXLINE( 500) this->pending->push(stanza);
- }
- }
-
-
-void XmppStropheStream_obj::finalize(){
- HX_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_505_finalize)
-HXDLIN( 505) xmpp_conn_release(this->conn);
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(XmppStropheStream_obj,finalize,(void))
-
-int XmppStropheStream_obj::strophe_certfail_handler( const xmpp_tlscert_t* cert,const char* err){
- HX_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_269_strophe_certfail_handler)
-HXLINE( 270) void* userdata = xmpp_tlscert_get_userdata(cert);
-HXLINE( 271) ::snikket::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 272) ::Array< ::String > dnsNames = ::Array_obj< ::String >::__new(0);
-HXLINE( 273) ::cpp::Pointer< char > dnsName = null();
-HXLINE( 274) int dnsNameN = 0;
-HXLINE( 275) while(true){
-HXLINE( 275) dnsNameN = (dnsNameN + 1);
-HXDLIN( 275) dnsName = xmpp_tlscert_get_dnsname(cert,( (size_t)((dnsNameN - 1)) ));
-HXDLIN( 275) if (!(::hx::IsNotNull( dnsName ))) {
-HXLINE( 275) goto _hx_goto_13;
- }
-HXLINE( 276) dnsNames->push( ::String(dnsName->ptr));
- }
- _hx_goto_13:;
-HXLINE( 278) ::cpp::Pointer< char > inPtr = xmpp_tlscert_get_pem(cert);
-HXDLIN( 278) ::String pem = ::String(inPtr->ptr);
-HXLINE( 279) ::snikket::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( 279) if ((_g->_hx_getIndex() == 3)) {
-HXLINE( 280) ::Dynamic result = _g->_hx_getObject(0);
-HXLINE( 281) if (( (bool)(result) )) {
-HXLINE( 281) return 1;
- }
- else {
-HXLINE( 281) return 0;
- }
- }
- else {
-HXLINE( 283) return 0;
- }
-HXLINE( 279) return 0;
- }
-
-
-void XmppStropheStream_obj::strophe_fast_token_handler( xmpp_conn_t* conn,const char* token,void* userdata){
- HX_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_287_strophe_fast_token_handler)
-HXLINE( 288) ::snikket::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 289) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(token);
-HXDLIN( 289) ::String token1 = ::String(inPtr->ptr);
-HXLINE( 290) 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_c0c1f1a3af656a5a_293_strophe_sm_handler)
-HXLINE( 294) ::snikket::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 295) ::cpp::Pointer< ::Dynamic > _this = cpp::Pointer_obj::fromRaw(sm_state)->reinterpret();
-HXDLIN( 295) ::cpp::VirtualArray result = ::cpp::VirtualArray_obj::__new();
-HXDLIN( 295) ::cpp::Pointer< ::Dynamic > tmp = _this;
-HXDLIN( 295) result->setUnmanagedData(tmp,( (int)(sm_state_len) ));
-HXDLIN( 295) ::cpp::VirtualArray bytes = result->copy();
-HXLINE( 296) 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_c0c1f1a3af656a5a_299_strophe_sm_ack_handler)
-HXLINE( 300) ::snikket::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 301) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(id);
-HXDLIN( 301) ::String sid = ::String(inPtr->ptr);
-HXLINE( 302) 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_c0c1f1a3af656a5a_305_strophe_sm_fail_handler)
-HXLINE( 306) ::snikket::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 307) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(id);
-HXDLIN( 307) ::String sid = ::String(inPtr->ptr);
-HXLINE( 308) 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_c0c1f1a3af656a5a_311_strophe_stanza)
-HXLINE( 312) ::snikket::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 313) stream->stanzaThisPoll = true;
-HXLINE( 314) ::snikket::Stanza stanza = ::snikket::streams::XmppStropheStream_obj::convertToStanza(sstanza,null());
-HXLINE( 316) ::String xmlns = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("xmlns",dc,31,74,60))) );
-HXLINE( 317) if ((xmlns == HX_("jabber:client",21,64,c5,e4))) {
-HXLINE( 318) ::String name = stanza->name;
-HXLINE( 319) if ((name == HX_("iq",e8,5b,00,00))) {
-HXLINE( 320) ::String type = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) );
-HXLINE( 321) bool _hx_tmp;
-HXDLIN( 321) if ((type != HX_("result",dd,68,84,08))) {
-HXLINE( 321) _hx_tmp = (type == HX_("error",c8,cb,29,73));
- }
- else {
-HXLINE( 321) _hx_tmp = true;
- }
-HXDLIN( 321) if (_hx_tmp) {
-HXLINE( 322) stream->onStanza(stanza);
- }
- else {
-HXLINE( 325) ::snikket::Stanza child = stanza->getFirstChild();
-HXLINE( 326) if (::hx::IsNotNull( child )) {
-HXLINE( 327) ::snikket::IqRequestType this1;
-HXDLIN( 327) if ((type == HX_("get",96,80,4e,00))) {
-HXLINE( 327) this1 = ::snikket::IqRequestType_obj::Get_dyn();
- }
- else {
-HXLINE( 327) this1 = ::snikket::IqRequestType_obj::Set_dyn();
- }
-HXDLIN( 327) ::Dynamic this2 = stream->iqHandlers->get(this1).StaticCast< ::haxe::ds::StringMap >();
-HXDLIN( 327) ::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( 327) ::Dynamic handler = ( ( ::haxe::ds::StringMap)(this2) )->get((key + child->name));
-HXLINE( 328) if (::hx::IsNotNull( handler )) {
-HXLINE( 329) ::String reply = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) );
-HXDLIN( 329) ::String reply1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXDLIN( 329) ::snikket::Stanza reply2 = ::snikket::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))) ))
- ->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( 330) try {
- HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 331) ::snikket::IqResult _g = handler(stanza);
-HXDLIN( 331) switch((int)(_g->_hx_getIndex())){
- case (int)0: {
-HXLINE( 332) ::snikket::Stanza el = _g->_hx_getObject(0).StaticCast< ::snikket::Stanza >();
-HXDLIN( 332) reply2->addChild(el);
- }
- break;
- case (int)1: {
- }
- break;
- case (int)2: {
-HXLINE( 335) ::Reflect_obj::setField(reply2->attr,HX_("result",dd,68,84,08),HX_("error",c8,cb,29,73));
-HXLINE( 336) 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))));
- }
- break;
- }
- } catch( ::Dynamic _hx_e) {
- if (_hx_e.IsClass< ::Dynamic >() ){
- HX_STACK_BEGIN_CATCH
- ::Dynamic _g1 = _hx_e;
-HXLINE( 339) ::Reflect_obj::setField(reply2->attr,HX_("result",dd,68,84,08),HX_("error",c8,cb,29,73));
-HXLINE( 340) 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))));
- }
- else {
- HX_STACK_DO_THROW(_hx_e);
- }
- }
-HXLINE( 342) stream->sendStanza(reply2);
- }
- }
- }
- }
- else {
-HXLINE( 347) stream->onStanza(stanza);
- }
- }
-HXLINE( 351) 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_c0c1f1a3af656a5a_358_strophe_connect)
-HXLINE( 359) ::snikket::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 360) if (::hx::IsInstanceEq( event,XMPP_CONN_CONNECT )) {
-HXLINE( 361) stream->ready = true;
-HXLINE( 362) while((stream->pending->length > 0)){
-HXLINE( 363) stream->sendStanza(stream->pending->shift().StaticCast< ::snikket::Stanza >());
- }
-HXLINE( 365) 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( 367) if (::hx::IsInstanceEq( event,XMPP_CONN_DISCONNECT )) {
-HXLINE( 368) if (!(stream->ready)) {
-HXLINE( 370) stream->trigger(HX_("auth/fail",25,45,e9,d1), ::Dynamic(::hx::Anon_obj::Create(0)));
- }
- else {
-HXLINE( 372) stream->ready = false;
-HXLINE( 373) stream->trigger(HX_("status/offline",c6,eb,eb,54), ::Dynamic(::hx::Anon_obj::Create(0)));
-HXLINE( 377) ::cpp::Pointer< char > tmp = null();
-HXLINE( 375) xmpp_connect_client(conn,tmp,( (unsigned short)(0) ),::cpp::Function< void ( xmpp_conn_t*, xmpp_conn_event_t,int, xmpp_stream_error_t*,int,void*)>(::hx::AnyCast(&::snikket::streams::XmppStropheStream_obj::strophe_connect )),userdata);
- }
- }
-HXLINE( 384) if (::hx::IsInstanceEq( event,XMPP_CONN_FAIL )) {
-HXLINE( 385) stream->ready = false;
-HXLINE( 386) stream->trigger(HX_("status/offline",c6,eb,eb,54), ::Dynamic(::hx::Anon_obj::Create(0)));
- }
- }
-
-
- ::snikket::Stanza XmppStropheStream_obj::parseStanza(::String s){
- HX_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_435_parseStanza)
-HXLINE( 436) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(s.c_str());
-HXDLIN( 436) xmpp_stanza_t* sstanza = xmpp_stanza_new_from_string(::snikket::streams::XmppStropheStream_obj::ctx,tmp);
-HXLINE( 437) if (::hx::IsNull( sstanza )) {
-HXLINE( 437) HX_STACK_DO_THROW((HX_("Failed to parse stanza: ",6a,ef,ec,9c) + s));
- }
-HXLINE( 438) ::snikket::Stanza stanza = ::snikket::streams::XmppStropheStream_obj::convertToStanza(sstanza,null());
-HXLINE( 439) xmpp_stanza_release(sstanza);
-HXLINE( 440) return stanza;
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(XmppStropheStream_obj,parseStanza,return )
-
- ::snikket::Stanza XmppStropheStream_obj::convertToStanza( xmpp_stanza_t* el,void* dummy){
- HX_GC_STACKFRAME(&_hx_pos_c0c1f1a3af656a5a_443_convertToStanza)
-HXLINE( 444) ::cpp::Pointer< char > name = xmpp_stanza_get_name(el);
-HXLINE( 445) int attrlen = xmpp_stanza_get_attribute_count(el);
-HXLINE( 446) void* attrsraw = ::hx::InternalNew(((attrlen * 2) * sizeof(char*)),false);
-HXLINE( 447) const char** attrsarray = static_cast<const char**>(attrsraw);
-HXLINE( 448) ::cpp::Pointer< const char* > attrsptr = ::cpp::Pointer_obj::fromRaw(attrsarray);
-HXLINE( 449) xmpp_stanza_get_attributes(el,attrsarray,(attrlen * 2));
-HXLINE( 450) ::Dynamic attrs = ::Dynamic(::hx::Anon_obj::Create(0));
-HXLINE( 451) {
-HXLINE( 451) int _g = 0;
-HXDLIN( 451) int _g1 = attrlen;
-HXDLIN( 451) while((_g < _g1)){
-HXLINE( 451) _g = (_g + 1);
-HXDLIN( 451) int i = (_g - 1);
-HXLINE( 452) ::cpp::Pointer< char > key = cpp::Pointer_obj::fromRaw(attrsptr->at((i * 2)));
-HXLINE( 453) ::cpp::Pointer< char > value = cpp::Pointer_obj::fromRaw(attrsptr->at(((i * 2) + 1)));
-HXLINE( 454) {
-HXLINE( 454) ::String key1 = ::String(key->ptr);
-HXDLIN( 454) ::String value1 = ::String(value->ptr);
-HXDLIN( 454) ::Reflect_obj::setField(attrs,key1,value1);
- }
- }
- }
-HXLINE( 456) ::snikket::Stanza stanza = ::snikket::Stanza_obj::__alloc( HX_CTX , ::String(name->ptr),attrs);
-HXLINE( 458) xmpp_stanza_t* child = xmpp_stanza_get_children(el);
-HXLINE( 459) while(::hx::IsNotNull( child )){
-HXLINE( 460) if (xmpp_stanza_is_text(child)) {
-HXLINE( 461) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(xmpp_stanza_get_text_ptr(child));
-HXDLIN( 461) stanza->text( ::String(inPtr->ptr));
- }
- else {
-HXLINE( 463) stanza->addChild(::snikket::streams::XmppStropheStream_obj::convertToStanza(child,null()));
- }
-HXLINE( 465) child = xmpp_stanza_get_next(child);
- }
-HXLINE( 468) return stanza;
- }
-
-
-
-::hx::ObjectPtr< XmppStropheStream_obj > XmppStropheStream_obj::__new() {
- ::hx::ObjectPtr< XmppStropheStream_obj > __this = new XmppStropheStream_obj();
- __this->__construct();
- return __this;
-}
-
-::hx::ObjectPtr< XmppStropheStream_obj > XmppStropheStream_obj::__alloc(::hx::Ctx *_hx_ctx) {
- XmppStropheStream_obj *__this = (XmppStropheStream_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(XmppStropheStream_obj), true, "snikket.streams.XmppStropheStream"));
- *(void **)__this = XmppStropheStream_obj::_hx_vtable;
- __this->__construct();
- return __this;
-}
-
-XmppStropheStream_obj::XmppStropheStream_obj()
-{
-}
-
-void XmppStropheStream_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(XmppStropheStream);
- HX_MARK_MEMBER_NAME(iqHandlers,"iqHandlers");
- HX_MARK_MEMBER_NAME(pending,"pending");
- HX_MARK_MEMBER_NAME(pollTimer,"pollTimer");
- HX_MARK_MEMBER_NAME(ready,"ready");
- HX_MARK_MEMBER_NAME(stanzaThisPoll,"stanzaThisPoll");
- ::snikket::GenericStream_obj::__Mark(HX_MARK_ARG);
- HX_MARK_END_CLASS();
-}
-
-void XmppStropheStream_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(iqHandlers,"iqHandlers");
- HX_VISIT_MEMBER_NAME(pending,"pending");
- HX_VISIT_MEMBER_NAME(pollTimer,"pollTimer");
- HX_VISIT_MEMBER_NAME(ready,"ready");
- HX_VISIT_MEMBER_NAME(stanzaThisPoll,"stanzaThisPoll");
- ::snikket::GenericStream_obj::__Visit(HX_VISIT_ARG);
-}
-
-::hx::Val XmppStropheStream_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 4:
- if (HX_FIELD_EQ(inName,"onIq") ) { return ::hx::Val( onIq_dyn() ); }
- if (HX_FIELD_EQ(inName,"poll") ) { return ::hx::Val( poll_dyn() ); }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"ready") ) { return ::hx::Val( ready ); }
- if (HX_FIELD_EQ(inName,"newId") ) { return ::hx::Val( newId_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"pending") ) { return ::hx::Val( pending ); }
- if (HX_FIELD_EQ(inName,"connect") ) { return ::hx::Val( connect_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"finalize") ) { return ::hx::Val( finalize_dyn() ); }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"pollTimer") ) { return ::hx::Val( pollTimer ); }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"iqHandlers") ) { return ::hx::Val( iqHandlers ); }
- if (HX_FIELD_EQ(inName,"disconnect") ) { return ::hx::Val( disconnect_dyn() ); }
- if (HX_FIELD_EQ(inName,"sendStanza") ) { return ::hx::Val( sendStanza_dyn() ); }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"stanzaThisPoll") ) { return ::hx::Val( stanzaThisPoll ); }
- break;
- case 17:
- if (HX_FIELD_EQ(inName,"convertFromStanza") ) { return ::hx::Val( convertFromStanza_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-bool XmppStropheStream_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 11:
- if (HX_FIELD_EQ(inName,"parseStanza") ) { outValue = parseStanza_dyn(); return true; }
- }
- return false;
-}
-
-::hx::Val XmppStropheStream_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 5:
- if (HX_FIELD_EQ(inName,"ready") ) { ready=inValue.Cast< bool >(); return inValue; }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"pending") ) { pending=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"pollTimer") ) { pollTimer=inValue.Cast< ::haxe::Timer >(); return inValue; }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"iqHandlers") ) { iqHandlers=inValue.Cast< ::haxe::ds::EnumValueMap >(); return inValue; }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"stanzaThisPoll") ) { stanzaThisPoll=inValue.Cast< bool >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void XmppStropheStream_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("iqHandlers",71,61,f0,a9));
- outFields->push(HX_("pending",57,98,ec,2b));
- outFields->push(HX_("pollTimer",06,ad,79,73));
- outFields->push(HX_("ready",63,a0,ba,e6));
- outFields->push(HX_("stanzaThisPoll",d2,ce,2e,fa));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo XmppStropheStream_obj_sMemberStorageInfo[] = {
- {::hx::fsObject /* ::haxe::ds::EnumValueMap */ ,(int)offsetof(XmppStropheStream_obj,iqHandlers),HX_("iqHandlers",71,61,f0,a9)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(XmppStropheStream_obj,pending),HX_("pending",57,98,ec,2b)},
- {::hx::fsObject /* ::haxe::Timer */ ,(int)offsetof(XmppStropheStream_obj,pollTimer),HX_("pollTimer",06,ad,79,73)},
- {::hx::fsBool,(int)offsetof(XmppStropheStream_obj,ready),HX_("ready",63,a0,ba,e6)},
- {::hx::fsBool,(int)offsetof(XmppStropheStream_obj,stanzaThisPoll),HX_("stanzaThisPoll",d2,ce,2e,fa)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *XmppStropheStream_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String XmppStropheStream_obj_sMemberFields[] = {
- HX_("iqHandlers",71,61,f0,a9),
- HX_("pending",57,98,ec,2b),
- HX_("pollTimer",06,ad,79,73),
- HX_("ready",63,a0,ba,e6),
- HX_("stanzaThisPoll",d2,ce,2e,fa),
- HX_("newId",5b,e8,30,99),
- HX_("onIq",e7,66,b2,49),
- HX_("connect",ea,3b,80,15),
- HX_("disconnect",5c,64,44,69),
- HX_("poll",3f,7e,5c,4a),
- HX_("convertFromStanza",d2,72,14,33),
- HX_("sendStanza",5d,85,4d,a7),
- HX_("finalize",9e,45,3a,f5),
- ::String(null()) };
-
-::hx::Class XmppStropheStream_obj::__mClass;
-
-static ::String XmppStropheStream_obj_sStaticFields[] = {
- HX_("parseStanza",88,0a,34,81),
- ::String(null())
-};
-
-void XmppStropheStream_obj::__register()
-{
- XmppStropheStream_obj _hx_dummy;
- XmppStropheStream_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("snikket.streams.XmppStropheStream",6e,a1,9f,1c);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &XmppStropheStream_obj::__GetStatic;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(XmppStropheStream_obj_sStaticFields);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(XmppStropheStream_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< XmppStropheStream_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = XmppStropheStream_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = XmppStropheStream_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-} // end namespace snikket
-} // end namespace streams
diff --git a/Sources/c_snikket/src/sys/thread/NextEventTime.cpp b/Sources/c_snikket/src/sys/thread/NextEventTime.cpp
deleted file mode 100644
index d4494e6..0000000
--- a/Sources/c_snikket/src/sys/thread/NextEventTime.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED_sys_thread_NextEventTime
-#include <sys/thread/NextEventTime.h>
-#endif
-namespace sys{
-namespace thread{
-
-::sys::thread::NextEventTime NextEventTime_obj::AnyTime( ::Dynamic time)
-{
- return ::hx::CreateEnum< NextEventTime_obj >(HX_("AnyTime",f9,00,87,6d),2,1)->_hx_init(0,time);
-}
-
-::sys::thread::NextEventTime NextEventTime_obj::At(Float time)
-{
- return ::hx::CreateEnum< NextEventTime_obj >(HX_("At",13,39,00,00),3,1)->_hx_init(0,time);
-}
-
-::sys::thread::NextEventTime NextEventTime_obj::Never;
-
-::sys::thread::NextEventTime NextEventTime_obj::Now;
-
-bool NextEventTime_obj::__GetStatic(const ::String &inName, ::Dynamic &outValue, ::hx::PropertyAccess inCallProp)
-{
- if (inName==HX_("AnyTime",f9,00,87,6d)) { outValue = NextEventTime_obj::AnyTime_dyn(); return true; }
- if (inName==HX_("At",13,39,00,00)) { outValue = NextEventTime_obj::At_dyn(); return true; }
- if (inName==HX_("Never",6c,ae,5d,2c)) { outValue = NextEventTime_obj::Never; return true; }
- if (inName==HX_("Now",f6,90,3b,00)) { outValue = NextEventTime_obj::Now; return true; }
- return super::__GetStatic(inName, outValue, inCallProp);
-}
-
-HX_DEFINE_CREATE_ENUM(NextEventTime_obj)
-
-int NextEventTime_obj::__FindIndex(::String inName)
-{
- if (inName==HX_("AnyTime",f9,00,87,6d)) return 2;
- if (inName==HX_("At",13,39,00,00)) return 3;
- if (inName==HX_("Never",6c,ae,5d,2c)) return 1;
- if (inName==HX_("Now",f6,90,3b,00)) return 0;
- return super::__FindIndex(inName);
-}
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(NextEventTime_obj,AnyTime,return)
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(NextEventTime_obj,At,return)
-
-int NextEventTime_obj::__FindArgCount(::String inName)
-{
- if (inName==HX_("AnyTime",f9,00,87,6d)) return 1;
- if (inName==HX_("At",13,39,00,00)) return 1;
- if (inName==HX_("Never",6c,ae,5d,2c)) return 0;
- if (inName==HX_("Now",f6,90,3b,00)) return 0;
- return super::__FindArgCount(inName);
-}
-
-::hx::Val NextEventTime_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- if (inName==HX_("AnyTime",f9,00,87,6d)) return AnyTime_dyn();
- if (inName==HX_("At",13,39,00,00)) return At_dyn();
- if (inName==HX_("Never",6c,ae,5d,2c)) return Never;
- if (inName==HX_("Now",f6,90,3b,00)) return Now;
- return super::__Field(inName,inCallProp);
-}
-
-static ::String NextEventTime_obj_sStaticFields[] = {
- HX_("Now",f6,90,3b,00),
- HX_("Never",6c,ae,5d,2c),
- HX_("AnyTime",f9,00,87,6d),
- HX_("At",13,39,00,00),
- ::String(null())
-};
-
-::hx::Class NextEventTime_obj::__mClass;
-
-Dynamic __Create_NextEventTime_obj() { return new NextEventTime_obj; }
-
-void NextEventTime_obj::__register()
-{
-
-::hx::Static(__mClass) = ::hx::_hx_RegisterClass(HX_("sys.thread.NextEventTime",11,32,a7,e0), ::hx::TCanCast< NextEventTime_obj >,NextEventTime_obj_sStaticFields,0,
- &__Create_NextEventTime_obj, &__Create,
- &super::__SGetClass(), &CreateNextEventTime_obj, 0
-#ifdef HXCPP_VISIT_ALLOCS
- , 0
-#endif
-#ifdef HXCPP_SCRIPTABLE
- , 0
-#endif
-);
- __mClass->mGetStaticField = &NextEventTime_obj::__GetStatic;
-}
-
-void NextEventTime_obj::__boot()
-{
-Never = ::hx::CreateConstEnum< NextEventTime_obj >(HX_("Never",6c,ae,5d,2c),1);
-Now = ::hx::CreateConstEnum< NextEventTime_obj >(HX_("Now",f6,90,3b,00),0);
-}
-
-
-} // end namespace sys
-} // end namespace thread
diff --git a/Sources/strophe/libstrophe b/Sources/strophe/libstrophe
index 77c9608..3c2cf2e 160000
--- a/Sources/strophe/libstrophe
+++ b/Sources/strophe/libstrophe
@@ -1 +1 @@
-Subproject commit 77c960814c6ea806cffcc65d93822fb51ff8f623
+Subproject commit 3c2cf2ecbf2239dc306b53ce0dc4c14bca6e72f5