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
, final boolean forceRegister
31 ) throws IOException
, CaptchaRequiredException
{
33 throw new UnsupportedOperationException();
35 if (captcha
== null) {
36 signalControl
.register(number
, voiceVerification
);
38 signalControl
.registerWithCaptcha(number
, voiceVerification
, captcha
);
43 public void verifyAccount(
44 final String verificationCode
, final String pin
45 ) throws IOException
, PinLockedException
, IncorrectPinException
{
47 signalControl
.verify(number
, verificationCode
);
49 signalControl
.verifyWithPin(number
, verificationCode
, pin
);
54 public void deleteLocalAccountData() throws IOException
{
55 throw new UnsupportedOperationException();
59 public boolean isRegistered() {
60 throw new UnsupportedOperationException();