/* * UserListEntry.h * * Copyright (C) 2009 Matthias Schiffer * * 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 . */ #ifndef MAD_COMMON_USERLISTS_USERLISTENTRY_H_ #define MAD_COMMON_USERLISTS_USERLISTENTRY_H_ #include #include #include namespace Mad { namespace Common { namespace UserLists { class UserListEntry { private: Core::String name; Core::String group; std::map details; public: UserListEntry(const Core::String &name0 = Core::String(), const Core::String &group0 = Core::String()) : name(name0), group(group0) {} const Core::String& getName() const { return name; } void setName(const Core::String &newName) { name = newName; } const Core::String& getGroup() const { return group; } void setGroup(const Core::String &newGroup) { group = newGroup; } std::set getDetailList() const { std::set ret; for(std::map::const_iterator it = details.begin(); it != details.end(); ++it) ret.insert(it->first); return ret; } Core::String getDetail(const Core::String &name) const { std::map::const_iterator it = details.find(name); if(it != details.end()) return it->second; else return Core::String(); } void setDetail(const Core::String &name, const Core::String &value) { details.erase(name); details.insert(std::make_pair(name, value)); } void unsetDetail(const Core::String &name) { details.erase(name); } bool operator<(const UserListEntry o) const { return (name < o.name); } }; } } } #endif /* MAD_COMMON_USERLISTS_USERLISTENTRY_H_ */