split off property proxy
[m6w6/ext-http] / php_http_client_factory.h
1 /*
2 +--------------------------------------------------------------------+
3 | PECL :: http |
4 +--------------------------------------------------------------------+
5 | Redistribution and use in source and binary forms, with or without |
6 | modification, are permitted provided that the conditions mentioned |
7 | in the accompanying LICENSE file are met. |
8 +--------------------------------------------------------------------+
9 | Copyright (c) 2004-2011, Michael Wallner <mike@php.net> |
10 +--------------------------------------------------------------------+
11 */
12
13 #ifndef PHP_HTTP_REQUEST_FACTORY_H
14 #define PHP_HTTP_REQUEST_FACTORY_H
15
16 #include "php_http_client.h"
17 #include "php_http_client_pool.h"
18 #include "php_http_client_datashare.h"
19
20 typedef struct php_http_client_factory_driver {
21 php_http_client_ops_t *client_ops;
22 php_http_client_pool_ops_t *client_pool_ops;
23 php_http_client_datashare_ops_t *client_datashare_ops;
24 } php_http_client_factory_driver_t;
25
26 PHP_HTTP_API STATUS php_http_client_factory_add_driver(const char *name_str, size_t name_len, php_http_client_factory_driver_t *driver);
27 PHP_HTTP_API STATUS php_http_client_factory_get_driver(const char *name_str, size_t name_len, php_http_client_factory_driver_t *driver);
28
29 zend_class_entry *php_http_client_factory_get_class_entry(void);
30
31 #define php_http_client_factory_new php_http_object_new
32
33 PHP_METHOD(HttpClientFactory, __construct);
34 PHP_METHOD(HttpClientFactory, createClient);
35 PHP_METHOD(HttpClientFactory, createPool);
36 PHP_METHOD(HttpClientFactory, createDataShare);
37 PHP_METHOD(HttpClientFactory, getGlobalDataShareInstance);
38 PHP_METHOD(HttpClientFactory, getDriver);
39 PHP_METHOD(HttpClientFactory, getAvailableDrivers);
40
41 extern PHP_MINIT_FUNCTION(http_client_factory);
42 extern PHP_MSHUTDOWN_FUNCTION(http_client_factory);
43
44 #endif /* PHP_HTTP_REQUEST_FACTORY_H */
45
46 /*
47 * Local variables:
48 * tab-width: 4
49 * c-basic-offset: 4
50 * End:
51 * vim600: noet sw=4 ts=4 fdm=marker
52 * vim<600: noet sw=4 ts=4
53 */
54