1 package org
.asamk
.signal
.dbus
;
3 import org
.asamk
.SignalControl
;
4 import org
.asamk
.signal
.manager
.RegistrationManager
;
5 import org
.asamk
.signal
.manager
.api
.CaptchaRequiredException
;
6 import org
.asamk
.signal
.manager
.api
.IncorrectPinException
;
7 import org
.asamk
.signal
.manager
.api
.PinLockedException
;
8 import org
.freedesktop
.dbus
.connections
.impl
.DBusConnection
;
10 import java
.io
.IOException
;
13 * This class implements the RegistrationManager interface using the DBus Signal interface, where possible.
14 * It's used for the signal-cli dbus client mode (--dbus, --dbus-system)
16 public class DbusRegistrationManagerImpl
implements RegistrationManager
{
18 private final String number
;
19 private final SignalControl signalControl
;
20 private final DBusConnection connection
;
22 public DbusRegistrationManagerImpl(String number
, final SignalControl signalControl
, DBusConnection connection
) {
24 this.signalControl
= signalControl
;
25 this.connection
= connection
;
30 final boolean voiceVerification
, final String captcha
31 ) throws IOException
, CaptchaRequiredException
{
32 if (captcha
== null) {
33 signalControl
.register(number
, voiceVerification
);
35 signalControl
.registerWithCaptcha(number
, voiceVerification
, captcha
);
40 public void verifyAccount(
41 final String verificationCode
, final String pin
42 ) throws IOException
, PinLockedException
, IncorrectPinException
{
44 signalControl
.verify(number
, verificationCode
);
46 signalControl
.verifyWithPin(number
, verificationCode
, pin
);
51 public void deleteLocalAccountData() throws IOException
{
52 throw new UnsupportedOperationException();
56 public boolean isRegistered() {
57 throw new UnsupportedOperationException();