Skip to content

Commit ff00f49

Browse files
LeSuissecmb69
authored andcommitted
Add stubs for ext-xmlrpc
1 parent 21e631e commit ff00f49

File tree

3 files changed

+100
-67
lines changed

3 files changed

+100
-67
lines changed

ext/xmlrpc/xmlrpc-epi-php.c

+2-67
Original file line numberDiff line numberDiff line change
@@ -68,75 +68,10 @@
6868
#include "php_ini.h"
6969
#include "php_xmlrpc.h"
7070
#include "xmlrpc.h"
71+
#include "xmlrpc_arginfo.h"
7172

7273
static int le_xmlrpc_server;
7374

74-
/* {{{ arginfo */
75-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_encode, 0, 0, 1)
76-
ZEND_ARG_INFO(0, value)
77-
ZEND_END_ARG_INFO()
78-
79-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_decode, 0, 0, 1)
80-
ZEND_ARG_INFO(0, value)
81-
ZEND_ARG_INFO(0, encoding)
82-
ZEND_END_ARG_INFO()
83-
84-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_decode_request, 0, 0, 2)
85-
ZEND_ARG_INFO(0, xml)
86-
ZEND_ARG_INFO(1, method)
87-
ZEND_ARG_INFO(0, encoding)
88-
ZEND_END_ARG_INFO()
89-
90-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_encode_request, 0, 0, 2)
91-
ZEND_ARG_INFO(0, method)
92-
ZEND_ARG_INFO(0, params)
93-
ZEND_ARG_INFO(0, output_options)
94-
ZEND_END_ARG_INFO()
95-
96-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_set_type, 0, 0, 2)
97-
ZEND_ARG_INFO(1, value)
98-
ZEND_ARG_INFO(0, type)
99-
ZEND_END_ARG_INFO()
100-
101-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_is_fault, 0, 0, 1)
102-
ZEND_ARG_INFO(0, arg)
103-
ZEND_END_ARG_INFO()
104-
105-
ZEND_BEGIN_ARG_INFO(arginfo_xmlrpc_server_create, 0)
106-
ZEND_END_ARG_INFO()
107-
108-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_destroy, 0, 0, 1)
109-
ZEND_ARG_INFO(0, server)
110-
ZEND_END_ARG_INFO()
111-
112-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_register_method, 0, 0, 3)
113-
ZEND_ARG_INFO(0, server)
114-
ZEND_ARG_INFO(0, method_name)
115-
ZEND_ARG_INFO(0, function)
116-
ZEND_END_ARG_INFO()
117-
118-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_call_method, 0, 0, 3)
119-
ZEND_ARG_INFO(0, server)
120-
ZEND_ARG_INFO(0, xml)
121-
ZEND_ARG_INFO(0, user_data)
122-
ZEND_ARG_INFO(0, output_options)
123-
ZEND_END_ARG_INFO()
124-
125-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_parse_method_descriptions, 0, 0, 1)
126-
ZEND_ARG_INFO(0, xml)
127-
ZEND_END_ARG_INFO()
128-
129-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_add_introspection_data, 0, 0, 2)
130-
ZEND_ARG_INFO(0, server)
131-
ZEND_ARG_INFO(0, desc)
132-
ZEND_END_ARG_INFO()
133-
134-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_register_introspection_callback, 0, 0, 2)
135-
ZEND_ARG_INFO(0, server)
136-
ZEND_ARG_INFO(0, function)
137-
ZEND_END_ARG_INFO()
138-
/* }}} */
139-
14075
static const zend_function_entry xmlrpc_functions[] = {
14176
PHP_FE(xmlrpc_encode, arginfo_xmlrpc_encode)
14277
PHP_FE(xmlrpc_decode, arginfo_xmlrpc_decode)
@@ -1142,7 +1077,7 @@ PHP_FUNCTION(xmlrpc_server_add_introspection_data)
11421077
}
11431078

11441079
if ((server = (xmlrpc_server_data *)zend_fetch_resource(Z_RES_P(handle), "xmlrpc server", le_xmlrpc_server)) == NULL) {
1145-
RETURN_FALSE;
1080+
return;
11461081
}
11471082

11481083
xDesc = PHP_to_XMLRPC(desc);

