Example #1
0
int main(int argc, char* argv[])
{
  try
  {
    log_init();

    if (argc == 1)
    {
      std::cout << "load libm.so" << std::endl;
      cxxtools::dl::Library lib("m");

      std::cout << "sym cos" << std::endl;
      function_type cosine = (function_type)(lib["cos"]);

      std::cout << "call cos" << std::endl;
      std::cout << "cos(2.0) = " << cosine(2.0) << std::endl;
    }
    else
    {
      std::cout << "load " << argv[1] << std::endl;
      cxxtools::dl::Library lib(argv[1]);

      for (int a = 2; argv[a]; ++a)
      {
        std::cout << "sym " << argv[a] << std::endl;
        cxxtools::dl::Symbol sym = lib.getSymbol(argv[a]);
        std::cout << " => " << static_cast<void*>(sym) << std::endl;
      }
    }
  }
  catch (const std::exception& e)
  {
    std::cerr << e.what() << std::endl;
  }
}
getModule KonqSidebarTree::getPluginFactory(const QString &name)
{
    if (!pluginFactories.contains(name))
    {
        QString libName    = pluginInfo[name];
        KLibrary lib(libName);
        if (lib.load())
        {
            // get the create_ function
            QString factory = "create_" + libName;
            KLibrary::void_function_ptr create    = lib.resolveFunction(QFile::encodeName(factory));
            if (create)
            {
                getModule func = (getModule)create;
                pluginFactories.insert(name, func);
                kDebug()<<"Added a module";
            }
            else
            {
                kWarning()<<"No create function found in"<<libName;
            }
        }
        else
            kWarning() << "Module " << libName << " can't be loaded!" ;
    }

    return pluginFactories[name];
}
Example #3
0
static void resolveLibrary()
{
#ifndef QT_NO_LIBRARY
    QLibrary lib(QLatin1String("resolv"));
    if (!lib.load())
        return;

    local_res_init = res_init_proto(lib.resolve("__res_init"));
    if (!local_res_init)
        local_res_init = res_init_proto(lib.resolve("res_init"));

    local_res_ninit = res_ninit_proto(lib.resolve("__res_ninit"));
    if (!local_res_ninit)
        local_res_ninit = res_ninit_proto(lib.resolve("res_ninit"));

    if (!local_res_ninit) {
        // if we can't get a thread-safe context, we have to use the global _res state
        local_res = res_state_ptr(lib.resolve("_res"));
    } else {
        local_res_nclose = res_nclose_proto(lib.resolve("res_nclose"));
        if (!local_res_nclose)
            local_res_nclose = res_nclose_proto(lib.resolve("__res_nclose"));
        if (!local_res_nclose)
            local_res_ninit = 0;
    }
#endif
}
static bool winServiceInit()
{
    if (!pOpenSCManager) {
        QLibrary lib("advapi32");

        // only resolve unicode versions
        RESOLVEW(RegisterServiceCtrlHandler);
        RESOLVE(SetServiceStatus);
        RESOLVEW(ChangeServiceConfig2);
        RESOLVE(CloseServiceHandle);
        RESOLVEW(CreateService);
        RESOLVEW(OpenSCManager);
        RESOLVE(DeleteService);
        RESOLVEW(OpenService);
        RESOLVE(QueryServiceStatus);
        RESOLVEW(StartServiceCtrlDispatcher);
        RESOLVEW(StartService); // need only Ansi version
        RESOLVE(ControlService);
        RESOLVE(DeregisterEventSource);
        RESOLVEW(ReportEvent);
        RESOLVEW(RegisterEventSource);
        RESOLVEW(QueryServiceConfig);
        RESOLVEW(QueryServiceConfig2);
    }
    return pOpenSCManager != 0;
}
bool QQuickControlSettings::resolveCurrentStylePath()
{
    if (!m_styleMap.contains(m_name)) {
        qWarning() << "WARNING: Cannot find style" << m_name;
        return false;
    }

    StyleData styleData = m_styleMap.value(m_name);

    if (styleData.m_stylePluginPath.isEmpty())
        return true; // It's not a plugin; don't have to do anything.

    typedef bool (*StyleInitFunc)();
    typedef const char *(*StylePathFunc)();

    QLibrary lib(styleData.m_stylePluginPath);
    if (!lib.load()) {
        qWarning().nospace() << "WARNING: Cannot load plugin " << styleData.m_stylePluginPath
            << " for style " << m_name << ": " << lib.errorString();
        return false;
    }

    // Check for the existence of this first, as we don't want to init if this doesn't exist.
    StyleInitFunc initFunc = (StyleInitFunc) lib.resolve("qt_quick_controls_style_init");
    if (initFunc)
        initFunc();
    StylePathFunc pathFunc = (StylePathFunc) lib.resolve("qt_quick_controls_style_path");
    if (pathFunc) {
        styleData.m_styleDirPath = QString::fromLocal8Bit(pathFunc());
        m_styleMap[m_name] = styleData;
        m_path = styleData.m_styleDirPath;
    }

    return true;
}
Example #6
0
void FitDialog::loadPlugins()
{
	typedef char* (*fitFunc)();

	ApplicationWindow *app = (ApplicationWindow *)this->parent();
	QString path = app->fitPluginsPath + "/";
	QDir dir(path);
	QStringList lst = dir.entryList(QDir::Files|QDir::NoSymLinks);

	for (int i=0; i<lst.count(); i++)
	{
		QLibrary lib(path + lst[i]);

		fitFunc name = (fitFunc) lib.resolve( "name" );
		fitFunc function = (fitFunc) lib.resolve("function");
		fitFunc params = (fitFunc) lib.resolve("parameters");

		if ( name && function && params )
		{
			d_plugin_function_names << QString(name());
			d_plugin_functions << QString(function());
			d_plugin_params << QString(params());
			d_plugin_files_list << lib.library();
		}
	}
}
void LiteLoaderInstaller::applyLaunchwrapper(std::shared_ptr<OneSixVersion> to)
{
    const QString intendedVersion = m_launcherWrapperVersionMapping[m_mcVersion];

    QMutableListIterator<std::shared_ptr<OneSixLibrary>> it(to->libraries);
    while (it.hasNext())
    {
        it.next();
        if (it.value()->rawName().startsWith("net.minecraft:launchwrapper:"))
        {
            if (it.value()->version() >= intendedVersion)
            {
                return;
            }
            else
            {
                it.remove();
            }
        }
    }

    std::shared_ptr<OneSixLibrary> lib(new OneSixLibrary(
                                           "net.minecraft:launchwrapper:" + m_launcherWrapperVersionMapping[m_mcVersion]));
    lib->finalize();
    to->libraries.prepend(lib);
}
Example #8
0
TEST_F(TrajectoryLibraryTest, RemainderTrajectorySimpleAltitude) {
    StereoOctomap octomap(bot_frames_);

    // get a trajectory
    TrajectoryLibrary lib(0);
    lib.LoadLibrary("trajtest/simple", true);

    double altitude = 5;

    BotTrans trans;
    bot_trans_set_identity(&trans);
    trans.trans_vec[2] = altitude;

    const Trajectory *traj = lib.GetTrajectoryByNumber(0);
    double dist = traj->ClosestObstacleInRemainderOfTrajectory(octomap, trans, 0, 0);


    EXPECT_EQ_ARM(dist, -1);

    // add an obstacle
    double point[3] = { 0, 0, 6};
    AddPointToOctree(&octomap, point, 0);

    dist = traj->ClosestObstacleInRemainderOfTrajectory(octomap, trans, 0, 0);

    EXPECT_EQ_ARM(dist, 6 - altitude);
}
Example #9
0
void tst_QPluginLoader::preloadedPlugin()
{
    // check that using QPluginLoader does not interfere with QLibrary
    QFETCH(QString, libname);
    QLibrary lib(libname);
    QVERIFY(lib.load());

    typedef int *(*pf_t)();
    pf_t pf = (pf_t)lib.resolve("pointerAddress");
    QVERIFY(pf);

    int *pluginVariable = pf();
    QVERIFY(pluginVariable);
    QCOMPARE(*pluginVariable, 0xc0ffee);

    {
        // load the plugin
        QPluginLoader loader(libname);
        QFETCH(bool, doLoad);
        if (doLoad && loader.load()) {
            // unload() returns false because QLibrary has it loaded
            QVERIFY(!loader.unload());
        }
    }

    QVERIFY(lib.isLoaded());

    // if the library was unloaded behind our backs, the following will crash:
    QCOMPARE(*pluginVariable, 0xc0ffee);
    QVERIFY(lib.unload());
}
Example #10
0
void loadLibraries(const QString& configFile)
{
    QVector<QString> libraryList;
    readDependencyConfigFile(configFile, libraryList);

    for(int i=0; i<libraryList.size(); ++i)
    {
        QString libPath = libraryList.at(i).simplified();  // remove spaces at the beginning and the end

        if(goodLibPath(libPath))
        {
            QFileInfo fi(libPath);
            QString fileName = fi.fileName();

            if (fileName == "touchmat.dll")
            {
                qDebug() << ">>>>>>>>> " << "Loading QtPlugin: " << libPath << ".............";
                loadQtPlugin(libPath);
            }
            else
            {
                qDebug() << ">>>>>>>>>> " << "Loading normal library: " << libPath << "............";
                QLibrary lib(libPath);
                if (!lib.load())
                {
                    qCritical() << "Failed to load: " << libPath;
                }
            }

            qDebug() << "";
        }
    }
}
int qt_retrieveNisPrinters(QList<QPrinterDescription> *printers)
{
#ifndef QT_NO_LIBRARY
    typedef int (*WildCast)(int, char *, int, char *, int, char *);
    char printersConfByname[] = "printers.conf.byname";
    char *domain;
    int err;

    QLibrary lib(QLatin1String("nsl"));
    typedef int (*ypGetDefaultDomain)(char **);
    ypGetDefaultDomain _ypGetDefaultDomain = (ypGetDefaultDomain)lib.resolve("yp_get_default_domain");
    typedef int (*ypAll)(const char *, const char *, const struct ypall_callback *);
    ypAll _ypAll = (ypAll)lib.resolve("yp_all");

    if (_ypGetDefaultDomain && _ypAll) {
        err = _ypGetDefaultDomain(&domain);
        if (err == 0) {
            ypall_callback cb;
            // wild cast to support K&R-style system headers
            (WildCast &) cb.foreach = (WildCast) qt_pd_foreach;
            cb.data = (char *) printers;
            err = _ypAll(domain, printersConfByname, &cb);
        }
        if (!err)
            return Success;
    }
#endif //QT_NO_LIBRARY
    return Unavail;
}
Example #12
0
HMODULE __stdcall FakeLoadLibraryA(LPCSTR lpFilePath)
{
	fs::path lib((const char*)lpFilePath);
	if (lib == "Game.dll")
	{
		if (!g_DllMod.hGameDll)
		{
			g_DllMod.hGameDll = ::LoadLibraryW((g_DllMod.patch_path / L"Game.dll").c_str());
			if (!g_DllMod.hGameDll)
			{
				g_DllMod.hGameDll = ::LoadLibraryW(L"Game.dll");
				if (!g_DllMod.hGameDll)
				{
					return g_DllMod.hGameDll;
				}
			}

			RealCreateWindowExA  = base::hook::iat(L"Game.dll", "user32.dll", "CreateWindowExA", (uintptr_t)FakeCreateWindowExA);
			if (g_DllMod.IsDisableSecurityAccess)
			{
				RealGameLoadLibraryA = base::hook::iat(L"Game.dll", "kernel32.dll", "LoadLibraryA", (uintptr_t)FakeGameLoadLibraryA);
			}

			HANDLE hMpq;
			aero::std_call<BOOL>(RealSFileOpenArchive, (g_DllMod.patch_path / "Patch.mpq").string().c_str(), 9, 6, &hMpq);

			g_DllMod.LoadPlugins();

			return g_DllMod.hGameDll;
		}
	}

	return aero::std_call<HMODULE>(RealLoadLibraryA, lpFilePath);
}
Example #13
0
static void resolveLibs()
{
#ifndef Q_OS_TEMP
    static bool triedResolve = false;

    if (!triedResolve) {
#ifdef QT_THREAD_SUPPORT
        // protect initialization
        QMutexLocker locker(qt_global_mutexpool ?
                             qt_global_mutexpool->get(&triedResolve) : 0);
        // check triedResolve again, since another thread may have already
        // done the initialization
        if (triedResolve) {
            // another thread did initialize the security function pointers,
            // so we shouldn't do it again.
            return;
        }
#endif

        triedResolve = true;
        if (qt_winunicode) {
            QLibrary lib("shell32");
            ptrSHBrowseForFolder = (PtrSHBrowseForFolder) lib.resolve("SHBrowseForFolderW");
            ptrSHGetPathFromIDList = (PtrSHGetPathFromIDList) lib.resolve("SHGetPathFromIDListW");
        }
    }
#endif
}
Example #14
0
bool DebuggerEngineLibrary::init(const QString &path,
                                 QString *dbgEngDLL,
                                 QString *errorMessage)
{
    // Load the dependent help lib first
    const QString helpLibPath = libPath(QLatin1String(dbgHelpDllC), path);
    QLibrary helpLib(helpLibPath, 0);
    if (!helpLib.isLoaded() && !helpLib.load()) {
        *errorMessage = msgLibLoadFailed(helpLibPath, helpLib.errorString());
        return false;
    }
    // Load dbgeng lib
    const QString engineLibPath = libPath(QLatin1String(dbgEngineDllC), path);
    QLibrary lib(engineLibPath, 0);
    if (!lib.isLoaded() && !lib.load()) {
        *errorMessage = msgLibLoadFailed(engineLibPath, lib.errorString());
        return false;
    }
    *dbgEngDLL = engineLibPath;
    // Locate symbols
    void *createFunc = lib.resolve(debugCreateFuncC);
    if (!createFunc) {
        *errorMessage = QCoreApplication::translate("Debugger::Cdb", "Unable to resolve '%1' in the debugger engine library '%2'").
                        arg(QLatin1String(debugCreateFuncC), QLatin1String(dbgEngineDllC));
        return false;
    }
    m_debugCreate = static_cast<DebugCreateFunction>(createFunc);
    return true;
}
Example #15
0
TEST(GeneralPlugin, load)
{
  DynamicLibrary::Ptr lib(new DynamicLibrary(""));
  PluginThread::Ptr thread(new PluginThread());
  GeneralPlugin::Params pluginParams(1, lib, thread);
  ASSERT_NO_THROW(GeneralPluginTest plugin(pluginParams));
}
Example #16
0
TEST_F(TrajectoryLibraryTest, ManyTrajectoriesWithTransform) {
    StereoOctomap octomap(bot_frames_);

    TrajectoryLibrary lib(0);
    lib.LoadLibrary("trajtest/full", true);

    double altitude = 30;

    double point[3] = {18, 12, 0};
    AddPointToOctree(&octomap, point, altitude);

    BotTrans trans;
    bot_trans_set_identity(&trans);
    trans.trans_vec[0] = 17;
    trans.trans_vec[1] = 11;
    trans.trans_vec[2] = altitude;

    // send th

    double dist;
    const Trajectory *best_traj;

    std::tie(dist, best_traj) = lib.FindFarthestTrajectory(octomap, trans, 5.0);

    DrawOriginLcmGl(lcm_);

    bot_lcmgl_color3f(lcmgl_, 0, 0, 1);
    best_traj->Draw(lcmgl_, &trans);


    EXPECT_EQ_ARM(best_traj->GetTrajectoryNumber(), 3);
    EXPECT_NEAR(dist, 1.025243, TOLERANCE);

    // now add a yaw
    trans.rot_quat[0] = 0.642787609686539;
    trans.rot_quat[1] = 0;
    trans.rot_quat[2] = 0;
    trans.rot_quat[3] = 0.766044443118978;

    bot_lcmgl_color3f(lcmgl_, 1, 0, 0);
    best_traj->Draw(lcmgl_, &trans);
    bot_lcmgl_switch_buffer(lcmgl_);

    std::tie(dist, best_traj) = lib.FindFarthestTrajectory(octomap, trans, 5.0);
    //lib.Draw(lcm_, &trans);

    EXPECT_EQ_ARM(best_traj->GetTrajectoryNumber(), 2);
    EXPECT_NEAR(dist, 1.174604, TOLERANCE);

    // now have a transform with roll, pitch, and yaw
    trans.rot_quat[0] = 0.863589399067779;
    trans.rot_quat[1] = -0.004581450790098;
    trans.rot_quat[2] = 0.298930259006064;
    trans.rot_quat[3] = 0.405996379758463;

    std::tie(dist, best_traj) = lib.FindFarthestTrajectory(octomap, trans, 5.0);

    EXPECT_EQ_ARM(best_traj->GetTrajectoryNumber(), 4);
    EXPECT_NEAR(dist, 0.327772, TOLERANCE);
}
Example #17
0
TEST_F(TrajectoryLibraryTest, ManyPointsAgainstMatlab) {
    StereoOctomap octomap(bot_frames_);
    double altitude = 30;

    // load points
    AddManyPointsToOctree(&octomap, x_points_, y_points_, z_points_, number_of_reference_points_, altitude);

    TrajectoryLibrary lib(0);

    lib.LoadLibrary("trajtest/many", true);


    BotTrans trans;
    bot_trans_set_identity(&trans);
    trans.trans_vec[2] = altitude;

    double dist;
    const Trajectory *best_traj;
    std::tie(dist, best_traj) = lib.FindFarthestTrajectory(octomap, trans, 50.0);

    ASSERT_TRUE(best_traj != nullptr);

    EXPECT_EQ_ARM(best_traj->GetTrajectoryNumber(), 1);

    EXPECT_NEAR(dist, 4.2911, 0.001);


}
Example #18
0
    std::shared_ptr<statefs_provider> load(std::string const& path
                                           , statefs_server *server)
    {
        std::shared_ptr<cor::SharedLib> lib
            (new cor::SharedLib(path, RTLD_LAZY));
        if (!lib->is_loaded())
            return nullptr;
        auto fn = lib->sym<statefs_provider_fn>
            (statefs_provider_accessor());
        if (!fn)
            return nullptr;

        statefs::provider_ptr res
            (fn(server), [lib](statefs_provider* p) mutable {
                if (p)
                    statefs_provider_release(p);
                lib.reset();
            });

        if (!res)
            return nullptr;

        if (!statefs_is_compatible(STATEFS_CURRENT_VERSION, res.get())) {
            std::cerr << "statefs: Incompatible provider version "
                      << res->version << " vs "
                      << STATEFS_CURRENT_VERSION;
            return nullptr;
        }


        return res;
    }
