LeechCraft Azoth  0.6.70-15082-g543737046d
Modular multiprotocol IM plugin for LeechCraft
LC::Azoth Namespace Reference

Namespaces

 AzothUtil
 
 GPGExceptions
 

Classes

struct  ActivityInfo
 Describes contact activity information. More...
 
struct  ChatMsgAppendInfo
 Defines additional parameters of the message. More...
 
class  CommandException
 
struct  CustomStatus
 A custom saved named status. More...
 
struct  DefaultSortParams
 
struct  EntryStatus
 Describes an entry's status. More...
 
struct  HistoryItem
 Describes a single chat log item. More...
 
class  IAccount
 Interface representing a single account. More...
 
class  IAccountActionsProvider
 
class  IAdvancedCLEntry
 
class  IAdvancedMessage
 
class  IAuthable
 Represents an entry that supports authorizations. More...
 
class  IAvatarsManager
 
class  ICanHaveSslErrors
 
class  IChatStyleResourceSource
 Interface for chat style resource loaders and handlers. More...
 
class  ICLEntry
 Represents a single entry in contact list. More...
 
class  IConfigurableMUC
 This interfaces is used for MUCs that can be configured. More...
 
class  IEmoticonResourceSource
 Interface for smile resource loaders. More...
 
class  IExtSelfInfoAccount
 Interface for accounts with extended self information. More...
 
class  IFormatterProxyObject
 
class  IHaveAvatars
 Describes an entry that can have an associated avatar. More...
 
class  IHaveBlacklists
 Interface for accounts that may have blacklists. More...
 
class  IHaveConsole
 Interface for accounts that support protocol consoles. More...
 
class  IHaveContactActivity
 Interface for contacts announcing their current activity. More...
 
class  IHaveContactMood
 Interface for contacts announcing their current mood. More...
 
class  IHaveContactTune
 Interface for contacts announcing their current tune. More...
 
class  IHaveDirectedStatus
 Interface for entries for sending directed statuses. More...
 
class  IHaveEntityTime
 Interface for entries that can report their local time. More...
 
class  IHaveMicroblogs
 
class  IHavePings
 
class  IHaveQueriableVersion
 
class  IHaveSearch
 Interface for accounts supporting IM search. More...
 
class  IHaveServerHistory
 
class  IHaveServiceDiscovery
 Interface for accounts supporting service discovery. More...
 
class  IHistoryPlugin
 Interface for plugins storing chat history. More...
 
class  ILastActivityProvider
 Interface for plugins providing last activity info. More...
 
class  IMediaCall
 
class  IMessage
 This interface is used to represent a message. More...
 
class  IMetaInfoEntry
 
class  IMUCBookmarkEditorWidget
 
class  IMUCConfigWidget
 This interface is for widgets used to configure the room. More...
 
class  IMUCEntry
 Represents a single MUC entry in the CL. More...
 
class  IMUCJoinWidget
 This interface defines methods that should be implemented in widgets which are used to join MUC rooms. More...
 
class  IMUCPerms
 This interface describes permissions in the given room. More...
 
class  IMUCProtocol
 Interface for protocols supporting multiuser chat rooms. More...
 
class  IPendingLastActivityRequest
 
class  IPendingPing
 
class  IPendingVersionQuery
 
class  IProtocol
 Represents a protocol. More...
 
class  IProtocolPlugin
 
class  IProvideCommands
 
class  IProxyObject
 
class  IRegManagedAccount
 
class  IResourcePlugin
 Interface for plugins having resource sources, like smile support or chat window styles. More...
 
class  IResourceSource
 Base interface for specific resource sources. More...
 
class  IRichTextMessage
 Interface for messages supporting rich text contents. More...
 
class  ISDSession
 Interface for service discovery sessions. More...
 
class  ISearchSession
 Interface for search sessions. More...
 
class  ISupportActivity
 Interface for accounts supporting user activity. More...
 
class  ISupportBookmarks
 Interface for accounts supporting bookmarks. More...
 
class  ISupportGeolocation
 Interface for accounts supporting geolocation data. More...
 
class  ISupportImport
 Interface for protocols supporting import. More...
 
class  ISupportLastActivity
 
