Skip to content
Snippets Groups Projects
Commit 8c2670b7 authored by Kamal Bramwell's avatar Kamal Bramwell
Browse files

Updated network package

parent eb2d8769
No related branches found
No related tags found
No related merge requests found
Showing
with 50 additions and 33 deletions
...@@ -2,7 +2,7 @@ package io.elixxir.dapp.model ...@@ -2,7 +2,7 @@ package io.elixxir.dapp.model
import io.elixxir.dapp.android.model.AndroidConfig import io.elixxir.dapp.android.model.AndroidConfig
import io.elixxir.dapp.logger.model.LoggerConfig import io.elixxir.dapp.logger.model.LoggerConfig
import io.elixxir.dapp.session.model.NetworkConfig import io.elixxir.dapp.network.model.NetworkConfig
/** /**
* Describes configurable options, and satisfies dependencies for, * Describes configurable options, and satisfies dependencies for,
......
...@@ -4,7 +4,7 @@ import androidx.annotation.RawRes ...@@ -4,7 +4,7 @@ import androidx.annotation.RawRes
import bindings.Bindings import bindings.Bindings
import io.elixxir.dapp.model.CommonProperties import io.elixxir.dapp.model.CommonProperties
import io.elixxir.dapp.model.RetryStrategy import io.elixxir.dapp.model.RetryStrategy
import io.elixxir.dapp.session.model.NdfSettings import io.elixxir.dapp.network.model.NdfSettings
import kotlinx.coroutines.* import kotlinx.coroutines.*
typealias Ndf = String typealias Ndf = String
......
package io.elixxir.dapp.networking.data package io.elixxir.dapp.network.data
import bindings.AuthCallbacks
import bindings.Bindings import bindings.Bindings
import bindings.Cmix import bindings.Cmix
import io.elixxir.dapp.model.CommonProperties
import io.elixxir.dapp.network.model.*
import io.elixxir.dapp.session.model.* import io.elixxir.dapp.session.model.*
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
class Networking(private val cmix: Cmix) { internal interface NetworkManager {
}
internal class DappNetworkManager private constructor(
properties: CommonProperties
): NetworkManager, CommonProperties by properties {
private fun login( private fun login(
cmixId: Long, cmixId: Long,
authCallbacks: AuthCallbacks, authCallbacks: AuthCallbacksMediator,
identity: ReceptionIdentity, identity: ReceptionIdentity,
e2eParamsJson: E2eParams e2eParamsJson: E2eParams
): E2eMediator { ): E2eMediator {
return E2eMediator( return E2eMediator(
Bindings.login(cmixId, authCallbacks, identity.value, e2eParamsJson.value) Bindings.login(cmixId, authCallbacks.value, identity.value, e2eParamsJson.value)
) )
} }
...@@ -60,4 +67,8 @@ class Networking(private val cmix: Cmix) { ...@@ -60,4 +67,8 @@ class Networking(private val cmix: Cmix) {
private fun initUserDiscovery() { private fun initUserDiscovery() {
} }
companion object {
internal fun newInstance(properties: CommonProperties) = DappNetworkManager(properties)
}
} }
\ No newline at end of file
package io.elixxir.dapp.network.model
import bindings.AuthCallbacks
@JvmInline
internal value class AuthCallbacksMediator(val value: AuthCallbacks)
\ No newline at end of file
package io.elixxir.dapp.network.model
import bindings.Cmix
@JvmInline
internal value class CmixMediator(private val value: Cmix)
\ No newline at end of file
package io.elixxir.dapp.network.model
import bindings.E2e
@JvmInline
internal value class E2eMediator(private val value: E2e)
\ No newline at end of file
package io.elixxir.dapp.network.model
@JvmInline
internal value class E2eParams(val value: ByteArray)
\ No newline at end of file
package io.elixxir.dapp.session.model package io.elixxir.dapp.network.model
enum class Environment { enum class Environment {
MainNet, ReleaseNet MainNet, ReleaseNet
......
package io.elixxir.dapp.session.model package io.elixxir.dapp.network.model
import androidx.annotation.RawRes import androidx.annotation.RawRes
import io.elixxir.dapp.R import io.elixxir.dapp.R
......
package io.elixxir.dapp.network.model
@JvmInline
internal value class ReceptionIdentity(val value: ByteArray)
package io.elixxir.dapp.networking.model
interface NetworkConfig {
// Main or Alt UD
}
\ No newline at end of file
package io.elixxir.dapp.session.model
import bindings.Cmix
import bindings.E2e
@JvmInline
value class SessionPassword(val value: ByteArray)
@JvmInline
value class CmixMediator(private val value: Cmix)
@JvmInline
value class E2eMediator(private val value: E2e)
@JvmInline
value class ReceptionIdentity(val value: ByteArray)
@JvmInline
value class E2eParams(val value: ByteArray)
\ No newline at end of file
package io.elixxir.dapp.session.model
@JvmInline
value class SessionPassword(val value: ByteArray)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment