File: php_stomp.h

package info (click to toggle)
php-stomp 2.0.2%2B1.0.9-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 568 kB
  • sloc: ansic: 3,350; xml: 820; php: 119; makefile: 1
file content (121 lines) | stat: -rw-r--r-- 3,731 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/*
  +----------------------------------------------------------------------+
  | PHP Version 5                                                        |
  +----------------------------------------------------------------------+
  | Copyright (c) 1997-2010 The PHP Group                                |
  +----------------------------------------------------------------------+
  | This source file is subject to version 3.01 of the PHP license,      |
  | that is bundled with this package in the file LICENSE, and is        |
  | available through the world-wide-web at the following url:           |
  | http://www.php.net/license/3_01.txt                                  |
  | If you did not receive a copy of the PHP license and are unable to   |
  | obtain it through the world-wide-web, please send a note to          |
  | license@php.net so we can mail you a copy immediately.               |
  +----------------------------------------------------------------------+
  | Author: Pierrick Charron <pierrick@php.net>                          |
  +----------------------------------------------------------------------+
*/

/* $Id$ */

#ifndef PHP_STOMP_H
#define PHP_STOMP_H

#include "stomp.h"

typedef struct _stomp_object {
	stomp_t *stomp;
	zend_object std;
} stomp_object_t; 

#define PHP_STOMP_EXTNAME                       "Stomp"
#define PHP_STOMP_VERSION                       "2.0.2"

#define PHP_STOMP_RES_NAME                      "stomp connection"

#define PHP_STOMP_CLASSNAME                     "Stomp"
#define PHP_STOMP_FRAME_CLASSNAME               "StompFrame"
#define PHP_STOMP_EXCEPTION_CLASSNAME           "StompException"

#define PHP_STOMP_ERR_UNKNOWN                   "Stomp unknown error"
#define PHP_STOMP_ERR_INVALID_BROKER_URI        "Invalid Broker URI"
#define PHP_STOMP_ERR_INVALID_BROKER_URI_SCHEME "Invalid Broker URI scheme"
#define PHP_STOMP_ERR_SERVER_NOT_RESPONDING     "Server is not responding"
#define PHP_STOMP_ERR_EMPTY_DESTINATION         "Destination can not be empty"
#define PHP_STOMP_ERR_NO_CTR                    "Stomp constructor was not called"

extern zend_module_entry stomp_module_entry;
#define phpext_stomp_ptr &stomp_module_entry

#ifdef PHP_WIN32
#define PHP_STOMP_API __declspec(dllexport)
#else
#define PHP_STOMP_API
#endif

#ifdef ZTS
#include "TSRM.h"
#endif

PHP_MINIT_FUNCTION(stomp);
PHP_MSHUTDOWN_FUNCTION(stomp);
PHP_RINIT_FUNCTION(stomp);
PHP_RSHUTDOWN_FUNCTION(stomp);
PHP_MINFO_FUNCTION(stomp);

/* Methods declarations */
PHP_FUNCTION(stomp_version);
PHP_FUNCTION(stomp_connect);
PHP_FUNCTION(stomp_connect_error);
PHP_FUNCTION(stomp_get_session_id);
PHP_FUNCTION(stomp_close);
PHP_FUNCTION(stomp_send);
PHP_FUNCTION(stomp_subscribe);
PHP_FUNCTION(stomp_has_frame);
PHP_FUNCTION(stomp_read_frame);
PHP_FUNCTION(stomp_unsubscribe);
PHP_FUNCTION(stomp_begin);
PHP_FUNCTION(stomp_commit);
PHP_FUNCTION(stomp_abort);
PHP_FUNCTION(stomp_ack);
PHP_FUNCTION(stomp_nack);
PHP_FUNCTION(stomp_error);
PHP_FUNCTION(stomp_set_read_timeout);
PHP_FUNCTION(stomp_get_read_timeout);

PHP_METHOD(stompframe, __construct);

PHP_METHOD(stompexception, getDetails);

ZEND_BEGIN_MODULE_GLOBALS(stomp)
	/* INI */
	char *default_broker;
	long read_timeout_sec;
	long read_timeout_usec;
	long connection_timeout_sec;
	long connection_timeout_usec;
	char *default_username;
	char *default_password;

	/* Others */
	long error_no;
	char *error_msg;
ZEND_END_MODULE_GLOBALS(stomp)

#ifdef ZTS
#define STOMP_G(v) TSRMG(stomp_globals_id, zend_stomp_globals *, v)
#else
#define STOMP_G(v) (stomp_globals.v)
#endif 

#endif /* PHP_STOMP_H */


/*
 * Local variables:
 * tab-width: 4
 * c-basic-offset: 4
 * End:
 * vim600: noet sw=4 ts=4 fdm=marker
 * vim<600: noet sw=4 ts=4
 */