class  ISupportMediaCalls
 Interface for accounts supporting audio/video calls. More...
 
class  ISupportMicroblogs
 
class  ISupportMood
 Interface for accounts supporting user mood. More...
 
class  ISupportNonRoster
 
class  ISupportPGP
 Interface for accounts supporting PGP encryption. More...
 
class  ISupportRIEX
 Interface representing Roster Item Exchange-like things. More...
 
class  ISupportTune
 Interface for publishing user tunes. More...
 
class  ITransferJob
 This interface must be implemented by objects representing file transfer jobs. More...
 
class  ITransferManager
 This interface must be implemented by transfer managers returned from IAccount::GetTransferManager(). More...
 
class  IUpdatableChatEntry
 Interface for entries that can modify messages bodies. More...
 
class  IURIHandler
 This interface is for protocols that may handle URIs and corresponding actions are dependent on an exact account. More...
 
class  MessageBase
 
struct  MoodInfo
 Describes contact mood information. More...
 
struct  Post
 
struct  PostAuthor
 
struct  RIEXItem
 Represents a single exchange entry. More...
 
struct  SrvHistMessage
 
struct  StaticCommand
 
struct  StringCommandResult
 
struct  TextMorphResult
 

Typedefs

using SrvHistMessages_t = QList< SrvHistMessage >
 
typedef std::variant< bool, StringCommandResult, TextMorphResultCommandResult_t
 
typedef std::function< CommandResult_t(ICLEntry *, QString &)> Command_f
 
typedef QList< StaticCommandStaticCommands_t
 
typedef QMap< QString, QVariant > GeolocationInfo_t
 Geolocation data. More...
 

Enumerations

enum  State {
  SOffline, SOnline, SAway, SXA,
  SDND, SChat, SInvisible, SProbe,
  SError, SInvalid, SConnecting
}
 Describes possible presence states of an account or a contact. More...
 
enum  AuthStatus {
  ASNone = 0x00, ASFrom = 0x01, ASTo = 0x02, ASBoth = 0x03,
  ASContactRequested = 0x08
}
 
enum  ChatPartState {
  CPSNone, CPSActive, CPSInactive, CPSGone,
  CPSComposing, CPSPaused
}
 
enum  ServerHistoryRole { LastMessageDate = Qt::UserRole + 1, CLEntry, ServerHistoryRoleMax }
 
enum  ServerHistoryFeature { ServerHistoryFeature::AccountSupportsHistory, ServerHistoryFeature::Configurable, ServerHistoryFeature::DatedFetching }
 
enum  TransferDirection { TDIn, TDOut }
 Represents the direction of the transfer. More...
 
enum  TransferState { TSOffer, TSStarting, TSTransfer, TSFinished }
 Represents the state of the file transfer job. More...
 
enum  TransferError {
  TENoError, TEAborted, TEFileAccessError, TEFileCorruptError,
  TEProtocolError
}
 Represents the error condition of the transfer. More...
 

Functions

bool operator== (const ActivityInfo &i1, const ActivityInfo &i2)
 Checks whether the activity info structures are equal. More...
 
bool operator!= (const ActivityInfo &i1, const ActivityInfo &i2)
 Checks whether the activity info structures are not equal. More...
 
bool IsLess (State s1, State s2)
 Compares two states according to the implied desire to have a conversation. More...
 
bool operator== (const EntryStatus &es1, const EntryStatus &es2)
 Compares two entry statuses for equality. More...
 
bool operator!= (const EntryStatus &es1, const EntryStatus &es2)
 Compares two entry statuses for inequality. More...
 
uint qHash (IHaveAvatars::Size size)
 Defines a hashing function for avatar sizes. More...
 
bool operator== (const RIEXItem &r1, const RIEXItem &r2)
 
bool operator== (const MoodInfo &i1, const MoodInfo &i2)
 Checks whether the mood info structures are equal. More...
 
bool operator!= (const MoodInfo &i1, const MoodInfo &i2)
 Checks whether the mood info structures are not equal. More...
 

Typedef Documentation

◆ Command_f

typedef std::function<CommandResult_t (ICLEntry*, QString&)> LC::Azoth::Command_f

Definition at line 46 of file iprovidecommands.h.

◆ CommandResult_t

