Standard namespace and flags

This commit is contained in:
Luca Beltrame 2013-03-17 11:54:36 +01:00
parent fc691a9301
commit 7130c3f6ad

View file

@ -0,0 +1,73 @@
/*
* This file is part of libdanbooru.
* Copyright 2013 Luca Beltrame <lbeltrame@kde.org>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License or (at your option) version 3 or any later version
* accepted by the membership of KDE e.V. (or its successor approved
* by the membership of KDE e.V.), which shall act as a proxy
* defined in Section 14 of version 3 of the license.
*
* 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef DANBOORU_H
#define DANBOORU_H
#include <QtCore/QObject>
#include "version.h"
/**
* @brief The Danbooru namespace.
* @file danbooru.h
*
**/
namespace Danbooru {
/**
* @brief Types of tags
*
* A Danbooru tag is not simply a string, but carries some (limited)
* semantic information. In particular, tags are organized in what they
* refer to, either something related to the image itself, or to the
* artist that drew it, or the copyrights associated to the image, or even
* the characters that are represented in it.
*
**/
enum TagType {
General = 1, /**< Generic tags **/
Artist = 2, /**< Tags related to artists **/
Copyright = 4, /**<Tags related to copyrights **/
Character= 8, /**<Tags related to characters **/
Unknown = 16 /**< Unknown tags **/
};
/**
* @brief Ratings for a Danbooru item
*
* A rating is how appropriate is an item for a general audience.
*
**/
enum Rating {
Safe = 1, /**< Safe for the general public **/
Questionable = 2, /**< Might contain hints of risqueness of violence **/
Explicit = 4 /**< Explicit material **/
};
Q_DECLARE_FLAGS(Ratings, Rating)
Q_DECLARE_OPERATORS_FOR_FLAGS(Ratings)
}; // namespace Danbooru
#endif // DANBOORU_H