home *** CD-ROM | disk | FTP | other *** search
/ ftp.swcp.com / ftp.swcp.com.zip / ftp.swcp.com / mac / mozilla-mac-0.9.sea.hqx / mozilla-mac-0.9 / Chrome / chatzilla.jar / content / chatzilla / lib / js / irc-debug.js < prev    next >
Text File  |  2001-05-05  |  3KB  |  109 lines

  1. /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
  2.  *   
  3.  * The contents of this file are subject to the Mozilla Public
  4.  * License Version 1.1 (the "License"); you may not use this file
  5.  * except in compliance with the License. You may obtain a copy of
  6.  * the License at http://www.mozilla.org/MPL/
  7.  *
  8.  * Software distributed under the License is distributed on an "AS
  9.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  10.  * implied. See the License for the specific language governing
  11.  * rights and limitations under the License.
  12.  *
  13.  * The Original Code is JSIRC Library
  14.  *
  15.  * The Initial Developer of the Original Code is New Dimensions Consulting,
  16.  * Inc. Portions created by New Dimensions Consulting, Inc. are
  17.  * Copyright (C) 1999 New Dimenstions Consulting, Inc. All
  18.  * Rights Reserved.
  19.  *
  20.  * Contributor(s):
  21.  *  Robert Ginda, rginda@ndcico.com, original author
  22.  */
  23.  
  24. var debugData = {lastEventType: "", lastEventData: ""};
  25.  
  26. /*
  27.  * Hook used to trace events.
  28.  */
  29. function event_tracer (e)
  30. {
  31.     var name="";
  32.     var data="";
  33.     
  34.     switch (e.set)
  35.     {
  36.         case "server":
  37.             name = e.destObject.connection.host;
  38.             if (e.type == "rawdata")
  39.                 data = "'" + e.data + "'";
  40.             if (e.type == "senddata")
  41.             {
  42.                 var nextLine =
  43.                     e.destObject.sendQueue[e.destObject.sendQueue.length - 1];
  44.                 data = "'" + nextLine.replace ("\n", "\\n")
  45.                     + "' (may retry a few times)";
  46.                 if (debugData.lastEventType == "senddata"  &&
  47.                     debugData.lastEventData == data)
  48.                 {
  49.                     /* don't keep printing this event */
  50.                     return;
  51.                 }
  52.                 
  53.             }
  54.             break;
  55.  
  56.         case "network":
  57.         case "channel":
  58.             name = e.destObject.name;
  59.             break;
  60.             
  61.         case "user":
  62.             name = e.destObject.nick;
  63.             break;
  64.  
  65.         case "httpdoc":
  66.             name = e.destObject.server + e.destObject.path;
  67.             if (e.destObject.state != "complete")
  68.                 data = "state: '" + e.destObject.state + "', received " +
  69.                     e.destObject.data.length;
  70.             else
  71.                 dd ("document done:\n" + dumpObjectTree (this));
  72.             break;
  73.  
  74.         case "dcc-chat":
  75.             name = e.destObject.host + ":" + e.destObject.port;
  76.             if (e.type == "rawdata")
  77.                 data = "'" + e.data + "'";
  78.             break;
  79.  
  80.         case "client":
  81.             if (e.type == "do-connect")
  82.                 data = "attempt: " + e.attempt + "/" +
  83.                     e.destObject.MAX_CONNECT_ATTEMPTS;
  84.             break;
  85.  
  86.         default:
  87.             break;
  88.     }
  89.  
  90.     if (name)
  91.         name = "[" + name + "]";
  92.  
  93.     if (e.type == "info")
  94.         data = "'" + e.msg + "'";
  95.     
  96.     str = "Level " + e.level + ": '" + e.type + "', " +
  97.         e.set + name + "." + e.destMethod;
  98.     if (data)
  99.       str += "\ndata   : " + data;
  100.  
  101.     dd (str);
  102.  
  103.     debugData.lastEventType = e.type;
  104.     debugData.lastEventData = data;
  105.     
  106.     return true;
  107.  
  108. }
  109.