Esempio n. 1
0
void Converter::initialize()
{
    initialized = true;
    QLibrary libopencc;
    libopencc.setFileNameAndVersion("opencc", "1.0.0");

    if (!libopencc.load())
        return;

    opencc_open = (opencc_t (*)(const char *))libopencc.resolve("opencc_open");
    if (opencc_open == NULL)
        return;

    opencc_close = (int (*)(opencc_t))libopencc.resolve("opencc_close");
    if (opencc_close == NULL)
        return;

    opencc_convert_utf8 = (char * (*)(opencc_t, const char *, size_t))libopencc.resolve("opencc_convert_utf8");
    if (opencc_convert_utf8 == NULL)
        return;

    opencc_errno = (opencc_error (*)(void))libopencc.resolve("opencc_errno");
    if (opencc_errno == NULL)
        return;

    opencc_perror = (void (*)(const char *))libopencc.resolve("opencc_perror");
    if (opencc_perror == NULL)
        return;

    s_loaded = true;
}
Esempio n. 2
0
  foreach ( QString key, providersList )
  {
    QLibrary *library = QgsProviderRegistry::instance()->providerLibrary( key );
    if ( !library )
      continue;

    dataCapabilities_t * dataCapabilities = ( dataCapabilities_t * ) cast_to_fptr( library->resolve( "dataCapabilities" ) );
    if ( !dataCapabilities )
    {
      QgsDebugMsg( library->fileName() + " does not have dataCapabilities" );
      continue;
    }

    int capabilities = dataCapabilities();
    if ( capabilities == QgsDataProvider::NoDataCapabilities )
    {
      QgsDebugMsg( library->fileName() + " does not have any dataCapabilities" );
      continue;
    }

    dataItem_t *dataItem = ( dataItem_t * ) cast_to_fptr( library->resolve( "dataItem" ) );
    if ( !dataItem )
    {
      QgsDebugMsg( library->fileName() + " does not have dataItem" );
      continue;
    }

    QgsDataItem *item = dataItem( "", NULL );  // empty path -> top level
    if ( item )
    {
      QgsDebugMsg( "Add new top level item : " + item->name() );
      connectItem( item );
      providerMap.insertMulti( capabilities, item );
    }
  }
Esempio n. 3
0
	virtual Function FindFunction(const char *name) {
		if (lib) {
			void *fnAddress = (void*)lib->resolve(name);
			return static_cast<Function>(fnAddress);
		}
		return NULL;
	}
Esempio n. 4
0
Garmin::IDevice * CDeviceGarmin::getDevice()
{
    Garmin::IDevice * (*func)(const char*) = 0;
    Garmin::IDevice * dev = 0;

#if defined(Q_OS_MAC)
    // MacOS X: plug-ins are stored in the bundle folder
    QString libname     = QString("%1/lib%2" XSTR(SHARED_LIB_EXT))
        .arg(QCoreApplication::applicationDirPath().replace(QRegExp("MacOS$"), "Resources/Drivers"))
        .arg(devkey);
#else
    QString libname     = QString("%1/lib%2" XSTR(SHARED_LIB_EXT)).arg(XSTR(PLUGINDIR)).arg(devkey);
#endif
    QString funcname    = QString("init%1").arg(devkey);

    QLibrary lib;
    lib.setFileName(libname);
    bool lib_loaded = lib.load();
    if (lib_loaded)
    {
        func = (Garmin::IDevice * (*)(const char*))lib.resolve(funcname.toLatin1());
    }

    if(!lib_loaded || func == 0)
    {
        QMessageBox warn;
        warn.setIcon(QMessageBox::Warning);
        warn.setWindowTitle(tr("Error ..."));
        warn.setText(tr("Failed to load driver."));
        warn.setDetailedText(lib.errorString());
        warn.setStandardButtons(QMessageBox::Ok);
        warn.exec();
        return 0;
    }

    dev = func(INTERFACE_VERSION);
    if(dev == 0)
    {
        QMessageBox warn;
        warn.setIcon(QMessageBox::Warning);
        warn.setWindowTitle(tr("Error ..."));
        warn.setText(tr("Driver version mismatch."));
        QString detail = QString(
            tr("The version of your driver plugin \"%1\" does not match the version QLandkarteGT expects (\"%2\").")
            ).arg(libname).arg(INTERFACE_VERSION);
        warn.setDetailedText(detail);
        warn.setStandardButtons(QMessageBox::Ok);
        warn.exec();
        func = 0;
    }

    if(dev)
    {
        dev->setPort(port.toLatin1());
        dev->setGuiCallback(GUICallback,this);
    }

    return dev;
}
static T resolveFunction(QLibrary &lib, const char *name)
{
  T temp = reinterpret_cast<T>(lib.resolve(name));
  if (temp == nullptr) {
    throw std::runtime_error(QObject::tr("invalid 7-zip32.dll: %1").arg(lib.errorString()).toLatin1().constData());
  }
  return temp;
}
Esempio n. 6
0
bool QgsTransaction::supportsTransaction( const QgsVectorLayer* layer )
{
  QLibrary* lib = QgsProviderRegistry::instance()->providerLibrary( layer->providerType() );
  if ( !lib )
    return false;

  return lib->resolve( "createTransaction" );
}
Esempio n. 7
0
 QFunctionPointer resolve(const char* name)
 {
     QFunctionPointer ptr = m_libUdev.resolve(name);
     if (!ptr) {
         qWarning("libudev could not resolve expected symbol %s", name);
         m_loaded = false;
     }
     return ptr;
 }
