From 47f8de7261fa8077a63058d5185e3cbb74983ff7 Mon Sep 17 00:00:00 2001 From: Matěj Cepl Date: Wed, 23 Jun 2010 15:12:16 +0200 Subject: Raw HTML documentation generated by JSDoc from Javadoc comments in the code --- docs/html/overview-summary-xmlrpc.js.html | 322 ++++++++++++++++++++++++++++++ 1 file changed, 322 insertions(+) create mode 100644 docs/html/overview-summary-xmlrpc.js.html (limited to 'docs/html/overview-summary-xmlrpc.js.html') diff --git a/docs/html/overview-summary-xmlrpc.js.html b/docs/html/overview-summary-xmlrpc.js.html new file mode 100644 index 0000000..fa8f786 --- /dev/null +++ b/docs/html/overview-summary-xmlrpc.js.html @@ -0,0 +1,322 @@ + + + + + Overview + + + + + + + + + + + + + + + + + + +
+ + +
+ + +
+
+ +

xmlrpc.js

+ +
+ + + + +

Summary

+

+ + No overview generated for 'xmlrpc.js'

+ +

+ +
+ + + + + + + + +
// Released under the MIT/X11 license
+// http://www.opensource.org/licenses/mit-license.php
+"use strict";
+/*
+ *
+ * xmlrpc.js beta version 1 Tool for creating XML-RPC formatted requests in
+ * JavaScript
+ *
+ * Copyright 2001 Scott Andrew LePera scott@scottandrew.com
+ * http://www.scottandrew.com/xml-rpc
+ *
+ * License: You are granted the right to use and/or redistribute this code only
+ * if this license and the copyright notice are included and you accept that no
+ * warranty of any kind is made or implied by the author.
+ *
+ */
+
+var XMLRPCMessage = exports.XMLRPCMessage = function XMLRPCMessage(methodname) {
+    this.method = methodname || "system.listMethods";
+    this.params = [];
+    return this;
+};
+
+XMLRPCMessage.prototype.setMethod = function(methodName) {
+    if (!methodName) return;
+    this.method = methodName;
+};
+
+XMLRPCMessage.prototype.addParameter = function(data) {
+    if (arguments.length == 0) return;
+    this.params[this.params.length] = data;
+};
+
+XMLRPCMessage.prototype.xml = function() {
+
+    var method = this.method;
+
+    // assemble the XML message header
+    var xml = "";
+
+    xml += "<?xml version=\"1.0\"?>\n";
+    xml += "<methodCall>\n";
+    xml += "<methodName>" + method + "</methodName>\n";
+    xml += "<params>\n";
+
+    // do individual parameters
+    for ( var i = 0; i < this.params.length; i++) {
+        var data = this.params[i];
+        xml += "<param>\n";
+        xml += "<value>"
+                + this.getParamXML(this.dataTypeOf(data),
+                        data) + "</value>\n";
+        xml += "</param>\n";
+    }
+
+    xml += "</params>\n";
+    xml += "</methodCall>";
+
+    return xml; // for now
+};
+
+XMLRPCMessage.prototype.dataTypeOf = function(o) {
+    // identifies the data type
+    var type = typeof (o);
+    type = type.toLowerCase();
+    switch (type) {
+    case "number":
+        if (Math.round(o) == o)
+            type = "i4";
+        else
+            type = "double";
+        break;
+    case "object":
+        var con = o.constructor;
+        if (con == Date)
+            type = "date";
+        else if (con == Array)
+            type = "array";
+        else
+            type = "struct";
+        break;
+    }
+    return type;
+};
+
+XMLRPCMessage.prototype.doValueXML = function(type, data) {
+    var xml = "<" + type + ">" + data + "</" + type + ">";
+    return xml;
+};
+
+XMLRPCMessage.prototype.doBooleanXML = function(data) {
+    var value = (data == true) ? 1 : 0;
+    var xml = "<boolean>" + value + "</boolean>";
+    return xml;
+};
+
+XMLRPCMessage.prototype.doDateXML = function(data) {
+    var leadingZero = function (n) {
+        // pads a single number with a leading zero. Heh.
+        if (n.length == 1)
+            n = "0" + n;
+        return n;
+    };
+    var dateToISO8601 = function(date) {
+        // wow I hate working with the Date object
+        var year = new String(date.getYear());
+        var month = this.leadingZero(new String(date.getMonth()));
+        var day = this.leadingZero(new String(date.getDate()));
+        var time = this.leadingZero(new String(date.getHours())) + ":"
+        + this.leadingZero(new String(date.getMinutes())) + ":"
+        + this.leadingZero(new String(date.getSeconds()));
+
+        var converted = year + month + day + "T" + time;
+        return converted;
+    };
+
+    var xml = "<dateTime.iso8601>";
+    xml += dateToISO8601(data);
+    xml += "</dateTime.iso8601>";
+    return xml;
+};
+
+XMLRPCMessage.prototype.doArrayXML = function(data) {
+    var xml = "<array><data>\n";
+    for ( var i = 0; i < data.length; i++) {
+        xml += "<value>"
+                + this.getParamXML(this.dataTypeOf(data[i]),
+                        data[i]) + "</value>\n";
+    }
+    xml += "</data></array>\n";
+    return xml;
+};
+
+XMLRPCMessage.prototype.doStructXML = function(data) {
+    var xml = "<struct>\n";
+    for ( var i in data) {
+        xml += "<member>\n";
+        xml += "<name>" + i + "</name>\n";
+        xml += "<value>"
+                + this.getParamXML(this.dataTypeOf(data[i]),
+                        data[i]) + "</value>\n";
+        xml += "</member>\n";
+    }
+    xml += "</struct>\n";
+    return xml;
+};
+
+XMLRPCMessage.prototype.getParamXML = function(type, data) {
+    var xml;
+    switch (type) {
+    case "date":
+        xml = this.doDateXML(data);
+        break;
+    case "array":
+        xml = this.doArrayXML(data);
+        break;
+    case "struct":
+        xml = this.doStructXML(data);
+        break;
+    case "boolean":
+        xml = this.doBooleanXML(data);
+        break;
+    default:
+        xml = this.doValueXML(type, data);
+        break;
+    }
+    return xml;
+};
+
+
+ + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
Documentation generated by JSDoc on Wed Jun 23 09:33:14 2010
+ + -- cgit