class UmlOnSignalAction
!!!221698.cpp!!!	import(inout in : FileIn, inout tk : Token) : void
  QCString key = tk.what() + " " + tk.xmiType();
    
  PFunc pf = Functions[key];
  
  if (pf != 0)
    pf(in, tk, this);
  else {
    if (tk.xmiType().isEmpty())
      in.warning("bypass &lt;" + tk.what() + "...&gt;");
    else
      in.warning("bypass &lt;" + tk.what() + 
		 " xmi:type=\"" + tk.xmiType() + "\"...&gt;");
    
    if (! tk.closed())
      in.finish(tk.what());
  }
!!!221570.cpp!!!	solve(in idref : string) : void
  QCString sig = Signal::get(idref);
  
  if (sig.isNull())
    UmlCom::trace("activity action : unknown signal reference '" + idref + "'<br>");
  else
    set_Signal(sig);
!!!221314.cpp!!!	import_it(inout in : FileIn, inout token : Token) : void
  QCString s = token.valueOf("signal");
  
  if (!s.isEmpty()) {
    QCString sig = Signal::get(s);
    
    if (!sig.isNull())
      set_Signal(sig);
    else
      Unresolved::addRef(this, s);
  }

  if (! token.closed()) {
    QCString k = token.what();
    const char * ks = k;
    
    while (in.read(), !token.close(ks)) {
      if (token.what() == "signal") {
	QCString sig_name;
	QCString sig_ref;
	
	Signal::add(in, token, sig_name, sig_ref);
	
	if (!sig_name.isNull())
	  set_Signal(sig_name);
	else
	  Unresolved::addRef(this, sig_ref);
      }
      else
	import(in, token);
    }
  }
