diff options
Diffstat (limited to 'src/modules/UserListManager/UserListDiff.h')
-rw-r--r-- | src/modules/UserListManager/UserListDiff.h | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/src/modules/UserListManager/UserListDiff.h b/src/modules/UserListManager/UserListDiff.h deleted file mode 100644 index de881bd..0000000 --- a/src/modules/UserListManager/UserListDiff.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * UserListDiff.h - * - * Copyright (C) 2009 Matthias Schiffer <matthias@gamezock.de> - * - * This program 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, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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. - * - * You should have received a copy of the GNU Lesser General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef MAD_MODULES_USERLISTMANAGER_USERLISTDIFF_H_ -#define MAD_MODULES_USERLISTMANAGER_USERLISTDIFF_H_ - -#include "../export.h" - -#include "UserListEntry.h" -#include <Core/Exception.h> - -#include <set> - -namespace Mad { -namespace Modules { -namespace UserListManager { - -class UserList; - -class MAD_MODULE_EXPORT UserListDiff { - private: - std::set<UserListEntry> addedUsers; - std::set<UserListEntry> deletedUsers; - std::set<UserListEntry> unchangedUsers; - - public: - UserListDiff() {} - UserListDiff(const UserList *oldList, const UserList *newList); - - void invert() { - addedUsers.swap(deletedUsers); - } - - const std::set<UserListEntry>& getAddedUsers() const { - return addedUsers; - } - - const std::set<UserListEntry>& getDeletedUsers() const { - return deletedUsers; - } - - const std::set<UserListEntry>& getUnchangedUsers() const { - return unchangedUsers; - } - - bool insertAddedUser(UserListEntry user) { - if(deletedUsers.count(user) || unchangedUsers.count(user)) - return false; - - return addedUsers.insert(user).second; - } - - bool insertDeletedUser(UserListEntry user) { - if(addedUsers.count(user) || unchangedUsers.count(user)) - return false; - - return deletedUsers.insert(user).second; - } - - bool insertUnchangedUser(UserListEntry user) { - if(addedUsers.count(user) || deletedUsers.count(user)) - return false; - - return unchangedUsers.insert(user).second; - } -}; - -} -} -} - -#endif /* MAD_MODULES_USERLISTMANAGER_USERLISTDIFF_H_ */ |