Example #19
0
TEST_F(TrajectoryLibraryTest, RemainderTrajectory) {
    StereoOctomap octomap(bot_frames_);

    // Load a complicated trajectory
    TrajectoryLibrary lib(0);
    lib.LoadLibrary("trajtest/many", true);

    double altitude = 30;
    BotTrans trans;
    bot_trans_set_identity(&trans);
    trans.trans_vec[2] = altitude;

    const Trajectory *traj = lib.GetTrajectoryByNumber(1);

    double dist;

    double point[3] = { 6.65, -7.23, 9.10 };
    AddPointToOctree(&octomap, point, altitude);
    dist = traj->ClosestObstacleInRemainderOfTrajectory(octomap, trans, 0, 0);
    EXPECT_NEAR(dist, 11.748141101535500, TOLERANCE2); // from matlab

    dist = traj->ClosestObstacleInRemainderOfTrajectory(octomap, trans, 0.95, 0);
    EXPECT_NEAR(dist, 11.8831, TOLERANCE2);

    dist = traj->ClosestObstacleInRemainderOfTrajectory(octomap, trans, 1.5, 0); // t after trajectory
    EXPECT_NEAR(dist, 12.3832, TOLERANCE2); // from matlab
}
Example #20
0
QString QWpsDrawer::getModelName(QString libraryName) {
    QLibrary lib(libraryName);
    if ((pfget_model_name)lib.resolve("get_model_name"))
        return ((pfget_model_name)lib.resolve("get_model_name"))();
    DEBUGF1("ERR: failed to resolve <get_model_name>");
    return "unknown";
}
Example #21
0
void
LibraryNotify::receive (UAS_CollectionRetrievedMsg &message, void *client_data)
{
  ON_DEBUG (printf ("Got Library Notify message!\n"));
  UAS_Pointer<UAS_Common> lib(message.fCol->root());
  search_scope_mgr().insert (lib);
}
Example #22
0
bool QWpsDrawer::tryResolve() {
    QLibrary lib(mCurTarget);
    lib_wps_init = (pfwps_init)lib.resolve("wps_init");
    lib_wps_display = (pfwps_display)lib.resolve("wps_display");
    lib_wps_refresh = (pfwps_refresh)lib.resolve("wps_refresh");
    lib_get_model_name = (pfget_model_name)lib.resolve("get_model_name");
    mResolved = lib_wps_init && lib_wps_display && lib_wps_refresh && lib_get_model_name;
    if (!mResolved)
        DEBUGF1(tr("ERR: Failed to resolve funcs!"));
    else {
        int v = api.verbose;
        memset(&api,0,sizeof(struct proxy_api));
        api.verbose = v;
        api.putsxy =                    &QWpsDrawer::putsxy;
        api.transparent_bitmap_part =   &QWpsDrawer::transparent_bitmap_part;
        api.bitmap_part =               &QWpsDrawer::bitmap_part;
        api.drawpixel =                 &QWpsDrawer::drawpixel;
        api.fillrect =                  &QWpsDrawer::fillrect;
        api.hline =                     &QWpsDrawer::hline;
        api.vline =                     &QWpsDrawer::vline;
        api.clear_viewport =            &QWpsDrawer::clear_viewport;
        api.load_wps_backdrop =         &QWpsDrawer::load_wps_backdrop;
        api.read_bmp_file =             &QWpsDrawer::read_bmp_file;
        api.debugf =                    &qlogger;
        qDebug()<<(mCurTarget+" resolved");
    }
    return mResolved;
}
Example #23
0
void *QGLContext::getProcAddress(const QString &proc) const
{
    typedef void *(*qt_glXGetProcAddressARB)(const GLubyte *);
    static qt_glXGetProcAddressARB glXGetProcAddressARB = 0;
    static bool resolved = false;

    if (resolved && !glXGetProcAddressARB)
        return 0;
    if (!glXGetProcAddressARB) {
        QString glxExt = QString(QLatin1String(glXGetClientString(QX11Info::display(), GLX_EXTENSIONS)));
        if (glxExt.contains(QLatin1String("GLX_ARB_get_proc_address"))) {
#if defined(Q_OS_LINUX) || defined(Q_OS_BSD4)
            void *handle = dlopen(NULL, RTLD_LAZY);
            if (handle) {
                glXGetProcAddressARB = (qt_glXGetProcAddressARB) dlsym(handle, "glXGetProcAddressARB");
                dlclose(handle);
            }
            if (!glXGetProcAddressARB)
#endif
            {
                extern const QString qt_gl_library_name();
                QLibrary lib(qt_gl_library_name());
                glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
            }
        }
        resolved = true;
    }
    if (!glXGetProcAddressARB)
        return 0;
    return glXGetProcAddressARB(reinterpret_cast<const GLubyte *>(proc.toLatin1().data()));
}
Example #24
0
auto_release_ptr<Plugin> PluginCache::load(const char* path)
{
    boost::lock_guard<boost::mutex> lock(g_plugin_cache_mutex);

    // Check if we loaded this plugin before.
    PluginCacheType::iterator it = g_plugin_cache.find(path);
    if (it != g_plugin_cache.end())
    {
        if (boost::shared_ptr<SharedLibrary> lib = it->second.lock())
        {
            Plugin::Impl* impl = new Plugin::Impl(lib);
            return auto_release_ptr<Plugin>(new Plugin(impl));
        }
    }

    // If this plugin is not in the cache, load the shared lib.
    boost::shared_ptr<SharedLibrary> lib(new SharedLibrary(path), PluginDeleter());

    // Try to call the initialization function if defined.
    Plugin::InitPluginFnType init_fn =
        reinterpret_cast<Plugin::InitPluginFnType>(
            lib->get_symbol("initialize_plugin"));
    if (init_fn)
    {
        if (!init_fn())
            throw ExceptionPluginInitializationFailed();
    }

    Plugin::Impl* impl = new Plugin::Impl(lib);
    g_plugin_cache[path] = boost::weak_ptr<SharedLibrary>(lib);
    return auto_release_ptr<Plugin>(new Plugin(impl));
}
Example #25
0
ctkPluginManager::ctkPluginManager()
: d_ptr(new ctkPluginManagerPrivate())
{
  Q_D(ctkPluginManager);

  QString libName("CTKCore");
  QLibrary lib(libName);
  QFileInfo fileInfo(libName);
  QString libBaseName(fileInfo.baseName());
  if (libBaseName.startsWith("lib"))
  {
    libBaseName.remove(0, 3);
  }
  qDebug() << libBaseName;
  lib.load();
  if (lib.isLoaded())
  {
    QString xyz = QString(":/") + libBaseName + "/servicedescriptor.xml";
    qDebug() << "resource string: " << xyz;
    QFile serviceDescriptor(xyz);
    qDebug() << "file exists: " << serviceDescriptor.exists();
    qDebug() << "open returns:" << serviceDescriptor.open(QIODevice::ReadOnly);
    qDebug() << "file open: " << serviceDescriptor.isOpen();
    qDebug() << "file is readable: " << serviceDescriptor.isReadable();
    //QByteArray serviceBA = serviceDescriptor.readAll();
    //qDebug() << serviceBA;
    qDebug() << "Service for " << libBaseName << " registered:" << d->serviceManager.addService(&serviceDescriptor);
    lib.unload();
  }
}
Example #26
0
	static bool loadLibIDN()
	{
		if (Jreen_idn_stringprep)
			return true;
		if (triedToInit)
			return false;
		triedToInit = true;
		QLibrary lib(QLatin1String("idn"));
		if (!lib.load()) {
#ifdef Q_OS_WIN32
			QStringList paths = QStringList()
			        << QLatin1String("idn-11")
			        << QLatin1String("libidn-11")
			        << QLatin1String("libidn");
			bool ok = false;
			for (int i = 0; !ok && i < paths.size(); i++) {
				lib.setFileName(paths.at(i));
				ok |= lib.load();
			}
			if (!ok)
#endif // Q_OS_WIN32
				return false;
		}
		Jreen_idn_stringprep_nameprep
				= reinterpret_cast<Stringprep_profile*>(lib.resolve("stringprep_nameprep"));
		Jreen_idn_stringprep_xmpp_nodeprep
				= reinterpret_cast<Stringprep_profile*>(lib.resolve("stringprep_xmpp_nodeprep"));
		Jreen_idn_stringprep_xmpp_resourceprep
				= reinterpret_cast<Stringprep_profile*>(lib.resolve("stringprep_xmpp_resourceprep"));
		Jreen_idn_stringprep = reinterpret_cast<Jreen_idn_stringprep_>(lib.resolve("stringprep"));
		return true;
	}
