plugin_context.cpp
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Dirk Thomas, TU Darmstadt
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  *   * Redistributions of source code must retain the above copyright
00010  *     notice, this list of conditions and the following disclaimer.
00011  *   * Redistributions in binary form must reproduce the above
00012  *     copyright notice, this list of conditions and the following
00013  *     disclaimer in the documentation and/or other materials provided
00014  *     with the distribution.
00015  *   * Neither the name of the TU Darmstadt nor the names of its
00016  *     contributors may be used to endorse or promote products derived
00017  *     from this software without specific prior written permission.
00018  *
00019  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00020  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00021  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
00022  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
00023  * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
00024  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
00025  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00026  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00027  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00028  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
00029  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00030  * POSSIBILITY OF SUCH DAMAGE.
00031  */
00032 
00033 #include <qt_gui_cpp/plugin_context.h>
00034 
00035 #include <stdexcept>
00036 
00037 namespace qt_gui_cpp {
00038 
00039 PluginContext::PluginContext(QObject* obj, int serial_number, const QStringList& argv)
00040   : QObject(obj)
00041   , proxy_(obj)
00042   , serial_number_(serial_number)
00043   , argv_(argv)
00044 {}
00045 
00046 PluginContext::PluginContext(const PluginContext& other)
00047   : QObject(other.parent())
00048   , proxy_(other.parent())
00049   , serial_number_(other.serial_number_)
00050   , argv_(other.argv_)
00051 {}
00052 
00053 int PluginContext::serialNumber() const
00054 {
00055   return serial_number_;
00056 }
00057 
00058 const QStringList& PluginContext::argv() const
00059 {
00060   return argv_;
00061 }
00062 
00063 void PluginContext::addWidget(QWidget* widget)
00064 {
00065   bool rc = proxy_.invokeMethod("add_widget", Q_ARG(QWidget*, widget));
00066   if (!rc) throw std::runtime_error("PluginContext::addWidget() invoke method failed");
00067 }
00068 
00069 void PluginContext::removeWidget(QWidget* widget)
00070 {
00071   bool rc = proxy_.invokeMethod("remove_widget", Q_ARG(QWidget*, widget));
00072   if (!rc) throw std::runtime_error("PluginContext::removeWidget() invoke method failed");
00073 }
00074 
00075 void PluginContext::closePlugin()
00076 {
00077   bool rc = proxy_.invokeMethod("close_plugin");
00078   if (!rc) throw std::runtime_error("PluginContext::closePlugin() invoke method failed");
00079 }
00080 
00081 void PluginContext::reloadPlugin()
00082 {
00083   bool rc = proxy_.invokeMethod("reload_plugin");
00084   if (!rc) throw std::runtime_error("PluginContext::reloadPlugin() invoke method failed");
00085 }
00086 
00087 } // namespace


qt_gui_cpp
Author(s): Dirk Thomas
autogenerated on Fri Jan 3 2014 11:44:04