]> git.evergreen-ils.org Git - OpenSRF.git/blob - src/libtransport/basic_client.c
altered makefile, header includes
[OpenSRF.git] / src / libtransport / basic_client.c
1 #include "opensrf/transport_client.h"
2
3 /**
4   * Simple jabber client
5   */
6
7
8
9 /* connects and registers with the router */
10 int main( int argc, char** argv ) {
11
12         if( argc < 5 ) {
13                 fatal_handler( "Usage: %s <username> <host> <resource> <recipient> \n", argv[0] );
14                 return 99;
15         }
16
17         transport_message* send;
18         transport_client* client = client_init( argv[2], 5222 );
19
20         // try to connect, allow 15 second connect timeout 
21         if( client_connect( client, argv[1], "asdfjkjk", argv[3], 15 ) ) 
22                 info_handler("Connected...\n");
23          else  
24                 fatal_handler( "NOT Connected...\n" ); 
25         
26         if( fork() ) {
27
28                 fprintf(stderr, "Listener: %d\n", getpid() );   
29                 char buf[300];
30                 memset(buf, 0, 300);
31                 printf("=> ");
32
33                 while( fgets( buf, 299, stdin) ) {
34
35                         // remove newline
36                         buf[strlen(buf)-1] = '\0';
37
38                         if( strcmp(buf, "exit")==0) { 
39                                 client_free( client );  
40                                 break; 
41                         }
42
43                         send = message_init( buf, "", "123454321", argv[4], NULL );
44                         client_send_message( client, send );
45                         message_free( send );
46                         printf("\n=> ");
47                         memset(buf, 0, 300);
48                 }
49                 return 0;
50
51         } else {
52
53                 fprintf(stderr, "Sender: %d\n", getpid() );     
54
55                 transport_message* recv;
56                 while( (recv=client_recv( client, -1)) ) {
57                         if( recv->is_error )
58                                 fprintf( stderr, "\nReceived Error\t: ------------------\nFrom:\t\t"
59                                         "%s\nRouterFrom:\t%s\nBody:\t\t%s\nType %s\nCode %d\n=> ", recv->sender, recv->router_from, recv->body, recv->error_type, recv->error_code );
60                         else
61                                 fprintf( stderr, "\nReceived\t: ------------------\nFrom:\t\t"
62                                         "%s\nRouterFrom:\t%s\nBody:\t\t%s\n=> ", recv->sender, recv->router_from, recv->body );
63
64                         message_free( recv );
65                 }
66
67         }
68         return 0;
69
70 }
71
72
73
74