24#include <fmt/compile.h>
25#include <fmt/ranges.h>
133std::map<std::string, std::string>
196 const std::filesystem::path& base)
#define SERIALIZE_CONFIG(key, name)
Account specific keys/constants that must be shared in daemon and clients.
static const char *const CONFIG_RINGTONE_ENABLED
static const char *const CONFIG_ACCOUNT_USERNAME
static const char *const CONFIG_ACCOUNT_MAILBOX
static const char *const CONFIG_ACCOUNT_UICUSTOMIZATION
static const char *const CONFIG_LOCAL_MODERATORS_ENABLED
static const char *const CONFIG_VIDEO_ENABLED
static const char *const CONFIG_ACCOUNT_HOSTNAME
static const char *const CONFIG_ACCOUNT_ISRENDEZVOUS
static const char *const CONFIG_ACCOUNT_DISPLAYNAME
static const char *const CONFIG_DEFAULT_MODERATORS
static const char *const CONFIG_ACCOUNT_USERAGENT
static const char *const CONFIG_ACCOUNT_DENY_SECOND_CALL
static const char *const CONFIG_ACCOUNT_SENDCOMPOSING
static const char *const CONFIG_ACCOUNT_ENABLE
static const char *const CONFIG_ACCOUNT_SENDREADRECEIPT
static const char *const CONFIG_ALL_MODERATORS_ENABLED
static const char *const CONFIG_UPNP_ENABLED
static const char *const CONFIG_ACCOUNT_ALIAS
static const char *const CONFIG_RINGTONE_PATH
static const char *const CONFIG_ACCOUNT_TYPE
static const char *const CONFIG_ACCOUNT_AUTOANSWER
std::filesystem::path getFullPath(const std::filesystem::path &base, const std::filesystem::path &path)
If path is relative, it is appended to base.
bool parseValueOptional(const YAML::Node &node, const char *key, T &value)
constexpr const char * PROXY_PUSH_TOKEN_KEY
constexpr const char * ACCOUNT_AUTOANSWER_KEY
void parseBool(const std::map< std::string, std::string > &details, const char *key, bool &s)
constexpr const char * PROXY_PUSH_PLATFORM_KEY
static constexpr const char TRUE_STR[]
constexpr const char * DENY_SECOND_CALL_KEY
constexpr const char * TYPE_KEY
constexpr const char * PROXY_PUSH_TOPIC_KEY
void emitSignal(Args... args)
constexpr const char * HOSTNAME_KEY
std::string string_join(const std::set< std::string > &set, std::string_view separator)
constexpr const char * ACCOUNT_COMPOSING_KEY
constexpr const char * MAILBOX_KEY
constexpr const char * RINGTONE_ENABLED_KEY
constexpr const char * DEFAULT_MODERATORS_KEY
void parseInt(const std::map< std::string, std::string > &details, const char *key, T &s)
constexpr const char * ACCOUNT_ACTIVE_CALL_LIMIT_KEY
std::vector< unsigned > split_string_to_unsigned(std::string_view str, char delim)
constexpr const char * PASSWORD_KEY
constexpr const char * UI_CUSTOMIZATION
constexpr const char * VIDEO_ENABLED_KEY
constexpr const char * ACCOUNT_ISRENDEZVOUS_KEY
constexpr const char * UPNP_ENABLED_KEY
static constexpr const char FALSE_STR[]
constexpr const char * ALL_MODERATORS_ENABLED_KEY
void parseString(const std::map< std::string, std::string > &details, const char *key, std::string &s)
constexpr const char * ACTIVE_CODEC_KEY
void parsePath(const std::map< std::string, std::string > &details, const char *key, std::string &s, const std::filesystem::path &base)
constexpr const char * RINGTONE_PATH_KEY
constexpr const char * HAS_CUSTOM_USER_AGENT_KEY
constexpr const char * ACCOUNT_READRECEIPT_KEY
constexpr const char * USERNAME_KEY
constexpr const char * USER_AGENT_KEY
constexpr const char * ALIAS_KEY
static const JamiAccountConfig DEFAULT_CONFIG
constexpr const char * AUTHENTICATION_USERNAME_KEY
constexpr const char * DISPLAY_NAME_KEY
std::set< std::string > string_split_set(std::string &str, std::string_view separator)
constexpr const char * ACCOUNT_ENABLE_KEY
constexpr const char * LOCAL_MODERATORS_ENABLED_KEY
static constexpr const char ACTIVE_CALL_LIMIT[]
static constexpr const char PROXY_PUSH_TOKEN[]
std::string platform
Device push notification platform.
std::vector< unsigned > activeCodecs
std::string deviceKey
Device push notification token.
bool ringtoneEnabled
Play ringtone when receiving a call.
bool localModeratorsEnabled
bool enabled
True if the account is enabled.
std::string alias
A user-defined name for this account.
std::string hostname
SIP hostname (SIP account) or DHT bootstrap nodes (Jami account)
bool allModeratorsEnabled
bool autoAnswerEnabled
If true, automatically answer calls to this account.
std::set< std::string > defaultModerators
bool denySecondCallEnabled
If true, automatically deny new calls when already in one call to this account.
virtual void fromMap(const std::map< std::string, std::string > &)
const std::string type
Account type.
virtual std::map< std::string, std::string > toMap() const
int activeCallLimit
The number of concurrent calls for the account -1: Unlimited 0: Do not disturb 1: Single call +: Mult...
bool upnpEnabled
UPnP IGD controller and the mutex to access it.
std::string uiCustomization
information about the customization of ui
std::string mailbox
Account mail box.
bool sendReadReceipt
If true, send displayed status (and emit to the client)
std::string notificationTopic
Push notification topic.
void serializeDiff(YAML::Emitter &out, const AccountConfig &def) const
bool isRendezVous
If true mix calls into a conference.
std::string displayName
Display name when calling.
std::string ringtonePath
Ringtone file used for this account.
bool videoEnabled
Allows user to temporarily disable video calling.
std::string customUserAgent
User-agent used for registration.
virtual void unserialize(const YAML::Node &node)
bool sendComposing
If true, send composing status (and emit to the client)