/* * 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_MODULES_USERLISTMANAGER_USERLISTENTRY_H_ #define MAD_MODULES_USERLISTMANAGER_USERLISTENTRY_H_ #include #include #include namespace Mad { namespace Modules { namespace UserListManager { class UserListEntry { private: std::string name; std::string group; std::map details; public: UserListEntry(const std::string &name0 = std::string(), const std::string &group0 = std::string()) : name(name0), group(group0) {} const std::string& getName() const { return name; } void setName(const std::string &newName) { name = newName; } const std::string& getGroup() const { return group; } void setGroup(const std::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; } std::string getDetail(const std::string &name) const { std::map::const_iterator it = details.find(name); if(it != details.end()) return it->second; else return std::string(); } void setDetail(const std::string &name, const std::string &value) { details.erase(name); details.insert(std::make_pair(name, value)); } void unsetDetail(const std::string &name) { details.erase(name); } bool operator<(const UserListEntry o) const { return (name < o.name); } }; } } } #endif /* MAD_MODULES_USERLISTMANAGER_USERLISTENTRY_H_ */