//eComnpass libray funcitons
void eCompass_GetVersion(int *pMajorVer, int *pMinorVer)
{
    if(eCompass.isLoaded())
    {
        pFuncGetVersion eCompass_GetVersion = (pFuncGetVersion) eCompass.resolve("eCompass_GetVersion");
        if(eCompass_GetVersion)
        {
            eCompass_GetVersion(pMajorVer, pMinorVer);
        }
    }
}
Esempio n. 9
0
BOOL CAD_Stop(void)
{
    if(Nordic.isLoaded())
    {
        pFuncGetBool CAD_Stop = (pFuncGetBool)Nordic.resolve("CAD_Stop");
        if(CAD_Stop)
        {
            return CAD_Stop();
        }
    }
	return FALSE;
}
Esempio n. 10
0
BOOL NOR_Open(void)
{
    if(Nordic.isLoaded())
    {
        pFuncGetBool NOR_Open = (pFuncGetBool)Nordic.resolve("NOR_Open");
        if(NOR_Open)
        {
            return NOR_Open();
        }
    }
	return FALSE;
}
Esempio n. 11
0
USHORT CAD_GetCandence(void)
{
    if(Nordic.isLoaded())
    {
        pFuncGetUShort CAD_GetCandence = (pFuncGetUShort)Nordic.resolve("CAD_GetCandence");
        if(CAD_GetCandence)
        {
            return CAD_GetCandence();
        }
    }
	return NULL;
}
Esempio n. 12
0
BOOL HRS_Stop(void)
{
    if(Nordic.isLoaded())
    {
        pFuncGetBool HRS_Stop = (pFuncGetBool)Nordic.resolve("HRS_Stop");
        if(HRS_Stop)
        {
            return HRS_Stop();
        }
    }
	return FALSE;
}
Esempio n. 13
0
UCHAR* RTK_GetRxBuf(void)
{
    if(Nordic.isLoaded())
    {
        pFuncGetUCHARPt RTK_GetRxBuf = (pFuncGetUCHARPt)Nordic.resolve("RTK_GetRxBuf");
        if(RTK_GetRxBuf)
        {
            return RTK_GetRxBuf();
        }
    }
	return NULL;
}
Esempio n. 14
0
BOOL SND_SendTxBuf(UCHAR *ucTxBuf)
{
    if(Nordic.isLoaded())
    {
        pFuncGetBoolParamUCharPt SND_SendTxBuf = (pFuncGetBoolParamUCharPt)Nordic.resolve("SND_SendTxBuf");
        if(SND_SendTxBuf)
        {
            return SND_SendTxBuf(ucTxBuf);
        }
    }
	return FALSE;
}
Esempio n. 15
0
BOOL RTK_Stop(void)
{
    if(Nordic.isLoaded())
    {
        pFuncGetBool RTK_Stop = (pFuncGetBool)Nordic.resolve("RTK_Stop");
        if(RTK_Stop)
        {
            return RTK_Stop();
        }
    }
	return FALSE;
}
Esempio n. 16
0
UCHAR HRS_GetHeartRate(void)
{
    if(Nordic.isLoaded())
    {
        pFuncGetUCHAR HRS_GetHeartRate = (pFuncGetUCHAR)Nordic.resolve("HRS_GetHeartRate");
        if(HRS_GetHeartRate)
        {
            return HRS_GetHeartRate();
        }
    }
	return NULL;
}
Esempio n. 17
0
BOOL eCompass_Init()
{
    if(eCompass.isLoaded())
    {
        pFuncGetInt eCompass_Init = (pFuncGetInt) eCompass.resolve("eCompass_Init");
        if(eCompass_Init)
        {
            return eCompass_Init();
        }
    }
	return FALSE;
}
Esempio n. 18
0
BOOL NOR_GetChID(UCHAR ucChannel, UCHAR *ucManufact, USHORT *usDeviceNum)
{
    if(Nordic.isLoaded())
    {
        pFuncGetId NOR_GetChID = (pFuncGetId)Nordic.resolve("NOR_GetChID");
        if(NOR_GetChID)
        {
            return NOR_GetChID(ucChannel,ucManufact,usDeviceNum);
        }
    }
	return FALSE;
}
Esempio n. 19
0
BOOL HRS_Start(USHORT usDeviceNumber, UCHAR ucManufactureID)
{
    if(Nordic.isLoaded())
    {
        pFuncStart HRS_Start = (pFuncStart)Nordic.resolve("HRS_Start");
        if(HRS_Start)
        {
            return HRS_Start(usDeviceNumber,ucManufactureID);
        }
    }
	return FALSE;
}
Esempio n. 20
0
BOOL NOR_Reset(void)
{
    if(Nordic.isLoaded())
    {
        pFuncGetBool NOR_Reset = (pFuncGetBool)Nordic.resolve("NOR_Reset");
        if(NOR_Reset)
        {
            return NOR_Reset();
        }
    }
	return FALSE;
}
Esempio n. 21
0
UCHAR NOR_GetChStatus(UCHAR ucChannel)
{
    if(Nordic.isLoaded())
    {
        pFuncGetUCHARParamUCHAR NOR_GetChStatus = (pFuncGetUCHARParamUCHAR)Nordic.resolve("NOR_GetChStatus");
        if(NOR_GetChStatus)
        {
            return NOR_GetChStatus(ucChannel);
        }
    }
	return NULL;
}
Esempio n. 22
0
BOOL NOR_Close(void)
{
    if(Nordic.isLoaded())
    {
        pFuncGetBool NOR_Close = (pFuncGetBool)Nordic.resolve("NOR_Close");
        if(NOR_Close)
        {
            return NOR_Close();
        }
    }
	return FALSE;
}
Esempio n. 23
0
BOOL SND_Stop(void)
{
    if(Nordic.isLoaded())
    {
        pFuncGetBool SND_Stop = (pFuncGetBool)Nordic.resolve("SND_Stop");
        if(SND_Stop)
        {
            return SND_Stop();
        }
    }
	return FALSE;
}
Esempio n. 24
0
BOOL eCompass_Stop()
{
    if(eCompass.isLoaded())
    {
        pFuncGetInt eCompass_Stop = (pFuncGetInt) eCompass.resolve("eCompass_Stop");
        if(eCompass_Stop)
        {
            return eCompass_Stop();
        }
    }
	return FALSE;
}
Esempio n. 25
0
BOOL SND_Start(void)
{
    if(Nordic.isLoaded())
    {
        pFuncGetBool SND_Start = (pFuncGetBool)Nordic.resolve("SND_Start");
        if(SND_Start)
        {
            return SND_Start();
        }
    }
	return FALSE;
}
Esempio n. 26
0
void tst_QLibrary::errorString()
{
    QFETCH(int, operation);
    QFETCH(QString, fileName);
    QFETCH(bool, success);
    QFETCH(QString, errorString);

    QLibrary lib;
    if (!(operation & DontSetFileName)) {
        lib.setFileName(fileName);
    }

    bool ok = false;
    switch (operation & OperationMask) {
        case Load:
            ok = lib.load();
            break;
        case Unload:
            ok = lib.load();    //###
            ok = lib.unload();
            break;
        case Resolve: {
            ok = lib.load();
            QCOMPARE(ok, true);
            if (success) {
                ok = lib.resolve("mylibversion");
            } else {
                ok = lib.resolve("nosuchsymbol");
            }
            break;}
        default:
            QFAIL(qPrintable(QString("Unknown operation: %1").arg(operation)));
            break;
    }
    QRegExp re(errorString);
    QString libErrorString = lib.errorString();
    QVERIFY(!lib.isLoaded() || lib.unload());
    QVERIFY2(re.exactMatch(libErrorString), qPrintable(libErrorString));
    QCOMPARE(ok, success);
}
	qint64 GetLibAPILevel (const QString& file)
	{
		if (file.isEmpty ())
			return static_cast<quint64> (-1);

		QLibrary library (file);
		if (!library.load ())
			return static_cast<quint64> (-1);

		typedef quint64 (*APIVersion_t) ();
		auto getter = reinterpret_cast<APIVersion_t> (library.resolve ("GetAPILevels"));
		return getter ? getter () : static_cast<quint64> (-1);
	}
