Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ dokka = "2.0.0"
kotlinx_datetime = "0.6.2"
kotlinx_coroutines = "1.10.2"
pubnub_js = "8.6.0"
pubnub_swift = "9.2.0"
pubnub_swift = "9.2.2"

[libraries]
retrofit2 = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit2" }
Expand Down
56 changes: 27 additions & 29 deletions pubnub-kotlin/pubnub-kotlin-api/config/ktlint/baseline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,47 +8,40 @@
</file>
<file name="src/jsMain/kotlin/Pubnub.d.kt">
<error line="156" column="40" source="standard:comment-wrapping" />
<error line="411" column="15" source="standard:class-naming" />
<error line="428" column="15" source="standard:class-naming" />
<error line="444" column="15" source="standard:class-naming" />
<error line="456" column="15" source="standard:class-naming" />
<error line="464" column="15" source="standard:class-naming" />
<error line="472" column="15" source="standard:class-naming" />
<error line="488" column="15" source="standard:class-naming" />
<error line="501" column="15" source="standard:class-naming" />
<error line="849" column="13" source="standard:property-naming" />
<error line="1034" column="15" source="standard:class-naming" />
<error line="413" column="15" source="standard:class-naming" />
<error line="430" column="15" source="standard:class-naming" />
<error line="446" column="15" source="standard:class-naming" />
<error line="458" column="15" source="standard:class-naming" />
<error line="466" column="15" source="standard:class-naming" />
<error line="474" column="15" source="standard:class-naming" />
<error line="490" column="15" source="standard:class-naming" />
<error line="503" column="15" source="standard:class-naming" />
<error line="855" column="13" source="standard:property-naming" />
<error line="1040" column="15" source="standard:class-naming" />
<error line="1163" column="13" source="standard:property-naming" />
<error line="1171" column="13" source="standard:property-naming" />
<error line="1173" column="13" source="standard:property-naming" />
<error line="1236" column="39" source="standard:comment-wrapping" />
<error line="1321" column="15" source="standard:class-naming" />
<error line="1349" column="42" source="standard:comment-wrapping" />
<error line="1399" column="37" source="standard:comment-wrapping" />
<error line="1420" column="13" source="standard:property-naming" />
<error line="1421" column="13" source="standard:property-naming" />
<error line="1425" column="13" source="standard:property-naming" />
<error line="1046" column="15" source="standard:class-naming" />
<error line="1169" column="13" source="standard:property-naming" />
<error line="1177" column="13" source="standard:property-naming" />
<error line="1179" column="13" source="standard:property-naming" />
<error line="1242" column="39" source="standard:comment-wrapping" />
<error line="1327" column="15" source="standard:class-naming" />
<error line="1355" column="42" source="standard:comment-wrapping" />
<error line="1405" column="37" source="standard:comment-wrapping" />
<error line="1426" column="13" source="standard:property-naming" />
<error line="1445" column="9" source="standard:property-naming" />
<error line="1446" column="9" source="standard:property-naming" />
<error line="1447" column="9" source="standard:property-naming" />
<error line="1448" column="9" source="standard:property-naming" />
<error line="1449" column="9" source="standard:property-naming" />
<error line="1450" column="9" source="standard:property-naming" />
<error line="1427" column="13" source="standard:property-naming" />
<error line="1431" column="13" source="standard:property-naming" />
<error line="1432" column="13" source="standard:property-naming" />
<error line="1451" column="9" source="standard:property-naming" />
<error line="1452" column="9" source="standard:property-naming" />
<error line="1453" column="9" source="standard:property-naming" />
<error line="1454" column="9" source="standard:property-naming" />
<error line="1455" column="9" source="standard:property-naming" />
<error line="1456" column="9" source="standard:property-naming" />
<error line="1457" column="9" source="standard:property-naming" />
<error line="1458" column="9" source="standard:property-naming" />
<error line="1459" column="9" source="standard:property-naming" />
<error line="1460" column="9" source="standard:property-naming" />
<error line="1461" column="9" source="standard:property-naming" />
<error line="1462" column="9" source="standard:property-naming" />
<error line="1463" column="9" source="standard:property-naming" />
<error line="1464" column="9" source="standard:property-naming" />
<error line="1465" column="9" source="standard:property-naming" />
<error line="1466" column="9" source="standard:property-naming" />
<error line="1467" column="9" source="standard:property-naming" />
<error line="1468" column="9" source="standard:property-naming" />
Expand Down Expand Up @@ -80,5 +73,10 @@
<error line="1494" column="9" source="standard:property-naming" />
<error line="1495" column="9" source="standard:property-naming" />
<error line="1496" column="9" source="standard:property-naming" />
<error line="1497" column="9" source="standard:property-naming" />
<error line="1498" column="9" source="standard:property-naming" />
<error line="1499" column="9" source="standard:property-naming" />
<error line="1500" column="9" source="standard:property-naming" />
<error line="1501" column="9" source="standard:property-naming" />
</file>
</baseline>
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import cocoapods.PubNubSwift.channelMetadataWith
import cocoapods.PubNubSwift.channelWith
import cocoapods.PubNubSwift.disconnect
import cocoapods.PubNubSwift.getToken
import cocoapods.PubNubSwift.reconnectWithTimetoken
import cocoapods.PubNubSwift.removeAllListeners
import cocoapods.PubNubSwift.removeEventListenerWithListener
import cocoapods.PubNubSwift.removeStatusListenerWithListener
Expand Down Expand Up @@ -1061,4 +1062,12 @@ class PubNubImpl(private val pubNubObjC: KMPPubNub) : PubNub {
fileId = fileId
)
}

