]> git.evergreen-ils.org Git - OpenSRF.git/blob - src/srfsh/srfsh.h
incorporated math bench into srfsh. see help for details
[OpenSRF.git] / src / srfsh / srfsh.h
1 #include "opensrf/transport_client.h"
2 #include "opensrf/generic_utils.h"
3 #include "opensrf/osrf_message.h"
4 #include "opensrf/osrf_app_session.h"
5 #include <time.h>
6 #include <sys/timeb.h>
7
8 #include <signal.h>
9
10 #include <stdio.h>
11 #include <readline/readline.h>
12 #include <readline/history.h>
13
14
15 #define SRFSH_PORT 5222
16 #define COMMAND_BUFSIZE 12
17
18
19 /* shell prompt */
20 char* prompt = "srfsh# "; 
21
22 char* history_file = NULL;
23
24 int child_dead = 0;
25
26 /* true if we're pretty printing json results */
27 int pretty_print = 1;
28
29 /* our jabber connection */
30 transport_client* client = NULL; 
31
32 /* the last result we received */
33 osrf_message* last_result = NULL;
34
35 /* functions */
36 int parse_request( char* request );
37
38 /* handles router requests */
39 int handle_router( char* words[] );
40
41 /* utility method for print time data */
42 int handle_time( char* words[] );
43
44 /* handles app level requests */
45 int handle_request( char* words[], int relay );
46 int handle_exec(char* words[]);
47 int handle_set( char* words[]);
48 int handle_print( char* words[]);
49 int send_request( char* server, 
50                 char* method, growing_buffer* buffer, int relay );
51 int parse_error( char* words[] );
52 int router_query_servers( char* server );
53 int srfsh_client_connect();
54 int print_help();
55 char* json_printer( json* object );
56 char* tabs(int count);
57 void sig_child_handler( int s );
58
59 int load_history();
60 int handle_math( char* words[] );
61 int do_math( int count, int style );
62
63
64