diff options
Diffstat (limited to 'include/modules/invite.h')
| -rw-r--r-- | include/modules/invite.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/modules/invite.h b/include/modules/invite.h index ba76f577e..20d06e3fb 100644 --- a/include/modules/invite.h +++ b/include/modules/invite.h @@ -26,6 +26,23 @@ namespace Invite class API; class Invite; + + /** Used to indicate who we announce invites to on a channel. */ + enum AnnounceState + { + /** Don't send invite announcements. */ + ANNOUNCE_NONE, + + /** Send invite announcements to all users. */ + ANNOUNCE_ALL, + + /** Send invite announcements to channel operators and higher. */ + ANNOUNCE_OPS, + + /** Send invite announcements to channel half-operators (if available) and higher. */ + ANNOUNCE_DYNAMIC + }; + typedef insp::intrusive_list<Invite, LocalUser> List; } @@ -51,6 +68,9 @@ class Invite::APIBase : public DataProvider */ virtual Invite* Find(LocalUser* user, Channel* chan) = 0; + /** Returns the announcement behaviour for invites from <security:announceinvites>. */ + virtual AnnounceState GetAnnounceState() const = 0; + /** Returns the list of channels a user has been invited to but has not yet joined. * @param user User whose invite list to retrieve * @return List of channels the user is invited to or NULL if the list is empty |
