49 lines
1.3 KiB
C++
49 lines
1.3 KiB
C++
/**
|
||
* @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<exoGroupMuteList>
|
||
{
|
||
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
|