123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- /******************************************************************************
- *
- * package: Log4Qt
- * file: optionconverter.h
- * created: September 2007
- * author: Martin Heinrich
- *
- *
- * Copyright 2007 Martin Heinrich
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************/
- #ifndef LOG4QT_OPTIONCONVERTER_H
- #define LOG4QT_OPTIONCONVERTER_H
- /******************************************************************************
- * Dependencies
- ******************************************************************************/
- #include <QtCore/QString>
- #include "log4qt/level.h"
- namespace Log4Qt
- {
- class Properties;
-
- /*!
- * \brief The class OptionConverter provides functions to convert strings
- * to property values.
- */
- class OptionConverter
- {
- private:
- OptionConverter();
- OptionConverter(const OptionConverter &rOther); // Not implemented
- // virtual ~OptionConverter(); // Use compiler default
- OptionConverter &operator=(const OptionConverter &rOther); // Not implemented
-
- public:
- static QString findAndSubst(const Properties &rProperties,
- const QString &rKey);
-
- /*!
- * Returns the JAVA class name \a rClassName as C++ class name by
- * replacing all . characters with ::.
- */
- static QString classNameJavaToCpp(const QString &rClassName);
-
- /*!
- * Converts the option \a rOption to a boolean value. Valid strings
- * for true are "true", "enabled" and "1". Valid strings
- * for false are "false", "disabled" and "0". If the conversion is
- * successful, the target is returned and \a p_ok is set to true.
- * Otherwise an error is written to the log, \a p_ok is set to false
- * and false is returned.
- */
- static bool toBoolean(const QString &rOption,
- bool *p_ok = 0);
-
- static bool toBoolean(const QString &rOption,
- bool default_value);
-
- /*!
- * Converts the option string \a rOption to a file size. The string can
- * be a positive integer followed by an optional unit suffix "KB", "MB"
- * or "GB". If a unit suffix is specified the the integer is
- * interpreted as kilobytes, megabytes or gigabytes. If the conversion
- * is successful, the size is returned and \a p_ok is set to true.
- * Otherwise an error is written to the log, \a p_ok is set to false
- * and 0 is returned.
- */
- static qint64 toFileSize(const QString &rOption,
- bool *p_ok = 0);
-
- /*!
- * Converts the option \a rOption to a integer value using
- * QString::toInt(). If the conversion is successful, the integer is
- * returned and \a p_ok is set to true. Otherwise an error is written
- * to the log, \a p_ok is set to false and 0 is returned.
- */
- static int toInt(const QString &rOption,
- bool *p_ok = 0);
-
- /*!
- * Converts the option \a rOption to a qint64 value using
- * QString::toLongLong(). If the conversion is successful, the qint64 is
- * returned and \a p_ok is set to true. Otherwise an error is written
- * to the log, \a p_ok is set to false and 0 is returned.
- */
- static qint64 toQInt64(const QString &rOption,
- bool *p_ok = 0);
- /*!
- * Converts the option \a rOption to a level value using
- * Level::fromString(). If the conversion is successful, the level
- * is returned and \a p_ok is set to true. Otherwise an error is
- * written to the log, \a p_ok is set to false and a level with
- * the value Level::NULL_INT is returned.
- *
- * \sa Level::fromString()
- */
- static Level toLevel(const QString &rOption,
- bool *p_ok = 0);
-
- static Level toLevel(const QString &rOption,
- const Level &rDefaultValue);
-
- /*!
- * Converts the option \a rOption to a ConsoleAppender::Target value.
- * Valid strings for \a rOption are "System.out", "STDOUT_TARGET",
- * "System.err" and "STDERR_TARGET". If the conversion is successful,
- * the target is returned and \a p_ok is set to true. Otherwise an
- * error is written to the log, \a p_ok is set to false and
- * ConsoleAppender::STDOUT_TARGET is returned.
- */
- static int toTarget(const QString &rOption,
- bool *p_ok = 0);
- };
-
-
- /**************************************************************************
- * Operators, Helper
- **************************************************************************/
-
-
- /**************************************************************************
- * Inline
- **************************************************************************/
-
- } // namespace Log4Qt
- Q_DECLARE_TYPEINFO(Log4Qt::OptionConverter, Q_MOVABLE_TYPE);
- #endif // LOG4QT_OPTIONCONVERTER_H
|