31#include <TargetConditionals.h>
37 const std::map<std::string, std::shared_ptr<CallbackWrapperBase>>&);
48 const std::string& accountId);
50 const std::map<std::string, std::string>& details);
53 bool shutdownConnections =
false);
56 const std::string& convId);
59 const std::string& accountId = {});
62 const std::string& accountId,
const std::string& conversationId);
64 const std::string& accountId,
const std::string& connectionId);
67 const std::string& credentialsFromUser,
68 const std::string& scheme);
75 const std::string& destinationPath,
76 const std::string& scheme = {},
77 const std::string& password = {});
79 const std::string& deviceId,
80 const std::string& scheme = {},
81 const std::string& password = {});
84 const std::string& password_old,
85 const std::string& password_new);
88 const std::string& password);
91 const std::string& nameserver,
92 const std::string& name);
94 const std::string& nameserver,
95 const std::string& address);
97 const std::string& name,
98 const std::string& scheme = {},
99 const std::string& password = {});
107 const std::string& to,
108 const std::map<std::string, std::string>& payloads,
112 const uint64_t& base_timestamp);
115 const std::string& displayName,
116 const std::string& avatar,
117 const std::string& fileType,
122 const std::string& conversationUri,
125 const std::string& conversationUri,
126 const std::string& messageId,
133 const unsigned& codecId);
135 const unsigned& codecId,
136 const std::map<std::string, std::string>& details);
140 const std::vector<unsigned>& list);
192 const std::string& accountId);
194 const std::vector<std::map<std::string, std::string>>& details);
208 const std::string& accountId,
const std::string& certificate);
210 const std::string& accountId,
211 const std::string& certificatePath,
212 const std::string& privateKey,
213 const std::string& privateKeyPassword,
214 const std::string& caList);
217 const std::string& accountId,
const std::string& certificate);
219 const std::string& accountId,
220 const std::string& certificatePath,
221 const std::string& privateKey,
222 const std::string& privateKeyPassword);
227 const std::vector<uint8_t>& certificate,
236 const std::string& certId,
237 const std::string& status);
239 const std::string& status);
243 const std::string& accountId);
247 const std::string& to,
248 const std::vector<uint8_t>& payload = {});
255 const std::string& uri);
257 const std::string& accountId);
286 const std::map<std::string, std::string>& data);
306 const std::string& peerURI,
343 constexpr static const char* name =
"audioDeviceEvent";
349 constexpr static const char* name =
"AudioMeter";
350 using cb_type = void(
const std::string&
id,
float level);
359 constexpr static const char* name =
"VolumeChanged";
360 using cb_type = void(
const std::string& ,
double );
364 constexpr static const char* name =
"AccountsChanged";
369 constexpr static const char* name =
"Error";
376 constexpr static const char* name =
"AddDeviceStateChanged";
380 const std::map<std::string, std::string>& );
385 constexpr static const char* name =
"DeviceAuthStateChanged";
388 const std::map<std::string, std::string>& );
393 constexpr static const char* name =
"AccountDetailsChanged";
395 const std::map<std::string, std::string>& );
399 constexpr static const char* name =
"StunStatusFailed";
404 constexpr static const char* name =
"RegistrationStateChanged";
408 const std::string& );
412 constexpr static const char* name =
"VolatileDetailsChanged";
414 const std::map<std::string, std::string>& );
418 constexpr static const char* name =
"IncomingAccountMessage";
422 const std::map<std::string, std::string>& );
426 constexpr static const char* name =
"AccountMessageStatusChanged";
435 constexpr static const char* name =
"NeedsHost";
437 const std::string& );
441 constexpr static const char* name =
"ActiveCallsChanged";
444 const std::vector<std::map<std::string, std::string>>& );
448 constexpr static const char* name =
"ProfileReceived";
451 const std::string& );
455 constexpr static const char* name =
"ComposingStatusChanged";
463 constexpr static const char* name =
"IncomingTrustRequest";
467 const std::vector<uint8_t>& payload,
472 constexpr static const char* name =
"ContactAdded";
479 constexpr static const char* name =
"ContactRemoved";
491 constexpr static const char* name =
"NameRegistrationEnded";
492 using cb_type = void(
const std::string& ,
int state,
const std::string& name);
496 constexpr static const char* name =
"KnownDevicesChanged";
498 const std::map<std::string, std::string>& devices);
502 constexpr static const char* name =
"RegisteredNameFound";
507 const std::string& );
511 constexpr static const char* name =
"UserSearchEnded";
515 const std::vector<std::map<std::string, std::string>>& );
519 constexpr static const char* name =
"CertificatePinned";
524 constexpr static const char* name =
"CertificatePathPinned";
526 const std::vector<std::string>& );
530 constexpr static const char* name =
"CertificateExpired";
535 constexpr static const char* name =
"CertificateStateChanged";
538 const std::string& );
542 constexpr static const char* name =
"MediaParametersChanged";
547 constexpr static const char* name =
"MigrationEnded";
548 using cb_type = void(
const std::string& ,
const std::string& );
552 constexpr static const char* name =
"DeviceRevocationEnded";
559 constexpr static const char* name =
"AccountProfileReceived";
561 const std::string& displayName,
562 const std::string& );
568#if defined(__ANDROID__) || (defined(TARGET_OS_IOS) && TARGET_OS_IOS)
571 constexpr static const char* name =
"GetHardwareAudioFormat";
572 using cb_type = void(std::vector<int32_t>* );
575#if defined(__ANDROID__) || (defined(TARGET_OS_IOS) && TARGET_OS_IOS)
578 constexpr static const char* name =
"GetAppDataPath";
579 using cb_type = void(
const std::string& name, std::vector<std::string>* );
583 constexpr static const char* name =
"GetDeviceName";
584 using cb_type = void(std::vector<std::string>* );
589 constexpr static const char* name =
"HardwareDecodingChanged";
594 constexpr static const char* name =
"HardwareEncodingChanged";
599 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)
bool cancelMessage(const std::string &accountId, uint64_t messageId)
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()
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 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)
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(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