override fun disconnect() {
pubNubObjC.disconnect()
}

override fun reconnect(timetoken: Long) {
pubNubObjC.reconnectWithTimetoken(platform.Foundation.NSNumber(timetoken.toULong()))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -554,4 +554,8 @@ expect interface PubNub {
): SubscriptionSet

fun parseToken(token: String): PNToken

fun reconnect(timetoken: Long = 0L)

fun disconnect()
}
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,9 @@ open external class PubNub(config: Any /* UUID | UserId */) {

open fun stop()

open fun reconnect()
open fun reconnect(params: ReconnectParameters)

open fun disconnect()

open fun addListener(params: ListenerParameters)

Expand Down Expand Up @@ -745,6 +747,10 @@ open external class PubNub(config: Any /* UUID | UserId */) {
val objects: ((objectEvent: BaseObjectsEvent) -> Unit)?
}

interface ReconnectParameters {
var timetoken: String?
}

interface StatusListenerParameters {
val status: ((statusEvent: StatusEvent) -> Unit)?
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,14 @@ class PubNubImpl(val jsPubNub: PubNubJs) : PubNub {
)
}

override fun reconnect(timetoken: Long) {
jsPubNub.reconnect(createJsObject { this.timetoken = timetoken.toString() })
}

override fun disconnect() {
jsPubNub.disconnect()
}

override fun fire(channel: String, message: Any, meta: Any?, usePost: Boolean): Publish {
return FireImpl(
jsPubNub,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -263,14 +263,14 @@ actual interface PubNub : StatusEmitter, EventEmitter {
*
* @param timetoken optional timetoken to use for the subscriptions on reconnection.
*/
fun reconnect(timetoken: Long = 0L)
actual fun reconnect(timetoken: Long)

/**
* Cancel any subscribe and heartbeat loops or ongoing re-connections.
*
* Monitor the results in [SubscribeCallback.status]
*/
fun disconnect()
actual fun disconnect()

/**
* Unsubscribe from all channels and all channel groups.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -518,4 +518,8 @@ actual interface PubNub {
ttl: Int?,
customMessageType: String?
): Publish

actual fun reconnect(timetoken: Long)

actual fun disconnect()
}
Loading