PrivMX DOCS
Swift

Handling Events

Registering callbacks for events.

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

Connection

try? endpointSession?.registerCallback(
    for: privmx.endpoint.core.LibConnectedEvent.self,
    from: .platform, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when lib connect
    })
    
try? endpointSession?.registerCallback(
    for: privmx.endpoint.core.LibDisconnectedEvent.self,
    from: .platform, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when lib disconnects
    })

Threads

try? endpointSession?.registerCallback(
    for: privmx.endpoint.thread.ThreadCreatedEvent.self,
    from: .thread, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when new thread created
    })
    
try? endpointSession?.registerCallback(
    for: privmx.endpoint.thread.ThreadUpdatedEvent.self,
    from: .thread, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when thread updated
    })

try? endpointSession?.registerCallback(
    for: privmx.endpoint.thread.ThreadStatsChangedEvent.self,
    from: .thread, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when  thread stats changes
    })
    
try? endpointSession?.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? endpointSession?.registerCallback(
    for: privmx.endpoint.store.StoreCreatedEvent.self,
    from: .store, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when new store created
    })
    
try? endpointSession?.registerCallback(
    for: privmx.endpoint.store.StoreUpdatedEvent.self,
    from: .store, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when store updated
    })

try? endpointSession?.registerCallback(
    for: privmx.endpoint.store.StoreStatsChangedEvent.self,
    from: .store, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when store stats changes
    })
    
try? endpointSession?.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? endpointSession?.registerCallback(
    for: privmx.endpoint.inbox.InboxCreatedEvent.self,
    from: .inbox, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when new inbox created
    })
    
try? endpointSession?.registerCallback(
    for: privmx.endpoint.inbox.InboxUpdatedEvent.self,
    from: .inbox, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when inbox updated
    })

try? endpointSession?.registerCallback(
    for: privmx.endpoint.inbox.InboxDeletedEvent.self,
    from: .inbox, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when inbox deleted
    })

Read more about Inbox events.

KVDBs

try? endpointSession?.registerCallback(
    for: privmx.endpoint.kvdb.KvdbCreatedEvent.self,
    from: .kvdb, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when new kvdb created
    })
    
try? endpointSession?.registerCallback(
    for: privmx.endpoint.kvdb.KvdbUpdatedEvent.self,
    from: .kvdb, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when kvdb updated
    })

try? endpointSession?.registerCallback(
	for: privmx.endpoint.kvdb.KvdbStatsChangedEvent,
	from: .kvdb, identified: "SOME_UNIQUE_IDENTIFIER"),
	{ eventData in
		// some actions when kvdb stats changed
	})
    
try? endpointSession?.registerCallback(
    for: privmx.endpoint.kvdb.KvdbDeletedEvent.self,
    from: .kvdb, identified: "SOME_UNIQUE_IDENTIFIER",
    { eventData in
        // some actions when kvdb deleted
    })
		

Read more about KVDB events.

We use cookies on our website. We use them to ensure the proper functioning of the site and, if you agree, for purposes we set, such as analytics or marketing.

PrivMX Endpoint Swift v2.5

This package is not up to date with the core documentation. Some of the features you've seen described in other parts of the documentation might not be mentioned here. Those changes do not influence compatibility, however

On this page