diff options
Diffstat (limited to 'lib/loader.hpp')
-rw-r--r-- | lib/loader.hpp | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/lib/loader.hpp b/lib/loader.hpp new file mode 100644 index 0000000..22f9308 --- /dev/null +++ b/lib/loader.hpp @@ -0,0 +1,94 @@ +/** + * @file loader.hpp + * + * @brief Settings plugin loader header. + * + * @author Ossama Othman @<ossama.othman@@intel.com@> + * + * @copyright @par + * Copyright 2012, 2013 Intel Corporation All Rights Reserved. + * @par + * This library 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; + * version 2.1 of the License. + * @par + * This library 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. + * @par + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + * + * @note This header is internal. + */ + + +#ifndef IVI_SETTINGS_LOADER_HPP +#define IVI_SETTINGS_LOADER_HPP + +#include <string> + + +namespace ivi +{ + namespace settings + { + class manager; + + /** + * @class loader + * + * @brief Class that dynamically loads settings plugins. + * + * This class provides the native backend implementations of the + * Tizen IVI Settings app. It delegates all method alls on to a + * dynamically loaded settings plugin. + */ + class loader + { + public: + + /// Constructor + /** + * @param[in] plugin_name Path, including filename, of settings + * plugin. + * @param[in] mgr Settings manager. + */ + loader(std::string const & plugin_name, + manager & mgr); + + /// Destructor. + ~loader(); + + private: + + /** + * @name Prevent copying + */ + //@{ + loader(loader const &) = delete; + loader & operator=(loader const &) = delete; + //@} + + private: + + /// Handle to provider plugin. + void * const handle_; + + }; + + } +} + +#endif /* IVI_SETTINGS_LOADER_HPP */ + + +// Local Variables: +// mode:c++ +// c-basic-offset:2 +// indent-tabs-mode: nil +// End: |