/** * @file exogroupmutelist.h * @brief Persistently stores groups to ignore. * * $LicenseInfo:firstyear=2012&license=viewerlgpl$ * Copyright (C) 2012 Katharine Berry * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License only. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * $/LicenseInfo$ */ #ifndef EXO_GROUPMUTELIST_H #define EXO_GROUPMUTELIST_H #include "lluuid.h" class exoGroupMuteList : public LLSingleton { LLSINGLETON(exoGroupMuteList); public: bool isMuted(const LLUUID &group) const; bool isLoaded() const; void add(const LLUUID &group); void remove(const LLUUID &group); bool loadMuteList(); void addDeferredGroupChat(const LLUUID& group); bool restoreDeferredGroupChat(const LLUUID& group); private: bool saveMuteList(); std::string getFilePath() const; uuid_set_t mMuted; uuid_set_t mDeferredGroupChatSessionIDs; std::string getMutelistString(const LLUUID& group) const; }; #endif