Skip to main content
swift

Handling Events

How to subscribe to events, assuming you have already started listening.

Connection

_ = try? endpointContainer.getEndpoint(endpointId)?.registerCallback(
for: privmx.endpoint.core.LibConnectedEvent.self,
from: .platform, identified: "SOME_UNIQUE_IDENTIFIER",
{ eventData in
// some actions when lib connect
})

_ = try? endpointContainer.getEndpoint(endpointId)?.registerCallback(
for: privmx.endpoint.core.LibDisconnectedEvent.self,
from: .platform, identified: "SOME_UNIQUE_IDENTIFIER",
{ eventData in
// some actions when lib disconnects
})

Threads

_ = try? endpointContainer.getEndpoint(endpointId)?.registerCallback(
for: privmx.endpoint.thread.ThreadCreatedEvent.self,
from: .thread, identified: "SOME_UNIQUE_IDENTIFIER",
{ eventData in
// some actions when new thread created
})

_ = try? endpointContainer.getEndpoint(endpointId)?.registerCallback(
for: privmx.endpoint.thread.ThreadUpdatedEvent.self,
from: .thread, identified: "SOME_UNIQUE_IDENTIFIER",
{ eventData in
// some actions when thread updated
})

_ = try? endpointContainer.getEndpoint(endpointId)?.registerCallback(
for: privmx.endpoint.thread.ThreadStatsChangedEvent.self,
from: .thread, identified: "SOME_UNIQUE_IDENTIFIER",
{ eventData in
// some actions when thread stats changes
})

_ = try? endpointContainer.getEndpoint(endpointId)?.registerCallback(
for: privmx.endpoint.thread.ThreadDeletedEvent.self,
from: .thread, identified: "SOME_UNIQUE_IDENTIFIER",
{ eventData in
// some actions when thread deleted
})

Read more about Thread events.

Stores

_ = try? endpointContainer.getEndpoint(endpointId)?.registerCallback(
for: privmx.endpoint.store.StoreCreatedEvent.self,
from: .store, identified: "SOME_UNIQUE_IDENTIFIER",
{ eventData in
// some actions when new store created
})

_ = try? endpointContainer.getEndpoint(endpointId)?.registerCallback(
for: privmx.endpoint.store.StoreUpdatedEvent.self,
from: .store, identified: "SOME_UNIQUE_IDENTIFIER",
{ eventData in
// some actions when store updated
})

_ = try? endpointContainer.getEndpoint(endpointId)?.registerCallback(
for: privmx.endpoint.store.StoreStatsChangedEvent.self,
from: .store, identified: "SOME_UNIQUE_IDENTIFIER",
{ eventData in
// some actions when store stats changes
})

_ = try? endpointContainer.getEndpoint(endpointId)?.registerCallback(
for: privmx.endpoint.store.StoreDeletedEvent.self,
from: .store, identified: "SOME_UNIQUE_IDENTIFIER",
{ eventData in
// some actions when store deleted
})

Read more about Store events.

Inboxes

_ = try? endpointContainer.getEndpoint(endpointId)?.registerCallback(
for: privmx.endpoint.inbox.InboxCreatedEvent.self,
from: .inbox, identified: "SOME_UNIQUE_IDENTIFIER",
{ eventData in
// some actions when new inbox created
})

_ = try? endpointContainer.getEndpoint(endpointId)?.registerCallback(
for: privmx.endpoint.inbox.InboxUpdatedEvent.self,
from: .inbox, identified: "SOME_UNIQUE_IDENTIFIER",
{ eventData in
// some actions when inbox updated
})

_ = try? endpointContainer.getEndpoint(endpointId)?.registerCallback(
for: privmx.endpoint.inbox.InboxUpdatedEvent.self,
from: .inbox, identified: "SOME_UNIQUE_IDENTIFIER",
{ eventData in
// some actions when inbox updated
})