本文整理汇总了C++中Capability::getValue方法的典型用法代码示例。如果您正苦于以下问题:C++ Capability::getValue方法的具体用法?C++ Capability::getValue怎么用?C++ Capability::getValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Capability
的用法示例。
在下文中一共展示了Capability::getValue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parseProfileInfo
static bool parseProfileInfo(ProfileType profileType, Profile* p, const SETTINGS& s, const char* filename,
RuntimeInfo& pi) {
bool hasBbMajor = false, hasBbMinor = false;
pi.isBlackberry = false;
pi.hasLimitedResourceSize = false;
pi.isCldc10 = false;
pi.iconSize = "default";
int iconX = -1;
int iconY = -1;
if (profileType == DEVICE_BASED) {
ifstream file(filename);
setName(file, filename);
if (!file.good())
return false;
while (file.good()) {
string line;
getline(file, line);
if (line.find("#define MA_PROF_BUG_RESOURCE_SIZE_LIMITED") == 0) {
pi.hasLimitedResourceSize = true;
}
hasBbMajor |= parseIntProp(line, "MA_PROF_BLACKBERRY_VERSION",
pi.blackberryVersion);
hasBbMinor |= parseIntProp(line,
"MA_PROF_BLACKBERRY_VERSION_MINOR", pi.blackberryMinor);
if (line.find("#define MA_PROF_SUPPORT_CLDC_10") == 0) {
pi.isCldc10 = true;
}
parseIntProp(line, "MA_PROF_CONST_ICONSIZE_X", iconX);
parseIntProp(line, "MA_PROF_CONST_ICONSIZE_Y", iconY);
}
//pi.isBlackberry = (hasBbMajor && hasBbMinor); //rapc is not available.
} else {
Capability iconSize = p->getCapability("IconSize");
if (iconSize.getValue().length() > 0) {
pi.iconSize = iconSize.getValue().c_str();
}
pi.isBlackberry = p->getFamily() == "BlackBerry";
if (pi.isBlackberry) {
Capability major = p->getCapability("Version/Major");
Capability minor = p->getCapability("Version/Minor");
sscanf(major.getValue().c_str(), "%i", &pi.blackberryVersion);
sscanf(minor.getValue().c_str(), "%i", &pi.blackberryMinor);
}
Capability cldc = p->getCapability("CLDC");
pi.isCldc10 = (cldc.getValue() == "1.0");
}
if (iconX > 0 && iconY > 0) {
char buf[32];
sprintf(buf, "%ix%i", iconX, iconY);
pi.iconSize = buf;
}
return true;
}
示例2: internalMatchProfile
bool ProfileDB::internalMatchProfile(Profile* profile,
vector<Capability>& requiredCapabilites,
vector<Capability>& optionalCapabilites, string& matchToken) {
bool match = true;
// When can we NOT reuse a specific runtime?
// Only if fragmentation is set to BUILDTIME and if either a) one supports the capability and
// the other does not OR b) the capability value differs.
// So we add strings to create a unique match token for every
// runtime that need be built
for (vector<Capability>::iterator capability = requiredCapabilites.begin(); capability
!= requiredCapabilites.end(); capability++) {
Capability matchedCapability = profile->getCapability(
capability->getName());
CapabilityState matchedState = matchedCapability.getState();
// Ok, so we don't support this, bail out!
if (matchedState == NOT_IMPLEMENTED || matchedState == UNSUPPORTED) {
match = false;
}
Fragmentation fragmentation = matchedCapability.getFragmentation();
string valueStr =
fragmentation == BUILDTIME ? matchedCapability.getValue() : "";
matchToken.append(valueStr);
matchToken.append("|");
}
// So, the optional capabilities are matched in a different way.
// We add stuff to the matchTokens string to produce a string that
// is unique to the optional capabilities being matched.
for (vector<Capability>::iterator capability = optionalCapabilites.begin(); capability
!= optionalCapabilites.end(); capability++) {
Capability matchedCapability = profile->getCapability(
capability->getName());
CapabilityState matchedState = matchedCapability.getState();
Fragmentation fragmentation = matchedCapability.getFragmentation();
string valueStr =
fragmentation == BUILDTIME ? matchedCapability.getValue() : "";
bool capSupported = fragmentation == BUILDTIME && (matchedState
== NOT_IMPLEMENTED || matchedState == UNSUPPORTED);
matchToken.append((capSupported ? "+" : "-") + valueStr);
matchToken.append("|");
}
// Finally we add PROPERTIES of the runtime which are buildtime fragmented.
// For example, different device types or icon sizes should always generate
// a unique runtime.
set<string> allCapabilities = profile->getCapabilities();
for (set<string>::iterator allCapabilitesIt = allCapabilities.begin(); allCapabilitesIt
!= allCapabilities.end(); allCapabilitesIt++) {
string capabilityName = *allCapabilitesIt;
Capability capability = profile->getCapability(capabilityName);
if (capability.getType() == "property") {
Fragmentation fragmentation = capability.getFragmentation();
string valueStr =
fragmentation == BUILDTIME ? capability.getValue() : "-";
matchToken.append(valueStr);
matchToken.append("|");
}
}
return match;
}