Definition at line 44 of file iprovidecommands.h.

◆ GeolocationInfo_t

typedef QMap<QString, QVariant> LC::Azoth::GeolocationInfo_t

Geolocation data.

Predefined fields (keys) are based on XEP-0080: User Location (http://xmpp.org/extensions/xep-0080.html):

  • accuracy (double) Horizontal GPS error in meters.
  • alt (double) Altitude in meters above or below sea level.
  • area (QString) A named area such as a campus or neighborhood.
  • bearing (double) GPS bearing (direction in which the entity is heading to reach its next waypoint), measured in decimal degrees relative to true north.
  • building (QString) A specific building on a street or in an area.
  • country (QString) The nation where the user is located.
  • countrycode (QString) The ISO 3166 two-letter country code.
  • datum (QString) GPS datum.
  • description (QString) A natural-language name for or description of the location.
  • floor (QString) A particular floor in a building.
  • lat (double) Latitude in decimal degrees North.
  • locality (QString) A locality within the administrative region, such as a town or city.
  • lon (double) Longitude in decimal degrees East.
  • postalcode (QString) A code used for postal delivery.
  • region (QString) An administrative region of the nation, such as a state or province.
  • room (QString) A particular room in a building.
  • speed (double) The speed at which the entity is moving, in meters per second.
  • street (QString) A thoroughfare within the locality, or a crossing of two thoroughfares.
  • text (QString) A catch-all element that captures any other information about the location.
  • timestamp (QDateTime) UTC timestamp specifying the moment when the reading was taken.
  • url (QUrl) A URI or URL pointing to information about the location.

Definition at line 84 of file isupportgeolocation.h.

◆ SrvHistMessages_t

Definition at line 38 of file ihaveserverhistory.h.

◆ StaticCommands_t

Enumeration Type Documentation

◆ AuthStatus

Represents possible state of authorizations between two entities: our user and a remote contact.

Modelled after RFC 3921, Section 9.

Enumerator
ASNone 

Contact and user are not subscribed to each other, and neither has requested a subscription from the other.

ASFrom 

Contact is subscribed to user (one-way).

ASTo 

User is subscribed to contact (one-way).

ASBoth 

User and contact are subscribed to each other (two-way).

ASContactRequested 

Contact has requested our subscription.

Definition at line 81 of file azothcommon.h.

◆ ChatPartState

Represents possible chat states.

Modelled after XMPP XEP-085.

Enumerator
CPSNone 

Unknown chat state.

CPSActive 

User is actively participating in the chat session.

CPSInactive 

User has not been actively participating in the chat session.

CPSGone 

User has effectively ended their participation in the chat session.

CPSComposing 

User is composing a message.

CPSPaused 

User had been composing but now has stopped.

Definition at line 109 of file azothcommon.h.

◆ ServerHistoryFeature

Enumerator
AccountSupportsHistory 
Configurable 
DatedFetching 

Definition at line 47 of file ihaveserverhistory.h.

◆ ServerHistoryRole

Enumerator
LastMessageDate 
CLEntry 
ServerHistoryRoleMax 

Definition at line 40 of file ihaveserverhistory.h.

◆ State

Describes possible presence states of an account or a contact.

Enumerator
SOffline 
SOnline 
SAway 
SXA 
SDND 
SChat 
SInvisible 
SProbe 
SError 
SInvalid 
SConnecting 

Makes sense only for account state. This state is used when account is connecting and the moment and hasn't connected successfully and neither has failed yet.

Definition at line 34 of file azothcommon.h.

◆ TransferDirection

Represents the direction of the transfer.

Enumerator
TDIn 

File is transferred from remote party to us.

TDOut 

File is transferred from us to remote party.

Definition at line 32 of file itransfermanager.h.

◆ TransferError

Represents the error condition of the transfer.

Enumerator
TENoError 

There is no error.

TEAborted 

Transfer is refused by the other party or aborted in the progress.

TEFileAccessError 

Error occured while trying to access the local file: read failure in case of outgoing transfer and write error in case of incoming transfer.

TEFileCorruptError 

File is found to be corrupted during the transfer.

TEProtocolError 

A protocol error occurred.

Definition at line 67 of file itransfermanager.h.

◆ TransferState

Represents the state of the file transfer job.

Enumerator
TSOffer 

File is just offered and waiting for the other party to be accepted or rejected.

TSStarting 

Transfer is accepted by the remote party and is being initiated.

TSTransfer 

File transfer is in progress.

TSFinished 

File transfer is finished.

Definition at line 44 of file itransfermanager.h.

Function Documentation

◆ IsLess()

bool LC::Azoth::IsLess ( State  s1,
State  s2 
)
inline

Compares two states according to the implied desire to have a conversation.

State s1 is less than state s2 if a contact in state s1 is more likely to want or be ready to have a conversation than a contact in state s2.

For instance, IsLess(State::SOnline, State::SDND) holds, just as IsLess(State::SChat, State::SOnline) does.

Parameters
[in]s1First state to compare.
[in]s2Second state to compare.
Returns
Whether s1 implies more desire to have a conversation than s2.

Definition at line 70 of file azothcommon.h.

References ASFrom, ASNone, and ASTo.

◆ operator!=() [1/3]

bool LC::Azoth::operator!= ( const ActivityInfo i1,
const ActivityInfo i2 
)
inline

Checks whether the activity info structures are not equal.

Returns true if i1 is not equal to i2, that is, if at least one field of i1 is not equal to the corresponding one of i2. Otherwise returns false.

Parameters
[in]i1The first activity info structure.
[in]i2The second activity info structure.
Returns
Whether i1 and i2 are not equal.

Definition at line 78 of file activityinfo.h.

◆ operator!=() [2/3]

bool LC::Azoth::operator!= ( const EntryStatus es1,
const EntryStatus es2 
)
inline

Compares two entry statuses for inequality.

Parameters
[in]es1First status to compare.
[in]es2Second status to compare.
Returns
The negation of equality as defined by the equality oeprator.

Definition at line 84 of file iclentry.h.

◆ operator!=() [3/3]

bool LC::Azoth::operator!= ( const MoodInfo i1,
const MoodInfo i2 
)
inline

Checks whether the mood info structures are not equal.

Returns true if i1 is not equal to i2, that is, if at least one field of i1 is not equal to the corresponding one of i2. Otherwise returns false.

Parameters
[in]i1The first mood info structure.
[in]i2The second mood info structure.
Returns
Whether i1 and i2 are not equal.

Definition at line 73 of file moodinfo.h.

◆ operator==() [1/4]

bool LC::Azoth::operator== ( const ActivityInfo i1,
const ActivityInfo i2 
)
inline

Checks whether the activity info structures are equal.

Returns true if i1 is equal to i2, containing the same values for all the fields, otherwise returns false.

Parameters
[in]i1The first activity info structure.
[in]i2The second activity info structure.
Returns
Whether i1 and i2 are equal.

Definition at line 61 of file activityinfo.h.

◆ operator==() [2/4]

bool LC::Azoth::operator== ( const EntryStatus es1,
const EntryStatus es2 
)
inline

Compares two entry statuses for equality.

Parameters
[in]es1First status to compare.
[in]es2Second status to compare.
Returns
Whether the statuses correspond to the same state and have the same status string.

Definition at line 71 of file iclentry.h.

References LC::Azoth::EntryStatus::State_, and LC::Azoth::EntryStatus::StatusString_.

◆ operator==() [3/4]

bool LC::Azoth::operator== ( const MoodInfo i1,
const MoodInfo i2 
)
inline

Checks whether the mood info structures are equal.

Returns true if i1 is equal to i2, containing the same values for all the fields, otherwise returns false.

Parameters
[in]i1The first mood info structure.
[in]i2The second mood info structure.
Returns
Whether i1 and i2 are equal.

Definition at line 57 of file moodinfo.h.

◆ operator==() [4/4]

bool LC::Azoth::operator== ( const RIEXItem r1,
const RIEXItem r2 
)
inline

Definition at line 87 of file isupportriex.h.

◆ qHash()

uint LC::Azoth::qHash ( IHaveAvatars::Size  size)
inline

Defines a hashing function for avatar sizes.

Parameters
[in]sizeThe size of the avatar.
Returns
The hash of the size.

Definition at line 103 of file ihaveavatars.h.