Back to index

php5  5.3.10
Functions | Variables
system_methods.c File Reference
#include "queue.h"
#include "xmlrpc.h"
#include "xmlrpc_private.h"
#include "xmlrpc_introspection_private.h"
#include "system_methods_private.h"
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>

Go to the source code of this file.

Functions

static XMLRPC_VALUE xsm_system_multicall_cb (XMLRPC_SERVER server, XMLRPC_REQUEST input, void *userData)
static XMLRPC_VALUE xsm_system_get_capabilities_cb (XMLRPC_SERVER server, XMLRPC_REQUEST input, void *userData)
static void xsm_lazy_doc_methods_cb (XMLRPC_SERVER server, void *userData)
void xsm_register (XMLRPC_SERVER server)

Variables

static const char * xsm_introspection_xml = "</introspection>"

Function Documentation

static void xsm_lazy_doc_methods_cb ( XMLRPC_SERVER  server,
void *  userData 
) [static]

Definition at line 299 of file system_methods.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void xsm_register ( XMLRPC_SERVER  server)

Definition at line 305 of file system_methods.c.

Here is the call graph for this function:

Here is the caller graph for this function:

XMLRPC_VALUE xsm_system_get_capabilities_cb ( XMLRPC_SERVER  server,
XMLRPC_REQUEST  input,
void *  userData 
) [static]

Definition at line 348 of file system_methods.c.

                                                                                                        {
   XMLRPC_VALUE xReturn = XMLRPC_CreateVector(0, xmlrpc_vector_struct);
   XMLRPC_VALUE xFaults = XMLRPC_CreateVector("faults_interop", xmlrpc_vector_struct);
   XMLRPC_VALUE xIntro = XMLRPC_CreateVector("introspection", xmlrpc_vector_struct);

   /* support for fault spec */
   XMLRPC_VectorAppendString(xFaults, "specURL", "http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php", 0);
   XMLRPC_VectorAppendInt(xFaults, "specVersion", 20010516);

   /* support for introspection spec */
   XMLRPC_VectorAppendString(xIntro, "specURL", "http://xmlrpc-epi.sourceforge.net/specs/rfc.introspection.php", 0);
   XMLRPC_VectorAppendInt(xIntro, "specVersion", 20010516);

   XMLRPC_AddValuesToVector(xReturn,
                            xFaults,
                            xIntro,
                            NULL);

   return xReturn;
                            
}

Here is the call graph for this function:

Here is the caller graph for this function:

XMLRPC_VALUE xsm_system_multicall_cb ( XMLRPC_SERVER  server,
XMLRPC_REQUEST  input,
void *  userData 
) [static]

Definition at line 315 of file system_methods.c.

                                                                                                 {
   XMLRPC_VALUE xArray = XMLRPC_VectorRewind(XMLRPC_RequestGetData(input));
   XMLRPC_VALUE xReturn = XMLRPC_CreateVector(0, xmlrpc_vector_array);

   if (xArray) {
      XMLRPC_VALUE xMethodIter = XMLRPC_VectorRewind(xArray);

      while (xMethodIter) {
         XMLRPC_REQUEST request = XMLRPC_RequestNew();
         if(request) {
            const char* methodName = XMLRPC_VectorGetStringWithID(xMethodIter, "methodName");
            XMLRPC_VALUE params = XMLRPC_VectorGetValueWithID(xMethodIter, "params");

            if(methodName && params) {
               XMLRPC_VALUE xRandomArray = XMLRPC_CreateVector(0, xmlrpc_vector_array);
               XMLRPC_RequestSetMethodName(request, methodName);
               XMLRPC_RequestSetData(request, params);
               XMLRPC_RequestSetRequestType(request, xmlrpc_request_call);

               XMLRPC_AddValueToVector(xRandomArray, 
                                       XMLRPC_ServerCallMethod(server, request, userData));

               XMLRPC_AddValueToVector(xReturn, xRandomArray);
            }
            XMLRPC_RequestFree(request, 1);
         }
         xMethodIter = XMLRPC_VectorNext(xArray);
      }
   }
   return xReturn;
}

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

const char* xsm_introspection_xml = "</introspection>" [static]

Definition at line 58 of file system_methods.c.