Esempio n. 28
0
short eCompass_GetYaw()
{
	ECOMPASS_INFO Info;

    if(eCompass.isLoaded())
    {
        pFuncCompassInfo eCompass_GetInfo = (pFuncCompassInfo) eCompass.resolve("eCompass_GetInfo");
        if(eCompass_GetInfo)
        {
			eCompass_GetInfo(&Info);
			return Info.Yaw;
        }
    }
	return -1;
}
Esempio n. 29
0
//Altimeter library functions
long AltimeterGetTemperature()
{
	INFO_GET Info;

    if(Altimeter.isLoaded())
    {
        pFuncGetAltInfo AltiMeter_GetInfo = (pFuncGetAltInfo) Altimeter.resolve("GetBikeInfo");
        if(AltiMeter_GetInfo)
        {
			AltiMeter_GetInfo(&Info);
			return Info.OUT_TEMP;
        }
    }
	return -100;
}
Esempio n. 30
0
long AltimeterGetAltitude()
{
	INFO_GET Info;

    if(Altimeter.isLoaded())
    {
        pFuncGetAltInfo AltiMeter_GetInfo = (pFuncGetAltInfo) Altimeter.resolve("GetBikeInfo");
        if(AltiMeter_GetInfo)
        {
			AltiMeter_GetInfo(&Info);
			return Info.OUT_ALTITUDE;
        }
    }
	return -1;
}