Example #1
0
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);
}
Example #2
0
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);
}
Example #3
0
/* 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);
}
Example #4
0
// 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);
}
Example #5
0
 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);
 }
Example #6
0
/* 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;
    }
}
Example #7
0
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() */