![]() |
libQuotient
A Qt library for building matrix clients
|
Namespaces | |
EventContent | |
EventStatus | |
FileMetadataMap | |
LoginFlows | |
Predefined login flows. | |
Classes | |
class | AccountRegistry |
struct | ThirdPartyLocation |
struct | JsonObjectConverter< ThirdPartyLocation > |
struct | FieldType |
Definition of valid values for a field. More... | |
struct | JsonObjectConverter< FieldType > |
struct | ProtocolInstance |
struct | JsonObjectConverter< ProtocolInstance > |
struct | ThirdPartyProtocol |
struct | JsonObjectConverter< ThirdPartyProtocol > |
struct | ThirdPartyUser |
struct | JsonObjectConverter< ThirdPartyUser > |
class | Avatar |
class | Connection |
class | ConnectionData |
struct | JsonObjectConverter |
struct | JsonObjectUnpacker |
struct | JsonConverter |
The switchboard for extra conversion algorithms behind from/toJson. More... | |
struct | JsonConverter< QUrl > |
struct | JsonConverter< QVariant > |
struct | JsonConverter< std::variant< QString, T > > |
struct | JsonConverter< Omittable< T > > |
struct | JsonArrayConverter |
struct | JsonConverter< std::vector< T > > |
struct | JsonConverter< std::array< T, N > > |
struct | JsonConverter< QVector< T > > |
struct | JsonConverter< QList< T > > |
struct | JsonConverter< QStringList > |
struct | JsonObjectConverter< QSet< QString > > |
struct | HashMapFromJson |
struct | JsonObjectConverter< std::unordered_map< QString, T, HashT > > |
struct | JsonObjectConverter< QHash< QString, T > > |
class | SetAccountDataJob |
Set some account data for the user. More... | |
class | GetAccountDataJob |
Get some account data for the user. More... | |
class | SetAccountDataPerRoomJob |
Set some account data for the user that is specific to a room. More... | |
class | GetAccountDataPerRoomJob |
Get some account data for the user that is specific to a room. More... | |
class | GetWhoIsJob |
Gets information about a particular user. More... | |
struct | JsonObjectConverter< GetWhoIsJob::ConnectionInfo > |
struct | JsonObjectConverter< GetWhoIsJob::SessionInfo > |
struct | JsonObjectConverter< GetWhoIsJob::DeviceInfo > |
class | GetAccount3PIDsJob |
Gets a list of a user's third-party identifiers. More... | |
struct | JsonObjectConverter< GetAccount3PIDsJob::ThirdPartyIdentifier > |
class | Post3PIDsJob |
Adds contact information to the user's account. More... | |
struct | JsonObjectConverter< Post3PIDsJob::ThreePidCredentials > |
class | Add3PIDJob |
Adds contact information to the user's account. More... | |
class | Bind3PIDJob |
Binds a 3PID to the user's account through an Identity Service. More... | |
class | Delete3pidFromAccountJob |
Deletes a third-party identifier from the user's account. More... | |
class | Unbind3pidFromAccountJob |
Removes a user's third-party identifier from an identity server. More... | |
class | RequestTokenTo3PIDEmailJob |
Begins the validation process for an email address for association with the user's account. More... | |
class | RequestTokenTo3PIDMSISDNJob |
Begins the validation process for a phone number for association with the user's account. More... | |
class | UpdateAppserviceRoomDirectoryVisibilityJob |
Updates a room's visibility in the application service's room directory. More... | |
class | BanJob |
Ban a user in the room. More... | |
class | UnbanJob |
Unban a user from the room. More... | |
class | GetCapabilitiesJob |
Gets information about the server's capabilities. More... | |
struct | JsonObjectConverter< GetCapabilitiesJob::ChangePasswordCapability > |
struct | JsonObjectConverter< GetCapabilitiesJob::RoomVersionsCapability > |
struct | JsonObjectConverter< GetCapabilitiesJob::Capabilities > |
class | UploadContentJob |
Upload some content to the content repository. More... | |
class | UploadContentToMXCJob |
Upload content to an mxc:// URI that was created earlier. More... | |
class | CreateContentJob |
Create a new mxc:// URI without uploading the content. More... | |
class | GetContentJob |
Download content from the content repository. More... | |
class | GetContentOverrideNameJob |
Download content from the content repository overriding the file name. More... | |
class | GetContentThumbnailJob |
Download a thumbnail of content from the content repository. More... | |
class | GetUrlPreviewJob |
Get information about a URL for a client. More... | |
class | GetConfigJob |
Get the configuration for the content repository. More... | |
class | CreateRoomJob |
Create a new room. More... | |
struct | JsonObjectConverter< CreateRoomJob::Invite3pid > |
struct | JsonObjectConverter< CreateRoomJob::StateEvent > |
class | UploadCrossSigningKeysJob |
Upload cross-signing keys. More... | |
class | UploadCrossSigningSignaturesJob |
Upload cross-signing signatures. More... | |
struct | AuthenticationData |
struct | JsonObjectConverter< AuthenticationData > |
struct | Device |
A client device. More... | |
struct | JsonObjectConverter< Device > |
struct | CrossSigningKey |
Cross signing key. More... | |
struct | JsonObjectConverter< CrossSigningKey > |
struct | DeviceKeys |
Device identity keys. More... | |
struct | JsonObjectConverter< DeviceKeys > |
struct | EventFilter |
struct | JsonObjectConverter< EventFilter > |
struct | KeyBackupData |
The key data. More... | |
struct | JsonObjectConverter< KeyBackupData > |
struct | OpenIdCredentials |
struct | JsonObjectConverter< OpenIdCredentials > |
struct | PublicRoomsChunk |
struct | JsonObjectConverter< PublicRoomsChunk > |
struct | PushCondition |
struct | JsonObjectConverter< PushCondition > |
struct | PushRule |
struct | JsonObjectConverter< PushRule > |
struct | PushRuleset |
struct | JsonObjectConverter< PushRuleset > |
struct | EmailValidationData |
struct | JsonObjectConverter< EmailValidationData > |
struct | MsisdnValidationData |
struct | JsonObjectConverter< MsisdnValidationData > |
struct | RequestTokenResponse |
struct | JsonObjectConverter< RequestTokenResponse > |
struct | RoomEventFilter |
struct | JsonObjectConverter< RoomEventFilter > |
struct | RoomKeyBackup |
The backed up keys for a room. More... | |
struct | JsonObjectConverter< RoomKeyBackup > |
struct | RoomFilter |
Filters to be applied to room data. More... | |
struct | JsonObjectConverter< RoomFilter > |
struct | Filter |
struct | JsonObjectConverter< Filter > |
struct | ThirdPartySigned |
struct | JsonObjectConverter< ThirdPartySigned > |
struct | UserIdentifier |
Identification information for a user. More... | |
struct | JsonObjectConverter< UserIdentifier > |
struct | DiscoveryInformation |
struct | JsonObjectConverter< DiscoveryInformation > |
struct | HomeserverInformation |
Used by clients to discover homeserver information. More... | |
struct | JsonObjectConverter< HomeserverInformation > |
struct | IdentityServerInformation |
Used by clients to discover identity server information. More... | |
struct | JsonObjectConverter< IdentityServerInformation > |
class | GetDevicesJob |
List registered devices for the current user. More... | |
class | GetDeviceJob |
Get a single device. More... | |
class | UpdateDeviceJob |
Update a device. More... | |
class | DeleteDeviceJob |
Delete a device. More... | |
class | DeleteDevicesJob |
Bulk deletion of devices. More... | |
class | SetRoomAliasJob |
Create a new mapping from room alias to room ID. More... | |
class | GetRoomIdByAliasJob |
Get the room ID corresponding to this room alias. More... | |
class | DeleteRoomAliasJob |
Remove a mapping of room alias to room ID. More... | |
class | GetLocalAliasesJob |
Get a list of local aliases on a given room. More... | |
class | GetEventContextJob |
Get events and state around the specified event. More... | |
class | DefineFilterJob |
Upload a new filter. More... | |
class | GetFilterJob |
Download a filter. More... | |
class | InviteUserJob |
Invite a user to participate in a particular room. More... | |
class | JoinRoomByIdJob |
Start the requesting user participating in a particular room. More... | |
class | JoinRoomJob |
Start the requesting user participating in a particular room. More... | |
class | PostRoomKeysVersionJob |
Create a new backup. More... | |
class | GetRoomKeysVersionCurrentJob |
Get information about the latest backup version. More... | |
class | GetRoomKeysVersionJob |
Get information about an existing backup. More... | |
class | PutRoomKeysVersionJob |
Update information about an existing backup. More... | |
class | DeleteRoomKeysVersionJob |
Delete an existing key backup. More... | |
class | PutRoomKeyBySessionIdJob |
Store a key in the backup. More... | |
class | GetRoomKeyBySessionIdJob |
Retrieve a key from the backup. More... | |
class | DeleteRoomKeyBySessionIdJob |
Delete a key from the backup. More... | |
class | PutRoomKeysByRoomIdJob |
Store several keys in the backup for a given room. More... | |
class | GetRoomKeysByRoomIdJob |
Retrieve the keys from the backup for a given room. More... | |
class | DeleteRoomKeysByRoomIdJob |
Delete the keys from the backup for a given room. More... | |
class | PutRoomKeysJob |
Store several keys in the backup. More... | |
class | GetRoomKeysJob |
Retrieve the keys from the backup. More... | |
class | DeleteRoomKeysJob |
Delete the keys from the backup. More... | |
class | UploadKeysJob |
Upload end-to-end encryption keys. More... | |
class | QueryKeysJob |
Download device identity keys. More... | |
struct | JsonObjectConverter< QueryKeysJob::UnsignedDeviceInfo > |
struct | JsonObjectConverter< QueryKeysJob::DeviceInformation > |
class | ClaimKeysJob |
Claim one-time encryption keys. More... | |
class | GetKeysChangesJob |
Query users with recent device key updates. More... | |
class | KickJob |
Kick a user from the room. More... | |
class | KnockRoomJob |
Knock on a room, requesting permission to join. More... | |
class | LeaveRoomJob |
Stop the requesting user participating in a particular room. More... | |
class | ForgetRoomJob |
Stop the requesting user remembering about a particular room. More... | |
class | GetJoinedRoomsJob |
Lists the user's current rooms. More... | |
class | GetRoomVisibilityOnDirectoryJob |
Gets the visibility of a room in the directory. More... | |
class | SetRoomVisibilityOnDirectoryJob |
Sets the visibility of a room in the room directory. More... | |
class | GetPublicRoomsJob |
Lists the public rooms on the server. More... | |
class | QueryPublicRoomsJob |
Lists the public rooms on the server with optional filter. More... | |
struct | JsonObjectConverter< QueryPublicRoomsJob::Filter > |
class | GetLoginFlowsJob |
Get the supported login types to authenticate users. More... | |
struct | JsonObjectConverter< GetLoginFlowsJob::LoginFlow > |
class | LoginJob |
Authenticates the user. More... | |
class | GenerateLoginTokenJob |
Optional endpoint to generate a single-use, time-limited, m.login.token token. More... | |
class | LogoutJob |
Invalidates a user access token. More... | |
class | LogoutAllJob |
Invalidates all access tokens for a user. More... | |
class | GetRoomEventsJob |
Get a list of events for this room. More... | |
class | GetNotificationsJob |
Gets a list of events that the user has been notified about. More... | |
struct | JsonObjectConverter< GetNotificationsJob::Notification > |
class | RequestOpenIdTokenJob |
Get an OpenID token object to verify the requester's identity. More... | |
class | PeekEventsJob |
Listen on the event stream of a particular room. More... | |
class | SetPresenceJob |
Update this user's presence state. More... | |
class | GetPresenceJob |
Get this user's presence state. More... | |
class | SetDisplayNameJob |
Set the user's display name. More... | |
class | GetDisplayNameJob |
Get the user's display name. More... | |
class | SetAvatarUrlJob |
Set the user's avatar URL. More... | |
class | GetAvatarUrlJob |
Get the user's avatar URL. More... | |
class | GetUserProfileJob |
Get this user's profile information. More... | |
class | GetPushersJob |
Gets the current pushers for the authenticated user. More... | |
struct | JsonObjectConverter< GetPushersJob::PusherData > |
struct | JsonObjectConverter< GetPushersJob::Pusher > |
class | PostPusherJob |
Modify a pusher for this user on the homeserver. More... | |
struct | JsonObjectConverter< PostPusherJob::PusherData > |
class | GetPushRulesJob |
Retrieve all push rulesets. More... | |
class | GetPushRuleJob |
Retrieve a push rule. More... | |
class | DeletePushRuleJob |
Delete a push rule. More... | |
class | SetPushRuleJob |
Add or change a push rule. More... | |
class | IsPushRuleEnabledJob |
Get whether a push rule is enabled. More... | |
class | SetPushRuleEnabledJob |
Enable or disable a push rule. More... | |
class | GetPushRuleActionsJob |
The actions for a push rule. More... | |
class | SetPushRuleActionsJob |
Set the actions for a push rule. More... | |
class | SetReadMarkerJob |
Set the position of the read marker for a room. More... | |
class | PostReceiptJob |
Send a receipt for the given event ID. More... | |
class | RedactEventJob |
Strips all non-integrity-critical information out of an event. More... | |
class | RefreshJob |
Refresh an access token. More... | |
class | RegisterJob |
Register for an account on this homeserver. More... | |
class | RequestTokenToRegisterEmailJob |
Begins the validation process for an email to be used during registration. More... | |
class | RequestTokenToRegisterMSISDNJob |
Requests a validation token be sent to the given phone number for the purpose of registering an account. More... | |
class | ChangePasswordJob |
Changes a user's password. More... | |
class | RequestTokenToResetPasswordEmailJob |
Requests a validation token be sent to the given email address for the purpose of resetting a user's password. More... | |
class | RequestTokenToResetPasswordMSISDNJob |
Requests a validation token be sent to the given phone number for the purpose of resetting a user's password. More... | |
class | DeactivateAccountJob |
Deactivate a user's account. More... | |
class | CheckUsernameAvailabilityJob |
Checks to see if a username is available on the server. More... | |
class | RegistrationTokenValidityJob |
Query if a given registration token is still valid. More... | |
class | GetRelatingEventsJob |
Get the child events for a given parent event. More... | |
class | GetRelatingEventsWithRelTypeJob |
Get the child events for a given parent event, with a given relType . More... | |
class | GetRelatingEventsWithRelTypeAndEventTypeJob |
Get the child events for a given parent event, with a given relType and eventType . More... | |
class | ReportContentJob |
Reports an event as inappropriate. More... | |
class | GetEventByTimestampJob |
Get the closest event ID to the given timestamp. More... | |
class | SendMessageJob |
Send a message event to the given room. More... | |
class | SetRoomStateWithKeyJob |
Send a state event to the given room. More... | |
class | UpgradeRoomJob |
Upgrades a room to a new room version. More... | |
class | GetOneRoomEventJob |
Get a single event by event ID. More... | |
class | GetRoomStateWithKeyJob |
Get the state identified by the type and key. More... | |
class | GetRoomStateJob |
Get all state events in the current state of a room. More... | |
class | GetMembersByRoomJob |
Get the m.room.member events for the room. More... | |
class | GetJoinedMembersByRoomJob |
Gets the list of currently joined users and their profile data. More... | |
struct | JsonObjectConverter< GetJoinedMembersByRoomJob::RoomMember > |
class | SearchJob |
Perform a server-side search. More... | |
struct | JsonObjectConverter< SearchJob::IncludeEventContext > |
struct | JsonObjectConverter< SearchJob::Group > |
struct | JsonObjectConverter< SearchJob::Groupings > |
struct | JsonObjectConverter< SearchJob::RoomEventsCriteria > |
struct | JsonObjectConverter< SearchJob::Categories > |
struct | JsonObjectConverter< SearchJob::UserProfile > |
struct | JsonObjectConverter< SearchJob::EventContext > |
struct | JsonObjectConverter< SearchJob::Result > |
struct | JsonObjectConverter< SearchJob::GroupValue > |
struct | JsonObjectConverter< SearchJob::ResultRoomEvents > |
struct | JsonObjectConverter< SearchJob::ResultCategories > |
class | GetSpaceHierarchyJob |
Retrieve a portion of a space tree. More... | |
struct | JsonObjectConverter< GetSpaceHierarchyJob::ChildRoomsChunk > |
class | RedirectToSSOJob |
Redirect the user's browser to the SSO interface. More... | |
class | RedirectToIdPJob |
Redirect the user's browser to the SSO interface for an IdP. More... | |
class | GetRoomTagsJob |
List the tags for a room. More... | |
struct | JsonObjectConverter< GetRoomTagsJob::Tag > |
class | SetRoomTagJob |
Add a tag to a room. More... | |
class | DeleteRoomTagJob |
Remove a tag from the room. More... | |
class | GetProtocolsJob |
Retrieve metadata about all protocols that a homeserver supports. More... | |
class | GetProtocolMetadataJob |
Retrieve metadata about a specific protocol that the homeserver supports. More... | |
class | QueryLocationByProtocolJob |
Retrieve Matrix-side portals rooms leading to a third-party location. More... | |
class | QueryUserByProtocolJob |
Retrieve the Matrix User ID of a corresponding third-party user. More... | |
class | QueryLocationByAliasJob |
Reverse-lookup third-party locations given a Matrix room alias. More... | |
class | QueryUserByIDJob |
Reverse-lookup third-party users given a Matrix User ID. More... | |
class | InviteBy3PIDJob |
Invite a user to participate in a particular room. More... | |
class | GetThreadRootsJob |
Fetches a list of the threads in a room. More... | |
class | SendToDeviceJob |
Send an event to a given set of devices. More... | |
class | SetTypingJob |
Informs the server that the user has started or stopped typing. More... | |
class | SearchUserDirectoryJob |
Searches the user directory. More... | |
struct | JsonObjectConverter< SearchUserDirectoryJob::User > |
class | GetVersionsJob |
Gets the versions of the specification supported by the server. More... | |
class | GetTurnServerJob |
Obtain TURN server credentials. More... | |
class | GetWellknownJob |
Gets Matrix server discovery information about the domain. More... | |
class | GetTokenOwnerJob |
Gets information about the owner of an access token. More... | |
class | Database |
struct | IdentityKeys |
struct | UnsignedOneTimeKeys |
Struct representing the one-time keys. More... | |
class | SignedOneTimeKey |
class | QOlmAccount |
class | QOlmInboundGroupSession |
class | QOlmMessage |
A wrapper around an olm encrypted message. More... | |
class | QOlmOutboundGroupSession |
class | QOlmSession |
Either an outbound or inbound session for secure communication. More... | |
class | QOlmUtility |
class | EventItemBase |
class | TimelineItem |
class | PendingEventItem |
struct | TagRecord |
struct | JsonObjectConverter< TagRecord > |
class | CallEvent |
class | EventTemplate< EventT, CallEvent > |
class | EventTemplate< EventT, CallEvent, ContentT > |
class | CallInviteEvent |
class | CallHangupEvent |
class | DirectChatEvent |
class | EncryptedEvent |
class | DummyEvent |
class | EncryptionEventContent |
class | EncryptionEvent |
struct | EventTypeRegistry |
class | AbstractEventMetaType |
The base class for event metatypes. More... | |
class | EventMetaType |
A family of event meta-types to load and match events. More... | |
struct | JsonConverter< event_ptr_tt< EventT > > |
class | Event |
class | EventTemplate |
A template base class to derive your event type from. More... | |
struct | EventRelation |
struct | JsonObjectConverter< EventRelation > |
struct | JWK |
struct | EncryptedFileMetadata |
struct | JsonObjectConverter< EncryptedFileMetadata > |
struct | JsonObjectConverter< JWK > |
class | KeyVerificationEvent |
class | KeyVerificationRequestEvent |
class | KeyVerificationReadyEvent |
class | KeyVerificationStartEvent |
Begins a key verification process. More... | |
class | KeyVerificationAcceptEvent |
class | KeyVerificationCancelEvent |
class | KeyVerificationKeyEvent |
class | KeyVerificationMacEvent |
Sends the MAC of a device's key to the partner device. More... | |
class | KeyVerificationDoneEvent |
class | ReactionEvent |
struct | UserTimestamp |
struct | ReceiptsForEvent |
class | ReceiptEvent |
class | RedactionEvent |
class | RoomAvatarEvent |
class | RoomCanonicalAliasEvent |
class | RoomCreateEvent |
class | RoomEvent |
class | RoomKeyEvent |
class | MemberEventContent |
class | RoomMemberEvent |
class | RoomMessageEvent |
struct | PowerLevelsEventContent |
class | RoomPowerLevelsEvent |
class | RoomTombstoneEvent |
class | RoomAliasesEvent |
struct | JsonConverter< EventContent::SingleKeyValue< ValueT, KeyStr > > |
class | StateEvent |
class | EventTemplate< EventT, StateEvent, ContentT > |
class | KeyedStateEventBase |
class | KeylessStateEventBase |
class | StickerEvent |
struct | EventStats |
Counters of unread events and highlights with a precision flag. More... | |
class | Expected |
A minimal subset of std::expected from C++23. More... | |
struct | function_traits |
Determine traits of an arbitrary function/lambda/functor. More... | |
struct | function_traits< ReturnT(ArgTs...)> |
struct | RequestEmailValidation |
struct | JsonObjectConverter< RequestEmailValidation > |
struct | RequestMsisdnValidation |
struct | JsonObjectConverter< RequestMsisdnValidation > |
class | BaseJob |
class | DownloadFileJob |
class | MediaThumbnailJob |
class | RequestData |
class | SyncJob |
struct | EmojiEntry |
class | KeyVerificationSession |
class | MxcReply |
class | NetworkAccessManager |
class | NetworkSettings |
class | Omittable |
class | ConnectionsGuard |
A guard pointer that disconnects an interested object upon destruction. More... | |
class | FileTransferInfo |
class | ReadReceipt |
Data structure for a room member's read receipt. More... | |
struct | Notification |
class | Room |
class | MemberSorter |
class | RoomStateView |
class | Settings |
class | SettingsGroup |
class | AccountSettings |
class | SsoSession |
struct | RoomSummary |
Room summary, as defined in MSC688. More... | |
struct | JsonObjectConverter< RoomSummary > |
struct | DevicesList |
struct | JsonObjectConverter< DevicesList > |
class | SyncRoomData |
class | SyncData |
class | Uri |
A wrapper around a Matrix URI or identifier. More... | |
class | UriResolverBase |
Abstract class to resolve the resource and act on it. More... | |
class | UriDispatcher |
Resolve the resource and invoke an action on it, via Qt signals. More... | |
class | User |
struct | HashQ |
An equivalent of std::hash for QTypes to enable std::unordered_map<QType, ...> More... | |
class | Range |
class | asKeyValueRange |
An adaptor for Qt (hash-)maps to make them iterable in STL style. More... | |
struct | CStructDeleter |
struct | Overloads |
Multiplex several functors in one. More... | |
Typedefs | |
using | LoginFlow = GetLoginFlowsJob::LoginFlow |
using | room_factory_t = std::function< Room *(Connection *, const QString &, JoinState)> |
using | user_factory_t = std::function< User *(Connection *, const QString &)> |
using | DirectChatsMap = QMultiHash< const User *, QString > |
using | DirectChatUsersMap = QMultiHash< QString, User * > |
using | IgnoredUsersList = IgnoredUsersEvent::value_type |
using | OneTimeKeys = QHash< QString, std::variant< QString, SignedOneTimeKey > > |
using | QOlmInboundGroupSessionPtr = std::unique_ptr< QOlmInboundGroupSession > |
using | TagsMap = QHash< QString, TagRecord > |
using | CallEventBase = CallEvent |
template<typename EventT > | |
using | event_ptr_tt = std::unique_ptr< EventT > |
using | event_type_t = QLatin1String |
using | EventPtr = event_ptr_tt< Event > |
template<EventClass EventT> | |
using | EventsArray = std::vector< event_ptr_tt< EventT > > |
using | Events = EventsArray< Event > |
using | FileSourceInfo = std::variant< QUrl, EncryptedFileMetadata > |
using | EventsWithReceipts = QVector< ReceiptsForEvent > |
using | RoomEventPtr = event_ptr_tt< RoomEvent > |
using | RoomEvents = EventsArray< RoomEvent > |
using | RoomEventsRange = Range< RoomEvents > |
using | MembershipType = Membership |
using | MessageEventType = RoomMessageEvent::MsgType |
using | RoomPinnedEvent = RoomPinnedEventsEvent |
using | StateEventBase = StateEvent |
using | StateEventPtr = event_ptr_tt< StateEvent > |
using | StateEvents = EventsArray< StateEvent > |
using | StateEventKey = std::pair< QString, QString > |
template<typename FnT , int ArgN = 0> | |
using | fn_arg_t = std::tuple_element_t< ArgN, typename function_traits< FnT >::arg_types > |
using | SyncDataList = std::vector< SyncRoomData > |
template<typename KeyT , typename ValT > | |
using | UnorderedMap = std::unordered_map< KeyT, ValT, HashQ< KeyT > > |
A wrapper around std::unordered_map compatible with types that have qHash. More... | |
template<typename ImplType , typename TypeToDelete = ImplType> | |
using | ImplPtr = std::unique_ptr< ImplType, void(*)(TypeToDelete *)> |
An owning implementation pointer. More... | |
template<typename T > | |
using | CStructPtr = std::unique_ptr< T, CStructDeleter< T > > |
An owning pointer to a C structure. More... | |
Enumerations | |
enum class | HttpVerb { Get , Put , Post , Delete } |
enum class | Membership : uint16_t { Invalid = 0x0 , Join = 0x1 , Leave = 0x2 , Invite = 0x4 , Knock = 0x8 , Ban = 0x10 , Undefined = Invalid } |
Membership states. More... | |
enum class | JoinState : std::underlying_type_t< Membership > { Invalid = std::underlying_type_t<Membership>(Membership::Invalid) , Join = std::underlying_type_t<Membership>(Membership::Join) , Leave = std::underlying_type_t<Membership>(Membership::Leave) , Invite = std::underlying_type_t<Membership>(Membership::Invite) , Knock = std::underlying_type_t<Membership>(Membership::Knock) } |
Local user join-state names. More... | |
enum | RunningPolicy { ForegroundRequest = 0x0 , BackgroundRequest = 0x1 } |
Network job running policy flags. More... | |
enum | UriResolveResult : int8_t { StillResolving = -1 , UriResolved = 0 , CouldNotResolve , IncorrectAction , InvalidUri , NoAccount } |
The result of URI resolution using UriResolver. More... | |
enum class | RoomType : uint8_t { Space = 0 , Undefined = 0xFF } |
enum class | EncryptionType : uint8_t { MegolmV1AesSha2 = 0 , Undefined = 0xFF } |
Functions | |
bool | operator== (const LoginFlow &lhs, const LoginFlow &rhs) |
bool | operator!= (const LoginFlow &lhs, const LoginFlow &rhs) |
template<typename T = Room> | |
auto | defaultRoomFactory (Connection *c, const QString &id, JoinState js) |
The default factory to create room objects. More... | |
template<typename T = User> | |
auto | defaultUserFactory (Connection *c, const QString &id) |
The default factory to create user objects. More... | |
template<typename PodT , typename JsonT > | |
PodT | fromJson (const JsonT &) |
template<typename T > | |
auto | toJson (const T &pod) |
template<typename T > | |
void | fillJson (QJsonObject &json, const T &data) |
template<typename JsonT , typename PodT > | |
void | fromJson (const JsonT &json, PodT &pod) |
template<typename T > | |
void | fillFromJson (const QJsonValue &jv, T &pod) |
template<typename EnumT , typename EnumStringValuesT > | |
EnumT | enumFromJsonString (const QString &s, const EnumStringValuesT &enumValues, EnumT defaultValue) |
Facility string-to-enum converter. More... | |
template<typename EnumT , typename EnumStringValuesT > | |
QString | enumToJsonString (EnumT v, const EnumStringValuesT &enumValues) |
Facility enum-to-string converter. More... | |
template<typename FlagT , typename FlagStringValuesT > | |
FlagT | flagFromJsonString (const QString &s, const FlagStringValuesT &flagValues, FlagT defaultValue=FlagT(0U)) |
Facility converter for flags. More... | |
template<typename FlagT , typename FlagStringValuesT > | |
QString | flagToJsonString (FlagT v, const FlagStringValuesT &flagValues) |
template<> | |
bool | fromJson (const QJsonValue &jv) |
template<> | |
QJsonArray | fromJson (const QJsonDocument &jd) |
QJsonValue | toJson (const QDateTime &val) |
QJsonValue | toJson (const QDate &val) |
template<typename... Ts> | |
QJsonValue | toJson (const std::variant< Ts... > &v) |
QJsonObject QUOTIENT_API | toJson (const QVariantHash &vh) |
template<bool Force = true, typename ContT , typename ValT > | |
void | addParam (ContT &container, const QString &key, ValT &&value) |
auto | toSnakeCase (QLatin1String s) |
bool | isSupportedAlgorithm (const QString &algorithm) |
QUOTIENT_API bool | verifyIdentitySignature (const DeviceKeys &deviceKeys, const QString &deviceId, const QString &userId) |
QUOTIENT_API bool | ed25519VerifySignature (const QString &signingKey, const QJsonObject &obj, const QString &signature) |
checks if the signature is signed by the signing_key More... | |
QDebug & | operator<< (QDebug &d, const TimelineItem &ti) |
bool | operator< (TagRecord lhs, TagRecord rhs) |
template<typename EventT > | |
EventT * | rawPtr (const event_ptr_tt< EventT > &ptr) |
template<typename TargetEventT , typename EventT > | |
TargetEventT * | weakPtrCast (const event_ptr_tt< EventT > &ptr) |
Unwrap a plain pointer and downcast it to the specified type. More... | |
template<EventClass EventT> | |
bool | is (const Event &e) |
bool | operator== (const AbstractEventMetaType &lhs, const AbstractEventMetaType &rhs) |
template<EventClass EventT, typename... ArgTs> | |
event_ptr_tt< EventT > | makeEvent (ArgTs &&... args) |
Create an event of arbitrary type from its arguments. More... | |
template<EventClass EventT> | |
constexpr const auto & | mostSpecificMetaType () |
template<EventClass EventT> | |
event_ptr_tt< EventT > | loadEvent (const QJsonObject &fullJson) |
Create an event with proper type from a JSON object. More... | |
template<EventClass EventT> | |
event_ptr_tt< EventT > | loadEvent (const QString &matrixType, const auto &... otherBasicJsonParams) |
Create an event from a type string and content JSON. More... | |
template<EventClass EventT, typename BasePtrT > | |
auto | eventCast (const BasePtrT &eptr) -> decltype(static_cast< EventT * >(std::to_address(eptr))) |
Cast the event pointer down in a type-safe way. More... | |
template<EventClass EventT, typename BaseEventT > | |
auto | eventCast (event_ptr_tt< BaseEventT > &&eptr) |
Cast the event pointer down in a type-safe way, with moving. More... | |
template<EventClass BaseT, typename TailT > | |
auto | switchOnType (const BaseT &event, TailT &&tail) |
template<typename FnT1 , typename... FnTs> | |
auto | switchOnType (const EventClass auto &event, FnT1 &&fn1, FnTs &&... fns) |
template<EventClass BaseT, typename... FnTs> | |
auto | visit (const BaseT &event, FnTs &&... fns) |
StateEventPtr | eventLoaderH (EventLoaderH &) |
QUOTIENT_API QUrl | getUrlFromSourceInfo (const FileSourceInfo &fsi) |
QUOTIENT_API void | setUrlInSourceInfo (FileSourceInfo &fsi, const QUrl &newUrl) |
template<> | |
void | fillJson (QJsonObject &, const FileSourceInfo &)=delete |
QUOTIENT_API void | fillJson (QJsonObject &jo, const std::array< QLatin1String, 2 > &jsonKeys, const FileSourceInfo &fsi) |
Export FileSourceInfo to a JSON object. More... | |
template<> | |
QUOTIENT_API EventsWithReceipts | fromJson (const QJsonObject &json) |
QUOTIENT_API QJsonObject | toJson (const EventsWithReceipts &ewrs) |
template<> | |
auto | toJson (const EventContent::AliasesEventContent &c) |
DEFINE_SIMPLE_STATE_EVENT (RoomTopicEvent, "m.room.topic", QString, topic, "topic") DEFINE_SIMPLE_STATE_EVENT(RoomPinnedEventsEvent | |
QJsonObject | basicStateEventJson (const QString &matrixTypeId, const QJsonObject &content, const QString &stateKey={}) |
QUOTIENT_API QDebug | operator<< (QDebug dbg, const EventStats &es) |
bool QUOTIENT_API | isJobPending (BaseJob *job) |
template<typename FnT > | |
auto | lift (FnT &&fn, auto &&... args) |
Lift an operation into dereferenceable types (Omittables or pointers) More... | |
template<typename T > | |
Omittable (T &&) -> Omittable< T > | |
template<typename T1 , typename T2 > | |
auto | merge (T1 &lhs, const std::optional< T2 > &rhs) -> std::enable_if_t< std::is_assignable_v< T1 &, const T2 & >, bool > |
Merge the value from an optional This is an adaptation of Omittable::merge() to the case when the value on the left hand side is not an Omittable. More... | |
auto | connectUntil (auto *sender, auto signal, auto *context, auto smartSlot, Qt::ConnectionType connType=Qt::AutoConnection) |
Create a connection that self-disconnects when its slot returns true. More... | |
template<typename ContextT , typename SlotT > | |
auto | connectSingleShot (auto *sender, auto signal, ContextT *context, SlotT slot, Qt::ConnectionType connType=Qt::AutoConnection) |
Create a connection that self-disconnects after triggering on the signal. More... | |
void | swap (ReadReceipt &lhs, ReadReceipt &rhs) |
QDebug | operator<< (QDebug dbg, const RoomSummary &rs) |
QDebug | operator<< (QDebug dhg, const DevicesList &devicesList) |
QUOTIENT_API UriResolveResult | visitResource (Connection *account, const Uri &uri, std::function< UriResolveResult(User *, QString)> userHandler, std::function< void(Room *, QString)> roomEventHandler, std::function< void(Connection *, QString, QStringList)> joinHandler, std::function< bool(const QUrl &)> nonMatrixHandler) |
Resolve the resource and invoke an action on it, via function objects. More... | |
UriResolveResult | checkResource (Connection *account, const Uri &uri) |
Check that the resource is resolvable with no action on it. More... | |
constexpr auto | operator""_ls (const char *s, std::size_t size) |
template<typename U > | |
asKeyValueRange (U &) -> asKeyValueRange< U & > | |
template<typename U > | |
asKeyValueRange (U &&) -> asKeyValueRange< U > | |
template<typename InputIt , typename ForwardIt , typename Pred > | |
std::pair< InputIt, ForwardIt > | findFirstOf (InputIt first, InputIt last, ForwardIt sFirst, ForwardIt sLast, Pred pred) |
template<typename ImplType , typename TypeToDelete = ImplType, typename... ArgTs> | |
ImplPtr< ImplType, TypeToDelete > | makeImpl (ArgTs &&... args) |
make_unique for ImplPtr More... | |
template<typename ImplType , typename TypeToDelete = ImplType> | |
ImplPtr< ImplType, TypeToDelete > | acquireImpl (ImplType *from) |
template<typename ImplType , typename TypeToDelete = ImplType> | |
constexpr ImplPtr< ImplType, TypeToDelete > | ZeroImpl () |
template<typename T > | |
auto | makeCStruct (T *(*constructor)(void *), size_t(*sizeFn)(), auto destructor) |
Create a C structure with pre-programmed deletion logic. More... | |
template<typename... FunctorTs> | |
Overloads (FunctorTs &&...) -> Overloads< FunctorTs... > | |
QUOTIENT_API void | linkifyUrls (QString &htmlEscapedText) |
QUOTIENT_API QString | sanitized (const QString &plainText) |
QUOTIENT_API QString | prettyPrint (const QString &plainText) |
QUOTIENT_API QString | cacheLocation (const QString &dirName) |
QUOTIENT_API qreal | stringToHueF (const QString &s) |
QUOTIENT_API QString | serverPart (const QString &mxId) |
QUOTIENT_API QString | versionString () |
QUOTIENT_API int | majorVersion () |
QUOTIENT_API int | minorVersion () |
QUOTIENT_API int | patchVersion () |
QUOTIENT_API bool | encryptionSupported () |
QDebug | formatJson (QDebug dbg) |
QDebug manipulator to setup the stream for JSON output. More... | |
QDebug | terse (QDebug dbg) |
Suppress full qualification of enums/QFlags when logging. More... | |
Variables | |
QUOTIENT_API AccountRegistry | Accounts |
constexpr bool | IfNotEmpty = false |
constexpr auto | AlgorithmKeyL = "algorithm"_ls |
constexpr auto | RotationPeriodMsKeyL = "rotation_period_ms"_ls |
constexpr auto | RotationPeriodMsgsKeyL = "rotation_period_msgs"_ls |
constexpr auto | AlgorithmKey = "algorithm"_ls |
constexpr auto | RotationPeriodMsKey = "rotation_period_ms"_ls |
constexpr auto | RotationPeriodMsgsKey = "rotation_period_msgs"_ls |
constexpr auto | Ed25519Key = "ed25519"_ls |
constexpr auto | Curve25519Key = "curve25519"_ls |
constexpr auto | SignedCurve25519Key = "signed_curve25519"_ls |
constexpr auto | OlmV1Curve25519AesSha2AlgoKey = "m.olm.v1.curve25519-aes-sha2"_ls |
constexpr auto | MegolmV1AesSha2AlgoKey = "m.megolm.v1.aes-sha2"_ls |
constexpr std::array | SupportedAlgorithms |
constexpr auto | FavouriteTag = "m.favourite"_ls |
constexpr auto | LowPriorityTag = "m.lowpriority"_ls |
constexpr auto | ServerNoticeTag = "m.server_notice"_ls |
constexpr auto | CiphertextKey = "ciphertext"_ls |
constexpr auto | SenderKeyKey = "sender_key"_ls |
constexpr auto | DeviceIdKey = "device_id"_ls |
constexpr auto | SessionIdKey = "session_id"_ls |
constexpr auto | TypeKey = "type"_ls |
constexpr auto | BodyKey = "body"_ls |
constexpr auto | ContentKey = "content"_ls |
constexpr auto | EventIdKey = "event_id"_ls |
constexpr auto | SenderKey = "sender"_ls |
constexpr auto | RoomIdKey = "room_id"_ls |
constexpr auto | UnsignedKey = "unsigned"_ls |
constexpr auto | RedactedCauseKey = "redacted_because"_ls |
constexpr auto | PrevContentKey = "prev_content"_ls |
constexpr auto | StateKeyKey = "state_key"_ls |
constexpr auto | TypeKeyL = TypeKey |
constexpr auto | BodyKeyL = BodyKey |
constexpr auto | ContentKeyL = ContentKey |
constexpr auto | EventIdKeyL = EventIdKey |
constexpr auto | SenderKeyL = SenderKey |
constexpr auto | RoomIdKeyL = RoomIdKey |
constexpr auto | UnsignedKeyL = UnsignedKey |
constexpr auto | RedactedCauseKeyL = RedactedCauseKey |
constexpr auto | PrevContentKeyL = PrevContentKey |
constexpr auto | StateKeyKeyL = StateKeyKey |
template<typename EventT , typename BaseEventT = Event> | |
concept | EventClass = std::is_base_of_v<BaseEventT, EventT> |
constexpr auto | RelatesToKey = "m.relates_to"_ls |
constexpr auto | RelTypeKey = "rel_type"_ls |
constexpr auto | SasV1Method = "m.sas.v1"_ls |
constexpr auto | HmacSha256Code = "hkdf-hmac-sha256"_ls |
constexpr auto | HmacSha256V2Code = "hkdf-hmac-sha256.v2"_ls |
constexpr std::array | SupportedMacs { HmacSha256Code, HmacSha256V2Code } |
m room | pinned_events |
m room | QStringList |
m room | pinnedEvents |
constexpr auto | RoomAliasesEventKey = "aliases"_ls |
template<typename EvT > | |
concept | Keyed_State_Event = EvT::needsStateKey |
template<typename EvT > | |
concept | Keyless_State_Event = !EvT::needsStateKey |
template<typename FnT > | |
constexpr auto | fn_arg_count_v |
constexpr auto | none = std::nullopt |
constexpr std::array | MembershipStrings |
constexpr std::array | JoinStateStrings |
constexpr std::array | RoomTypeStrings { "m.space"_ls } |
template<typename FnT , class EvT = std::decay_t<fn_arg_t<FnT>>> | |
concept | Keyed_State_Fn = EvT::needsStateKey |
template<typename FnT , class EvT = std::decay_t<fn_arg_t<FnT>>> | |
concept | Keyless_State_Fn = !EvT::needsStateKey |
constexpr auto | UnreadNotificationsKey = "unread_notifications"_ls |
constexpr auto | PartiallyReadCountKey = "x-quotient.since_fully_read_count"_ls |
constexpr auto | NewUnreadCountKey = "org.matrix.msc2654.unread_count"_ls |
constexpr auto | HighlightCountKey = "highlight_count"_ls |
constexpr auto | E2EE_Enabled |
Compile-time constant to determine whether the library is compiled with E2EE. More... | |
constexpr qint64 | ProfilerMinNsecs |
using Quotient::CallEventBase = typedef CallEvent |
Definition at line 24 of file callevents.h.
using Quotient::CStructPtr = typedef std::unique_ptr<T, CStructDeleter<T> > |
An owning pointer to a C structure.
This is intented to ease lifecycle management of Olm structures.
using Quotient::DirectChatsMap = typedef QMultiHash<const User*, QString> |
Definition at line 110 of file connection.h.
using Quotient::DirectChatUsersMap = typedef QMultiHash<QString, User*> |
Definition at line 111 of file connection.h.
using Quotient::event_ptr_tt = typedef std::unique_ptr<EventT> |
using Quotient::event_type_t = typedef QLatin1String |
using Quotient::EventPtr = typedef event_ptr_tt<Event> |
using Quotient::Events = typedef EventsArray<Event> |
using Quotient::EventsArray = typedef std::vector<event_ptr_tt<EventT> > |
using Quotient::EventsWithReceipts = typedef QVector<ReceiptsForEvent> |
Definition at line 20 of file receiptevent.h.
using Quotient::FileSourceInfo = typedef std::variant<QUrl, EncryptedFileMetadata> |
Definition at line 72 of file filesourceinfo.h.
using Quotient::fn_arg_t = typedef std::tuple_element_t<ArgN, typename function_traits<FnT>::arg_types> |
Definition at line 86 of file function_traits.h.
using Quotient::IgnoredUsersList = typedef IgnoredUsersEvent::value_type |
Definition at line 112 of file connection.h.
using Quotient::ImplPtr = typedef std::unique_ptr<ImplType, void (*)(TypeToDelete*)> |
An owning implementation pointer.
This is basically std::unique_ptr<> to hold your pimpl's but without having to define default constructors/operator=() out of line. Thanks to https://oliora.github.io/2015/12/29/pimpl-and-rule-of-zero.html for inspiration
using Quotient::LoginFlow = typedef GetLoginFlowsJob::LoginFlow |
Definition at line 59 of file connection.h.
using Quotient::MembershipType = typedef Membership |
Definition at line 30 of file roommemberevent.h.
using Quotient::MessageEventType = typedef RoomMessageEvent::MsgType |
Definition at line 107 of file roommessageevent.h.
using Quotient::OneTimeKeys = typedef QHash<QString, std::variant<QString, SignedOneTimeKey> > |
Definition at line 251 of file e2ee_common.h.
using Quotient::QOlmInboundGroupSessionPtr = typedef std::unique_ptr<QOlmInboundGroupSession> |
Definition at line 60 of file qolminboundsession.h.
using Quotient::room_factory_t = typedef std::function<Room*(Connection*, const QString&, JoinState)> |
Definition at line 82 of file connection.h.
using Quotient::RoomEventPtr = typedef event_ptr_tt<RoomEvent> |
Definition at line 73 of file roomevent.h.
using Quotient::RoomEvents = typedef EventsArray<RoomEvent> |
Definition at line 74 of file roomevent.h.
using Quotient::RoomEventsRange = typedef Range<RoomEvents> |
Definition at line 75 of file roomevent.h.
using Quotient::RoomPinnedEvent = typedef RoomPinnedEventsEvent |
Definition at line 30 of file simplestateevents.h.
using Quotient::StateEventBase = typedef StateEvent |
Definition at line 47 of file stateevent.h.
using Quotient::StateEventKey = typedef std::pair<QString, QString> |
A combination of event type and state key uniquely identifies a piece of state in Matrix.
Definition at line 66 of file stateevent.h.
using Quotient::StateEventPtr = typedef event_ptr_tt<StateEvent> |
Definition at line 49 of file stateevent.h.
using Quotient::StateEvents = typedef EventsArray<StateEvent> |
Definition at line 50 of file stateevent.h.
using Quotient::SyncDataList = typedef std::vector<SyncRoomData> |
Definition at line 85 of file syncdata.h.
using Quotient::TagsMap = typedef QHash<QString, TagRecord> |
Definition at line 46 of file accountdataevents.h.
using Quotient::UnorderedMap = typedef std::unordered_map<KeyT, ValT, HashQ<KeyT> > |
using Quotient::user_factory_t = typedef std::function<User*(Connection*, const QString&)> |
Definition at line 84 of file connection.h.
|
strong |
Enumerator | |
---|---|
MegolmV1AesSha2 | |
Undefined |
Definition at line 119 of file quotient_common.h.
|
strong |
|
strong |
Local user join-state names.
This represents a subset of Membership values that may arrive as the local user's state grouping for the sync response.
Enumerator | |
---|---|
Invalid | |
Join | |
Leave | |
Invite | |
Knock |
Definition at line 78 of file quotient_common.h.
|
strong |
Membership states.
These are used for member events. The names here are case-insensitively equal to state names used on the wire.
Enumerator | |
---|---|
Invalid | |
Join | |
Leave | |
Invite | |
Knock | |
Ban | |
Undefined |
Definition at line 55 of file quotient_common.h.
|
strong |
Enumerator | |
---|---|
Space | |
Undefined |
Definition at line 111 of file quotient_common.h.
Network job running policy flags.
So far only background/foreground flags are available.
Enumerator | |
---|---|
ForegroundRequest | |
BackgroundRequest |
Definition at line 96 of file quotient_common.h.
enum Quotient::UriResolveResult : int8_t |
The result of URI resolution using UriResolver.
Enumerator | |
---|---|
StillResolving | |
UriResolved | |
CouldNotResolve | |
IncorrectAction | |
InvalidUri | |
NoAccount |
Definition at line 101 of file quotient_common.h.
|
inline |
|
inline |
Add a key-value pair to QJsonObject or QUrlQuery
Adds a key-value pair(s) specified by key
and value
to container
, optionally (in case IfNotEmpty is passed for the first template parameter) taking into account the value "emptiness". With IfNotEmpty, value
is NOT added to the container if and only if:
isEmpty()
and value.isEmpty() == true
, orOmittable<>
and value.omitted() == true
.If container
is a QUrlQuery, an attempt to fit value
into it is made as follows:
value
is a QJsonObject, key
is ignored and pairs from value
are copied to container
, assuming that the value in each pair is a string;value
is a QStringList, it is "exploded" into a list of key-value pairs with key equal to key
and value taken from each list item;value
is a bool, its OpenAPI (i.e. JSON) representation is added to the query (true
or false
, respectively).Force | add the pair even if the value is empty. This is true by default; passing IfNotEmpty or false for this parameter enables emptiness checks as described above |
Definition at line 549 of file converters.h.
Quotient::asKeyValueRange | ( | U && | ) | -> asKeyValueRange< U > |
Quotient::asKeyValueRange | ( | U & | ) | -> asKeyValueRange< U & > |
|
inline |
Definition at line 53 of file stateevent.h.
QUOTIENT_API QString Quotient::cacheLocation | ( | const QString & | dirName | ) |
Return a path to cache directory after making sure that it exists
The returned path has a trailing slash, clients don't need to append it.
dirName | path to cache directory relative to the standard cache path |
|
inline |
Check that the resource is resolvable with no action on it.
Definition at line 116 of file uriresolver.h.
|
inline |
Create a connection that self-disconnects after triggering on the signal.
Definition at line 72 of file qt_connection_util.h.
|
inline |
Create a connection that self-disconnects when its slot returns true.
A slot accepted by connectUntil() is different from classic Qt slots in that its return value must be bool, not void. Because of that different signature connectUntil() doesn't accept member functions in the way QObject::connect or Quotient::connectSingleShot do; you should pass a lambda or a pre-bound member function to it.
Definition at line 62 of file qt_connection_util.h.
auto Quotient::defaultRoomFactory | ( | Connection * | c, |
const QString & | id, | ||
JoinState | js | ||
) |
The default factory to create room objects.
Just a wrapper around operator new.
Definition at line 91 of file connection.h.
auto Quotient::defaultUserFactory | ( | Connection * | c, |
const QString & | id | ||
) |
The default factory to create user objects.
Just a wrapper around operator new.
Definition at line 101 of file connection.h.
Quotient::DEFINE_SIMPLE_STATE_EVENT | ( | RoomTopicEvent | , |
"m.room.topic" | , | ||
QString | , | ||
topic | , | ||
"topic" | |||
) |
QUOTIENT_API bool Quotient::ed25519VerifySignature | ( | const QString & | signingKey, |
const QJsonObject & | obj, | ||
const QString & | signature | ||
) |
checks if the signature is signed by the signing_key
QUOTIENT_API bool Quotient::encryptionSupported | ( | ) |
EnumT Quotient::enumFromJsonString | ( | const QString & | s, |
const EnumStringValuesT & | enumValues, | ||
EnumT | defaultValue | ||
) |
Facility string-to-enum converter.
This is to simplify enum loading from JSON - just specialise Quotient::fromJson() and call this function from it, passing (aside from the JSON value for the enum - that must be a string, not an int) any iterable container of string'y values (const char*, QLatin1String, etc.) matching respective enum values, 0-based.
Definition at line 150 of file converters.h.
QString Quotient::enumToJsonString | ( | EnumT | v, |
const EnumStringValuesT & | enumValues | ||
) |
Facility enum-to-string converter.
This does the same as enumFromJsonString, the other way around.
enumValues
has to match those gaps (i.e., if the source enumeration is defined as { Value1 = 1, Value2 = 3, Value3 = 5 }
then enumValues
should be defined as { "", "Value1", "", "Value2", "", "Value3" }
(mind the gap at value 0, in particular). Definition at line 173 of file converters.h.
|
inline |
Cast the event pointer down in a type-safe way.
Checks that the event eptr
points to actually is of the requested type and returns a (plain) pointer to the event downcast to that type. eptr
can be either "dumb" (BaseEventT*) or "smart" (event_ptr_tt<>
). This overload doesn't affect the event ownership - if the original pointer owns the event it must outlive the downcast pointer to keep it from dangling.
|
inline |
Cast the event pointer down in a type-safe way, with moving.
Checks that the event eptr
points to actually is of the requested type; if (and only if) it is, releases the pointer, downcasts it to the requested event type and returns a new smart pointer wrapping the downcast one. Unlike the non-moving eventCast() overload, this one only accepts a smart pointer, and that smart pointer should be an rvalue (either a temporary, or as a result of std::move()). The ownership, respectively, is transferred to the new pointer; the original smart pointer is reset to nullptr, as is normal for unique_ptr<>::release()
.
eptr's
event type does not match EventT
it retains ownership after calling this overload; if it is a temporary, this normally leads to the event getting deleted along with the end of the temporary's lifetime. StateEventPtr Quotient::eventLoaderH | ( | EventLoaderH & | ) |
|
inline |
Definition at line 126 of file converters.h.
|
delete |
QUOTIENT_API void Quotient::fillJson | ( | QJsonObject & | jo, |
const std::array< QLatin1String, 2 > & | jsonKeys, | ||
const FileSourceInfo & | fsi | ||
) |
Export FileSourceInfo to a JSON object.
Depending on what is stored inside FileSourceInfo, this function will insert
|
inline |
Definition at line 102 of file converters.h.
|
inline |
FlagT Quotient::flagFromJsonString | ( | const QString & | s, |
const FlagStringValuesT & | flagValues, | ||
FlagT | defaultValue = FlagT(0U) |
||
) |
Facility converter for flags.
This is very similar to enumFromJsonString, except that the target enumeration is assumed to be of a 'flag' kind - i.e. its values must be a power-of-two sequence starting from 1, without gaps, so exactly 1,2,4,8,16 and so on.
Definition at line 196 of file converters.h.
QString Quotient::flagToJsonString | ( | FlagT | v, |
const FlagStringValuesT & | flagValues | ||
) |
Definition at line 211 of file converters.h.
|
inline |
QDebug manipulator to setup the stream for JSON output.
Originally made to encapsulate the change in QDebug behavior in Qt 5.4 and the respective addition of QDebug::noquote(). Together with the operator<<() helper, the proposed usage is (similar to std:: I/O manipulators): qCDebug(MAIN) << formatJson << json_object; // (QJsonObject etc.)
|
inline |
Definition at line 108 of file converters.h.
|
inline |
Definition at line 120 of file converters.h.
|
inline |
Definition at line 259 of file converters.h.
|
inline |
Definition at line 18 of file roomcanonicalaliasevent.h.
|
inlinedelete |
Use fromJson<QString> and then toLatin1()/toUtf8()/... to make QByteArray
QJsonValue can only convert to QString and there's ambiguity whether conversion to QByteArray should use (fast but very limited) toLatin1() or (all encompassing and conforming to the JSON spec but slow) toUtf8().
Definition at line 230 of file converters.h.
QUOTIENT_API QUrl Quotient::getUrlFromSourceInfo | ( | const FileSourceInfo & | fsi | ) |
|
inline |
|
inline |
|
inline |
Definition at line 43 of file e2ee_common.h.
|
inline |
Lift an operation into dereferenceable types (Omittables or pointers)
This is a more generic version of Omittable::then() that extends to an arbitrary number of arguments of any type that is dereferenceable (unary operator*() can be applied to it) and (explicitly or implicitly) convertible to bool. This allows to streamline checking for nullptr/none before applying the operation on the underlying types. fn
is only invoked if all args
are "truthy" (i.e. (... && bool(args)) == true
).
fn | A callable that should accept the types stored inside Omittables/pointers passed in args |
fn
returns another type, lift() wraps it in an Omittable; if fn
returns an Omittable, that return value (or none) is returned as is. Definition at line 30 of file omittable.h.
QUOTIENT_API void Quotient::linkifyUrls | ( | QString & | htmlEscapedText | ) |
Convert what looks like a URL or a Matrix ID to an HTML hyperlink
|
inline |
|
inline |
QUOTIENT_API int Quotient::majorVersion | ( | ) |
|
inline |
Create a C structure with pre-programmed deletion logic.
This facility function creates a CStructPtr that owns the pointer returned by constructor
. The memory passed to constructor
is allocated as an array of bytes; the size of that array is determined by calling sizeFn
. Finally, since the returned pointer is owning, it also stores the corresponding CStructDeleter instance; when called at destruction of the owning pointer, this deleter first calls destructor
passing the original C pointer returned by constructor
; and then deletes the allocated array of bytes.
|
inline |
Create an event of arbitrary type from its arguments.
This should not be used to load events from JSON - use loadEvent() for that.
|
inline |
|
inline |
Merge the value from an optional This is an adaptation of Omittable::merge() to the case when the value on the left hand side is not an Omittable.
rhs
is not omitted and the lhs
value was different, in other words, if lhs
has changed; false otherwise Definition at line 185 of file omittable.h.
QUOTIENT_API int Quotient::minorVersion | ( | ) |
|
constexpr |
Quotient::Omittable | ( | T && | ) | -> Omittable< T > |
Definition at line 75 of file connection.h.
|
constexpr |
Definition at line 17 of file accountdataevents.h.
|
inline |
Definition at line 144 of file eventitem.h.
QUOTIENT_API QDebug Quotient::operator<< | ( | QDebug | dbg, |
const EventStats & | es | ||
) |
QDebug Quotient::operator<< | ( | QDebug | dbg, |
const RoomSummary & | rs | ||
) |
QDebug Quotient::operator<< | ( | QDebug | dhg, |
const DevicesList & | devicesList | ||
) |
|
inline |
Definition at line 70 of file connection.h.
Quotient::Overloads | ( | FunctorTs && | ... | ) | -> Overloads< FunctorTs... > |
QUOTIENT_API int Quotient::patchVersion | ( | ) |
QUOTIENT_API QString Quotient::prettyPrint | ( | const QString & | plainText | ) |
Pretty-print plain text into HTML
This includes HTML escaping of <,>,",& and calling linkifyUrls()
|
inline |
QUOTIENT_API QString Quotient::sanitized | ( | const QString & | plainText | ) |
Sanitize the text before showing in HTML
This does toHtmlEscaped() and removes Unicode BiDi marks.
QUOTIENT_API QString Quotient::serverPart | ( | const QString & | mxId | ) |
Extract the serverpart from MXID
QUOTIENT_API void Quotient::setUrlInSourceInfo | ( | FileSourceInfo & | fsi, |
const QUrl & | newUrl | ||
) |
QUOTIENT_API qreal Quotient::stringToHueF | ( | const QString & | s | ) |
Hue color component of based of the hash of the string.
The implementation is based on XEP-0392: https://xmpp.org/extensions/xep-0392.html Naming and range are the same as QColor's hueF method: https://doc.qt.io/qt-5/qcolor.html#integer-vs-floating-point-precision
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 26 of file roomcanonicalaliasevent.h.
QUOTIENT_API QJsonObject Quotient::toJson | ( | const EventsWithReceipts & | ewrs | ) |
|
inline |
Definition at line 271 of file converters.h.
|
inline |
Definition at line 261 of file converters.h.
QJsonObject QUOTIENT_API Quotient::toJson | ( | const QVariantHash & | vh | ) |
|
inline |
Definition at line 301 of file converters.h.
|
inline |
Definition at line 91 of file converters.h.
|
inline |
Definition at line 558 of file converters.h.
QUOTIENT_API bool Quotient::verifyIdentitySignature | ( | const DeviceKeys & | deviceKeys, |
const QString & | deviceId, | ||
const QString & | userId | ||
) |
QUOTIENT_API QString Quotient::versionString | ( | ) |
|
inline |
QUOTIENT_API UriResolveResult Quotient::visitResource | ( | Connection * | account, |
const Uri & | uri, | ||
std::function< UriResolveResult(User *, QString)> | userHandler, | ||
std::function< void(Room *, QString)> | roomEventHandler, | ||
std::function< void(Connection *, QString, QStringList)> | joinHandler, | ||
std::function< bool(const QUrl &)> | nonMatrixHandler | ||
) |
Resolve the resource and invoke an action on it, via function objects.
This function encapsulates the logic of resolving a Matrix identifier or URI into a Quotient object (or objects) and calling an appropriate handler on it. Unlike UriResolverBase it accepts the list of handlers from the caller; internally it's uses a minimal UriResolverBase class
account | The connection used as a context to resolve the identifier |
uri | A URI that can represent a Matrix entity |
userHandler | Called when the passed URI identifies a Matrix user |
roomEventHandler | Called when the passed URI identifies a room or an event in a room |
joinHandler | Called when the passed URI has action() == "join" and identifies a room that the user defined by the Connection argument is not a member of |
nonMatrixHandler | Called when the passed URI has type() == NonMatrix ; should return true if the URI is considered resolved, false otherwise |
|
inline |
|
constexpr |
|
extern |
|
inlineconstexpr |
Definition at line 29 of file e2ee_common.h.
|
inlineconstexpr |
Definition at line 25 of file e2ee_common.h.
|
inlineconstexpr |
Definition at line 10 of file encryptedevent.h.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 34 of file e2ee_common.h.
|
inlineconstexpr |
Definition at line 12 of file encryptedevent.h.
|
constexpr |
|
inlineconstexpr |
Definition at line 33 of file e2ee_common.h.
concept Quotient::EventClass = std::is_base_of_v<BaseEventT, EventT> |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 9 of file accountdataevents.h.
|
constexpr |
Definition at line 90 of file function_traits.h.
|
inlineconstexpr |
Definition at line 15 of file syncdata.h.
|
inlineconstexpr |
Definition at line 75 of file keyverificationevent.h.
|
inlineconstexpr |
Definition at line 76 of file keyverificationevent.h.
|
constexpr |
Definition at line 455 of file converters.h.
|
constexpr |
Definition at line 87 of file quotient_common.h.
concept Quotient::Keyed_State_Event = EvT::needsStateKey |
Definition at line 126 of file stateevent.h.
concept Quotient::Keyed_State_Fn = EvT::needsStateKey |
Definition at line 19 of file roomstateview.h.
concept Quotient::Keyless_State_Event = !EvT::needsStateKey |
Definition at line 147 of file stateevent.h.
concept Quotient::Keyless_State_Fn = !EvT::needsStateKey |
Definition at line 22 of file roomstateview.h.
|
inlineconstexpr |
Definition at line 10 of file accountdataevents.h.
|
inlineconstexpr |
Definition at line 38 of file e2ee_common.h.
|
constexpr |
Definition at line 68 of file quotient_common.h.
|
inlineconstexpr |
Definition at line 14 of file syncdata.h.
|
constexpr |
Definition at line 14 of file omittable.h.
|
inlineconstexpr |
Definition at line 37 of file e2ee_common.h.
|
inlineconstexpr |
Definition at line 13 of file syncdata.h.
m room Quotient::pinned_events |
Definition at line 28 of file simplestateevents.h.
m room Quotient::pinnedEvents |
Definition at line 29 of file simplestateevents.h.
|
inlineconstexpr |
|
inlineconstexpr |
|
constexpr |
m room Quotient::QStringList |
Definition at line 29 of file simplestateevents.h.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 10 of file eventrelation.h.
|
inlineconstexpr |
Definition at line 11 of file eventrelation.h.
|
inlineconstexpr |
Definition at line 34 of file simplestateevents.h.
|
inlineconstexpr |
|
inlineconstexpr |
|
constexpr |
Definition at line 117 of file quotient_common.h.
|
inlineconstexpr |
Definition at line 31 of file e2ee_common.h.
|
inlineconstexpr |
Definition at line 27 of file e2ee_common.h.
|
inlineconstexpr |
Definition at line 30 of file e2ee_common.h.
|
inlineconstexpr |
Definition at line 26 of file e2ee_common.h.
|
inlineconstexpr |
Definition at line 10 of file keyverificationevent.h.
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 11 of file encryptedevent.h.
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 11 of file accountdataevents.h.
|
inlineconstexpr |
Definition at line 13 of file encryptedevent.h.
|
inlineconstexpr |
Definition at line 35 of file e2ee_common.h.
|
inlineconstexpr |
|
inlineconstexpr |
|
constexpr |
Definition at line 40 of file e2ee_common.h.
|
constexpr |
Definition at line 77 of file keyverificationevent.h.
|
inlineconstexpr |
Definition at line 12 of file syncdata.h.
|
inlineconstexpr |
|
inlineconstexpr |