Example #27
0
static void resolveLibrary()
{
#if !defined(QT_NO_LIBRARY) && !defined(Q_OS_QNX)
    QLibrary lib(QLatin1String("resolv"));
    lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
    if (!lib.load())
        return;

    local_res_init = res_init_proto(lib.resolve("__res_init"));
    if (!local_res_init)
        local_res_init = res_init_proto(lib.resolve("res_init"));

    local_res_ninit = res_ninit_proto(lib.resolve("__res_ninit"));
    if (!local_res_ninit)
        local_res_ninit = res_ninit_proto(lib.resolve("res_ninit"));

    if (!local_res_ninit) {
        // if we can't get a thread-safe context, we have to use the global _res state
        local_res = res_state_ptr(lib.resolve("_res"));
    } else {
        local_res_nclose = res_nclose_proto(lib.resolve("res_nclose"));
        if (!local_res_nclose)
            local_res_nclose = res_nclose_proto(lib.resolve("__res_nclose"));
        if (!local_res_nclose)
            local_res_ninit = 0;
    }
#endif
}
Example #28
0
//---------------------------- PUBLIC           -----------------------------//
wxBaseRadioButton::wxBaseRadioButton(wxWindow* parent, wxWindowID id, 
									 const wxString& label, 
									 const HashString &color, 
									 const HashString &font, const wxPoint& pos, 
									 const wxSize& size, long style)
