[BACK]Return to testclient.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_toolkit

Diff for /OpenXM/src/ox_toolkit/testclient.c between version 1.12 and 1.17

version 1.12, 2003/03/23 20:17:35 version 1.17, 2016/08/23 06:13:10
Line 1 
Line 1 
 /* -*- mode: C -*- */  /* -*- mode: C -*- */
 /* $OpenXM: OpenXM/src/ox_toolkit/testclient.c,v 1.11 2003/02/04 20:43:55 ohara Exp $ */  /* $OpenXM: OpenXM/src/ox_toolkit/testclient.c,v 1.16 2005/10/12 04:03:37 takayama Exp $ */
   
 /* A sample implementation of an OpenXM client with OpenXM C library */  /* A sample implementation of an OpenXM client with OpenXM C library */
   /* Sample input
     (OX_DATA, (CMO_STRING,"printf(\"%a\");"))
     (OX_COMMAND,(SM_executeStringByLocalParser))
    */
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
 #include <unistd.h>  #include <unistd.h>
Line 37  int dumpx(OXFILE *oxfp, int n)
Line 40  int dumpx(OXFILE *oxfp, int n)
 static int  size = SIZE_CMDLINE;  static int  size = SIZE_CMDLINE;
 static char cmdline[SIZE_CMDLINE];  static char cmdline[SIZE_CMDLINE];
   
 static int prompt()  static void prompt()
 {  {
     fprintf(stdout, "> ");      fprintf(stdout, "> ");
     fgets(cmdline, size, stdin);      fgets(cmdline, size, stdin);
     init_parser(cmdline);  
 }  }
   
 #define VERSION 0x11121500  #define VERSION 0x11121500
 #define ID_STRING  "v0.11121500"  #define ID_STRING  "v0.11121500"
   
 int test_0()  void test_0()
 {  {
     cmo* c = NULL;      cmo* c = NULL;
     ox_printf("testclient:: calling ox_mathcap().\n");      ox_printf("testclient:: calling ox_mathcap().\n");
     c = ox_mathcap(sv);      c = (cmo *)ox_mathcap(sv);
     ox_printf("testclient:: cmo received.(%p)\n", c);      ox_printf("testclient:: cmo received.(%p)\n", c);
     print_cmo(c);      print_cmo(c);
   
     mathcap_init(VERSION, ID_STRING, "testclient", NULL, NULL);      mathcap_init(VERSION, ID_STRING, "testclient", NULL, NULL);
     send_ox_cmo(sv, oxf_cmo_mathcap(sv));      send_ox_cmo(sv, (cmo *)oxf_cmo_mathcap(sv));
   
     ox_reset(sv);      ox_reset(sv);
     send_ox_cmo(sv, (cmo *)new_cmo_string("N[ArcTan[1]]"));      send_ox_cmo(sv, (cmo *)new_cmo_string("N[ArcTan[1]]"));
Line 68  int test_0()
Line 70  int test_0()
     print_cmo(c);      print_cmo(c);
 }  }
   
 int test_1()  void test_1()
 {  {
     cmo *c, *m;      cmo *c, *m;
   
         mathcap_init(1000, "test!", "testclient", NULL, NULL);          mathcap_init(1000, "test!", "testclient", NULL, NULL);
         m = oxf_cmo_mathcap(sv);          m = (cmo *)oxf_cmo_mathcap(sv);
     ox_printf("testclient:: test cmo_mathcap.\n");      ox_printf("testclient:: test cmo_mathcap.\n");
     send_ox_cmo(sv, m);      send_ox_cmo(sv, m);
     send_ox_command(sv, SM_popCMO);      send_ox_command(sv, SM_popCMO);
Line 95  int main(int argc, char* argv[])
Line 97  int main(int argc, char* argv[])
     ox* m = NULL;      ox* m = NULL;
     cmo* c = NULL;      cmo* c = NULL;
     int code;      int code;
     char *server = "ox_sm1";      char *server = "ox_asir";
   
     ox_stderr_init(stderr);      ox_stderr_init(stderr);
   
Line 103  int main(int argc, char* argv[])
Line 105  int main(int argc, char* argv[])
         server = argv[1];          server = argv[1];
     }      }
     ox_printf("testclient:: I use %s as an OX server.\n", server);      ox_printf("testclient:: I use %s as an OX server.\n", server);
 /*    sv = ox_start("localhost", "ox", server);  */      sv = ox_start("localhost", "ox", server);
     if (sv == NULL) {      if (sv == NULL) {
         ox_printf("testclient:: I cannot connect to servers.\n");          ox_printf("testclient:: I cannot connect to servers.\n");
         exit(1);          exit(1);
Line 113  int main(int argc, char* argv[])
Line 115  int main(int argc, char* argv[])
         test_1();          test_1();
     }      }
   
     setflag_parse(PFLAG_ADDREV);      while(prompt(), (m = ox_parse_lisp(cmdline)) != NULL) {
   
     while(prompt(), (m = parse()) != NULL) {  
         send_ox(sv, m);          send_ox(sv, m);
         if (m->tag == OX_COMMAND) {          if (m->tag == OX_COMMAND) {
             code = ((ox_command *)m)->command;              code = ((ox_command *)m)->command;

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.17

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>