ext/xmlrpc/xmlrpc.stub.php

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
3+
function xmlrpc_encode($value): ?string {}
4+
5+
function xmlrpc_decode(string $xml, string $encoding = "iso-8859-1") {}
6+
7+
function xmlrpc_decode_request(string $xml, &$method, string $encoding = "iso-8859-1") {}
8+
9+
function xmlrpc_encode_request(?string $method, $params, array $output_options = UNKNOWN): ?string {}
10+
11+
function xmlrpc_set_type(&$value, string $type): bool {}
12+
13+
function xmlrpc_is_fault(array $arg): bool {}
14+
15+
/** @return resource */
16+
function xmlrpc_server_create() {}
17+
18+
/** @param resource $server */
19+
function xmlrpc_server_destroy($server): bool {}
20+
21+
/** @param resource $server */
22+
function xmlrpc_server_register_method($server, string $method_name, $function): bool {}
23+
24+
/** @param resource $server */
25+
function xmlrpc_server_call_method($server, string $xml, $user_data, array $output_options = UNKNOWN) {}
26+
27+
function xmlrpc_parse_method_descriptions(string $xml) {}
28+
29+
/** @param resource $server */
30+
function xmlrpc_server_add_introspection_data($server, array $desc): int {}
31+
32+
/** @param resource $server */
33+
function xmlrpc_server_register_introspection_callback($server, $function): bool {}

ext/xmlrpc/xmlrpc_arginfo.h

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
/* This is a generated file, edit the .stub.php file instead. */
2+
3+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_encode, 0, 1, IS_STRING, 1)
4+
ZEND_ARG_INFO(0, value)
5+
ZEND_END_ARG_INFO()
6+
7+
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_decode, 0, 0, 1)
8+
ZEND_ARG_TYPE_INFO(0, xml, IS_STRING, 0)
9+
ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
10+
ZEND_END_ARG_INFO()
11+
12+
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_decode_request, 0, 0, 2)
13+
ZEND_ARG_TYPE_INFO(0, xml, IS_STRING, 0)
14+
ZEND_ARG_INFO(1, method)
15+
ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
16+
ZEND_END_ARG_INFO()
17+
18+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_encode_request, 0, 2, IS_STRING, 1)
19+
ZEND_ARG_TYPE_INFO(0, method, IS_STRING, 1)
20+
ZEND_ARG_INFO(0, params)
21+
ZEND_ARG_TYPE_INFO(0, output_options, IS_ARRAY, 0)
22+
ZEND_END_ARG_INFO()
23+
24+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_set_type, 0, 2, _IS_BOOL, 0)
25+
ZEND_ARG_INFO(1, value)
26+
ZEND_ARG_TYPE_INFO(0, type, IS_STRING, 0)
27+
ZEND_END_ARG_INFO()
28+
29+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_is_fault, 0, 1, _IS_BOOL, 0)
30+
ZEND_ARG_TYPE_INFO(0, arg, IS_ARRAY, 0)
31+
ZEND_END_ARG_INFO()
32+
33+
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_create, 0, 0, 0)
34+
ZEND_END_ARG_INFO()
35+
36+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_server_destroy, 0, 1, _IS_BOOL, 0)
37+
ZEND_ARG_INFO(0, server)
38+
ZEND_END_ARG_INFO()
39+
40+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_server_register_method, 0, 3, _IS_BOOL, 0)
41+
ZEND_ARG_INFO(0, server)
42+
ZEND_ARG_TYPE_INFO(0, method_name, IS_STRING, 0)
43+
ZEND_ARG_INFO(0, function)
44+
ZEND_END_ARG_INFO()
45+
46+
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_call_method, 0, 0, 3)
47+
ZEND_ARG_INFO(0, server)
48+
ZEND_ARG_TYPE_INFO(0, xml, IS_STRING, 0)
49+
ZEND_ARG_INFO(0, user_data)
50+
ZEND_ARG_TYPE_INFO(0, output_options, IS_ARRAY, 0)
51+
ZEND_END_ARG_INFO()
52+
53+
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_parse_method_descriptions, 0, 0, 1)
54+
ZEND_ARG_TYPE_INFO(0, xml, IS_STRING, 0)
55+
ZEND_END_ARG_INFO()
56+
57+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_server_add_introspection_data, 0, 2, IS_LONG, 0)
58+
ZEND_ARG_INFO(0, server)
59+
ZEND_ARG_TYPE_INFO(0, desc, IS_ARRAY, 0)
60+
ZEND_END_ARG_INFO()
61+
62+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_server_register_introspection_callback, 0, 2, _IS_BOOL, 0)
63+
ZEND_ARG_INFO(0, server)
64+
ZEND_ARG_INFO(0, function)
65+
ZEND_END_ARG_INFO()

0 commit comments

Comments
 (0)