void MessageShell::channelMessage(const uint8_t* data, size_t, uint8_t dir) { const channelMessageStruct* cmsg = (const channelMessageStruct*)data; // Tells and Group by us happen twice *shrug*. Ignore the client->server one. if (dir == DIR_Client && (cmsg->chanNum == MT_Tell || cmsg->chanNum == MT_Group)) { return; } QString tempStr; bool target = false; if (cmsg->chanNum >= MT_Tell) target = true; if (cmsg->language) { if ((cmsg->target[0] != 0) && target) { tempStr.sprintf( "'%s' -> '%s' - %s {%s}", cmsg->sender, cmsg->target, cmsg->message, (const char*)language_name(cmsg->language) ); } else { tempStr.sprintf( "'%s' - %s {%s}", cmsg->sender, cmsg->message, (const char*)language_name(cmsg->language) ); } } else // Don't show common, its obvious { if ((cmsg->target[0] != 0) && target) { tempStr.sprintf( "'%s' -> '%s' - %s", cmsg->sender, cmsg->target, cmsg->message ); } else { tempStr.sprintf( "'%s' - %s", cmsg->sender, cmsg->message ); } } m_messages->addMessage((MessageType)cmsg->chanNum, tempStr); }
void MessageShell::channelMessage(const uint8_t* data, size_t, uint8_t dir) { // avoid client chatter and do nothing if not viewing channel messages // if (dir == DIR_Client) // return; const channelMessageStruct* cmsg = (const channelMessageStruct*)data; QString tempStr; bool target = false; if (cmsg->chanNum >= MT_Tell) target = true; if (cmsg->language) { if ((cmsg->target[0] != 0) && target) { tempStr.sprintf( "'%s' -> '%s' - %s {%s}", cmsg->sender, cmsg->target, cmsg->message, (const char*)language_name(cmsg->language) ); } else { tempStr.sprintf( "'%s' - %s {%s}", cmsg->sender, cmsg->message, (const char*)language_name(cmsg->language) ); } } else // Don't show common, its obvious { if ((cmsg->target[0] != 0) && target) { tempStr.sprintf( "'%s' -> '%s' - %s", cmsg->sender, cmsg->target, cmsg->message ); } else { tempStr.sprintf( "'%s' - %s", cmsg->sender, cmsg->message ); } } m_messages->addMessage((MessageType)cmsg->chanNum, tempStr); }
/* Language update */ void SkillList::changeLanguage (int langId, int value) { // only change it if languages are being shown if (!m_showLanguages) return; if (langId > MAX_KNOWN_LANGS) { seqWarn("Warning: langId (%d) is more than max langId (%d)\n", langId, MAX_KNOWN_LANGS - 1); return; } QString str; /* Update skill value with new value */ str.sprintf ("%3d", value); // create language entry if needed or set the value of the existing item if (!m_languageList[langId]) m_languageList[langId] = new QListViewItem (this, language_name (langId), str); else m_languageList[langId]->setText (1, str); }
// Called to add a language to the skills list void SkillList::addLanguage (int langId, int value) { // only add it if languages are being shown if (!m_showLanguages) return; if (langId >= MAX_KNOWN_LANGS) { seqWarn("langId (%d) is more than max langId (%d)\n", langId, MAX_KNOWN_LANGS - 1); return; } // Check if this is a valid skill if (value == 255) return; QString str; // Check if this is a skill not learned yet if (value == 00) str = " NA"; else str.sprintf ("%3d", value); // If the language is not added yet, look up the correct skill namd and // add it to the list if (!m_languageList[langId]) m_languageList[langId] = new QListViewItem (this, language_name(langId), str); else m_languageList[langId]->setText (1, str); }
voice_info::voice_info(const std::string& data_path,language_list& languages): gender("gender",RHVoice_voice_gender_unknown), enabled("enabled",true), preferred("preferred",false), country("country") { gender.define("male",RHVoice_voice_gender_male); gender.define("female",RHVoice_voice_gender_female); set_data_path(data_path); string_property name("name"); enum_string_property language_name("language"); for(language_list::const_iterator it(languages.begin());it!=languages.end();++it) { language_name.define(it->get_name()); } config cfg; cfg.register_setting(name); cfg.register_setting(language_name); cfg.register_setting(country); cfg.register_setting(sample_rate); cfg.register_setting(gender); cfg.load(path::join(data_path,"voice.info")); if(!name.is_set()) throw file_format_error("Voice name is not set"); set_name(name); if(!language_name.is_set()) throw file_format_error("Voice language is not set"); language_list::iterator lang=languages.find(language_name); voice_language=lang; settings.default_to(voice_language->voice_settings); }
/* Print the current component if it's changed */ void print_current_nesc_instance(void) { static nesc_declaration last_container; if (last_container != current.container) { if (current.container) fprintf(stderr, "In %s `%s':\n", language_name(current.container->kind), current.container->instance_name); else fprintf(stderr, "In C file:\n"); last_container = current.container; } }
void print_dbrec (char *dbname, struct or_dbrec * dbrec) { int i; char *cptr; int blobs_are_possible = FALSE; printf (catgets (dtsearch_catd, MS_dbrec, 1, "---------- System Values for Database '%s' ----------\n"), dbname); printf (catgets (dtsearch_catd, MS_dbrec, 2, "Schema version number (version) is '%s'.\n"), dbrec->or_version); printf (catgets (dtsearch_catd, MS_dbrec, 3, "Maximum object key size (sizeof(objkey)) is %ld bytes.\n"), DtSrMAX_DB_KEYSIZE); if (ORD_USEHUGEKEYS & dbrec->or_dbflags) printf (catgets (dtsearch_catd, MS_dbrec, 4, "Optional 'Huge' keys enabled.\n")); printf (catgets (dtsearch_catd, MS_dbrec, 12, "Maximum length of an abstract string (abstrsz) is %d.\n"), dbrec->or_abstrsz); if (dbrec->or_abstrsz == 0) puts (catgets (dtsearch_catd, MS_dbrec, 14, " (Abstracts are not used in this database).")); else { /* * if they CAN be compressed, say whether or not they * actually are */ if (dbrec->or_hufid != 0L) printf (catgets (dtsearch_catd, MS_dbrec, 20, "Abstracts are %scompressed.\n"), (ORC_COMPABSTR & dbrec->or_compflags) ? "" : "not "); } printf (catgets (dtsearch_catd, MS_dbrec, 22, "Parsing language is number %d, %s.\n"), dbrec->or_language, language_name(dbrec->or_language)); printf (catgets (dtsearch_catd, MS_dbrec, 24, "Minimum word length (minwordsz) is %d.\n"), dbrec->or_minwordsz); printf (catgets (dtsearch_catd, MS_dbrec, 26, "Maximum word length (maxwordsz) is %d.\n"), dbrec->or_maxwordsz); printf (catgets (dtsearch_catd, MS_dbrec, 30, "Number of .d00 slots per object (recslots) is %d.\n"), dbrec->or_recslots); printf (catgets (dtsearch_catd, MS_dbrec, 36, " (Maximum number of database objects is %ld).\n"), 0xffffffL / (long) dbrec->or_recslots); printf (catgets (dtsearch_catd, MS_dbrec, 40, "Huffman compression table id (hufid) is %ld.\n"), dbrec->or_hufid); if (dbrec->or_hufid == 0L) puts (catgets (dtsearch_catd, MS_dbrec, 42, " (Compression is disabled in this database).")); if (dbrec->or_hufid == -1L) puts (catgets (dtsearch_catd, MS_dbrec, 44, " (Specific compression table is not yet determined).")); blobs_are_possible = FALSE; switch (dbrec->or_dbaccess) { case ORA_VARIES: puts (catgets (dtsearch_catd, MS_dbrec, 50, "Engine accessibility to data may vary from object to object.")); blobs_are_possible = TRUE; break; case ORA_NOTAVAIL: puts (catgets (dtsearch_catd, MS_dbrec, 54, "Data objects are not directly accessible from the engine.")); break; case ORA_BLOB: puts (catgets (dtsearch_catd, MS_dbrec, 56, "Data objects are stored internally as blobs.")); blobs_are_possible = TRUE; break; case ORA_REFBLOB: puts (catgets (dtsearch_catd, MS_dbrec, 60, "Only server file references to objects are stored in the blobs.")); break; case ORA_CREFBLOB: puts (catgets (dtsearch_catd, MS_dbrec, 64, "Only client file references to objects are stored in the blobs.")); break; case ORA_REFKEY: puts (catgets (dtsearch_catd, MS_dbrec, 68, "Object keys are server file references to the objects.")); break; case ORA_CREFKEY: puts (catgets (dtsearch_catd, MS_dbrec, 72, "Object keys are client file references to the objects.")); break; case ORA_REFHUGEKEY: puts (catgets (dtsearch_catd, MS_dbrec, 74, "Server file references to objects are " "stored in the 'huge' keys.")); break; case ORA_REFABSTR: puts (catgets (dtsearch_catd, MS_dbrec, 80, "Server file references to objects are stored in the abstracts.")); break; case ORA_CREFABSTR: puts (catgets (dtsearch_catd, MS_dbrec, 86, "Client file references to objects are stored in the abstracts.")); break; default: printf (catgets (dtsearch_catd, MS_dbrec, 90, "Error: meaning of or_dbaccess value (%hd) is unknown.\n"), dbrec->or_dbaccess); blobs_are_possible = TRUE; break; } /* end or_dbaccess switch */ if (blobs_are_possible) { /* * if they CAN be compressed, say whether or not they * actually are */ if (dbrec->or_hufid != 0L) printf (catgets (dtsearch_catd, MS_dbrec, 100, "Repository blobs are %scompressed.\n"), (ORC_COMPBLOB & dbrec->or_compflags) ? "" : "not "); } else puts (catgets (dtsearch_catd, MS_dbrec, 110, "Repository blobs are not used in this database.")); printf (catgets (dtsearch_catd, MS_dbrec, 120, "Database switches (dbflags) are 0x%lx:\n"), dbrec->or_dbflags); printf (catgets (dtsearch_catd, MS_dbrec, 130, " Inverted index %s words exactly as parsed.\n"), (ORD_XWORDS & dbrec->or_dbflags) ? catgets (dtsearch_catd, MS_dbrec, 124, "INCLUDES") : catgets (dtsearch_catd, MS_dbrec, 125, "EXCLUDES")); printf (catgets (dtsearch_catd, MS_dbrec, 140, " Inverted index %s word stems.\n"), (ORD_XSTEMS & dbrec->or_dbflags) ? catgets (dtsearch_catd, MS_dbrec, 124, "INCLUDES") : catgets (dtsearch_catd, MS_dbrec, 125, "EXCLUDES")); printf (catgets (dtsearch_catd, MS_dbrec, 160, " Use of optional 'huge' keys is %s.\n"), (ORD_USEHUGEKEYS & dbrec->or_dbflags) ? catgets (dtsearch_catd, MS_dbrec, 126, "ENABLED") : catgets (dtsearch_catd, MS_dbrec, 127, "DISABLED")); printf (catgets (dtsearch_catd, MS_dbrec, 162, " Mark-for-deletion is %s.\n"), (ORD_NOMARKDEL & dbrec->or_dbflags) ? catgets (dtsearch_catd, MS_dbrec, 127, "DISABLED") : catgets (dtsearch_catd, MS_dbrec, 126, "ENABLED")); printf (catgets (dtsearch_catd, MS_dbrec, 164, " Appendable user notes are %s.\n"), (ORD_NONOTES & dbrec->or_dbflags) ? catgets (dtsearch_catd, MS_dbrec, 127, "DISABLED") : catgets (dtsearch_catd, MS_dbrec, 126, "ENABLED")); printf (catgets (dtsearch_catd, MS_dbrec, 170, " Text characters are %s wide.\n"), (ORD_WIDECHAR & dbrec->or_dbflags) ? catgets (dtsearch_catd, MS_dbrec, 172, "MULTIPLE bytes") : catgets (dtsearch_catd, MS_dbrec, 174, "a SINGLE byte")); printf (catgets (dtsearch_catd, MS_dbrec, 200, "Current number of database objects (reccount) is %ld.\n"), dbrec->or_reccount); printf (catgets (dtsearch_catd, MS_dbrec, 210, "Last currently used slot number (maxdba) is %ld.\n"), dbrec->or_maxdba); for (i = 58; i > 0; i--) putchar ('-'); putchar ('\n'); return; } /* print_dbrec() */