Source Code (Use browser search to find items of interest.)

Class Index

ksirc'KSircIONotify (./kdenetwork/ksirc/ioNotify.h:11)

class KSircIONotify : public QObject,
		   public KSircMessageReceiver
{
  Q_OBJECT
public:
  KSircIONotify(KSircProcess *_proc);
  virtual ~KSircIONotify();

  virtual void sirc_receive(QString);
  virtual void control_message(int, QString);

  virtual filterRuleList *defaultRules();

signals:
  virtual void notify_online(QString);
  virtual void notify_offline(QString);

protected slots:

private:
  KSircProcess *proc;
};

ksirc'KSircIONotify::KSircIONotify() (./kdenetwork/ksirc/ioNotify.cpp:13)

KSircIONotify::KSircIONotify(KSircProcess *_proc)
  : QObject(),
    KSircMessageReceiver(_proc)
{
  proc = _proc;
  setBroadcast(FALSE);
}



ksirc'KSircIONotify::~KSircIONotify() (./kdenetwork/ksirc/ioNotify.cpp:22)

KSircIONotify::~KSircIONotify()
{
}


ksirc'KSircIONotify::sirc_receive() (./kdenetwork/ksirc/ioNotify.cpp:26)

void KSircIONotify::sirc_receive(QString str)
{
  if(str.contains("*)*")){
    int s1, s2;
    s1 = str.find("Signon by") + 10;
    s2 = str.find(" ", s1);
    if(s1 < 0 || s2 < 0){
      cerr << "Nick Notify mesage broken: " << str << endl;
      return;
    }
    QString nick = str.mid(s1, s2 - s1);
    emit notify_online(nick);
  }
  else if(str.contains("*(*")){
    int s1, s2;
    s1 = str.find("Signoff by") + 11;
    s2 = str.find(" ", s1);
    if(s1 < 0 || s2 < 0){
      cerr << "Nick Notify mesage broken: " << str << endl;
      return;
    }
    QString nick = str.mid(s1, s2 - s1);
    emit notify_offline(nick);
  }
  else{
    proc->getWindowList()["!default"]->sirc_receive(str);
    cerr << "Nick Notifer got " << str << endl;
  }
}


ksirc'KSircIONotify::control_message() (./kdenetwork/ksirc/ioNotify.cpp:56)

void KSircIONotify::control_message(int, QString)
{
}



ksirc'KSircIONotify::defaultRules() (./kdenetwork/ksirc/ioNotify.cpp:61)

filterRuleList *KSircIONotify::defaultRules()
{
  filterRule *fr;
  filterRuleList *frl = new("filterRuleList") filterRuleList();
  frl->setAutoDelete(TRUE);
  fr = new("filterRule") filterRule();
  fr->desc = "Send Nick Notifies to notifier parser";
  fr->search = "^\\*\\S?[\\(\\)]\\S?\\* ";
  fr->from = "^";
  fr->to = "~!notify~";
  frl->append(fr);
  return frl;
}