/** * @file Common/env.h * @brief iEnv interface implementation * @author Enar Vaikene * * Copyright (c) 2011 Enar Vaikene * * This file is part of the eVaf C++ cross-platform application development framework. * * This file can be used under the terms of the GNU General Public License * version 3.0 as published by the Free Software Foundation and appearing in * the file LICENSE included in the packaging of this file. Please review the * the following information to ensure the GNU General Public License version * 3.0 requirements will be met: http://www.gnu.org/copyleft/gpl.html. * * Alternatively, this file may be used in accordance with the Commercial License * Agreement provided with the Software. */ #ifndef __COMMON_ENV_H #define __COMMON_ENV_H #include "ienv.h" #include #include namespace eVaf { namespace Common { namespace Internal { /** * iEnv interface implementation */ class Env : public iEnv { Q_OBJECT public: Env(); virtual ~Env(); /** * Initializes the iEnv interface implementation * @return True if ok; false if the initialization fails */ bool init(); /* iEnv interface */ virtual QString const rootDir() const { return mRootDir; } virtual QString const dataRootDir() const; virtual QString const binDir() const { return mBinDir; } virtual QString const etcDir() const; virtual QString const logDir() const; virtual QString const docDir() const; virtual QString const qtPluginsDir() const; private: // Members QString mRootDir; mutable QString mDataRootDir; QString mBinDir; mutable QString mQtPluginsDir; mutable QString mEtcDir; mutable QString mLogDir; mutable QString mDocDir; }; } // namespace eVaf::Common::Internal } // namespace eVaf::Common } // namespace eVaf #endif // env.h