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"
10 #include <readline/readline.h>
11 #include <readline/history.h>
14 #define SRFSH_PORT 5222
15 #define COMMAND_BUFSIZE 12
19 char* prompt = "srfsh# ";
21 char* history_file = NULL;
25 /* true if we're pretty printing json results */
28 /* our jabber connection */
29 transport_client* client = NULL;
31 /* the last result we received */
32 osrf_message* last_result = NULL;
35 int parse_request( char* request );
37 /* handles router requests */
38 int handle_router( char* words[] );
40 /* utility method for print time data */
41 int handle_time( char* words[] );
43 /* handles app level requests */
44 int handle_request( char* words[], int relay );
45 int handle_exec(char* words[]);
46 int handle_set( char* words[]);
47 int handle_print( char* words[]);
48 int send_request( char* server,
49 char* method, growing_buffer* buffer, int relay );
50 int parse_error( char* words[] );
51 int router_query_servers( char* server );
52 int srfsh_client_connect();
54 char* json_printer( json* object );
55 char* tabs(int count);
56 void sig_child_handler( int s );