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
,
32 final boolean forceRegister
33 ) throws IOException
, CaptchaRequiredException
{
35 throw new UnsupportedOperationException();
37 if (captcha
== null) {
38 signalControl
.register(number
, voiceVerification
);
40 signalControl
.registerWithCaptcha(number
, voiceVerification
, captcha
);
45 public void verifyAccount(
46 final String verificationCode
,
48 ) throws IOException
, PinLockedException
, IncorrectPinException
{
50 signalControl
.verify(number
, verificationCode
);
52 signalControl
.verifyWithPin(number
, verificationCode
, pin
);
57 public void deleteLocalAccountData() throws IOException
{
58 throw new UnsupportedOperationException();
62 public boolean isRegistered() {
63 throw new UnsupportedOperationException();