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