30#include <TargetConditionals.h>
36 const std::map<std::string, std::shared_ptr<CallbackWrapperBase>>&);
52 const std::string& accountId = {});
55 const std::string& conversationId);
57 const std::string& accountId,
const std::string& conversationId);
59 const std::string& accountId,
const std::string& conversationId);
61 const std::string& connectionId);
64 const std::string& credentialsFromUser,
65 const std::string& scheme);
72 const std::string& destinationPath,
73 const std::string& scheme = {},
74 const std::string& password = {});
76 const std::string& deviceId,
77 const std::string& scheme = {},
78 const std::string& password = {});
81 const std::string& password_old,
82 const std::string& password_new);
89 const std::string& name,
90 const std::string& scheme = {},
91 const std::string& password = {});
99 const std::string& to,
100 const std::map<std::string, std::string>& payloads,
105 const std::string& displayName,
106 const std::string& avatar,
107 const std::string& fileType,
113 const std::string& conversationUri,
114 const std::string& messageId,
122 const unsigned& codecId,
123 const std::map<std::string, std::string>& details);
182 const std::vector<std::map<std::string, std::string>>& details);
196 const std::string& certificate);
198 const std::string& certificatePath,
199 const std::string& privateKey,
200 const std::string& privateKeyPassword,
201 const std::string& caList);
204 const std::string& certificate);
206 const std::string& certificatePath,
207 const std::string& privateKey,
208 const std::string& privateKeyPassword);
213 const std::vector<uint8_t>& certificate,
222 const std::string& certId,
223 const std::string& status);
231 const std::string& to,
232 const std::vector<uint8_t>& payload = {});
239 const std::string& uri);
323 constexpr static const char* name =
"audioDeviceEvent";
329 constexpr static const char* name =
"AudioMeter";
330 using cb_type = void(
const std::string&
id,
float level);
339 constexpr static const char* name =
"VolumeChanged";
340 using cb_type = void(
const std::string& ,
double );
344 constexpr static const char* name =
"AccountsChanged";
349 constexpr static const char* name =
"Error";
356 constexpr static const char* name =
"AddDeviceStateChanged";
360 const std::map<std::string, std::string>& );
365 constexpr static const char* name =
"DeviceAuthStateChanged";
368 const std::map<std::string, std::string>& );
373 constexpr static const char* name =
"AccountDetailsChanged";
375 const std::map<std::string, std::string>& );
379 constexpr static const char* name =
"StunStatusFailed";
384 constexpr static const char* name =
"RegistrationStateChanged";
388 const std::string& );
392 constexpr static const char* name =
"VolatileDetailsChanged";
394 const std::map<std::string, std::string>& );
398 constexpr static const char* name =
"IncomingAccountMessage";
402 const std::map<std::string, std::string>& );
406 constexpr static const char* name =
"AccountMessageStatusChanged";
415 constexpr static const char* name =
"NeedsHost";
416 using cb_type = void(
const std::string& ,
const std::string& );
420 constexpr static const char* name =
"ActiveCallsChanged";
423 const std::vector<std::map<std::string, std::string>>& );
427 constexpr static const char* name =
"ProfileReceived";
430 const std::string& );
434 constexpr static const char* name =
"ComposingStatusChanged";
442 constexpr static const char* name =
"IncomingTrustRequest";
446 const std::vector<uint8_t>& payload,
451 constexpr static const char* name =
"ContactAdded";
452 using cb_type = void(
const std::string& ,
const std::string& ,
bool confirmed);
456 constexpr static const char* name =
"ContactRemoved";
457 using cb_type = void(
const std::string& ,
const std::string& ,
bool banned);
466 constexpr static const char* name =
"NameRegistrationEnded";
467 using cb_type = void(
const std::string& ,
int state,
const std::string& name);
471 constexpr static const char* name =
"KnownDevicesChanged";
472 using cb_type = void(
const std::string& ,
const std::map<std::string, std::string>& devices);
476 constexpr static const char* name =
"RegisteredNameFound";
481 const std::string& );
485 constexpr static const char* name =
"UserSearchEnded";
489 const std::vector<std::map<std::string, std::string>>& );
493 constexpr static const char* name =
"CertificatePinned";
498 constexpr static const char* name =
"CertificatePathPinned";
499 using cb_type = void(
const std::string& ,
const std::vector<std::string>& );
503 constexpr static const char* name =
"CertificateExpired";
508 constexpr static const char* name =
"CertificateStateChanged";
511 const std::string& );
515 constexpr static const char* name =
"MediaParametersChanged";
520 constexpr static const char* name =
"MigrationEnded";
521 using cb_type = void(
const std::string& ,
const std::string& );
525 constexpr static const char* name =
"DeviceRevocationEnded";
526 using cb_type = void(
const std::string& ,
const std::string& ,
int );
530 constexpr static const char* name =
"AccountProfileReceived";
532 const std::string& displayName,
533 const std::string& );
539#if defined(__ANDROID__) || (defined(TARGET_OS_IOS) && TARGET_OS_IOS)
542 constexpr static const char* name =
"GetHardwareAudioFormat";
543 using cb_type = void(std::vector<int32_t>* );
546#if defined(__ANDROID__) || (defined(TARGET_OS_IOS) && TARGET_OS_IOS)
549 constexpr static const char* name =
"GetAppDataPath";
550 using cb_type = void(
const std::string& name, std::vector<std::string>* );
554 constexpr static const char* name =
"GetDeviceName";
555 using cb_type = void(std::vector<std::string>* );
560 constexpr static const char* name =
"HardwareDecodingChanged";
565 constexpr static const char* name =
"HardwareEncodingChanged";
570 constexpr static const char* name =
"MessageSend";
std::vector< std::string > getDefaultModerators(const std::string &accountId)
Get default moderators for an account.
bool unpinCertificate(const std::string &accountId, const std::string &certId)
void setRingingTimeout(int32_t timeout)
void muteRingtone(bool mute)
std::vector< std::string > pinCertificate(const std::string &accountId, const std::vector< uint8_t > &certificate, bool local)
std::vector< Message > getLastMessages(const std::string &accountId, const uint64_t &base_timestamp)
void setAudioPlugin(const std::string &audioPlugin)
void setActiveCodecList(const std::string &accountId, const std::vector< unsigned > &list)
void setAccountDetails(const std::string &accountId, const std::map< std::string, std::string > &details)
void setHistoryLimit(int32_t days)
void setAccountsOrder(const std::string &order)
void setVolume(const std::string &device, double value)
std::vector< std::map< std::string, std::string > > getChannelList(const std::string &accountId, const std::string &connectionId)
std::vector< unsigned > getCodecList()
Send the list of all codecs loaded to the client through DBus.
bool isLocalModeratorsEnabled(const std::string &accountId)
Get local moderators state.
void setRecordPath(const std::string &recPath)
bool setCertificateStatus(const std::string &accountId, const std::string &certId, const std::string &ststr)
bool setAudioManager(const std::string &api)
uint64_t sendAccountTextMessage(const std::string &accountId, const std::string &to, const std::map< std::string, std::string > &payloads, int32_t flags)
void setAudioRingtoneDevice(int32_t index)
std::string getAddrFromInterfaceName(const std::string &interface)
bool lookupName(const std::string &account, const std::string &nameserver, const std::string &name)
int32_t getRecordQuality()
std::vector< std::string > getAudioPluginList()
void loadAccountAndConversation(const std::string &accountId, bool loadAll, const std::string &convId)
bool searchUser(const std::string &account, const std::string &query)
int32_t getAudioOutputDeviceIndex(const std::string &name)
void setPushNotificationToken(const std::string &token)
Set the device push notification token (for all accounts).
void setAudioMeterState(const std::string &id, bool state)
Enables/disables an audio meter for the specified @id.
bool confirmAddDevice(const std::string &accountId, uint32_t op_id)
void setIsAlwaysRecording(bool rec)
int32_t getRingingTimeout()
std::vector< std::map< std::string, std::string > > getConversationTrackedMembers(const std::string &accountId, const std::string &conversationId)
bool setCodecDetails(const std::string &accountId, const unsigned &codecId, const std::map< std::string, std::string > &details)
void mutePlayback(bool mute)
void sendTrustRequest(const std::string &accountId, const std::string &to, const std::vector< uint8_t > &payload)
void pushNotificationReceived(const std::string &from, const std::map< std::string, std::string > &data)
To be called by clients with relevant data when a push notification is received.
void registerConfHandlers(const std::map< std::string, std::shared_ptr< CallbackWrapperBase > > &handlers)
std::vector< std::string > getPinnedCertificates(const std::string &accountId)
std::map< std::string, std::string > getCertificateDetailsPath(const std::string &accountId, const std::string &certificate, const std::string &privateKey, const std::string &privateKeyPassword)
std::vector< std::string > getAccountList()
bool isAllModerators(const std::string &accountId)
Get all moderators state.
std::vector< unsigned > getActiveCodecList(const std::string &accountId)
std::vector< std::string > getSupportedAudioManagers()
std::map< std::string, std::string > getContactDetails(const std::string &accountId, const std::string &uri)
int32_t getAudioInputDeviceIndex(const std::string &name)
void updateProfile(const std::string &accountId, const std::string &displayName, const std::string &avatar, const std::string &fileType, int32_t flag)
void setAccountActive(const std::string &accountId, bool enable, bool shutdownConnections)
std::map< std::string, std::string > getCodecDetails(const std::string &accountId, const unsigned &codecId)
std::string addAccount(const std::map< std::string, std::string > &details, const std::string &accountId)
int32_t addDevice(const std::string &accountId, const std::string &uri)
bool acceptTrustRequest(const std::string &accountId, const std::string &from)
void setIsComposing(const std::string &accountId, const std::string &conversationUri, bool isWriting)
void setRecordPreview(bool rec)
void muteCapture(bool mute)
bool revokeDevice(const std::string &accountId, const std::string &deviceId, const std::string &scheme, const std::string &password)
bool changeAccountPassword(const std::string &accountId, const std::string &password_old, const std::string &password_new)
void setResourceDirPath(const std::string &resourceDir)
Set the resource directory path.
void setAudioInputDevice(int32_t index)
std::string getCurrentAudioOutputPlugin()
std::vector< std::string > getAllIpInterface()
bool pinRemoteCertificate(const std::string &accountId, const std::string &certId)
void setPushNotificationTopic(const std::string &topic)
Set the topic for ios bundle_id for ios 14.5 and higher bundle_id.voip for ios prior 14....
double getVolume(const std::string &device)
void setAudioOutputDevice(int32_t index)
std::vector< std::string > getCertificatesByStatus(const std::string &accountId, const std::string &ststr)
std::map< std::string, std::string > getCertificateDetails(const std::string &accountId, const std::string &certificate)
std::vector< std::map< std::string, std::string > > getCredentials(const std::string &accountId)
std::string getRecordPath()
bool isAudioMeterActive(const std::string &id)
Returns whether or not the audio meter is enabled for ring buffer @id.
bool getIsAlwaysRecording()
std::vector< std::string > getAllIpInterfaceByName()
void sendRegister(const std::string &accountId, bool enable)
std::string getNoiseSuppressState()
bool exportToFile(const std::string &accountId, const std::string &destinationPath, const std::string &scheme, const std::string &password)
int32_t getHistoryLimit()
void setNoiseSuppressState(const std::string &state)
bool lookupAddress(const std::string &account, const std::string &nameserver, const std::string &address)
std::vector< std::map< std::string, std::string > > getConnectionList(const std::string &accountId, const std::string &conversationId)
bool registerName(const std::string &account, const std::string &name, const std::string &scheme, const std::string &password)
std::vector< std::string > getAudioInputDeviceList()
bool isPasswordValid(const std::string &accountId, const std::string &password)
std::vector< uint8_t > getPasswordKey(const std::string &accountID, const std::string &password)
std::vector< std::string > getCurrentAudioDevicesIndex()
std::vector< std::map< std::string, std::string > > getTrustRequests(const std::string &accountId)
void setVoiceActivityDetectionState(bool state)
void setAgcState(bool enabled)
void enableLocalModerators(const std::string &accountId, bool isModEnabled)
Enable/disable local moderators for conferences.
void addContact(const std::string &accountId, const std::string &uri)
std::map< std::string, std::string > getKnownRingDevices(const std::string &accountId)
std::string getEchoCancellationState()
std::vector< std::map< std::string, std::string > > getConversationConnectivity(const std::string &accountId, const std::string &conversationId)
bool getVoiceActivityDetectionState()
void removeAccount(const std::string &accountId)
void setRecordQuality(int32_t quality)
std::map< std::string, std::string > getAccountDetails(const std::string &accountId)
bool provideAccountAuthentication(const std::string &accountId, const std::string &credentialsFromUser, const std::string &scheme)
std::vector< std::string > getSupportedTlsMethod()
bool discardTrustRequest(const std::string &accountId, const std::string &from)
void setAllModerators(const std::string &accountId, bool allModerators)
Enable/disable all moderators for conferences.
int getMessageStatus(uint64_t messageId)
std::vector< std::string > getAudioOutputDeviceList()
std::map< std::string, std::string > getVolatileAccountDetails(const std::string &accountId)
void setCredentials(const std::string &accountId, const std::vector< std::map< std::string, std::string > > &details)
void connectivityChanged()
bool setMessageDisplayed(const std::string &accountId, const std::string &conversationUri, const std::string &messageId, int status)
void pinCertificatePath(const std::string &accountId, const std::string &path)
std::map< std::string, std::string > getAccountTemplate(const std::string &accountType)
This function is used as a base for new accounts for clients that support it.
void removeContact(const std::string &accountId, const std::string &uri, bool ban)
std::map< std::string, std::string > validateCertificate(const std::string &accountId, const std::string &certificate)
std::map< std::string, std::string > getNearbyPeers(const std::string &accountId)
bool cancelAddDevice(const std::string &accountId, uint32_t op_id)
void registerAllAccounts()
std::vector< std::map< std::string, std::string > > getContacts(const std::string &accountId)
void setPushNotificationConfig(const std::map< std::string, std::string > &data)
void monitor(bool continuous)
unsigned unpinCertificatePath(const std::string &accountId, const std::string &path)
std::vector< std::string > getSupportedCiphers(const std::string &accountId)
void setDefaultModerator(const std::string &accountId, const std::string &peerURI, bool state)
Add/remove default moderator for conferences.
std::map< std::string, std::string > validateCertificatePath(const std::string &accountId, const std::string &certificate, const std::string &privateKey, const std::string &privateKeyPass, const std::string &caList)
std::string getAudioManager()
void setEchoCancellationState(const std::string &state)
void(const std::string &id, float level) cb_type
void(const std::string &, const std::map< std::string, std::string > &) cb_type
void(const std::string &, const std::string &, const std::string &, const std::string &, int) cb_type
void(const std::string &, const std::string &displayName, const std::string &) cb_type
void(const std::string &, const std::string &, const std::vector< std::map< std::string, std::string > > &) cb_type
void(const std::string &, uint32_t, int, const std::map< std::string, std::string > &) cb_type
void(const std::string &) cb_type
void(const std::string &, const std::vector< std::string > &) cb_type
void(const std::string &) cb_type
void(const std::string &, const std::string &, const std::string &) cb_type
void(const std::string &, const std::string &, const std::string &, int) cb_type
void(const std::string &, int, const std::map< std::string, std::string > &) cb_type
void(const std::string &, const std::string &, int) cb_type
These are special getters for Android and UWP, so the daemon can retrieve information only accessible...
void(const std::string &, const std::string &, const std::string &, const std::map< std::string, std::string > &) cb_type
void(const std::string &, const std::string &, const std::string &, const std::vector< uint8_t > &payload, time_t received) cb_type
void(const std::string &, const std::map< std::string, std::string > &devices) cb_type
void(const std::string &) cb_type
void(const std::string &, const std::string &) cb_type
void(const std::string &, int state, const std::string &name) cb_type
void(const std::string &, const std::string &) cb_type
void(const std::string &, const std::string &, const std::string &) cb_type
void(const std::string &, const std::string &, int state, const std::string &, const std::string &) cb_type
void(const std::string &, const std::string &, int, const std::string &) cb_type
void(const std::string &) cb_type
void(const std::string &, int state, const std::string &, const std::vector< std::map< std::string, std::string > > &) cb_type
void(const std::string &, const std::map< std::string, std::string > &) cb_type
void(const std::string &, double) cb_type
std::map< std::string, std::string > payloads