+ static void init(AbstractUi *);
+ static AbstractUi *mainUi();
+
+ static QList<NetworkId> networkIds();
+ static const Network *network(NetworkId);
+
+ static QList<IdentityId> identityIds();
+ static const Identity *identity(IdentityId);
+
+ //! Request creation of an identity with the given data.
+ /** The request will be sent to the core, and will be propagated back to all the clients
+ * with a new valid IdentityId.
+ * \param identity The identity template for the new identity. It does not need to have a valid ID.
+ */
+ static void createIdentity(const CertIdentity &identity);
+
+ //! Request update of an identity with the given data.
+ /** The request will be sent to the core, and will be propagated back to all the clients.
+ * \param id The identity to be updated.
+ * \param serializedData The identity's content (cf. SyncableObject::toVariantMap())
+ */
+ static void updateIdentity(IdentityId id, const QVariantMap &serializedData);
+
+ //! Request removal of the identity with the given ID from the core (and all the clients, of course).
+ /** \param id The ID of the identity to be removed.
+ */
+ static void removeIdentity(IdentityId id);