diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/lifecycle/LifecycleManager.java b/bramble-api/src/main/java/org/briarproject/bramble/api/lifecycle/LifecycleManager.java index 5a036a3b6cc2005a36c28bbaacb67638256941a1..d3cd1bc245f33b855d522f47b32f0501689668b7 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/lifecycle/LifecycleManager.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/lifecycle/LifecycleManager.java @@ -43,17 +43,20 @@ public interface LifecycleManager { } /** - * Registers a {@link Service} to be started and stopped. + * Registers a {@link Service} to be started and stopped. This method + * should be called before {@link #startServices(String)}. */ void registerService(Service s); /** - * Registers a {@link Client} to be started. + * Registers a {@link Client} to be started. This method should be called + * before {@link #startServices(String)}. */ void registerClient(Client c); /** - * Registers an {@link ExecutorService} to be shut down. + * Registers an {@link ExecutorService} to be shut down. This method + * should be called before {@link #startServices(String)}. */ void registerForShutdown(ExecutorService e); diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientVersioningManager.java b/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientVersioningManager.java index a4492337318e32fe91d6e3e4babc64e98fce3c21..8a374b288c3d73e43f2a8fda1ee245de183d1f78 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientVersioningManager.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientVersioningManager.java @@ -3,6 +3,7 @@ package org.briarproject.bramble.api.sync; import org.briarproject.bramble.api.contact.Contact; import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.db.Transaction; +import org.briarproject.bramble.api.lifecycle.LifecycleManager; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.Group.Visibility; @@ -19,8 +20,17 @@ public interface ClientVersioningManager { */ int CLIENT_VERSION = 0; + /** + * Registers a client that will be advertised to contacts. This method + * should be called before {@link LifecycleManager#startServices(String)}. + */ void registerClient(ClientId clientId, int clientVersion); + /** + * Registers a hook that will be called when the visibility of the given + * client changes. This method should be called before + * {@link LifecycleManager#startServices(String)}. + */ void registerClientVersioningHook(ClientId clientId, int clientVersion, ClientVersioningHook hook); diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ValidationManager.java b/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ValidationManager.java index bc73714b785accb507afd689b5e8d9b3008ef688..56571ad97603496f3ddea9a830f0066ee9335673 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ValidationManager.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ValidationManager.java @@ -3,6 +3,7 @@ package org.briarproject.bramble.api.sync; import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.db.Metadata; import org.briarproject.bramble.api.db.Transaction; +import org.briarproject.bramble.api.lifecycle.LifecycleManager; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; /** @@ -33,14 +34,17 @@ public interface ValidationManager { } /** - * Sets the message validator for the given client. + * Registers the message validator for the given client. This method + * should be called before {@link LifecycleManager#startServices(String)}. */ void registerMessageValidator(ClientId c, int clientVersion, MessageValidator v); /** - * Sets the incoming message hook for the given client. The hook will be - * called once for each incoming message that passes validation. + * Registers the incoming message hook for the given client. The hook will + * be called once for each incoming message that passes validation. This + * method should be called before + * {@link LifecycleManager#startServices(String)}. */ void registerIncomingMessageHook(ClientId c, int clientVersion, IncomingMessageHook hook);