Beispiel #1
0
QStringList pluginPaths()
{
	QStringList paths;
#ifndef DEVELOPER_MODE
	const QString qcaPluginPath = qgetenv("QCA_PLUGIN_PATH");
	if (!qcaPluginPath.isEmpty())
	{
#ifdef Q_OS_WIN
		QLatin1Char pathSep(';');
#else
		QLatin1Char pathSep(':');
#endif
		foreach (const QString &path, qcaPluginPath.split(pathSep))
		{
			QString canonicalPath = QDir(path).canonicalPath();
			if (!canonicalPath.isEmpty())
				paths << canonicalPath;
		}

	}
Beispiel #2
0
void QFileSelectorPrivate::updateSelectors()
{
    if (!sharedData->staticSelectors.isEmpty())
        return; //Already loaded

    QLatin1Char pathSep(',');
    QStringList envSelectors = QString::fromLatin1(qgetenv("QT_FILE_SELECTORS"))
                                .split(pathSep, QString::SkipEmptyParts);
    if (envSelectors.count())
        sharedData->staticSelectors << envSelectors;

    if (!qEnvironmentVariableIsEmpty(env_override))
        return;

    sharedData->staticSelectors << sharedData->preloadedStatics; //Potential for static selectors from other modules

    // TODO: Update on locale changed?
    sharedData->staticSelectors << QLocale().name();

    sharedData->staticSelectors << platformSelectors();
}
Beispiel #3
0
bool osgDoInit(OSG::Int32, 
               OSG::Char8 **,
               OSG::UInt16   major,
               OSG::UInt16   minor,
               OSG::UInt16   release,
               bool          debug,
               bool          dll,
               bool          mt)
{
    CompileConfig prog(major, 
                       minor, 
                       release, 
                       debug, 
                       dll, 
                       mt);

    CompileConfig lib (OSG_MAJOR_VERSION, 
                       OSG_MINOR_VERSION, 
                       OSG_RELEASE_VERSION,
                       OSG_INIT_DEBUG,
                       OSG_INIT_DLL,
                       OSG_INIT_MT);
    
    if(lib.compare(prog))
    {
        exit(1);
    }

#ifdef WIN32 
    // Very crude way to safeguard on low level cast, have to find a better
    // way later.
    OSG_ASSERT(sizeof(UInt32) == sizeof(long));
#endif

    bool returnValue = true;
    
    if(GlobalSystemState != Startup)
    {
        FFATAL(("osgInit: System was already initialized; repeated calls are "
                "NOT allowed.\n"));
                
        returnValue = false;
    }

    if(returnValue == false)
        return returnValue;

    returnValue = SharedObjectHandler::the()->initialize();

    if(osgPreloadSharedObject != NULL)
    {
        for(UInt32 i = 0; i < osgPreloadSharedObject->size(); ++i)
        {
            SharedObjectHandler::the()->getOSGSharedObject(
                (*osgPreloadSharedObject)[i].c_str());
        }
    }

#ifdef WIN32
    std::string pathSep(";");
#else
    std::string pathSep(":");
#endif

    char *szEnvLibs = getenv("OSG_LOAD_LIBS");

    if(szEnvLibs != NULL)
    {
        std::string tmpString(szEnvLibs);
        string_token_iterator libIt(tmpString, pathSep.c_str());

        string_token_iterator libEnd;

        while(libIt != libEnd)
        {
            SharedObjectHandler::the()->getOSGSharedObject(
                (*libIt).c_str());

            ++libIt;
        }
    }

    const char *szEnvPlugins       = getenv("OSG_PLUGIN_PATH");
    const char *szEnvPluginPattern = getenv("OSG_PLUGIN_PATTERN");

    //SharedObjectHandler::the()->dump();

    if(szEnvPlugins != NULL)
    {
        if(szEnvPluginPattern == NULL)
        {
            szEnvPluginPattern = PluginPattern;
        }

        fprintf(stderr, "Get Plugins %s from %s\n", 
                szEnvPluginPattern,
                szEnvPlugins);

        std::vector<Char8 *> *pPlugins = 
            Directory::getEntries(szEnvPlugins, szEnvPluginPattern);

        if(pPlugins != NULL)
        {
            std::string szPluginName;

            for(UInt32 i = 0; i < pPlugins->size(); ++i)
            {
                if((*pPlugins)[i][0] == '.')
                {
                    if((*pPlugins)[i][1] == '\0')
                    {
                        continue;
                    }
                    else if((*pPlugins)[i][1] == '.' &&
                            (*pPlugins)[i][2] == '\0')
                    {
                        continue;
                    }
                }

                szPluginName.assign(szEnvPlugins);
                szPluginName += '/';
                szPluginName += (*pPlugins)[i];

                fprintf(stderr, "plugin : %s\n", szPluginName.c_str());

                SharedObjectHandler::the()->getSharedObject(
                    szPluginName.c_str());
            }
        }

        delete pPlugins;
    }

    if(osgLibraryVersions != NULL)
    {
        FNOTICE(("osgInit:  Main Version                  : %s\n", OSG_VERSION_STRING));
        for(LibVersionMap::const_iterator LibMapItor(osgLibraryVersions->begin());
            LibMapItor != osgLibraryVersions->end();
            ++LibMapItor)
        {
            FNOTICE(("osgInit:  %-30s: %-10s  Rev: %s\n",
                     LibMapItor->first.c_str(),
                     LibMapItor->second.first.c_str(),
                     LibMapItor->second.second.c_str()));
        }
    }
    
    //SharedObjectHandler::the()->dump();

    if(returnValue == false)
        return returnValue;

    // without it floats could be written as "1,456" ...
    setlocale(LC_NUMERIC, "English");

    if(osgPreMPInitFunctions != NULL)
    {
        for(UInt32 i = 0; i < osgPreMPInitFunctions->size(); i++)
        {
            returnValue &= (*osgPreMPInitFunctions)[i]();

            if(returnValue == false)
                break;
        }

        osgPreMPInitFunctions->clear();
    }

    if(returnValue == false)
        return returnValue;

    returnValue &= ThreadManager::initialize();

    if(returnValue == false)
        return returnValue;

    if(osgPreFactoryInitFunctions != NULL)
    {
        for(UInt32 i = 0; i < osgPreFactoryInitFunctions->size(); i++)
        {
            returnValue &= (*osgPreFactoryInitFunctions)[i]();

            if(returnValue == false)
                break;
        }

        osgPreFactoryInitFunctions->clear();
    }

    if(returnValue == false)
        return returnValue;

    returnValue &= FactoryController::the()->initialize();

    if(returnValue == false)
        return returnValue;

    if(osgPostFactoryInitFunctions != NULL)
    {
        for(UInt32 i = 0; i < osgPostFactoryInitFunctions->size(); i++)
        {
            returnValue &= (*osgPostFactoryInitFunctions)[i]();

            if(returnValue == false)
                break;
        }

        osgPostFactoryInitFunctions->clear();
    }

    GlobalSystemState = Running;

    osgLog().setLogLevel(OSG_DEFAULT_LOG_LEVEL);

    return returnValue;
}