本文整理汇总了C++中SWModule::getName方法的典型用法代码示例。如果您正苦于以下问题:C++ SWModule::getName方法的具体用法?C++ SWModule::getName怎么用?C++ SWModule::getName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SWModule
的用法示例。
在下文中一共展示了SWModule::getName方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateMods
void SWMgr::CreateMods(bool multiMod) {
SectionMap::iterator it;
ConfigEntMap::iterator start;
ConfigEntMap::iterator end;
ConfigEntMap::iterator entry;
SWModule *newmod;
SWBuf driver, misc1;
for (it = config->Sections.begin(); it != config->Sections.end(); it++) {
ConfigEntMap §ion = (*it).second;
newmod = 0;
driver = ((entry = section.find("ModDrv")) != section.end()) ? (*entry).second : (SWBuf)"";
if (driver.length()) {
newmod = createModule((*it).first, driver, section);
if (newmod) {
// Filters to add for this module and globally announce as an option to the user
// e.g. translit, strongs, redletterwords, etc, so users can turn these on and off globally
start = (*it).second.lower_bound("GlobalOptionFilter");
end = (*it).second.upper_bound("GlobalOptionFilter");
AddGlobalOptions(newmod, section, start, end);
// Only add the option to the module, don't announce it's availability
// These are useful for like: filters that parse special entryAttribs in a text
// or whatever you might want to happen on entry lookup
start = (*it).second.lower_bound("LocalOptionFilter");
end = (*it).second.upper_bound("LocalOptionFilter");
AddLocalOptions(newmod, section, start, end);
//STRIP FILTERS
// add all basic ones for for the modtype
AddStripFilters(newmod, section);
// Any special processing for this module when searching:
// e.g. for papyri, removed all [](). notation
start = (*it).second.lower_bound("LocalStripFilter");
end = (*it).second.upper_bound("LocalStripFilter");
AddStripFilters(newmod, section, start, end);
AddRawFilters(newmod, section);
AddRenderFilters(newmod, section);
AddEncodingFilters(newmod, section);
SWModule *oldmod = Modules[newmod->getName()];
if (oldmod) {
delete oldmod;
}
Modules[newmod->getName()] = newmod;
}
}
}
}
示例2: if
/*
* Class: org_crosswire_android_sword_SWModule
* Method: setKeyText
* Signature: (Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWModule_setKeyText
(JNIEnv *env, jobject me, jstring keyTextJS) {
init();
SWModule *module = getModule(env, me);
if (module) {
const char *keyText = env->GetStringUTFChars(keyTextJS, NULL);
SWLog::getSystemLog()->logDebug("setKeyText(%s, %s)", module->getName(), keyText);
sword::SWKey *key = module->getKey();
sword::VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, key);
if (vkey && (*keyText=='+' ||*keyText=='-')) {
if (!stricmp(keyText+1, "book")) {
vkey->setBook(vkey->getBook() + ((*keyText=='+')?1:-1));
env->ReleaseStringUTFChars(keyTextJS, keyText);
return;
}
else if (!stricmp(keyText+1, "chapter")) {
vkey->setChapter(vkey->getChapter() + ((*keyText=='+')?1:-1));
env->ReleaseStringUTFChars(keyTextJS, keyText);
return;
}
}
module->setKey(keyText);
env->ReleaseStringUTFChars(keyTextJS, keyText);
}
}
示例3:
/*
* Class: org_crosswire_android_sword_InstallMgr
* Method: remoteInstallModule
* Signature: (Ljava/lang/String;Ljava/lang/String;)I
*/
JNIEXPORT jint JNICALL Java_org_crosswire_android_sword_InstallMgr_remoteInstallModule
(JNIEnv *env, jobject me, jstring sourceNameJS, jstring modNameJS) {
initInstall();
const char *sourceName = env->GetStringUTFChars(sourceNameJS, NULL);
SWLog::getSystemLog()->logDebug("remoteInstallModule: sourceName: %s\n", sourceName);
InstallSourceMap::iterator source = installMgr->sources.find(sourceName);
env->ReleaseStringUTFChars(sourceNameJS, sourceName);
if (source == installMgr->sources.end()) {
return -3;
}
InstallSource *is = source->second;
SWMgr *rmgr = is->getMgr();
SWModule *module;
const char *modName = env->GetStringUTFChars(modNameJS, NULL);
SWLog::getSystemLog()->logDebug("remoteInstallModule: modName: %s\n", modName);
ModMap::iterator it = rmgr->Modules.find(modName);
env->ReleaseStringUTFChars(modNameJS, modName);
if (it == rmgr->Modules.end()) {
return -4;
}
module = it->second;
int error = installMgr->installModule(mgr, 0, module->getName(), is);
return error;
}
示例4: main
int main(int argc, char **argv) {
SWMgr manager; // create a default manager that looks in the current directory for mods.conf
cout << "\nInstalled Modules:\n\n";
ModMap::iterator modIterator;
// Loop thru all installed modules and print out information
for (modIterator = manager.Modules.begin(); modIterator != manager.Modules.end(); modIterator++) {
std::string modName = (*modIterator).first; // mod.conf section name (stored in module->Name())
SWModule *module = (*modIterator).second;
cout << modName << "(" << module->getName() << ") | " << module->getType() << "\n";
}
// Print out a verse from the first module:
cout << "\n" << manager.Modules.begin()->second->getKeyText() << ":\n";
cout << manager.Modules.begin()->second->renderText();
cout << " (" << manager.Modules.begin()->second->getName() << ")\n";
// Print out the same verse from the second module (less confusing):
modIterator = manager.Modules.begin(); // get first module
modIterator++; // increment to next module
SWModule *mod = modIterator->second;
cout << "\n" << mod->getKeyText() << ":\n";
// cout << (const char *)(*mod); // we could do this, the same as above
cout << mod->renderText();
cout << " (" << mod->getName() << ")\n\n";
return 0;
}
示例5:
const char *SWModule_getName(SWHANDLE hmodule) {
SWModule *module = (SWModule *)hmodule;
return (const char *)((module) ? module->getName() : 0);
}
示例6: peeuuu
/*
* Class: org_crosswire_android_sword_SWModule
* Method: search
* Signature: (Ljava/lang/String;IJLjava/lang/String;Lorg/crosswire/android/sword/SWModule/SearchProgressReporter;)[Lorg/crosswire/android/sword/SWModule/SearchHit;
*/
JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_SWModule_search
(JNIEnv *env, jobject me, jstring expressionJS, jint srchType, jlong flags, jstring scopeJS, jobject progressReporter) {
init();
const int MAX_RETURN_COUNT = 999999;
const char *expression = env->GetStringUTFChars(expressionJS, NULL);
const char *scope = env->GetStringUTFChars(scopeJS, NULL);
jclass clazzSearchHit = env->FindClass("org/crosswire/android/sword/SWModule$SearchHit");
jobjectArray ret = 0;
SWModule *module = getModule(env, me);
struct pu peeuuu(env, progressReporter);
if (module) {
sword::ListKey lscope;
sword::ListKey result;
if ((scope) && (strlen(scope)) > 0) {
sword::SWKey *p = module->CreateKey();
sword::VerseKey *parser = SWDYNAMIC_CAST(VerseKey, p);
if (!parser) {
delete p;
parser = new VerseKey();
}
*parser = module->getKeyText();
lscope = parser->ParseVerseList(scope, *parser, true);
result = module->search(expression, srchType, flags, &lscope, 0, &percentUpdate, &peeuuu);
delete parser;
}
else result = module->search(expression, srchType, flags, 0, 0, &percentUpdate, &peeuuu);
int count = 0;
for (result = sword::TOP; !result.Error(); result++) count++;
if (count > MAX_RETURN_COUNT) count = MAX_RETURN_COUNT;
ret = (jobjectArray) env->NewObjectArray(count, clazzSearchHit, NULL);
// if we're sorted by score, let's re-sort by verse, because Java can always re-sort by score
result = sword::TOP;
if ((count) && (long)result.getElement()->userData)
result.sort();
int i = 0;
jstring modName = env->NewStringUTF(assureValidUTF8(module->getName()));
jfieldID fieldIDModName = env->GetFieldID(clazzSearchHit, "modName", "Ljava/lang/String;");
jfieldID fieldIDKey = env->GetFieldID(clazzSearchHit, "key" , "Ljava/lang/String;");
jfieldID fieldIDScore = env->GetFieldID(clazzSearchHit, "score" , "J");
for (result = sword::TOP; !result.Error(); result++) {
jfieldID fieldID;
jobject searchHit = env->AllocObject(clazzSearchHit);
env->SetObjectField(searchHit, fieldIDModName, modName);
jstring key = env->NewStringUTF(assureValidUTF8((const char *)result));
env->SetObjectField(searchHit, fieldIDKey, key);
env->DeleteLocalRef(key);
env->SetLongField(searchHit, fieldIDScore, (long)result.getElement()->userData);
env->SetObjectArrayElement(ret, i++, searchHit);
env->DeleteLocalRef(searchHit);
if (i >= MAX_RETURN_COUNT) break;
}
env->DeleteLocalRef(modName);
}
env->ReleaseStringUTFChars(scopeJS, scope);
env->ReleaseStringUTFChars(expressionJS, expression);
return (ret) ? ret : (jobjectArray) env->NewObjectArray(0, clazzSearchHit, NULL);
}
示例7: processText
char ThMLWordJS::processText(SWBuf &text, const SWKey *key, const SWModule *module) {
if (option) {
char token[2112]; // cheese. Fix.
int tokpos = 0;
bool intoken = false;
int word = 1;
char val[128];
char *valto;
char *ch;
char wordstr[5];
unsigned int textStart = 0, lastAppendLen = 0, textEnd = 0;
SWBuf tmp;
bool newText = false;
bool needWordOut = false;
AttributeValue *wordAttrs = 0;
SWBuf modName = (module)?module->getName():"";
SWBuf wordSrcPrefix = modName;
const SWBuf orig = text;
const char * from = orig.c_str();
VerseKey *vkey = 0;
if (key) {
vkey = SWDYNAMIC_CAST(VerseKey, key);
}
for (text = ""; *from; from++) {
if (*from == '<') {
intoken = true;
tokpos = 0;
token[0] = 0;
token[1] = 0;
token[2] = 0;
textEnd = text.length();
continue;
}
if (*from == '>') { // process tokens
intoken = false;
if (!strnicmp(token, "sync type=\"Strongs\" ", 20)) { // Strongs
valto = val;
for (unsigned int i = 27; token[i] != '\"' && i < 150; i++)
*valto++ = token[i];
*valto = 0;
if (atoi((!isdigit(*val))?val+1:val) < 5627) {
// normal strongs number
sprintf(wordstr, "%03d", word++);
needWordOut = (word > 2);
wordAttrs = &(module->getEntryAttributes()["Word"][wordstr]);
(*wordAttrs)["Strongs"] = val;
//printf("Adding: [\"Word\"][%s][\"Strongs\"] = %s\n", wordstr, val);
tmp = "";
tmp.append(text.c_str()+textStart, (int)(textEnd - textStart));
(*wordAttrs)["Text"] = tmp;
text.append("</span>");
SWBuf ts;
ts.appendFormatted("%d", textStart);
(*wordAttrs)["TextStart"] = ts;
//printf("Adding: [\"Word\"][%s][\"Text\"] = %s\n", wordstr, tmp.c_str());
newText = true;
}
else {
// verb morph
(*wordAttrs)["Morph"] = val;
//printf("Adding: [\"Word\"][%s][\"Morph\"] = %s\n", wordstr, val);
}
}
if (!strncmp(token, "sync type=\"morph\"", 17)) {
for (ch = token+17; *ch; ch++) {
if (!strncmp(ch, "class=\"", 7)) {
valto = val;
for (unsigned int i = 7; ch[i] != '\"' && i < 127; i++)
*valto++ = ch[i];
*valto = 0;
(*wordAttrs)["MorphClass"] = val;
//printf("Adding: [\"Word\"][%s][\"MorphClass\"] = %s\n", wordstr, val);
}
if (!strncmp(ch, "value=\"", 7)) {
valto = val;
for (unsigned int i = 7; ch[i] != '\"' && i < 127; i++)
*valto++ = ch[i];
*valto = 0;
(*wordAttrs)["Morph"] = val;
//printf("Adding: [\"Word\"][%s][\"Morph\"] = %s\n", wordstr, val);
}
}
newText = true;
}
// if not a strongs token, keep token in text
text += '<';
text += token;
text += '>';
if (needWordOut) {
char wstr[10];
sprintf(wstr, "%03d", word-2);
AttributeValue *wAttrs = &(module->getEntryAttributes()["Word"][wstr]);
needWordOut = false;
SWBuf strong = (*wAttrs)["Strongs"];
SWBuf morph = (*wAttrs)["Morph"];
SWBuf morphClass = (*wAttrs)["MorphClass"];
SWBuf wordText = (*wAttrs)["Text"];
//.........这里部分代码省略.........
示例8: systemquery
void systemquery(const char * key, ostream* output){
DiathekeMgr manager;
ModMap::iterator it;
SWModule *target;
bool types = false, descriptions = false, names = false;
if (!::stricmp(key, "localelist")) {
LocaleMgr *lm = LocaleMgr::getSystemLocaleMgr();
list<SWBuf> loclist = lm->getAvailableLocales();
list<SWBuf>::iterator li = loclist.begin();
for (;li != loclist.end(); li++) {
*output << li->c_str() << endl;
}
}
else if (!::stricmp(key, "modulelist")) {
types = true;
descriptions = true;
names = true;
}
else if (!::stricmp(key, "modulelistnames")) {
names = true;
}
else if (!::stricmp(key, "modulelistdescriptions")) {
descriptions = true;
}
if (types || descriptions || names) {
if (types) *output << "Biblical Texts:\n";
for (it = manager.Modules.begin(); it != manager.Modules.end(); it++) {
target = it->second;
if (!strcmp(target->getType(), "Biblical Texts")) {
if (names) *output << target->getName();
if (names && descriptions) *output << " : ";
if (descriptions) *output << target->getDescription();
*output << endl;
}
}
if (types) *output << "Commentaries:\n";
for (it = manager.Modules.begin(); it != manager.Modules.end(); it++) {
target = it->second;
if (!strcmp(target->getType(), "Commentaries")) {
if (names) *output << target->getName();
if (names && descriptions) *output << " : ";
if (descriptions) *output << target->getDescription();
*output << endl;
}
}
if (types) *output << "Dictionaries:\n";
for (it = manager.Modules.begin(); it != manager.Modules.end(); it++) {
target = it->second;
if (!strcmp(target->getType(), "Lexicons / Dictionaries")) {
if (names) *output << target->getName();
if (names && descriptions) *output << " : ";
if (descriptions) *output << target->getDescription();
*output << endl;
}
}
if (types) *output << "Generic books:\n";
for (it = manager.Modules.begin(); it != manager.Modules.end(); it++) {
target = it->second;
if (!strcmp(target->getType(), "Generic Books")) {
if (names) *output << target->getName();
if (names && descriptions) *output << " : ";
if (descriptions) *output << target->getDescription();
*output << endl;
}
}
}
}
示例9: doquery
void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAIN, unsigned char outputencoding = ENC_UTF8, unsigned long optionfilters = 0, unsigned char searchtype = ST_NONE, const char *range = 0, const char *text = 0, const char *locale = 0, const char *ref = 0, ostream* output = &cout, const char *script = 0, signed short variants = 0) {
static DiathekeMgr manager(NULL, NULL, false, outputencoding, outputformat,
((OP_BIDI & optionfilters) == OP_BIDI),
((OP_ARSHAPE & optionfilters) == OP_ARSHAPE));
ModMap::iterator it;
ListKey listkey;
SectionMap::iterator sit;
ConfigEntMap::iterator eit;
SWModule *target;
char *font = 0;
char inputformat = 0;
SWBuf encoding;
char querytype = 0;
if (locale) {
LocaleMgr::getSystemLocaleMgr()->setDefaultLocaleName(locale);
}
//deal with queries to "system"
if (!::stricmp(text, "system")) {
querytype = QT_SYSTEM;
systemquery(ref, output);
}
if (!strnicmp(text, "info", 4)) {
querytype = QT_INFO;
text = ref;
}
//otherwise, we have a real book
it = manager.Modules.find(text);
if (it == manager.Modules.end()) { //book not found
return;
}
target = (*it).second;
SWKey *p = target->createKey();
VerseKey *parser = SWDYNAMIC_CAST(VerseKey, p);
if (!parser) {
delete p;
parser = new VerseKey();
}
if ((sit = manager.config->Sections.find((*it).second->getName())) != manager.config->Sections.end()) {
if ((eit = (*sit).second.find("SourceType")) != (*sit).second.end()) {
if (!::stricmp((char *)(*eit).second.c_str(), "GBF"))
inputformat = FMT_GBF;
else if (!::stricmp((char *)(*eit).second.c_str(), "ThML"))
inputformat = FMT_THML;
else if (!::stricmp((char *)(*eit).second.c_str(), "OSIS"))
inputformat = FMT_OSIS;
else if (!::stricmp((char *)(*eit).second.c_str(), "TEI"))
inputformat = FMT_TEI;
}
encoding = ((eit = (*sit).second.find("Encoding")) != (*sit).second.end()) ? (*eit).second : (SWBuf)"";
}
if (querytype == QT_INFO) {
switch (inputformat) {
case FMT_THML :
*output << "ThML";
break;
case FMT_GBF :
*output << "GBF";
break;
case FMT_OSIS :
*output << "OSIS";
break;
case FMT_TEI :
*output << "TEI";
break;
default:
*output << "Other";
}
*output << ";";
*output << target->getType();
*output << ";";
delete parser;
return;
}
if (searchtype)
querytype = QT_SEARCH;
else if (!strcmp(target->getType(), "Biblical Texts"))
querytype = QT_BIBLE;
else if (!strcmp(target->getType(), "Commentaries"))
querytype = QT_COMM;
else if (!strcmp(target->getType(), "Lexicons / Dictionaries"))
querytype = QT_LD;
else if (!strcmp(target->getType(), "Generic Books"))
querytype = QT_LD;
if (optionfilters & OP_FOOTNOTES)
manager.setGlobalOption("Footnotes","On");
else
manager.setGlobalOption("Footnotes","Off");
if (optionfilters & OP_HEADINGS)
manager.setGlobalOption("Headings","On");
else
manager.setGlobalOption("Headings","Off");
//.........这里部分代码省略.........