本文整理汇总了C++中QExplicitlySharedDataPointer类的典型用法代码示例。如果您正苦于以下问题:C++ QExplicitlySharedDataPointer类的具体用法?C++ QExplicitlySharedDataPointer怎么用?C++ QExplicitlySharedDataPointer使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QExplicitlySharedDataPointer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: lua_pushstring
void LootGroup::readObject(lua_State* L) {
LootLuaManager* luaManager = MainWindow::instance->getLootLuaManager();
description = LuaParser::getStringField(L, "description");
minimumLevel = LuaParser::getIntField(L, "minimumLevel");
maximumLevel = LuaParser::getIntField(L, "maximumLevel");
lua_pushstring(L, "lootItems");
lua_gettable(L, -2);
int totalItems = luaL_getn(L, -1);
for (int i = 1; i <= totalItems; ++i) {
lua_rawgeti(L, -1, i);
QString itemTemplate = LuaParser::getStringField(L, "itemTemplate");
int weight = LuaParser::getIntField(L, "weight");
if (!luaManager->itemTemplateExists(itemTemplate))
continue;
QExplicitlySharedDataPointer<LootItemTemplate> lootItemTemplate = luaManager->getItemTemplate(itemTemplate);
lootItemTemplate->registerLootGroup(groupName);
addLootItemTemplate(itemTemplate, weight);
lua_pop(L, 1);
}
lua_pop(L, 1);
}
示例2: deleteConfiguration
void QNetworkConfigurationManagerPrivate::deleteConfiguration(QString& iap_id)
{
/* Called when IAPs are deleted in db, in this case we do not scan
* or read all the IAPs from db because it might take too much power
* (multiple applications would need to scan and read all IAPs from db)
*/
if (accessPointConfigurations.contains(iap_id)) {
QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> priv = accessPointConfigurations.take(iap_id);
if (priv.data()) {
priv->isValid = false;
#ifdef BEARER_MANAGEMENT_DEBUG
qDebug() << "IAP" << iap_id << "was removed from storage.";
#endif
QNetworkConfiguration item;
item.d = priv;
emit configurationRemoved(item);
} else
qWarning("Configuration not found for IAP %s", iap_id.toAscii().data());
} else {
#ifdef BEARER_MANAGEMENT_DEBUG
qDebug("IAP: %s, already missing from the known list", iap_id.toAscii().data());
#endif
}
}
示例3: openUrl
void MediaPlayer::openUrl( const QString& url )
{
QExplicitlySharedDataPointer<Playlist> playlist = Playlist::construct_playlist( url );
playlist->setPlaying( playlist->index( 0 ) );
setPlaylist( playlist );
}
示例4: recreateFromSerializedHistory
void QWebEnginePagePrivate::recreateFromSerializedHistory(QDataStream &input)
{
QExplicitlySharedDataPointer<WebContentsAdapter> newWebContents = WebContentsAdapter::createFromSerializedNavigationHistory(input, this);
if (newWebContents) {
adapter = newWebContents.data();
adapter->initialize(this);
}
}
示例5: evaluateEBV
bool AtomicValue::evaluateEBV(const QExplicitlySharedDataPointer<DynamicContext> &context) const
{
context->error(QtXmlPatterns::tr("A value of type %1 cannot have an "
"Effective Boolean Value.")
.arg(formatType(context->namePool(), type())),
ReportContext::FORG0006,
QSourceLocation());
return false; /* Silence GCC warning. */
}
示例6: setDocument
void MediaPlayer::setDocument( const QString& doc )
{
m_closeonback = true;
QExplicitlySharedDataPointer<Playlist> playlist = Playlist::construct_playlist( doc );
playlist->setPlaying( playlist->index( 0 ) );
setPlaylist( playlist );
}
示例7: calculate
Item DecimalMathematician::calculate(const Item &o1,
const Operator op,
const Item &o2,
const QExplicitlySharedDataPointer<DynamicContext> &context) const
{
switch(op)
{
case Div:
{
if(o2.as<Numeric>()->toInteger() == 0)
{
context->error(divZeroInvalid(), ReportContext::FOAR0001, this);
return Item(); /* Silences source code analyzer warning. */
}
else
return toItem(Decimal::fromValue(o1.as<Numeric>()->toDecimal() / o2.as<Numeric>()->toDecimal()));
}
case IDiv:
{
if(o2.as<Numeric>()->toInteger() == 0)
{
context->error(idivZeroInvalid(), ReportContext::FOAR0001, this);
return Item(); /* Silences source code analyzer warning. */
}
else
return Integer::fromValue(static_cast<xsInteger>(o1.as<Numeric>()->toDecimal() /
o2.as<Numeric>()->toDecimal()));
}
case Substract:
return toItem(Decimal::fromValue(o1.as<Numeric>()->toDecimal() - o2.as<Numeric>()->toDecimal()));
case Mod:
{
if(o2.as<Numeric>()->toInteger() == 0)
{
context->error(modZeroInvalid(), ReportContext::FOAR0001, this);
return Item(); /* Silences source code analyzer warning. */
}
else
return toItem(Decimal::fromValue(::fmod(o1.as<Numeric>()->toDecimal(), o2.as<Numeric>()->toDecimal())));
}
case Multiply:
return toItem(Decimal::fromValue(o1.as<Numeric>()->toDecimal() * o2.as<Numeric>()->toDecimal()));
case Add:
return toItem(Decimal::fromValue(o1.as<Numeric>()->toDecimal() + o2.as<Numeric>()->toDecimal()));
}
Q_ASSERT(false);
return Item(); /* GCC unbarfer. */
}
示例8: toItem
Item AbstractFloatMathematician<isDouble>::calculate(const Item &o1,
const Operator op,
const Item &o2,
const QExplicitlySharedDataPointer<DynamicContext> &context) const
{
const Numeric *const num1 = o1.template as<Numeric>();
const Numeric *const num2 = o2.template as<Numeric>();
switch(op)
{
case Div:
return toItem(AbstractFloat<isDouble>::fromValue(num1->toDouble() / num2->toDouble()));
case IDiv:
{
if(num1->isNaN() || num2->isNaN())
{
context->error(QtXmlPatterns::tr("No operand in an integer division, %1, can be %2.")
.arg(formatKeyword("idiv"))
.arg(formatData("NaN")),
ReportContext::FOAR0002, this);
}
else if(num1->isInf())
{
context->error(QtXmlPatterns::tr("The first operand in an integer division, %1, cannot be infinity (%2).")
.arg(formatKeyword("idiv"))
.arg(formatData("INF")),
ReportContext::FOAR0002, this);
}
else if(num2->toInteger() == 0)
context->error(QtXmlPatterns::tr("The second operand in a division, %1, cannot be zero (%2).")
.arg(formatKeyword("idiv"))
.arg(formatData("0")),
ReportContext::FOAR0001, this);
return Integer::fromValue(static_cast<xsInteger>(num1->toDouble() / num2->toDouble()));
}
case Substract:
return toItem(AbstractFloat<isDouble>::fromValue(num1->toDouble() - num2->toDouble()));
case Mod:
return toItem(AbstractFloat<isDouble>::fromValue(::fmod(num1->toDouble(), num2->toDouble())));
case Multiply:
return toItem(AbstractFloat<isDouble>::fromValue(num1->toDouble() * num2->toDouble()));
case Add:
return toItem(AbstractFloat<isDouble>::fromValue(num1->toDouble() + num2->toDouble()));
}
Q_ASSERT(false);
return Item(); /* GCC unbarfer. */
}
示例9: evaluateEBV
bool Boolean::evaluateEBV(const Item &first,
const Item::Iterator::Ptr &it,
const QExplicitlySharedDataPointer<DynamicContext> &context)
{
Q_ASSERT(it);
Q_ASSERT(context);
if(!first)
return false;
else if(first.isNode())
return true;
const Item second(it->next());
if(second)
{
Q_ASSERT(context);
context->error(QtXmlPatterns::tr("Effective Boolean Value cannot be calculated for a sequence "
"containing two or more atomic values."),
ReportContext::FORG0006,
QSourceLocation());
return false;
}
else
return first.as<AtomicValue>()->evaluateEBV(context);
}
示例10: pointer
QT_END_NAMESPACE
void tst_QExplicitlySharedDataPointer::pointerOperatorOnConst() const
{
/* Pointer itself is const. */
{
const QExplicitlySharedDataPointer<const MyClass> pointer(new MyClass());
pointer->notMutating();
}
/* Pointer itself is mutable. */
{
QExplicitlySharedDataPointer<const MyClass> pointer(new MyClass());
pointer->notMutating();
}
}
示例11: tr
void QNetworkConfigurationManagerPrivate::updateInternetServiceConfiguration()
{
if (!snapConfigurations.contains(QLatin1String("Internet Service Network"))) {
QNetworkConfigurationPrivate *serviceNetwork = new QNetworkConfigurationPrivate;
serviceNetwork->name = tr("Internet");
serviceNetwork->isValid = true;
serviceNetwork->id = QLatin1String("Internet Service Network");
serviceNetwork->state = QNetworkConfiguration::Defined;
serviceNetwork->type = QNetworkConfiguration::ServiceNetwork;
QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> ptr(serviceNetwork);
snapConfigurations.insert(serviceNetwork->id, ptr);
if (!firstUpdate) {
QNetworkConfiguration item;
item.d = ptr;
emit configurationAdded(item);
}
}
QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> ptr =
snapConfigurations.value(QLatin1String("Internet Service Network"));
QList<QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> > serviceNetworkMembers;
QHash<QString, QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> >::const_iterator i =
accessPointConfigurations.constBegin();
QNetworkConfiguration::StateFlags state = QNetworkConfiguration::Defined;
while (i != accessPointConfigurations.constEnd()) {
QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> child = i.value();
if (child.data()->internet && ((child.data()->state & QNetworkConfiguration::Defined)
== QNetworkConfiguration::Defined)) {
serviceNetworkMembers.append(child);
state |= child.data()->state;
}
++i;
}
if (ptr.data()->state != state || ptr.data()->serviceNetworkMembers != serviceNetworkMembers) {
ptr.data()->state = state;
ptr.data()->serviceNetworkMembers = serviceNetworkMembers;
QNetworkConfiguration item;
item.d = ptr;
emit configurationChanged(item);
}
}
示例12: QCOMPARE
void tst_QExplicitlySharedDataPointer::data() const
{
/* Check default value. */
{
QExplicitlySharedDataPointer<const MyClass> pointer;
QCOMPARE(pointer.data(), static_cast<const MyClass *>(0));
}
/* On const pointer. Must not mutate the pointer. */
{
const QExplicitlySharedDataPointer<const MyClass> pointer(new MyClass());
pointer.data();
/* Check that this cast is possible. */
static_cast<const MyClass *>(pointer.data());
}
/* On mutatable pointer. Must not mutate the pointer. */
{
QExplicitlySharedDataPointer<const MyClass> pointer(new MyClass());
pointer.data();
/* Check that this cast is possible. */
static_cast<const MyClass *>(pointer.data());
}
/* Must not mutate the pointer. */
{
const QExplicitlySharedDataPointer<MyClass> pointer(new MyClass());
pointer.data();
/* Check that these casts are possible. */
static_cast<MyClass *>(pointer.data());
static_cast<const MyClass *>(pointer.data());
}
/* Must not mutate the pointer. */
{
QExplicitlySharedDataPointer<MyClass> pointer(new MyClass());
pointer.data();
/* Check that these casts are possible. */
static_cast<MyClass *>(pointer.data());
static_cast<const MyClass *>(pointer.data());
}
}
示例13: configurationRemoved
void QNetworkConfigurationManagerPrivate::configurationRemoved(const QString &id)
{
if (!accessPointConfigurations.contains(id))
return;
QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> ptr =
accessPointConfigurations.take(id);
configurationEngine.remove(id);
ptr.data()->isValid = false;
if (!firstUpdate) {
QNetworkConfiguration item;
item.d = ptr;
emit configurationRemoved(item);
}
if (ptr.data()->state == QNetworkConfiguration::Active) {
--onlineConfigurations;
if (!firstUpdate && onlineConfigurations == 0)
emit onlineStateChanged(false);
}
}
示例14: fitChanged
void KstViewFitsDialog::fitChanged(const QString& strFit) {
KstCPluginList fits;
KstCPluginPtr plugin;
double* params = 0L;
double* covars = 0L;
double chi2Nu = 0.0;
int numParams = 0;
int numCovars = 0;
int i;
fits = kstObjectSubList<KstDataObject,KstCPlugin>(KST::dataObjectList);
plugin = *(fits.findTag(strFit));
if (plugin) {
KstScalarPtr scalarChi2Nu;
KstVectorPtr vectorParam;
plugin->readLock();
const KstScalarMap& scalars = plugin->outputScalars();
scalarChi2Nu = scalars["chi^2/nu"];
if (scalarChi2Nu) {
scalarChi2Nu->readLock();
chi2Nu = scalarChi2Nu->value();
scalarChi2Nu->unlock();
}
const KstVectorMap& vectors = plugin->outputVectors();
vectorParam = vectors["Parameters"];
if (vectorParam) {
KstVectorPtr vectorCovar;
vectorParam->readLock();
vectorCovar = vectors["Covariance"];
if (vectorCovar) {
vectorCovar->readLock();
numParams = vectorParam->length();
numCovars = vectorCovar->length();
if (numParams > 0 && numCovars > 0) {
params = new double[numParams];
covars = new double[numCovars];
for (i = 0; i < numParams; i++) {
params[i] = vectorParam->value(i);
}
for (i = 0; i < numCovars; i++) {
covars[i] = vectorCovar->value(i);
}
}
vectorCovar->unlock();
}
vectorParam->unlock();
}
plugin->unlock();
}
_tableFits->setParameters(params, numParams, covars, numCovars, chi2Nu);
if (numParams > 0) {
_tableFits->horizontalHeaderItem(0)->setText(QObject::tr("Value"));
_tableFits->horizontalHeaderItem(1)->setText(QObject::tr("Covariance:"));
_tableFits->verticalHeaderItem(numParams+0)->setText("---");
_tableFits->verticalHeaderItem(numParams+1)->setText(QObject::tr("Chi^2/Nu"));
if (plugin) {
QExplicitlySharedDataPointer<Plugin> pluginBase;
plugin->readLock();
pluginBase = plugin->plugin();
if (pluginBase) {
textLabelFit->setText(pluginBase->data()._readableName);
for (i = 0; i < numParams; i++) {
QString parameterName = pluginBase->parameterName(i);
_tableFits->horizontalHeaderItem(i+2)->setText(parameterName);
_tableFits->verticalHeaderItem(i)->setText(parameterName);
}
}
plugin->unlock();
}
}
_tableFits->update();
}
示例15: Q_D
bool KConfig::sync()
{
Q_D(KConfig);
if (isImmutable() || name().isEmpty()) {
// can't write to an immutable or anonymous file.
return false;
}
if (d->bDirty && d->mBackend) {
const QByteArray utf8Locale(locale().toUtf8());
// Create the containing dir, maybe it wasn't there
d->mBackend->createEnclosing();
// lock the local file
if (d->configState == ReadWrite && !d->lockLocal()) {
qWarning() << "couldn't lock local file";
return false;
}
// Rewrite global/local config only if there is a dirty entry in it.
bool writeGlobals = false;
bool writeLocals = false;
Q_FOREACH (const KEntry &e, d->entryMap) {
if (e.bDirty) {
if (e.bGlobal) {
writeGlobals = true;
} else {
writeLocals = true;
}
if (writeGlobals && writeLocals) {
break;
}
}
}
d->bDirty = false; // will revert to true if a config write fails
if (d->wantGlobals() && writeGlobals) {
QExplicitlySharedDataPointer<KConfigBackend> tmp = KConfigBackend::create(*sGlobalFileName);
if (d->configState == ReadWrite && !tmp->lock()) {
qWarning() << "couldn't lock global file";
//unlock the local config if we're returning early
if (d->mBackend->isLocked()) {
d->mBackend->unlock();
}
d->bDirty = true;
return false;
}
if (!tmp->writeConfig(utf8Locale, d->entryMap, KConfigBackend::WriteGlobal)) {
d->bDirty = true;
}
if (tmp->isLocked()) {
tmp->unlock();
}
}
if (writeLocals) {
if (!d->mBackend->writeConfig(utf8Locale, d->entryMap, KConfigBackend::WriteOptions())) {
d->bDirty = true;
}
}
if (d->mBackend->isLocked()) {
d->mBackend->unlock();
}
}
return !d->bDirty;
}