: wxRadioButton(parent, id, label, pos, size, style)
, BaseSkinMixin<wxBaseRadioButton>(color, font, shInputBackground)
{
#ifdef __WIN32__
	if ( wxApp::GetComCtl32Version() >= 600 )
    {
		wxLogNull nolog;

		typedef boost::scoped_ptr<wxDynamicLibrary> DynamicLibraryPtr;

		DynamicLibraryPtr lib(new wxDynamicLibrary);
		if(true == lib->Load(wxT("uxtheme.dll")))
		{
			typedef HRESULT (__stdcall *PFNWXUSETWINDOWTHEME)(WXHWND, 
				const wchar_t*, const wchar_t *) ;

			PFNWXUSETWINDOWTHEME func = (PFNWXUSETWINDOWTHEME) 
				lib->GetSymbol(_T("SetWindowTheme"));
			if(func)
			{
				func((HWND) GetHWND(), LPCWSTR(" "), LPCWSTR(" "));
			}
		}
	}
#endif

	OnSkin();
}
Example #29
0
void* QGLXContext::getProcAddress(const QString& procName)
{
    Q_XCB_NOOP(m_screen->connection());
    typedef void *(*qt_glXGetProcAddressARB)(const GLubyte *);
    static qt_glXGetProcAddressARB glXGetProcAddressARB = 0;
    static bool resolved = false;

    if (resolved && !glXGetProcAddressARB)
        return 0;
    if (!glXGetProcAddressARB) {
        QList<QByteArray> glxExt = QByteArray(glXGetClientString(DISPLAY_FROM_XCB(m_screen), GLX_EXTENSIONS)).split(' ');
        if (glxExt.contains("GLX_ARB_get_proc_address")) {
#if defined(Q_OS_LINUX) || defined(Q_OS_BSD4)
            void *handle = dlopen(NULL, RTLD_LAZY);
            if (handle) {
                glXGetProcAddressARB = (qt_glXGetProcAddressARB) dlsym(handle, "glXGetProcAddressARB");
                dlclose(handle);
            }
            if (!glXGetProcAddressARB)
#endif
            {
                extern const QString qt_gl_library_name();
//                QLibrary lib(qt_gl_library_name());
                QLibrary lib(QLatin1String("GL"));
                glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
            }
        }
        resolved = true;
    }
    if (!glXGetProcAddressARB)
        return 0;
    return glXGetProcAddressARB(reinterpret_cast<const GLubyte *>(procName.toLatin1().data()));
}
Example #30
0
bool KCMInit::runModule(const QString &libName, KService::Ptr service)
{
    QLibrary lib(libName);
    if (lib.load()) {
        QVariant tmp = service->property("X-KDE-Init-Symbol", QVariant::String);
        QString kcminit;
        if ( tmp.isValid() ) {
            kcminit = tmp.toString();
            if( !kcminit.startsWith( QLatin1String( "kcminit_" ) ) )
                kcminit = "kcminit_" + kcminit;
        } else {
            kcminit = "kcminit_" + libName;
        }

        // get the kcminit_ function
        void *init = lib.resolve(kcminit.toUtf8());
        if (init) {
            // initialize the module
            kDebug(1208) << "Initializing " << libName << ": " << kcminit;

            void (*func)() = (void(*)())init;
            func();
            return true;
        } else {
            kDebug(1208) << "Module" << libName << "does not actually have a kcminit function";
        }
    }
    return false;
}